diff --git a/.cproject b/.cproject deleted file mode 100644 index 173198bb74208c249e340effb523ee7b99162a7c..0000000000000000000000000000000000000000 --- a/.cproject +++ /dev/null @@ -1,318 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<?fileVersion 4.0.0?> - -<cproject> -<storageModule moduleId="org.eclipse.cdt.core.settings"> -<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.2028848925"> -<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.2028848925" moduleId="org.eclipse.cdt.core.settings" name="Linux GCC"> -<externalSettings/> -<extensions> -<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> -<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> -<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> -<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> -<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> -</extensions> -</storageModule> -<storageModule moduleId="cdtBuildSystem" version="4.0.0"> -<configuration artifactName="sflphone" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.2028848925" name="Linux GCC" parent="org.eclipse.cdt.build.core.emptycfg"> -<folderInfo id="cdt.managedbuild.toolchain.gnu.base.2028848925.1702545013" name="/" resourcePath=""> -<toolChain id="cdt.managedbuild.toolchain.gnu.base.2089599304" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base"> -<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1774974985" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/> -<builder id="cdt.managedbuild.target.gnu.builder.base.466829147" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/> -<tool id="cdt.managedbuild.tool.gnu.archiver.base.740005240" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> -<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.63410449" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base"> -<option id="gnu.cpp.compiler.option.include.paths.1295746905" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/list"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/string"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/map"/> -</option> -<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1521967404" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> -</tool> -<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.260142907" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base"> -<option id="gnu.c.compiler.option.include.paths.1990006641" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/list"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/string"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/map"/> -</option> -<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.124347870" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> -</tool> -<tool id="cdt.managedbuild.tool.gnu.c.linker.base.457097362" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/> -<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1227214045" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"> -<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.890036182" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> -<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> -<additionalInput kind="additionalinput" paths="$(LIBS)"/> -</inputType> -</tool> -<tool id="cdt.managedbuild.tool.gnu.assembler.base.157782839" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base"> -<option id="gnu.both.asm.option.include.paths.1462205363" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/list"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/string"/> -<listOptionValue builtIn="false" value="/usr/include/c++/4.3/map"/> -</option> -<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1762206279" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> -</tool> -</toolChain> -</folderInfo> -<sourceEntries> -<entry excluding="sflphone-gtk" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> -</sourceEntries> -</configuration> -</storageModule> -<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> -<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> -<storageModule moduleId="scannerConfiguration"> -<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="makefileGenerator"> -<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.2028848925;cdt.managedbuild.toolchain.gnu.base.2028848925.1702545013;cdt.managedbuild.tool.gnu.cpp.compiler.base.63410449;cdt.managedbuild.tool.gnu.cpp.compiler.input.1521967404"> -<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="makefileGenerator"> -<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -</scannerConfigBuildInfo> -<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.2028848925;cdt.managedbuild.toolchain.gnu.base.2028848925.1702545013;cdt.managedbuild.tool.gnu.c.compiler.base.260142907;cdt.managedbuild.tool.gnu.c.compiler.input.124347870"> -<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="makefileGenerator"> -<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -</scannerConfigBuildInfo> -</storageModule> -</cconfiguration> -</storageModule> -<storageModule moduleId="cdtBuildSystem" version="4.0.0"> -<project id="sflphone.null.1186992360" name="sflphone"/> -</storageModule> -</cproject> diff --git a/.gitignore b/.gitignore index 5c61460b9e271448ef7a90c04dab43e4da70c5aa..0fbd7f9d1f37eb3210d7e595e10f68f16c65c047 100644 --- a/.gitignore +++ b/.gitignore @@ -118,9 +118,42 @@ sflphone-client-gnome/stamp-h1 /sflphone-client-gnome/tests/check_global /sflphone-client-gnome/src/dbus/marshaller.c /sflphone-client-gnome/src/dbus/marshaller.h +/sflphone-client-gnome/ltmain.sh # Ignore sflphone_kde stuff /sflphone-client-kde/build +/sflphone-client-kde/*.moc +/sflphone-client-kde/src/moc_*.cpp +/sflphone-client-kde/src/ui_*.h +#/sflphone-client-kde/po/ +#/sflphone-client-kde/po/* +#/sflphone-client-kde/doc/ +#/sflphone-client-kde/man/ +#/sflphone-client-kde/data/ +/sflphone-client-kde/CMakeCache.txt +/sflphone-client-kde/CMakeLists.txt.user +/sflphone-client-kde/CTestTestfile.cmake +/sflphone-client-kde/*.cmake +/sflphone-client-kde/Makefile +/sflphone-client-kde/CMakeFiles/* +/sflphone-client-kde/CMakeTmp/ +/sflphone-client-kde/qtcreator-build/ +/sflphone-client-kde/src/.directory +/sflphone-client-kde/src/Makefile +/sflphone-client-kde/src/CTestTestfile.cmake +/sflphone-client-kde/src/CMakeFiles/ +/sflphone-client-kde/src/*.moc +/sflphone-client-kde/src/callmanager_dbus_interface.* +/sflphone-client-kde/src/configurationmanager_dbus_interface.* +/sflphone-client-kde/src/instance_dbus_interface.* +/sflphone-client-kde/src/sflphone-client-kde_automoc.cpp +/sflphone-client-kde/src/sflphone-client-kde_automoc.cpp.files +/sflphone-client-kde/src/cmake_install.cmake +/sflphone-client-kde/src/kcfg_settings.cpp +/sflphone-client-kde/src/kcfg_settings.h +/sflphone-client-kde/src/qrc_resources.cxx +/sflphone-client-kde/src/sflphone-client-kde +/sflphone-client-kde/src/sflphone-client-kde.shell # Ignore sub-modules stuff ## libiax2 @@ -135,7 +168,7 @@ sflphone-client-gnome/stamp-h1 /sflphone-common/libs/libiax2/Makefile /sflphone-common/libs/libiax2/iax2-config /sflphone-common/libs/libiax2/src/Makefile -/sflphone-common + ## dbus-c++ /sflphone-common/libs/dbus-c++/Makefile /sflphone-common/libs/dbus-c++/autom4te.cache/requests diff --git a/NEWS b/NEWS index 1c91178be2d44b1af63bad55da1af8f0ffd5dd44..226e08b2bdf38e3ab19864d367af9f827ee4d8ee 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,16 @@ # SFLphone ################################################ +* 2010-04-09: 0.9.8 rc1 has been released + +* 2010-03-25: 0.9.8 beta has been released + +* 2009-12-10: SFLphone 0.9.7 has been released + +* 2009-12-03: SFLphone 0.9.7~rc2 has been released + +* 2009-11-20: SFLphone 0.9.7~rc1 has been released + * 2009-10-27: SFLphone 0.9.7~beta has been released * 2009-07-27: SFLphone 0.9.6 has been released diff --git a/build_tarball.sh b/build_tarball.sh old mode 100644 new mode 100755 index 3a6694ed50032ea2019d2bafcf2cfcee9214c933..623bdc8eb0e87ffad4dee69dc46e4a2ce5637a26 --- a/build_tarball.sh +++ b/build_tarball.sh @@ -30,10 +30,12 @@ rm -rf $BUILDDIR rm -f *.tar.gz rm -rf lang/ -rm -rf tools/build-system/ -rm -f tools/pysflphone/*.pyc -rm -f tools/build-package.sh tools/bleach.sh tools/autotoolize.sh -rm -rf sflphone-client-kde/build +rm -rf tools/ +rm -rf sflphone-client-kde/ +rm -rf sippxml + +rm -rf .git/ +rm -f .gitignore find -name .project -type f -exec rm {} \; find -name .cproject -type f -exec rm {} \; @@ -56,6 +58,9 @@ rm -f pjlib-util/bin/pjlib-util-test-x86_64-unknown-linux-gnu rm -f pjnath/bin/pjturn-srv-x86_64-unknown-linux-gnu rm -f pjmedia/bin/pjmedia-test-x86_64-unknown-linux-gnu +rm -f third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf +rm -f third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf + # Put actual files in the tarball rm -f config.guess config.sub cp /usr/share/misc/config.guess . diff --git a/lang/ar/ar.po b/lang/ar/ar.po new file mode 100644 index 0000000000000000000000000000000000000000..f0094d4da1a2c05e6dec2b5dbf4541f8ac1328a8 --- /dev/null +++ b/lang/ar/ar.po @@ -0,0 +1,1202 @@ +# Arabic translation for sflphone +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-15 16:06+0000\n" +"Last-Translator: Zied ABID <ziedabid@gmail.com>\n" +"Language-Team: Arabic <ar@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " +"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "مُسجّل" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "غير مُسجّل" + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "خلل" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "غير صحيح" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/ast/ast.po b/lang/ast/ast.po new file mode 100644 index 0000000000000000000000000000000000000000..23f9a99f1a5a4e20868a6d48552a718180705f3e --- /dev/null +++ b/lang/ast/ast.po @@ -0,0 +1,1239 @@ +# Asturian translation for sflphone +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-17 01:18+0000\n" +"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n" +"Language-Team: Asturian <ast@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Rexistráu" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "Non rexistráu" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "Probando..." + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "Fallu" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Falló n'autenticación" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Rede nun alcanzable" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "Host nun alcanzable" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "Error na configuración STUN" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "Sirvidor STUN inválidu" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Inválidu" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "Usando la cuenta" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "Nun hai cuentes rexistráes" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" +"Nun se puede coneutar col sirvidor SFLphone.\n" +"Compruebe qu'el daemon tea funcionando." + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "Llamada SIP direuta" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" +"<b>Avisu ALSA</b>\n" +"\n" +"Error al abrir el preséu de reproducción" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" +"<b>Avisu ALSA</b>\n" +"\n" +"Error al abrir el preséu de captura" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" +"<b>Avisu de Pulseaudio</b>\n" +"\n" +"Pulseaudio nun ta funcionando" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "Hai una llamada en cursu." + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "Hai llamaes en cursu." + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "¿Entá quier salir?" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "Error SFLphone" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "El par %s nun sofita ZRTP\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "La comunicación segura nun ta disponible" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "Siguir" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "Terminar llamada" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" +"Un error de %s fizo que la llamada con %s pasara a mou ensin encriptar.\n" +"Razón esauta: %s\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "Falló la negociación ZRTP" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" +"%s quier dexar d'usar comunicación segura. Confirmar reaniciará la " +"conversación ensin SRTP.\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "Confirmar mou en claro" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "Confirmar" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "%s cuenta : %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "<i>De</i> %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "%d mensaxe de voz" +msgstr[1] "%d mensaxes de voz" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "Llamando cola cuenta %s <i>%s</i>" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "Cuenta actual" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "Nun hai cuentes configuraes" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "Nun tien denguna cuenta rexistrada" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" +"<i>Con:</i> %s\n" +"usando %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "%s nun tien sofitu pa ZRTP." + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "Falló la negociación ZRTP con %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "<i>Con:</i> %s" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "Volume d'altavoces" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "Volume del micrófonu" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "Amo_sar ventana principal" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Colgar" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLphone" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "Buzón de voz" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "Nun s'escoyó una llibreta de direiciones" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "Llibreta de direiciones" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "Buzón de voz (%i)" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" +"SFLphone ye un programa de VoIP compatible colos protocolos SIP ya IAX2." + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "Tocante a SFLphone" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "Llamada" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "Llamada _Nueva" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "Facer una llamada nueva" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "_Descolgar" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "Contestar la llamada" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "Finar la llamada" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "_N'espera" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "Poner la llamada n'espera" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "_Salir d'espera" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "Sacar la llamada d'espera" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "_Asistente de configuración" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "Executar l'asistente de configuración" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "Llamar al buzón de voz" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "_Zarrar" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "Minimizar na bandexa de sistema" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "_Colar" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "Colar del programa" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "_Editar" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "_Copiar" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "Copiar la seleición" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "A_pegar" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "Pegar el conteníu del cartafueyu" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "Llimpiar _hestorial" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "Llimpiar l'hestorial de llamáes" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "_Cuentes" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "Editar les sos cuentes" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "_Preferencies" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "Camudar les sos preferencies" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "_Ver" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "_Aida" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "Conteníu" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "Abrir el manual" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "Tocante a esta aplicación" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "_Tresferir" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "Tresferir la llamada" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "G_rabar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Grabar la conversación actual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "Amo_sar ferramientes" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "Amuesa la barra de ferramientes" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "_Tecláu" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "Amosar el tecláu pa marcar" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "_Controles de volume" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "Amuesa los controles de volume" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "_Hestorial" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "Hestorial de llamáes" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "Llibret_a de direiciones" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "_N'espera" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "Tornar _Llamada" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "Editar númberu de teléfonu" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "Editar el númberu de teléfonu enantes de llamar" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "Parámetros de cuenta" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "Nom_atu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "_Protocolu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "Desconocíu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "Nome del _host" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "Nome d'_usuariu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "Cont_raseña" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "Amosar contraseña" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "Númberu del buzón de _voz" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autenticación" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "Secretu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "Credencial" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "Nome d'autenticación" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "Contraseña" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "Seguridá" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "Usar tresporte TLS (sips)" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "Intercambéu de clave SRTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "Desactiváu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "Rexistru" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "Fin del rexistu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "_Cumplir con RFC 3263" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "Interfaz de rede" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "Direición llocal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "Puertu llocal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "Direición espublizada" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "Usando STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "URL del sirvidor STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "Igual que los parámetros llocales" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "Afitar direición y puertu espublizaos:" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "Puertu espublizáu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Códecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "Axustes de la cuenta" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "Básicu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "Avanzáu" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Esti perfil va usase cuando quiera coneutar col par remotu escribiendo una " +"URI sip como <b>sip:parremotu</b>. Los parámetros que conseñe equí, tamién " +"van usase si una llamada entrante o saliente nun concasa con cuenta dala." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "El sirvidor devolvió \"%s\" (%d)" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "Protocolu" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "Estáu" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "Cuentes" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "Cuentes Configuraes" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "Hai %d cuenta activa" +msgstr[1] "Hai %d cuentes actives" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "Nun hai denguna cuenta activada" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "Xeneral" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "_Usar llibreta de direiciones d'Evolution" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "Llende de descarga:" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "tarxetes" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "Amosar foto _del contautu, si ta disponible" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "Campos de les llibretes de direiciones d'Evolution" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "_Trabayu" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "_Casa" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "_Movil" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "Llibretes de direiciones" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "Esbille les llibretes de direiciones d'Evolution a usar" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "Nome" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "Esti asistente yá finó." + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" +"Puede comprobar en cualisquier momentu l'estáu del rexistru, o camudar los " +"parámetros de les cuentes de so, na ventana Opciones/Cuentes." + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "Nomatu" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "Sirvidor" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "Nome d'usuariu" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "Seguridá: " + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "SRTP/ZRTP draft-zimmermann" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "Denguna" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "Asistente SFLphone de creación de cuentes" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "¡Bienllegáu al asistente de creación de cuentes de SFLphone!" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" +"Esti asistente d'instalación echara-y un gabitu pa configurar una cuenta." + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "Protocolos VoIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "Escueya una triba de cuenta" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "SIP (Session Initiation Protocol)" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "IAX2 (InterAsterix Exchange)" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "Cuenta" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "Escueya una de les siguientes opciones" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "Crear una cuenta SIP/IAX2 de baldre en sflphone.org" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "Rexistrar una cuenta SIP o IAX2 esistente" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "Axustes de cuenta SIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "Conseñe la información siguiente" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "Comunicación segura con _ZRTP" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "Corréu ellectrónicu opcional" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" +"Estes señes de corréu van usase pa unviar los mensaxes del buzón de voz." + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "_Corréu" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "Axustes de cuenta IAX2" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "Conversión de Direición de Rede (NAT)" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "Seique tenga qu'activar esto si ta tres d'un torgafueos." + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "A_ctivar STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "_Sirvidor STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "Rexistru de cuenta" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "¡Norabona!" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "Frecuencia" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "Tasa de bits" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "Anchor de banda" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "Complementu ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "Salida" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "Entrada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "Xestor de soníu" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "_Pulseaudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "_ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "Axustes de ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "Grabaciones" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "Carpeta de destín" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "Seleicione una carpeta" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "Tonos de llamada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "_Activar tonos de llamada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "Escueya un tono de llamada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "Ficheros de soníu" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Axustes de la cuenta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "URL Argumentu" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "Ordes personalizáes pa llamáes entrantes con URL" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "%s va trocase pola URL pasada." + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "Disparador pa una cabecera _SIP determinada" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "Disparador pa una URL _IAX2" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "O_rde a executar" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "Reescritura de númberu telefónicu" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "_Prefixar los númberos marcaos con" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "Notificaciones nel escritoriu" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "_Activar notificaciones" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "Iconu de la bandexa del sistema" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "_Estenderexar ventana principal al recibir llamada" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "_Nunca estenderexar ventana principal" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "Anubrir _ventana SFLphone nel entamu" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "Hestóricu de llamaes" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "_Guardar el mio hestóricu polo menos" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "díes" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "Preferencies" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "Soníu" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "Llibreta de direiciones" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "Enganches" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Opciones avanzaes pa TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "Tresporte TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" +"El tresporte TLS puede utilizase xunto con UDP para les llamaes que " +"necesiten\n" +"intercambéos SIP seguros (SIPS). Puede configurar un tresporte TLS distintu\n" +"pa cada cuenta. Por embargu, caún d'ellos va executase nun puertu dedicáu,\n" +"diferentes ente sigo.\n" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "Llista de Certificaos d'Autoridá" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "Escueya un ficheru de llista de CA (opcional)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "Ficheru de certificáu de par públicu" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "Escueye un certificáu públicu de par (opcional)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "Escueye un ficheru de clave privada (opcional)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "Contraseña de la clave privada" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "Métodu del protocolu TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "Llista de cifráu TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "Nome de sirvidor pa la conexón TLS saliente" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "Tiempu de negociación (seg:mseg)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "Comprobar certificaos entrantes, como un sirvidor" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "Comprobar certificaos de la respuesta, como un cliente" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "Requerir certificáu pa les conexones TLS entrantes" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opciones ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Unviar Hash de Hello en S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Pidir al usuariu que confirme SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "A_visar si nun hai sofitu ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Amosar SAS una vegada pa eventos n'espera" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "Guetar todos" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "Calque equí pa camudar el tipu de gueta" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "Guetar por llamaes perdíes" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "Guetar por llamaes entrantes" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "Guetar por llamaes salientes" + +#~ msgid "_Voice Activity Detection" +#~ msgstr "Detección d'actividá de _voz" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Ame_norgar ruíu (Narrow-Band Companding)" diff --git a/lang/copy-in-gnome.sh b/lang/copy-in-gnome.sh index f5e961f6ad4fb554a3694cf84de76dea04822929..6b3e3e6352877562beab5c8aa8b58b360cb63a25 100755 --- a/lang/copy-in-gnome.sh +++ b/lang/copy-in-gnome.sh @@ -1,6 +1,6 @@ -for fichier in `find . -name sflphone.po ` +for fichier in `find . -name *.po ` do locale=`echo $fichier | cut -d / -f2` -cp $fichier ../sflphone-client-gnome/po/$locale/sflphone-client-gnome.po -echo "$fichier copied to ../sflphone-client-gnome/po/$locale/sflphone-client-gnome.po" +cp $fichier ../sflphone-client-gnome/po/$locale/$locale.po +echo "$fichier copied to ../sflphone-client-gnome/po/$locale/$locale.po" done diff --git a/lang/da/da.po b/lang/da/da.po index 1c011969aca5c2afa3b9a4cc76db3e748bcd6bc2..df489d7787b3447b374f85f4b6ea04565bd918cf 100644 --- a/lang/da/da.po +++ b/lang/da/da.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-11-03 03:52+0000\n" -"Last-Translator: Jonas Fonseca <fonseca@diku.dk>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-01 01:15+0000\n" +"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Language-Team: Danish <da@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registreret" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Ikke registreret" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Forsøger..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fejl" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Godkendelse mislykkedes" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Vært kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun server ugyldig" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ugyldig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Benytter konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Ingen registrerede konti" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Forbindelse til SFLphone serveren kan ikke oprettes.\n" "Sørg for at server-dæmonen kører." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Direkte IP opkald" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -"<b>Fejl: Ingen audio-codec fundet\n" -"\n" -"</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." -"sflphone</b> i dit hjemmekatalog (<i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fejl opstod mens afspilningsenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fejl opstod mens optageenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "PulseAudio er tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Et igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Ønsker du stadig at afslutte" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone fejl" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP er ikke understøttet af modtageren %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sikker kommunikation ikke tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -170,11 +177,11 @@ msgstr "" "tilstand.\n" "Den præcise årsag: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP-forhandling mislykkedes" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -183,50 +190,50 @@ msgstr "" "%s ønsker at afslutte brugen af sikker kommunikation. Ved at godkende vil " "samtalen fortætte uden SRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Godkend sikkerhedsændring" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Godkend" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s konto : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Fra</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d indtalt besked" msgstr[1] "%d indtalte beskeder" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Kalder op med %s konto <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Du har ingen oprettede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Du har ingen registrerede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -235,520 +242,554 @@ msgstr "" "<i>Med:</i> %s \n" "benyttende %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s understøtter ikke ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP forhandling mislykkedes med %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Med:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Højtaler lydstyrke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikrofon lydstyrke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Vis hovedvindue" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Læg på" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i konto oprettet" -msgstr[1] "%i konti oprettet" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "" +msgstr "Ingen adressebog er valgt" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone er en VoIP-klient kompatibel med SIP og IAX2 protokoller" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Om SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Lav et nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Svar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Læg på" +msgstr "Besvar opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Afslut opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Sæt opkaldet i venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "" +msgstr "F_jern fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Optag" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Fjern opkaldet fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Konfigurationsfil" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d indtalt besked" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Luk" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimere til systembakken" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "" +msgstr "_Afslut" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Afslut programmet" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" -msgstr "" +msgstr "_Rediger" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Kopier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "" +msgstr "Kopier det valgte" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "Inds_æt" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Indsæt indholdet af udklipsholderen" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ændr dine indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" -msgstr "" +msgstr "_Vis" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" -msgstr "_Hjem" +msgstr "_Hjælp" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Åbn manualen" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "" +msgstr "_Overfør" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "" +msgstr "Overfør opkaldet" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Optag" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Optag den aktuelle samtale" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Vis værktøjslinie" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Vis værktøjslinien" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Deaktiveret" +msgstr "_Nummertastatur" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Vis nummertastaturet" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "" +msgstr "Vis _lydstyrke indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "" +msgstr "Vis lydstyrke indstillingerne" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Besvar opkald" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Ændre telefonnummer" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Ændre telefonnummeret før opkald" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Kontoparametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokol" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Ukendt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Værtsnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Brugernavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Nummer for talebesked" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Hemmelig" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Legitimationsoplysning" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Godkendelsesnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sikkerhed" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Benyt TLS transport (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "SRTP-nøgleudveksling" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiveret" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Forældelse af registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Overhold RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Lokal adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Lokal port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Offentliggjort adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Ved brug af STUN " +msgstr "Ved brug af STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "STUN serveradresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Samme som lokale parametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Konfigurer offentliggjort adresse og port:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Offentliggjort port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoindstillinger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Grundlæggende" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Advanceret" +msgstr "Avanceret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netværk" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " +"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " +"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " +"indgående eller udgående opkald." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" msgstr "Server svarede \"" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokol" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Oprettede konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktiv konto" -msgstr[1] " aktiv konto" +msgstr[0] "aktiv konto" +msgstr[1] "aktiv konto" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Der er ingen aktive konti" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Generelt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Benyt Evolution adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Download begrænsning :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "kort" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Vis _kontaktbillede hvis tilgængeligt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felter fra Evolutions adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbejde" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Hjem" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressekartoteker" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Vælg hvilke af Evolutions adressekartoteker skal benyttes" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Navn" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Denne vejledning er nu fuldført" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -756,318 +797,321 @@ msgstr "" "Du kan til enhver tid undersøge din registrering eller ændre dine kontis " "parametre i vinduet Indstillinger/Konti" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Brugernavn" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sikkerhed: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ingen" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone-guiden til oprettelse af konto" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Velkommen til kontooperettelsesvejledning for SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "Denne installeringsvejledning vil hjælpe dig med at konfigurere en konto" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP protokoller" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Vælg en kontotype" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Vælg en af følgende indstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Opret en gratis SIP/IAX2 konto hos sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrer en eksisterende SIP eller IAX2 konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Udfyld venligst følgende information" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sikker kommunikation med _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Valgfri emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Denne emailadresse vil blive brugt til at sende dig indtalte beskeder" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2 kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Du opfordres til at aktivere dette hvis du er bag en firewall" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "_Benyt STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Kontoregistrering" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Tillykke!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frekvens" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bithastighed" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Båndbredde" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Inddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detektering af taleaktivitet" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Støjreducering (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Lydhåndtering" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_PulseAudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA indstillinger" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Optagelser" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Destinationsmappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Vælg en mappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Aktiver _ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Vælg en ringetone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Lydfiler" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoindstillinger" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Adresseargument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Brugerdefinerede kommandoer ved indgående opkald med webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s vil blive erstattet med den givne webadresse." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Udløse ved specifik _SIP protokolhoved" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Udløse ved _IAX2 webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Kommando som skal _kaldes" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Omskrivning af telefonnummer" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Præfiks for indtastede numre" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " -"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " -"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " -"indgående eller udgående opkald." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Aktiver meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Systembakke-ikon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Vis hovedvindue ved indgående opkald" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Aldrig _pop-op hovedvindue" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Skjul SFLphone vinduet ved _start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Gem min historik i mindst" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Direkte IP opkald" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Advancerede indstillinger for TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,136 +1124,170 @@ msgstr "" "TLS transporter for de enkelte konti. Bemærk dog at de hver vil benytte\n" "en dedikeret port forskellig fra hinanden.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Autoritetscertifikatsliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Vælg en fil med en autoritetscertifikatsliste (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Offentlig endpoint certifikatsfil" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Vælg et offentligt endpoint-certifikat (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Vælg en privat nøglefil (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Adgangskode for den private nøgle" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLS protokolmetode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "TLS cifferliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Server navneinstans for udgående TLS forbindelse" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Forhandlingstimeout" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Udfør kontrol af indgående certifikater, som en server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Udfør kontrol af certifikater fra svar, som en klient" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Kræv certifikat for indgående TLS forbindelser" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP indstillinger" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Send \"Hello Hash\" i S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "_Spørg bruger om at godkende SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Advar hvis ZRTP ikke understøttes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "_Vis SAS en enkelt gang for vente-hændelser" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Søg alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klik her for at ændre søgningstypen" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Søg i ubesvarede opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Søg i indgående opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Søg i udgående opkald" -#~ msgid "IP call - %s" -#~ msgstr "IP opkald - %s" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detektering af taleaktivitet" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Støjreducering (Narrow-Band Companding)" + +#~ msgid "SIP Port" +#~ msgstr "SIP Port" #~ msgid "Codec" #~ msgstr "Kodning" -#~ msgid "Network" -#~ msgstr "Netværk" - -#~ msgid "Manually" -#~ msgstr "Manuelt" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i konto oprettet" +#~ msgstr[1] "%i konti oprettet" #~ msgid "There " #~ msgstr "Der " -#~ msgid "is " -#~ msgstr "er " +#~ msgid "Manually" +#~ msgstr "Manuelt" + +#~ msgid "s" +#~ msgstr "s" #~ msgid "are " #~ msgstr "er " -#~ msgid "s" -#~ msgstr "s" +#~ msgid "is " +#~ msgstr "er " #~ msgid "_Mute other applications during a call" #~ msgstr "_Dæmp andre programmer ved opkald" -#~ msgid "SIP Port" -#~ msgstr "SIP Port" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Aktiver _talebeskedsmeddelelser" #~ msgid "UDP Transport" #~ msgstr "UDP transport" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Aktiver _talebeskedsmeddelelser" +#~ msgid "Direct IP calls" +#~ msgstr "Direkte IP opkald" + +#~ msgid "IP call - %s" +#~ msgstr "IP opkald - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fejl: Ingen audio-codec fundet\n" +#~ "\n" +#~ "</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." +#~ "sflphone</b> i dit hjemmekatalog (<i>%s</i>)" #~ msgid "Store SIP credentials as MD5 hash" #~ msgstr "Gem SIP-legitimationsoplysninger som _MD5-hash-værdi" diff --git a/lang/de/de.po b/lang/de/de.po index ca1afd15a46c3577ef7821d053d5730e495373e1..1ef5bedaa91c13f31af20adee8d3efdd1c82422d 100644 --- a/lang/de/de.po +++ b/lang/de/de.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-03 16:49+0000\n" +"Last-Translator: Jakob Kramer <Unknown>\n" "Language-Team: SavoirFaire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registriert" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nicht registriert" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Am versuchen..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fehler" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Authentifizierung fehlgeschlagen" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host unerreichbar" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Ungültiger Stun server" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ungültig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Mit Konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Kein registriertes Konto" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "SFLphone Server kann nicht verbunden werden. Stellen Sie sicher, dass der " "Dämon läuft." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Direkter SIP-Anruf" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "heute um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "gestern um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Fehler: Kein Audio-Codec gefunden.\n" -"\n" -"</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres HOME-" -"Verzeichniss ( <i>%s</i> ) gespeichert werden." -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"playback device\"" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"capture device\"" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,625 +131,660 @@ msgstr "" "\n" "Pulseaudio nicht gestartet" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Laufender Anruf." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Laufende Anrufe." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Bitte bestätigen, dass Sie die Anwendung beenden möchten" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone Fehler" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "" +msgstr "ZRTP wird vom Nutzer %s nicht unterstützt\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sichere Verbindung nicht verfügbar" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Weiter" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Anruf beenden" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" +"Ein %s Fehler verhinderte die Verschlüsselung des Telefonats mit %s.\n" +"Genauer Grund: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "ZRTP Übertragung fehlgeschlagen" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" +"%s will die sichere Kommunikation beenden. Das Gespräch wird dann ohne SRTP " +"fortgesetzt.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Bestätigen" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Konto %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Von</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d Voice Nachricht" msgstr[1] "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Mit %s Konto <i>%s</i> anrufen" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Sie haben noch kein Konto eingestellt" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Sie haben noch kein registriertes Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" +"<i>Mit:</i> %s \n" +"unter Verwendung von %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s unterstützt ZRTP nicht." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "ZRTP-Übertragung mit %s schlug fehl" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Mit:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Lautsprecher Lautstärke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikro Lautstärke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Hauptfenster anzeigen" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "A_uflegen" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i Konto konfiguriert" -msgstr[1] "%i Konten konfiguriert" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i aktiver Account" +msgstr[1] "%i aktive Accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Voicemail" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Voicemail (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone ist ein VoIP Client (kompatibel mit SIP und IAX2 Protokolle)" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Über SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Neuer Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Einen neuen Anruf tätigen" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Abnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Auf den Anruf antworten" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "A_uflegen" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Den Anruf beenden" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gespräch aufzeichnen" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Einrichtungsdatei" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editieren" +msgstr "_Beenden" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Das Programm beenden" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editieren" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Entfernen Sie das ausgewählte Konto" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Liste der vorherigen Anrufen _leeren" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Vorherigen Anrufen leeren" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Konten" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ihre Einstellungen ändern" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Hilfe" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Weiter" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Weiterleiten" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Weiterleiten zu : " +msgstr "Weiterleiten zu :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gespräch aufzeichnen" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Das momentane Gespräch aufnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Zeige Werkzeugleiste" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Wählscheibe" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Vorherige Anrufe" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Zurückrufen" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Nummer editieren" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Nummer vor dem Anruf editieren" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Konto parameter" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokoll" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Unbekannt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Hostname" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Benutzername" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Voicemail Nummer" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Geheim" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Authentifizierung Name" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sicherheit" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiviert" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Anmeldung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "" +msgstr "Registrierung erwartet" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "" +msgstr "Veröffentlichte Adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "" +msgstr "STUN verwenden" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" -msgstr "" +msgstr "STUN Server URL" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" +msgstr "Veröffentlichter Port" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoeinstellungen" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Erweitert" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netzwerk" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokoll" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Konfigurierten Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktive Konten" -msgstr[1] " aktive Konten" +msgstr[0] "aktive Konten" +msgstr[1] "aktive Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Sie haben kein aktives Konto" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "Addressbuch von Evolution verwenden" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Herunterladen Grenze :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "Karten" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Wenn verfügbar, _Bild anzeigen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felder vom Evolution Adressbuch" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbeit" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Heim" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Handy" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressbücher" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Adressbücher von Evolution zum verwenden auswählen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Name" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Assistent beendet." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -750,315 +792,322 @@ msgstr "" "Sie können jederzeit Ihres Registrierungsstatus überprüfen oder " "IhreKontoparameter ändern (Optionen/Konten)." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Benutzername" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sicherheit: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nichts" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone Konto (Konfigurationsassistent)" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Wilkommen zu SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "The Installationsassistent wird Ihnen helfen, ein Konto zu konfigurieren." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP Protokoll" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Kontotyp auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterisk Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Bitte eine Option auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "SIP/IAX2 Konto bei sflphone.org erstellen lassen" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Existierendes SIP/IAX2 Konto registrieren" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Konfiguration des SIP Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Folgende Informationen bitte ausfühlen" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sichere Kommunikation mit _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Fakultative E-mail-Adresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Diese E-mail-Adresse wird benutzt, um Ihnen voicemail Meldungen zu schicken." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Konfiguration des IAX2 Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Sie sollten dieses einschalten, falls Sie hinter einer Firewall sind." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "STUN Ei_nschalten" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN Server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Konto Registrierung" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Gratulation!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenz" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bandbreite" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA Plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Ausgabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Eingabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "\"Voice Activity\" Erkennung" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Klingeltöne" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Geräuschreduzierung (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Sound Manager" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA Konfiguration" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Aufnahmen" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Zielverzeichnis" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Verzeichnis auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Klingeltöne" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Klingeltöne _einschalten" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Klingelton auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Audio Dateien" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoeinstellungen" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL Argument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Spezielle Befehle bei eingehender Anrufen mit URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s wird mit gegebener URL ersetzt." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Bewirkung beim spezifischen _SIP Header" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Bewirkung bei _IAX2 URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Befehl _auszuführen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Telefonnummer umformen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Präfix vor Nummern einfügen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Desktopbenachrichtigungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Benachrichtigungen _einschalten" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Benachrichtigungsfeld (\"System Tray\") Icon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Hauptfenster anzeigen wenn eingehendes Gespräch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Hauptfenster nie anzeigen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Unsichtbar beim Start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "Tage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 -msgid "Advanced options for TLS" +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Erweiterte Optionen für TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" -msgstr "" +msgstr "TLS Transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1067,133 +1116,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" -msgstr "" +msgstr "TLS-Protokol-Methode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Client" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "" +msgstr "Benötige Zertifikat für eingehende TLS-Verbindungen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP Optionen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" -msgstr "" +msgstr "Den Benutzer bitten, SAS zu bestätigen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Warnung wenn ZRTP nicht unterstüzt" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES Optionen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Suche alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klicken Sie hier, um Suchtyp zu wechseln" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Suche nach Anruf in Abwesenheit" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Suche nach eingehenden Anruf" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Suche nach ausgehenden Anru" -#~ msgid "IP call - %s" -#~ msgstr "IP Anruf - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Netzwerk" - -#~ msgid "Manually" -#~ msgstr "Manuell" - -#~ msgid "There " -#~ msgstr "Es " - -#~ msgid "is " -#~ msgstr "gibt " - -#~ msgid "are " -#~ msgstr "gibt " - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "UDP Transport" -#~ msgstr "UDP Transport" +#~ msgid "_Voice Activity Detection" +#~ msgstr "\"Voice Activity\" Erkennung" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "_Benachrichtigung für Voice Nachrichten" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Geräuschreduzierung (Narrow-Band Companding)" #~ msgctxt "account state" #~ msgid "Error" @@ -1231,6 +1265,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Default account" #~ msgstr "Default Konto" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE Client" @@ -1335,9 +1372,6 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Apply" #~ msgstr "übernehmen" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1410,6 +1444,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Connection" #~ msgstr "Anbindung" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Bewirkung beim spezifischen SIP Header" @@ -1435,26 +1472,70 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Warnung: Anzahl Resultate überschreit definiertes Maximum" +#~ msgid "IP call - %s" +#~ msgstr "IP Anruf - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fehler: Kein Audio-Codec gefunden.\n" +#~ "\n" +#~ "</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres " +#~ "HOME-Verzeichniss ( <i>%s</i> ) gespeichert werden." + #~ msgid "%s - %s" #~ msgstr "%s - %s" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i Konto konfiguriert" +#~ msgstr[1] "%i Konten konfiguriert" + #~ msgid "_Enable this account" #~ msgstr "_Einschalten" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "_Benachrichtigung für Voice Nachrichten" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio Sound Server" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" + #~ msgid "Port" #~ msgstr "Port" +#~ msgid "Manually" +#~ msgstr "Manuell" + +#~ msgid "There " +#~ msgstr "Es " + +#~ msgid "are " +#~ msgstr "gibt " + +#~ msgid "is " +#~ msgstr "gibt " + +#~ msgid "UDP Transport" +#~ msgstr "UDP Transport" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Ihre Namen, ,Launchpad Contributions:,Maxime Chambreuil,Sven Werlen, ," -#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen" +#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen, ," +#~ "Launchpad Contributions:,Funatiker,Jakob Kramer,Jarosław Ogrodnik,Marcel " +#~ "Schmücker,Maxime Chambreuil,Michael Keppler,Sven Werlen,Sven Werlen" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "Ihre E-Mail-Adressen,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com,,sven.werlen@gmail.com" +#~ "chambreuil@gmail.com,,sven.werlen@gmail.com,,,,,nobodythere@gmail.com," +#~ "versus666@hotmail.de,maxime.chambreuil@gmail.com,Bananeweizen@gmx.de,," +#~ "sven.werlen@gmail.com" diff --git a/lang/el/el.po b/lang/el/el.po new file mode 100644 index 0000000000000000000000000000000000000000..14bd861c861624892b84bca4b847abd5ae7d5a88 --- /dev/null +++ b/lang/el/el.po @@ -0,0 +1,1221 @@ +# Greek translation for sflphone +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-01-13 02:45+0000\n" +"Last-Translator: jarlaxl lamat <sztaasz@gmail.com>\n" +"Language-Team: Greek <el@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Εγγεγραμμένος" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "Μη εγγεγραμμένος" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "Προσπαθώ..." + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "Σφάλμα" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Αποτυχία πιστοποίησης" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Μη προσβάσιμο δίκτυο" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "Μη προσβάσιμος υπολογιστής" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "Σφάλμα ρύθμισης εξυπηρετητή STUN" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "Ακυρος εξυπηρετητής STUN" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Μη έγκυρο" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "Χρήση λογαριασμού" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "Μη πιστοποιημένοι λογαριασμοί" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" +"Αδυναμία σύνδεσης στον εξυπηρετητη του SFLphone\n" +"Σιγουρευτείτε οτι τρέχει ο daemon" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "Κλήση κατευθείαν SIP" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" +"Ειδοποίηση απο την ALSA:\n" +"\n" +"Σφάλμα κατα το άνοιγμα της συσκευής αναπαραγωγής" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" +"Ειδοποίηση απο την ALSA:\n" +"\n" +"Σφάλμα κατα το άνοιγμα της συσκευής λήψης ήχου" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" +"Ειδοποίηση απο το Pulseaudio\n" +"\n" +"Tο Pulseaudio δεν τρέχει" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "Υπάρχει μια κλήση εν εξελίξει" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "Υπάρχουν κλήσεις εν εξελίξει" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "Να κλείσω σιγουρα;" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "Σφάλμα SFLphone" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "Το πρωτόκολλο ZRTP δεν υποσττηρίζεται απο το peer %s\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "Κρυπτογραφημένη επικοινωνια μη διαθέσιμη" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "Συνέχεια" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "Τερματισμός κλήσης" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" +"Ενα %s σφάλμα ανάγκασε την κλήση με %s να τερματίσει υπο μη κρυπτογραφημένη " +"μορφή.\n" +"Ακριβής λόγος: %s\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "Η διαπραγμάτευση ZRTP απέτυχε" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" +"Ο/Η %s θέλει να σταματησει να χρησιμοποιεί κρυπτογραφημένη επικοινωνία. Η " +"επιβεβαιωση θα συνεχίσει τη συζήτηση αλλα χωρις κρυπτογράφηση\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "Επιβεβαίωση Φύγε Καθαρισμός" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "Επιβεβαίωση" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "%s λογαριασμός %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "<i>Από</i> %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "%d Μηνυμα τηλεφωνητή" +msgstr[1] "%d Μηνυματα τηλεφωνητή" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "Κλήση μέ %s λογαριασμό <i>%s</i>" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "Τρέχων λογαριασμός" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "Δεν έχετε θέσει λογαριασμούς" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "Δεν έχετε κατοχυρομένους λογαριασμούς" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" +"<i>Με:</i> %s \n" +"χρηση: %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "Ο %s δεν υποστηρίζει ZRTP" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "Η ZRTP διαπραγμάτευση απέτυχε με %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "<i>Με:</i> %s" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "Ένταση ηχείων" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "Ενταση μικροφώνου" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "Δείξε το βα_σικό παράθυρο" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "Κλείστο _Η" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLphone" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "Τηλεφωνητής" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "Κανένα βιβλίο διευθύνσεω δεν έχει επιλεχθεί" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "Βιβλίο διευθύνσεων" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "Τηλεφωνητής (%i)" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" +"Το SFLphone ειναι ένα προγραμμα πελάτης VoIP συμβατό με SIP και ΙΑΧ2 " +"πρωτόκολλα" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "Σχετικά με το SFLphone" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "Κλήση" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "_Νέα κλήση" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "Κάντε μια νέα κλήση" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "Σήκωστο _Π" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "Σηκώστε το τηλέφωνο" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "Κλέιστε το τηλέφωνο" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "Σε α_ναμονή" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "Βάλτε την κλήση σε αναμονή" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "Επανα_φορά" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "Επαναφέρετε την κλήση σε αναμονή" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "Οδηγός Ρυθμίσεων _Α" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "Εκτέλεση του οδηγού ρύθμισης" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "Κλήση προς τον τηλεφωνητή σας" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "_Κλείσιμο" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "Ελαχιστοποίηση στη περιοχή ειδοποιήσεων" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "Έξοδος" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "Τερματισμός του προγράμματος" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "_Επεξεργασία" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "Αντέγρα_ψε" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "Αντιγραφή της επιλογής" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "Ε_πικόλληση" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "Επικόλληση των περιεχομένων του προχείρου (clipboard)" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "Καθαρισμός ιστορικού κλ_ησεων" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "Καθαρισμός του ιστορικού κλησεων" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "Λογαρι_ασμοί" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "Επεξεργασία των λογαριασμών σας" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "_Προτιμήσεις" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "Αλλαγή των προτιμήσεων σας" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "_Προβολή" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "_Βο_ηθεια" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "Περιεχόμενα" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "Άνοιγμα του εγχειριδίου" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "Περί αυτής της εφαρμογής" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "Με_ταφορά" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "Μεταφορά της κλήσης" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "Καταγ_ραφή" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Καταγραψτε τη τρέχουσα συνομιλία" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "Εμφάνι_ση γραμμής εργαλείων" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "Εμφάνιση της γραμμής εργαλείων" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "Πληκτρολόγιο _δ" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "Εμφάνιση του πληκτρολογίου" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "Ένταση ήχων" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "Δείξε τις ρυθμίσεις για την ένταση ήχων" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "Ιστορικό _Η" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "Ιστορικό κλήσεων" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "Βιβλίο διευθύνσεων _Α" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "Κλ_ηση σε αναμονή" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "Κλήση" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "Επεξεργσία τηελφωνικού αριθμού" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "Επεξεργσία τηελφωνικού αριθμού προ της κλήσης" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "Παράμετροι λογαρισμού" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "Ψευδώνυμο" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "_Πρωτοκολλο" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "'Αγνωστο" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "Εξυπηρετητής παρόχου" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "Ονομα χρήστη" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "Συνθηματικό" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "Εμφάνιση συνθηματικού" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "Αριθμός τηλεφωνητή" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Ταυτοποίηση" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "Απόρρητο" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "Πιστοποιητικό" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "Όνομα εξακρίβωσης" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "Συνθηματικό" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "Ασφάλεια" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "Χρήση TLS" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "Ανταλλαγή κλειδιών SRTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "Απενεργοποιημένο" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "Εγγραφή" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "Λήξη εγγραφής" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "Συμβατότητα με RFC 3263" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "Συσκευή δικτύου" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "Τοπική διεύθυνση δικτύου" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "Τοπική θύρα δικτύου" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "Δημοσιευμένη διευθυνση" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "Χρήση STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/es/es.po b/lang/es/es.po index a40c09ce90e8d1106ba4f53f66c7d832e4701a63..75d66eafa6bfb3bb67339cf6dc7d051cc0af6e91 100644 --- a/lang/es/es.po +++ b/lang/es/es.po @@ -9,173 +9,180 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 16:12+0000\n" +"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "No registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Intentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Error" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Falló la autenticación" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "Red Inaccesible" +msgstr "Red inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "_Parte del servidor" +msgstr "Servidor inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "Error de configuración Stun" +msgstr "Error de configuración de Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "Servidor stun inválido" +msgstr "Servidor Stun no válido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Listo" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Inválido" +msgstr "No válido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Usando la cuenta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Ninguna cuenta registrada" +msgstr "No hay ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -"Incapaz de conectar con el servidor SFLphone.\n" -" Asegúrese que el demonio esté funcionando." +"No se pudo conectar con el servidor de SFLphone.\n" +"Asegúrese de que el demonio está en ejecución." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "Llamadas IP directas" +msgstr "Llamada SIP directa" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Error: Codecs de audio no encontrados.\n" -"\n" -"</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " -"directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoy a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ayer a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x a las %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de reproducción" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -"<b>Notificación de Pulseaudio</b>\n" +"Notificación de Pulseaudio\n" "\n" "Pulseaudio no está funcionando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "No hay llamada en curso" +msgstr "Hay una llamada en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Hay llamadas en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" -msgstr "Aún quiere salir ?" +msgstr "¿Aún quiere salir?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "Error SFLphone" +msgstr "Error de SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "ZRTP no es compatible con %s\n" +msgstr "El nodo %s no soporta ZRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicación segura no disponible" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "Seguir" +msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Terminar llamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Un error de %s obliga la llamada con %s a caer bajo un modo decifrado.\n" +"Un error de %s obliga a la llamada con %s a realizarse en modo no cifrado.\n" "Razón exacta: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "Negociación ZRTP fracasada" +msgstr "Falló la negociación ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s quiere parar la comunicación segura. Confirmar reanudará la conversación " "sin SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s cuenta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensaje de voz" msgstr[1] "%d mensajes de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Llamando con la cuenta %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Ninguna cuenta configurada" +msgstr "No tiene configurada ninguna cuenta" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "No tiene ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,520 +243,554 @@ msgstr "" "<i>Con:</i> %s\n" "usando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "%s no es compatible con ZRTP." +msgstr "%s no soporta ZRTP" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "Negociación ZRTP fracasada con %s" +msgstr "La negociación ZRTP ha fracasado con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "Volumen de altavoces" +msgstr "Volumen de los altavoces" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volumen del micrófono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "Mostrar ventana principal" +msgstr "Mostrar _ventana principal" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Colgar" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i cuenta configurada" -msgstr[1] "%i cuentas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i cuenta activa" +msgstr[1] "%i cuentas activas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Libreta de contactos" +msgstr "No se ha seleccionado ninguna libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "Libreta de contactos" +msgstr "Libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Mensaje de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "SFLphone es un teléfono VoIP compatible con los protocolos SIP y IAX2" +msgstr "SFLphone es un cliente VoIP compatible con los protocolos SIP e IAX2" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "Sobre SFLphone" +msgstr "Acerca de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Llamar" +msgstr "Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nueva llamada" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Realizar un nuevo llamado" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Descolgar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Colgar" +msgstr "Responder el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Finalizar el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Poner el llamado en espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" +msgstr "Sacar el llamado de espera" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "G_rabar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Archivo de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Error de configuración Stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Cerrar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar al área de notificación" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Salir" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Salir del programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Eliminar la cuenta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Pegar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Pegar el contenido del portapapeles" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "_Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Cuentas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Cambiar sus preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ayuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir el manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transferir a : " +msgstr "Transferir a :" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "G_rabar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Grabar la conversación actual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Desactivado" +msgstr "_Teclado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostrar el teclado de marcado" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Libreta de contactos" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de teléfono" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Editar el número de teléfono antes de llamar" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parámetros de cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconocido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nombre de equipo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Usuario" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Número de buzón de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "Agente de _usuario" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Secreto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informaciónes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nombre de autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Seguridad" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Usa transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Intercambió de clave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desactivado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registración" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registracíon expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Cumplir con RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Red Inaccesible" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Dirección local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Puerto local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Dirección publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Usando STUN " +msgstr "Usando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL del servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual que parámetros locales" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Publicar dirección y puerto:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Puerto publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Códecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configuración de cuentas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Red" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " +"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " +"usted define aqui serán también utilizados si ninguná cuenta puede ser " +"igualada a una llamada entrante o saliente." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor contesta \"" +msgstr "El servidor ha devuelto «%s» (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Cuentas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Cuentas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " cuenta activada" -msgstr[1] " cuenta activada" +msgstr[0] "Hay %d cuenta activada" +msgstr[1] "Hay %d cuentas activadas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "No tienes ninguna cuenta activada" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "General" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usar libreta de contactos de Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de descarga :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tarjetas" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Mostrar fotos de contactos, si están disponibles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Usar los siguientes campos de la libreta de direcciones de Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "P_rofesional" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Personal" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Movil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Libretas de contactos" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Seleccione la libreta de contactos de Evolution a usar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nombre" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "El asistente ha finalizado" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -757,317 +798,322 @@ msgstr "" "Puede comprobar en cualquier momento su estado de registro o modificar la " "configuración de sus cuentas en la ventana de Opciones/Cuentas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Usuario" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Seguridad: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ninguno" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Asistente de creación de cuentas" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "¡Bienvenido al asistente de configuración de cuentas de SFLphone" +msgstr "¡Bienvenido al asistente de creación de cuentas de SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este asistente de instalación le ayudará a configurar una cuenta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Escoja un tipo de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, elija una de las siguientes opciones" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Crear una cuenta SIP/IAX2 gratis en sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar una cuenta SIP o IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configuración de cuenta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, ingrese la siguiente información" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" -msgstr "Communicaciòn segura con _ZRTP" +msgstr "Comunicación segura con _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Dirección de correo opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Esta dirección de correo se usará para mandar sus mensajes de voz" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Correo" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configuración de cuenta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Conversión de Dirección de Red (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Probablemente tiene que activar esto si está detrás de un cortafuegos." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctivar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "¡Enhorabuena!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frecuencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Tasa de transferencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Ancho de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Salida" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detección de actividad de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Reducción de ruido" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gestor de audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configuración de ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Códecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Grabaciones" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Carpeta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione una carpeta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Elija un tono de llmada" +msgstr "Elija un tono de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Archivos de Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuración de cuentas" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento de URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos personalizados en llamada entrante con URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s se remplazará por la URL." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Disparador en una cabecera _SIP específica" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Disparador con una URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Comando a ejecutar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescritura de número de teléfono" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefijar los números marcados con" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " -"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " -"usted define aqui serán también utilizados si ninguná cuenta puede ser " -"igualada a una llamada entrante o saliente." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificación de escritorio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activar notificaciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icono de bandeja del sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Mostrar SFLphone en la barra de tareas" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup ventana principal al recibir llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Nunca mostrar ventana principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder SFLphone al principio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historia de llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Guardar mi historia por lo menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "días" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Sonido" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Libreta de Direcciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Disparadores" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Llamadas IP directas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Accesos directos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenga cuidado: estos accesos directos podrían reemplazar los accesos " +"directos de todo sistema." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Opciones avanzadas por TLS" +msgstr "Opciones avanzadas para TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,139 +1126,118 @@ msgstr "" "diferente transporte TLS para cada cuenta. De cualquier forma, cada uno de " "ellos usará un puerto dedicado, diferente el uno del otro.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Escuchador TLS global (todas cuentas)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Lista de Certificados de Autoridad" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escoge un archivo de lista de CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Archivo del certificado del par público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escoge un certificado de par público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escoge un archivo de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Contraseña de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método de protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifrado TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Nombre del servidor para conección TLS saliente" +msgstr "Nombre del servidor para la conexión TLS saliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" -msgstr "Negociación expirada" +msgstr "Negociación expirada (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Checar certificados entrantes, como un servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Checar certificados de la respuesta, como cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "Requiere certificado para conecciones TLS entrantes" +msgstr "Requiere certificado para conexiones TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opciones ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar Hello Hash en S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Preguntar al usuario de confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Prevenir si ZRTP no es compatible" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Presentar SAS una vez para eventos en espera" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opciones SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Haz clic aqui para cambiar el type de busqueda" +msgstr "Pulse aquí para cambiar el tipo de búsqueda" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar en llamadas pérdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar en llamadas entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar en llamadas salientes" -#~ msgid "IP call - %s" -#~ msgstr "Llamada IP - %s" - -#~ msgid "Codec" -#~ msgstr "Códec" - -#~ msgid "Network" -#~ msgstr "Red" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Alla " - -#~ msgid "is " -#~ msgstr "es " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detección de actividad de voz" -#~ msgid "are " -#~ msgstr "son " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Silenciar otras aplicaciones durante una llamada" - -#~ msgid "SIP Port" -#~ msgstr "Puerto SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activar _notificaciones de mensajes de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Guarda informaciòn SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Reducción de ruido" #~ msgctxt "account state" #~ msgid "Registered" @@ -1241,6 +1266,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "SFLphone KDE Client" #~ msgstr "Cliente KDE de SFLphone" +#~ msgid "Codec" +#~ msgstr "Códec" + #~ msgid "Main screen" #~ msgstr "Pantalla principal" @@ -1281,9 +1309,6 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Enable Stun" #~ msgstr "Activar STUN" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Aplicar" @@ -1296,6 +1321,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio" #~ msgstr "PulseAudio" +#~ msgid "SIP Port" +#~ msgstr "Puerto SIP" + #~ msgctxt "End of 'Keep my history for at least n days.'" #~ msgid "days" #~ msgstr "días" @@ -1452,12 +1480,23 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Cuidado:número de resultatos excede el maximo a mostrar." +#~ msgid "IP call - %s" +#~ msgstr "Llamada IP - %s" + #~ msgid "_Account creation wizard" #~ msgstr "Asistente de configuración de cuentas" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i cuenta configurada" +#~ msgstr[1] "%i cuentas configuradas" + #~ msgid "_Enable this account" #~ msgstr "_Habilitar esta cuenta" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activar _notificaciones de mensajes de voz" + #~ msgctxt "Beginning of 'Keep my history for at least n days.'" #~ msgid "_Keep my history for at least" #~ msgstr "_Guardar mi historia por lo menos" @@ -1465,6 +1504,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de sonido Pulseaudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Silenciar otras aplicaciones durante una llamada" + #~ msgid "User" #~ msgstr "Usuario" @@ -1723,6 +1765,17 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Command to run" #~ msgstr "Comando a ejecutar" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Error: Codecs de audio no encontrados.\n" +#~ "\n" +#~ "</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " +#~ "directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" + #~ msgid "Keep my history for at least" #~ msgstr "Guardar el historial al menos" @@ -1770,13 +1823,39 @@ msgstr "Buscar en llamadas salientes" #~ "\"Más\" o \"Menos\". Edita la cuenta seleccionada con el formulario a la " #~ "derecha." +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "There " +#~ msgstr "Alla " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Guarda informaciòn SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Llamadas IP directas" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "are " +#~ msgstr "son " + +#~ msgid "is " +#~ msgstr "es " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Maxime Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ," #~ "Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Andres Mujica,Maxime Chambreuil" +#~ "Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad Contributions:," +#~ "Andres Mujica,Daniel Mustieles,Jorge E. Gómez,Maxime Chambreuil,Nicolás " +#~ "M. Zahlut,Xuacu Saturio" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1784,4 +1863,6 @@ msgstr "Buscar en llamadas salientes" #~ "maxime.chambreuil@savoirfairelinux.com,,,andres.mujica@seaq.com.co,maxime." #~ "chambreuil@gmail.com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail." #~ "com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres." -#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com" +#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres.mujica@seaq.com." +#~ "co,daniel.mustieles@gmail.com,jorge@jorgee.net,maxime.chambreuil@gmail." +#~ "com,nzahlut@live.com,xuacusk8@gmail.com" diff --git a/lang/fr/fr.po b/lang/fr/fr.po index c7ace4f55b20cd568eb48572c1eb71af406ac753..f790d7fe8a901cf472cda6a07f34b95d758f348e 100644 --- a/lang/fr/fr.po +++ b/lang/fr/fr.po @@ -7,70 +7,74 @@ # POT-Creation-Date: 2008-01-13 01:39+0100\n msgid "" msgstr "" -"Project-Id-Version: SFLphone 0.9.4\n" +"Project-Id-Version: SFLphone 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-29 08:48+0000\n" +"Last-Translator: Christophe CATARINA <Unknown>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-11-12 18:12+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "En cours..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erreur" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Réseau non trouvé" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Serveur introuvable" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erreur de configuration Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Serveur Stun invalide" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Prêt" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valide" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilise le compte" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Pas de compte enregistré" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -78,25 +82,28 @@ msgstr "" "Impossible de se connecter au serveur SFLphone.\n" " Assurez-vous que le démon est lancé." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Appel direct SIP" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erreur: Aucun codec audio trouvé.\n" -"\n" -"</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " -"répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "Aujourd'hui, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "Hier, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x, à %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -106,7 +113,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique de sortie" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -116,7 +123,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique d'entrée" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -126,43 +133,43 @@ msgstr "" "\n" "Pulseaudio n'est pas lancé" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Vous avez un appel en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Vous avez des appels en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Voulez-vous quitter?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erreur SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP n'est pas supporté par %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Communications sécurisées non disponibles" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuer" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Arrêter l'appel" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -171,11 +178,11 @@ msgstr "" "L'appel avec %s est passé en mode non-crypté à cause d'une erreur %s.\n" "Raison exacte: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s ne désire plus utiliser la communication sécurisée. Confirmer que vous " "voulez continuer sans ZRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmer Communication en clair" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmer" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s account : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d message vocal" msgstr[1] "%d messages vocaux" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Appel avec le compte %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Compte courant" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Vous n'avez pas configuré de compte" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Vous n'avez aucun compte enregistré" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,525 +243,555 @@ msgstr "" "<i>Avec:</i> %s\n" "using %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s ne supporte pas ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "La négociation ZRTP avec %s a échoué" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>De:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume des hauts-parleurs" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume du micro" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Raccrocher" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i compte configuré" -msgstr[1] "%i comptes configurés" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i compte actif" +msgstr[1] "%i comptes actifs" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Aucun carnet d'adresses sélectionné" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Boite vocale (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "SFLphone est un client VoIP compatible avec les protocoles SIP et IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "A propos de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Actions" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nouvel appel" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Appeler" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Décrocher" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Répondre à l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Raccrocher" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Terminer l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Mettre l'appel en attente" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Reprendre" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Reprendre l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Enregistrer" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Enregistrer la conversation courante" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "_Assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Lancer l'assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Appeler la boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Fermer" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimiser dans la barre des tâches" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Quitter" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Quitter le programme" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editer" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Copier la sélection" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "C_oller" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Coller le contenu du presse-papiers" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Effacer l'_historique" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Effacer l'historique" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Co_mptes" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Éditer les comptes" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Modifier les préférences" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "A_ffichage" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "A_ide" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Sommaire" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Ouvrir le manuel" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "À propos de cette application" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transférer" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transférer à : " +msgstr "Transférer à :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "Enregistrer" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Enregistrer la conversation courante" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Afficher la _barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Afficher la barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Clavier" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Afficher le clavier" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Contrôle du _volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Afficher les controles du volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historique" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historique d'appels" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Rappeler" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Éditer le numéro" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Éditer le numéro de téléphone avant d'appeler" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Paramètres du Compte" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "A_lias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "P_rotocole" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Inconnu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Serveur" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Usa_ger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 -#, fuzzy +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" -msgstr "Mot de passe" +msgstr "Afficher le mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Boite vocale #" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_User-agent" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Identification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informations" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nom d'authentification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sécurité" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Utiliser un transport TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Échange de clé SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Désactivé" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "Respecter RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Interface réseau" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse locale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Adresse de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utiliser STUN " +msgstr "Utiliser STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL du serveur STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Identique aux paramètres locaux" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Configurer l'adresse et le port à publier" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Port de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Paramètre des comptes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Général" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avancé" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Réseau" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " +"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " +"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " +"ou sortant." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Le serveur a répondu \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocole" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Statut" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Comptes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Comptes Configurés" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " %d compte actif" -msgstr[1] " %d comptes actifs" +msgstr[0] "%d compte actif" +msgstr[1] "%d comptes actifs" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Vous n'avez aucun compte actif" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Général" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Utiliser les carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de téléchargement :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "entrées" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Afficher la photo si disponible" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Utiliser les champs suivants des carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Professionnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "P_ersonnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobiles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Carnets d'adresses" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Sélectionnez les carnets d'adresses d'Evolution à utiliser" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nom" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Cet assistant est maintenant terminé." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -762,319 +799,322 @@ msgstr "" "Vous pouvez à tout moment vérifier votre état d'enregistrement ou modifier " "les paramètres de vos comptes dans la fenêtre Options/Comptes." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Serveur" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nom d'utilisateur" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sécurité: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Aucun" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistant de création de compte de SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bienvenue dans l'assistant de création de compte de SFLphone !" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Cet assistant vous guidera dans la configuration d'un compte." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocoles VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Sélectionnez un type de compte" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Compte" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Veuillez sélectionner une des options suivantes" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Créer un compte SIP/IAX2 gratuit sur sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Enregistrer un compte SIP ou IAX2 existant" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Paramètres de compte SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Veuillez remplir les champs suivants" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Communications sécurisées avec _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Adresse courriel optionnelle" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Vos messages vocaux seront envoyés par courriel à cette adresse." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "A_dresse courriel" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Paramètres de compte IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Vous devriez probablement activer cette option si vous vous trouvez derrière " "un pare-feu." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctiver STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "S_erveur STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Enregistrement du compte" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Félicitations!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Fréquence" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bande passante" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Greffon ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Sortie" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrée" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Détection de l'activité de la voix" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Réduction du bruit (Compresseur extenseur LBR)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Interface Audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Paramètres ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Enregistrements" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Dossier de destination" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Choisissez un dossier" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Activer les sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Sélectionner une sonnerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Fichier Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Paramètre des comptes" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argument URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Commandes personnalisées lors d'appels entrants avec une URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s sera remplacé par l'URL passé en argument." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Déclencher sur un entête _SIP spécifique" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Déclencher en _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Commande à e_xécuter" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Réécriture des numéros appelés" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Préfixer les numéros composés par" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " -"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " -"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " -"ou sortant." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifications de Bureau" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activer les notifications" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icône dans la barre des tâches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Montrer SFLphone dans la barre des tâches" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Faire apparaître la fenêtre _principale lors d'appel entrant" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Ne _jamais afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Cacher la fenêtre de SFLphone au démarrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historique des appels" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Garder mon historique au moins" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "jours" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Carnet d'adresse" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ancrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Appels IP" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Raccourcis claviers" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Soyez prudent; ces raccourcis peuvent entrer en conflit avec ceux du système." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Options avancées TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transport TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1087,143 +1127,118 @@ msgstr "" "TLS différent pour chaque compte. Cependant, chacun écoutera sur un port " "différent.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Port TLS global (pour tous les comptes)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Liste des autorités de certification" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Choisir une liste d'AC (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Fichier de certificats de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Sélectionner le certificat de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Choisir une clé privée (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Mot de passe pour la clé privée" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Méthode pour TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Liste de cryptogramme TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instance du serveur pour les connections TLS sortantes" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Expiration de la négociation" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "En tant que serveur, vérifier les certificats entrants" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "En tant que client, vérifier les certificats dans les réponses" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Exiger un certificat pour les connexions TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Options de ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Envoyer le hash de Hello dans S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Demander à l'utilisateur de confirmer le SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Avertir si ZRTP n'est pas supporté" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Afficher le SAS seulement une fois sur les mises en attente" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Options SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Recourrir à RTP si SDES échoue" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Rechercher dans tous" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Cliquez ici pour changer le type de recherche" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Rechercher dans les appels manqués" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Rechercher dans les appels entrants" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Rechercher dans les appels sortants" -#~ msgid "Configuration File" -#~ msgstr "Fichier de configuration" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Détection de l'activité de la voix" -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "" -#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" - -#~ msgid "IP call - %s" -#~ msgstr "Appel IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Réseau" - -#~ msgid "Manually" -#~ msgstr "Manuelle" - -#~ msgid "There " -#~ msgstr "Il y " - -#~ msgid "is " -#~ msgstr "a " - -#~ msgid "are " -#~ msgstr "a " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Éteindre le _son des autres applications lors d'un appel" - -#~ msgid "SIP Port" -#~ msgstr "Port SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transport UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activer les notifications de boîte _vocale" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Réduction du bruit (Compresseur extenseur LBR)" #~ msgctxt "account state" #~ msgid "Registered" @@ -1286,6 +1301,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Default account" #~ msgstr "Compte par défaut" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone Client KDE" @@ -1475,6 +1493,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Clear history" #~ msgstr "Effacer l'historique" +#~ msgid "SIP Port" +#~ msgstr "Port SIP" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Déclencher sur un entête SIP spécifique" @@ -1496,15 +1517,40 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Attention:tous les résultats ne sont pas affichés." +#~ msgid "IP call - %s" +#~ msgstr "Appel IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erreur: Aucun codec audio trouvé.\n" +#~ "\n" +#~ "</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " +#~ "répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistant de création de compte" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i compte configuré" +#~ msgstr[1] "%i comptes configurés" + #~ msgid "_Enable this account" #~ msgstr "Activer ce compte" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activer les notifications de boîte _vocale" + #~ msgid "PulseAudio sound server" #~ msgstr "Serveur de son PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Éteindre le _son des autres applications lors d'un appel" + #~ msgid "Port" #~ msgstr "Port" @@ -1770,9 +1816,6 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1817,12 +1860,42 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Registration _expire" #~ msgstr "Expiration d'enregistrement" +#~ msgid "Manually" +#~ msgstr "Manuelle" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transport UDP" + +#~ msgid "Configuration File" +#~ msgstr "Fichier de configuration" + +#~ msgid "There " +#~ msgstr "Il y " + +#~ msgid "are " +#~ msgstr "a " + +#~ msgid "is " +#~ msgstr "a " + +#~ msgid "Direct IP calls" +#~ msgstr "Appels IP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "" +#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Jérémy Quentin, ,Launchpad Contributions:,Emmanuel Milou,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ," -#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil" +#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Alexandre Savard,Christophe CATARINA,Emmanuel Milou,Maxime " +#~ "Chambreuil,Pierre Slamich" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1830,4 +1903,6 @@ msgstr "Rechercher dans les appels sortants" #~ "jeremy.quentin@savoirfairelinux.com,,,emmanuel.milou@savoirfairelinux.com," #~ "maxime.chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." #~ "chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,alexandre.savard@savoirfairelinux.com,,emmanuel." +#~ "milou@savoirfairelinux.com,maxime.chambreuil@gmail.com,pierre." +#~ "slamich@gmail.com" diff --git a/lang/it/it.po b/lang/it/it.po index cf8644aea926a034434257d7637e4c5c02e5a84c..f9e4a8ddbc573b6a4541039a465d08386cc36435 100644 --- a/lang/it/it.po +++ b/lang/it/it.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-14 17:47+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-03-21 18:30+0000\n" +"Last-Translator: Milo Casagrande <milo@casagrande.name>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrato" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non registrato" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Registrazione in corso..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Errore" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticazione fallita" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host non raggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Server STUN non valido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Account in uso:" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Impossibile connettersi al server SFLphone.\n" "Accertarsi che il demone sia in esecuzione." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Chiamata SIP diretta" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Errore: Non è stato trovato alcun codec audio.</b>\n" -"\n" -"I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." -"sflphone</b> della cartella home dell'utente (</i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -103,7 +110,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di riproduzione" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -112,7 +119,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di registrazione" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -121,941 +128,976 @@ msgstr "" "Notifica PulseAudio\n" "PulseAudio non è in esecuzione" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "C'è una chiamata in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Ci sono chiamate in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Vuoi veramente uscire?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Errore SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "Negoziazione ZRTP fallita" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Account %s: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Da</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d messaggio vocale" msgstr[1] "%d messaggi vocali" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Chiamata tramite account %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Nessun account configurato" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s non supporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "Negoziazione ZRTP fallita con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" -msgstr "" +msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume altoparlante" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume microfono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Mostra la finestra principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Chiudi" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i account configurato" -msgstr[1] "%i account configurati" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Segreteria telefonica" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Segreteria telefonica (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone è un client VoIP compatibile con i protocolli SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Informazioni su SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Effettua una nuova chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "Rispondi" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Chiudi" +msgstr "Rispondi alla chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Metti in attesa la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Registra" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d messaggio vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Modifica" +msgstr "_Esci" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Esce dal programma" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Modifica" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Elimina l'account selezionato" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Account" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "Preferenze" +msgstr "Preferen_ze" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Modifica le preferenze" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Visualizza" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Aiuto" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Inoltra" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Inoltra a: " +msgstr "Inoltra a:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Registra" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Regista la conversazione in corso" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Mostra tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostra la tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parametri account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Pseudonimo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocollo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Sconosciuto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Nome _host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Nome _utente" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Numero segreteria telefonica" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 -msgid "Authentication" +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autenticazione" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Scadenza registrazione" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codec" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Impostazioni dell'account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Generale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzate" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rete" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocollo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Stato" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Account" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Account configurati" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usa la rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tessere" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Mostra la foto del contatto se disponibile" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campi dalla rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Lavoro" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Home" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "Cellulare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Rubriche indirizzi" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selezionare la rubrica di Evolution da usare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "La procedura guidata è terminata." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Pseudonimo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome utente" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" "Benvenuti alla procedura guidata per la creazione di un account SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Questa procedura permetterà di configurare un account." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolli VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selezionare un tipo di account" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Account" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Scegliere una delle seguenti opzioni" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Creare un account SIP/IAX2 gratuito su sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrare un account SIP o IAX2 esistente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Impostazioni account SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Indirizzo email opzionale" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "L'indirizzo email sarà usato per l'invio dei messaggi della segreteria " "telefonica." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "Indirizzo _email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Impostazioni account IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Dovrebbe essere abilitato se ci si trova dietro ad un firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Abilita STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "Server STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registrazione account" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Congratulazioni!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenza" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uscita" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Ingresso" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Suonerie" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Impostazioni ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codec" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Registrazioni" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Cartella di destinazione" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleziona una cartella" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Abilita suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Selezionare una suoneria" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "File audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Impostazioni dell'account" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Rileva header SIP specifico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Rileva URL su IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando da eseguire" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Riscrittura numero telefonico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "Prefisso da aggiungere ai numeri da chiamare" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Abilita notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icona per area di notifica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Mostra la finestra principale all'arrivo delle chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Non mostrare mai la finestra principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Nascondi la finestra di SFLphone all'avvio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Mantieni la cronologia per almeno" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "giorni" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferenze" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1064,119 +1106,116 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Cerca tra tutte le chiamate" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Fare clic qui per cambiare il tipo di ricerca" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Cerca tra le chiamate perse" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Cerca tra le chiamate ricevute" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Cerca tra le chiamate effettuate" -#~ msgid "IP call - %s" -#~ msgstr "Chiamata IP diretta - %s" - #~ msgid "Codec" #~ msgstr "Codec" -#~ msgid "Network" -#~ msgstr "Rete" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Abilita notifiche messaggi vocali" - #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1201,9 +1240,6 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Applica" @@ -1228,6 +1264,9 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Enable notifications" #~ msgstr "Attiva le notifiche" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Port" #~ msgstr "Port" @@ -1252,9 +1291,17 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Command to run" #~ msgstr "Comando da eseguire" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i account configurato" +#~ msgstr[1] "%i account configurati" + #~ msgid "_Enable this account" #~ msgstr "Abilita questo account" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Abilita notifiche messaggi vocali" + #~ msgid "Voicemail number" #~ msgstr "Numero segreteria telefonica" @@ -1297,9 +1344,15 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Prefix dialed numbers with" #~ msgstr "Prefisso da aggiungere al numero da chiamare" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" + #~ msgid "Keep my history for at least" #~ msgstr "Mantieni la cronologia per almeno" +#~ msgid "IP call - %s" +#~ msgstr "Chiamata IP diretta - %s" + #~ msgid "Registration _expire" #~ msgstr "Scadenza registrazione" @@ -1316,15 +1369,27 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Account creation wizard" #~ msgstr "Procedura guidata creazione account" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Errore: Non è stato trovato alcun codec audio.</b>\n" +#~ "\n" +#~ "I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." +#~ "sflphone</b> della cartella home dell'utente (</i>%s</i>)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " #~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil" +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil,Milo Casagrande" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,maxime.chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,milo@casagrande.name" diff --git a/lang/ja/ja.po b/lang/ja/ja.po new file mode 100644 index 0000000000000000000000000000000000000000..a435c05234b9314a985ba7265af3976bd12d2384 --- /dev/null +++ b/lang/ja/ja.po @@ -0,0 +1,1240 @@ +# Japanese translation for sflphone +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-23 22:50+0000\n" +"Last-Translator: Launchpad Translations Administrators <rosetta@launchpad." +"net>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "登録しました" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "登録できません" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "検索中..." + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "エラー" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "認証に失敗" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "ネットワークに接続できません" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "ホストに接続できません" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "構成エラー" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "サーバー無効" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "無効" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "アカウント使用中" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "アカウント登録されていません" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" +"SFLphoneサーバに接続できません\n" +"デーモンを確認してください。" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "ダイレクトSIPコール" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" +"ALSA通知\n" +"\n" +"再生デバイスエラー" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" +"ALSA通知\n" +"\n" +"再生ディバイスエラー" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" +"Pulseaudio通知\n" +"\n" +"Pulseaudioが動いていません。" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "呼び出し中" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "呼び出し中" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "キャンセルしますか?" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "SFLphoneエラー" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "ZRTPが%sにサポートされていません。\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "安全なコミュニケーションが利用できません。" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "次へ" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "電話をやめてください" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" +"A %s エラーは非暗号化されているため%sの呼び出しを強制終了しました。\n" +"正確な理由:%s\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "ZRTP交渉失敗" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" +"%sはセキュリティーで保護された通信を使うのをやめてください。SRTPなしで会話が" +"再開するのを確認してください。\n" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "クリアを確認してください。" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "確認" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "%s アカウント: %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "</i> %sから <i>" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "%d ボイスメール" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "%s アカウント<i>%s</i>を呼び出し中" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "現在のアカウント" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "アカウントが設定されていません" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "アカウント登録されていません" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" +"<i>で:</i> %s\n" +" %sを使ってください。" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "%s はZRTPをサポートできていません。" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "ZRTP交渉%sで失敗しました" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "<i>With:</i> %s" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "スピーカーの音量" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "マイク音量" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "メインウィンドウを開く" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "通話を切る(_H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLフォン" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "ボイスメール" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "アドレス帳が選択されていません" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "アドレス帳" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "ボイスメール(%i)" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "SFLフォンはVoIPクライアントとSIP、IAX2プロトコルと互換性があります" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "SFLフォンに関して" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "呼び出し" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "通話先" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "発信します" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "選択" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "応答する" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "通話終了" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "保留" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "保留中" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "保留解除" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "保留を解除する" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "構成アシスタント" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "構成アシスタントを起動します" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "ボイスメールに電話をしてください" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "閉じる(_C)" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "システムトレイを最小化する" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "終了(_Q)" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "プログラムの終了" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "編集(_E)" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "コピー(_C)" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "選択範囲をコピー" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "貼り付け(_P)" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "クリップボードに貼り付け" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "履歴消去" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "通話履歴消去" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "アカウント(_A)" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "アカウント編集" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "基本設定" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "基本設定の変更" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "表示(_V)" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "目次" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "手動で開く" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "アプリケーションについて" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "転送" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "通話転送" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "録音(_R)" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "現在の会話を録音中" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "ツールバーの表示" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "ツールバーの表示" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "ダイアルパッド(_D)" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "ダイヤルパッドの表示" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "ボリュームコントロール" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "音量調整の表示" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "履歴(_H)" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "通話履歴" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "アドレス帳" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "保留中" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "折り返し電話をする" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "電話番号の編集" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "電話をする前に電話番号の編集をする" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "アカウントパラメーター" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "別名(_A)" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "プロトコル" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "不明" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "ホスト名" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "ユーザー名" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "パスワード(_P):" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "パスワードを表示" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "ボイスメールの番号" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "認証" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "シークレット" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "資格情報" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "名前の認証" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "パスワード" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "セキュリティ" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "TLS トランスポートを使用" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "SRTP キー交換" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "無効" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "登録" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "登録期間切れ" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "RFC 3263に準拠" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "ネットワークインターフェース" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "ローカルアドレス" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "ローカルポート" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "アドレス公開" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "STUN使用" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "STUNサーバーのURL" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "ローカルパラメータと同様" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "公開アドレスとポートの設定" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "公開ポート" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "コーデック" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "アカウントの設定" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "基本設定" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "詳細設定" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"<b>sip:remotepeer</b>.のようなsip URI を入力し単にリモートピアに達成したい時" +"にこのプロファイルが使用可能\r\n" +"着信通話または発信通話を照合できないアカウントであれば設定も可能" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "サーバーが\"%s\" (%d)を返しました" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "プロトコル" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "状態" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "アカウント" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "アカウント設定済み" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "%dアクティブアカウント" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "アクティブアカウントが存在しません" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "全般" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "展開アドレス帳の使用" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "ダウンロードの制限" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "カード" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "可能であれば連絡先の写真を表示" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "展開アドレス帳の項目" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "勤務先" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "自宅" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "携帯" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "アドレス帳" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "展開アドレス帳使用の選択" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "名前" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "アシスタントは現在終了" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" +"登録状況の確認またはオプション/アカウントウィンドウでアカウントパラメータを変" +"更できます" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "別名" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "サーバー" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "ユーザー名" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "セキュリティー " + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "SRTP/ZRTP草稿" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "なし" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "SFLフォンアカウント作成ウィザード" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "SFLフォンのアカウント作成ウィザードへようこそ" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "このインストールウィザードはアカウント作成を助けます" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "VoIPプロトコル" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "勘定タイプの選択" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "SIP(セッション開始プロトコル)" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "IAX2(アスタリスク変換)" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "アカウント" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "オプションに従い1つ選択してください" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "無料SIP/IAX2アカウントをsflフォン組織に作成" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "SIPまたは IAX2アカウントの存在を登録" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "SIPアカウント設定" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "情報を入力してください" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "ZRTPセキュリティーで保護された通信" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "任意のメールアドレス" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "このメールアドレスはボイスメールメッセージに送られます" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "Eメールアドレス" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "IAX2アカウント設定" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "ネットワークアドレス変換(NAT)" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "ファイアウォールの内側であれば接続できます" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "STUN有効(E)" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "STUNサーバー" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "アカウント登録" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "設定完了" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "周波数" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "ビットレート" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "帯域幅" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "ALSAプラグイン" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "出力" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "入力" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "着信音" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "サウンドマネージャー" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "パルスオーディオ" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "ALSA設定" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "録音" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "インストール先フォルダ" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "フォルダの選択" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "着信音" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "着信音可能" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "着信音選択" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "音声ファイル" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "アカウントの設定" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "URL 引数" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "URL着信履歴ユーザー設定コマンド" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "%sはURLに置き換え" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "特定SIPヘッダーのトリガ" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "IAX2 URLのトリガ" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "実行するコマンド" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "電話番号書き換え" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "プレフィックス番号" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "デスクトップ通知" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "通知可能" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "システムトレイアイコン" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "着信通話のポップアップメインウィンドウ" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "ポップアップメインウィンドウ非表示" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "起動SFLphoneウィンドウ非表示" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "着信履歴" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "最後の着信履歴の保護" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "曜日" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "基本設定" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "音声" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "アドレス帳" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "フック" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "TLSの詳細設定オプション" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "TLS転送" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" +"通話はセキュリティーで保護されたSIPトランザクションの要求によりTLS転送はUDPを" +"使用できます。\n" +"それぞれのアカウントでTLS転送を確認してください。そうするとそれぞれ専用ポー" +"ト、異なったものに実行できます。\n" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "j証明機関の一覧" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "CAリストファイルの選択" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "公式エンドポイント証明ファイル" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "公式エンドポイント証明の選択" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "個人キーファイルの選択" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "プライベートキーのパスワード" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "TLSプロトコルメソッド" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "TLS暗号一覧" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "TLS接続発信サーバー名インスタンス" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "ネゴシエーションタイムアウト" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "サーバーの証明受信の確認" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "クライアント応答証明の確認" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "受信tls接続のための証明要求" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "ZRTPオプション" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "SDPでハローハッシュ送信" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "ユーザーへSAS確認" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "ZRTPがサポートされているかどうか警告" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "イベント管理のためSAS表示" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "すべて検索" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "検索の種類を変更するにはここをクリックしてください" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "不在着信の検索" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "受信通話の検索" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "発信通話の検索" + +#~ msgid "_Voice Activity Detection" +#~ msgstr "ボイスアクティビティ検出" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "ノイズ除去" + +#~ msgid "IP call - %s" +#~ msgstr "IP 電話 -%s" + +#~ msgid "Codec" +#~ msgstr "コーデック" diff --git a/lang/ko/ko.po b/lang/ko/ko.po index c7ebb3c80fea05d48123044557c037e1a7ef3bb9..295226ea7a3c9cac5cc2b3b94dcc8d62548ba4a0 100644 --- a/lang/ko/ko.po +++ b/lang/ko/ko.po @@ -7,1040 +7,1103 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-18 03:37+0000\n" +"Last-Translator: Bundo <bundo@bundo.biz>\n" "Language-Team: Korean <ko@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "등록했습니다" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" -msgstr "" +msgstr "등록되지 않았습니다" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." -msgstr "" +msgstr "시도중..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" -msgstr "" +msgstr "오류" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" -msgstr "" +msgstr "인증이 실패했습니다" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "" +msgstr "네트워크에 접근할 수 없습니다" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "" +msgstr "호스트에 접근할 수 없습니다" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "" +msgstr "Stun 구성 오류" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "" +msgstr "Stun 서버 사용" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "준비" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "" +msgstr "무효" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" -msgstr "" +msgstr "사용중인 계정" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "" +msgstr "등록되지 않은 계정" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" +"SFLphone 서버에 연결할 수 없습니다.\n" +"데몬이 실행중인지 확인하십시오." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "" +msgstr "직접 SIP 호출" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "%R 오늘" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "%R 어제" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A at %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x 에 %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" +"ALSA 알림\n" +"\n" +"재생 장치 오류" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" +"ALSA 알림\n" +"\n" +"캡쳐 장치 열기 중 오류" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" +"Pulseaudio 알림\n" +"\n" +"펄스오디오가 실행중이지 않습니다" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "" +msgstr "호출 진행중" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." -msgstr "" +msgstr "호출 진행중" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" -msgstr "" +msgstr "종료 하시겠습니까?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "" +msgstr "SFLphone 오류" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "" +msgstr "ZRTP %s에서 지원되지 않습니다\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" -msgstr "" +msgstr "안전한 커뮤니케이션을 사용할 수 없습니다." -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "" +msgstr "계속" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "" +msgstr "호출 정지" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" +"A %s 오류가 아닌 암호화된있어 %s에 대한 호출을 종료했습니다.\n" +"정확한 이유 : %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "ZRTP 협상 실패" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" +"%s는 보안으로 보호되는 통신을 사용하는 것을 금합니다. SRTP 없이 대화를 재개" +"할 것인지 확인하십시오.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" -msgstr "" +msgstr "삭제를 확인하십시오." -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" -msgstr "" +msgstr "확인" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" -msgstr "" +msgstr "%s 계정 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" -msgstr "" +msgstr "<i>From</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d 음성 메일" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" -msgstr "" +msgstr "%s 계정 <i> %s </i>를 호출하는 동안" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" -msgstr "" +msgstr "현재 계정" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "" +msgstr "계정이 설정되지 않았습니다" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" -msgstr "" +msgstr "계정이 등록되어 있지 않습니다" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" +"<i>작성자:</i> %s\n" +"%s을(를) 사용하세요." -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s ZRTP를 지원하지 않습니다." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "ZRTP 협상 %s에서 실패했습니다." -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" -msgstr "" +msgstr "<i>With:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "" +msgstr "스피커 볼륨" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" -msgstr "" +msgstr "마이크 볼륨" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "" +msgstr "메인 창 보기(_S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "통화 끊기(_H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" -msgstr "" +msgstr "SFL폰" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "" -msgstr[1] "" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i 활성된 계정" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" -msgstr "" +msgstr "음성 메일" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "" +msgstr "주소록이 선택되어 있지 않습니다" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" -msgstr "" +msgstr "음성 메일 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "" +msgstr "SFL폰은 VoIP클라이언트와 SIP, IAX2 프로토콜과 호환 가능합니다." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "" +msgstr "SFL폰 정보" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "" +msgstr "호출" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" -msgstr "" +msgstr "새 통화(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "새로 호출합니다" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" -msgstr "" +msgstr "선택(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "호출 응답" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "호출 끝내기" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" -msgstr "" +msgstr "보류(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "호출을 보류합니다" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "" +msgstr "보류 해제(_F)" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "" +msgstr "보류를 해제합니다." -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" -msgstr "" +msgstr "설정 도우미(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" -msgstr "" +msgstr "설정 도우미를 실행합니다" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" -msgstr "" +msgstr "음성 전화를 합니다." -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "닫기(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "시스템 트레이에 최소화" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "" +msgstr "끝내기(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "프로그램을 끝냅니다" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" -msgstr "" +msgstr "편집(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "복사(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "" +msgstr "선택한 사항을 복사합니다" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "붙여넣기(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "클립보드의 내용을 붙여넣습니다" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" -msgstr "" +msgstr "기록 지우기(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" -msgstr "" +msgstr "호출 기록을 지웁니다" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" -msgstr "" +msgstr "계정(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" -msgstr "" +msgstr "계정을 편집합니다" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "" +msgstr "기본 설정(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "기본 설정을 바꿉니다" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" -msgstr "" +msgstr "보기(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" -msgstr "" +msgstr "도움말(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" -msgstr "" +msgstr "차례" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "설명서를 엽니다" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" -msgstr "" +msgstr "이 프로그램 정보" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "" +msgstr "전송(_T)" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "" +msgstr "호출 전송" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "녹음(_R)" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "현재 대화를 녹음합니다" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "도구모음 표시(_S)" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "도구모음 표시합니다" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "" +msgstr "다이얼패드(_D)" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "숫자키패드 표시" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "" +msgstr "볼륨 조정(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "" +msgstr "볼륨 조정을 표시 합니다" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" -msgstr "" +msgstr "기록(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" -msgstr "" +msgstr "호출 기록" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" -msgstr "" +msgstr "주소록(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" -msgstr "" +msgstr "보류(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" -msgstr "" +msgstr "다시 호출(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" -msgstr "" +msgstr "폰 번호 편집" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" -msgstr "" +msgstr "전화를 하기 전에 전화 번호를 편집합니다" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" -msgstr "" +msgstr "계정 매개 변수" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" -msgstr "" +msgstr "별칭(_A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" -msgstr "" +msgstr "프로토콜(_P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" -msgstr "" +msgstr "알 수 없음" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" -msgstr "" +msgstr "호스트 이름(_H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" -msgstr "" +msgstr "사용자 이름(_U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" -msgstr "" +msgstr "암호(_P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" -msgstr "" +msgstr "암호 보기" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" +msgstr "음성메일 번호(_V)" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" -msgstr "" +msgstr "인증" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" -msgstr "" +msgstr "비밀" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" -msgstr "" +msgstr "자격 증명" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" -msgstr "" +msgstr "이름 인증" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" -msgstr "" +msgstr "암호" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" -msgstr "" +msgstr "보안" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" -msgstr "" +msgstr "TLS 전송을 사용" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" -msgstr "" +msgstr "SRTP 키 교환" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" -msgstr "" +msgstr "사용 안 함" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" -msgstr "" +msgstr "등록" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "" +msgstr "등록 기간 없음" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" -msgstr "" +msgstr "RFC 3263 준수(_C)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" -msgstr "" +msgstr "네트워크 인터페이스" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" -msgstr "" +msgstr "로컬 주소" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" -msgstr "" +msgstr "로컬 포트" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "" +msgstr "주소 공개" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "" +msgstr "STUN 사용" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" -msgstr "" +msgstr "STUN 서버 URL" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" -msgstr "" +msgstr "몇개의 로컬 매개 변수" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" -msgstr "" +msgstr "공개 주소 및 포트 설정:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" -msgstr "" +msgstr "공개된 포트" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "코덱" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" -msgstr "" +msgstr "계정 설정" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" -msgstr "" +msgstr "기본 설정" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" +msgstr "고급 설정" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "네트워크" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." msgstr "" +"<b>sip:remotepeer</b>. 같은 sip URI를 입력하여 간단하게 원격 피어를 달성하고 " +"싶을 때 이 프로필 사용 가능합니다. 걸려오는 전화 또는 발신 통화가 일치되지 않" +"는 계정이라도 설정이 가능합니다." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" -msgstr "" +msgstr "서버에 \"%s\" (%d)가 발생했습니다" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" -msgstr "" +msgstr "프로토콜" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" -msgstr "" +msgstr "상태" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" -msgstr "" +msgstr "계정" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" -msgstr "" +msgstr "계정을 설정했습니다" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] "" +msgstr[0] "%d 활성 계정" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" -msgstr "" +msgstr "현재 계정이 존재하지 않습니다" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" -msgstr "" +msgstr "일반" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" -msgstr "" +msgstr "에볼류션 주소록 사용(_U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" -msgstr "" +msgstr "다운로드 제한 :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" -msgstr "" +msgstr "카드" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" -msgstr "" +msgstr "가능하면 연락처의 사진보기(_D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" -msgstr "" +msgstr "에볼류션 주소록에서의 항목" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" -msgstr "" +msgstr "업무(_W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" -msgstr "" +msgstr "홈(_H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" -msgstr "" +msgstr "핸드폰(_M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" -msgstr "" +msgstr "에볼류션 주소록 사용하여 선택" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" -msgstr "" +msgstr "이름" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." -msgstr "" +msgstr "지원자는 현재 종료되었습니다." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." -msgstr "" +msgstr "등록 상황을 확인하거나 옵션/계정 창에서 계정 매개 변수를 변경합니다." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" -msgstr "" +msgstr "별명" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" -msgstr "" +msgstr "서버" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" -msgstr "" +msgstr "사용자 이름" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " -msgstr "" +msgstr "보안: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" -msgstr "" +msgstr "SRTP/ZRTP 초안" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" -msgstr "" +msgstr "없음" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" -msgstr "" +msgstr "SFL폰 계정 만들기 마법사" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "" +msgstr "SFL폰 계정 만들기 마법사에 오신걸 환영합니다!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." -msgstr "" +msgstr "이 설치 마법사는 계정 생성을 돕습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" -msgstr "" +msgstr "VoIP 프로토콜" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" -msgstr "" +msgstr "계정 유형 선택" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" -msgstr "" +msgstr "SIP (세션 초기화 프로토콜)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" -msgstr "" +msgstr "IAX2 (별표 변환)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" -msgstr "" +msgstr "계정" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" -msgstr "" +msgstr "옵션에 따라서 1개를 선택" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" -msgstr "" +msgstr "무료 SIP/IAX2 계정을 sflphone.org에 만들기" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" -msgstr "" +msgstr "SIP 또는 IAX2 계정이 등록되어 있습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" -msgstr "" +msgstr "SIP 계정 설정" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" -msgstr "" +msgstr "정보를 입력하세요." -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" -msgstr "" +msgstr "ZRTP 보안으로 보호된 통신(_Z)" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" -msgstr "" +msgstr "임의의 이메일 주소" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." -msgstr "" +msgstr "이 이메일 주소는 음성메일 메시지로 보내집니다" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" -msgstr "" +msgstr "이메일 주소(_E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" -msgstr "" +msgstr "IAX2 계정 설정" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" -msgstr "" +msgstr "네트워크 주소 변환 (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." -msgstr "" +msgstr "방화벽을 하고 있으면 연결할 수 있습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" -msgstr "" +msgstr "STUN 가능(_N)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" -msgstr "" +msgstr "STUN 서버(_S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" -msgstr "" +msgstr "계정 등록" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" -msgstr "" +msgstr "축하합니다!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" -msgstr "" +msgstr "주파수" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" -msgstr "" +msgstr "전송률" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" -msgstr "" +msgstr "대역폭" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" -msgstr "" +msgstr "ALSA 플러그인" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" -msgstr "" +msgstr "출력" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" -msgstr "" +msgstr "입력" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "착신음" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" -msgstr "" +msgstr "사운드 관리자" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" -msgstr "" +msgstr "펄스오디오(_P)" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" -msgstr "" +msgstr "알사(_A)" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" -msgstr "" - -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "" +msgstr "알사 설정" -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" -msgstr "" +msgstr "녹화" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" -msgstr "" +msgstr "대상 폴더" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" -msgstr "" +msgstr "폴더 선택" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" -msgstr "" +msgstr "착신음" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" -msgstr "" +msgstr "착신음 가능(_E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "" +msgstr "착신음 선택" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" -msgstr "" +msgstr "오디오 파일" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "계정 설정" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" -msgstr "" +msgstr "URL 인수" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" -msgstr "" +msgstr "URL 수신 기록 사용자 지정 명령" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." -msgstr "" +msgstr "%s URL로 바꿉니다." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" -msgstr "" +msgstr "특정 SIP 헤더 트리거(_S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" -msgstr "" +msgstr "IAX2 URL 트리거(_I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" -msgstr "" +msgstr "실행 명령(_R)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" -msgstr "" +msgstr "전화 번호 재작성 중" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" +msgstr "접두사와 전화 번호를 다이얼(_P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" -msgstr "" +msgstr "바탕 화면 알림" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" -msgstr "" +msgstr "알림 사용가능(_E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" -msgstr "" +msgstr "시스템 트레이 아이콘" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "SFL폰을 시스탬 트레이에 보여줍니다" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" -msgstr "" +msgstr "착신 통화 메인 창 띄움(_P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" -msgstr "" +msgstr "메인창을 절대 띄우지 않음(_V)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" -msgstr "" +msgstr "시작 시에 SFL폰 창 숨기기(_S)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" -msgstr "" +msgstr "호출 기록" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" -msgstr "" +msgstr "마지막 통화 기록을 보호(_K)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" -msgstr "" +msgstr "일" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" -msgstr "" +msgstr "기본 설정" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" -msgstr "" +msgstr "오디오" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" -msgstr "" +msgstr "후크" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "바로 가기" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "주의: 이 단축키는 시스템-전체의 단축키를 무시할 수 있습니다." -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "" +msgstr "TLS의 고급설정" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" -msgstr "" +msgstr "TLS 전송" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1048,111 +1111,135 @@ msgid "" "dedicated\n" "port, different one from each other\n" msgstr "" +"통화는 보안으로 보호되는 SIP 트랜잭션의 요구에 따라\n" +"TLS 전송은 UDP를 사용할 수 있습니다.\n" +"각각의 계정에서 TLS 전송을 확인합니다.\n" +"그러면 각각 전용 포트, 다른 한개에 수행할 수 있습니다.\n" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "글로벌 TLS를 수신기 (모든 계정)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" -msgstr "" +msgstr "인증 기관 목록" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" -msgstr "" +msgstr "CA 목록 파일 선택 (임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" -msgstr "" +msgstr "공공의 끝점 인증서 파일" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" -msgstr "" +msgstr "공공의 끝점 인증서 파일을 선택 (임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" -msgstr "" +msgstr "개인 키 파일 선택(임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" -msgstr "" +msgstr "개인키를 위한 암호" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" -msgstr "" +msgstr "TLS 프로토콜 방법" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" -msgstr "" +msgstr "TLS 암호화 목록" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "" +msgstr "TLS 연결 발신 서버 네임 인스턴스" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" -msgstr "" +msgstr "협상 시간 초과(초:밀리초)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "" +msgstr "서버에서 인증서 수신 확인" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "" +msgstr "클라이언트에서 응답 증명서 확인" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "" +msgstr "수신 tls 연결에 대한 인증 요청" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" -msgstr "" +msgstr "ZRTP 설정" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" -msgstr "" +msgstr "사용자에 SAS 확인 질문" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" -msgstr "" +msgstr "ZRTP을 지원하는지 여부 경고(_W)" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" -msgstr "" +msgstr "이벤트 관리를위한 SAS보기" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES 설정" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "RTP에 SDES 대체 실패" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" -msgstr "" +msgstr "전체 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "" +msgstr "검색 종류를 바꾸려면 여기를 누르십시오" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" -msgstr "" +msgstr "부재중 온 전화 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" -msgstr "" +msgstr "수신 통화 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" -msgstr "" +msgstr "발신 통화 검색" + +#~ msgid "_Voice Activity Detection" +#~ msgstr "음성 활성화 검색(_V)" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "노이즈 제거 (Narrow-Band Companding)(_N)" #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:, ,Launchpad Contributions:,Emmanuel Milou," #~ "Scion, ,Launchpad Contributions:,Emmanuel Milou,Scion, ,Launchpad " -#~ "Contributions:,Emmanuel Milou,Scion" +#~ "Contributions:,Emmanuel Milou,Scion, ,Launchpad Contributions:,Bundo," +#~ "Emmanuel Milou,Scion" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,emmanuel.milou@savoirfairelinux.com,,,,emmanuel." -#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com," +#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com,,,," +#~ "bundo@bundo.biz,emmanuel.milou@savoirfairelinux.com," diff --git a/lang/oc/oc.po b/lang/oc/oc.po new file mode 100644 index 0000000000000000000000000000000000000000..16dce26f07b511edf40f79afc3ba7c4ed1352dcf --- /dev/null +++ b/lang/oc/oc.po @@ -0,0 +1,1205 @@ +# Occitan (post 1500) translation for sflphone +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-21 19:31+0000\n" +"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n" +"Language-Team: Occitan (post 1500) <oc@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Enregistrat" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "Pas Enregistrat" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "En cors..." + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "Error" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Fracàs de l'autentificacion" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Ret inaccessibla" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "Òste inaccessible" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "Error de configuracion Stun" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "Servidor Stun invalid" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Prèst" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Invalid" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "Utiliza lo compte" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "Pas de compte enregistrat" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "Sonada dirècta SIP" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "Volètz quitar ?" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "Error SFLphone" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "Contunhar" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "Arrestar la sonada" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "Error d'autentificacion" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "Confirmar" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "%s account : %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "<i>De</i> %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "%d messatge vocal" +msgstr[1] "%d messatges vocals" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "Compte corrent" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" +"<i>Amb :</i> %s\n" +"using %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "<i>De :</i> %s" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLphone" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "Messatjariá Vocala" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "Quasernet d'adreças" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "A prepaus de SFLphone" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "Sonar" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "Efectuar una sonada novèla" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "Acabar la sonada" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "Metre en espèra" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "_Assistent de configuracion" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "Aviar l'assistent de configuracion" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "_Tampar" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "_Quitar" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "Quitar lo programa" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "_Editar" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "_Copiar" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "Copiar la seleccion" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "Em_pegar" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "Empegar lo contengut del quichapapièr" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "_Comptes" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "Modificar vòstres comptes" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "_Preferéncias" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "_Afichatge" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "_Ajuda" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "Ensenhador" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "Dobrir lo manual" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "A prepaus d'aquesta aplicacion" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "_Transferir" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "Transferir a :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "En_registrar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "_Istoric" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "Istoric de las sonadas" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "Editar lo numèro" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "Paramètres del Compte" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "_Aliàs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "P_rotocòl" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "Desconegut" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "_Servidor" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "Afichar lo senhal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "_Bóstia vocala #" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autentificacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "Secret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "Informacions" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "Nom d'autentificacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "Senhal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "Seguretat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "Desactivat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "Enregistrament" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "Expiracion d'enregistrament" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "Respectar RFC 3263" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "Interfàcia de ret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "Adreça locala" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "Pòrt local" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "Adreça de publicacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "Utilizar STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "URL del servidor STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "Pòrt de publicacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "Configuracion del compte" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "Basic" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "Avançat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Ret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "Protocòl" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "Estatut" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "Comptes" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "Comptes Configurats" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "%d compte actiu" +msgstr[1] "%d comptes actius" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "General" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "cartas" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "_Trabalh" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "_Dorsièr personal" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "Quasernets d'adreças" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "Nom" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "Aliàs" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "Servidor" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "Nom d'utilizaire" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "SRTP/ZRTP draft-zimmermann" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "Pas cap" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "Protocòls VoIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "IAX2 (InterAsterix Exchange)" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "Compte" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "Paramètres de compte SIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "Comunicacions securizadas amb _ZRTP" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "Paramètres de compte IAX2" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "Network Address Translation (NAT)" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "A_ctivar STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "S_ervidor STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "Enregistrament del compte" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "Òsca !" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "Frequéncia" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "Debit" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "Benda passanta" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "Sortida" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "Entrada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "Interfàcia Àudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "_Pulseaudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "_ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "Paramètres ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "Enregistraments" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "Dorsièr de destinacion" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "Seleccionar un dorsièr" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "Sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "_Activar las sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "Fichièrs àudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuracion del compte" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "Argument URL" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "Desenclavar en _IAX2" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "Notificacions de Burèu" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "_Activar las notificacions" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "Icòna de la barra d'estat sistèma" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "jorns" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "Preferéncias" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "Àudio" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "Quasernet d'adreças" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "Ancoratge" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Opcions avançadas TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "Transpòrt TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opcions de ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opcions SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "Clicatz aicí per modificar lo tipe de recèrca" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/pl/pl.po b/lang/pl/pl.po index 6d2a4515bef5e5fb3cb82c6f409335a53e3f7a4e..dc2d030d0efef859004109ea3fa1a546aa0d5d3f 100644 --- a/lang/pl/pl.po +++ b/lang/pl/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-11-04 12:08+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Mariusz Bednarz <mbednarz@bedmar.pl>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" @@ -16,60 +16,64 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Zarejestrowany" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nie zarejestrowany" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Próbuję ..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Błąd" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autoryzacja nie powiodła się" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Sieć niedostępna" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Wybrany host jest niedostępny" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Niepoprawny" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Używane konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Brak zarejestrowanych kont" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,21 +81,28 @@ msgstr "" "Nie można połączyć się z serwerem SFLphone.\n" "Upewnij się, że został uruchomiony daemon SFLphone" -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -100,7 +111,7 @@ msgstr "" "Informacja ALSA\n" "Błąd otwarcia urządzenia do odtwarzania dźwięku" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -109,7 +120,7 @@ msgstr "" "Informacja ALSA\n" "Błąd otwarcia urządzenia do przechwytywania" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -118,940 +129,971 @@ msgstr "" "Informacja Pulseaudio\n" "Pulseaudio nie zostało uruchomione" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d głosowa wiadomość" msgstr[1] "%d głosowych wiadomości" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" +msgid "%i active account" +msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d głosowa wiadomość" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Brak zarejestrowanych kont" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Sieć niedostępna" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -msgstr[2] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1060,98 +1102,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" @@ -1166,10 +1220,12 @@ msgstr "" #~ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil, ,Launchpad Contributions:," #~ "Maxime Chambreuil, ,Launchpad Contributions:,Maxime Chambreuil, ," -#~ "Launchpad Contributions:,Mariusz Bednarz,Maxime Chambreuil" +#~ "Launchpad Contributions:,Mariusz Bednarz,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Mariusz Bednarz,Maxime Chambreuil" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,maxime.chambreuil@gmail.com,,,maxime.chambreuil@gmail.com,,,maxime." -#~ "chambreuil@gmail.com,,,mbednarz@bedmar.pl,maxime.chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,mbednarz@bedmar.pl,maxime.chambreuil@gmail.com,,," +#~ "mbednarz@bedmar.pl,maxime.chambreuil@gmail.com" diff --git a/lang/pt/pt.po b/lang/pt/pt.po index ef406f9445d8e15fc11370bfebd328e752863004..949459ff96648a4eea4a602f50f185138d515768 100644 --- a/lang/pt/pt.po +++ b/lang/pt/pt.po @@ -7,1040 +7,1085 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticação Falhou" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "conta %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Desligar" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" +msgid "%i active account" +msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Desligar" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gravar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gravar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Marca_dor" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Nomear" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rede" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Emprego" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Livros de Endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Nome Alternativo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Utilizador" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de email opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de Dados" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Ficheiros Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone de Notificação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Livro de Endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1049,110 +1094,113 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de procura" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "SIP Port" -#~ msgstr "Porta SIP" - #~ msgid "Email address" #~ msgstr "Endereço de correiro electrónico" @@ -1162,6 +1210,9 @@ msgstr "" #~ msgid "Jérémy Quentin" #~ msgstr "Jérémy Quentin" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "Incoming call" #~ msgstr "Chamada recebida" @@ -1195,9 +1246,6 @@ msgstr "" #~ msgid "Apply" #~ msgstr "Aplicar" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "ALSA" #~ msgstr "ALSA" @@ -1228,6 +1276,9 @@ msgstr "" #~ msgid "Work" #~ msgstr "Trabalho" +#~ msgid "SIP Port" +#~ msgstr "Porta SIP" + #~ msgid "Advanced Settings" #~ msgstr "Configurações Avançadas" @@ -1240,10 +1291,11 @@ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil, ,Launchpad Contributions:," #~ "Maxime Chambreuil,Tiago Silva, ,Launchpad Contributions:,Maxime " #~ "Chambreuil,Tiago Silva, ,Launchpad Contributions:,Maxime Chambreuil,Tiago " -#~ "Silva" +#~ "Silva, ,Launchpad Contributions:,Maxime Chambreuil,Tiago" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,maxime.chambreuil@gmail.com,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com," +#~ "chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,,,,maxime." +#~ "chambreuil@gmail.com," diff --git a/lang/pt_BR/pt_BR.po b/lang/pt_BR/pt_BR.po index 0a5429e6c0323561c75343ee5b5b977440bb1ae2..42a553a175d85f07feb573e84d017da5d38c1928 100644 --- a/lang/pt_BR/pt_BR.po +++ b/lang/pt_BR/pt_BR.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: kalib <kalibslack@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-02 08:31+0000\n" +"Last-Translator: Gustavo Guidorizzi <Unknown>\n" "Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Tentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "A autenticação falhou" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Servidor stun inválido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Pronto" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilizando conta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Sem contas registradas" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Incapaz de conectar ao servidor SFLphone.\n" "Tenha certeza de que o daemon está rodando." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Ligações IP diretas" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erro: Não foram encontrados codecs de áudio.\n" -"\n" -"</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</i> " -"ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoje às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ontem às %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x às %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de reprodução" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "Pulseaudio não está rodando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Existe uma ligação em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Existem ligações em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Você ainda deseja sair?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erro no SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP não é suportado pelo peer %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicação Segura Indisponível" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Finalizar Chamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -169,11 +176,11 @@ msgstr "" "Um erro %s forçou a ligação com %s a mudar para um modo não encriptado.\n" "Motivo exato: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Negociação ZRTP falhou" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -182,50 +189,50 @@ msgstr "" "%s deseja finalizar a utilização de comunicação segura. A confirmação irá " "retomar sem SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar Vá Limpar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s conta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensagem de voz" msgstr[1] "%d mensagens de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Ligando com %s conta <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Você não tem contas configuradas" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Você não tem contas registradas" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -234,520 +241,554 @@ msgstr "" "<i>Com:</i>%s \n" "utilisando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s não suporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Negociação ZRTP falhou com %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Com:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume dos auto-falantes" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume do microfone" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Apresentar janela principal" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Desligar" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i conta configurada" -msgstr[1] "%i contas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i conta ativa" +msgstr[1] "%i contas ativas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone é um cliente VoIP compatível com os protocolos SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Sobre o SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nova ligação" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Faz uma nova chamada" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Atender" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Responder a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Desligar" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Terminar a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Colocar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gravar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Encerrar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Arquivo de Configuração" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensagem de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Fechar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar para a bandeja do sistema" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Sair" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Sair do programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta selecionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Colar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Colar o conteúdo da Área de Transferência" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Limpar _histórico" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpar histórico" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Altera as suas preferências" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Exibir" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Continuar" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir o manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transfirir para: " +msgstr "Transfirir para:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gravar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Gravar a conversação atual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Exibir barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostra a barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controle de Volumes" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Exibir controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Ligar de volta" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de telefone" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Edite o número de telefone antes de fazer uma ligação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parâmetros de conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Apelido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nome do host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Nome do usuário" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Senha da caixa postal de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Segredo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Credencial" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nome de autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Segurança" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Use transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Troca de chave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registro" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registro expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_De acordo com RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Endereço local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Porta local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Endereço publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utilizando STUN " +msgstr "Utilizando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL do servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual aos parâmetros locais" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Indique endereço e portas publicadas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Porta publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rede" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil é utilizado quando você deseja alcançar um ponto remoto " +"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " +"configurações que você definir aqui também serão utilizadas se nenhuma conta " +"puder ser combinada a uma chamada de entrada ou de saída." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor retornou \"" +msgstr "O Servidor retornou \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Contas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " conta ativa" -msgstr[1] " conta ativa" +msgstr[0] "conta ativa" +msgstr[1] "conta ativa" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Você não possui uma conta ativa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Use o catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de download :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Apresentar foto de contato caso disponível" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campos do catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Trabalho" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Casa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Celular" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Catálogos de endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selecione qual catálogo de endereços do Evolution deseja utilizar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Este assistente está finalizado." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -755,320 +796,325 @@ msgstr "" "Você pode a qualquer momento checar seu estado de registro ou modificar seus " "parâmetros de conta na janela Opções/Contas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Apelido" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome de usuário" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Segurança: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP rascunho-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nenhum" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistente de criação de contas do SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bem vindo ao assistente de criação de contas do SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este assistente de instalação irá lhe ajudar a configurar uma conta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selecione um tipo de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, selecione uma das seguintes opções" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Criar uma conta gratuita SIP/IAX2 em sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar uma conta SIP ou IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configurações de conta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, preencha as informações a seguir" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicações seguras com _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de e-mail opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Este endereço de email será utilizado para enviar as mensagens de voz em sua " "caixa postal." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_endereço de email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configurações de conta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Você provavelmente precise habilitar isto se estiver por trás de um firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Ha_bilitar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de bits" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detecção de atividade de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringtones" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Redução de ruído (Utilização de banda-estreita)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gerenciador de Som" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configurações do ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Selecione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Escolha um ringtone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Arquivos de Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento da URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos padrões de ligações recebidas com URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s será substituído pela URL fornecida." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Gancho em um cabeçalho _SIP específico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Gancho em uma URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando a _executar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescrevendo número do telefone" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefixo de números discados com" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil é utilizado quando você deseja alcançar um ponto remoto " -"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " -"configurações que você definir aqui também serão utilizadas se nenhuma conta " -"puder ser combinada a uma chamada de entrada ou de saída." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificações de Desktop" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Habilitar notificações" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone da bandeja do sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup na janela principal ao receber ligação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Nu_nca apresentar popup na janela principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder o SFLphone na _inicialização" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Manter meu histórico por pelo ao menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ganchos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Ligações IP diretas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Atalhos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenha cuidado: estes atalhos podem predominar sobre atalhos definidos " +"globalmente." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opções avançadas para o TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1083,143 +1129,125 @@ msgstr "" "funcionar em uma\n" "porta dedicada, uma diferente da outra\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Certificado da lista de Autoridades" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escolha um arquivo de lista CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Arquivo certificado endpoint público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escolha um certificado endpoint público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escolha um arquivo de chave privada (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Senha para a chave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método do protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifras TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instância de nome do servidor para saída da conexão TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Tempo de negociação expirado (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Verificar os certificados de entrada, como um servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Verificar certificados de resposta, como um cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requer certificado para conexões tls entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opções ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar um Hash Olá no S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Pergunta ao Usuário para Confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Alerta se o ZRTP não é suportado" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Apresenta o SAS uma vez para realizar eventos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opções do SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de pesquisa" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar por ligações perdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar por ligações recebidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar por ligações feitas" -#~ msgid "IP call - %s" -#~ msgstr "Ligação IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Ali " - -#~ msgid "is " -#~ msgstr "está " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detecção de atividade de voz" -#~ msgid "are " -#~ msgstr "estão " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Silenciar outras aplicações durante uma ligação" - -#~ msgid "SIP Port" -#~ msgstr "Porta SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Habilitar _notificações de correio de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Armazenar as credenciais SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Redução de ruído (Utilização de banda-estreita)" #~ msgid "Stun Server" #~ msgstr "Servidor STUN" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1247,9 +1275,6 @@ msgstr "Buscar por ligações feitas" #~ msgid "Apply" #~ msgstr "Aplicar" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Add" #~ msgstr "Adicionar" @@ -1274,6 +1299,9 @@ msgstr "Buscar por ligações feitas" #~ msgid "Enable notifications" #~ msgstr "Habilitar notificações" +#~ msgid "SIP Port" +#~ msgstr "Porta SIP" + #~ msgid "NAT Traversal" #~ msgstr "NAT Traversal" @@ -1458,6 +1486,20 @@ msgstr "Buscar por ligações feitas" #~ msgid "Prefix dialed numbers with" #~ msgstr "Números discado com o prefixo" +#~ msgid "IP call - %s" +#~ msgstr "Ligação IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erro: Não foram encontrados codecs de áudio.\n" +#~ "\n" +#~ "</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</" +#~ "i> ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistante de criação de conta" @@ -1482,19 +1524,58 @@ msgstr "Buscar por ligações feitas" #~ "Pressionando \"aplicar\" a camada de rede será reiniciada. De outra forma " #~ "o SFKPhone teria que ser reiniciado." +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Habilitar _notificações de correio de voz" + #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de som PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Silenciar outras aplicações durante uma ligação" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i conta configurada" +#~ msgstr[1] "%i contas configuradas" + +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "There " +#~ msgstr "Ali " + +#~ msgid "are " +#~ msgstr "estão " + +#~ msgid "is " +#~ msgstr "está " + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Armazenar as credenciais SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Ligações IP diretas" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil,kalib, ,Launchpad " #~ "Contributions:,Maxime Chambreuil,kalib, ,Launchpad Contributions:,Maxime " -#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib" +#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib, ," +#~ "Launchpad Contributions:,André Gondim,Gustavo Guidorizzi,Maxime " +#~ "Chambreuil,Ricardo Martins,Thaynã Moretti,kalib" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,,maxime." #~ "chambreuil@gmail.com,kalibslack@gmail.com,,,maxime.chambreuil@gmail.com," -#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com" +#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,," +#~ "andregondim@ubuntu.com,,maxime.chambreuil@gmail.com,ricardo.macedo@yahoo." +#~ "com.br,,kalibslack@gmail.com" diff --git a/lang/ru/ru.po b/lang/ru/ru.po index 14b3aa5dd8b52a0d5e0d4baafc1ee6278b5fe18f..ddb79013273d8850c7265b9bb4f3169a6fc0c2b4 100644 --- a/lang/ru/ru.po +++ b/lang/ru/ru.po @@ -7,114 +7,122 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-12-08 20:46+0000\n" -"Last-Translator: Hussein Abdallah <hussein.abdallah@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-11 07:48+0000\n" +"Last-Translator: DMG <Unknown>\n" "Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: \n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Не зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." -msgstr "Подключение..." +msgstr "Пытаюсь..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Ошибка" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Аутентификация не удалась" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Сеть недоступна" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "Узел сети недоступен" +msgstr "Узел недоступен" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Ошибка конфигурации Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Неверный сервер Stun" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Готово" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Ошибка" +msgstr "Неверный" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" -msgstr "Используется учетная запись" +msgstr "Использовать аккаунт" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" "Невозможно подключиться к SFLphone-серверу.\n" -"Проверьте если демон работает." +"Убедитесь что он работает." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Прямые IP-звонки" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Ошибка: звуковые кодеки не найдены.\n" -"\n" -"</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>.sflphone</" -"b> каталоге в вашем домашнем каталоге( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "сегодня в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "вчера в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A в %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x в %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства проигрывания" +"Ошибка при попытке открытия устройства воспроизведения звука" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства входа" +"Ошибка при попытке открытия устройства захвата звука" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -122,86 +130,87 @@ msgid "" msgstr "" "<b>Предупреждение Pulseaudio</b>\n" "\n" -"Pulseaudio не работает" +"Pulseaudio не запущен" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "Один текущий разговор." +msgstr "Звонок ещё не окончен." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." -msgstr "Несколько текущих разговоров." +msgstr "Несколько звонков ещё не окончены." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Вы уверенны что хотите выйти?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Ошибка SFLphone." -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP не поддерживается устройством %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" -msgstr "Зашифрованная связь недоступна" +msgstr "Зашифрованная связь недоступна." -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Продолжить" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Из-за ошибки %s переговор с %s перейдëт в не зашифрованный режим.\n" +"Из-за возникновения ошибки %s разговор с %s перейдëт в не зашифрованный " +"режим.\n" "Точная причина: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Неудачный обмен информации ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -"%s хочет остановить зашифрованную связь. В случае подтверждения переговор " -"продолжится без SRTP.\n" +"%s хочет отказаться от использования зашифрованной связи. В случае " +"подтверждения разговор продолжится без SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Подтвердить переход на незашифрованную связь" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Подтвердить" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s аккаунт: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>От:</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" @@ -209,866 +218,906 @@ msgstr[0] "%d голосовое письмо" msgstr[1] "%d голосовые письма" msgstr[2] "%d голосовые письма" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" -msgstr "Звонок с учëтной записью %s <i>%s</i>" +msgstr "Вызов %s с помощью аккаунта <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" -msgstr "Нынешняя учëтная запись" +msgstr "Текущий аккаунт" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Вы не настроили ни одной учëтной записи" +msgstr "У вас нет настроенных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" -msgstr "У вас нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -"<i>с</i> %s\n" +"<i>с:</i> %s\n" "используя %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s не поддерживает ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Обмен информации ZRTP не удался (%s)" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>с</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Громкость" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" -msgstr "Громкость микрофона" +msgstr "Чувствительность микрофона" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Показать главное окно" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Положить трубку" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "Настроена одна учëтная запись" -msgstr[1] "Настроены %i учëтные записи" -msgstr[2] "Настроены %i учëтные записи" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i активный аккаунт" +msgstr[1] "%i активных аккаунтов" +msgstr[2] "%i active accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" -msgstr "Автоответчик" +msgstr "Голосовая почта" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Нет выбранных адресных книг" +msgstr "Адресная книга не выбрана" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" -msgstr "Автоответчик (%i)" +msgstr "Голосовая почта (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone - SIP и IAX2-совместимый VoIP-клиент" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "О SFLphone" +msgstr "О программе SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Звонок" +msgstr "_Вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" -msgstr "_Новый звонок" +msgstr "_Новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "Позвонить" +msgstr "Сделать новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Взять трубку" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "Ответить" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Положить трубку" +msgstr "Ответить на вызов" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "Удержать звонок" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "_Возобновить разговор" +msgstr "_Снять вызов с удержания" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "Возобновить разговор" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Записать" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Записать переговор" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Запустить мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" -msgstr "%d голосовое письмо" +msgstr "Прослушивание голосовой почты" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Закрыть" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "Уменьшить в значок" +msgstr "Свернуть в трей" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Правка" +msgstr "В_ыход" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Выйти из программы" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Правка" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Копировать" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "Копировать видимое" +msgstr "Копировать выделенное" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "_Вставить" +msgstr "В_ставить" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Вставить из буфера обмена" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" -msgstr "_Стереть журнал" +msgstr "Очистить журнал" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" -msgstr "Очистить историю" +msgstr "Очистить журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" -msgstr "_Учëтные записи" +msgstr "_Аккаунты" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" -msgstr "Изменить ваши учëтные записи" +msgstr "Нстройка аккаунта" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "_Предпочтения" +msgstr "_Настройки" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "Изменить ваши предпочтении" +msgstr "Изменить ваши настройки" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Вид" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Помощь" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" -msgstr "Продолжить" +msgstr "Содержание" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "Открыть справочник " +msgstr "Открыть руководство пользователя" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" -msgstr "Идентификация" +msgstr "О программе" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресация вызова" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресовать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Запись" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Записать текущий разговор" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "Показать панель инструментов" +msgstr "Показать _панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "Показать панель инструментов" +msgstr "Показывать панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Панель набора номера" +msgstr "_Номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "Показать панель набора номера" +msgstr "Показывать _номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "_Настройки громкости" +msgstr "Настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "_Настройки громкости" +msgstr "Показывать настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" -msgstr "Журнал" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" -msgstr "Журнал звонков" +msgstr "История вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать звонок" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" -msgstr "_Перезвонить" +msgstr "Обратный вызов" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" -msgstr "Мобильный телефон" +msgstr "Изменить номер телефона" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" -msgstr "Изменить номер телефона перед звонком" +msgstr "Изменить номер телефона перед вызовом" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Параметры учетной записи" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Псевдоним" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "Пр_отокол" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Неизвестный" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Имя или IP-адрес _сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" -msgstr "Имя или _номер пользователя" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Па_роль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Показать пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" -msgstr "Номер _автоответчика #" +msgstr "Номер _голосовой почты" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_Агент-пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" -msgstr "Идентификация" +msgstr "Аутентификация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" -msgstr "Секретный" +msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Параметры доступа" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Имя для аутентификации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Безопасность" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" -msgstr "Использовать TLS-транспорт (sips)" +msgstr "Использовать протокол TLS" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" -msgstr "Обмена ключей SRTP" +msgstr "Обмен ключами SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Отключен" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Регистрация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "Срок истечения регистрации" +msgstr "Истек срок регистрации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Соотвествует RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" -msgstr "Сетевые настройки" +msgstr "Сетевой интерфейс" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Локальный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Локальный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "Сетевые настройки для Интернета" +msgstr "Публичный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Использует STUN " +msgstr "Использовать STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL STUN-сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Использовать локальный адрес и порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" -msgstr "Настроить видимый адрес и порт :" +msgstr "Настроить публичный адрес и порт:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Публичный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Кодеки" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" -msgstr "Настройки учëтной записи" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Основные" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Дополнительные" +msgstr "Дополнительно" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Сеть" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Эти настройки используется, когда вы хотите совершить вызов просто набрав " +"SIP URI-адрес вида <b>sip:удалëнное устройство</b>. Эти настройки так-же " +"будут использованы если не будет подходящего аккаунта для входящего или " +"исходящего вызова." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Сервер ответил \"" +msgstr "Ответ сервера \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Протокол" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Статус" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" -msgstr "Учётные записи" +msgstr "Аккаунты" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" -msgstr "Настроенные учëтные записи" +msgstr "Настройка аккаунтов" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] "Одна действующая учëтная запись" -msgstr[1] "%d действующих учëтных записей" -msgstr[2] "%d действующих учëтных записей" +msgstr[0] "%d активный аккаунт" +msgstr[1] "%d активных аккаунтов" +msgstr[2] "действующий аккаунт" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" -msgstr "У вас нет активной учëтной записи" +msgstr "У вас нет активного аккаунта" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Общие настройки" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Использовать адресную книгу Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" -msgstr "Показывать не более " +msgstr "Ограничение скорости скачивания:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "карточек" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Показать фотографию контакта (если имеется):" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" -msgstr "Исполоьзовать следующие номера из адресной книги Evolution" +msgstr "Использовать следующие поля из адресной книги Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Рабочий" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Домашний" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Мобильный" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Выбрать адресную книгу Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Имя" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Мастер закончил настройку." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" "Вы можете в любое время проверить статус регистрации или изменить параметры " -"ваших учëтных записей в меню Правка / Учëтные записи" +"ваших аккаунтов в меню Правка / Аккаунты." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Псевдоним" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" -msgstr "Пользователь" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " -msgstr "Безопасность:" +msgstr "Безопасность " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Нет" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" -msgstr "Мастер настройки SFLphone" +msgstr "Мастер создания аккаунта SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "Добро пожаловать в SFLphone!" +msgstr "Добро пожаловать в мастер создания аккаунта SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." -msgstr "Этот мастер установки поможет вам настроить вашу учëтную запись" +msgstr "Этот мастер установки поможет вам настроить ваш аккаунт." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP-протоколы" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" -msgstr "Выберите тип учëтной записи" +msgstr "Выберите тип аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" -msgstr "Учëтная запись" +msgstr "Аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" -msgstr "Введите пожалуйста следующие данные" +msgstr "Выберите одну из следующих возможностей" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" -msgstr "Создать бесплатную SIP/IAX2-учëтную запись на sflphone.org" +msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" -msgstr "Зарегистрировать существующею SIP или IAX2 учëтную запись" +msgstr "Использовать существующий SIP или IAX2 аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" -msgstr "Настройка учëтной записи SIP" +msgstr "Настройка SIP-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Введите пожалуйста следующие данные" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Защищëнная связь с _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" -msgstr "Электронный адрес (необязательный)" +msgstr "e-mail" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." -msgstr "Этот электронный адрес будет использоваться для речевых сообщений" +msgstr "" +"Этот электронный адрес будет использоваться для отправки сообщений голосовой " +"почты" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Адрес эл. почты" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" -msgstr "Настройка учëтной записи IAX2" +msgstr "Настройка IAX2-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." -msgstr "Вы наверное должны это включить если вы находитесь за сетевым экраном." +msgstr "" +"Возможно нужно выбрать эту опцию если вы находитесь за сетевым экраном." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Включить STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN-сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" -msgstr "Регистрация учëтной записи" +msgstr "Регистрация аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Поздравляем!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Частота" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Битрейт" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" -msgstr "Пропускная способность" +msgstr "Полоса пропускания" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA-плагин" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" -msgstr "Выход" +msgstr "Аудиовыход" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" -msgstr "Вход" +msgstr "Аудиовход" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Включить детектор тишины" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Шумоподавление" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Менеджер звука" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Настройка ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Кодеки" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Записи" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" -msgstr "Папка назначения" +msgstr "Сохранять в" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" -msgstr "Выберите папку" +msgstr "Выберите каталог" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" -msgstr "Звонки" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" -msgstr "Включить звонок" +msgstr "Включить рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Выберите звонок" +msgstr "Выберать рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" -msgstr "Звуковые файлы" +msgstr "Аудио файлы" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Передача URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" -msgstr "Пользовательские команды при входящих вызовах с URL" +msgstr "Пользовательская команда при входящих вызовах с URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s будет заменена на переданную URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Запустить при определëнном SIP-заголовке" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Запустить при наличии URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Выполнить команду:" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" -msgstr "Переписка номера телефона" +msgstr "Префикс" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" -msgstr "Добавить перед на набранными номерами" +msgstr "Добавить префикс перед номером" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Этот профиль используется когда вы хотите достичь удалëнное устройство " -"просто набрав SIP URI (адрес) типа <b>sip:удалëнное устройство</b>. Эти " -"настройки так-же будут использованы если не будет подходящего аккаунта для " -"входящего или выходящего звонка." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" -msgstr "Извещения на рабочем столе" +msgstr "Всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" -msgstr "Включить звонок" +msgstr "Показывать всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" -msgstr "Поведение окна SFLPhone" +msgstr "Значок в системном трее" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Показывать SFLphone в системном трее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" -msgstr "_Показать главное окно при входящем звонке" +msgstr "_Показать главное окно при входящем вызове" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" -msgstr "Никогда не показывать главное окно" +msgstr "_Никогда не показывать главное окно" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" -msgstr "Спрятать окно SFLphone при пуске" +msgstr "Скрывать SFLphone при запуске в трей" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" -msgstr "Журнал звонков" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" -msgstr "Со_хранить мой журнал звонков как минимум в течении" +msgstr "_Хранить журнал вызовов в течении" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "дней" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" -msgstr "Предпочтения" +msgstr "Настройка" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" -msgstr "Звук" +msgstr "Аудио" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" -msgstr "Зацепки" +msgstr "Прочее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Прямые IP-звонки" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Горячие клавиши" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "ВНИМАНИЕ: эти комбинации могут заменить системные комбинации клавиш" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Дополнительные опции для TLS" +msgstr "Дополнительные настройки для TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Транспорт TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1081,139 +1130,118 @@ msgstr "" "каждого аккаунта (но каждый из них будет использовать свой выделенный " "порт).\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Global TLS listener (для всех аккаунтов)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" -msgstr "Список центра сертификации" +msgstr "Список центров сертификации" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" -msgstr "Выберите файл Центра сертификации (необязательный)" +msgstr "Выберите файл Центра сертификации (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Файл с публичным сертификатом" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" -msgstr "Выберите публичный сертификат (необязательный)" +msgstr "Выберите публичный сертификат (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" -msgstr "Выберите файл с секретным ключом (необязательно)" +msgstr "Выберите файл с приватным ключом (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" -msgstr "Пароль для секретного ключа" +msgstr "Пароль для приватного ключа" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Метод протокола TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Список шифров TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Имя сервера для выходящих TLS-подключений." +msgstr "Имя сервера для исходящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Время ожидания соединения (сек:мсек)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "Проверять входящие сертификаты (в качестве сервера)" +msgstr "Проверять входящие сертификаты как сервер" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "Проверять входящие сертификаты (в качестве клиента)" +msgstr "Проверять входящие сертификаты как клиент" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Требовать сертификат для входящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Опции ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Послать hello-хэш в S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Попросить пользователя подтвердить пароль SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Предупредить если ZRTP не пддерживается" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Показать SAS один раз" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Настройка SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Использовать RTP при сбое SDES" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Искать все" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Нажмите, чтобы изменить тип поиска" +msgstr "Нажмите сюда, чтобы изменить тип поиска" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" -msgstr "Поиск по пропущенным вызовам" +msgstr "Поиск в пропущенных вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" -msgstr "Поиск по входящим вызовам" +msgstr "Поиск в входящих вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" -msgstr "Поиск по исходящим вызовам" - -#~ msgid "IP call - %s" -#~ msgstr "IP звонок - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Сеть" - -#~ msgid "Manually" -#~ msgstr "Вручную" +msgstr "Поиск в исходящих вызовах" -#~ msgid "There " -#~ msgstr "Здесь " - -#~ msgid "is " -#~ msgstr "Зарегестрирован " - -#~ msgid "are " -#~ msgstr "Зарегестрированны " - -#~ msgid "s" -#~ msgstr "a" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Детектор тишины (VAD)" -#~ msgid "_Mute other applications during a call" -#~ msgstr "Приглушать звук других програм во время звонка" - -#~ msgid "SIP Port" -#~ msgstr "SIP-порт" - -#~ msgid "UDP Transport" -#~ msgstr "Транспорт UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Включить предупреждения о речевых сообщениях" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Шумоподавление" #~ msgid "Account creation wizard" #~ msgstr "Мастер настройки SFLphone" @@ -1221,6 +1249,9 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Voicemail number" #~ msgstr "Номер автоответчика #" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "Display volume controls" #~ msgstr "_Настройки громкости" @@ -1266,21 +1297,44 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Sound manager" #~ msgstr "Менеджер звука" +#~ msgid "SIP Port" +#~ msgstr "SIP-порт" + #~ msgid "Command to run" #~ msgstr "Выполнить команду:" #~ msgid "Prefix dialed numbers with" #~ msgstr "Добавить перед на набранными номерами" +#~ msgid "IP call - %s" +#~ msgstr "IP звонок - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Ошибка: звуковые кодеки не найдены.\n" +#~ "\n" +#~ "</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>." +#~ "sflphone</b> каталоге в вашем домашнем каталоге( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "Мастер настройки SFLphone" #~ msgid "_Enable this account" #~ msgstr "_Включить" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Включить предупреждения о речевых сообщениях" + #~ msgid "PulseAudio sound server" #~ msgstr "Сервер звука PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Приглушать звук других програм во время звонка" + #~ msgid "Port" #~ msgstr "Порт" @@ -1444,9 +1498,6 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1456,6 +1507,27 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Enable notifications" #~ msgstr "Включить уведомления" +#~ msgid "Manually" +#~ msgstr "Вручную" + +#~ msgid "UDP Transport" +#~ msgstr "Транспорт UDP" + +#~ msgid "There " +#~ msgstr "Здесь " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." + +#~ msgid "s" +#~ msgstr "a" + +#~ msgid "are " +#~ msgstr "Зарегестрированны " + +#~ msgid "is " +#~ msgstr "Зарегестрирован " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" @@ -1464,11 +1536,14 @@ msgstr "Поиск по исходящим вызовам" #~ "Sergei Sedov, ,Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah," #~ "Hussein Abdallah,Maxime Chambreuil,Pavlo Kucheriavyi,Sergei Sedov, ," #~ "Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," -#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" +#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov, ,Launchpad " +#~ "Contributions:,DMG,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," +#~ "Lortonix,Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,,emmanuel.milou@savoirfairelinux.com,,maxime.chambreuil@gmail.com,,,,," #~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,," -#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,," +#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,,," +#~ "emmanuel.milou@savoirfairelinux.com,,,,maxime.chambreuil@gmail.com,," diff --git a/lang/sflphone.pot b/lang/sflphone.pot index 8fd477d58564f569288946c0cc0852a4611ef0b6..6238be246f3ec52d0b6861c43a0ea1c857891bb2 100644 --- a/lang/sflphone.pot +++ b/lang/sflphone.pot @@ -1,1046 +1,1089 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# SFLphone translation template +# Copyright (C) Savoir-faire Linux 2005 2006 2007 2008 2009 2010 +# This file is distributed under the same license as the sflphone package. +# Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>. # -#, fuzzy + msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 14:00\n" +"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"Language-Team: SFLphone Team <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" +msgid "%i active account" +msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1049,97 +1092,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/sv/sv.po b/lang/sv/sv.po new file mode 100644 index 0000000000000000000000000000000000000000..92791abe549fa188ec3c7e69b6442d2faf29adee --- /dev/null +++ b/lang/sv/sv.po @@ -0,0 +1,1203 @@ +# Swedish translation for sflphone +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-12 13:20+0000\n" +"Last-Translator: Gabriel Thörnblad <Unknown>\n" +"Language-Team: Swedish <sv@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Registrerad" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "Ej registrerad" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Autentisering misslyckades" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Nätverket kan inte nås" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "Fel i STUN -konfigurering" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "STUN-server ej giltig" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Redo" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Ogiltigt" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "Använder konto" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "Inga registrerade konton" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" +"Kan inte ansluta till SFLphone-servern.\n" +"Se till att daemonen är igång." + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "idag klockan %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "igår klockan %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/tr/tr.po b/lang/tr/tr.po new file mode 100644 index 0000000000000000000000000000000000000000..f2f576438b9e8e7773ecfbf661ce6ba817d1dcf1 --- /dev/null +++ b/lang/tr/tr.po @@ -0,0 +1,1202 @@ +# Turkish translation for sflphone +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-30 08:56+0000\n" +"Last-Translator: zeugma <Unknown>\n" +"Language-Team: Turkish <tr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Kayıtlı" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "Hata" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Kimlik Doğrulama Başarısız" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Ağ erişilemez durumda" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Geçersiz" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "Devam et" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "Onayla" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLphone" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "Sesli mesaj" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "Adres Defteri" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "Çağrı" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "_Yeni çağrı" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "Aramayı sonlandır" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "Yapılandırma sihirbazını çalıştır" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "_Kapat" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "Sistem çubuğuna küçült" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "_Çık" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "Programdan çık" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "_Düzenle" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "_Kopyala" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "_Yapıştır" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "_Hesaplar" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "Hesaplarınızı düzenleyin" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "_Tercihler" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "Tercihlerinizi değiştirin" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "_Göster" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "_Yardım" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "İçerikler" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "Bu uygulama hakkında" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "_Transfer" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Kayıt" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "Araç çubuğunu göster" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "_Geçmiş" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "Arama geçmişi" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "_Adres defteri" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "Bilinmiyor" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "_Kullanıcı adı" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "_Parola" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "Parolayı göster" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Kimlik Doğrulama" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "Gizli" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "Parola" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "Güvenlik" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "Ağ Arayüzü" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "Yerel adres" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "Yerel port" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Çözücüler" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "Hesap ayarları" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "Basit" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "Gelişmiş" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "İletişim Kuralları" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "Durum" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "Hesaplar" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "Genel" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "_İş" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "_Başlangıç" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "_Hareketli" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "Adres Defterleri" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "İsim" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "Rumuz" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "Sunucu" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "Kullanıcı adı" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "Hiçbiri" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "Hesap" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "isteğe bağlı e-posta adresi" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "_E-Posta adresi" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "Tebrikler!" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "Frekans" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "Veri akış hızı" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "Band Genişliği" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "Çıkış" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "Giriş" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "Kayıtlar" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "Bir klasör seç" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "Ses Dosyaları" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Hesap ayarları" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "Sistem Tepsisi Simgesi" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "gün" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "Tercihler" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "Ses" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "Adres Defteri" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "Arama türünü değiştirmek için buraya tıklayın" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/zh_CN/zh_CN.po b/lang/zh_CN/zh_CN.po index bfc3429d51dec35ea9728985f2d0967e8ad86bd1..d2df50e47aeea11bd0d72b693039d1efb8078619 100644 --- a/lang/zh_CN/zh_CN.po +++ b/lang/zh_CN/zh_CN.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-02-28 01:32+0000\n" +"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已注册" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未注册" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在连接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "注册失败" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "认证失败" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "服务器连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun服务器无效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "无效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用账户" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "没有已注册帐户" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "连接SFLphone服务器失败.\n" "请检查daemon是否还在运行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>错误:无法找到codecs编码文件.\n" -"\n" -"</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." -"sflphone</b>目录下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打开回放设备时出错" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打开采集设备时出错" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未运行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一个电话正在处理" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有电话正在处理中" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "确认要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone出错" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "安全通信不可用" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "继续" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "停止呼叫" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "确认" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帐户: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>拨入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 个语音信息" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帐户<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你没有设置任何账户" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未发现已注册帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s 不支持 ZRTP。" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "扬声器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "话筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "显示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "挂断(_H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i个账户" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "语音信箱" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "语音信箱 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一个VoIP客户端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "关于SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "电话(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新电话(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "接听(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "挂断(_H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通话" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "录音(_R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 个语音信息" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "编辑(_E)" +msgstr "退出(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "编辑(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "删除所选账户" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空历史记录(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空历史记录" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "账户(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "首选项" +msgstr "首选项(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "更改您的首选项" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "帮助(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "继续" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "身份验证" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "转接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "转给: " +msgstr "转给:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "录音(_R)" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "禁用" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "历史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫记录" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "编辑电话号码" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "拨出电话前编辑电话号码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帐户相关参数" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "别名(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "协议(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "用户名(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密码(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "语音信箱号码(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "身份验证" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "安全" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "禁用" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "注册" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs编码" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帐户设置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "网络" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "协议" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "状态" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下载上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可行则显示联系人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "单位电话(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭电话(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移动电话(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "选择使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名称" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以随时在 选项/帐户 窗口中查看注册状态或者修改帐户参数." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "别名" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "服务器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "用户名" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone账户创建向导" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "欢迎使用SFLphone帐户创建向导!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安装向导将帮助您配置帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP协议" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "选择帐户类型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(会话初始化协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk内部交换协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "请选择以下选项中的一个" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上创建免费的SIP/IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "注册已存在的SIP或IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "请填写以下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可选邮件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "这个邮件地址将被用来发送您的语音邮箱消息" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "邮件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用网络使用防火墙,你很有可能需要设定此项." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "使用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN服务器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帐户注册" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "频率" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "带宽" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "输出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "输入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "声音状态检测(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "铃声" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪处理-窄频压缩(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "音频管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA设置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs编码" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "记录" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目标文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "选择文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "启用铃声(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "选择铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音频文件" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帐户设置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL参数" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制对带有URL的来电的处理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "传输的URL会被替换成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP头(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "运行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重设电话号码" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "号码前缀(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "启用提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系统托盘图标" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "来电时弹出主窗口(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "从不弹出主窗口(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在启动时隐藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "拨号历史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "首选项" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "钩键" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,118 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查询所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "请点击此处改变查询方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "从未接电话中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "从来电中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "从拨出电话中查询" -#~ msgid "IP call - %s" -#~ msgstr "IP 电话 - %s" - -#~ msgid "Codec" -#~ msgstr "编码" - -#~ msgid "Network" -#~ msgstr "网络" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "当有来电时静音其它应用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口号" +#~ msgid "_Voice Activity Detection" +#~ msgstr "声音状态检测(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "启用语音邮箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪处理-窄频压缩(N)" #~ msgid "Account creation wizard" #~ msgstr "帐户创建向导" @@ -1195,6 +1240,9 @@ msgstr "从拨出电话中查询" #~ msgid "Default account" #~ msgstr "默认帐户" +#~ msgid "Codec" +#~ msgstr "编码" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客户端" @@ -1312,9 +1360,6 @@ msgstr "从拨出电话中查询" #~ msgid "Apply" #~ msgstr "应用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1381,6 +1426,9 @@ msgstr "从拨出电话中查询" #~ msgid "On start" #~ msgstr "正在启动" +#~ msgid "SIP Port" +#~ msgstr "SIP端口号" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP头" @@ -1396,12 +1444,36 @@ msgstr "从拨出电话中查询" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:结果超过可显示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP 电话 - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>错误:无法找到codecs编码文件.\n" +#~ "\n" +#~ "</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." +#~ "sflphone</b>目录下" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i个账户" + #~ msgid "_Enable this account" #~ msgstr "启用该账户(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "启用语音邮箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio服务器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "当有来电时静音其它应用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1678,9 +1750,6 @@ msgstr "从拨出电话中查询" #~ msgid "%s account- %s" #~ msgstr "%s 帐户- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目标文件夹(D)" @@ -1702,7 +1771,8 @@ msgstr "从拨出电话中查询" #~ "Yun Liu, ,Launchpad Contributions:,Aron Xu,Yun Liu, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,rainofchaos, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,冯超, ,Launchpad " -#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华" +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华, ,Launchpad " +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,YunQiang Su,冯超,英华" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1710,4 +1780,5 @@ msgstr "从拨出电话中查询" #~ "yunliu2000@gmail.com,,,happyaron.xu@gmail.com,,,,happyaron.xu@gmail.com,,," #~ "rainofchaos@gmail.com,,,happyaron.xu@gmail.com,,,rainofchaos@gmail.com,,,," #~ "emmanuel.milou@savoirfairelinux.com,,rainofchaos@gmail.com," -#~ "wantinghard@gmail.com" +#~ "wantinghard@gmail.com,,,,emmanuel.milou@savoirfairelinux.com,," +#~ "wzssyqa@gmail.com,rainofchaos@gmail.com,wantinghard@gmail.com" diff --git a/lang/zh_HK/zh_HK.po b/lang/zh_HK/zh_HK.po index 0e4afca0c52ab6cb04c97d2e67f3c4fd39c9c273..ef06d0715a2e23900d35abddfeb11b9638e6740d 100644 --- a/lang/zh_HK/zh_HK.po +++ b/lang/zh_HK/zh_HK.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已註冊" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未註冊" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在連接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "註冊失敗" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "伺服器連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun伺服器無效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "無效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用賬戶" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "沒有已註冊帳戶" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "連接SFLphone伺服器失敗.\n" "請核查daemon是否正在運行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>錯誤:無法找到音訊編碼檔案.\n" -"\n" -"</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." -"sflphone</b>目錄下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打開回放設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打開采集設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未運行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一個電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "確認要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone 出錯" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帳戶 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>撥入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 個語音郵件" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帳戶<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你沒有設置任何賬戶" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未發現已註冊帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "揚聲器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "話筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "顯示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "放下(H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i個賬戶" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "語音郵件 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一個VoIP客戶端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "有關SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "電話" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新電話(N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "撥出(P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "放下(H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通話" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "記錄(R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 個語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "刪除所選賬戶" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空曆史記錄(C)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空曆史記錄" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "帳戶(A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "幫助(H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "轉接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "轉給: " +msgstr "轉給:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "記錄(R)" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "顯示撥號鍵盤" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "歷史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫記錄" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "編輯電話號碼" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "撥出電話前編輯電話號碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帳戶相關參數" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "別稱(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "協議(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名稱(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "使用者名稱(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密碼(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "語音郵箱(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "編碼" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帳戶設置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "協議" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "狀態" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下載上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可以則顯示聯繫人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "單位電話(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭電話(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移動電話(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "選擇使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以隨時在 選項/帳戶 中查看註冊狀態或者修改帳戶信息." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "別稱" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "伺服器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "使用者名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone賬戶創建嚮導" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "歡迎使用SFLphone帳戶創建嚮導!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安裝向導將幫助您配置帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP協議" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "選擇帳戶類型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(會話初始化協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk內部交換協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "請選擇以下選項中的一個" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上創建免費的SIP/IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "註冊已存在的SIP或IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "請填寫如下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可選郵件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "這個郵件地址將被用來發送您的語音" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "郵件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用網路防火牆,你很有可能需要設定該項." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "啟用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN伺服器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帳戶註冊" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "顰律" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "顰寬" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "輸出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "輸入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "聲音狀態檢測(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪處理-窄頻壓縮(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "聲音管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA 配置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "編碼" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "記錄" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目標文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "選擇文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "啟動鈴聲(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "鈴聲選擇" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音訊檔案" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帳戶設置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL參數" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制對帶有URL的來電的處理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "傳輸的URL會被替換成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP頭(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "運行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重設電話號碼" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "號碼前綴(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "啟動提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系統托盤圖標" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "來電話時彈出主視窗(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "從不彈出主視窗(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在啟動時隱藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "打電話歷史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "鉤鍵" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,115 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查詢所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "請點擊此處改變查詢方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "從未接電話中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "從來電中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "從撥出電話中查詢" -#~ msgid "IP call - %s" -#~ msgstr "IP電話- %s" - -#~ msgid "Codec" -#~ msgstr "編碼" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "當有來電時靜音其它應用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口" +#~ msgid "_Voice Activity Detection" +#~ msgstr "聲音狀態檢測(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "啟用語音郵箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪處理-窄頻壓縮(N)" #~ msgid "Account creation wizard" #~ msgstr "帳戶創建向導" @@ -1192,6 +1240,9 @@ msgstr "從撥出電話中查詢" #~ msgid "Default account" #~ msgstr "默認帳戶" +#~ msgid "Codec" +#~ msgstr "編碼" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客戶端" @@ -1306,9 +1357,6 @@ msgstr "從撥出電話中查詢" #~ msgid "Apply" #~ msgstr "套用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1375,6 +1423,9 @@ msgstr "從撥出電話中查詢" #~ msgid "On start" #~ msgstr "正在啟動" +#~ msgid "SIP Port" +#~ msgstr "SIP端口" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP頭" @@ -1390,15 +1441,39 @@ msgstr "從撥出電話中查詢" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:結果超過可顯示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP電話- %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>錯誤:無法找到音訊編碼檔案.\n" +#~ "\n" +#~ "</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." +#~ "sflphone</b>目錄下" + #~ msgid "_Account creation wizard" #~ msgstr "帳戶創建向導(A)" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i個賬戶" + #~ msgid "_Enable this account" #~ msgstr "啟用該賬戶(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "啟用語音郵箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio聲音伺服器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "當有來電時靜音其它應用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1677,9 +1752,6 @@ msgstr "從撥出電話中查詢" #~ msgid "%s account- %s" #~ msgstr "%s 帳戶- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目標文件夾(D)" @@ -1697,10 +1769,12 @@ msgstr "從撥出電話中查詢" #~ msgstr "" #~ "Yun Liu, ,Launchpad Contributions:,Yun Liu, ,Launchpad Contributions:," #~ "Emmanuel Milou,Yun Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun " -#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu" +#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu, ,Launchpad " +#~ "Contributions:,Emmanuel Milou,Yun Liu" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "yunliu2000@gmail.com,,,,,,emmanuel.milou@savoirfairelinux.com,,,,emmanuel." -#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com," +#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com,,,," +#~ "emmanuel.milou@savoirfairelinux.com," diff --git a/lang/zh_TW/zh_TW.po b/lang/zh_TW/zh_TW.po index f7992fe2b8f76bbd50a4020b21be7c9adf76de4e..f5c1d8098617e1c395946421722134818807dd7d 100644 --- a/lang/zh_TW/zh_TW.po +++ b/lang/zh_TW/zh_TW.po @@ -7,1040 +7,1084 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:12+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: Traditional Chinese <zh_TW@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" +msgid "%i active account" +msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1049,98 +1093,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" @@ -1149,10 +1205,11 @@ msgstr "" #~ msgstr "" #~ ",Launchpad Contributions:, ,Launchpad Contributions:,Emmanuel Milou, ," #~ "Launchpad Contributions:,Emmanuel Milou, ,Launchpad Contributions:," -#~ "Emmanuel Milou" +#~ "Emmanuel Milou, ,Launchpad Contributions:,Emmanuel Milou" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,emmanuel.milou@savoirfairelinux.com,,,emmanuel.milou@savoirfairelinux." -#~ "com,,,emmanuel.milou@savoirfairelinux.com" +#~ "com,,,emmanuel.milou@savoirfairelinux.com,,,emmanuel." +#~ "milou@savoirfairelinux.com" diff --git a/sflphone-client-gnome/.cproject b/sflphone-client-gnome/.cproject index c737a8d2a3d901d4d129b40dec43c82fb7d29ac2..4bd6c53fcc49d613f82568415578133ef6365f2e 100644 --- a/sflphone-client-gnome/.cproject +++ b/sflphone-client-gnome/.cproject @@ -4,7 +4,7 @@ <cproject> <storageModule moduleId="org.eclipse.cdt.core.settings"> <cconfiguration id="cdt.managedbuild.toolchain.gnu.base.666814495"> -<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.666814495" moduleId="org.eclipse.cdt.core.settings" name="Linux GCC"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.666814495" moduleId="org.eclipse.cdt.core.settings" name="Release"> <externalSettings/> <extensions> <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> @@ -15,20 +15,21 @@ </extensions> </storageModule> <storageModule moduleId="cdtBuildSystem" version="4.0.0"> -<configuration artifactName="sflphone-gtk" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.666814495" name="Linux GCC" parent="org.eclipse.cdt.build.core.emptycfg"> +<configuration artifactName="sflphone-gtk" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.666814495" name="Release" parent="org.eclipse.cdt.build.core.emptycfg"> <folderInfo id="cdt.managedbuild.toolchain.gnu.base.666814495.1839755914" name="/" resourcePath=""> <toolChain id="cdt.managedbuild.toolchain.gnu.base.1195789621" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base"> <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1493285969" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/> -<builder id="cdt.managedbuild.target.gnu.builder.base.421214348" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/> +<builder id="cdt.managedbuild.target.gnu.builder.base.421214348" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="-1" superClass="cdt.managedbuild.target.gnu.builder.base"/> <tool id="cdt.managedbuild.tool.gnu.archiver.base.1558364998" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.731757910" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base"/> <tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1299938473" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base"> <option id="gnu.c.compiler.option.include.paths.1303328171" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value=""${workspace_loc:/sflphone-gtk}""/> -<listOptionValue builtIn="false" value=""${workspace_loc:/sflphone-gtk/src}""/> <listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/> <listOptionValue builtIn="false" value="/usr/include/glib-2.0"/> <listOptionValue builtIn="false" value="/usr/include/dbus-1.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnome-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnomeui-2.0"/> +<listOptionValue builtIn="false" value="/usr/include"/> </option> <option id="gnu.c.compiler.option.preprocessor.def.symbols.1676995808" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> <listOptionValue builtIn="false" value=""ICONS_DIR="/usr/share/sflphone\""/> @@ -38,6 +39,14 @@ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1938301835" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> </tool> <tool id="cdt.managedbuild.tool.gnu.c.linker.base.981882139" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"> +<option id="gnu.c.link.option.paths.137448498" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> +<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/glib-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/dbus-1.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnome-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnomeui-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnome-2.0/libgnome"/> +</option> <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1274984809" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/> @@ -57,6 +66,7 @@ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> <storageModule moduleId="scannerConfiguration"> <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> @@ -139,6 +149,393 @@ <parser enabled="true"/> </scannerInfoProvider> </profile> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1995189473;cdt.managedbuild.config.gnu.exe.debug.1995189473.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.44474984;cdt.managedbuild.tool.gnu.c.compiler.input.1565605211"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.666814495;cdt.managedbuild.toolchain.gnu.base.666814495.1839755914;cdt.managedbuild.tool.gnu.c.compiler.base.1299938473;cdt.managedbuild.tool.gnu.c.compiler.input.1938301835"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +</cconfiguration> +<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1995189473"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1995189473" moduleId="org.eclipse.cdt.core.settings" name="Debug"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="sflphone-client-gnome" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1995189473" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug"> +<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1995189473." name="/" resourcePath=""> +<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1423428378" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug"> +<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.285066138" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/> +<builder id="cdt.managedbuild.target.gnu.builder.exe.debug.100968868" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="-1" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/> +<tool id="cdt.managedbuild.tool.gnu.archiver.base.417731669" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> +<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.187669799" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug"> +<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1648950260" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1642920658" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.44474984" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.228151721" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/> +<option id="gnu.c.compiler.exe.debug.option.debugging.level.676359726" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<option id="gnu.c.compiler.option.include.paths.1167204962" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> +<listOptionValue builtIn="false" value="/usr/include"/> +<listOptionValue builtIn="false" value="/usr/include/glib-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/dbus-1.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnome-2.0"/> +<listOptionValue builtIn="false" value="/usr/include/libgnomeui-2.0"/> +</option> +<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1565605211" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1289604635" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"> +<option id="gnu.c.link.option.paths.1262921055" name="Library search path (-L)" superClass="gnu.c.link.option.paths"/> +<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.861769146" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.172868928" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug"/> +<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.210816158" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug"> +<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1667826927" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> +</tool> +</toolChain> +</folderInfo> +</configuration> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1995189473;cdt.managedbuild.config.gnu.exe.debug.1995189473.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.44474984;cdt.managedbuild.tool.gnu.c.compiler.input.1565605211"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> <scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.666814495;cdt.managedbuild.toolchain.gnu.base.666814495.1839755914;cdt.managedbuild.tool.gnu.c.compiler.base.1299938473;cdt.managedbuild.tool.gnu.c.compiler.input.1938301835"> <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> diff --git a/sflphone-client-gnome/.project b/sflphone-client-gnome/.project index 8c74f4d116d9937d808985d8e6ff97bef8780536..10b183e3bf7491cfcc954b90245cc5252a4fe068 100644 --- a/sflphone-client-gnome/.project +++ b/sflphone-client-gnome/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>sflphone-gtk</name> + <name>sflphone-client-gnome</name> <comment></comment> <projects> </projects> @@ -23,7 +23,7 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildArguments</key> - <value></value> + <value>-j</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildCommand</key> diff --git a/sflphone-client-gnome/.settings/org.eclipse.cdt.core.prefs b/sflphone-client-gnome/.settings/org.eclipse.cdt.core.prefs index 923efa5204c06e39c83cd785e6f39b9cc7741f51..ed89bea14460d0c3a260f4b65a05db93ab7ed0e5 100644 --- a/sflphone-client-gnome/.settings/org.eclipse.cdt.core.prefs +++ b/sflphone-client-gnome/.settings/org.eclipse.cdt.core.prefs @@ -1,4 +1,4 @@ -#Thu Mar 26 14:05:05 EDT 2009 +#Fri Feb 26 15:32:40 EST 2010 eclipse.preferences.version=1 org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80 @@ -67,6 +67,7 @@ org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initial org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert @@ -87,6 +88,7 @@ org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initia org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert @@ -119,10 +121,11 @@ org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=inser org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert @@ -134,6 +137,7 @@ org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not inser org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false diff --git a/sflphone-client-gnome/.settings/org.eclipse.cdt.ui.prefs b/sflphone-client-gnome/.settings/org.eclipse.cdt.ui.prefs index 9281ecd41f6b758197d07f8869691d0953314ea4..c3a02722d10ec788e674fbee2750915052b6a0d7 100644 --- a/sflphone-client-gnome/.settings/org.eclipse.cdt.ui.prefs +++ b/sflphone-client-gnome/.settings/org.eclipse.cdt.ui.prefs @@ -1,4 +1,4 @@ -#Thu Mar 26 14:05:05 EDT 2009 +#Fri Feb 26 15:30:12 EST 2010 eclipse.preferences.version=1 -formatter_profile=org.eclipse.cdt.ui.default.gnu_profile +formatter_profile=_GNU - SFLphone formatter_settings_version=1 diff --git a/sflphone-client-gnome/INSTALL b/sflphone-client-gnome/INSTALL index 8b82ade08e87bbfb02fbf4c3b45b181ab6dda8cb..2550dab75261145b56f3d223673e00bef2aa78df 100644 --- a/sflphone-client-gnome/INSTALL +++ b/sflphone-client-gnome/INSTALL @@ -2,7 +2,7 @@ Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. +2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -159,7 +159,7 @@ Particular systems CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: - ./configure CC="cc -Ae" + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. @@ -174,6 +174,16 @@ and if that doesn't work, try ./configure CC="cc -nodtk" + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== @@ -189,7 +199,8 @@ type, such as `sun4', or a canonical name which has the form: where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't diff --git a/sflphone-client-gnome/README b/sflphone-client-gnome/README index 368bd98433516b06b421fa39da13845fdf35adf7..cdba125509b00f4bd810ac78564c5a8bc6606088 100644 --- a/sflphone-client-gnome/README +++ b/sflphone-client-gnome/README @@ -1,5 +1,5 @@ Welcome to SFLphone! -Refer to the development site for further information: http://dev.savoirfairelinux.net/sflphone +Refer to the development site for further information: https://projects.savoirfairelinux.com/projects/show/sflphone Thank you diff --git a/sflphone-client-gnome/VERSION b/sflphone-client-gnome/VERSION index 06fa200552505d51e9a42251eb6ed4432c78ce90..e3e180701e2ae694f8818779c4e28321a6b11b32 100644 --- a/sflphone-client-gnome/VERSION +++ b/sflphone-client-gnome/VERSION @@ -1 +1 @@ -0.9.7~beta +0.9.8 diff --git a/sflphone-client-gnome/configure.ac b/sflphone-client-gnome/configure.ac index bb631adde6c61fa2f7d54b908e6ee843deddc54a..44f118f5391ac8dff8b6841324c886d691fe6f6d 100644 --- a/sflphone-client-gnome/configure.ac +++ b/sflphone-client-gnome/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([SFLphone],[0.9.7~beta],[sflphoneteam@savoirfairelinux.com],[sflphone-client-gnome]) +AC_INIT([SFLphone],[0.9.8],[sflphoneteam@savoirfairelinux.com],[sflphone-client-gnome]) AM_CONFIG_HEADER(config.h) LT_INIT diff --git a/sflphone-client-gnome/doc/C/sflphone.xml b/sflphone-client-gnome/doc/C/sflphone.xml index 64861bea86727339f40c9243d92b5e718a580399..36c01e9f02f62f59af4c11edcd29eb1f001aa58c 100644 --- a/sflphone-client-gnome/doc/C/sflphone.xml +++ b/sflphone-client-gnome/doc/C/sflphone.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ <!ENTITY app "SFLphone"> - <!ENTITY appversion "0.9.7"> + <!ENTITY appversion "0.9.8~rc1"> <!ENTITY docversion "1.0"> ]> @@ -17,6 +17,7 @@ <year>2007</year> <year>2008</year> <year>2009</year> + <year>2010</year> <holder>Savoir-faire Linux</holder> </copyright> @@ -73,6 +74,16 @@ </authorgroup> <revhistory> + <revision> + <revnumber>SFLphone Manual v1.0.1</revnumber> + <date>March 2010</date> + <revdescription> + <para role="author">SFLphone team</para> + <para role="publisher">Savoir-faire Linux</para> + <para>Minor changes</para> + </revdescription> + </revision> + <revision> <revnumber>SFLphone Manual v1.0</revnumber> <date>September 2009</date> @@ -239,7 +250,7 @@ <title>Registration</title> <para>You may set the expires header for a contact.</para> <para>It basically represents the duration your registration will remain active. If you don't register again within that time, calls will no longer be routed to you. It should not be used as a keepalive mechanism though. The default value is 600 seconds (ten minutes).</para> - <note>Some VoIP services requires that you set this value at at least 1600 seconds (e.g. the French VoIP server freephonie.net). + <note><para>Some VoIP services requires that you set this value at at least 1600 seconds (e.g. the French VoIP server freephonie.net).</para> </note> </sect3> <sect3 id="accounts_stun"> @@ -258,11 +269,11 @@ <term><guilabel>Set published address and port</guilabel></term> <listitem> <itemizedlist> - <listitem>Using STUN + <listitem><para>Using STUN</para> <para>If enabled, the core will try to initialize an UDP transport on the mapped address/port number that the NAT (Network Address Translator) has allocated to <application>SFLphone</application>.</para></listitem> - <listitem>Same as local parameters + <listitem><para>Same as local parameters</para> </listitem> - <listitem>Manually + <listitem><para>Manually</para> </listitem> </itemizedlist> </listitem> @@ -304,7 +315,7 @@ <para>The following features are available with both SIP and IAX2 accounts.</para> - <sect2 label="Dialing a number"> + <sect2><title>Dialing a number</title> <!-- ==== Figure ==== --> <figure id="dial-fig"> <title>Dial button</title> @@ -333,11 +344,11 @@ </figure> <!-- ==== End of Figure ==== --> - <para>Keyboard shortcut to perform this action: <accel>NUMPAD</accel> or almost any keys.</para> + <para>Keyboard shortcut to perform this action: <guimenuitem><accel>NUMPAD</accel></guimenuitem> or almost any keys.</para> </sect2> - <sect2 label="Calling a number"> + <sect2><title>Calling a number</title> <!-- ==== Figure ==== --> <figure id="call-fig"> @@ -352,11 +363,11 @@ </figure> <!-- ==== End of Figure ==== --> - <para>Keyboard shortcut to perform this action: <accel>Enter</accel>.</para> + <para>Keyboard shortcut to perform this action: <guimenuitem><accel>Enter</accel></guimenuitem>.</para> </sect2> - <sect2 label="Answering a call"> + <sect2><title>Answering a call</title> <!-- ==== Figure ==== --> <figure id="answer-fig"> <title>Answer button</title> @@ -370,10 +381,10 @@ </figure> <!-- ==== End of Figure ==== --> - <para>Keyboard shortcut to perform this action: <accel>Enter</accel>.</para> + <para>Keyboard shortcut to perform this action: <guimenuitem><accel>Enter</accel></guimenuitem>.</para> </sect2> - <sect2 label="Hanging up a call"> + <sect2><title>Hanging up a call</title> <!-- ==== Figure ==== --> <figure id="hangup-fig"> <title>Hangup button</title> @@ -387,10 +398,10 @@ </figure> <!-- ==== End of Figure ==== --> - <para>Keyboard shortcut to perform this action: <accel>ESC</accel>.</para> + <para>Keyboard shortcut to perform this action: <guimenuitem><accel>ESC</accel></guimenuitem>.</para> </sect2> - <sect2 label="Refusing a call"> + <sect2><title>Refusing a call</title> <para>When you refuse a call, your caller is automatically redirected to your voicemail box, if applicable.</para> @@ -407,11 +418,11 @@ </figure> <!-- ==== End of Figure ==== --> - <para>Keyboard shortcut to perform this action: <accel>ESC</accel>.</para> + <para>Keyboard shortcut to perform this action: <guimenuitem><accel>ESC</accel></guimenuitem>.</para> </sect2> - <sect2 label="Holding on/off a call"> + <sect2><title>Holding on/off a call</title> <!-- ==== Figure ==== --> <figure id="holdon-fig"> <title>Hold on button</title> @@ -438,7 +449,7 @@ <!-- ==== End of Figure ==== --> </sect2> - <sect2 label="Transfering a call"> + <sect2><title>Transfering a call</title> <!-- ==== Figure ==== --> <figure id="transfer-fig"> <title>Transfer button</title> @@ -466,11 +477,11 @@ </figure> <!-- ==== End of Figure ==== --> - <para>And press <accel>Enter</accel>. Clicking again on the transfer button cancels the transfer.</para> + <para>And press <guimenuitem><accel>Enter</accel></guimenuitem>. Clicking again on the transfer button cancels the transfer.</para> </sect2> - <sect2 label="Record a call"> + <sect2><title>Record a call</title> <para>Go to <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem> <guimenuitem>Audio</guimenuitem></menuchoice> to configure the recordings destination folder.</para> @@ -501,9 +512,9 @@ <!-- ==== End of Figure ==== --> </sect2> - <sect2 label="Voicemail quick dial"> + <sect2><title>Voicemail quick dial</title> - <caution>This feature is available only if you fill out the voicemail number information for your default account.</caution> + <caution><para>This feature is available only if you fill out the voicemail number information for your default account.</para></caution> <!-- ==== Figure ==== --> <figure id="voicemail-fig"> @@ -520,7 +531,7 @@ </sect2> - <sect2 id="directip" label="Direct IP calls"> + <sect2 id="directip"><title>Direct IP calls</title> <para>A direct IP call is a call established between two peers without any accounts. When dialing, such a call must prefixed with <guilabel>sip:</guilabel>.</para> <para>Direct IP calls use SIP protocol to establish communication and RTP to transport data. It is right now not available with IAX2.</para> @@ -528,14 +539,14 @@ <para>Go to <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem> <guimenuitem>Direct IP calls</guimenuitem></menuchoice> to configure the advanced security features for this kind of calls.</para> </sect2> - <sect2 id="conferencecall" label="Conference calls"> + <sect2 id="conferencecall"><title>Conference calls</title> <para>SFLphone now supports conference call hosting integrating server like features in a simple GUI. </para> <para> <itemizedlist> <listitem> - <guilabel>Create a conference</guilabel> + <para><guilabel>Create a conference</guilabel></para> <para>To host a conference, simply drag and drop one call on another. Additional participants are added the same way, dragging a call on the @@ -567,7 +578,7 @@ <!-- ==== End of Figure ==== --> </listitem> <listitem> - <guilabel>Leave a conference</guilabel> + <para><guilabel>Leave a conference</guilabel></para> <para> SFLphone conference model let you leave a conference that you are currently hosting to answer any other incoming @@ -601,7 +612,7 @@ <!-- ==== End of Figure ==== --> </listitem> <listitem> - <guilabel>Multiple conference</guilabel> + <para><guilabel>Multiple conference</guilabel></para> <para> SFLphone supports multiple conferences running simultaneously. Two conferences can be joined the same way @@ -610,7 +621,7 @@ </para> </listitem> <listitem> - <guilabel>Hangup/Hold a conference</guilabel> + <para><guilabel>Hangup/Hold a conference</guilabel></para> <para> Select the conference icon and press hangup/hold button on the toolbar. The selected action is applied on every @@ -720,10 +731,11 @@ </varlistentry> </variablelist> </sect3> - </sect2> - <sect2 id="accounts_tls"> + </sect2> + <sect2 id="accounts_tls"> <title>TLS</title> - </sect2> + <para>TODO</para> + </sect2> </sect1> @@ -734,12 +746,12 @@ ALSA and PulseAudio native interfaces are available. </para> - <sect2 label="Pulseaudio"> + <sect2><title>Pulseaudio</title> <para> </para> </sect2> - <sect2 label="ALSA"> + <sect2><title>ALSA</title> <para> </para> </sect2> @@ -751,27 +763,27 @@ <para> <itemizedlist> <listitem> - <guilabel>PCMU/PCMA</guilabel> + <para><guilabel>PCMU/PCMA</guilabel></para> <para> ITU-T telephony standard PCM formats, 8kHz, 64 kbit/s, using logarithmic byte compression algorithm. </para> </listitem> <listitem> - <guilabel>GSM</guilabel> + <para><guilabel>GSM</guilabel></para> <para> Global System for Mobile communications (GSM) narrowband 8kHz standard based on linear prediction encoding. </para> </listitem> <listitem> - <guilabel>G722</guilabel> + <para><guilabel>G722</guilabel></para> <para> ITU-T standard wideband 16kHz standard based on linear prediction. </para> </listitem> <listitem> - <guilabel>SPEEX</guilabel> + <para><guilabel>SPEEX</guilabel></para> <para> High quality voice encoding/decoding available in narrowband 8kHz, wideband 16kHz (HD Voice), @@ -781,7 +793,7 @@ </para> </listitem> <listitem> - <guilabel>CELT</guilabel> + <para><guilabel>CELT</guilabel></para> <para> </para> @@ -827,9 +839,9 @@ <listitem><para> You may use one or all of these following information from your contact.</para> <itemizedlist> - <listitem>Work phone number</listitem> - <listitem>Home phone number</listitem> - <listitem>Mobile phone number</listitem> + <listitem><para>Work phone number</para></listitem> + <listitem><para>Home phone number</para></listitem> + <listitem><para>Mobile phone number</para></listitem> </itemizedlist> </listitem> </varlistentry> @@ -876,7 +888,7 @@ <sect2> <title>General</title> <para>This section provides the user general settings regarding the application.</para> - <sect3 label="Desktop Notifications"> + <sect3><title>Desktop Notifications</title> <!-- ==== Figure ==== --> <figure id="desktop-notif-settings-fig"> <title>Desktop notifications options</title> @@ -931,7 +943,7 @@ </variablelist> </sect3> - <sect3 label="System Tray Icon"> + <sect3><title>System Tray Icon</title> <!-- ==== Figure ==== --> <figure id="systemtray-settings-fig"> <title>System tray options</title> @@ -971,7 +983,7 @@ </sect3> - <sect3 label="Calls history"> + <sect3><title>Calls history</title> <!-- ==== Figure ==== --> <figure id="callshistory-settings-fig"> <title>Calls history options</title> @@ -995,7 +1007,7 @@ </variablelist> </sect3> - <sect3 label="Configuration File"> + <sect3><title>Configuration File</title> <!-- ==== Figure ==== --> <figure id="configfile-settings-fig"> <title>Configuration file options</title> @@ -1024,6 +1036,7 @@ <sect2> <title>Audio</title> + <para>TODO</para> </sect2> <sect2> @@ -1034,10 +1047,12 @@ <sect2> <title>Hooks</title> + <para>TODO</para> </sect2> <sect2> <title>Network</title> + <para>TODO</para> </sect2> <sect2> diff --git a/sflphone-client-gnome/man/sflphone-client-gnome.pod b/sflphone-client-gnome/man/sflphone-client-gnome.pod index eb27a15f4cd3de4aeef42e8dbe9a571bd7e4e2c8..471c8b7c93f4bf8ca1467c13611ce3090d53f98e 100644 --- a/sflphone-client-gnome/man/sflphone-client-gnome.pod +++ b/sflphone-client-gnome/man/sflphone-client-gnome.pod @@ -14,11 +14,11 @@ B<sflphone-client-gnome> is a GTK+ client for SFLphone; it communicates with the =head1 BUGS -Please report bugs at http://dev.savoirfairelinux.net/sflphone/newticket. +Please report bugs at https://projects.savoirfairelinux.com/projects/sflphone/issues/new. =head1 AUTHORS -B<sflphone-client-gnome> is developed in Montreal by Savoir-Faire Linux Inc. The active developers are Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> and Yun Liu <yun.liu@savoirfairelinux.com>. +B<sflphone-client-gnome> is developed in Montreal by Savoir-Faire Linux Inc. This manual page was written by Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>. diff --git a/sflphone-client-gnome/po/da/da.po b/sflphone-client-gnome/po/da/da.po index 1c011969aca5c2afa3b9a4cc76db3e748bcd6bc2..df489d7787b3447b374f85f4b6ea04565bd918cf 100644 --- a/sflphone-client-gnome/po/da/da.po +++ b/sflphone-client-gnome/po/da/da.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-11-03 03:52+0000\n" -"Last-Translator: Jonas Fonseca <fonseca@diku.dk>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-01 01:15+0000\n" +"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Language-Team: Danish <da@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registreret" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Ikke registreret" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Forsøger..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fejl" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Godkendelse mislykkedes" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Vært kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun server ugyldig" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ugyldig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Benytter konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Ingen registrerede konti" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Forbindelse til SFLphone serveren kan ikke oprettes.\n" "Sørg for at server-dæmonen kører." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Direkte IP opkald" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -"<b>Fejl: Ingen audio-codec fundet\n" -"\n" -"</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." -"sflphone</b> i dit hjemmekatalog (<i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fejl opstod mens afspilningsenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fejl opstod mens optageenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "PulseAudio er tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Et igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Ønsker du stadig at afslutte" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone fejl" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP er ikke understøttet af modtageren %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sikker kommunikation ikke tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -170,11 +177,11 @@ msgstr "" "tilstand.\n" "Den præcise årsag: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP-forhandling mislykkedes" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -183,50 +190,50 @@ msgstr "" "%s ønsker at afslutte brugen af sikker kommunikation. Ved at godkende vil " "samtalen fortætte uden SRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Godkend sikkerhedsændring" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Godkend" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s konto : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Fra</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d indtalt besked" msgstr[1] "%d indtalte beskeder" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Kalder op med %s konto <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Du har ingen oprettede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Du har ingen registrerede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -235,520 +242,554 @@ msgstr "" "<i>Med:</i> %s \n" "benyttende %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s understøtter ikke ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP forhandling mislykkedes med %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Med:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Højtaler lydstyrke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikrofon lydstyrke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Vis hovedvindue" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Læg på" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i konto oprettet" -msgstr[1] "%i konti oprettet" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "" +msgstr "Ingen adressebog er valgt" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone er en VoIP-klient kompatibel med SIP og IAX2 protokoller" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Om SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Lav et nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Svar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Læg på" +msgstr "Besvar opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Afslut opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Sæt opkaldet i venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "" +msgstr "F_jern fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Optag" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Fjern opkaldet fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Konfigurationsfil" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d indtalt besked" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Luk" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimere til systembakken" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "" +msgstr "_Afslut" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Afslut programmet" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" -msgstr "" +msgstr "_Rediger" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Kopier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "" +msgstr "Kopier det valgte" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "Inds_æt" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Indsæt indholdet af udklipsholderen" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ændr dine indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" -msgstr "" +msgstr "_Vis" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" -msgstr "_Hjem" +msgstr "_Hjælp" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Åbn manualen" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "" +msgstr "_Overfør" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "" +msgstr "Overfør opkaldet" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Optag" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Optag den aktuelle samtale" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Vis værktøjslinie" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Vis værktøjslinien" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Deaktiveret" +msgstr "_Nummertastatur" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Vis nummertastaturet" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "" +msgstr "Vis _lydstyrke indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "" +msgstr "Vis lydstyrke indstillingerne" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Besvar opkald" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Ændre telefonnummer" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Ændre telefonnummeret før opkald" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Kontoparametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokol" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Ukendt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Værtsnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Brugernavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Nummer for talebesked" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Hemmelig" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Legitimationsoplysning" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Godkendelsesnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sikkerhed" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Benyt TLS transport (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "SRTP-nøgleudveksling" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiveret" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Forældelse af registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Overhold RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Lokal adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Lokal port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Offentliggjort adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Ved brug af STUN " +msgstr "Ved brug af STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "STUN serveradresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Samme som lokale parametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Konfigurer offentliggjort adresse og port:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Offentliggjort port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoindstillinger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Grundlæggende" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Advanceret" +msgstr "Avanceret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netværk" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " +"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " +"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " +"indgående eller udgående opkald." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" msgstr "Server svarede \"" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokol" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Oprettede konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktiv konto" -msgstr[1] " aktiv konto" +msgstr[0] "aktiv konto" +msgstr[1] "aktiv konto" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Der er ingen aktive konti" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Generelt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Benyt Evolution adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Download begrænsning :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "kort" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Vis _kontaktbillede hvis tilgængeligt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felter fra Evolutions adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbejde" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Hjem" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressekartoteker" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Vælg hvilke af Evolutions adressekartoteker skal benyttes" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Navn" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Denne vejledning er nu fuldført" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -756,318 +797,321 @@ msgstr "" "Du kan til enhver tid undersøge din registrering eller ændre dine kontis " "parametre i vinduet Indstillinger/Konti" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Brugernavn" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sikkerhed: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ingen" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone-guiden til oprettelse af konto" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Velkommen til kontooperettelsesvejledning for SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "Denne installeringsvejledning vil hjælpe dig med at konfigurere en konto" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP protokoller" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Vælg en kontotype" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Vælg en af følgende indstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Opret en gratis SIP/IAX2 konto hos sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrer en eksisterende SIP eller IAX2 konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Udfyld venligst følgende information" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sikker kommunikation med _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Valgfri emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Denne emailadresse vil blive brugt til at sende dig indtalte beskeder" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2 kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Du opfordres til at aktivere dette hvis du er bag en firewall" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "_Benyt STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Kontoregistrering" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Tillykke!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frekvens" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bithastighed" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Båndbredde" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Inddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detektering af taleaktivitet" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Støjreducering (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Lydhåndtering" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_PulseAudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA indstillinger" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Optagelser" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Destinationsmappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Vælg en mappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Aktiver _ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Vælg en ringetone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Lydfiler" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoindstillinger" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Adresseargument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Brugerdefinerede kommandoer ved indgående opkald med webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s vil blive erstattet med den givne webadresse." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Udløse ved specifik _SIP protokolhoved" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Udløse ved _IAX2 webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Kommando som skal _kaldes" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Omskrivning af telefonnummer" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Præfiks for indtastede numre" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " -"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " -"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " -"indgående eller udgående opkald." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Aktiver meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Systembakke-ikon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Vis hovedvindue ved indgående opkald" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Aldrig _pop-op hovedvindue" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Skjul SFLphone vinduet ved _start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Gem min historik i mindst" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Direkte IP opkald" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Advancerede indstillinger for TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,136 +1124,170 @@ msgstr "" "TLS transporter for de enkelte konti. Bemærk dog at de hver vil benytte\n" "en dedikeret port forskellig fra hinanden.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Autoritetscertifikatsliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Vælg en fil med en autoritetscertifikatsliste (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Offentlig endpoint certifikatsfil" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Vælg et offentligt endpoint-certifikat (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Vælg en privat nøglefil (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Adgangskode for den private nøgle" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLS protokolmetode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "TLS cifferliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Server navneinstans for udgående TLS forbindelse" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Forhandlingstimeout" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Udfør kontrol af indgående certifikater, som en server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Udfør kontrol af certifikater fra svar, som en klient" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Kræv certifikat for indgående TLS forbindelser" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP indstillinger" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Send \"Hello Hash\" i S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "_Spørg bruger om at godkende SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Advar hvis ZRTP ikke understøttes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "_Vis SAS en enkelt gang for vente-hændelser" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Søg alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klik her for at ændre søgningstypen" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Søg i ubesvarede opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Søg i indgående opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Søg i udgående opkald" -#~ msgid "IP call - %s" -#~ msgstr "IP opkald - %s" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detektering af taleaktivitet" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Støjreducering (Narrow-Band Companding)" + +#~ msgid "SIP Port" +#~ msgstr "SIP Port" #~ msgid "Codec" #~ msgstr "Kodning" -#~ msgid "Network" -#~ msgstr "Netværk" - -#~ msgid "Manually" -#~ msgstr "Manuelt" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i konto oprettet" +#~ msgstr[1] "%i konti oprettet" #~ msgid "There " #~ msgstr "Der " -#~ msgid "is " -#~ msgstr "er " +#~ msgid "Manually" +#~ msgstr "Manuelt" + +#~ msgid "s" +#~ msgstr "s" #~ msgid "are " #~ msgstr "er " -#~ msgid "s" -#~ msgstr "s" +#~ msgid "is " +#~ msgstr "er " #~ msgid "_Mute other applications during a call" #~ msgstr "_Dæmp andre programmer ved opkald" -#~ msgid "SIP Port" -#~ msgstr "SIP Port" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Aktiver _talebeskedsmeddelelser" #~ msgid "UDP Transport" #~ msgstr "UDP transport" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Aktiver _talebeskedsmeddelelser" +#~ msgid "Direct IP calls" +#~ msgstr "Direkte IP opkald" + +#~ msgid "IP call - %s" +#~ msgstr "IP opkald - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fejl: Ingen audio-codec fundet\n" +#~ "\n" +#~ "</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." +#~ "sflphone</b> i dit hjemmekatalog (<i>%s</i>)" #~ msgid "Store SIP credentials as MD5 hash" #~ msgstr "Gem SIP-legitimationsoplysninger som _MD5-hash-værdi" diff --git a/sflphone-client-gnome/po/de/de.po b/sflphone-client-gnome/po/de/de.po index ca1afd15a46c3577ef7821d053d5730e495373e1..1ef5bedaa91c13f31af20adee8d3efdd1c82422d 100644 --- a/sflphone-client-gnome/po/de/de.po +++ b/sflphone-client-gnome/po/de/de.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-03 16:49+0000\n" +"Last-Translator: Jakob Kramer <Unknown>\n" "Language-Team: SavoirFaire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registriert" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nicht registriert" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Am versuchen..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fehler" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Authentifizierung fehlgeschlagen" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host unerreichbar" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Ungültiger Stun server" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ungültig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Mit Konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Kein registriertes Konto" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "SFLphone Server kann nicht verbunden werden. Stellen Sie sicher, dass der " "Dämon läuft." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Direkter SIP-Anruf" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "heute um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "gestern um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Fehler: Kein Audio-Codec gefunden.\n" -"\n" -"</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres HOME-" -"Verzeichniss ( <i>%s</i> ) gespeichert werden." -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"playback device\"" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"capture device\"" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,625 +131,660 @@ msgstr "" "\n" "Pulseaudio nicht gestartet" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Laufender Anruf." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Laufende Anrufe." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Bitte bestätigen, dass Sie die Anwendung beenden möchten" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone Fehler" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "" +msgstr "ZRTP wird vom Nutzer %s nicht unterstützt\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sichere Verbindung nicht verfügbar" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Weiter" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Anruf beenden" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" +"Ein %s Fehler verhinderte die Verschlüsselung des Telefonats mit %s.\n" +"Genauer Grund: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "ZRTP Übertragung fehlgeschlagen" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" +"%s will die sichere Kommunikation beenden. Das Gespräch wird dann ohne SRTP " +"fortgesetzt.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Bestätigen" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Konto %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Von</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d Voice Nachricht" msgstr[1] "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Mit %s Konto <i>%s</i> anrufen" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Sie haben noch kein Konto eingestellt" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Sie haben noch kein registriertes Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" +"<i>Mit:</i> %s \n" +"unter Verwendung von %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s unterstützt ZRTP nicht." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "ZRTP-Übertragung mit %s schlug fehl" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Mit:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Lautsprecher Lautstärke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikro Lautstärke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Hauptfenster anzeigen" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "A_uflegen" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i Konto konfiguriert" -msgstr[1] "%i Konten konfiguriert" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i aktiver Account" +msgstr[1] "%i aktive Accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Voicemail" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Voicemail (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone ist ein VoIP Client (kompatibel mit SIP und IAX2 Protokolle)" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Über SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Neuer Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Einen neuen Anruf tätigen" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Abnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Auf den Anruf antworten" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "A_uflegen" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Den Anruf beenden" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gespräch aufzeichnen" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Einrichtungsdatei" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editieren" +msgstr "_Beenden" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Das Programm beenden" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editieren" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Entfernen Sie das ausgewählte Konto" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Liste der vorherigen Anrufen _leeren" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Vorherigen Anrufen leeren" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Konten" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ihre Einstellungen ändern" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Hilfe" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Weiter" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Weiterleiten" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Weiterleiten zu : " +msgstr "Weiterleiten zu :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gespräch aufzeichnen" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Das momentane Gespräch aufnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Zeige Werkzeugleiste" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Wählscheibe" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Vorherige Anrufe" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Zurückrufen" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Nummer editieren" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Nummer vor dem Anruf editieren" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Konto parameter" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokoll" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Unbekannt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Hostname" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Benutzername" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Voicemail Nummer" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Geheim" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Authentifizierung Name" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sicherheit" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiviert" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Anmeldung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "" +msgstr "Registrierung erwartet" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "" +msgstr "Veröffentlichte Adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "" +msgstr "STUN verwenden" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" -msgstr "" +msgstr "STUN Server URL" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" +msgstr "Veröffentlichter Port" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoeinstellungen" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Erweitert" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netzwerk" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokoll" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Konfigurierten Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktive Konten" -msgstr[1] " aktive Konten" +msgstr[0] "aktive Konten" +msgstr[1] "aktive Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Sie haben kein aktives Konto" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "Addressbuch von Evolution verwenden" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Herunterladen Grenze :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "Karten" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Wenn verfügbar, _Bild anzeigen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felder vom Evolution Adressbuch" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbeit" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Heim" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Handy" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressbücher" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Adressbücher von Evolution zum verwenden auswählen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Name" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Assistent beendet." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -750,315 +792,322 @@ msgstr "" "Sie können jederzeit Ihres Registrierungsstatus überprüfen oder " "IhreKontoparameter ändern (Optionen/Konten)." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Benutzername" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sicherheit: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nichts" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone Konto (Konfigurationsassistent)" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Wilkommen zu SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "The Installationsassistent wird Ihnen helfen, ein Konto zu konfigurieren." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP Protokoll" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Kontotyp auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterisk Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Bitte eine Option auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "SIP/IAX2 Konto bei sflphone.org erstellen lassen" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Existierendes SIP/IAX2 Konto registrieren" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Konfiguration des SIP Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Folgende Informationen bitte ausfühlen" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sichere Kommunikation mit _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Fakultative E-mail-Adresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Diese E-mail-Adresse wird benutzt, um Ihnen voicemail Meldungen zu schicken." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Konfiguration des IAX2 Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Sie sollten dieses einschalten, falls Sie hinter einer Firewall sind." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "STUN Ei_nschalten" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN Server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Konto Registrierung" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Gratulation!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenz" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bandbreite" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA Plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Ausgabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Eingabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "\"Voice Activity\" Erkennung" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Klingeltöne" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Geräuschreduzierung (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Sound Manager" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA Konfiguration" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Aufnahmen" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Zielverzeichnis" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Verzeichnis auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Klingeltöne" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Klingeltöne _einschalten" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Klingelton auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Audio Dateien" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoeinstellungen" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL Argument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Spezielle Befehle bei eingehender Anrufen mit URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s wird mit gegebener URL ersetzt." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Bewirkung beim spezifischen _SIP Header" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Bewirkung bei _IAX2 URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Befehl _auszuführen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Telefonnummer umformen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Präfix vor Nummern einfügen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Desktopbenachrichtigungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Benachrichtigungen _einschalten" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Benachrichtigungsfeld (\"System Tray\") Icon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Hauptfenster anzeigen wenn eingehendes Gespräch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Hauptfenster nie anzeigen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Unsichtbar beim Start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "Tage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 -msgid "Advanced options for TLS" +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Erweiterte Optionen für TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" -msgstr "" +msgstr "TLS Transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1067,133 +1116,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" -msgstr "" +msgstr "TLS-Protokol-Methode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Client" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "" +msgstr "Benötige Zertifikat für eingehende TLS-Verbindungen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP Optionen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" -msgstr "" +msgstr "Den Benutzer bitten, SAS zu bestätigen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Warnung wenn ZRTP nicht unterstüzt" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES Optionen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Suche alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klicken Sie hier, um Suchtyp zu wechseln" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Suche nach Anruf in Abwesenheit" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Suche nach eingehenden Anruf" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Suche nach ausgehenden Anru" -#~ msgid "IP call - %s" -#~ msgstr "IP Anruf - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Netzwerk" - -#~ msgid "Manually" -#~ msgstr "Manuell" - -#~ msgid "There " -#~ msgstr "Es " - -#~ msgid "is " -#~ msgstr "gibt " - -#~ msgid "are " -#~ msgstr "gibt " - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "UDP Transport" -#~ msgstr "UDP Transport" +#~ msgid "_Voice Activity Detection" +#~ msgstr "\"Voice Activity\" Erkennung" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "_Benachrichtigung für Voice Nachrichten" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Geräuschreduzierung (Narrow-Band Companding)" #~ msgctxt "account state" #~ msgid "Error" @@ -1231,6 +1265,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Default account" #~ msgstr "Default Konto" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE Client" @@ -1335,9 +1372,6 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Apply" #~ msgstr "übernehmen" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1410,6 +1444,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Connection" #~ msgstr "Anbindung" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Bewirkung beim spezifischen SIP Header" @@ -1435,26 +1472,70 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Warnung: Anzahl Resultate überschreit definiertes Maximum" +#~ msgid "IP call - %s" +#~ msgstr "IP Anruf - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fehler: Kein Audio-Codec gefunden.\n" +#~ "\n" +#~ "</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres " +#~ "HOME-Verzeichniss ( <i>%s</i> ) gespeichert werden." + #~ msgid "%s - %s" #~ msgstr "%s - %s" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i Konto konfiguriert" +#~ msgstr[1] "%i Konten konfiguriert" + #~ msgid "_Enable this account" #~ msgstr "_Einschalten" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "_Benachrichtigung für Voice Nachrichten" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio Sound Server" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" + #~ msgid "Port" #~ msgstr "Port" +#~ msgid "Manually" +#~ msgstr "Manuell" + +#~ msgid "There " +#~ msgstr "Es " + +#~ msgid "are " +#~ msgstr "gibt " + +#~ msgid "is " +#~ msgstr "gibt " + +#~ msgid "UDP Transport" +#~ msgstr "UDP Transport" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Ihre Namen, ,Launchpad Contributions:,Maxime Chambreuil,Sven Werlen, ," -#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen" +#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen, ," +#~ "Launchpad Contributions:,Funatiker,Jakob Kramer,Jarosław Ogrodnik,Marcel " +#~ "Schmücker,Maxime Chambreuil,Michael Keppler,Sven Werlen,Sven Werlen" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "Ihre E-Mail-Adressen,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com,,sven.werlen@gmail.com" +#~ "chambreuil@gmail.com,,sven.werlen@gmail.com,,,,,nobodythere@gmail.com," +#~ "versus666@hotmail.de,maxime.chambreuil@gmail.com,Bananeweizen@gmx.de,," +#~ "sven.werlen@gmail.com" diff --git a/sflphone-client-gnome/po/es/es.po b/sflphone-client-gnome/po/es/es.po index a40c09ce90e8d1106ba4f53f66c7d832e4701a63..75d66eafa6bfb3bb67339cf6dc7d051cc0af6e91 100644 --- a/sflphone-client-gnome/po/es/es.po +++ b/sflphone-client-gnome/po/es/es.po @@ -9,173 +9,180 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 16:12+0000\n" +"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "No registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Intentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Error" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Falló la autenticación" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "Red Inaccesible" +msgstr "Red inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "_Parte del servidor" +msgstr "Servidor inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "Error de configuración Stun" +msgstr "Error de configuración de Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "Servidor stun inválido" +msgstr "Servidor Stun no válido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Listo" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Inválido" +msgstr "No válido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Usando la cuenta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Ninguna cuenta registrada" +msgstr "No hay ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -"Incapaz de conectar con el servidor SFLphone.\n" -" Asegúrese que el demonio esté funcionando." +"No se pudo conectar con el servidor de SFLphone.\n" +"Asegúrese de que el demonio está en ejecución." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "Llamadas IP directas" +msgstr "Llamada SIP directa" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Error: Codecs de audio no encontrados.\n" -"\n" -"</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " -"directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoy a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ayer a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x a las %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de reproducción" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -"<b>Notificación de Pulseaudio</b>\n" +"Notificación de Pulseaudio\n" "\n" "Pulseaudio no está funcionando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "No hay llamada en curso" +msgstr "Hay una llamada en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Hay llamadas en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" -msgstr "Aún quiere salir ?" +msgstr "¿Aún quiere salir?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "Error SFLphone" +msgstr "Error de SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "ZRTP no es compatible con %s\n" +msgstr "El nodo %s no soporta ZRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicación segura no disponible" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "Seguir" +msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Terminar llamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Un error de %s obliga la llamada con %s a caer bajo un modo decifrado.\n" +"Un error de %s obliga a la llamada con %s a realizarse en modo no cifrado.\n" "Razón exacta: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "Negociación ZRTP fracasada" +msgstr "Falló la negociación ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s quiere parar la comunicación segura. Confirmar reanudará la conversación " "sin SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s cuenta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensaje de voz" msgstr[1] "%d mensajes de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Llamando con la cuenta %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Ninguna cuenta configurada" +msgstr "No tiene configurada ninguna cuenta" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "No tiene ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,520 +243,554 @@ msgstr "" "<i>Con:</i> %s\n" "usando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "%s no es compatible con ZRTP." +msgstr "%s no soporta ZRTP" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "Negociación ZRTP fracasada con %s" +msgstr "La negociación ZRTP ha fracasado con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "Volumen de altavoces" +msgstr "Volumen de los altavoces" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volumen del micrófono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "Mostrar ventana principal" +msgstr "Mostrar _ventana principal" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Colgar" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i cuenta configurada" -msgstr[1] "%i cuentas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i cuenta activa" +msgstr[1] "%i cuentas activas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Libreta de contactos" +msgstr "No se ha seleccionado ninguna libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "Libreta de contactos" +msgstr "Libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Mensaje de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "SFLphone es un teléfono VoIP compatible con los protocolos SIP y IAX2" +msgstr "SFLphone es un cliente VoIP compatible con los protocolos SIP e IAX2" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "Sobre SFLphone" +msgstr "Acerca de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Llamar" +msgstr "Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nueva llamada" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Realizar un nuevo llamado" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Descolgar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Colgar" +msgstr "Responder el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Finalizar el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Poner el llamado en espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" +msgstr "Sacar el llamado de espera" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "G_rabar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Archivo de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Error de configuración Stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Cerrar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar al área de notificación" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Salir" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Salir del programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Eliminar la cuenta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Pegar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Pegar el contenido del portapapeles" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "_Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Cuentas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Cambiar sus preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ayuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir el manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transferir a : " +msgstr "Transferir a :" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "G_rabar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Grabar la conversación actual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Desactivado" +msgstr "_Teclado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostrar el teclado de marcado" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Libreta de contactos" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de teléfono" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Editar el número de teléfono antes de llamar" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parámetros de cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconocido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nombre de equipo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Usuario" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Número de buzón de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "Agente de _usuario" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Secreto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informaciónes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nombre de autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Seguridad" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Usa transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Intercambió de clave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desactivado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registración" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registracíon expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Cumplir con RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Red Inaccesible" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Dirección local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Puerto local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Dirección publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Usando STUN " +msgstr "Usando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL del servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual que parámetros locales" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Publicar dirección y puerto:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Puerto publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Códecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configuración de cuentas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Red" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " +"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " +"usted define aqui serán también utilizados si ninguná cuenta puede ser " +"igualada a una llamada entrante o saliente." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor contesta \"" +msgstr "El servidor ha devuelto «%s» (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Cuentas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Cuentas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " cuenta activada" -msgstr[1] " cuenta activada" +msgstr[0] "Hay %d cuenta activada" +msgstr[1] "Hay %d cuentas activadas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "No tienes ninguna cuenta activada" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "General" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usar libreta de contactos de Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de descarga :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tarjetas" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Mostrar fotos de contactos, si están disponibles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Usar los siguientes campos de la libreta de direcciones de Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "P_rofesional" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Personal" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Movil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Libretas de contactos" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Seleccione la libreta de contactos de Evolution a usar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nombre" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "El asistente ha finalizado" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -757,317 +798,322 @@ msgstr "" "Puede comprobar en cualquier momento su estado de registro o modificar la " "configuración de sus cuentas en la ventana de Opciones/Cuentas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Usuario" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Seguridad: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ninguno" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Asistente de creación de cuentas" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "¡Bienvenido al asistente de configuración de cuentas de SFLphone" +msgstr "¡Bienvenido al asistente de creación de cuentas de SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este asistente de instalación le ayudará a configurar una cuenta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Escoja un tipo de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, elija una de las siguientes opciones" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Crear una cuenta SIP/IAX2 gratis en sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar una cuenta SIP o IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configuración de cuenta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, ingrese la siguiente información" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" -msgstr "Communicaciòn segura con _ZRTP" +msgstr "Comunicación segura con _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Dirección de correo opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Esta dirección de correo se usará para mandar sus mensajes de voz" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Correo" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configuración de cuenta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Conversión de Dirección de Red (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Probablemente tiene que activar esto si está detrás de un cortafuegos." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctivar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "¡Enhorabuena!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frecuencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Tasa de transferencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Ancho de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Salida" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detección de actividad de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Reducción de ruido" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gestor de audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configuración de ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Códecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Grabaciones" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Carpeta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione una carpeta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Elija un tono de llmada" +msgstr "Elija un tono de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Archivos de Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuración de cuentas" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento de URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos personalizados en llamada entrante con URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s se remplazará por la URL." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Disparador en una cabecera _SIP específica" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Disparador con una URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Comando a ejecutar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescritura de número de teléfono" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefijar los números marcados con" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " -"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " -"usted define aqui serán también utilizados si ninguná cuenta puede ser " -"igualada a una llamada entrante o saliente." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificación de escritorio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activar notificaciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icono de bandeja del sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Mostrar SFLphone en la barra de tareas" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup ventana principal al recibir llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Nunca mostrar ventana principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder SFLphone al principio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historia de llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Guardar mi historia por lo menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "días" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Sonido" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Libreta de Direcciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Disparadores" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Llamadas IP directas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Accesos directos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenga cuidado: estos accesos directos podrían reemplazar los accesos " +"directos de todo sistema." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Opciones avanzadas por TLS" +msgstr "Opciones avanzadas para TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,139 +1126,118 @@ msgstr "" "diferente transporte TLS para cada cuenta. De cualquier forma, cada uno de " "ellos usará un puerto dedicado, diferente el uno del otro.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Escuchador TLS global (todas cuentas)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Lista de Certificados de Autoridad" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escoge un archivo de lista de CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Archivo del certificado del par público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escoge un certificado de par público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escoge un archivo de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Contraseña de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método de protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifrado TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Nombre del servidor para conección TLS saliente" +msgstr "Nombre del servidor para la conexión TLS saliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" -msgstr "Negociación expirada" +msgstr "Negociación expirada (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Checar certificados entrantes, como un servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Checar certificados de la respuesta, como cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "Requiere certificado para conecciones TLS entrantes" +msgstr "Requiere certificado para conexiones TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opciones ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar Hello Hash en S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Preguntar al usuario de confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Prevenir si ZRTP no es compatible" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Presentar SAS una vez para eventos en espera" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opciones SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Haz clic aqui para cambiar el type de busqueda" +msgstr "Pulse aquí para cambiar el tipo de búsqueda" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar en llamadas pérdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar en llamadas entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar en llamadas salientes" -#~ msgid "IP call - %s" -#~ msgstr "Llamada IP - %s" - -#~ msgid "Codec" -#~ msgstr "Códec" - -#~ msgid "Network" -#~ msgstr "Red" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Alla " - -#~ msgid "is " -#~ msgstr "es " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detección de actividad de voz" -#~ msgid "are " -#~ msgstr "son " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Silenciar otras aplicaciones durante una llamada" - -#~ msgid "SIP Port" -#~ msgstr "Puerto SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activar _notificaciones de mensajes de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Guarda informaciòn SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Reducción de ruido" #~ msgctxt "account state" #~ msgid "Registered" @@ -1241,6 +1266,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "SFLphone KDE Client" #~ msgstr "Cliente KDE de SFLphone" +#~ msgid "Codec" +#~ msgstr "Códec" + #~ msgid "Main screen" #~ msgstr "Pantalla principal" @@ -1281,9 +1309,6 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Enable Stun" #~ msgstr "Activar STUN" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Aplicar" @@ -1296,6 +1321,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio" #~ msgstr "PulseAudio" +#~ msgid "SIP Port" +#~ msgstr "Puerto SIP" + #~ msgctxt "End of 'Keep my history for at least n days.'" #~ msgid "days" #~ msgstr "días" @@ -1452,12 +1480,23 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Cuidado:número de resultatos excede el maximo a mostrar." +#~ msgid "IP call - %s" +#~ msgstr "Llamada IP - %s" + #~ msgid "_Account creation wizard" #~ msgstr "Asistente de configuración de cuentas" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i cuenta configurada" +#~ msgstr[1] "%i cuentas configuradas" + #~ msgid "_Enable this account" #~ msgstr "_Habilitar esta cuenta" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activar _notificaciones de mensajes de voz" + #~ msgctxt "Beginning of 'Keep my history for at least n days.'" #~ msgid "_Keep my history for at least" #~ msgstr "_Guardar mi historia por lo menos" @@ -1465,6 +1504,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de sonido Pulseaudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Silenciar otras aplicaciones durante una llamada" + #~ msgid "User" #~ msgstr "Usuario" @@ -1723,6 +1765,17 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Command to run" #~ msgstr "Comando a ejecutar" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Error: Codecs de audio no encontrados.\n" +#~ "\n" +#~ "</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " +#~ "directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" + #~ msgid "Keep my history for at least" #~ msgstr "Guardar el historial al menos" @@ -1770,13 +1823,39 @@ msgstr "Buscar en llamadas salientes" #~ "\"Más\" o \"Menos\". Edita la cuenta seleccionada con el formulario a la " #~ "derecha." +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "There " +#~ msgstr "Alla " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Guarda informaciòn SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Llamadas IP directas" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "are " +#~ msgstr "son " + +#~ msgid "is " +#~ msgstr "es " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Maxime Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ," #~ "Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Andres Mujica,Maxime Chambreuil" +#~ "Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad Contributions:," +#~ "Andres Mujica,Daniel Mustieles,Jorge E. Gómez,Maxime Chambreuil,Nicolás " +#~ "M. Zahlut,Xuacu Saturio" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1784,4 +1863,6 @@ msgstr "Buscar en llamadas salientes" #~ "maxime.chambreuil@savoirfairelinux.com,,,andres.mujica@seaq.com.co,maxime." #~ "chambreuil@gmail.com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail." #~ "com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres." -#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com" +#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres.mujica@seaq.com." +#~ "co,daniel.mustieles@gmail.com,jorge@jorgee.net,maxime.chambreuil@gmail." +#~ "com,nzahlut@live.com,xuacusk8@gmail.com" diff --git a/sflphone-client-gnome/po/fr/fr.po b/sflphone-client-gnome/po/fr/fr.po index c7ace4f55b20cd568eb48572c1eb71af406ac753..f790d7fe8a901cf472cda6a07f34b95d758f348e 100644 --- a/sflphone-client-gnome/po/fr/fr.po +++ b/sflphone-client-gnome/po/fr/fr.po @@ -7,70 +7,74 @@ # POT-Creation-Date: 2008-01-13 01:39+0100\n msgid "" msgstr "" -"Project-Id-Version: SFLphone 0.9.4\n" +"Project-Id-Version: SFLphone 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-29 08:48+0000\n" +"Last-Translator: Christophe CATARINA <Unknown>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-11-12 18:12+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "En cours..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erreur" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Réseau non trouvé" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Serveur introuvable" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erreur de configuration Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Serveur Stun invalide" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Prêt" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valide" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilise le compte" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Pas de compte enregistré" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -78,25 +82,28 @@ msgstr "" "Impossible de se connecter au serveur SFLphone.\n" " Assurez-vous que le démon est lancé." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Appel direct SIP" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erreur: Aucun codec audio trouvé.\n" -"\n" -"</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " -"répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "Aujourd'hui, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "Hier, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x, à %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -106,7 +113,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique de sortie" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -116,7 +123,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique d'entrée" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -126,43 +133,43 @@ msgstr "" "\n" "Pulseaudio n'est pas lancé" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Vous avez un appel en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Vous avez des appels en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Voulez-vous quitter?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erreur SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP n'est pas supporté par %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Communications sécurisées non disponibles" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuer" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Arrêter l'appel" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -171,11 +178,11 @@ msgstr "" "L'appel avec %s est passé en mode non-crypté à cause d'une erreur %s.\n" "Raison exacte: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s ne désire plus utiliser la communication sécurisée. Confirmer que vous " "voulez continuer sans ZRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmer Communication en clair" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmer" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s account : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d message vocal" msgstr[1] "%d messages vocaux" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Appel avec le compte %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Compte courant" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Vous n'avez pas configuré de compte" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Vous n'avez aucun compte enregistré" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,525 +243,555 @@ msgstr "" "<i>Avec:</i> %s\n" "using %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s ne supporte pas ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "La négociation ZRTP avec %s a échoué" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>De:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume des hauts-parleurs" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume du micro" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Raccrocher" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i compte configuré" -msgstr[1] "%i comptes configurés" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i compte actif" +msgstr[1] "%i comptes actifs" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Aucun carnet d'adresses sélectionné" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Boite vocale (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "SFLphone est un client VoIP compatible avec les protocoles SIP et IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "A propos de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Actions" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nouvel appel" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Appeler" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Décrocher" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Répondre à l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Raccrocher" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Terminer l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Mettre l'appel en attente" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Reprendre" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Reprendre l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Enregistrer" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Enregistrer la conversation courante" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "_Assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Lancer l'assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Appeler la boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Fermer" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimiser dans la barre des tâches" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Quitter" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Quitter le programme" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editer" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Copier la sélection" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "C_oller" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Coller le contenu du presse-papiers" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Effacer l'_historique" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Effacer l'historique" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Co_mptes" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Éditer les comptes" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Modifier les préférences" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "A_ffichage" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "A_ide" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Sommaire" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Ouvrir le manuel" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "À propos de cette application" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transférer" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transférer à : " +msgstr "Transférer à :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "Enregistrer" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Enregistrer la conversation courante" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Afficher la _barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Afficher la barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Clavier" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Afficher le clavier" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Contrôle du _volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Afficher les controles du volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historique" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historique d'appels" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Rappeler" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Éditer le numéro" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Éditer le numéro de téléphone avant d'appeler" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Paramètres du Compte" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "A_lias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "P_rotocole" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Inconnu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Serveur" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Usa_ger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 -#, fuzzy +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" -msgstr "Mot de passe" +msgstr "Afficher le mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Boite vocale #" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_User-agent" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Identification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informations" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nom d'authentification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sécurité" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Utiliser un transport TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Échange de clé SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Désactivé" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "Respecter RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Interface réseau" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse locale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Adresse de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utiliser STUN " +msgstr "Utiliser STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL du serveur STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Identique aux paramètres locaux" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Configurer l'adresse et le port à publier" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Port de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Paramètre des comptes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Général" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avancé" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Réseau" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " +"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " +"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " +"ou sortant." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Le serveur a répondu \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocole" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Statut" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Comptes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Comptes Configurés" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " %d compte actif" -msgstr[1] " %d comptes actifs" +msgstr[0] "%d compte actif" +msgstr[1] "%d comptes actifs" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Vous n'avez aucun compte actif" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Général" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Utiliser les carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de téléchargement :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "entrées" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Afficher la photo si disponible" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Utiliser les champs suivants des carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Professionnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "P_ersonnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobiles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Carnets d'adresses" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Sélectionnez les carnets d'adresses d'Evolution à utiliser" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nom" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Cet assistant est maintenant terminé." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -762,319 +799,322 @@ msgstr "" "Vous pouvez à tout moment vérifier votre état d'enregistrement ou modifier " "les paramètres de vos comptes dans la fenêtre Options/Comptes." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Serveur" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nom d'utilisateur" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sécurité: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Aucun" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistant de création de compte de SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bienvenue dans l'assistant de création de compte de SFLphone !" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Cet assistant vous guidera dans la configuration d'un compte." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocoles VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Sélectionnez un type de compte" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Compte" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Veuillez sélectionner une des options suivantes" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Créer un compte SIP/IAX2 gratuit sur sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Enregistrer un compte SIP ou IAX2 existant" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Paramètres de compte SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Veuillez remplir les champs suivants" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Communications sécurisées avec _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Adresse courriel optionnelle" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Vos messages vocaux seront envoyés par courriel à cette adresse." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "A_dresse courriel" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Paramètres de compte IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Vous devriez probablement activer cette option si vous vous trouvez derrière " "un pare-feu." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctiver STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "S_erveur STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Enregistrement du compte" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Félicitations!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Fréquence" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bande passante" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Greffon ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Sortie" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrée" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Détection de l'activité de la voix" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Réduction du bruit (Compresseur extenseur LBR)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Interface Audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Paramètres ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Enregistrements" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Dossier de destination" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Choisissez un dossier" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Activer les sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Sélectionner une sonnerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Fichier Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Paramètre des comptes" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argument URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Commandes personnalisées lors d'appels entrants avec une URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s sera remplacé par l'URL passé en argument." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Déclencher sur un entête _SIP spécifique" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Déclencher en _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Commande à e_xécuter" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Réécriture des numéros appelés" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Préfixer les numéros composés par" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " -"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " -"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " -"ou sortant." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifications de Bureau" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activer les notifications" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icône dans la barre des tâches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Montrer SFLphone dans la barre des tâches" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Faire apparaître la fenêtre _principale lors d'appel entrant" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Ne _jamais afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Cacher la fenêtre de SFLphone au démarrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historique des appels" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Garder mon historique au moins" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "jours" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Carnet d'adresse" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ancrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Appels IP" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Raccourcis claviers" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Soyez prudent; ces raccourcis peuvent entrer en conflit avec ceux du système." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Options avancées TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transport TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1087,143 +1127,118 @@ msgstr "" "TLS différent pour chaque compte. Cependant, chacun écoutera sur un port " "différent.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Port TLS global (pour tous les comptes)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Liste des autorités de certification" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Choisir une liste d'AC (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Fichier de certificats de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Sélectionner le certificat de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Choisir une clé privée (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Mot de passe pour la clé privée" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Méthode pour TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Liste de cryptogramme TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instance du serveur pour les connections TLS sortantes" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Expiration de la négociation" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "En tant que serveur, vérifier les certificats entrants" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "En tant que client, vérifier les certificats dans les réponses" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Exiger un certificat pour les connexions TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Options de ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Envoyer le hash de Hello dans S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Demander à l'utilisateur de confirmer le SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Avertir si ZRTP n'est pas supporté" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Afficher le SAS seulement une fois sur les mises en attente" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Options SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Recourrir à RTP si SDES échoue" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Rechercher dans tous" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Cliquez ici pour changer le type de recherche" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Rechercher dans les appels manqués" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Rechercher dans les appels entrants" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Rechercher dans les appels sortants" -#~ msgid "Configuration File" -#~ msgstr "Fichier de configuration" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Détection de l'activité de la voix" -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "" -#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" - -#~ msgid "IP call - %s" -#~ msgstr "Appel IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Réseau" - -#~ msgid "Manually" -#~ msgstr "Manuelle" - -#~ msgid "There " -#~ msgstr "Il y " - -#~ msgid "is " -#~ msgstr "a " - -#~ msgid "are " -#~ msgstr "a " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Éteindre le _son des autres applications lors d'un appel" - -#~ msgid "SIP Port" -#~ msgstr "Port SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transport UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activer les notifications de boîte _vocale" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Réduction du bruit (Compresseur extenseur LBR)" #~ msgctxt "account state" #~ msgid "Registered" @@ -1286,6 +1301,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Default account" #~ msgstr "Compte par défaut" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone Client KDE" @@ -1475,6 +1493,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Clear history" #~ msgstr "Effacer l'historique" +#~ msgid "SIP Port" +#~ msgstr "Port SIP" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Déclencher sur un entête SIP spécifique" @@ -1496,15 +1517,40 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Attention:tous les résultats ne sont pas affichés." +#~ msgid "IP call - %s" +#~ msgstr "Appel IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erreur: Aucun codec audio trouvé.\n" +#~ "\n" +#~ "</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " +#~ "répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistant de création de compte" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i compte configuré" +#~ msgstr[1] "%i comptes configurés" + #~ msgid "_Enable this account" #~ msgstr "Activer ce compte" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activer les notifications de boîte _vocale" + #~ msgid "PulseAudio sound server" #~ msgstr "Serveur de son PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Éteindre le _son des autres applications lors d'un appel" + #~ msgid "Port" #~ msgstr "Port" @@ -1770,9 +1816,6 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1817,12 +1860,42 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Registration _expire" #~ msgstr "Expiration d'enregistrement" +#~ msgid "Manually" +#~ msgstr "Manuelle" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transport UDP" + +#~ msgid "Configuration File" +#~ msgstr "Fichier de configuration" + +#~ msgid "There " +#~ msgstr "Il y " + +#~ msgid "are " +#~ msgstr "a " + +#~ msgid "is " +#~ msgstr "a " + +#~ msgid "Direct IP calls" +#~ msgstr "Appels IP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "" +#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Jérémy Quentin, ,Launchpad Contributions:,Emmanuel Milou,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ," -#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil" +#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Alexandre Savard,Christophe CATARINA,Emmanuel Milou,Maxime " +#~ "Chambreuil,Pierre Slamich" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1830,4 +1903,6 @@ msgstr "Rechercher dans les appels sortants" #~ "jeremy.quentin@savoirfairelinux.com,,,emmanuel.milou@savoirfairelinux.com," #~ "maxime.chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." #~ "chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,alexandre.savard@savoirfairelinux.com,,emmanuel." +#~ "milou@savoirfairelinux.com,maxime.chambreuil@gmail.com,pierre." +#~ "slamich@gmail.com" diff --git a/sflphone-client-gnome/po/it/it.po b/sflphone-client-gnome/po/it/it.po index cf8644aea926a034434257d7637e4c5c02e5a84c..f9e4a8ddbc573b6a4541039a465d08386cc36435 100644 --- a/sflphone-client-gnome/po/it/it.po +++ b/sflphone-client-gnome/po/it/it.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-14 17:47+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-03-21 18:30+0000\n" +"Last-Translator: Milo Casagrande <milo@casagrande.name>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrato" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non registrato" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Registrazione in corso..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Errore" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticazione fallita" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host non raggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Server STUN non valido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Account in uso:" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Impossibile connettersi al server SFLphone.\n" "Accertarsi che il demone sia in esecuzione." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Chiamata SIP diretta" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Errore: Non è stato trovato alcun codec audio.</b>\n" -"\n" -"I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." -"sflphone</b> della cartella home dell'utente (</i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -103,7 +110,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di riproduzione" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -112,7 +119,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di registrazione" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -121,941 +128,976 @@ msgstr "" "Notifica PulseAudio\n" "PulseAudio non è in esecuzione" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "C'è una chiamata in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Ci sono chiamate in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Vuoi veramente uscire?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Errore SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "Negoziazione ZRTP fallita" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Account %s: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Da</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d messaggio vocale" msgstr[1] "%d messaggi vocali" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Chiamata tramite account %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Nessun account configurato" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s non supporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "Negoziazione ZRTP fallita con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" -msgstr "" +msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume altoparlante" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume microfono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Mostra la finestra principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Chiudi" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i account configurato" -msgstr[1] "%i account configurati" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Segreteria telefonica" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Segreteria telefonica (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone è un client VoIP compatibile con i protocolli SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Informazioni su SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Effettua una nuova chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "Rispondi" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Chiudi" +msgstr "Rispondi alla chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Metti in attesa la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Registra" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d messaggio vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Modifica" +msgstr "_Esci" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Esce dal programma" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Modifica" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Elimina l'account selezionato" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Account" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "Preferenze" +msgstr "Preferen_ze" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Modifica le preferenze" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Visualizza" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Aiuto" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Inoltra" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Inoltra a: " +msgstr "Inoltra a:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Registra" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Regista la conversazione in corso" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Mostra tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostra la tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parametri account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Pseudonimo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocollo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Sconosciuto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Nome _host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Nome _utente" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Numero segreteria telefonica" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 -msgid "Authentication" +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autenticazione" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Scadenza registrazione" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codec" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Impostazioni dell'account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Generale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzate" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rete" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocollo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Stato" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Account" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Account configurati" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usa la rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tessere" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Mostra la foto del contatto se disponibile" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campi dalla rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Lavoro" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Home" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "Cellulare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Rubriche indirizzi" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selezionare la rubrica di Evolution da usare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "La procedura guidata è terminata." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Pseudonimo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome utente" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" "Benvenuti alla procedura guidata per la creazione di un account SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Questa procedura permetterà di configurare un account." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolli VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selezionare un tipo di account" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Account" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Scegliere una delle seguenti opzioni" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Creare un account SIP/IAX2 gratuito su sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrare un account SIP o IAX2 esistente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Impostazioni account SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Indirizzo email opzionale" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "L'indirizzo email sarà usato per l'invio dei messaggi della segreteria " "telefonica." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "Indirizzo _email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Impostazioni account IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Dovrebbe essere abilitato se ci si trova dietro ad un firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Abilita STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "Server STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registrazione account" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Congratulazioni!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenza" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uscita" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Ingresso" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Suonerie" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Impostazioni ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codec" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Registrazioni" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Cartella di destinazione" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleziona una cartella" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Abilita suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Selezionare una suoneria" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "File audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Impostazioni dell'account" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Rileva header SIP specifico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Rileva URL su IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando da eseguire" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Riscrittura numero telefonico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "Prefisso da aggiungere ai numeri da chiamare" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Abilita notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icona per area di notifica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Mostra la finestra principale all'arrivo delle chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Non mostrare mai la finestra principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Nascondi la finestra di SFLphone all'avvio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Mantieni la cronologia per almeno" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "giorni" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferenze" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1064,119 +1106,116 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Cerca tra tutte le chiamate" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Fare clic qui per cambiare il tipo di ricerca" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Cerca tra le chiamate perse" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Cerca tra le chiamate ricevute" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Cerca tra le chiamate effettuate" -#~ msgid "IP call - %s" -#~ msgstr "Chiamata IP diretta - %s" - #~ msgid "Codec" #~ msgstr "Codec" -#~ msgid "Network" -#~ msgstr "Rete" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Abilita notifiche messaggi vocali" - #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1201,9 +1240,6 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Applica" @@ -1228,6 +1264,9 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Enable notifications" #~ msgstr "Attiva le notifiche" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Port" #~ msgstr "Port" @@ -1252,9 +1291,17 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Command to run" #~ msgstr "Comando da eseguire" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i account configurato" +#~ msgstr[1] "%i account configurati" + #~ msgid "_Enable this account" #~ msgstr "Abilita questo account" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Abilita notifiche messaggi vocali" + #~ msgid "Voicemail number" #~ msgstr "Numero segreteria telefonica" @@ -1297,9 +1344,15 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Prefix dialed numbers with" #~ msgstr "Prefisso da aggiungere al numero da chiamare" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" + #~ msgid "Keep my history for at least" #~ msgstr "Mantieni la cronologia per almeno" +#~ msgid "IP call - %s" +#~ msgstr "Chiamata IP diretta - %s" + #~ msgid "Registration _expire" #~ msgstr "Scadenza registrazione" @@ -1316,15 +1369,27 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Account creation wizard" #~ msgstr "Procedura guidata creazione account" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Errore: Non è stato trovato alcun codec audio.</b>\n" +#~ "\n" +#~ "I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." +#~ "sflphone</b> della cartella home dell'utente (</i>%s</i>)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " #~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil" +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil,Milo Casagrande" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,maxime.chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,milo@casagrande.name" diff --git a/sflphone-client-gnome/po/pt_BR/pt_BR.po b/sflphone-client-gnome/po/pt_BR/pt_BR.po index 0a5429e6c0323561c75343ee5b5b977440bb1ae2..42a553a175d85f07feb573e84d017da5d38c1928 100644 --- a/sflphone-client-gnome/po/pt_BR/pt_BR.po +++ b/sflphone-client-gnome/po/pt_BR/pt_BR.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: kalib <kalibslack@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-02 08:31+0000\n" +"Last-Translator: Gustavo Guidorizzi <Unknown>\n" "Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Tentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "A autenticação falhou" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Servidor stun inválido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Pronto" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilizando conta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Sem contas registradas" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Incapaz de conectar ao servidor SFLphone.\n" "Tenha certeza de que o daemon está rodando." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Ligações IP diretas" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erro: Não foram encontrados codecs de áudio.\n" -"\n" -"</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</i> " -"ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoje às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ontem às %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x às %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de reprodução" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "Pulseaudio não está rodando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Existe uma ligação em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Existem ligações em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Você ainda deseja sair?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erro no SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP não é suportado pelo peer %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicação Segura Indisponível" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Finalizar Chamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -169,11 +176,11 @@ msgstr "" "Um erro %s forçou a ligação com %s a mudar para um modo não encriptado.\n" "Motivo exato: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Negociação ZRTP falhou" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -182,50 +189,50 @@ msgstr "" "%s deseja finalizar a utilização de comunicação segura. A confirmação irá " "retomar sem SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar Vá Limpar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s conta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensagem de voz" msgstr[1] "%d mensagens de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Ligando com %s conta <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Você não tem contas configuradas" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Você não tem contas registradas" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -234,520 +241,554 @@ msgstr "" "<i>Com:</i>%s \n" "utilisando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s não suporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Negociação ZRTP falhou com %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Com:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume dos auto-falantes" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume do microfone" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Apresentar janela principal" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Desligar" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i conta configurada" -msgstr[1] "%i contas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i conta ativa" +msgstr[1] "%i contas ativas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone é um cliente VoIP compatível com os protocolos SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Sobre o SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nova ligação" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Faz uma nova chamada" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Atender" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Responder a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Desligar" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Terminar a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Colocar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gravar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Encerrar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Arquivo de Configuração" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensagem de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Fechar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar para a bandeja do sistema" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Sair" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Sair do programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta selecionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Colar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Colar o conteúdo da Área de Transferência" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Limpar _histórico" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpar histórico" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Altera as suas preferências" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Exibir" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Continuar" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir o manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transfirir para: " +msgstr "Transfirir para:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gravar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Gravar a conversação atual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Exibir barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostra a barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controle de Volumes" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Exibir controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Ligar de volta" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de telefone" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Edite o número de telefone antes de fazer uma ligação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parâmetros de conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Apelido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nome do host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Nome do usuário" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Senha da caixa postal de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Segredo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Credencial" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nome de autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Segurança" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Use transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Troca de chave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registro" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registro expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_De acordo com RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Endereço local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Porta local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Endereço publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utilizando STUN " +msgstr "Utilizando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL do servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual aos parâmetros locais" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Indique endereço e portas publicadas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Porta publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rede" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil é utilizado quando você deseja alcançar um ponto remoto " +"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " +"configurações que você definir aqui também serão utilizadas se nenhuma conta " +"puder ser combinada a uma chamada de entrada ou de saída." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor retornou \"" +msgstr "O Servidor retornou \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Contas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " conta ativa" -msgstr[1] " conta ativa" +msgstr[0] "conta ativa" +msgstr[1] "conta ativa" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Você não possui uma conta ativa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Use o catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de download :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Apresentar foto de contato caso disponível" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campos do catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Trabalho" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Casa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Celular" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Catálogos de endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selecione qual catálogo de endereços do Evolution deseja utilizar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Este assistente está finalizado." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -755,320 +796,325 @@ msgstr "" "Você pode a qualquer momento checar seu estado de registro ou modificar seus " "parâmetros de conta na janela Opções/Contas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Apelido" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome de usuário" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Segurança: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP rascunho-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nenhum" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistente de criação de contas do SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bem vindo ao assistente de criação de contas do SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este assistente de instalação irá lhe ajudar a configurar uma conta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selecione um tipo de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, selecione uma das seguintes opções" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Criar uma conta gratuita SIP/IAX2 em sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar uma conta SIP ou IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configurações de conta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, preencha as informações a seguir" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicações seguras com _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de e-mail opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Este endereço de email será utilizado para enviar as mensagens de voz em sua " "caixa postal." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_endereço de email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configurações de conta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Você provavelmente precise habilitar isto se estiver por trás de um firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Ha_bilitar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de bits" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detecção de atividade de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringtones" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Redução de ruído (Utilização de banda-estreita)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gerenciador de Som" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configurações do ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Selecione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Escolha um ringtone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Arquivos de Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento da URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos padrões de ligações recebidas com URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s será substituído pela URL fornecida." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Gancho em um cabeçalho _SIP específico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Gancho em uma URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando a _executar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescrevendo número do telefone" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefixo de números discados com" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil é utilizado quando você deseja alcançar um ponto remoto " -"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " -"configurações que você definir aqui também serão utilizadas se nenhuma conta " -"puder ser combinada a uma chamada de entrada ou de saída." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificações de Desktop" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Habilitar notificações" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone da bandeja do sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup na janela principal ao receber ligação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Nu_nca apresentar popup na janela principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder o SFLphone na _inicialização" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Manter meu histórico por pelo ao menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ganchos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Ligações IP diretas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Atalhos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenha cuidado: estes atalhos podem predominar sobre atalhos definidos " +"globalmente." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opções avançadas para o TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1083,143 +1129,125 @@ msgstr "" "funcionar em uma\n" "porta dedicada, uma diferente da outra\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Certificado da lista de Autoridades" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escolha um arquivo de lista CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Arquivo certificado endpoint público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escolha um certificado endpoint público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escolha um arquivo de chave privada (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Senha para a chave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método do protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifras TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instância de nome do servidor para saída da conexão TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Tempo de negociação expirado (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Verificar os certificados de entrada, como um servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Verificar certificados de resposta, como um cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requer certificado para conexões tls entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opções ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar um Hash Olá no S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Pergunta ao Usuário para Confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Alerta se o ZRTP não é suportado" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Apresenta o SAS uma vez para realizar eventos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opções do SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de pesquisa" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar por ligações perdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar por ligações recebidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar por ligações feitas" -#~ msgid "IP call - %s" -#~ msgstr "Ligação IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Ali " - -#~ msgid "is " -#~ msgstr "está " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detecção de atividade de voz" -#~ msgid "are " -#~ msgstr "estão " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Silenciar outras aplicações durante uma ligação" - -#~ msgid "SIP Port" -#~ msgstr "Porta SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Habilitar _notificações de correio de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Armazenar as credenciais SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Redução de ruído (Utilização de banda-estreita)" #~ msgid "Stun Server" #~ msgstr "Servidor STUN" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1247,9 +1275,6 @@ msgstr "Buscar por ligações feitas" #~ msgid "Apply" #~ msgstr "Aplicar" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Add" #~ msgstr "Adicionar" @@ -1274,6 +1299,9 @@ msgstr "Buscar por ligações feitas" #~ msgid "Enable notifications" #~ msgstr "Habilitar notificações" +#~ msgid "SIP Port" +#~ msgstr "Porta SIP" + #~ msgid "NAT Traversal" #~ msgstr "NAT Traversal" @@ -1458,6 +1486,20 @@ msgstr "Buscar por ligações feitas" #~ msgid "Prefix dialed numbers with" #~ msgstr "Números discado com o prefixo" +#~ msgid "IP call - %s" +#~ msgstr "Ligação IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erro: Não foram encontrados codecs de áudio.\n" +#~ "\n" +#~ "</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</" +#~ "i> ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistante de criação de conta" @@ -1482,19 +1524,58 @@ msgstr "Buscar por ligações feitas" #~ "Pressionando \"aplicar\" a camada de rede será reiniciada. De outra forma " #~ "o SFKPhone teria que ser reiniciado." +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Habilitar _notificações de correio de voz" + #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de som PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Silenciar outras aplicações durante uma ligação" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i conta configurada" +#~ msgstr[1] "%i contas configuradas" + +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "There " +#~ msgstr "Ali " + +#~ msgid "are " +#~ msgstr "estão " + +#~ msgid "is " +#~ msgstr "está " + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Armazenar as credenciais SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Ligações IP diretas" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil,kalib, ,Launchpad " #~ "Contributions:,Maxime Chambreuil,kalib, ,Launchpad Contributions:,Maxime " -#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib" +#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib, ," +#~ "Launchpad Contributions:,André Gondim,Gustavo Guidorizzi,Maxime " +#~ "Chambreuil,Ricardo Martins,Thaynã Moretti,kalib" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,,maxime." #~ "chambreuil@gmail.com,kalibslack@gmail.com,,,maxime.chambreuil@gmail.com," -#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com" +#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,," +#~ "andregondim@ubuntu.com,,maxime.chambreuil@gmail.com,ricardo.macedo@yahoo." +#~ "com.br,,kalibslack@gmail.com" diff --git a/sflphone-client-gnome/po/ru/ru.po b/sflphone-client-gnome/po/ru/ru.po index 14b3aa5dd8b52a0d5e0d4baafc1ee6278b5fe18f..ddb79013273d8850c7265b9bb4f3169a6fc0c2b4 100644 --- a/sflphone-client-gnome/po/ru/ru.po +++ b/sflphone-client-gnome/po/ru/ru.po @@ -7,114 +7,122 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-12-08 20:46+0000\n" -"Last-Translator: Hussein Abdallah <hussein.abdallah@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-11 07:48+0000\n" +"Last-Translator: DMG <Unknown>\n" "Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: \n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Не зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." -msgstr "Подключение..." +msgstr "Пытаюсь..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Ошибка" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Аутентификация не удалась" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Сеть недоступна" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "Узел сети недоступен" +msgstr "Узел недоступен" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Ошибка конфигурации Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Неверный сервер Stun" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Готово" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Ошибка" +msgstr "Неверный" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" -msgstr "Используется учетная запись" +msgstr "Использовать аккаунт" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" "Невозможно подключиться к SFLphone-серверу.\n" -"Проверьте если демон работает." +"Убедитесь что он работает." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Прямые IP-звонки" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Ошибка: звуковые кодеки не найдены.\n" -"\n" -"</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>.sflphone</" -"b> каталоге в вашем домашнем каталоге( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "сегодня в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "вчера в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A в %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x в %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства проигрывания" +"Ошибка при попытке открытия устройства воспроизведения звука" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства входа" +"Ошибка при попытке открытия устройства захвата звука" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -122,86 +130,87 @@ msgid "" msgstr "" "<b>Предупреждение Pulseaudio</b>\n" "\n" -"Pulseaudio не работает" +"Pulseaudio не запущен" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "Один текущий разговор." +msgstr "Звонок ещё не окончен." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." -msgstr "Несколько текущих разговоров." +msgstr "Несколько звонков ещё не окончены." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Вы уверенны что хотите выйти?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Ошибка SFLphone." -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP не поддерживается устройством %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" -msgstr "Зашифрованная связь недоступна" +msgstr "Зашифрованная связь недоступна." -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Продолжить" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Из-за ошибки %s переговор с %s перейдëт в не зашифрованный режим.\n" +"Из-за возникновения ошибки %s разговор с %s перейдëт в не зашифрованный " +"режим.\n" "Точная причина: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Неудачный обмен информации ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -"%s хочет остановить зашифрованную связь. В случае подтверждения переговор " -"продолжится без SRTP.\n" +"%s хочет отказаться от использования зашифрованной связи. В случае " +"подтверждения разговор продолжится без SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Подтвердить переход на незашифрованную связь" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Подтвердить" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s аккаунт: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>От:</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" @@ -209,866 +218,906 @@ msgstr[0] "%d голосовое письмо" msgstr[1] "%d голосовые письма" msgstr[2] "%d голосовые письма" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" -msgstr "Звонок с учëтной записью %s <i>%s</i>" +msgstr "Вызов %s с помощью аккаунта <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" -msgstr "Нынешняя учëтная запись" +msgstr "Текущий аккаунт" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Вы не настроили ни одной учëтной записи" +msgstr "У вас нет настроенных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" -msgstr "У вас нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -"<i>с</i> %s\n" +"<i>с:</i> %s\n" "используя %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s не поддерживает ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Обмен информации ZRTP не удался (%s)" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>с</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Громкость" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" -msgstr "Громкость микрофона" +msgstr "Чувствительность микрофона" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Показать главное окно" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Положить трубку" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "Настроена одна учëтная запись" -msgstr[1] "Настроены %i учëтные записи" -msgstr[2] "Настроены %i учëтные записи" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i активный аккаунт" +msgstr[1] "%i активных аккаунтов" +msgstr[2] "%i active accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" -msgstr "Автоответчик" +msgstr "Голосовая почта" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Нет выбранных адресных книг" +msgstr "Адресная книга не выбрана" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" -msgstr "Автоответчик (%i)" +msgstr "Голосовая почта (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone - SIP и IAX2-совместимый VoIP-клиент" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "О SFLphone" +msgstr "О программе SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Звонок" +msgstr "_Вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" -msgstr "_Новый звонок" +msgstr "_Новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "Позвонить" +msgstr "Сделать новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Взять трубку" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "Ответить" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Положить трубку" +msgstr "Ответить на вызов" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "Удержать звонок" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "_Возобновить разговор" +msgstr "_Снять вызов с удержания" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "Возобновить разговор" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Записать" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Записать переговор" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Запустить мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" -msgstr "%d голосовое письмо" +msgstr "Прослушивание голосовой почты" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Закрыть" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "Уменьшить в значок" +msgstr "Свернуть в трей" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Правка" +msgstr "В_ыход" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Выйти из программы" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Правка" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Копировать" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "Копировать видимое" +msgstr "Копировать выделенное" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "_Вставить" +msgstr "В_ставить" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Вставить из буфера обмена" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" -msgstr "_Стереть журнал" +msgstr "Очистить журнал" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" -msgstr "Очистить историю" +msgstr "Очистить журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" -msgstr "_Учëтные записи" +msgstr "_Аккаунты" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" -msgstr "Изменить ваши учëтные записи" +msgstr "Нстройка аккаунта" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "_Предпочтения" +msgstr "_Настройки" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "Изменить ваши предпочтении" +msgstr "Изменить ваши настройки" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Вид" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Помощь" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" -msgstr "Продолжить" +msgstr "Содержание" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "Открыть справочник " +msgstr "Открыть руководство пользователя" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" -msgstr "Идентификация" +msgstr "О программе" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресация вызова" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресовать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Запись" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Записать текущий разговор" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "Показать панель инструментов" +msgstr "Показать _панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "Показать панель инструментов" +msgstr "Показывать панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Панель набора номера" +msgstr "_Номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "Показать панель набора номера" +msgstr "Показывать _номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "_Настройки громкости" +msgstr "Настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "_Настройки громкости" +msgstr "Показывать настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" -msgstr "Журнал" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" -msgstr "Журнал звонков" +msgstr "История вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать звонок" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" -msgstr "_Перезвонить" +msgstr "Обратный вызов" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" -msgstr "Мобильный телефон" +msgstr "Изменить номер телефона" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" -msgstr "Изменить номер телефона перед звонком" +msgstr "Изменить номер телефона перед вызовом" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Параметры учетной записи" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Псевдоним" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "Пр_отокол" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Неизвестный" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Имя или IP-адрес _сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" -msgstr "Имя или _номер пользователя" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Па_роль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Показать пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" -msgstr "Номер _автоответчика #" +msgstr "Номер _голосовой почты" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_Агент-пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" -msgstr "Идентификация" +msgstr "Аутентификация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" -msgstr "Секретный" +msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Параметры доступа" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Имя для аутентификации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Безопасность" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" -msgstr "Использовать TLS-транспорт (sips)" +msgstr "Использовать протокол TLS" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" -msgstr "Обмена ключей SRTP" +msgstr "Обмен ключами SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Отключен" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Регистрация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "Срок истечения регистрации" +msgstr "Истек срок регистрации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Соотвествует RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" -msgstr "Сетевые настройки" +msgstr "Сетевой интерфейс" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Локальный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Локальный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "Сетевые настройки для Интернета" +msgstr "Публичный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Использует STUN " +msgstr "Использовать STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL STUN-сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Использовать локальный адрес и порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" -msgstr "Настроить видимый адрес и порт :" +msgstr "Настроить публичный адрес и порт:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Публичный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Кодеки" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" -msgstr "Настройки учëтной записи" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Основные" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Дополнительные" +msgstr "Дополнительно" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Сеть" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Эти настройки используется, когда вы хотите совершить вызов просто набрав " +"SIP URI-адрес вида <b>sip:удалëнное устройство</b>. Эти настройки так-же " +"будут использованы если не будет подходящего аккаунта для входящего или " +"исходящего вызова." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Сервер ответил \"" +msgstr "Ответ сервера \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Протокол" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Статус" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" -msgstr "Учётные записи" +msgstr "Аккаунты" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" -msgstr "Настроенные учëтные записи" +msgstr "Настройка аккаунтов" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] "Одна действующая учëтная запись" -msgstr[1] "%d действующих учëтных записей" -msgstr[2] "%d действующих учëтных записей" +msgstr[0] "%d активный аккаунт" +msgstr[1] "%d активных аккаунтов" +msgstr[2] "действующий аккаунт" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" -msgstr "У вас нет активной учëтной записи" +msgstr "У вас нет активного аккаунта" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Общие настройки" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Использовать адресную книгу Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" -msgstr "Показывать не более " +msgstr "Ограничение скорости скачивания:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "карточек" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Показать фотографию контакта (если имеется):" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" -msgstr "Исполоьзовать следующие номера из адресной книги Evolution" +msgstr "Использовать следующие поля из адресной книги Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Рабочий" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Домашний" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Мобильный" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Выбрать адресную книгу Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Имя" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Мастер закончил настройку." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" "Вы можете в любое время проверить статус регистрации или изменить параметры " -"ваших учëтных записей в меню Правка / Учëтные записи" +"ваших аккаунтов в меню Правка / Аккаунты." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Псевдоним" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" -msgstr "Пользователь" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " -msgstr "Безопасность:" +msgstr "Безопасность " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Нет" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" -msgstr "Мастер настройки SFLphone" +msgstr "Мастер создания аккаунта SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "Добро пожаловать в SFLphone!" +msgstr "Добро пожаловать в мастер создания аккаунта SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." -msgstr "Этот мастер установки поможет вам настроить вашу учëтную запись" +msgstr "Этот мастер установки поможет вам настроить ваш аккаунт." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP-протоколы" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" -msgstr "Выберите тип учëтной записи" +msgstr "Выберите тип аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" -msgstr "Учëтная запись" +msgstr "Аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" -msgstr "Введите пожалуйста следующие данные" +msgstr "Выберите одну из следующих возможностей" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" -msgstr "Создать бесплатную SIP/IAX2-учëтную запись на sflphone.org" +msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" -msgstr "Зарегистрировать существующею SIP или IAX2 учëтную запись" +msgstr "Использовать существующий SIP или IAX2 аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" -msgstr "Настройка учëтной записи SIP" +msgstr "Настройка SIP-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Введите пожалуйста следующие данные" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Защищëнная связь с _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" -msgstr "Электронный адрес (необязательный)" +msgstr "e-mail" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." -msgstr "Этот электронный адрес будет использоваться для речевых сообщений" +msgstr "" +"Этот электронный адрес будет использоваться для отправки сообщений голосовой " +"почты" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Адрес эл. почты" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" -msgstr "Настройка учëтной записи IAX2" +msgstr "Настройка IAX2-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." -msgstr "Вы наверное должны это включить если вы находитесь за сетевым экраном." +msgstr "" +"Возможно нужно выбрать эту опцию если вы находитесь за сетевым экраном." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Включить STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN-сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" -msgstr "Регистрация учëтной записи" +msgstr "Регистрация аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Поздравляем!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Частота" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Битрейт" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" -msgstr "Пропускная способность" +msgstr "Полоса пропускания" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA-плагин" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" -msgstr "Выход" +msgstr "Аудиовыход" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" -msgstr "Вход" +msgstr "Аудиовход" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Включить детектор тишины" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Шумоподавление" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Менеджер звука" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Настройка ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Кодеки" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Записи" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" -msgstr "Папка назначения" +msgstr "Сохранять в" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" -msgstr "Выберите папку" +msgstr "Выберите каталог" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" -msgstr "Звонки" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" -msgstr "Включить звонок" +msgstr "Включить рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Выберите звонок" +msgstr "Выберать рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" -msgstr "Звуковые файлы" +msgstr "Аудио файлы" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Передача URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" -msgstr "Пользовательские команды при входящих вызовах с URL" +msgstr "Пользовательская команда при входящих вызовах с URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s будет заменена на переданную URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Запустить при определëнном SIP-заголовке" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Запустить при наличии URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Выполнить команду:" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" -msgstr "Переписка номера телефона" +msgstr "Префикс" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" -msgstr "Добавить перед на набранными номерами" +msgstr "Добавить префикс перед номером" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Этот профиль используется когда вы хотите достичь удалëнное устройство " -"просто набрав SIP URI (адрес) типа <b>sip:удалëнное устройство</b>. Эти " -"настройки так-же будут использованы если не будет подходящего аккаунта для " -"входящего или выходящего звонка." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" -msgstr "Извещения на рабочем столе" +msgstr "Всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" -msgstr "Включить звонок" +msgstr "Показывать всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" -msgstr "Поведение окна SFLPhone" +msgstr "Значок в системном трее" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Показывать SFLphone в системном трее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" -msgstr "_Показать главное окно при входящем звонке" +msgstr "_Показать главное окно при входящем вызове" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" -msgstr "Никогда не показывать главное окно" +msgstr "_Никогда не показывать главное окно" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" -msgstr "Спрятать окно SFLphone при пуске" +msgstr "Скрывать SFLphone при запуске в трей" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" -msgstr "Журнал звонков" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" -msgstr "Со_хранить мой журнал звонков как минимум в течении" +msgstr "_Хранить журнал вызовов в течении" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "дней" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" -msgstr "Предпочтения" +msgstr "Настройка" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" -msgstr "Звук" +msgstr "Аудио" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" -msgstr "Зацепки" +msgstr "Прочее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Прямые IP-звонки" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Горячие клавиши" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "ВНИМАНИЕ: эти комбинации могут заменить системные комбинации клавиш" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Дополнительные опции для TLS" +msgstr "Дополнительные настройки для TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Транспорт TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1081,139 +1130,118 @@ msgstr "" "каждого аккаунта (но каждый из них будет использовать свой выделенный " "порт).\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Global TLS listener (для всех аккаунтов)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" -msgstr "Список центра сертификации" +msgstr "Список центров сертификации" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" -msgstr "Выберите файл Центра сертификации (необязательный)" +msgstr "Выберите файл Центра сертификации (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Файл с публичным сертификатом" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" -msgstr "Выберите публичный сертификат (необязательный)" +msgstr "Выберите публичный сертификат (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" -msgstr "Выберите файл с секретным ключом (необязательно)" +msgstr "Выберите файл с приватным ключом (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" -msgstr "Пароль для секретного ключа" +msgstr "Пароль для приватного ключа" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Метод протокола TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Список шифров TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Имя сервера для выходящих TLS-подключений." +msgstr "Имя сервера для исходящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Время ожидания соединения (сек:мсек)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "Проверять входящие сертификаты (в качестве сервера)" +msgstr "Проверять входящие сертификаты как сервер" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "Проверять входящие сертификаты (в качестве клиента)" +msgstr "Проверять входящие сертификаты как клиент" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Требовать сертификат для входящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Опции ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Послать hello-хэш в S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Попросить пользователя подтвердить пароль SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Предупредить если ZRTP не пддерживается" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Показать SAS один раз" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Настройка SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Использовать RTP при сбое SDES" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Искать все" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Нажмите, чтобы изменить тип поиска" +msgstr "Нажмите сюда, чтобы изменить тип поиска" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" -msgstr "Поиск по пропущенным вызовам" +msgstr "Поиск в пропущенных вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" -msgstr "Поиск по входящим вызовам" +msgstr "Поиск в входящих вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" -msgstr "Поиск по исходящим вызовам" - -#~ msgid "IP call - %s" -#~ msgstr "IP звонок - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Сеть" - -#~ msgid "Manually" -#~ msgstr "Вручную" +msgstr "Поиск в исходящих вызовах" -#~ msgid "There " -#~ msgstr "Здесь " - -#~ msgid "is " -#~ msgstr "Зарегестрирован " - -#~ msgid "are " -#~ msgstr "Зарегестрированны " - -#~ msgid "s" -#~ msgstr "a" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Детектор тишины (VAD)" -#~ msgid "_Mute other applications during a call" -#~ msgstr "Приглушать звук других програм во время звонка" - -#~ msgid "SIP Port" -#~ msgstr "SIP-порт" - -#~ msgid "UDP Transport" -#~ msgstr "Транспорт UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Включить предупреждения о речевых сообщениях" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Шумоподавление" #~ msgid "Account creation wizard" #~ msgstr "Мастер настройки SFLphone" @@ -1221,6 +1249,9 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Voicemail number" #~ msgstr "Номер автоответчика #" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "Display volume controls" #~ msgstr "_Настройки громкости" @@ -1266,21 +1297,44 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Sound manager" #~ msgstr "Менеджер звука" +#~ msgid "SIP Port" +#~ msgstr "SIP-порт" + #~ msgid "Command to run" #~ msgstr "Выполнить команду:" #~ msgid "Prefix dialed numbers with" #~ msgstr "Добавить перед на набранными номерами" +#~ msgid "IP call - %s" +#~ msgstr "IP звонок - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Ошибка: звуковые кодеки не найдены.\n" +#~ "\n" +#~ "</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>." +#~ "sflphone</b> каталоге в вашем домашнем каталоге( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "Мастер настройки SFLphone" #~ msgid "_Enable this account" #~ msgstr "_Включить" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Включить предупреждения о речевых сообщениях" + #~ msgid "PulseAudio sound server" #~ msgstr "Сервер звука PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Приглушать звук других програм во время звонка" + #~ msgid "Port" #~ msgstr "Порт" @@ -1444,9 +1498,6 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1456,6 +1507,27 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Enable notifications" #~ msgstr "Включить уведомления" +#~ msgid "Manually" +#~ msgstr "Вручную" + +#~ msgid "UDP Transport" +#~ msgstr "Транспорт UDP" + +#~ msgid "There " +#~ msgstr "Здесь " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." + +#~ msgid "s" +#~ msgstr "a" + +#~ msgid "are " +#~ msgstr "Зарегестрированны " + +#~ msgid "is " +#~ msgstr "Зарегестрирован " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" @@ -1464,11 +1536,14 @@ msgstr "Поиск по исходящим вызовам" #~ "Sergei Sedov, ,Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah," #~ "Hussein Abdallah,Maxime Chambreuil,Pavlo Kucheriavyi,Sergei Sedov, ," #~ "Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," -#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" +#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov, ,Launchpad " +#~ "Contributions:,DMG,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," +#~ "Lortonix,Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,,emmanuel.milou@savoirfairelinux.com,,maxime.chambreuil@gmail.com,,,,," #~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,," -#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,," +#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,,," +#~ "emmanuel.milou@savoirfairelinux.com,,,,maxime.chambreuil@gmail.com,," diff --git a/sflphone-client-gnome/po/zh_CN/zh_CN.po b/sflphone-client-gnome/po/zh_CN/zh_CN.po index bfc3429d51dec35ea9728985f2d0967e8ad86bd1..d2df50e47aeea11bd0d72b693039d1efb8078619 100644 --- a/sflphone-client-gnome/po/zh_CN/zh_CN.po +++ b/sflphone-client-gnome/po/zh_CN/zh_CN.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-02-28 01:32+0000\n" +"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已注册" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未注册" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在连接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "注册失败" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "认证失败" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "服务器连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun服务器无效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "无效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用账户" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "没有已注册帐户" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "连接SFLphone服务器失败.\n" "请检查daemon是否还在运行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>错误:无法找到codecs编码文件.\n" -"\n" -"</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." -"sflphone</b>目录下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打开回放设备时出错" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打开采集设备时出错" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未运行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一个电话正在处理" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有电话正在处理中" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "确认要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone出错" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "安全通信不可用" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "继续" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "停止呼叫" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "确认" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帐户: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>拨入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 个语音信息" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帐户<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你没有设置任何账户" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未发现已注册帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s 不支持 ZRTP。" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "扬声器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "话筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "显示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "挂断(_H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i个账户" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "语音信箱" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "语音信箱 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一个VoIP客户端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "关于SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "电话(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新电话(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "接听(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "挂断(_H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通话" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "录音(_R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 个语音信息" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "编辑(_E)" +msgstr "退出(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "编辑(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "删除所选账户" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空历史记录(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空历史记录" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "账户(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "首选项" +msgstr "首选项(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "更改您的首选项" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "帮助(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "继续" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "身份验证" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "转接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "转给: " +msgstr "转给:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "录音(_R)" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "禁用" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "历史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫记录" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "编辑电话号码" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "拨出电话前编辑电话号码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帐户相关参数" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "别名(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "协议(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "用户名(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密码(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "语音信箱号码(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "身份验证" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "安全" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "禁用" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "注册" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs编码" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帐户设置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "网络" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "协议" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "状态" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下载上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可行则显示联系人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "单位电话(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭电话(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移动电话(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "选择使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名称" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以随时在 选项/帐户 窗口中查看注册状态或者修改帐户参数." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "别名" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "服务器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "用户名" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone账户创建向导" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "欢迎使用SFLphone帐户创建向导!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安装向导将帮助您配置帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP协议" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "选择帐户类型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(会话初始化协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk内部交换协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "请选择以下选项中的一个" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上创建免费的SIP/IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "注册已存在的SIP或IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "请填写以下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可选邮件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "这个邮件地址将被用来发送您的语音邮箱消息" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "邮件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用网络使用防火墙,你很有可能需要设定此项." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "使用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN服务器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帐户注册" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "频率" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "带宽" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "输出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "输入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "声音状态检测(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "铃声" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪处理-窄频压缩(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "音频管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA设置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs编码" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "记录" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目标文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "选择文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "启用铃声(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "选择铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音频文件" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帐户设置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL参数" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制对带有URL的来电的处理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "传输的URL会被替换成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP头(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "运行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重设电话号码" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "号码前缀(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "启用提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系统托盘图标" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "来电时弹出主窗口(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "从不弹出主窗口(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在启动时隐藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "拨号历史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "首选项" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "钩键" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,118 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查询所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "请点击此处改变查询方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "从未接电话中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "从来电中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "从拨出电话中查询" -#~ msgid "IP call - %s" -#~ msgstr "IP 电话 - %s" - -#~ msgid "Codec" -#~ msgstr "编码" - -#~ msgid "Network" -#~ msgstr "网络" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "当有来电时静音其它应用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口号" +#~ msgid "_Voice Activity Detection" +#~ msgstr "声音状态检测(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "启用语音邮箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪处理-窄频压缩(N)" #~ msgid "Account creation wizard" #~ msgstr "帐户创建向导" @@ -1195,6 +1240,9 @@ msgstr "从拨出电话中查询" #~ msgid "Default account" #~ msgstr "默认帐户" +#~ msgid "Codec" +#~ msgstr "编码" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客户端" @@ -1312,9 +1360,6 @@ msgstr "从拨出电话中查询" #~ msgid "Apply" #~ msgstr "应用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1381,6 +1426,9 @@ msgstr "从拨出电话中查询" #~ msgid "On start" #~ msgstr "正在启动" +#~ msgid "SIP Port" +#~ msgstr "SIP端口号" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP头" @@ -1396,12 +1444,36 @@ msgstr "从拨出电话中查询" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:结果超过可显示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP 电话 - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>错误:无法找到codecs编码文件.\n" +#~ "\n" +#~ "</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." +#~ "sflphone</b>目录下" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i个账户" + #~ msgid "_Enable this account" #~ msgstr "启用该账户(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "启用语音邮箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio服务器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "当有来电时静音其它应用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1678,9 +1750,6 @@ msgstr "从拨出电话中查询" #~ msgid "%s account- %s" #~ msgstr "%s 帐户- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目标文件夹(D)" @@ -1702,7 +1771,8 @@ msgstr "从拨出电话中查询" #~ "Yun Liu, ,Launchpad Contributions:,Aron Xu,Yun Liu, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,rainofchaos, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,冯超, ,Launchpad " -#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华" +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华, ,Launchpad " +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,YunQiang Su,冯超,英华" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1710,4 +1780,5 @@ msgstr "从拨出电话中查询" #~ "yunliu2000@gmail.com,,,happyaron.xu@gmail.com,,,,happyaron.xu@gmail.com,,," #~ "rainofchaos@gmail.com,,,happyaron.xu@gmail.com,,,rainofchaos@gmail.com,,,," #~ "emmanuel.milou@savoirfairelinux.com,,rainofchaos@gmail.com," -#~ "wantinghard@gmail.com" +#~ "wantinghard@gmail.com,,,,emmanuel.milou@savoirfairelinux.com,," +#~ "wzssyqa@gmail.com,rainofchaos@gmail.com,wantinghard@gmail.com" diff --git a/sflphone-client-gnome/po/zh_HK/zh_HK.po b/sflphone-client-gnome/po/zh_HK/zh_HK.po index 0e4afca0c52ab6cb04c97d2e67f3c4fd39c9c273..ef06d0715a2e23900d35abddfeb11b9638e6740d 100644 --- a/sflphone-client-gnome/po/zh_HK/zh_HK.po +++ b/sflphone-client-gnome/po/zh_HK/zh_HK.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已註冊" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未註冊" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在連接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "註冊失敗" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "伺服器連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun伺服器無效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "無效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用賬戶" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "沒有已註冊帳戶" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "連接SFLphone伺服器失敗.\n" "請核查daemon是否正在運行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>錯誤:無法找到音訊編碼檔案.\n" -"\n" -"</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." -"sflphone</b>目錄下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打開回放設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打開采集設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未運行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一個電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "確認要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone 出錯" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帳戶 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>撥入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 個語音郵件" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帳戶<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你沒有設置任何賬戶" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未發現已註冊帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "揚聲器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "話筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "顯示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "放下(H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i個賬戶" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "語音郵件 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一個VoIP客戶端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "有關SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "電話" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新電話(N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "撥出(P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "放下(H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通話" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "記錄(R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 個語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "刪除所選賬戶" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空曆史記錄(C)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空曆史記錄" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "帳戶(A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "幫助(H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "轉接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "轉給: " +msgstr "轉給:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "記錄(R)" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "顯示撥號鍵盤" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "歷史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫記錄" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "編輯電話號碼" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "撥出電話前編輯電話號碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帳戶相關參數" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "別稱(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "協議(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名稱(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "使用者名稱(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密碼(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "語音郵箱(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "編碼" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帳戶設置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "協議" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "狀態" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下載上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可以則顯示聯繫人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "單位電話(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭電話(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移動電話(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "選擇使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以隨時在 選項/帳戶 中查看註冊狀態或者修改帳戶信息." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "別稱" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "伺服器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "使用者名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone賬戶創建嚮導" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "歡迎使用SFLphone帳戶創建嚮導!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安裝向導將幫助您配置帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP協議" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "選擇帳戶類型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(會話初始化協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk內部交換協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "請選擇以下選項中的一個" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上創建免費的SIP/IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "註冊已存在的SIP或IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "請填寫如下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可選郵件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "這個郵件地址將被用來發送您的語音" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "郵件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用網路防火牆,你很有可能需要設定該項." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "啟用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN伺服器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帳戶註冊" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "顰律" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "顰寬" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "輸出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "輸入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "聲音狀態檢測(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪處理-窄頻壓縮(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "聲音管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA 配置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "編碼" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "記錄" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目標文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "選擇文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "啟動鈴聲(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "鈴聲選擇" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音訊檔案" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帳戶設置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL參數" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制對帶有URL的來電的處理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "傳輸的URL會被替換成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP頭(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "運行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重設電話號碼" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "號碼前綴(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "啟動提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系統托盤圖標" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "來電話時彈出主視窗(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "從不彈出主視窗(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在啟動時隱藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "打電話歷史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "鉤鍵" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,115 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查詢所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "請點擊此處改變查詢方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "從未接電話中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "從來電中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "從撥出電話中查詢" -#~ msgid "IP call - %s" -#~ msgstr "IP電話- %s" - -#~ msgid "Codec" -#~ msgstr "編碼" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "當有來電時靜音其它應用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口" +#~ msgid "_Voice Activity Detection" +#~ msgstr "聲音狀態檢測(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "啟用語音郵箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪處理-窄頻壓縮(N)" #~ msgid "Account creation wizard" #~ msgstr "帳戶創建向導" @@ -1192,6 +1240,9 @@ msgstr "從撥出電話中查詢" #~ msgid "Default account" #~ msgstr "默認帳戶" +#~ msgid "Codec" +#~ msgstr "編碼" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客戶端" @@ -1306,9 +1357,6 @@ msgstr "從撥出電話中查詢" #~ msgid "Apply" #~ msgstr "套用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1375,6 +1423,9 @@ msgstr "從撥出電話中查詢" #~ msgid "On start" #~ msgstr "正在啟動" +#~ msgid "SIP Port" +#~ msgstr "SIP端口" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP頭" @@ -1390,15 +1441,39 @@ msgstr "從撥出電話中查詢" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:結果超過可顯示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP電話- %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>錯誤:無法找到音訊編碼檔案.\n" +#~ "\n" +#~ "</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." +#~ "sflphone</b>目錄下" + #~ msgid "_Account creation wizard" #~ msgstr "帳戶創建向導(A)" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i個賬戶" + #~ msgid "_Enable this account" #~ msgstr "啟用該賬戶(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "啟用語音郵箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio聲音伺服器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "當有來電時靜音其它應用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1677,9 +1752,6 @@ msgstr "從撥出電話中查詢" #~ msgid "%s account- %s" #~ msgstr "%s 帳戶- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目標文件夾(D)" @@ -1697,10 +1769,12 @@ msgstr "從撥出電話中查詢" #~ msgstr "" #~ "Yun Liu, ,Launchpad Contributions:,Yun Liu, ,Launchpad Contributions:," #~ "Emmanuel Milou,Yun Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun " -#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu" +#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu, ,Launchpad " +#~ "Contributions:,Emmanuel Milou,Yun Liu" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "yunliu2000@gmail.com,,,,,,emmanuel.milou@savoirfairelinux.com,,,,emmanuel." -#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com," +#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com,,,," +#~ "emmanuel.milou@savoirfairelinux.com," diff --git a/sflphone-client-gnome/sflphone.desktop.in b/sflphone-client-gnome/sflphone.desktop.in index 606bc1f53a0a35faa3fd3d17ae2e0b449f3fb306..05f5b087f8f1a14bd7b7b36a275a784241bea3e2 100644 --- a/sflphone-client-gnome/sflphone.desktop.in +++ b/sflphone-client-gnome/sflphone.desktop.in @@ -1,10 +1,11 @@ [Desktop Entry] -Name=VoIP Client SFLphone -GenericName=Telephone +Name=SFLphone +GenericName=VoIP Client +X-GNOME-FullName=SFLphone VoIP Client Comment=Call and receive calls with SIP or IAX protocols Exec=sflphone-client-gnome Icon=sflphone.svg StartupNotify=true Terminal=false Type=Application -Categories=Network;Telephony; +Categories=Network;Gnome;Telephony; diff --git a/sflphone-client-gnome/src/Makefile.am b/sflphone-client-gnome/src/Makefile.am index 7e3fb51388ce7316c4149f1f50f5a1e6bd733466..3ce309ce5ac8cf054dfe0ebfb957a7744b33860a 100644 --- a/sflphone-client-gnome/src/Makefile.am +++ b/sflphone-client-gnome/src/Makefile.am @@ -25,11 +25,13 @@ sflphone_client_gnome_SOURCES = \ statusicon.c \ codeclist.c \ reqaccount.c \ + shortcuts.c \ eel-gconf-extensions.c noinst_HEADERS = actions.h sflnotify.h mainwindow.h dialpad.h codeclist.h \ reqaccount.h errors.h sflphone_const.h uimanager.h \ - accountlist.h sliders.h statusicon.h callable_obj.h conference_obj.h eel-gconf-extensions.h + accountlist.h sliders.h statusicon.h callable_obj.h conference_obj.h \ + shortcuts.h eel-gconf-extensions.h sflphone_client_gnome_LDADD = $(DEPS_LIBS) $(NOTIFY_LIBS) $(SFLPHONEGTK_LIBS) $(LIBSEXY_LIBS) $(LOG4C) diff --git a/sflphone-client-gnome/src/accountlist.c b/sflphone-client-gnome/src/accountlist.c index d02e23c5feb91879a430ff6ec20d4df3e41acaad..7e6d0c86dd75155b6ac960fe254eef704d2a5d02 100644 --- a/sflphone-client-gnome/src/accountlist.c +++ b/sflphone-client-gnome/src/accountlist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <accountlist.h> diff --git a/sflphone-client-gnome/src/accountlist.h b/sflphone-client-gnome/src/accountlist.h index bb2de673190d891264292e33e245b8d1924e57ad..1ba201ffa8a4aca27da2210801465211bf24c71a 100644 --- a/sflphone-client-gnome/src/accountlist.h +++ b/sflphone-client-gnome/src/accountlist.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __ACCOUNTLIST_H__ diff --git a/sflphone-client-gnome/src/actions.c b/sflphone-client-gnome/src/actions.c index 1d52bcf2a268a7dccaaeafe8579ef98942bdc84a..2f57ee5679ffc532d29cbae67a2c48bdce079e8d 100644 --- a/sflphone-client-gnome/src/actions.c +++ b/sflphone-client-gnome/src/actions.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 - 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <actions.h> @@ -195,6 +206,8 @@ void sflphone_fill_account_list (void) { int count; GQueue *codeclist; + DEBUG("SFLphone: Fill account list"); + count = current_account_get_message_number (); account_list_clear (); @@ -291,9 +304,6 @@ void sflphone_fill_account_list (void) { } g_free(a->protocol_state_description); a->protocol_state_description = g_hash_table_lookup(details, REGISTRATION_STATE_DESCRIPTION); - - // Attach a codec list to each account - // account_create_codec_list (&a); } // Set the current account message number @@ -330,9 +340,6 @@ gboolean sflphone_init() { // Fetch the ip2ip profile sflphone_fill_ip2ip_profile(); - // Fetch the audio codecs at startup. - // sflphone_fill_codec_list(); - // Fetch the conference list // sflphone_fill_conference_list(); @@ -645,7 +652,9 @@ process_dialing(callable_obj_t * c, guint keyval, gchar * key) if (c->_state == CALL_STATE_TRANSFERT) { - c->_trsft_to = g_strndup (c->_trsft_to, strlen(c->_trsft_to) - 1); + // Process backspace if and only if string not NULL + if(strlen(c->_trsft_to) > 0) + c->_trsft_to = g_strndup (c->_trsft_to, strlen(c->_trsft_to) - 1); } else { @@ -954,13 +963,16 @@ sflphone_place_call ( callable_obj_t * c ) void sflphone_detach_participant(const gchar* callID) { - DEBUG("sflphone detach participant from conference"); - - + DEBUG("Action: Detach participant from conference"); if(callID == NULL) { callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); - DEBUG(" sflphone_detach_participant %s\n", selectedCall->_callID); + DEBUG("Action: Detach participant %s", selectedCall->_callID); + + if(selectedCall->_confID) { + g_free(selectedCall->_confID); + selectedCall->_confID = NULL; + } calltree_remove_call(current_calls, selectedCall, NULL); calltree_add_call(current_calls, selectedCall, NULL); @@ -968,7 +980,12 @@ sflphone_detach_participant(const gchar* callID) } else { callable_obj_t * selectedCall = calllist_get(current_calls, callID); - DEBUG(" sflphone_detach_participant %s\n", callID); + DEBUG("Action: Darticipant %s", callID); + + if(selectedCall->_confID) { + g_free(selectedCall->_confID); + selectedCall->_confID = NULL; + } calltree_remove_call(current_calls, selectedCall, NULL); calltree_add_call(current_calls, selectedCall, NULL); @@ -1081,7 +1098,9 @@ void sflphone_fill_codec_list () { guint account_list_size; guint i; account_t *current = NULL; - gchar** codecs = NULL; + gchar** codecs = NULL; + + DEBUG("SFLphone: Fill codec list"); account_list_size = account_list_get_size (); @@ -1105,34 +1124,39 @@ void sflphone_fill_codec_list () { void sflphone_fill_codec_list_per_account (account_t **account) { - gchar **order; + gchar **order; gchar** details; gchar** pl; - gchar *accountID; - GQueue *codeclist; - gboolean active = FALSE; + gchar *accountID; + GQueue *codeclist; + gboolean active = FALSE; order = (gchar**) dbus_get_active_codec_list ((*account)->accountID); + codeclist = (*account)->codecs; - // First clean the list - codec_list_clear (&codeclist); + // First clean the list + codec_list_clear (&codeclist); + + if(!(*order)) + ERROR("SFLphone: No codec list provided"); - for (pl=order; *order; order++) + for (pl=order; *pl; pl++) { - codec_t * cpy; - // Each account will have a copy of the system-wide capabilities - codec_create_new_from_caps (codec_list_get_by_payload ((gconstpointer) atoi (*order), NULL), &cpy); - if (cpy) { - cpy->is_active = TRUE; - codec_list_add (cpy, &codeclist); - } - else - ERROR ("Couldn't find codec \n"); + codec_t * cpy = NULL; + + // Each account will have a copy of the system-wide capabilities + codec_create_new_from_caps (codec_list_get_by_payload ((gconstpointer) (size_t)atoi (*pl), NULL), &cpy); + if (cpy) { + cpy->is_active = TRUE; + codec_list_add (cpy, &codeclist); + } + else + ERROR ("SFLphone: Couldn't find codec"); } // Test here if we just added some active codec. - active = (codeclist->length == 0) ? FALSE : FALSE; + active = (codeclist->length == 0) ? TRUE : FALSE; guint caps_size = codec_list_get_size (), i=0; @@ -1140,7 +1164,7 @@ void sflphone_fill_codec_list_per_account (account_t **account) { codec_t * current_cap = capabilities_get_nth (i); // Check if this codec has already been enabled for this account - if (codec_list_get_by_payload ( (gconstpointer) current_cap->_payload, codeclist) == NULL) { + if (codec_list_get_by_payload ( (gconstpointer) (size_t)(current_cap->_payload), codeclist) == NULL) { // codec_t *cpy; // codec_create_new_from_caps (current_cap, &cpy); current_cap->is_active = active; @@ -1152,6 +1176,10 @@ void sflphone_fill_codec_list_per_account (account_t **account) { } (*account)->codecs = codeclist; + + // call dbus function with array of strings + codec_list_update_to_daemon (*account); + } void sflphone_fill_call_list (void) @@ -1415,7 +1443,7 @@ sflphone_call_state_changed( callable_obj_t * c, const gchar * description, cons } -void sflphone_get_interface_addr_from_name(char *iface_name, char **iface_addr) { +void sflphone_get_interface_addr_from_name(char *iface_name, char **iface_addr, int size) { struct ifreq ifr; int fd; @@ -1443,7 +1471,9 @@ void sflphone_get_interface_addr_from_name(char *iface_name, char **iface_addr) tmp_addr = (char *)addr_in; - snprintf(*iface_addr, sizeof(*iface_addr), "%d.%d.%d.%d", + snprintf(*iface_addr, size, "%d.%d.%d.%d", UC(tmp_addr[0]), UC(tmp_addr[1]), UC(tmp_addr[2]), UC(tmp_addr[3])); + close(fd); + } diff --git a/sflphone-client-gnome/src/actions.h b/sflphone-client-gnome/src/actions.h index 2d956ddb8073899245301cc042904f1cfb91ceb6..8be845e176769555f61d50653b4dc2d0f07b445e 100644 --- a/sflphone-client-gnome/src/actions.h +++ b/sflphone-client-gnome/src/actions.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __ACTIONS_H__ @@ -289,5 +300,5 @@ void sflphone_call_state_changed(callable_obj_t * c, const gchar * description, /** * Resolve an interface address given its name */ -void sflphone_get_interface_addr_from_name(char *iface_name, char **iface_addr); +void sflphone_get_interface_addr_from_name(char *iface_name, char **iface_addr, int size); #endif diff --git a/sflphone-client-gnome/src/callable_obj.c b/sflphone-client-gnome/src/callable_obj.c index b1b2cea6c5bce9ba241c2c1f0a1d8c9c886ccaba..e165857433d975f76096b6e3a6acac22e59f2cfe 100644 --- a/sflphone-client-gnome/src/callable_obj.c +++ b/sflphone-client-gnome/src/callable_obj.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <callable_obj.h> @@ -22,6 +33,10 @@ #include <sflphone_const.h> #include <time.h> +#define UNIX_DAY 86400 +#define UNIX_WEEK 86400 * 6 +#define UNIX_TWO_DAYS 86400 * 2 + gint is_callID_callstruct ( gconstpointer a, gconstpointer b) { callable_obj_t * c = (callable_obj_t*)a; @@ -179,7 +194,7 @@ void create_new_call_from_details (const gchar *call_id, GHashTable *details, ca else state = CALL_STATE_FAILURE; - create_new_call (CALL, state, (gchar*)call_id, accountID, peer_name, peer_number, &new_call); + create_new_call (CALL, state, (gchar*)call_id, accountID, peer_name, call_get_peer_number(peer_number), &new_call); *call = new_call; } @@ -356,19 +371,35 @@ gchar* get_history_id_from_state (history_state_t state) } } -gchar* get_formatted_start_timestamp (callable_obj_t *obj) -{ +gchar* get_formatted_start_timestamp (callable_obj_t *obj) { + struct tm* ptr; - time_t lt; + time_t lt, now; unsigned char str[100]; if (obj) { + // Fetch the current timestamp + (void) time (&now); lt = obj->_time_start; - ptr = localtime(<); + + ptr = localtime (<); + + if (now - lt < UNIX_WEEK) { + if (now-lt < UNIX_DAY) { + strftime((char *)str, 100, N_("today at %R"), (const struct tm *)ptr); + } else { + if (now - lt < UNIX_TWO_DAYS) { + strftime((char *)str, 100, N_("yesterday at %R"), (const struct tm *)ptr); + } else { + strftime((char *)str, 100, N_("%A at %R"), (const struct tm *)ptr); + } + } + } else { + strftime((char *)str, 100, N_("%x at %R"), (const struct tm *)ptr); + } // result function of the current locale - strftime((char *)str, 100, "%x %X", (const struct tm *)ptr); return g_markup_printf_escaped("\n%s\n" , str); } return ""; diff --git a/sflphone-client-gnome/src/callable_obj.h b/sflphone-client-gnome/src/callable_obj.h index 4325b6b345a9781eaaf04eb25c460dc8d0c8fa68..61acd6ce9aa67b87d5517acc84c687b39e04ae58 100644 --- a/sflphone-client-gnome/src/callable_obj.h +++ b/sflphone-client-gnome/src/callable_obj.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CALLABLE_OBJ_H__ diff --git a/sflphone-client-gnome/src/codeclist.c b/sflphone-client-gnome/src/codeclist.c index a74f6e41d995c8655450492be4673b6671bf9508..21037b01fb90572cc16ddf4c72234b11df2e7f7d 100644 --- a/sflphone-client-gnome/src/codeclist.c +++ b/sflphone-client-gnome/src/codeclist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.net> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <codeclist.h> @@ -145,6 +156,11 @@ void codec_create_new_from_caps (codec_t *original, codec_t **copy) { codec_t *codec; + if(!original) { + *copy = NULL; + return; + } + codec = g_new0 (codec_t, 1); codec->_payload = original->_payload; codec->name = original->name; @@ -290,8 +306,6 @@ void codec_list_update_to_daemon (account_t *acc) { int c = 0; unsigned int i = 0; - g_print ("List of active codecs :\n"); - for(i = 0; i < length; i++) { codec_t* currentCodec = codec_list_get_nth (i, acc->codecs); @@ -301,7 +315,6 @@ void codec_list_update_to_daemon (account_t *acc) { // Save only if active if(currentCodec->is_active) { - g_print ("Codec %s\n", currentCodec->name); // Reallocate memory each time more than one active codec is found if(c!=0) codecList = (void*)realloc(codecList, (c+1)*sizeof(void*)); @@ -311,7 +324,6 @@ void codec_list_update_to_daemon (account_t *acc) { // Put payload string in char array sprintf(payload, "%d", currentCodec->_payload); strcpy((char*)*(codecList+c), payload); - g_print(" %s", *(codecList+c)); c++; } } diff --git a/sflphone-client-gnome/src/codeclist.h b/sflphone-client-gnome/src/codeclist.h index 4a1a5f5dda31f0fb04e12591f142bc931b849778..0737f3853d10c77bb22bdca2efdb5cac89113bf6 100644 --- a/sflphone-client-gnome/src/codeclist.h +++ b/sflphone-client-gnome/src/codeclist.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.net> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CODECLIST_H__ diff --git a/sflphone-client-gnome/src/conference_obj.c b/sflphone-client-gnome/src/conference_obj.c index 146bd3050ff5d570b9409e68fa1bed7d73eb6603..3b534e079ab6d5c9e53e8615b254ebdb444b1fa5 100644 --- a/sflphone-client-gnome/src/conference_obj.c +++ b/sflphone-client-gnome/src/conference_obj.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <callable_obj.h> @@ -140,11 +151,11 @@ GSList* conference_participant_list_update(gchar** participants, conference_obj_ conf->participant_list = NULL; } - DEBUG("conference_participant_list_update\n"); + DEBUG("Conference: Participant list update"); for (part = participants; *part; part++) { call_id = (gchar*)(*part); - DEBUG(" adding %s", call_id); + DEBUG("Adding %s", call_id); conference_add_participant(call_id, conf); } diff --git a/sflphone-client-gnome/src/conference_obj.h b/sflphone-client-gnome/src/conference_obj.h index 1ac8016145b964f2eab8ba4368532e91e1f5ae57..5215ee7bd5aebbc9bea181e6fb622a34b42c6a55 100644 --- a/sflphone-client-gnome/src/conference_obj.h +++ b/sflphone-client-gnome/src/conference_obj.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CONFERENCE_OBJ_H__ diff --git a/sflphone-client-gnome/src/config/Makefile.am b/sflphone-client-gnome/src/config/Makefile.am index 3a4f01d7d7c5047c27768e044030ded027e5577e..e39b6dde1120a4b2c752df735a3c348c0ecbbf9c 100644 --- a/sflphone-client-gnome/src/config/Makefile.am +++ b/sflphone-client-gnome/src/config/Makefile.am @@ -4,6 +4,7 @@ noinst_LTLIBRARIES = libconfig.la libconfig_la_SOURCES = \ addressbook-config.c \ + shortcuts-config.c \ assistant.c \ preferencesdialog.c \ accountlistconfigdialog.c \ diff --git a/sflphone-client-gnome/src/config/accountconfigdialog.c b/sflphone-client-gnome/src/config/accountconfigdialog.c index 5fd6c4cc7c0e6aab00e85adaed59ce52bf1de3e1..b4a75d272c65753474e8d6689e5c5780857979e0 100644 --- a/sflphone-client-gnome/src/config/accountconfigdialog.c +++ b/sflphone-client-gnome/src/config/accountconfigdialog.c @@ -1,8 +1,9 @@ /* - * Copyright (C) 2007-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <actions.h> @@ -54,9 +66,11 @@ GtkWidget * entryID; GtkWidget * entryAlias; GtkWidget * protocolComboBox; GtkWidget * entryUsername; +GtkWidget * entryRouteSet; GtkWidget * entryHostname; GtkWidget * entryPassword; GtkWidget * entryMailbox; +GtkWidget * entryUseragent; GtkWidget * entryResolveNameOnlyOnce; GtkWidget * expireSpinBox; GtkListStore * credentialStore; @@ -89,8 +103,13 @@ GtkWidget * displayNameEntry; GtkWidget * security_tab; GtkWidget * advanced_tab; +GtkWidget * overrtp; + GHashTable * directIpCallsProperties = NULL; +gchar *current_username; + + // Credentials enum { COLUMN_CREDENTIAL_REALM, @@ -113,12 +132,16 @@ void change_protocol_cb (account_t *currentAccount UNUSED) { gchar *protocol = gtk_combo_box_get_active_text (GTK_COMBO_BOX (protocolComboBox)); - if (g_strcasecmp (protocol, "IAX") == 0) { - gtk_widget_hide (security_tab); - gtk_widget_hide (advanced_tab); - } else { - gtk_widget_show (security_tab); - gtk_widget_show (advanced_tab); + // Only if tabs are not NULL + if(security_tab && advanced_tab) { + if (g_strcasecmp (protocol, "IAX") == 0) { + gtk_widget_hide (GTK_WIDGET(security_tab)); + gtk_widget_hide (GTK_WIDGET(advanced_tab)); + } + else { + gtk_widget_show (GTK_WIDGET(security_tab)); + gtk_widget_show (GTK_WIDGET(advanced_tab)); + } } } @@ -133,6 +156,25 @@ is_iax_enabled(void) } + void +select_dtmf_type( void ) +{ + + DEBUG("DTMF selection changed\n"); + + if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(overrtp) ) ) + { + // dbus_set_audio_manager( ALSA ); + DEBUG("Selected DTMF over RTP"); + } + else { + + // dbus_set_audio_manager( PULSEAUDIO ); + DEBUG("Selected DTMF over SIP"); + } + +} + static GPtrArray* getNewCredential (GHashTable * properties) { GtkTreeIter iter; @@ -155,12 +197,17 @@ static GPtrArray* getNewCredential (GHashTable * properties) { -1); g_hash_table_insert(properties, g_strdup(ACCOUNT_REALM), realm); - g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), username); + + // better use the current_username as it is the account username in the + // g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), username); + g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), current_username); // Do not change the password if nothing has been changed by the user if (g_strcasecmp (password, PW_HIDDEN) != 0) g_hash_table_insert(properties, g_strdup(ACCOUNT_PASSWORD), password); + + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(credentialStore), &iter); while (valid) { @@ -208,52 +255,65 @@ static GtkWidget* create_basic_tab (account_t **a) { #endif // Default settings - gchar * curAccountID = ""; - gchar * curAccountEnabled = "true"; - gchar * curAccountType = "SIP"; - gchar * curAlias = ""; - gchar * curUsername = ""; - gchar * curHostname = ""; - gchar * curPassword = ""; + gchar *curAccountID = ""; + gchar *curAccountEnabled = "true"; + gchar *curAccountType = "SIP"; + gchar *curAlias = ""; + gchar *curUsername = ""; + gchar *curRouteSet = ""; + gchar *curHostname = ""; + gchar *curPassword = ""; /* TODO: add curProxy, and add boxes for Proxy support */ - gchar * curMailbox = ""; + gchar *curMailbox = ""; + gchar *curUseragent = ""; currentAccount = *a; + int row = 0; + // Load from SIP/IAX/Unknown ? if(currentAccount) { curAccountID = currentAccount->accountID; curAccountType = g_hash_table_lookup(currentAccount->properties, ACCOUNT_TYPE); - DEBUG("CuraccountType %s", curAccountType); + DEBUG("Config: Current accountType %s", curAccountType); curAccountEnabled = g_hash_table_lookup(currentAccount->properties, ACCOUNT_ENABLED); curAlias = g_hash_table_lookup(currentAccount->properties, ACCOUNT_ALIAS); curHostname = g_hash_table_lookup(currentAccount->properties, ACCOUNT_HOSTNAME); curPassword = g_hash_table_lookup(currentAccount->properties, ACCOUNT_PASSWORD); curUsername = g_hash_table_lookup(currentAccount->properties, ACCOUNT_USERNAME); + // curRouteSet = g_hash_table_lookup(currentAccount->properties, ACCOUNT_ROUTE); curMailbox = g_hash_table_lookup(currentAccount->properties, ACCOUNT_MAILBOX); + curUseragent = g_hash_table_lookup(currentAccount->properties, ACCOUNT_USERAGENT); } - gnome_main_section_new (_("Account Parameters"), &frame); gtk_widget_show(frame); - table = gtk_table_new (7, 2 , FALSE/* homogeneous */); + if(strcmp(curAccountType, "SIP") == 0) { + table = gtk_table_new (9, 2, FALSE/* homogeneous */); + } + else if(strcmp(curAccountType, "IAX") == 0) { + table = gtk_table_new (8, 2, FALSE); + } + gtk_table_set_row_spacings( GTK_TABLE(table), 10); gtk_table_set_col_spacings( GTK_TABLE(table), 10); gtk_widget_show (table); gtk_container_add( GTK_CONTAINER( frame) , table ); label = gtk_label_new_with_mnemonic (_("_Alias")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); entryAlias = gtk_entry_new(); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryAlias); gtk_entry_set_text(GTK_ENTRY(entryAlias), curAlias); - gtk_table_attach ( GTK_TABLE( table ), entryAlias, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), entryAlias, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + + row++; label = gtk_label_new_with_mnemonic (_("_Protocol")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); protocolComboBox = gtk_combo_box_new_text(); gtk_label_set_mnemonic_widget (GTK_LABEL (label), protocolComboBox); @@ -269,27 +329,30 @@ static GtkWidget* create_basic_tab (account_t **a) { } else { + DEBUG("Config: Error: Account protocol not valid"); /* Should never come here, add debug message. */ gtk_combo_box_append_text(GTK_COMBO_BOX(protocolComboBox), _("Unknown")); gtk_combo_box_set_active(GTK_COMBO_BOX(protocolComboBox),2); } - gtk_table_attach ( GTK_TABLE( table ), protocolComboBox, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), protocolComboBox, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); /* Link signal 'changed' */ g_signal_connect (G_OBJECT (GTK_COMBO_BOX(protocolComboBox)), "changed", G_CALLBACK (change_protocol_cb), currentAccount); + row++; label = gtk_label_new_with_mnemonic (_("_Host name")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); entryHostname = gtk_entry_new(); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryHostname); gtk_entry_set_text(GTK_ENTRY(entryHostname), curHostname); - gtk_table_attach ( GTK_TABLE( table ), entryHostname, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), entryHostname, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + row++; label = gtk_label_new_with_mnemonic (_("_User name")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); #if GTK_CHECK_VERSION(2,16,0) entryUsername = gtk_entry_new(); @@ -301,12 +364,30 @@ static GtkWidget* create_basic_tab (account_t **a) { #endif gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryUsername); gtk_entry_set_text(GTK_ENTRY(entryUsername), curUsername); - gtk_table_attach ( GTK_TABLE( table ), entryUsername, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - g_signal_connect(G_OBJECT (entryUsername), "changed", G_CALLBACK (update_credential_cb), NULL); - g_object_set_data (G_OBJECT (entryUsername), "column", GINT_TO_POINTER (COLUMN_CREDENTIAL_USERNAME)); + gtk_table_attach ( GTK_TABLE( table ), entryUsername, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + if(strcmp(curAccountType, "SIP") == 0) { + g_signal_connect(G_OBJECT (entryUsername), "changed", G_CALLBACK (update_credential_cb), NULL); + g_object_set_data (G_OBJECT (entryUsername), "column", GINT_TO_POINTER (COLUMN_CREDENTIAL_USERNAME)); + } + + // Route set can be update only for SIP account + // TODO: uncomment this code and implement route + /* + if(strcmp(curAccountType, "SIP") == 0) { + row++; + label = gtk_label_new_with_mnemonic(_("_Route (optional)")); + gtk_table_attach(GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); + entryRouteSet = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entryRouteSet); + gtk_entry_set_text(GTK_ENTRY(entryRouteSet), curRouteSet); + gtk_table_attach (GTK_TABLE(table), entryRouteSet, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + } + */ + row++; label = gtk_label_new_with_mnemonic (_("_Password")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); #if GTK_CHECK_VERSION(2,16,0) entryPassword = gtk_entry_new(); @@ -321,21 +402,34 @@ static GtkWidget* create_basic_tab (account_t **a) { gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryPassword); gtk_entry_set_text(GTK_ENTRY(entryPassword), curPassword); - gtk_table_attach ( GTK_TABLE( table ), entryPassword, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - g_signal_connect (G_OBJECT (entryPassword), "changed", G_CALLBACK (update_credential_cb), NULL); - g_object_set_data (G_OBJECT (entryPassword), "column", GINT_TO_POINTER (COLUMN_CREDENTIAL_PASSWORD)); + gtk_table_attach ( GTK_TABLE( table ), entryPassword, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + if(strcmp(curAccountType, "SIP") == 0) { + g_signal_connect (G_OBJECT (entryPassword), "changed", G_CALLBACK (update_credential_cb), NULL); + g_object_set_data (G_OBJECT (entryPassword), "column", GINT_TO_POINTER (COLUMN_CREDENTIAL_PASSWORD)); + } + row++; clearTextCheckbox = gtk_check_button_new_with_mnemonic (_("Show password")); g_signal_connect (clearTextCheckbox, "toggled", G_CALLBACK (show_password_cb), entryPassword); - gtk_table_attach (GTK_TABLE (table), clearTextCheckbox, 1, 2, 5, 6, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach (GTK_TABLE (table), clearTextCheckbox, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + row++; label = gtk_label_new_with_mnemonic (_("_Voicemail number")); - gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 6, 7, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); entryMailbox = gtk_entry_new(); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryMailbox); gtk_entry_set_text(GTK_ENTRY(entryMailbox), curMailbox); - gtk_table_attach ( GTK_TABLE( table ), entryMailbox, 1, 2, 6, 7, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_table_attach ( GTK_TABLE( table ), entryMailbox, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + + row++; + label = gtk_label_new_with_mnemonic (_("_User-agent")); + gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + entryUseragent = gtk_entry_new (); + gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryUseragent); + gtk_entry_set_text (GTK_ENTRY (entryUseragent), curUseragent); + gtk_table_attach ( GTK_TABLE( table ), entryUseragent, 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show_all( table ); gtk_container_set_border_width (GTK_CONTAINER(table), 10); @@ -515,6 +609,7 @@ static void key_exchange_changed_cb(GtkWidget *widget, gpointer data) static void use_sip_tls_cb(GtkWidget *widget, gpointer data) { + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { DEBUG("Using sips"); gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); @@ -569,7 +664,7 @@ static local_interface_changed_cb(GtkWidget * widget, gpointer data UNUSED) { local_iface_name = (gchar *) gtk_combo_box_get_active_text (GTK_COMBO_BOX (localAddressCombo)); // sflphone_get_interface_addr_from_name((char *)local_interface); - sflphone_get_interface_addr_from_name(local_iface_name, &local_iface_addr); + sflphone_get_interface_addr_from_name(local_iface_name, &local_iface_addr, 36); gtk_entry_set_text(GTK_ENTRY(localAddressEntry), local_iface_addr); gtk_entry_set_text (GTK_ENTRY(publishedAddressEntry), local_iface_addr); @@ -583,16 +678,15 @@ static local_interface_changed_cb(GtkWidget * widget, gpointer data UNUSED) { static set_published_addr_manually_cb(GtkWidget * widget, gpointer data UNUSED) { - DEBUG("set_published_addr_manually_cb"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { - DEBUG("Showing manual options"); + DEBUG("Config: Showing manual publishing options"); gtk_widget_show(publishedPortLabel); gtk_widget_show(publishedPortSpinBox); gtk_widget_show(publishedAddressLabel); gtk_widget_show(publishedAddressEntry); } else { - DEBUG("Hiding manual options"); + DEBUG("Config: Hiding manual publishing options"); gtk_widget_hide(publishedPortLabel); gtk_widget_hide(publishedPortSpinBox); gtk_widget_hide(publishedAddressLabel); @@ -607,12 +701,12 @@ static use_stun_cb(GtkWidget *widget, gpointer data UNUSED) if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { - DEBUG("Showing stun options, hiding Local/Published info"); + DEBUG("Config: Showing stun options, hiding Local/Published info"); gtk_widget_show (stunServerLabel); gtk_widget_show (stunServerEntry); gtk_widget_set_sensitive (sameAsLocalRadioButton, FALSE); gtk_widget_set_sensitive (publishedAddrRadioButton, FALSE); - DEBUG("Problem occurs here"); + gtk_widget_hide (publishedAddressLabel); gtk_widget_hide (publishedPortLabel); gtk_widget_hide (publishedAddressEntry); @@ -620,24 +714,18 @@ static use_stun_cb(GtkWidget *widget, gpointer data UNUSED) } else { + DEBUG("Config: hiding stun options, showing Local/Published info"); + gtk_widget_hide (stunServerLabel); gtk_widget_hide (stunServerEntry); gtk_widget_set_sensitive (sameAsLocalRadioButton, TRUE); gtk_widget_set_sensitive (publishedAddrRadioButton, TRUE); - if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (sameAsLocalRadioButton))) { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (publishedAddrRadioButton))) { gtk_widget_show (publishedAddressLabel); gtk_widget_show (publishedPortLabel); gtk_widget_show (publishedAddressEntry); gtk_widget_show (publishedPortSpinBox); - - // Since stun callback is called at initialization, we cannot reinit published address - // TODO: find a way so that if stun is unchecked, reinit published address entry - // in case local address changedd - - // local_interface = (gchar *) gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo)); - // local_address = dbus_get_address_from_interface_name(local_interface); - // gtk_entry_set_text(GTK_ENTRY(publishedAddressEntry), local_address); } } } @@ -645,6 +733,7 @@ static use_stun_cb(GtkWidget *widget, gpointer data UNUSED) static same_as_local_cb(GtkWidget * widget, gpointer data UNUSED) { + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { DEBUG("Same as local"); gchar * local_interface; @@ -659,6 +748,7 @@ static same_as_local_cb(GtkWidget * widget, gpointer data UNUSED) gchar * local_port = (gchar *) gtk_entry_get_text(GTK_ENTRY(localPortSpinBox)); gtk_spin_button_set_value(GTK_SPIN_BUTTON(publishedPortSpinBox), g_ascii_strtod(local_port, NULL)); } + } @@ -743,11 +833,10 @@ GtkWidget* create_credential_widget (account_t **a) { GtkRequisition requisitionTreeView; gtk_widget_size_request (GTK_WIDGET(treeViewCredential), &requisitionTreeView); gtk_widget_size_request (GTK_WIDGET(table), &requisitionTable); - gtk_widget_set_size_request (GTK_WIDGET(scrolledWindowCredential), 400, /*requisitionTable.width,*/ 120); + gtk_widget_set_size_request (GTK_WIDGET(scrolledWindowCredential), 400, 120); // same_as_local_cb (sameAsLocalRadioButton, NULL); // set_published_addr_manually_cb (publishedAddrRadioButton, NULL); - return frame; } @@ -838,17 +927,10 @@ GtkWidget * create_security_tab (account_t **a) GtkWidget * ret; GtkWidget * hbox; + ret = gtk_vbox_new(FALSE, 10); gtk_container_set_border_width(GTK_CONTAINER(ret), 10); - /* - published_address = g_hash_table_lookup(currentAccount->properties, PUBLISHED_ADDRESS); - - published_port = g_hash_table_lookup(currentAccount->properties, PUBLISHED_PORT); - - DEBUG("TLS is enabled to %s", curTLSEnabled); - } */ - // Credentials frame frame = create_credential_widget (a); gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); @@ -934,7 +1016,7 @@ GtkWidget* create_network (account_t **a) { gchar *local_iface_addr; gchar *local_iface_name; - local_iface_addr= g_malloc(18); + local_iface_addr= g_malloc(36); if (iface_list != NULL) { @@ -977,7 +1059,7 @@ GtkWidget* create_network (account_t **a) { // Fill the text entry with the ip address of local interface selected localAddressEntry = gtk_entry_new(); local_iface_name = (gchar *) gtk_combo_box_get_active_text (GTK_COMBO_BOX (localAddressCombo)); - sflphone_get_interface_addr_from_name(local_iface_name, &local_iface_addr); + sflphone_get_interface_addr_from_name(local_iface_name, &local_iface_addr, 36); gtk_entry_set_text(GTK_ENTRY(localAddressEntry), local_iface_addr); gtk_widget_set_sensitive(localAddressEntry, FALSE); gtk_table_attach ( GTK_TABLE( table ), localAddressEntry, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); @@ -1049,7 +1131,9 @@ GtkWidget* create_published_address (account_t **a) { if (g_strcasecmp (published_sameas_local, "true") == 0) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sameAsLocalRadioButton), TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (publishedAddrRadioButton), FALSE); } else { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sameAsLocalRadioButton), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (publishedAddrRadioButton), TRUE); } @@ -1071,8 +1155,6 @@ GtkWidget* create_published_address (account_t **a) { gtk_table_attach_defaults(GTK_TABLE(table), publishedPortSpinBox, 1, 2, 6, 7); - use_stun_cb (GTK_WIDGET (useStunCheckBox), NULL); - // This will trigger a signal, and the above two // widgets need to be instanciated before that. g_signal_connect(localAddressCombo, "changed", G_CALLBACK(local_interface_changed_cb), localAddressCombo); @@ -1082,12 +1164,15 @@ GtkWidget* create_published_address (account_t **a) { g_signal_connect(sameAsLocalRadioButton, "toggled", G_CALLBACK(same_as_local_cb), sameAsLocalRadioButton); g_signal_connect(publishedAddrRadioButton, "toggled", G_CALLBACK(set_published_addr_manually_cb), publishedAddrRadioButton); + set_published_addr_manually_cb(publishedAddrRadioButton, NULL); + return frame; } GtkWidget* create_advanced_tab (account_t **a) { // Build the advanced tab, to appear on the account configuration panel + DEBUG("Config: Build advanced tab") GtkWidget *ret, *frame; @@ -1104,234 +1189,330 @@ GtkWidget* create_advanced_tab (account_t **a) { gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); gtk_widget_show_all (ret); - return ret; -} - -void show_account_window (account_t * a) { - - GtkWidget * notebook; - GtkWidget *tab, *codecs_tab, *ip_tab; - gint response; - account_t *currentAccount; - // In case the published address is same than local, - // we must resolve published address from interface name - gchar * local_interface; - gchar * published_address; - - currentAccount = a; - - if (currentAccount == NULL) { - currentAccount = g_new0(account_t, 1); - currentAccount->properties = dbus_account_details(NULL); - currentAccount->accountID = "new"; - sflphone_fill_codec_list_per_account (¤tAccount); - DEBUG("Account is NULL. Will fetch default values\n"); - } + use_stun_cb (GTK_WIDGET (useStunCheckBox), NULL); - dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Account settings"), - GTK_WINDOW(get_main_window()), - GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_APPLY, - GTK_RESPONSE_ACCEPT, - NULL)); + set_published_addr_manually_cb(GTK_WIDGET (publishedAddrRadioButton), NULL); - gtk_dialog_set_has_separator(dialog, FALSE); - gtk_container_set_border_width (GTK_CONTAINER(dialog), 0); + return ret; +} - notebook = gtk_notebook_new(); - gtk_box_pack_start(GTK_BOX (dialog->vbox), notebook, TRUE, TRUE, 0); - gtk_container_set_border_width(GTK_CONTAINER(notebook), 10); - gtk_widget_show(notebook); +GtkWidget* create_codecs_configuration (account_t **a) { - // We do not need the global settings for the IP2IP account - if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + // Main widget + GtkWidget *ret, *codecs, *dtmf, *box, *frame, *sipinfo, *table; + account_t *currentAccount = *a; + gchar *currentDtmfType = ""; + gboolean dtmf_are_rtp = TRUE; + gpointer p; - /* General Settings */ - tab = create_basic_tab(¤tAccount); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Basic"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - g_signal_emit_by_name (protocolComboBox, "changed", NULL); + ret = gtk_vbox_new(FALSE, 10); + gtk_container_set_border_width(GTK_CONTAINER(ret), 10); - } + box = codecs_box (a); - /* Codecs */ - codecs_tab = create_codecs_configuration (¤tAccount); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), codecs_tab, gtk_label_new(_("Codecs"))); - gtk_notebook_page_num (GTK_NOTEBOOK (notebook), codecs_tab); + // Box for the codecs + gnome_main_section_new (_("Codecs"), &codecs); + gtk_box_pack_start (GTK_BOX(ret), codecs, FALSE, FALSE, 0); + gtk_widget_set_size_request (GTK_WIDGET (codecs), -1, 200); + gtk_widget_show (codecs); + gtk_container_add (GTK_CONTAINER (codecs) , box); - // We do not need these one either for the IP2IP account - if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + // Add DTMF type selection for SIP account only + p = g_hash_table_lookup(currentAccount->properties, g_strdup(ACCOUNT_TYPE)); + if(g_strcmp0(p, "SIP") == 0) { + + // Box for dtmf + gnome_main_section_new_with_table (_("DTMF"), &dtmf, &table, 1, 2); + gtk_box_pack_start (GTK_BOX(ret), dtmf, FALSE, FALSE, 0); + gtk_widget_show (dtmf); - /* Advanced */ - advanced_tab = create_advanced_tab(¤tAccount); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), advanced_tab, gtk_label_new(_("Advanced"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), advanced_tab); - /* Security */ - security_tab = create_security_tab (¤tAccount); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), security_tab, gtk_label_new(_("Security"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook),security_tab); - } + currentDtmfType = g_hash_table_lookup (currentAccount->properties, g_strdup(ACCOUNT_DTMF_TYPE)); + if (g_strcasecmp(currentDtmfType, OVERRTP) != 0) { + dtmf_are_rtp = FALSE; + } - else { + overrtp = gtk_radio_button_new_with_label( NULL, _("RTP") ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(overrtp), dtmf_are_rtp); + gtk_table_attach ( GTK_TABLE( table ), overrtp, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - /* Custom tab for the IP to IP profile */ - ip_tab = create_direct_ip_calls_tab (¤tAccount); - gtk_notebook_prepend_page (GTK_NOTEBOOK (notebook), ip_tab, gtk_label_new(_("Network"))); - gtk_notebook_page_num (GTK_NOTEBOOK (notebook), ip_tab); + sipinfo = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(overrtp), _("SIP")); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(sipinfo), !dtmf_are_rtp); + g_signal_connect(G_OBJECT(sipinfo), "clicked", G_CALLBACK(select_dtmf_type), NULL); + gtk_table_attach ( GTK_TABLE( table ), sipinfo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); } - gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook) , 0); - - response = gtk_dialog_run (GTK_DIALOG (dialog)); - - if(response == GTK_RESPONSE_ACCEPT) - { - gchar *proto = "SIP"; - - if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { - - proto = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); - - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_RESOLVE_ONCE), - g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(entryResolveNameOnlyOnce)) ? "false": "true")); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_ALIAS), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryAlias)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_TYPE), - g_strdup(proto)); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_HOSTNAME), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryHostname)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_USERNAME), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryUsername)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_PASSWORD), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryPassword)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_MAILBOX), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryMailbox)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_REGISTRATION_EXPIRE), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(expireSpinBox)))); - } + gtk_widget_show_all(ret); + return ret; - if (strcmp (proto, "SIP") == 0) { - - if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { - - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), - g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(useStunCheckBox)) ? "true":"false")); +} - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_SERVER), - g_strdup(gtk_entry_get_text(GTK_ENTRY(stunServerEntry)))); +void show_account_window (account_t * a) { - g_hash_table_replace(currentAccount->properties, g_strdup(PUBLISHED_SAMEAS_LOCAL), g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sameAsLocalRadioButton)) ? "true":"false")); + GtkWidget * notebook; + GtkWidget *tab, *codecs_tab, *ip_tab; + gint response; + account_t *currentAccount; + + // In case the published address is same than local, + // we must resolve published address from interface name + gchar * local_interface; + gchar * published_address; + + currentAccount = a; + + if (currentAccount == NULL) { + currentAccount = g_new0(account_t, 1); + currentAccount->properties = dbus_account_details(NULL); + currentAccount->accountID = "new"; + sflphone_fill_codec_list_per_account (¤tAccount); + DEBUG("Config: Account is NULL. Will fetch default values"); + } - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sameAsLocalRadioButton))) - { + dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Account settings"), + GTK_WINDOW(get_main_window()), + GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, + GTK_RESPONSE_CANCEL, + GTK_STOCK_APPLY, + GTK_RESPONSE_ACCEPT, + NULL)); + + gtk_dialog_set_has_separator(dialog, FALSE); + gtk_container_set_border_width (GTK_CONTAINER(dialog), 0); + + notebook = gtk_notebook_new(); + gtk_box_pack_start(GTK_BOX (dialog->vbox), notebook, TRUE, TRUE, 0); + gtk_container_set_border_width(GTK_CONTAINER(notebook), 10); + gtk_widget_show(notebook); - g_hash_table_replace(currentAccount->properties, - g_strdup(PUBLISHED_PORT), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(publishedPortSpinBox)))); + // We do not need the global settings for the IP2IP account + if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + + /* General Settings */ + tab = create_basic_tab(¤tAccount); + + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Basic"))); + gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - g_hash_table_replace(currentAccount->properties, - g_strdup(PUBLISHED_ADDRESS), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(publishedAddressEntry)))); - } - else { - g_hash_table_replace(currentAccount->properties, - g_strdup(PUBLISHED_PORT), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(localPortSpinBox)))); - local_interface = g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo))); + } + /* Codecs */ + codecs_tab = create_codecs_configuration (¤tAccount); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), codecs_tab, gtk_label_new(_("Codecs"))); + gtk_notebook_page_num (GTK_NOTEBOOK (notebook), codecs_tab); + + // Get current protocol for this account protocol + gchar *currentProtocol = "SIP"; + if(protocolComboBox) + currentProtocol = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); + + // Do not need advanced or security one for the IP2IP account + if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + + /* Advanced */ + advanced_tab = create_advanced_tab(¤tAccount); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), advanced_tab, gtk_label_new(_("Advanced"))); + gtk_notebook_page_num(GTK_NOTEBOOK(notebook), advanced_tab); + + /* Security */ + security_tab = create_security_tab (¤tAccount); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), security_tab, gtk_label_new(_("Security"))); + gtk_notebook_page_num(GTK_NOTEBOOK(notebook),security_tab); - published_address = dbus_get_address_from_interface_name(local_interface); + } + else { - g_hash_table_replace(currentAccount->properties, - g_strdup(PUBLISHED_ADDRESS), - published_address); - } - } + /* Custom tab for the IP to IP profile */ + ip_tab = create_direct_ip_calls_tab (¤tAccount); + gtk_notebook_prepend_page (GTK_NOTEBOOK (notebook), ip_tab, gtk_label_new(_("Network"))); + gtk_notebook_page_num (GTK_NOTEBOOK (notebook), ip_tab); + } + // Emit signal to hide advanced and security tabs in case of IAX + if(protocolComboBox) + g_signal_emit_by_name (GTK_WIDGET(protocolComboBox), "changed", NULL); - gchar* keyExchange = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(keyExchangeCombo)); + gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook) , 0); - if (g_strcasecmp(keyExchange, "ZRTP") == 0) { - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(ZRTP)); - } + /**************/ + /* Run dialog */ + /**************/ + response = gtk_dialog_run (GTK_DIALOG (dialog)); + + // Update protocol in case it changed + gchar *proto = NULL; + if(protocolComboBox) + proto = (gchar *) gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); + else + proto = "SIP"; + + // If cancel button is pressed + if(response == GTK_RESPONSE_CANCEL) { + gtk_widget_destroy (GTK_WIDGET(dialog)); + return; + } - else if(g_strcasecmp(keyExchange, "SDES") == 0) { - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(SDES)); - } + gchar *key = g_strdup(ACCOUNT_USERNAME); + + // If accept button is + if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_ALIAS), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryAlias)))); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_TYPE), + g_strdup(proto)); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_HOSTNAME), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryHostname)))); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_USERNAME), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryUsername)))); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_PASSWORD), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryPassword)))); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_MAILBOX), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryMailbox)))); + + // Variable used to update credentials + current_username = (gchar *)g_hash_table_lookup(currentAccount->properties, g_strdup(ACCOUNT_USERNAME)); - else { - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("false")); - } + } - g_hash_table_replace(currentAccount->properties, g_strdup(TLS_ENABLE), - g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(useSipTlsCheckBox)) ? "true":"false")); + if (proto && strcmp (proto, "SIP") == 0) { + + if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_RESOLVE_ONCE), + g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(entryResolveNameOnlyOnce)) ? "false": "true")); - g_hash_table_replace(currentAccount->properties, - g_strdup(LOCAL_INTERFACE), - g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo)))); + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_REGISTRATION_EXPIRE), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(expireSpinBox)))); + + /* + // TODO: uncomment this code and implement route + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_ROUTE), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryRouteSet)))); + */ + + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_USERAGENT), + g_strdup(gtk_entry_get_text (GTK_ENTRY(entryUseragent)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(LOCAL_PORT), - g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(localPortSpinBox)))); + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), + g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(useStunCheckBox)) ? "true":"false")); + + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_SERVER), + g_strdup(gtk_entry_get_text(GTK_ENTRY(stunServerEntry)))); + + g_hash_table_replace(currentAccount->properties, g_strdup(PUBLISHED_SAMEAS_LOCAL), g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sameAsLocalRadioButton)) ? "true":"false")); - } + if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sameAsLocalRadioButton))) { + + g_hash_table_replace(currentAccount->properties, + g_strdup(PUBLISHED_PORT), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(publishedPortSpinBox)))); - /* Set new credentials if any */ - DEBUG("Setting credentials"); - if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { - - /* This hack is necessary because of the way the - * configuration file is made (.ini at that time). - * and deleting account per account is too much - * of a trouble. - */ - dbus_delete_all_credential(currentAccount); - - GPtrArray * credential = getNewCredential(currentAccount->properties); - currentAccount->credential_information = credential; - if(currentAccount->credential_information != NULL) { - int i; - for(i = 0; i < currentAccount->credential_information->len; i++) { - dbus_set_credential(currentAccount, i); - } - dbus_set_number_of_credential(currentAccount, currentAccount->credential_information->len); - } - } - /** @todo Verify if it's the best condition to check */ - if (g_strcasecmp(currentAccount->accountID, "new") == 0) { - dbus_add_account(currentAccount); - } - else { - dbus_set_account_details(currentAccount); - } + g_hash_table_replace(currentAccount->properties, + g_strdup(PUBLISHED_ADDRESS), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(publishedAddressEntry)))); + } + else { + + g_hash_table_replace(currentAccount->properties, + g_strdup(PUBLISHED_PORT), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(localPortSpinBox)))); + local_interface = g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo))); + + published_address = dbus_get_address_from_interface_name(local_interface); + + g_hash_table_replace(currentAccount->properties, + g_strdup(PUBLISHED_ADDRESS), + published_address); + } - // Perpetuate changes to the deamon - codec_list_update_to_daemon (currentAccount); + if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(overrtp))) { + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_DTMF_TYPE), g_strdup(OVERRTP)); + } + else { + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_DTMF_TYPE), g_strdup(SIPINFO)); + } + + gchar* keyExchange = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(keyExchangeCombo)); + + if (g_strcasecmp(keyExchange, "ZRTP") == 0) { + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(ZRTP)); } + + else if(g_strcasecmp(keyExchange, "SDES") == 0) { + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(SDES)); + } + else { - g_print ("IP to IP call\n"); - // Direct IP calls config - // dbus_set_ip2ip_details (directIpCallsProperties); + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("false")); } + + g_hash_table_replace(currentAccount->properties, g_strdup(TLS_ENABLE), + g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(useSipTlsCheckBox)) ? "true":"false")); + } + + g_hash_table_replace(currentAccount->properties, + g_strdup(LOCAL_INTERFACE), + g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo)))); + + g_hash_table_replace(currentAccount->properties, + g_strdup(LOCAL_PORT), + g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(localPortSpinBox)))); - gtk_widget_destroy (GTK_WIDGET(dialog)); + } + + if (currentProtocol && strcmp(currentProtocol, "SIP") == 0) { + + /* Set new credentials if any */ + DEBUG("Config: Setting credentials"); + if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { + + /* This hack is necessary because of the way the + * configuration file is made (.ini at that time). + * and deleting account per account is too much + * of a trouble. + */ + dbus_delete_all_credential(currentAccount); + + GPtrArray * credential = getNewCredential(currentAccount->properties); + currentAccount->credential_information = credential; + if(currentAccount->credential_information != NULL) { + int i; + for(i = 0; i < currentAccount->credential_information->len; i++) { + dbus_set_credential(currentAccount, i); + } + dbus_set_number_of_credential(currentAccount, currentAccount->credential_information->len); + } + } + } + /** @todo Verify if it's the best condition to check */ + if (g_strcasecmp(currentAccount->accountID, "new") == 0) { + dbus_add_account(currentAccount); + } + else { + dbus_set_account_details(currentAccount); + } + + // Perpetuate changes to the deamon + codec_list_update_to_daemon (currentAccount); + + gtk_widget_destroy (GTK_WIDGET(dialog)); } GtkWidget* create_direct_ip_calls_tab (account_t **a) { diff --git a/sflphone-client-gnome/src/config/accountconfigdialog.h b/sflphone-client-gnome/src/config/accountconfigdialog.h index 7ac27c3f6b66bfefcc82678aadbddea605d4512a..dee7c8d33e3742dbc8600985d8d480f7a2653531 100644 --- a/sflphone-client-gnome/src/config/accountconfigdialog.h +++ b/sflphone-client-gnome/src/config/accountconfigdialog.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __ACCOUNTWINDOW_H__ diff --git a/sflphone-client-gnome/src/config/accountlistconfigdialog.c b/sflphone-client-gnome/src/config/accountlistconfigdialog.c index ee3b71adba58ac78017f4987f69c21c9fb72c33d..0c6a975e8e342d29ee5d039adf1729361034ed48 100644 --- a/sflphone-client-gnome/src/config/accountlistconfigdialog.c +++ b/sflphone-client-gnome/src/config/accountlistconfigdialog.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ @@ -39,7 +50,6 @@ GtkListStore * accountStore; GtkDialog * accountListDialog = NULL; - account_t * selectedAccount = NULL; // Account properties enum { @@ -54,9 +64,7 @@ enum { /** * Fills the treelist with accounts */ - void -account_list_config_dialog_fill() -{ +void account_list_config_dialog_fill() { if (accountListDialog == NULL) { DEBUG("Dialog is not opened"); @@ -536,7 +544,7 @@ show_account_list_config_dialog(void) gtk_widget_show(status_bar); gtk_box_pack_start(GTK_BOX(accountListDialog->vbox ), status_bar, TRUE, TRUE, 0); - int number_accounts = account_list_get_size(); + int number_accounts = account_list_get_registered_accounts (); if (number_accounts) { gchar * message = g_strdup_printf(n_("There is %d active account", "There are %d active accounts", number_accounts), diff --git a/sflphone-client-gnome/src/config/accountlistconfigdialog.h b/sflphone-client-gnome/src/config/accountlistconfigdialog.h index 0990ef93d48381c91c4cc3887049dd1a968dff07..a1ec479f2b6d274d4b2d81b0cb5fba673e56c605 100644 --- a/sflphone-client-gnome/src/config/accountlistconfigdialog.h +++ b/sflphone-client-gnome/src/config/accountlistconfigdialog.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-client-gnome/src/config/addressbook-config.c b/sflphone-client-gnome/src/config/addressbook-config.c index dff6686508fe81dd45f40626bb0fc73a4ef0b4b2..34a2d05583f31cab857c00a11cfdbb0f90253c28 100644 --- a/sflphone-client-gnome/src/config/addressbook-config.c +++ b/sflphone-client-gnome/src/config/addressbook-config.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "addressbook-config.h" diff --git a/sflphone-client-gnome/src/config/addressbook-config.h b/sflphone-client-gnome/src/config/addressbook-config.h index 85e00a3d54b4e949d07bc7347c6a4f2ba18d294d..fb419e876db7d59fd59f0de69909211ccff7078e 100644 --- a/sflphone-client-gnome/src/config/addressbook-config.h +++ b/sflphone-client-gnome/src/config/addressbook-config.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _ADDRESS_BOOK_CONFIG diff --git a/sflphone-client-gnome/src/config/assistant.c b/sflphone-client-gnome/src/config/assistant.c index 0319d1bd5e0e7e0bbec6120192546366aa45b4e8..7b5c342a81312a6c0b292aa3bdcd9511a980de53 100644 --- a/sflphone-client-gnome/src/config/assistant.c +++ b/sflphone-client-gnome/src/config/assistant.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 2009, Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software *Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <string.h> @@ -157,7 +168,7 @@ static void sip_apply_callback( void ) { // Add default interface info gchar ** iface_list = NULL; - iface_list = (gchar**) dbus_get_all_ip_interface(); + iface_list = (gchar**) dbus_get_all_ip_interface_by_name(); gchar ** iface = NULL; // select the first interface available diff --git a/sflphone-client-gnome/src/config/assistant.h b/sflphone-client-gnome/src/config/assistant.h index 4bf361961eb5da85fbbde90fbe2809797ffd8738..2ac083e04cb5d26ab14208291d50896a2bbe5f00 100644 --- a/sflphone-client-gnome/src/config/assistant.h +++ b/sflphone-client-gnome/src/config/assistant.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __ASSISTANT_H diff --git a/sflphone-client-gnome/src/config/audioconf.c b/sflphone-client-gnome/src/config/audioconf.c index ce269415c6f197ed9a8c03d2d8f67d136799f870..bab96d27e7695ffc761541135ba5af91fe791516 100644 --- a/sflphone-client-gnome/src/config/audioconf.c +++ b/sflphone-client-gnome/src/config/audioconf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <audioconf.h> @@ -24,9 +35,11 @@ GtkListStore *pluginlist; GtkListStore *outputlist; GtkListStore *inputlist; +GtkListStore *ringtonelist; GtkWidget *output; GtkWidget *input; +GtkWidget *ringtone; GtkWidget *plugin; GtkWidget *codecMoveUpButton; GtkWidget *codecMoveDownButton; @@ -34,6 +47,7 @@ GtkWidget *codecTreeView; // View used instead of store to get access to select GtkWidget *pulse; GtkWidget *alsabox; GtkWidget *alsa_conf; +GtkWidget *noisebox; GtkWidget *noise_conf; // Codec properties ID @@ -92,7 +106,7 @@ void preferences_dialog_fill_codec_list (account_t **a) { * Fill store with output audio plugins */ void -preferences_dialog_fill_output_audio_plugin_list() +preferences_dialog_fill_audio_plugin_list() { GtkTreeIter iter; gchar** list; @@ -101,7 +115,7 @@ preferences_dialog_fill_output_audio_plugin_list() gtk_list_store_clear(pluginlist); // Call dbus to retreive list - list = dbus_get_output_audio_plugin_list(); + list = dbus_get_audio_plugin_list(); // For each API name included in list int c = 0; @@ -116,6 +130,7 @@ preferences_dialog_fill_output_audio_plugin_list() list = NULL; } + /** * Fill output audio device store */ @@ -144,6 +159,37 @@ preferences_dialog_fill_output_audio_device_list() } } + +/** + * Fill rigntone audio device store + */ + +void +preferences_dialog_fill_ringtone_audio_device_list() +{ + + GtkTreeIter iter; + gchar** list; + gchar** audioDevice; + int index; + + gtk_list_store_clear(ringtonelist); + + // Call dbus to retreive output device + list = dbus_get_audio_output_device_list(); + + // For each device name in the list + int c = 0; + for(audioDevice = list; *list; list++) { + index = dbus_get_audio_device_index( *list ); + gtk_list_store_append(ringtonelist, &iter); + gtk_list_store_set(ringtonelist, &iter, 0, *list, 1, index, -1); + c++; + } +} + + + /** * Select active output audio device */ @@ -183,6 +229,46 @@ select_active_output_audio_device() } } + +/** + * Select active output audio device + */ + void +select_active_ringtone_audio_device() +{ + if( SHOW_ALSA_CONF ) + { + + GtkTreeModel* model; + GtkTreeIter iter; + gchar** devices; + int currentDeviceIndex; + int deviceIndex; + + // Select active ringtone device on server + devices = dbus_get_current_audio_devices_index(); + currentDeviceIndex = atoi(devices[2]); + DEBUG("audio device index for ringtone = %d", currentDeviceIndex); + model = gtk_combo_box_get_model(GTK_COMBO_BOX(ringtone)); + + // Find the currently set ringtone device + gtk_tree_model_get_iter_first(model, &iter); + do { + gtk_tree_model_get(model, &iter, 1, &deviceIndex, -1); + if(deviceIndex == currentDeviceIndex) + { + // Set current iteration the active one + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(ringtone), &iter); + return; + } + } while(gtk_tree_model_iter_next(model, &iter)); + + // No index was found, select first one + WARN("Warning : No active ringtone device found"); + gtk_combo_box_set_active(GTK_COMBO_BOX(ringtone), 0); + } +} + /** * Fill input audio device store */ @@ -353,6 +439,29 @@ select_audio_input_device(GtkComboBox* comboBox, gpointer data UNUSED) } } +/** + * Set the audio ringtone device on the server with its index + */ +static void +select_audio_ringtone_device(GtkComboBox *comboBox, gpointer data UNUSED) +{ + GtkTreeModel *model; + GtkTreeIter iter; + int comboBoxIndex; + int deviceIndex; + + comboBoxIndex = gtk_combo_box_get_active(comboBox); + + if(comboBoxIndex >= 0) { + model = gtk_combo_box_get_model(comboBox); + gtk_combo_box_get_active_iter(comboBox, &iter); + + gtk_tree_model_get(model, &iter, 1, &deviceIndex, -1); + + dbus_set_audio_ringtone_device(deviceIndex); + } +} + /** * Toggle move buttons on if a codec is selected, off elsewise */ @@ -636,8 +745,7 @@ GtkWidget* codecs_box (account_t **a) void select_audio_manager( void ) { - - DEBUG("audio manager selected\n"); + DEBUG("audio manager selected"); if( !SHOW_ALSA_CONF && !gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(pulse) ) ) { @@ -669,6 +777,48 @@ select_audio_manager( void ) } +void +active_echo_cancel(void) { + + gchar* state; + gchar* newstate; + + DEBUG("Audio: Active echo cancel clicked"); + state = dbus_get_echo_cancel_state(); + + DEBUG("Audio: Get echo cancel state %s", state); + + if(strcmp(state, "enabled") == 0) + newstate = "disabled"; + else + newstate = "enabled"; + + dbus_set_echo_cancel_state(newstate); + +} + + +void +active_noise_suppress(void) { + + gchar *state; + gchar *newstate; + + DEBUG("Audio: Active noise suppress clicked"); + state = dbus_get_noise_suppress_state(); + + DEBUG("Audio: Get echo cancel state %s", state); + + if(strcmp(state, "enabled") == 0) + newstate = "disabled"; + else + newstate = "enabled"; + + dbus_set_noise_suppress_state(newstate); + + +} + GtkWidget* alsa_box() { GtkWidget *ret; @@ -679,19 +829,19 @@ GtkWidget* alsa_box() ret = gtk_hbox_new(FALSE, 10); gtk_widget_show( ret ); - table = gtk_table_new(4, 3, FALSE); + table = gtk_table_new(5, 3, FALSE); gtk_table_set_col_spacing(GTK_TABLE(table), 0, 40); gtk_box_pack_start( GTK_BOX(ret) , table , TRUE , TRUE , 1); gtk_widget_show(table); - DEBUG("plugin"); + DEBUG("Audio: Configuration plugin"); item = gtk_label_new(_("ALSA plugin")); gtk_misc_set_alignment(GTK_MISC(item), 0, 0.5); gtk_table_attach(GTK_TABLE(table), item, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); gtk_widget_show( item ); // Set choices of audio managers pluginlist = gtk_list_store_new(1, G_TYPE_STRING); - preferences_dialog_fill_output_audio_plugin_list(); + preferences_dialog_fill_audio_plugin_list(); plugin = gtk_combo_box_new_with_model(GTK_TREE_MODEL(pluginlist)); select_active_output_audio_plugin(); gtk_label_set_mnemonic_widget(GTK_LABEL(item), plugin); @@ -706,7 +856,7 @@ GtkWidget* alsa_box() // Device : Output device // Create title label - DEBUG("output"); + DEBUG("Audio: Configuration output"); item = gtk_label_new(_("Output")); gtk_misc_set_alignment(GTK_MISC(item), 0, 0.5); gtk_table_attach(GTK_TABLE(table), item, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); @@ -728,7 +878,7 @@ GtkWidget* alsa_box() // Device : Input device // Create title label - DEBUG("input"); + DEBUG("Audio: Configuration input"); item = gtk_label_new(_("Input")); gtk_misc_set_alignment(GTK_MISC(item), 0, 0.5); gtk_table_attach(GTK_TABLE(table), item, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); @@ -749,6 +899,27 @@ GtkWidget* alsa_box() gtk_table_attach(GTK_TABLE(table), input, 2, 3, 3, 4, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); gtk_widget_show(input); + + DEBUG("Audio: Configuration rintgtone"); + item = gtk_label_new(_("Ringtone")); + gtk_misc_set_alignment(GTK_MISC(item), 0, 0.5); + gtk_table_attach(GTK_TABLE(table), item, 1, 2, 4, 5, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); + gtk_widget_show(item); + // set choices of ringtone devices + ringtonelist = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); + preferences_dialog_fill_ringtone_audio_device_list(); + ringtone = gtk_combo_box_new_with_model(GTK_TREE_MODEL(ringtonelist)); + select_active_ringtone_audio_device(); + gtk_label_set_mnemonic_widget(GTK_LABEL(item), output); + g_signal_connect(G_OBJECT(ringtone), "changed", G_CALLBACK(select_audio_ringtone_device), output); + + // Set rendering + renderer = gtk_cell_renderer_text_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(ringtone), renderer, TRUE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(ringtone), renderer, "text", 0, NULL); + gtk_table_attach(GTK_TABLE(table), ringtone, 2, 3, 4, 5, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); + gtk_widget_show(ringtone); + gtk_widget_show_all(ret); DEBUG("done"); @@ -758,30 +929,37 @@ GtkWidget* alsa_box() GtkWidget* noise_box() { GtkWidget *ret; - GtkWidget *enableVoiceActivity; + GtkWidget *enableEchoCancel; GtkWidget *enableNoiseReduction; + gboolean echocancelActive, noisesuppressActive; + gchar *state; - // check button to enable ringtones ret = gtk_hbox_new( TRUE , 1); + + enableEchoCancel = gtk_check_button_new_with_mnemonic( _("_Echo Suppression")); + state = dbus_get_echo_cancel_state(); + echocancelActive = FALSE; + if(strcmp(state, "enabled") == 0) + echocancelActive = TRUE; + else + echocancelActive = FALSE; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableEchoCancel), echocancelActive); + g_signal_connect(G_OBJECT(enableEchoCancel), "clicked", active_echo_cancel, NULL); - enableVoiceActivity = gtk_check_button_new_with_mnemonic( _("_Voice Activity Detection")); - //TODO Use the value from D-BUS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enableVoiceActivity), FALSE ); - gtk_box_pack_start( GTK_BOX(ret) , enableVoiceActivity , TRUE , TRUE , 1); - //TODO Enable it - //gtk_widget_set_sensitive(GTK_WIDGET(noise_conf), FALSE); - //TODO Add a callback function - //g_signal_connect(G_OBJECT( enableNoiseReduction) , "clicked" , NULL , NULL); + gtk_box_pack_start( GTK_BOX(ret), enableEchoCancel, TRUE , TRUE , 1); - enableNoiseReduction = gtk_check_button_new_with_mnemonic( _("_Noise Reduction (Narrow-Band Companding)")); - //TODO Use the value from D-BUS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enableNoiseReduction), FALSE ); + enableNoiseReduction = gtk_check_button_new_with_mnemonic( _("_Noise Reduction")); + state = dbus_get_noise_suppress_state(); + noisesuppressActive = FALSE; + if(strcmp(state, "enabled") == 0) + noisesuppressActive = TRUE; + else + noisesuppressActive = FALSE; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableNoiseReduction), noisesuppressActive); gtk_box_pack_start( GTK_BOX(ret) , enableNoiseReduction , TRUE , TRUE , 1); - //TODO Enable it - // gtk_widget_set_sensitive(GTK_WIDGET(noise_conf), FALSE); - //TODO Add a callback function - //g_signal_connect(G_OBJECT( enableNoiseReduction) , "clicked" , NULL , NULL); + + g_signal_connect(G_OBJECT(enableNoiseReduction), "clicked", active_noise_suppress, NULL); return ret; } @@ -889,6 +1067,15 @@ GtkWidget* create_audio_configuration() gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( fileChooser ) , filter); gtk_table_attach ( GTK_TABLE( table ), fileChooser, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gnome_main_section_new (_("Voice enhancement settings"), &noise_conf); + gtk_box_pack_start(GTK_BOX(ret), noise_conf, FALSE, FALSE, 0); + gtk_widget_show( noise_conf ); + + // Box for the voice enhancement configuration + noisebox = noise_box(); + gtk_container_add( GTK_CONTAINER(noise_conf) , noisebox ); + + gtk_widget_show_all(ret); if(!pulse_audio) { @@ -900,7 +1087,7 @@ GtkWidget* create_audio_configuration() return ret; } - +/* GtkWidget* create_codecs_configuration (account_t **a) { // Main widget @@ -922,3 +1109,4 @@ GtkWidget* create_codecs_configuration (account_t **a) { return ret; } +*/ diff --git a/sflphone-client-gnome/src/config/audioconf.h b/sflphone-client-gnome/src/config/audioconf.h index 18a1232ff25b3c600ce2b359f0355791b5084331..b195b947d8ce1d0b6ff6f35ca0cb077469f56ce4 100644 --- a/sflphone-client-gnome/src/config/audioconf.h +++ b/sflphone-client-gnome/src/config/audioconf.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __AUDIO_CONF_H diff --git a/sflphone-client-gnome/src/config/hooks-config.c b/sflphone-client-gnome/src/config/hooks-config.c index 0272afd58b0a71b103cbc189aa8a6239cc040fba..7331cc88fc94e634f1097c7585ff12e71d66ee8c 100644 --- a/sflphone-client-gnome/src/config/hooks-config.c +++ b/sflphone-client-gnome/src/config/hooks-config.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "hooks-config.h" diff --git a/sflphone-client-gnome/src/config/hooks-config.h b/sflphone-client-gnome/src/config/hooks-config.h index 3d8c303b0a8e02a9a24c26372ded4983075ce3d0..5fcd951b21c4105b25842955b2b1cfd75e73a40a 100644 --- a/sflphone-client-gnome/src/config/hooks-config.h +++ b/sflphone-client-gnome/src/config/hooks-config.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _HOOKS_CONFIG diff --git a/sflphone-client-gnome/src/config/preferencesdialog.c b/sflphone-client-gnome/src/config/preferencesdialog.c index c5f6db485d78c7aa4b13cbbdc5a3437c984af6c4..01be2abd630bcbc1aaac1139cb545c601e2cffea 100644 --- a/sflphone-client-gnome/src/config/preferencesdialog.c +++ b/sflphone-client-gnome/src/config/preferencesdialog.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <gtk/gtk.h> @@ -30,6 +41,7 @@ #include <mainwindow.h> #include <audioconf.h> #include <addressbook-config.h> +#include <shortcuts-config.h> #include <hooks-config.h> #include <utils.h> @@ -51,483 +63,278 @@ GtkWidget * history_value; GtkWidget * status; +GtkWidget *showstatusicon; +GtkWidget *starthidden; +GtkWidget *popupwindow; +GtkWidget *neverpopupwindow; + static int history_limit; static gboolean history_enabled = TRUE; -static void set_md5_hash_cb(GtkWidget *widget UNUSED, gpointer data UNUSED) { - - gboolean enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - dbus_set_md5_credential_hashing(enabled); +static void +set_md5_hash_cb (GtkWidget *widget UNUSED, gpointer data UNUSED) +{ + + gboolean enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)); + dbus_set_md5_credential_hashing (enabled); } - static void -start_hidden( void ) +static void +start_hidden (void) { - dbus_start_hidden(); + dbus_start_hidden (); } -static void set_popup_mode (GtkWidget *widget, gpointer *userdata) +static void +set_popup_mode (GtkWidget *widget, gpointer *userdata) { - if (dbus_popup_mode () || gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) - dbus_switch_popup_mode (); + if (dbus_popup_mode () || gtk_toggle_button_get_active ( + GTK_TOGGLE_BUTTON (widget))) + dbus_switch_popup_mode (); } - - void -set_notif_level( ) +void +set_notif_level () { - dbus_set_notify(); + dbus_set_notify (); } -static void history_limit_cb (GtkSpinButton *button, void *ptr) +static void +history_limit_cb (GtkSpinButton *button, void *ptr) { - history_limit = gtk_spin_button_get_value_as_int((GtkSpinButton *)(ptr)); + history_limit = gtk_spin_button_get_value_as_int ((GtkSpinButton *) (ptr)); } -static void history_enabled_cb (GtkWidget *widget) +static void +history_enabled_cb (GtkWidget *widget) { - history_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); - gtk_widget_set_sensitive (GTK_WIDGET (history_value), history_enabled); + history_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + gtk_widget_set_sensitive (GTK_WIDGET (history_value), history_enabled); - // Toggle it through D-Bus - dbus_set_history_enabled (); + // Toggle it through D-Bus + dbus_set_history_enabled (); } - void -clean_history( void ) +void +clean_history (void) { - calllist_clean_history(); + calllist_clean_history (); } +void showstatusicon_cb (GtkWidget *widget, gpointer data) { -/* -//static void show_advanced_zrtp_options_cb(GtkWidget *widget UNUSED, gpointer data) -//{ -// DEBUG("Advanced options for ZRTP"); -// show_advanced_zrtp_options((GHashTable *) data); -//} -// -//static void show_advanced_tls_options_cb(GtkWidget *widget UNUSED, gpointer data) -//{ -// DEBUG("Advanced options for TLS"); -// show_advanced_tls_options((GHashTable *) data); -//} -// -//static void key_exchange_changed_cb(GtkWidget *widget, gpointer data) -//{ -// DEBUG("Key exchange changed"); -// if (g_strcasecmp(gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)), (gchar *) "ZRTP") == 0) { -// gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(ZRTP)); -// } -// else if (g_strcasecmp(gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)), (gchar *) "SDES") == 0) { -// gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("true")); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(SDES)); -// } -// else { -// gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE); -// DEBUG("Setting key exchange %s to %s\n", ACCOUNT_KEY_EXCHANGE, KEY_EXCHANGE_NONE); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_SRTP_ENABLED), g_strdup("false")); -// g_hash_table_replace(directIpCallsProperties, g_strdup(ACCOUNT_KEY_EXCHANGE), g_strdup(KEY_EXCHANGE_NONE)); -// } -//} -// -//static void use_sip_tls_cb(GtkWidget *widget, gpointer data) -//{ -// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { -// DEBUG("Using sips"); -// gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); -// g_hash_table_replace(directIpCallsProperties, -// g_strdup(TLS_ENABLE), g_strdup("true")); -// } else { -// gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE); -// g_hash_table_replace(directIpCallsProperties, -// g_strdup(TLS_ENABLE), g_strdup("false")); -// } -//} -// -// -//static void ip2ip_local_address_changed_cb(GtkWidget *widget, gpointer data) -//{ -// DEBUG("ip2ip_local_address_changed_cb\n"); -// g_hash_table_replace(directIpCallsProperties, g_strdup(LOCAL_INTERFACE), g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)))); -//} -// -//static void ip2ip_local_port_changed_cb(GtkWidget *widget, gpointer data) -//{ -// DEBUG("ip2ip_local_port_changed_cb\n"); -// gint new_port = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget)); -// DEBUG("new_port %i", new_port); -// g_hash_table_replace(directIpCallsProperties, -// g_strdup(LOCAL_PORT), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(GTK_SPIN_BUTTON(widget))))); -//} -// -// -//GtkWidget* create_direct_ip_calls_tab() -//{ -// GtkWidget * frame; -// GtkWidget * table; -// GtkWidget * label; -// GtkWidget * explanationLabel; -// -// GtkWidget * localPortLabel; -// // GtkWidget * localPortSpinBox; -// GtkWidget * localAddressLabel; -// // GtkWidget * localAddressCombo; -// -// GtkWidget * keyExchangeCombo; -// GtkWidget * advancedZrtpButton; -// GtkWidget * useSipTlsCheckBox; -// -// gchar * curSRTPEnabled = "false"; -// gchar * curTlsEnabled = "false"; -// gchar * curKeyExchange = "0"; -// gchar * description; -// -// gchar * local_interface; -// gchar * local_address; -// gchar * local_port; -// -// //directIpCallsProperties = sflphone_get_ip2ip_properties(); -// sflphone_get_ip2ip_properties (&directIpCallsProperties); -// -// if(directIpCallsProperties != NULL) { -// DEBUG("got a directIpCallsProperties"); -// local_interface = g_hash_table_lookup(directIpCallsProperties, LOCAL_INTERFACE); -// local_port = g_hash_table_lookup(directIpCallsProperties, LOCAL_PORT); -// DEBUG(" local interface = %s", local_interface); -// DEBUG(" local port = %s", local_port); -// curSRTPEnabled = g_hash_table_lookup(directIpCallsProperties, ACCOUNT_SRTP_ENABLED); -// DEBUG(" curSRTPEnabled = %s", curSRTPEnabled); -// curKeyExchange = g_hash_table_lookup(directIpCallsProperties, ACCOUNT_KEY_EXCHANGE); -// curTlsEnabled = g_hash_table_lookup(directIpCallsProperties, TLS_ENABLE); -// } -// -// -// -// GtkWidget * vbox = gtk_vbox_new(FALSE, 10); -// gtk_container_set_border_width(GTK_CONTAINER(vbox), 10); -// -// description = g_markup_printf_escaped(_("This profile is used when you want to reach a remote peer simply by typing a sip URI such as <b>sip:remotepeer</b>. The settings you define here will also be used if no account can be matched to an incoming or outgoing call.")); -// explanationLabel = gtk_label_new(NULL); -// gtk_label_set_markup(GTK_LABEL(explanationLabel), description); -// gtk_misc_set_alignment(GTK_MISC(explanationLabel), 0, 0.5); -// gtk_box_pack_start(GTK_BOX(vbox), explanationLabel, FALSE, FALSE, 0); -// -// /** -// * Network Interface Section -// */ -// gnome_main_section_new_with_table (_("Network Interface"), &frame, &table, 2, 3); -// gtk_container_set_border_width (GTK_CONTAINER(table), 10); -// gtk_table_set_row_spacings (GTK_TABLE(table), 10); -// gtk_table_set_col_spacings( GTK_TABLE(table), 10); -// gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); -// -// /** -// * Retreive the list of IP interface from the -// * the daemon and build the combo box. -// */ -// -// GtkListStore * ipInterfaceListStore; -// GtkTreeIter iter; -// -// ipInterfaceListStore = gtk_list_store_new( 1, G_TYPE_STRING ); -// localAddressLabel = gtk_label_new_with_mnemonic (_("Local address")); -// gtk_table_attach ( GTK_TABLE( table ), localAddressLabel, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); -// gtk_misc_set_alignment(GTK_MISC (localAddressLabel), 0, 0.5); -// -// GtkTreeIter current_local_address_iter = iter; -// gchar ** iface_list = NULL; -// // iface_list = (gchar**) dbus_get_all_ip_interface(); -// iface_list = (gchar**) dbus_get_all_ip_interface_by_name(); -// gchar ** iface; -// -// gboolean iface_found = FALSE; -// -// if (iface_list != NULL) { -// -// for (iface = iface_list; *iface; iface++) { -// gtk_list_store_append(ipInterfaceListStore, &iter ); -// gtk_list_store_set(ipInterfaceListStore, &iter, 0, *iface, -1 ); -// -// if (!iface_found && (g_strcmp0(*iface, local_interface) == 0)) { -// DEBUG("Setting active local address combo box"); -// current_local_address_iter = iter; -// iface_found = TRUE; -// } -// } -// -// if(!iface_found) { -// DEBUG("Did not find local ip address, take fisrt in the list"); -// gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ipInterfaceListStore), ¤t_local_address_iter); -// } -// } -// -// -// -// -// localAddressCombo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(ipInterfaceListStore)); -// gtk_label_set_mnemonic_widget(GTK_LABEL(localAddressLabel), localAddressCombo); -// gtk_table_attach ( GTK_TABLE( table ), localAddressCombo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); -// g_object_unref(G_OBJECT(ipInterfaceListStore)); -// -// GtkCellRenderer * ipInterfaceCellRenderer; -// ipInterfaceCellRenderer = gtk_cell_renderer_text_new(); -// gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(localAddressCombo), ipInterfaceCellRenderer, TRUE); -// gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(localAddressCombo), ipInterfaceCellRenderer, "text", 0, NULL); -// gtk_combo_box_set_active_iter(GTK_COMBO_BOX(localAddressCombo), ¤t_local_address_iter); -// g_signal_connect (G_OBJECT(GTK_COMBO_BOX(localAddressCombo)), "changed", G_CALLBACK (ip2ip_local_address_changed_cb), localAddressCombo); -// -// g_hash_table_replace(directIpCallsProperties, g_strdup(LOCAL_INTERFACE), g_strdup((gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(localAddressCombo)))); -// -// -// /** -// * Local port -// */ -// /** SIP port information */ -// localPortLabel = gtk_label_new_with_mnemonic (_("Local port")); -// gtk_table_attach_defaults(GTK_TABLE(table), localPortLabel, 0, 1, 1, 2); -// -// gtk_misc_set_alignment(GTK_MISC (localPortLabel), 0, 0.5); -// localPortSpinBox = gtk_spin_button_new_with_range(1, 65535, 1); -// gtk_label_set_mnemonic_widget (GTK_LABEL (localPortLabel), localPortSpinBox); -// gtk_spin_button_set_value(GTK_SPIN_BUTTON(localPortSpinBox), g_ascii_strtod(local_port, NULL)); -// -// gtk_table_attach_defaults(GTK_TABLE(table), localPortSpinBox, 1, 2, 1, 2); -// g_signal_connect (G_OBJECT(localPortSpinBox), "changed", G_CALLBACK (ip2ip_local_port_changed_cb), localPortSpinBox); -// -// -// GtkWidget *applyModificationButton = gtk_button_new_from_stock(GTK_STOCK_APPLY); -// // g_signal_connect( G_OBJECT(applyModificationButton) , "clicked" , G_CALLBACK( update_ip_address_port_cb ), localPortSpinBox); -// gtk_table_attach( GTK_TABLE(table), applyModificationButton, 2, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); -// -// -// /** -// * Security Section -// */ -// gnome_main_section_new_with_table (_("Security"), &frame, &table, 2, 3); -// gtk_container_set_border_width (GTK_CONTAINER(table), 10); -// gtk_table_set_row_spacings (GTK_TABLE(table), 10); -// gtk_table_set_col_spacings( GTK_TABLE(table), 10); -// gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); -// -// GtkWidget * sipTlsAdvancedButton; -// sipTlsAdvancedButton = gtk_button_new_from_stock(GTK_STOCK_EDIT); -// gtk_table_attach_defaults(GTK_TABLE(table), sipTlsAdvancedButton, 2, 3, 0, 1); -// gtk_widget_set_sensitive(GTK_WIDGET(sipTlsAdvancedButton), FALSE); -// g_signal_connect(G_OBJECT(sipTlsAdvancedButton), "clicked", G_CALLBACK(show_advanced_tls_options_cb), directIpCallsProperties); -// -// useSipTlsCheckBox = gtk_check_button_new_with_mnemonic(_("Use TLS transport (sips)")); -// g_signal_connect (useSipTlsCheckBox, "toggled", G_CALLBACK(use_sip_tls_cb), sipTlsAdvancedButton); -// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(useSipTlsCheckBox), (g_strcmp0(curTlsEnabled, "false") == 0) ? FALSE:TRUE); -// gtk_table_attach_defaults(GTK_TABLE(table), useSipTlsCheckBox, 0, 2, 0, 1); -// -// label = gtk_label_new_with_mnemonic (_("SRTP key exchange")); -// gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); -// keyExchangeCombo = gtk_combo_box_new_text(); -// gtk_label_set_mnemonic_widget (GTK_LABEL (label), keyExchangeCombo); -// gtk_combo_box_append_text(GTK_COMBO_BOX(keyExchangeCombo), "ZRTP"); -// gtk_combo_box_append_text(GTK_COMBO_BOX(keyExchangeCombo), "SDES"); -// gtk_combo_box_append_text(GTK_COMBO_BOX(keyExchangeCombo), _("Disabled")); -// -// advancedZrtpButton = gtk_button_new_from_stock(GTK_STOCK_PREFERENCES); -// g_signal_connect(G_OBJECT(advancedZrtpButton), "clicked", G_CALLBACK(show_advanced_zrtp_options_cb), directIpCallsProperties); -// -// if (g_strcasecmp(curKeyExchange, ZRTP) == 0) { -// gtk_combo_box_set_active(GTK_COMBO_BOX(keyExchangeCombo),0); -// } -// else if(g_strcasecmp(curKeyExchange, SDES) == 0) { -// gtk_combo_box_set_active(GTK_COMBO_BOX(keyExchangeCombo),1); -// } -// else { -// gtk_combo_box_set_active(GTK_COMBO_BOX(keyExchangeCombo), 2); -// gtk_widget_set_sensitive(GTK_WIDGET(advancedZrtpButton), FALSE); -// } -// -// g_signal_connect (G_OBJECT (GTK_COMBO_BOX(keyExchangeCombo)), "changed", G_CALLBACK (key_exchange_changed_cb), advancedZrtpButton); -// -// gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); -// gtk_table_attach_defaults(GTK_TABLE(table), keyExchangeCombo, 1, 2, 1, 2); -// gtk_table_attach_defaults(GTK_TABLE(table), advancedZrtpButton, 2, 3, 1, 2); -// -// gtk_widget_show_all(table); -// -// GtkRequisition requisition; -// gtk_widget_size_request(GTK_WIDGET(table), &requisition); -// gtk_widget_set_size_request(GTK_WIDGET(explanationLabel), requisition.width * 1.5, -1); -// gtk_label_set_line_wrap(GTK_LABEL(explanationLabel), TRUE); -// -// gtk_widget_show_all(vbox); -// -// return vbox; -//} -// - -GtkWidget* create_general_settings () { - - GtkWidget *ret; - - GtkWidget *notifAll; - - GtkWidget *trayItem; - GtkWidget *frame; - GtkWidget *checkBoxWidget; - GtkWidget *label; - GtkWidget *table; - - // Load history configuration - history_load_configuration (); - - // Main widget - ret = gtk_vbox_new(FALSE, 10); - gtk_container_set_border_width(GTK_CONTAINER(ret), 10); - - // Notifications Frame - gnome_main_section_new_with_table (_("Desktop Notifications"), &frame, &table, 2, 1); - gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); - - // Notification All - notifAll = gtk_check_button_new_with_mnemonic( _("_Enable notifications")); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(notifAll), dbus_get_notify() ); - g_signal_connect(G_OBJECT( notifAll ) , "clicked" , G_CALLBACK( set_notif_level ) , NULL ); - gtk_table_attach( GTK_TABLE(table), notifAll, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // System Tray option frame - gnome_main_section_new_with_table (_("System Tray Icon"), &frame, &table, 3, 1); - gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); - - GtkWidget* trayItem1 = gtk_radio_button_new_with_mnemonic(NULL, _("_Popup main window on incoming call")); - g_signal_connect(G_OBJECT (trayItem1), "toggled", G_CALLBACK (set_popup_mode), NULL); - gtk_table_attach( GTK_TABLE(table), trayItem1, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - trayItem = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(trayItem1), _("Ne_ver popup main window")); - gtk_table_attach( GTK_TABLE(table), trayItem, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // Toggle according to the user configuration - dbus_popup_mode () ? gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (trayItem1), TRUE) : gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (trayItem), TRUE); - - trayItem = gtk_check_button_new_with_mnemonic(_("Hide SFLphone window on _startup")); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(trayItem), dbus_is_start_hidden() ); - g_signal_connect(G_OBJECT( trayItem ) , "clicked" , G_CALLBACK( start_hidden ) , NULL); - gtk_table_attach( GTK_TABLE(table), trayItem, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // HISTORY CONFIGURATION - gnome_main_section_new_with_table (_("Calls History"), &frame, &table, 3, 1); - gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); - - checkBoxWidget = gtk_check_button_new_with_mnemonic(_("_Keep my history for at least")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkBoxWidget), history_enabled); - g_signal_connect (G_OBJECT (checkBoxWidget) , "clicked" , G_CALLBACK (history_enabled_cb) , NULL); - gtk_table_attach( GTK_TABLE(table), checkBoxWidget, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - history_value = gtk_spin_button_new_with_range(1, 99, 1); - gtk_spin_button_set_value (GTK_SPIN_BUTTON(history_value), history_limit); - g_signal_connect( G_OBJECT (history_value) , "value-changed" , G_CALLBACK (history_limit_cb) , history_value); - gtk_widget_set_sensitive (GTK_WIDGET (history_value), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkBoxWidget))); - gtk_table_attach( GTK_TABLE(table), history_value, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - label = gtk_label_new(_("days")); - gtk_table_attach( GTK_TABLE(table), label, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // Configuration File - // Commented out because not functional yet - /* - gnome_main_section_new_with_table (_("Configuration File"), &frame, &table, 1, 1); - gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); - checkBoxWidget = gtk_check_button_new_with_mnemonic(_("Store SIP credentials as MD5 hash")); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(checkBoxWidget), dbus_is_md5_credential_hashing() ); - g_signal_connect(G_OBJECT( checkBoxWidget ) , "clicked" , G_CALLBACK(set_md5_hash_cb) , NULL); - gtk_table_attach( GTK_TABLE(table), checkBoxWidget, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - */ - - gtk_widget_show_all(ret); - - return ret; + gboolean currentstatus = FALSE; + + // data contains the previous value of dbus_is_status_icon_enabled () - ie before the click. + currentstatus = (gboolean) gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + + // Update the widget states + gtk_widget_set_sensitive (GTK_WIDGET (popupwindow), currentstatus); + gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow), currentstatus); + gtk_widget_set_sensitive (GTK_WIDGET (starthidden), currentstatus); + + currentstatus ? show_status_icon () : hide_status_icon (); + + // Update through D-Bus + dbus_enable_status_icon (currentstatus ? "true" : "false"); +} + + +GtkWidget* +create_general_settings () +{ + + GtkWidget *ret, *notifAll, *trayItem, *frame, *checkBoxWidget, *label, *table; + gboolean statusicon = FALSE; + + // Load history configuration + history_load_configuration (); + + // Main widget + ret = gtk_vbox_new (FALSE, 10); + gtk_container_set_border_width (GTK_CONTAINER(ret), 10); + + // Notifications Frame + gnome_main_section_new_with_table (_("Desktop Notifications"), &frame, + &table, 2, 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + // Notification All + notifAll = gtk_check_button_new_with_mnemonic (_("_Enable notifications")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(notifAll), dbus_get_notify ()); + g_signal_connect(G_OBJECT( notifAll ) , "clicked" , G_CALLBACK( set_notif_level ) , NULL ); + gtk_table_attach (GTK_TABLE(table), notifAll, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // System Tray option frame + gnome_main_section_new_with_table (_("System Tray Icon"), &frame, &table, 4, + 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) + statusicon = TRUE; + else + statusicon = FALSE; + + showstatusicon = gtk_check_button_new_with_mnemonic ( + _("Show SFLphone in the system tray")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(showstatusicon), statusicon); + g_signal_connect (G_OBJECT (showstatusicon) , "clicked" , G_CALLBACK (showstatusicon_cb), NULL); + gtk_table_attach (GTK_TABLE (table), showstatusicon, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + popupwindow = gtk_radio_button_new_with_mnemonic (NULL, + _("_Popup main window on incoming call")); + g_signal_connect(G_OBJECT (popupwindow), "toggled", G_CALLBACK (set_popup_mode), NULL); + gtk_table_attach (GTK_TABLE(table), popupwindow, 0, 1, 1, 2, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + neverpopupwindow = gtk_radio_button_new_with_mnemonic_from_widget ( + GTK_RADIO_BUTTON (popupwindow), _("Ne_ver popup main window")); + gtk_table_attach (GTK_TABLE(table), neverpopupwindow, 0, 1, 2, 3, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // Toggle according to the user configuration + dbus_popup_mode () ? gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (popupwindow), TRUE) : gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (neverpopupwindow), TRUE); + + starthidden = gtk_check_button_new_with_mnemonic ( + _("Hide SFLphone window on _startup")); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(starthidden), + dbus_is_start_hidden ()); + g_signal_connect(G_OBJECT (starthidden) , "clicked" , G_CALLBACK( start_hidden ) , NULL); + gtk_table_attach (GTK_TABLE(table), starthidden, 0, 1, 3, 4, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // Update the widget states + gtk_widget_set_sensitive (GTK_WIDGET (popupwindow),statusicon); + gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow),statusicon); + gtk_widget_set_sensitive (GTK_WIDGET (starthidden),statusicon); + + // HISTORY CONFIGURATION + gnome_main_section_new_with_table (_("Calls History"), &frame, &table, 3, 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + checkBoxWidget = gtk_check_button_new_with_mnemonic ( + _("_Keep my history for at least")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkBoxWidget), + history_enabled); + g_signal_connect (G_OBJECT (checkBoxWidget) , "clicked" , G_CALLBACK (history_enabled_cb) , NULL); + gtk_table_attach (GTK_TABLE(table), checkBoxWidget, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + history_value = gtk_spin_button_new_with_range (1, 99, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(history_value), history_limit); + g_signal_connect( G_OBJECT (history_value) , "value-changed" , G_CALLBACK (history_limit_cb) , history_value); + gtk_widget_set_sensitive (GTK_WIDGET (history_value), + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkBoxWidget))); + gtk_table_attach (GTK_TABLE(table), history_value, 1, 2, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + label = gtk_label_new (_("days")); + gtk_table_attach (GTK_TABLE(table), label, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, + GTK_EXPAND | GTK_FILL, 0, 5); + + gtk_widget_show_all (ret); + + return ret; } -void save_configuration_parameters (void) { +void +save_configuration_parameters (void) +{ - // Address book config - addressbook_config_save_parameters (); - hooks_save_parameters (); + // Address book config + addressbook_config_save_parameters (); + hooks_save_parameters (); - // History config - dbus_set_history_limit (history_limit); + // History config + dbus_set_history_limit (history_limit); - // Direct IP calls config - // dbus_set_ip2ip_details (directIpCallsProperties); + // Direct IP calls config + // dbus_set_ip2ip_details (directIpCallsProperties); } -void history_load_configuration () +void +history_load_configuration () { - history_limit = dbus_get_history_limit (); - history_enabled = TRUE; - if (g_strcasecmp (dbus_get_history_enabled (), "false") == 0) - history_enabled = FALSE; + history_limit = dbus_get_history_limit (); + history_enabled = TRUE; + if (g_strcasecmp (dbus_get_history_enabled (), "false") == 0) + history_enabled = FALSE; } /** * Show configuration window with tabs */ - void +void show_preferences_dialog () { - GtkDialog * dialog; - GtkWidget * notebook; - GtkWidget * tab; - guint result; - - dialogOpen = TRUE; - - dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Preferences"), - GTK_WINDOW(get_main_window()), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, - GTK_RESPONSE_ACCEPT, - NULL)); - - // Set window properties - gtk_dialog_set_has_separator(dialog, FALSE); - gtk_window_set_default_size(GTK_WINDOW(dialog), 600, 400); - gtk_container_set_border_width(GTK_CONTAINER(dialog), 0); - - // Create tabs container - notebook = gtk_notebook_new(); - gtk_box_pack_start(GTK_BOX (dialog->vbox), notebook, TRUE, TRUE, 0); - gtk_container_set_border_width(GTK_CONTAINER(notebook), 10); - gtk_widget_show(notebook); - - // General settings tab - tab = create_general_settings(); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("General"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - - // Audio tab - tab = create_audio_configuration(); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Audio"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - - // Addressbook tab - tab = create_addressbook_settings(); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Address Book"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - - // Hooks tab - tab = create_hooks_settings(); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Hooks"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - - gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook) , 0); - - result = gtk_dialog_run(dialog); - - save_configuration_parameters (); - update_actions(); - - dialogOpen = FALSE; - - gtk_widget_destroy(GTK_WIDGET(dialog)); + GtkDialog * dialog; + GtkWidget * notebook; + GtkWidget * tab; + guint result; + + dialogOpen = TRUE; + + dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Preferences"), + GTK_WINDOW(get_main_window()), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, + GTK_RESPONSE_ACCEPT, + NULL)); + + // Set window properties + gtk_dialog_set_has_separator (dialog, FALSE); + gtk_window_set_default_size (GTK_WINDOW(dialog), 600, 400); + gtk_container_set_border_width (GTK_CONTAINER(dialog), 0); + + // Create tabs container + notebook = gtk_notebook_new (); + gtk_box_pack_start (GTK_BOX (dialog->vbox), notebook, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER(notebook), 10); + gtk_widget_show (notebook); + + // General settings tab + tab = create_general_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("General"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Audio tab + tab = create_audio_configuration (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Audio"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Addressbook tab + tab = create_addressbook_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Address Book"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Hooks tab + tab = create_hooks_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Hooks"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Shortcuts tab + tab = create_shortcuts_settings(); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Shortcuts"))); + gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); + + gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0); + + result = gtk_dialog_run (dialog); + + save_configuration_parameters (); + update_actions (); + + dialogOpen = FALSE; + + gtk_widget_destroy (GTK_WIDGET(dialog)); } diff --git a/sflphone-client-gnome/src/config/preferencesdialog.h b/sflphone-client-gnome/src/config/preferencesdialog.h index b9f3271457bc761840791c3a194610e955a56f8b..e14a240111419084212a5e59f9bcde86b944adb8 100644 --- a/sflphone-client-gnome/src/config/preferencesdialog.h +++ b/sflphone-client-gnome/src/config/preferencesdialog.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CONFIGWINDOW_H__ diff --git a/sflphone-client-gnome/src/config/shortcuts-config.c b/sflphone-client-gnome/src/config/shortcuts-config.c new file mode 100644 index 0000000000000000000000000000000000000000..64bdfd0d434fe677c195bab07d7f1dffaf51cdf4 --- /dev/null +++ b/sflphone-client-gnome/src/config/shortcuts-config.c @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "shortcuts-config.h" +#include "shortcuts.h" + +#include <gdk/gdkx.h> + +GtkWidget* +create_shortcuts_settings() +{ + GtkWidget *vbox, *result_frame, *window, *treeview, *scrolled_window, *label; + + GtkTreeIter iter; + guint i = 0; + + vbox = gtk_vbox_new(FALSE, 10); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 10); + + gnome_main_section_new(_("General"), &result_frame); + + label = gtk_label_new(_("Be careful: these shortcuts might override system-wide shortcuts.")); + + treeview = gtk_tree_view_new(); + setup_tree_view(treeview); + + GtkListStore *store = gtk_list_store_new(COLUMNS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_UINT); + + Accelerator* list = shortcuts_get_list(); + + while (list[i].action != NULL) + { + gtk_list_store_append(store, &iter); + gtk_list_store_set(store, &iter, ACTION, _(list[i].action), MASK, + (gint) list[i].mask, VALUE, XKeycodeToKeysym(GDK_DISPLAY(), + list[i].value, 0), -1); + i++; + } + + gtk_tree_view_set_model(GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); + g_object_unref(store); + + gtk_container_add(GTK_CONTAINER (result_frame), treeview); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), result_frame, FALSE, FALSE, 0); + + gtk_widget_show_all(vbox); + + return vbox; +} + +/* + * Create a tree view with two columns. The first is an action and the + * second is a keyboard accelerator. + */ +static void +setup_tree_view(GtkWidget *treeview) +{ + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes("Action", renderer, "text", + ACTION, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW (treeview), column); + + renderer = gtk_cell_renderer_accel_new(); + g_object_set(renderer, "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_GTK, + "editable", TRUE, NULL); + column = gtk_tree_view_column_new_with_attributes("Shortcut", renderer, + "accel-mods", MASK, "accel-key", VALUE, NULL); + + gtk_tree_view_append_column(GTK_TREE_VIEW (treeview), column); + g_signal_connect (G_OBJECT (renderer), "accel_edited", G_CALLBACK (accel_edited), (gpointer) treeview); + g_signal_connect (G_OBJECT (renderer), "accel_cleared", G_CALLBACK (accel_cleared), (gpointer) treeview); +} + +static void +accel_edited(GtkCellRendererAccel *renderer, gchar *path, guint accel_key, + GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview) +{ + DEBUG("Accel edited"); + + GtkTreeModel *model; + GtkTreeIter iter; + + Accelerator* list = shortcuts_get_list(); + model = gtk_tree_view_get_model(treeview); + gint code = XKeysymToKeycode(GDK_DISPLAY(), accel_key); + + // Disable existing binding if key already used + int i = 0; + gtk_tree_model_get_iter_first(model, &iter); + while (list[i].action != NULL) + { + if(list[i].value == code) + { + gtk_list_store_set(GTK_LIST_STORE (model), &iter, MASK, 0, VALUE, 0, -1); + WARN("This key was already affected"); + } + gtk_tree_model_iter_next(model, &iter); + i++; + } + + // Update treeview + if (gtk_tree_model_get_iter_from_string(model, &iter, path)) + gtk_list_store_set(GTK_LIST_STORE (model), &iter, MASK, (gint) mask, VALUE, + accel_key, -1); + + // Update GDK bindings + shortcuts_update_bindings(atoi(path), code); +} + +static void +accel_cleared(GtkCellRendererAccel *renderer, gchar *path, GtkTreeView *treeview) +{ + DEBUG("Accel cleared"); + + GtkTreeModel *model; + GtkTreeIter iter; + + // Update treeview + model = gtk_tree_view_get_model(treeview); + if (gtk_tree_model_get_iter_from_string(model, &iter, path)) + gtk_list_store_set(GTK_LIST_STORE (model), &iter, MASK, 0, VALUE, 0, -1); + + // Update GDK bindings + shortcuts_update_bindings(atoi(path), 0); +} diff --git a/sflphone-client-gnome/src/config/shortcuts-config.h b/sflphone-client-gnome/src/config/shortcuts-config.h new file mode 100644 index 0000000000000000000000000000000000000000..02682ab0a1631384205a7ae4939c4ae25fa48610 --- /dev/null +++ b/sflphone-client-gnome/src/config/shortcuts-config.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef _SHORTCUTS_CONFIG +#define _SHORTCUTS_CONFIG + +#include <gtk/gtk.h> +#include <glib/gtypes.h> + +#include "actions.h" +#include <utils.h> + +G_BEGIN_DECLS + +enum +{ + ACTION = 0, MASK, VALUE, COLUMNS +}; + +GtkWidget* +create_shortcuts_settings (); + +static void +setup_tree_view (GtkWidget *treeview); + +static void +accel_edited (GtkCellRendererAccel *renderer, gchar *path, guint accel_key, + GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview); + +static void +accel_cleared (GtkCellRendererAccel *renderer, gchar *path, + GtkTreeView *treeview); + +G_END_DECLS + +#endif // _SHORTCUTS_CONFIG diff --git a/sflphone-client-gnome/src/config/tlsadvanceddialog.c b/sflphone-client-gnome/src/config/tlsadvanceddialog.c index 2b1c03e004f5548b47549a174fa4efe027a67198..4050d0338f8ba1b2714ba083b29681444689afaf 100644 --- a/sflphone-client-gnome/src/config/tlsadvanceddialog.c +++ b/sflphone-client-gnome/src/config/tlsadvanceddialog.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <tlsadvanceddialog.h> diff --git a/sflphone-client-gnome/src/config/tlsadvanceddialog.h b/sflphone-client-gnome/src/config/tlsadvanceddialog.h index 4b7702a2324ad086dd81444ea3e1f166c579cd07..4c7ed3a37f04144264d4410b3d54c33d3209ca8b 100644 --- a/sflphone-client-gnome/src/config/tlsadvanceddialog.h +++ b/sflphone-client-gnome/src/config/tlsadvanceddialog.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_TLS_ADVANCED_DIALOG__ diff --git a/sflphone-client-gnome/src/config/utils.c b/sflphone-client-gnome/src/config/utils.c index a1a319ee964cf03c460a3fbdc3e8668955eec46a..7049d796069507e169258f9e792f4c02ed8cb18a 100644 --- a/sflphone-client-gnome/src/config/utils.c +++ b/sflphone-client-gnome/src/config/utils.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "utils.h" diff --git a/sflphone-client-gnome/src/config/utils.h b/sflphone-client-gnome/src/config/utils.h index aa5cf96bd45f0cc2cb0060758b0ecb73185ea653..91b1708e81f59069a18cc7a33b96b4a18ae9aa15 100644 --- a/sflphone-client-gnome/src/config/utils.h +++ b/sflphone-client-gnome/src/config/utils.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _UTILS_ diff --git a/sflphone-client-gnome/src/config/zrtpadvanceddialog.c b/sflphone-client-gnome/src/config/zrtpadvanceddialog.c index 3689dc16d00fbd3d232c7f233d39aa78b801505f..469cf52a3c4230eef362788eab10485e329c3355 100644 --- a/sflphone-client-gnome/src/config/zrtpadvanceddialog.c +++ b/sflphone-client-gnome/src/config/zrtpadvanceddialog.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <zrtpadvanceddialog.h> diff --git a/sflphone-client-gnome/src/config/zrtpadvanceddialog.h b/sflphone-client-gnome/src/config/zrtpadvanceddialog.h index 23bfdbb8bcb246a9a42165e78ff899caa827e3df..c561d6a1f15f8e10167149ae91aa39e3f07e4678 100644 --- a/sflphone-client-gnome/src/config/zrtpadvanceddialog.h +++ b/sflphone-client-gnome/src/config/zrtpadvanceddialog.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_ZRTP_ADVANCED_DIALOG__ diff --git a/sflphone-client-gnome/src/contacts/addressbook.c b/sflphone-client-gnome/src/contacts/addressbook.c index d9b987c6340af544880f01ef9e74ded840bfd2b4..9c7e8d38b449dcc762d00d66dc0d4d320e7b4d65 100644 --- a/sflphone-client-gnome/src/contacts/addressbook.c +++ b/sflphone-client-gnome/src/contacts/addressbook.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <addressbook.h> @@ -32,7 +43,7 @@ void addressbook_search(GtkEntry* entry) { - gchar* query = gtk_entry_get_text(GTK_ENTRY (entry)); + const gchar* query = gtk_entry_get_text(GTK_ENTRY (entry)); if (strlen(query) >= 3) { AddressBook_Config *addressbook_config; diff --git a/sflphone-client-gnome/src/contacts/addressbook.h b/sflphone-client-gnome/src/contacts/addressbook.h index 08b79188d04c7836161d7557114b26a50d598638..f87f9dba19ec292e18783d5abf57650e4bf12aa3 100644 --- a/sflphone-client-gnome/src/contacts/addressbook.h +++ b/sflphone-client-gnome/src/contacts/addressbook.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /** diff --git a/sflphone-client-gnome/src/contacts/addressbook/eds.c b/sflphone-client-gnome/src/contacts/addressbook/eds.c index 289e5aea7485b34346cee19bff43cc28d3dffcea..236235313ffeedc298d07a695b3e71f11f25f4e1 100644 --- a/sflphone-client-gnome/src/contacts/addressbook/eds.c +++ b/sflphone-client-gnome/src/contacts/addressbook/eds.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * File originally copied from evolution module of deskbar-applet 2.24.1 @@ -22,6 +22,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <glib.h> diff --git a/sflphone-client-gnome/src/contacts/addressbook/eds.h b/sflphone-client-gnome/src/contacts/addressbook/eds.h index 574cd941df84fa80e98d64fa01c26c5f01e85d8b..7ff8cbd025f27b28d19951a7b5f2411fcaf511cd 100644 --- a/sflphone-client-gnome/src/contacts/addressbook/eds.h +++ b/sflphone-client-gnome/src/contacts/addressbook/eds.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * File originally copied from evolution module of deskbar-applet 2.24.1 @@ -22,6 +22,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __EDS_H__ diff --git a/sflphone-client-gnome/src/contacts/calllist.c b/sflphone-client-gnome/src/contacts/calllist.c index 09f428534830c87b3f8e76805075ec8775c4b779..c5566261be350aa45e96e6d2e2eab331874e8ab1 100644 --- a/sflphone-client-gnome/src/contacts/calllist.c +++ b/sflphone-client-gnome/src/contacts/calllist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <calllist.h> diff --git a/sflphone-client-gnome/src/contacts/calllist.h b/sflphone-client-gnome/src/contacts/calllist.h index befb97048e8a867298551eb1afb69a2a584678b7..db3cee03dcb4df6adc6685db1a8ffe234532530d 100644 --- a/sflphone-client-gnome/src/contacts/calllist.h +++ b/sflphone-client-gnome/src/contacts/calllist.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CALLLIST_H__ diff --git a/sflphone-client-gnome/src/contacts/calltab.c b/sflphone-client-gnome/src/contacts/calltab.c index b8376f4a9cb7e99d5b7bab626bfeaa4f46567e2c..ac194bf8287fe4a233e827aae2d2c9acfc22afa8 100644 --- a/sflphone-client-gnome/src/contacts/calltab.c +++ b/sflphone-client-gnome/src/contacts/calltab.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Antoine Reversat <antoine.reversat@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <calltab.h> diff --git a/sflphone-client-gnome/src/contacts/calltab.h b/sflphone-client-gnome/src/contacts/calltab.h index bf3b11b8407efda3ab1e7a74c4ff9b3050279860..db14867ac51839ec0c3eb85c2bea116576fe69d5 100644 --- a/sflphone-client-gnome/src/contacts/calltab.h +++ b/sflphone-client-gnome/src/contacts/calltab.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Antoine Reversat <antoine.reversat@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CALLTAB_H__ diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c index c4d7f25f6d6e8f99dd37519411af35b73575b906..dde1cae4c5e7345cf3c63ea8fadc546b0bc83c9b 100644 --- a/sflphone-client-gnome/src/contacts/calltree.c +++ b/sflphone-client-gnome/src/contacts/calltree.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <calltree.h> @@ -80,7 +91,7 @@ popup_menu (GtkWidget *widget, call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) { - DEBUG("Selection Callback"); + DEBUG("CallTree: Selection callback"); GtkTreeIter iter; GValue val; @@ -90,9 +101,9 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) gchar* string_path; - if (! gtk_tree_selection_get_selected (sel, &model, &iter)) + if (! gtk_tree_selection_get_selected (sel, &model, &iter)) { return; - + } // store info for dragndrop path = gtk_tree_model_get_path(model, &iter); @@ -101,7 +112,7 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) if(gtk_tree_model_iter_has_child(GTK_TREE_MODEL(model), &iter)) { - DEBUG("SELECTED A CONFERENCE"); + DEBUG("CallTree: Selected a conference"); selected_type = A_CONFERENCE; val.g_type = 0; @@ -119,14 +130,14 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) } - DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth); + DEBUG("CallTree: selected_path %s, selected_call_id %s, selected_path_depth %d", + selected_path, selected_call_id, selected_path_depth); } else { - DEBUG("SELECTED A CALL"); + DEBUG("CallTree: Selected a call"); selected_type = A_CALL; - // gtk_tree_model_iter_parent(GTK_TREE_MODEL(model), parent_conference, &iter); val.g_type = 0; gtk_tree_model_get_value (model, &iter, COLUMN_ACCOUNT_PTR, &val); @@ -142,16 +153,12 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) selected_conf = NULL; } - DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth); + DEBUG("CallTree: selected_path %s, selected_call_id %s, selected_path_depth %d", + selected_path, selected_call_id, selected_path_depth); } - - // conferencelist_reset (); - // sflphone_fill_conference_list(); - g_value_unset(&val); update_actions(); - } /* A row is activated when it is double clicked */ @@ -165,20 +172,19 @@ row_activated(GtkTreeView *tree_view UNUSED, conference_obj_t* selectedConf = NULL; gchar *account_id; - DEBUG("double click action"); + DEBUG("CallTree: Double click action"); if(calltab_get_selected_type(active_calltree) == A_CALL) { - DEBUG("Selected a call\n"); selectedCall = calltab_get_selected_call(active_calltree); if (selectedCall) { - DEBUG("there is a selected call\n"); - + DEBUG("CallTree: Selected a call"); + // Get the right event from the right calltree if( active_calltree == current_calls ) { - DEBUG("active tree is current calls"); + DEBUG("CallTree: Active tree is current calls"); switch(selectedCall->_state) { case CALL_STATE_INCOMING: @@ -205,7 +211,7 @@ row_activated(GtkTreeView *tree_view UNUSED, // If history or contact: double click action places a new call else { - DEBUG("active tree is history or contact"); + DEBUG("CallTree: Active tree is history or contact"); account_id = g_strdup (selectedCall->_accountID); @@ -221,7 +227,7 @@ row_activated(GtkTreeView *tree_view UNUSED, } else if(calltab_get_selected_type(current_calls) == A_CONFERENCE) { - DEBUG("Selected a conference\n"); + DEBUG("CallTree: Selected a conference"); if( active_calltree == current_calls ) { @@ -250,14 +256,21 @@ row_activated(GtkTreeView *tree_view UNUSED, void row_single_click(GtkTreeView *tree_view UNUSED, void * data UNUSED) { - DEBUG("single click action"); - callable_obj_t * selectedCall=NULL; - account_t * account_details=NULL; + callable_obj_t * selectedCall = NULL; + account_t * account_details = NULL; gchar * displaySasOnce=""; + DEBUG("CallTree: Single click action"); + selectedCall = calltab_get_selected_call( active_calltree ); - if (selectedCall != NULL) { + /* + if(!selected_call) { + selected_call = selectedCall; + } + */ + + if (selectedCall) { account_details = account_list_get_by_id(selectedCall->_accountID); DEBUG("AccountID %s", selectedCall->_accountID); @@ -338,7 +351,7 @@ calltree_display_call_info(callable_obj_t * c, CallDisplayType display_type, gch gchar * hostname = NULL; gchar * display_number = ""; - DEBUG("Display call info"); + DEBUG("CallTree: Display call info"); // If call is outgoing, keep the hostname, strip it elsewhere if(c->_type == CALL && c->_history_state == OUTGOING) { @@ -371,137 +384,109 @@ calltree_display_call_info(callable_obj_t * c, CallDisplayType display_type, gch case DISPLAY_TYPE_CALL: - DEBUG("display a normal call"); + DEBUG("CallTree: Display a normal call"); if(c->_state_code == 0) { if(g_strcmp0("", c->_peer_name) == 0) { description = g_markup_printf_escaped("<b>%s</b><i>%s</i>", - display_number, - c->_peer_name); + display_number, c->_peer_name); } else { description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", - c->_peer_name, - display_number); + c->_peer_name, display_number); } } else { if(g_strcmp0("", c->_peer_name) == 0) { description = g_markup_printf_escaped("<b>%s</b><i>%s</i>\n<i>%s (%d)</i>", - display_number, - c->_peer_name, - c->_state_code_description, - c->_state_code); + display_number, c->_peer_name, + c->_state_code_description, c->_state_code); } else { description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i>", - c->_peer_name, - display_number, - c->_state_code_description, - c->_state_code); + c->_peer_name, display_number, + c->_state_code_description, c->_state_code); } } - break; case DISPLAY_TYPE_CALL_TRANSFER: - DEBUG("display a call transfer") + DEBUG("CallTree: Display a call transfer") if(g_strcmp0("",c->_peer_name) == 0){ description = g_markup_printf_escaped("<b>%s</b><i>%s</i>\n<i>Transfert to:%s</i> ", - display_number, - c->_peer_name, - c->_trsft_to); + display_number, c->_peer_name, c->_trsft_to); } else { description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Transfert to:%s</i> ", - c->_peer_name, - display_number, - c->_trsft_to); - } - + c->_peer_name, display_number, c->_trsft_to); + } break; case DISPLAY_TYPE_STATE_CODE : - DEBUG("display a state code"); + DEBUG("CallTree: Display a state code"); if(g_strcmp0("",c->_peer_name) == 0){ if (c->_state_code) { description = g_markup_printf_escaped("<b>%s</b><i>%s</i>\n<i>%s (%d)</i> <i>%s</i>", - display_number, - c->_peer_name, - c->_state_code_description, - c->_state_code, + display_number, c->_peer_name, + c->_state_code_description, c->_state_code, audio_codec); } else { description = g_markup_printf_escaped("<b>%s</b><i>%s</i>\n<i>%s</i>", - display_number, - c->_peer_name, - audio_codec); + display_number, c->_peer_name, audio_codec); } } else { if (c->_state_code) { description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i> <i>%s</i>", - c->_peer_name, - display_number, - c->_state_code_description, - c->_state_code, + c->_peer_name, display_number, + c->_state_code_description, c->_state_code, audio_codec); } else { description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s</i>", - c->_peer_name, - display_number, - audio_codec); + c->_peer_name, display_number, audio_codec); } } break; case DISPLAY_TYPE_SAS: - DEBUG("display a call with sas"); + DEBUG("CallTree: Display a call with sas"); - if(g_strcmp0("",c->_peer_name) == 0){ + if(g_strcmp0("", c->_peer_name) == 0){ description = g_markup_printf_escaped("<b>%s</b><i>%s</i>\n<i>Confirm SAS <b>%s</b> ?</i> ", - display_number, - c->_peer_name, - c->_sas); + display_number, c->_peer_name, c->_sas); } else { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Confirm SAS <b>%s</b> ?</i> ", - c->_peer_name, - display_number, - c->_sas); + c->_peer_name, display_number, c->_sas); } + break; case DISPLAY_TYPE_HISTORY : - DEBUG("display history entry"); + DEBUG("CallTree: Display history entry"); if(g_strcmp0("", c->_peer_name) == 0) { - description = g_markup_printf_escaped("<b>%s</b><i>%s</i>", - display_number, - c->_peer_name); + display_number, c->_peer_name); } else { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", - c->_peer_name, - display_number); + c->_peer_name, display_number); } break; default : - DEBUG("Not an allowable type of display"); + DEBUG("CallTree: Not an allowable type of display"); break; } @@ -659,13 +644,16 @@ calltree_create (calltab_t* tab, gboolean searchbar_type) calltree_remove_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) { - DEBUG("calltree_remove_call %s", c->_callID); - GtkTreeIter iter; GValue val; callable_obj_t * iterCall; GtkTreeStore* store = tab->store; + if(!c) + ERROR("CallTree: Error: Not a valid call"); + + DEBUG("CallTree: Remove call %s", c->_callID); + int nbChild = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store), parent); int i; for( i = 0; i < nbChild; i++) @@ -693,6 +681,8 @@ calltree_remove_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) if(selectedCall == c) calltab_select_call(tab, NULL); update_actions(); + + DEBUG("Calltre remove call ended"); } void @@ -764,11 +754,8 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) else { if((c->_sas != NULL) && (display_sas == TRUE) && (c->_srtp_state == SRTP_STATE_ZRTP_SAS_UNCONFIRMED) && (c->_zrtp_confirmed == FALSE)) { - calltree_display_call_info(c, DISPLAY_TYPE_SAS, NULL, &description); - } else { - calltree_display_call_info(c, DISPLAY_TYPE_STATE_CODE, audio_codec, &description); } } @@ -839,9 +826,7 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) } } - - if(tab == history) { - + else if(tab == history) { switch(c->_history_state) { case INCOMING: pixbuf = gdk_pixbuf_new_from_file(ICONS_DIR "/incoming.svg", NULL); @@ -884,7 +869,7 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) void calltree_add_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) { - DEBUG("calltree_add_call id: %s, peer name: %s", c->_callID, c->_peer_name); + DEBUG("CallTree: Add call to calltree id: %s, peer name: %s", c->_callID, c->_peer_name); if (tab == history) { @@ -1075,8 +1060,6 @@ void calltree_add_history_entry (callable_obj_t * c) void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) { - DEBUG("calltree_add_conference conf->_confID %s\n", conf->_confID); - GdkPixbuf *pixbuf=NULL; GdkPixbuf *pixbuf_security=NULL; GtkTreeIter iter; @@ -1099,23 +1082,20 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) if(!conf) { - DEBUG("Error conference is null!!"); - return; + ERROR("Calltree: Error: Conference is null!!"); + return; } + DEBUG("Calltree: Add conference %s", conf->_confID); + // description = g_markup_printf_escaped("<b>%s</b>", conf->_confID); description = g_markup_printf_escaped("<b>%s</b>", ""); gtk_tree_store_append (tab->store, &iter, NULL); - // _debug - if( tab == current_calls ) { - if(!(conf->_state)) - DEBUG("Error conf->_state is NULL"); - switch(conf->_state) { case CONFERENCE_STATE_ACTIVE_ATACHED: @@ -1160,14 +1140,14 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) // Every participant to a conference must be secured, the conference is not secured elsewhere conf->_conference_secured = TRUE; - DEBUG("Determine if conference is secured"); + DEBUG("Calltree: Determine if conference is secured"); // participant = conf->participant; // participant = dbus_get_participant_list(conf->_confID); conference_participant = conf->participant_list; if(conference_participant) { - DEBUG(" determine if at least one participant uses srtp"); + DEBUG("Calltree: Determine if at least one participant uses SRTP"); // participant = conf->participant; // participant = dbus_get_participant_list(conf->_confID); @@ -1186,12 +1166,12 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) } if(g_strcasecmp(srtp_enabled,"true") == 0) { - DEBUG(" srtp enabled for participant %s\n", call_id); + DEBUG("Calltree: SRTP enabled for participant %s", call_id); conf->_conf_srtp_enabled = TRUE; break; } else { - DEBUG(" srtp is not enabled for participant %s\n", call_id); + DEBUG("Calltree: SRTP is not enabled for participant %s", call_id); } } @@ -1200,7 +1180,7 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) } - DEBUG(" determine if all conference participant are secured"); + DEBUG("Calltree: Determine if all conference participant are secured"); if(conf->_conf_srtp_enabled) { // participant = conf->participant; @@ -1214,12 +1194,12 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) if(call != NULL) { if(call->_srtp_state == 0) { - DEBUG(" participant %s is not secured", call_id); + DEBUG("Calltree: Participant %s is not secured", call_id); conf->_conference_secured = FALSE; break; } else { - DEBUG(" participant %s is secured", call_id); + DEBUG("Calltree: Participant %s is secured", call_id); } } conference_participant = conference_next_participant(conference_participant); @@ -1229,21 +1209,21 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) if(conf->_conf_srtp_enabled) { if(conf->_conference_secured) { - DEBUG("Conference is secured"); + DEBUG("Calltree: Conference is secured"); pixbuf_security = gdk_pixbuf_new_from_file(ICONS_DIR "/lock_confirmed.svg", NULL); } else { - DEBUG("Conference is not secured"); + DEBUG("Calltree: Conference is not secured"); pixbuf_security = gdk_pixbuf_new_from_file(ICONS_DIR "/lock_off.svg", NULL); } } - DEBUG("add conference to tree store"); + DEBUG("Calltree: Add conference to tree store"); gtk_tree_store_set(tab->store, &iter, 0, pixbuf, // Icon 1, description, // Description - 2, pixbuf_security, + 2, pixbuf_security, 3, conf, // Pointer -1); @@ -1251,15 +1231,15 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) g_object_unref(G_OBJECT(pixbuf)); // participant = conf->participant; - // participant = dbus_get_participant_list(conf->_confID); + // participant = dbus_get_participant_list(conf->_confID); conference_participant = conf->participant_list; if(conference_participant) { - DEBUG("Add conference participants\n"); + DEBUG("Calltre: Adding conference participant"); // for (pl = participant; *pl; pl++) while(conference_participant) { - + DEBUG("OK"); call_id = (gchar*)(conference_participant->data); call = calllist_get (tab, call_id); // create_new_call_from_details (conf_id, conference_details, &c); @@ -1277,14 +1257,13 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) } */ -gtk_tree_view_set_model(GTK_TREE_VIEW(tab->view), GTK_TREE_MODEL(tab->store)); - -path = gtk_tree_model_get_path(model, &iter); + gtk_tree_view_set_model(GTK_TREE_VIEW(tab->view), GTK_TREE_MODEL(tab->store)); - gtk_tree_view_expand_row(GTK_TREE_VIEW(tab->view), path, FALSE); + path = gtk_tree_model_get_path(model, &iter); -update_actions(); + gtk_tree_view_expand_row(GTK_TREE_VIEW(tab->view), path, FALSE); + update_actions(); } @@ -1333,7 +1312,7 @@ void calltree_remove_conference (calltab_t* tab, const conference_obj_t* conf, G if(tempconf == conf) { nbParticipant = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store), &iter_parent); - DEBUG("nbParticipant: %i\n", nbParticipant); + DEBUG("nbParticipant: %i", nbParticipant); for( j = 0; j < nbParticipant; j++) { call = NULL; if(gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter_child, &iter_parent, j)){ @@ -1435,17 +1414,15 @@ static void drag_begin_cb(GtkWidget *widget, GdkDragContext *dc, gpointer data) GtkTargetList* target_list; - // DEBUG("drag_begin_cb %s\n", dragged_path); - if((target_list = gtk_drag_source_get_target_list(widget)) != NULL); - - } static void drag_end_cb(GtkWidget * widget, GdkDragContext * context, gpointer data) { - DEBUG("drag_end_cb\n"); - DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth); - DEBUG(" dragged path %s, dragged_call_id %s, dragged_path_depth %i\n", selected_path, selected_call_id, dragged_path_depth); + DEBUG("CallTree: Drag end callback"); + DEBUG("CallTree: selected_path %s, selected_call_id %s, selected_path_depth %d", + selected_path, selected_call_id, selected_path_depth); + DEBUG("CallTree: dragged path %s, dragged_call_id %s, dragged_path_depth %d", + dragged_path, dragged_call_id, dragged_path_depth); GtkTreeModel *model = (GtkTreeModel*)current_calls->store; GtkTreePath *path = gtk_tree_path_new_from_string(dragged_path); @@ -1463,55 +1440,76 @@ static void drag_end_cb(GtkWidget * widget, GdkDragContext * context, gpointer d conference_obj_t* conf; - // Make sure that drag n drop does not imply a dialing call - if(selected_type == A_CALL && selected_call->_state == CALL_STATE_DIALING) { + // Make sure drag n drop does not imply a dialing call for either selected and dragged call + if(selected_call && (selected_type == A_CALL)) { + + DEBUG("CallTree: Selected a call"); + if(selected_call->_state == CALL_STATE_DIALING || + selected_call->_state == CALL_STATE_INVALID || + selected_call->_state == CALL_STATE_FAILURE || + selected_call->_state == CALL_STATE_BUSY || + selected_call->_state == CALL_STATE_TRANSFERT) { - DEBUG("Dragged a call on a dialing call"); + DEBUG("CallTree: Selected an invalid call"); - calltree_remove_call(current_calls, selected_call, NULL); - calltree_add_call(current_calls, selected_call, NULL); - return; - } - - else if(selected_type == A_CALL) { + calltree_remove_call(current_calls, selected_call, NULL); + calltree_add_call(current_calls, selected_call, NULL); - // user may have dragged it outside the conference - if(dragged_call && dragged_call->_state == CALL_STATE_DIALING) { + dragged_call = NULL; + return; + } + - calltree_remove_call(current_calls, dragged_call, NULL); + if(dragged_call && (dragged_type == A_CALL)) { - DEBUG("Dragged a call on a dialing call"); + DEBUG("CallTree: Dragged on a call"); + if(dragged_call->_state == CALL_STATE_DIALING || + dragged_call->_state == CALL_STATE_INVALID || + dragged_call->_state == CALL_STATE_FAILURE || + dragged_call->_state == CALL_STATE_BUSY || + dragged_call->_state == CALL_STATE_TRANSFERT) { + + DEBUG("CallTree: Dragged on an invalid call"); + + calltree_remove_call(current_calls, selected_call, NULL); - // test if call participate to a conference - if(selected_call->_confID) { + if(selected_call->_confID) { - gtk_tree_path_up(spath); - gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &parent_conference, path); + gtk_tree_path_up(spath); + gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &parent_conference, spath); - calltree_add_call(current_calls, selected_call, &parent_conference); - } - else { - calltree_add_call(current_calls, selected_call, NULL); - } + calltree_add_call(current_calls, selected_call, &parent_conference); + } + else { - calltree_add_call(current_calls, dragged_call, NULL); - return; - + calltree_add_call(current_calls, selected_call, NULL); + } + + dragged_call = NULL; + return; + } } } - else if(selected_type == A_CONFERENCE) { - DEBUG("Dragged a conference on a dialing call"); - if(dragged_call && dragged_call->_state == CALL_STATE_DIALING) { + // Make sure a conference is only dragged on another conference + if(selected_conf && (selected_type == A_CONFERENCE)) { + + DEBUG("CallTree: Selected a conference"); + + if(!dragged_conf && (dragged_type == A_CALL)) { + + DEBUG("CallTree: Dragged on a call"); conf = selected_conf; calltree_remove_conference(current_calls, conf, NULL); calltree_add_conference(current_calls, conf); - return; - } + + dragged_call = NULL; + return; + } } @@ -1724,18 +1722,21 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context, gint x, g if(gtk_tree_model_iter_has_child(tree_model, &iter)) { - DEBUG("DRAGGING ON A CONFERENCE"); + DEBUG("CallTree: Dragging on a conference"); dragged_type = A_CONFERENCE; + dragged_call = NULL; } else { - DEBUG("DRAGGING ON A CALL"); + DEBUG("CallTree: Dragging on a call"); dragged_type = A_CALL; + dragged_conf = NULL; } switch (position) { case GTK_TREE_VIEW_DROP_AFTER: + DEBUG("CallTree: GTK_TREE_VIEW_DROP_AFTER"); dragged_path = gtk_tree_path_to_string(drop_path); dragged_path_depth = gtk_tree_path_get_depth(drop_path); dragged_call_id = "NULL"; @@ -1744,6 +1745,7 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context, gint x, g break; case GTK_TREE_VIEW_DROP_INTO_OR_AFTER: + DEBUG("CallTree: GTK_TREE_VIEW_DROP_INTO_OR_AFTER"); dragged_path = gtk_tree_path_to_string(drop_path); dragged_path_depth = gtk_tree_path_get_depth(drop_path); if (dragged_type == A_CALL) { @@ -1759,6 +1761,7 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context, gint x, g break; case GTK_TREE_VIEW_DROP_BEFORE: + DEBUG("CallTree: GTK_TREE_VIEW_DROP_BEFORE"); dragged_path = gtk_tree_path_to_string(drop_path); dragged_path_depth = gtk_tree_path_get_depth(drop_path); dragged_call_id = "NULL"; @@ -1767,6 +1770,7 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context, gint x, g break; case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: + DEBUG("CallTree: GTK_TREE_VIEW_DROP_INTO_OR_BEFORE"); dragged_path = gtk_tree_path_to_string(drop_path); dragged_path_depth = gtk_tree_path_get_depth(drop_path); if (dragged_type == A_CALL) { diff --git a/sflphone-client-gnome/src/contacts/calltree.h b/sflphone-client-gnome/src/contacts/calltree.h index fd6c33f455f321656d0f1e4e388b916274ef139c..c383caa9ed9ee6ee6abaaf305584fdc8c2a060b7 100644 --- a/sflphone-client-gnome/src/contacts/calltree.h +++ b/sflphone-client-gnome/src/contacts/calltree.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CALLTREE_H__ diff --git a/sflphone-client-gnome/src/contacts/conferencelist.c b/sflphone-client-gnome/src/contacts/conferencelist.c index 9dee60e481f979646486623414c20a86f5122d42..42216fdcd0c6427457b1b34f7d22df3603829702 100644 --- a/sflphone-client-gnome/src/contacts/conferencelist.c +++ b/sflphone-client-gnome/src/contacts/conferencelist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <conferencelist.h> diff --git a/sflphone-client-gnome/src/contacts/conferencelist.h b/sflphone-client-gnome/src/contacts/conferencelist.h index 4836914f7a36008731935531366542eb2c1ce6f2..2652b892b7aba376bd1692224a8eafa3741f0bdc 100644 --- a/sflphone-client-gnome/src/contacts/conferencelist.h +++ b/sflphone-client-gnome/src/contacts/conferencelist.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CONFERENCELIST_H__ diff --git a/sflphone-client-gnome/src/contacts/history.c b/sflphone-client-gnome/src/contacts/history.c index 5aa5010d2ad86f410cd11246d3f6f59c93db83f4..f354e73ceef65f5946a4b8386f4f68373d41c907 100644 --- a/sflphone-client-gnome/src/contacts/history.c +++ b/sflphone-client-gnome/src/contacts/history.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <history.h> diff --git a/sflphone-client-gnome/src/contacts/history.h b/sflphone-client-gnome/src/contacts/history.h index 34eaaafbfbb0bdfbdd7034c313d612cd1260020d..f91393ccb1316d1da74bb171b7e8d7c2d5595ee8 100644 --- a/sflphone-client-gnome/src/contacts/history.h +++ b/sflphone-client-gnome/src/contacts/history.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /** diff --git a/sflphone-client-gnome/src/contacts/searchbar.c b/sflphone-client-gnome/src/contacts/searchbar.c index d84c6efcc4e6c168371daa1cec5fc0bbe7a9aff5..09e2da62e4f79badf94d55b9010b7aeed909b3cf 100644 --- a/sflphone-client-gnome/src/contacts/searchbar.c +++ b/sflphone-client-gnome/src/contacts/searchbar.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Antoine Reversat <antoine.reversat@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <searchbar.h> diff --git a/sflphone-client-gnome/src/contacts/searchbar.h b/sflphone-client-gnome/src/contacts/searchbar.h index 8354dac96a1905b19667191181dbe9e83ff0623d..f1464cd554a2d1385fa5bcfafab0d3faf1d5cfd9 100644 --- a/sflphone-client-gnome/src/contacts/searchbar.h +++ b/sflphone-client-gnome/src/contacts/searchbar.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Antoine Reversat <antoine.reversat@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /** diff --git a/sflphone-client-gnome/src/dbus/callmanager-introspec.xml b/sflphone-client-gnome/src/dbus/callmanager-introspec.xml index 3d1720ac18676692e6e84ea7db212c83d6f2be12..534bde252d506dcda4b622b0667c7b86005d8510 100644 --- a/sflphone-client-gnome/src/dbus/callmanager-introspec.xml +++ b/sflphone-client-gnome/src/dbus/callmanager-introspec.xml @@ -1,252 +1,699 @@ -<?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.CallManager"> - - <method name="placeCall"> - <arg type="s" name="accountID" direction="in"/> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="refuse"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="accept"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUp"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUpConference"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="hold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="unhold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="transfert"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="playDTMF"> - <arg type="s" name="key" direction="in"/> - </method> - - <method name="startTone"> - <arg type="i" name="start" direction="in"/> - <arg type="i" name="type" direction="in"/> - </method> - - <method name="setVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> - </method> - - <method name="getVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> - </method> - - <method name="joinParticipant"> - <arg type="s" name="sel_callID" direction="in"/> - <arg type="s" name="drag_callID" direction="in"/> - </method> - - <method name="addParticipant"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="addMainParticipant"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="detachParticipant"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="joinConference"> - <arg type="s" name="sel_confID" direction="in"/> - <arg type="s" name="drag_confID" direction="in"/> - </method> - - <method name="getConferenceDetails"> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getConferenceList"> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setRecording"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="getIsRecording"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="isRecording" direction="out"/> - </method> - - <method name="getCallDetails"> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getCallList"> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCurrentCallID"> - <arg type="s" name="callID" direction="out"/> - </method> - - <method name="getCurrentCodecName"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <signal name="currentSelectedCodec"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="codecName" direction="out"/> - </signal> - - <signal name="incomingCall"> - <arg type="s" name="accountID" /> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - </signal> - - <signal name="incomingMessage"> - <arg type="s" name="accountID" direction="out" /> - <arg type="s" name="message" direction="out"/> - </signal> - - <signal name="callStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="conferenceChanged"> - <arg type="s" name="confID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <method name="getParticipantList"> - <arg type="s" name="confID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <signal name="conferenceCreated"> - <arg type="s" name="confID" direction="out"/> - </signal> - - <signal name="conferenceRemoved"> - <arg type="s" name="confID" direction="out"/> - </signal> - - <method name="holdConference"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="unholdConference"> - <arg type="s" name="confID" direction="in"/> - </method> - - <signal name="sipCallStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - <arg type="i" name="code" direction="out"/> - </signal> - - <signal name="voiceMailNotify"> - <arg type="s" name="accountID" direction="out"/> - <arg type="i" name="count" direction="out"/> - </signal> - - <signal name="volumeChanged"> - <arg type="s" name="device" direction="out"/> - <arg type="d" name="value" direction="out"/> - </signal> - - <signal name="transferSucceded"> - </signal> - - <signal name="transferFailed"> - </signal> - - <!-- SRTP related methods and signals --> - <method name="setSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="resetSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="setConfirmGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="requestGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <signal name="secureSdesOn"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="secureSdesOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="secureZrtpOn"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="cipher" direction="out" /> - </signal> - - <signal name="secureZrtpOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="showSAS"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="sas" direction="out" /> - <arg type="b" name="verified" direction="out" /> - </signal> - - <signal name="zrtpNotSuppOther"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="zrtpNegotiationFailed"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="reason" direction="out" /> - <arg type="s" name="severity" direction="out" /> - </signal> - - <signal name="confirmGoClear"> - <arg type="s" name="callID" direction="out" /> - </signal> - -<!-- - <signal name="error"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> ---> - - </interface> +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.CallManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage any call related actions.</p> + <p>Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.</p> + </tp:docstring> + <method name="placeCall" tp:name-for-bindings="placeCall"> + <tp:docstring> + <p>This is the main method in order to place a new call. The call is registered to the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface. + </tp:docstring> + </arg> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> + + <method name="placeCallFirstAccount" tp:name-for-bindings="placeCallFirstAccount"> + <tp:added version="0.9.8"/> + <tp:docstring> + Place a call with the fist registered account, regarding to the account list order. + <tp:rationale> + Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension) + </tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> + + <method name="refuse" tp:name-for-bindings="refuse"> + <tp:docstring> + Refuse an incoming call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + + </method> + + <method name="accept" tp:name-for-bindings="accept"> + <tp:docstring> + Answer an incoming call. Automatically put the current call on state HOLD. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUp" tp:name-for-bindings="hangUp"> + <tp:docstring> + Hangup a call in state "CURRENT" or "HOLD". + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUpConference" tp:name-for-bindings="hangUpConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hangup a conference, and every call participating to the conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The unique conference ID. + </tp:docstring> + </arg> + </method> + + <method name="hold" tp:name-for-bindings="hold"> + <tp:docstring> + Place a call on hold. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="unhold" tp:name-for-bindings="unhold"> + <tp:docstring> + Hold off a call, and place this call on state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfert" tp:name-for-bindings="transfert"> + <tp:docstring> + Transfer a call to given phone number. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + The phone number to transfer the call to. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode charter for pressed key + </tp:docstring> + </arg> + </method> + + <method name="startTone" tp:name-for-bindings="startTone"> + <tp:docstring> + Start audio stream and play tone.. + </tp:docstring> + <arg type="i" name="start" direction="in"/> + <arg type="i" name="type" direction="in"/> + </method> + + <method name="setVolume" tp:name-for-bindings="setVolume"> + <tp:docstring> + <p>Sets the volume using a linear scale [0,100].</p> + <tp:rationale>Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="in"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="getVolume" tp:name-for-bindings="getVolume"> + <tp:docstring> + <p>Return the volume value of the given device on a linear scale [0,100].</p> + <tp:rationale>Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="out"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="joinParticipant" tp:name-for-bindings="joinParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join two participants together to create a 3-way conference including the current client.</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="sel_callID" direction="in"/> + <arg type="s" name="drag_callID" direction="in"/> + </method> + + <method name="addParticipant" tp:name-for-bindings="addParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join a new particiant to an existing conference.</p> + <tp:rationale>The signal <tp:member-ref>conferenceChanged</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to add to the conference + </tp:docstring> + </arg> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="addMainParticipant" tp:name-for-bindings="addMainParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>It put the current call on state HOLD or detach SFLphone-client's user from the another conference.</p> + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="detachParticipant" tp:name-for-bindings="detachParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal <tp:member-ref>conferenceRemoved</tp:member-ref> is emited. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + </method> + + <method name="joinConference" tp:name-for-bindings="joinConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Join two conferences together. + </tp:docstring> + <arg type="s" name="sel_confID" direction="in"/> + <arg type="s" name="drag_confID" direction="in"/> + </method> + + <method name="getConferenceDetails" tp:name-for-bindings="getConferenceDetails"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a hashtable containing conference details. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out"> + <tp:docstring> + A map containing the ID of the conferences and their states. + </tp:docstring> + </arg> + </method> + + <method name="getConferenceList" tp:name-for-bindings="getConferenceList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a list containing all active conferences. + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of conferences. + </tp:docstring> + </arg> + </method> + + <method name="setRecording" tp:name-for-bindings="setRecording"> + <tp:docstring> + Start recording a call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to record. + </tp:docstring> + </arg> + </method> + + <method name="getIsRecording" tp:name-for-bindings="getIsRecording"> + <tp:docstring> + Tells whether or not a call is being recorded. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="b" name="isRecording" direction="out"> + <tp:docstring> + Returns true is the call is being recorded. False otherwise. + </tp:docstring> + </arg> + </method> + + <method name="getCallDetails" tp:name-for-bindings="getCallDetails"> + <tp:docstring> + Get all the details about a specific call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out" tp:type="String_String_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A map containing the call details: </p> + <ul> + <li>ACCOUNTID</li> + <li>PEER_NUMBER</li> + <li>PEER_NAME</li> + <li>DISPLAY_NAME</li> + <li>CALL_STATE</li> + <li>CALL_TYPE</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="getCallList" tp:name-for-bindings="getCallList"> + <tp:docstring> + Get the list of active calls. + <tp:rationale>To get the call details, iterate on the return value and call <tp:member-ref>getCallDetails</tp:member-ref> method.</tp:rationale> + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of call IDs. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCallID" tp:name-for-bindings="getCurrentCallID"> + <tp:docstring> + Get the CURRENT call ID. + </tp:docstring> + @param[out] output callID + <arg type="s" name="callID" direction="out"> + <tp:docstring> + The current call ID. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCodecName" tp:name-for-bindings="getCurrentCodecName"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <signal name="currentSelectedCodec" tp:name-for-bindings="currentSelectedCodec"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="codecName"/> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon and must be stored by the clients in order to address other action for + this call.</p> + <tp:rationale>The client must subscribe to this signal to handle incoming calls.</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the callee. Clients must notify the right account when receiving this signal. + </tp:docstring> + </arg> + <arg type="s" name="callID"> + <tp:docstring> + A new call ID. + </tp:docstring> + </arg> + <arg type="s" name="from"> + <tp:docstring> + The caller phone number. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingMessage" tp:name-for-bindings="incomingMessage"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="accountID" /> + <arg type="s" name="message" /> + </signal> + + <signal name="callStateChanged" tp:name-for-bindings="callStateChanged"> + <tp:docstring> + <p>Notify of a change in a call state.</p> + <p>The client must subscribe to this signal.</p> + </tp:docstring> + <arg type="s" name="callID"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="s" name="state" > + <tp:docstring> + The acceptable states are: + <ul> + <li>INCOMING: Initial state of incoming calls</li> + <li>RINGING: Initial state of received outgoing call</li> + <li>CURRENT: The normal active state of an answered call</li> + <li>HUNGUP: Notify that the call has been hungup by peer</li> + <li>BUSY</li> + <li>FAILURE: Error when processing a call</li> + <li>HOLD</li> + <li>UNHOLD_CURRENT</li> + <li>UNHOLD_RECORD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceChanged" tp:name-for-bindings="conferenceChanged"> + <tp:added version="0.9.7"/> + <tp:docstring> + Notify of a change in the conferences state + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The acceptable states are: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <method name="getParticipantList" tp:name-for-bindings="getParticipantList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Get the call IDs of every participant to a given conference. The client should keep and update the list of participant. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of the call IDs. + </tp:docstring> + </arg> + </method> + + <signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + A new conference ID. + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </signal> + + <method name="holdConference" tp:name-for-bindings="holdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold on every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="unholdConference" tp:name-for-bindings="unholdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold off every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="state" /> + <arg type="i" name="code" /> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>The state of an account has changed.</p> + <p>The clients have to subscribe to this signal to use accounts.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The new registration state + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 code + </tp:docstring> + </arg> + </signal> + + <signal name="voiceMailNotify" tp:name-for-bindings="voiceMailNotify"> + <tp:docstring> + Notify the clients of the voicemail number for a specific account, if applicable. + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID. + </tp:docstring> + </arg> + <arg type="i" name="count"> + <tp:docstring> + The number of waiting messages. + </tp:docstring> + </arg> + </signal> + + <signal name="volumeChanged" tp:name-for-bindings="volumeChanged"> + <tp:docstring> + Notify the clients of a volume level change. + </tp:docstring> + <arg type="s" name="device"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value"> + <tp:docstring> + The new volume value + </tp:docstring> + </arg> + </signal> + + <signal name="transferSucceded" tp:name-for-bindings="transferSucceded"> + <tp:docstring> + The transfer has been successfully processed. + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + The transfer operation has failed. + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <!-- ZRTP Methods and Signals --> + <signal name="secureZrtpOn" tp:name-for-bindings="secureZrtpOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="cipher" /> + </signal> + + <signal name="secureZrtpOff" tp:name-for-bindings="secureZrtpOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="reason" /> + <arg type="s" name="severity" /> + </signal> + + <signal name="zrtpNotSuppOther" tp:name-for-bindings="zrtpNotSuppOther"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="showSAS" tp:name-for-bindings="showSAS"> + <tp:added version="0.9.7"/> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="sas" /> + <arg type="b" name="verified"/> + </signal> + + <method name="setSASVerified" tp:name-for-bindings="setSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="accepted" direction="in"/> + </method> + + <method name="setPBXEnrollment" tp:name-for-bindings="setPBXEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml index e7532d16cb2d161e29d042941a59fffd0d49ae1b..f75d22c662e8b34451ef22540ec124e3c7f25b08 100644 --- a/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml @@ -1,384 +1,1116 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.ConfigurationManager"> - - <!-- Accounts-related methods --> - <method name="getAccountDetails"> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setAccountDetails"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="setCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="in"/> - </method> - - <method name="setNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="number" direction="in"/> - </method> - - <method name="deleteAllCredential"> - <arg type="s" name="accountID" direction="in"/> - </method> - - <method name="getIp2IpDetails"> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setIp2IpDetails"> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="out"/> - </method> - - <method name="getNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="numberOfCredential" direction="out"/> - </method> - - <method name="addAccount"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="in"/> - <arg type="s" name="createdAccountId" direction="out"/> - </method> - - <method name="setAccountsOrder"> - <arg type="s" name="order" direction="in"/> - </method> - - <method name="removeAccount"> - <arg type="s" name="accoundID" direction="in"/> - </method> - - <method name="getAccountList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="sendRegister"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="expire" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Various audio-related methods --> - - <method name="getToneLocaleList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getVersion"> - <arg type="s" name="version" direction="out"/> - </method> - - <method name="getRingtoneList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getPlaybackDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getRecordDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="isRingtoneEnabled"> - <arg type="i" name="bool" direction="out"/> - </method> - - <method name="ringtoneEnabled"> - </method> - - <method name="getRingtoneChoice"> - <arg type="s" name="tone" direction="out"/> - </method> - - <method name="setRingtoneChoice"> - <arg type="s" name="tone" direction="in"/> - </method> - - <method name="getAudioManager"> - <arg type="i" name="api" direction="out"/> - </method> - - <method name="setAudioManager"> - <arg type="i" name="api" direction="in"/> - </method> - - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCodecDetails"> - <arg type="i" name="payload" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="details" direction="out"/> - </method> - - <method name="getActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="list" direction="in"/> - <arg type="s" name="accountID" direction="in"/> - </method> - - - <!-- Audio devices methods --> - - <method name="getInputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getOutputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setInputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="setOutputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="getAudioOutputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioOutputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getAudioInputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioInputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getCurrentAudioDevicesIndex"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAudioDeviceIndex"> - <arg type="s" name="name" direction="in"/> - <arg type="i" name="index" direction="out"/> - </method> - - <method name="getCurrentAudioOutputPlugin"> - <arg type="s" name="plugin" direction="out"/> - </method> - - <!-- General Settings Panel --> - - <method name="isMd5CredentialHashing"> - <arg type="b" name="res" direction="out"/> - </method> - - <method name="setMd5CredentialHashing"> - <arg type="b" name="enabled" direction="in"/> - </method> - - <method name="isIax2Enabled"> - <arg type="i" name="res" direction="out"/> - </method> - - <method name="setNotify"> - </method> - - <method name="getNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="setMailNotify"> - </method> - - <method name="getMailNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="getDialpad"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setDialpad"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getSearchbar"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSearchbar"> - </method> - - <method name="setHistoryEnabled"> - </method> - - <method name="getHistoryEnabled"> - <arg type="s" name="state" direction="out"/> - </method> - - <method name="getVolumeControls"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setVolumeControls"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getHistoryLimit"> - <arg type="i" name="days" direction="out"/> - </method> - - <method name="setHistoryLimit"> - <arg type="i" name="days" direction="in"/> - </method> - - <method name="startHidden"> - </method> - - <method name="isStartHidden"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="popupMode"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="switchPopupMode"> - </method> - - - <!-- Addressbook configuration --> - <method name="getAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="out"/> - </method> - - <method name="setAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="in"/> - </method> - - <!-- Addressbook list --> - <method name="getAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="settings" direction="out"/> - </method> - - <method name="setAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="settings" direction="in"/> - </method> - - <!-- Hook configuration --> - <method name="getHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="out"/> - </method> - - <method name="setHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="in"/> - </method> - - <method name="getHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="out"/> - </method> - - <method name="setHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="in"/> - </method> - - <signal name="accountsChanged"> - </signal> - - <signal name="errorAlert"> - <arg type="i" name="code" direction="out"/> - </signal> - - <!-- TLS Methods --> - <method name="getSupportedTlsMethod"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getTlsSettingsDefault"> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="getTlsSettings"> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setTlsSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getAddrFromInterfaceName"> - <arg type="s" name="interface" direction="in"/> - <arg type="s" name="address" direction="out"/> - </method> - - <method name="getAllIpInterface"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAllIpInterfaceByName"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - </interface> -</node> +<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.ConfigurationManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + Used to handle the configuration stuff: accounts settings, account registration, user preferences, ... + </tp:docstring> + + <method name="getAccountDetails" tp:name-for-bindings="getAccountDetails"> + <tp:docstring> + Get all parameters of the specified account. + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + The available keys / parameters are: + <ul> + <li>CONFIG_ACCOUNT_ENABLE: True or False (Default: True)</li> + <li>CONFIG_ACCOUNT_RESOLVE_ONCE</li> + <li>CONFIG_ACCOUNT_TYPE: SIP or IAX2 (Default: SIP)</li> + <li>HOSTNAME: The IP adress or hostname of the registrar</li> + <li>USERNAME: The username (or extension) of the account</li> + <li>PASSWORD: The password associated to the account</li> + <li>REALM</li> + <li>AUTHENTICATION_USERNAME</li> + <li>CONFIG_ACCOUNT_MAILBOX: Number to dial to access the voicemail box</li> + <li>CONFIG_ACCOUNT_REGISTRATION_EXPIRE: SIP header expiration value (Default: 1600)</li> + <li>LOCAL_INTERFACE: The network interface (Default: eth0)</li> + <li>PUBLISHED_SAMEAS_LOCAL: If False, the published address equals the local address. This is the default.</li> + <li>PUBLISHED_ADDRESS: The SIP published address</li> + <li>LOCAL_PORT: The SIP listening port (Default: 5060)</li> + <li>PUBLISHED_PORT: The SIP published port</li> + <li>DISPLAY_NAMEL: The display name</li> + <li>STUN_ENABLE: True or False (Default: False)</li> + <li>STUN_SERVER: The STUN server address</li> + <li>REGISTRATION_STATUS: The account registration status. Should be Registered to make calls.</li> + <li>REGISTRATION_STATE_CODE</li> + <li>REGISTRATION_STATE_DESCRIPTION</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE: Whether or not voice communication are encrypted - True or False (Default: False)</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>TLS_LISTENER_PORT: TLS listening port (Default: 5061)</li> + <li>TLS_ENABLE: Whether or not signalling is encrypted - True or False (Default: False)</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails"> + <tp:docstring> + Send new account parameters, or account parameters changes, to the core. The hash table is not required to be complete, only the updated parameters may be specified. + <tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale> + <tp:rationale>After calling this method, the core will emit the signal <tp:member-ref>accountsChanged</tp:member-ref> with the updated data. The client must subscribe to this signal and use it to update its internal data structure.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setCredential" tp:name-for-bindings="setCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="number" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + Account ID + </tp:docstring> + </arg> + </method> + + <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <tp:docstring> + Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>--> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + Available parameters are: + <ul> + <li>ACCOUNT_ID</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>LOCAL_INTERFACE</li> + <li>LOCAL_PORT</li> + <li>TLS_LISTENER_PORT</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_PASSWORD</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <tp:docstring> + Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile. + </tp:docstring> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference. + </tp:docstring> + </arg> + </method> + + <method name="getCredential" tp:name-for-bindings="getCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="numberOfCredential" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="addAccount" tp:name-for-bindings="addAccount"> + <tp:docstring> + Add a new account. When created, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + <tp:rationale>If no details are specified, the default parameters are used.</tp:rationale> + <tp:rationale>The core tries to register the account as soon it is created.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The new account settings + </tp:docstring> + </arg> + <arg type="s" name="createdAccountId" direction="out"> + <tp:docstring> + A new account ID + </tp:docstring> + </arg> + </method> + + <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder"> + <tp:docstring> + Update the accounts order. + <tp:rationale>When placing a call, the first registered account in the list is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="order" direction="in"> + <tp:docstring> + An ordered list of account IDs, delimited by '/' + </tp:docstring> + </arg> + </method> + + <method name="removeAccount" tp:name-for-bindings="removeAccount"> + <tp:docstring> + Remove an existing account. When removed, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + </tp:docstring> + <arg type="s" name="accoundID" direction="in"> + <tp:docstring> + The account to remove, identified by its ID + </tp:docstring> + </arg> + </method> + + <method name="getAccountList" tp:name-for-bindings="getAccountList"> + <tp:docstring> + Get a list of all created accounts, as stored by the core. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of account IDs + </tp:docstring> + </arg> + </method> + + <method name="sendRegister" tp:name-for-bindings="sendRegister"> + <tp:docstring> + Send account registration (REGISTER) to the registrar. + </tp:docstring> + the account if expire=1, unregister if expire=0. + + @param[in] input accountID + --> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="i" name="expire" direction="in"> + <tp:docstring> + <p>To register, expire must be 1.</p> + <p>To un-register, expire must be 0.</p> + </tp:docstring> + </arg> + </method> + + <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVersion" tp:name-for-bindings="getVersion"> + <tp:docstring> + Return SFLphone-daemon version + </tp:docstring> + <arg type="s" name="version" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> + <tp:docstring> + Return a list of valid Sun's .au sound file used + as ringtones. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList"> + <tp:docstring> + Provide a list of playback device from ALSA + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList"> + <tp:docstring> + Provide a list of record device from ALSA + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> + <tp:docstring> + Return true if ringtone is enabled, false otherwise + </tp:docstring> + <arg type="i" name="bool" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled"> + <tp:docstring> + Unused + </tp:docstring> + </method> + + <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice"> + <tp:docstring> + Get current ringtone .au file selected + </tp:docstring> + <arg type="s" name="tone" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice"> + <tp:docstring> + Set current ringtone .au file from list acquired using <tp:member-ref>getAccountList</tp:member-ref> + </tp:docstring> + <arg type="s" name="tone" direction="in"> + <tp:docstring> + A valid .au file path + </tp:docstring> + </arg> + </method> + + <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList" tp:name-for-bindings="getCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="payload" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Audio devices methods --> + + <method name="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioRingtoneDevice" tp:name-for-binding="setAudioRingtoneDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="name" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="plugin" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getEchoCancelState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-binding="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <!-- General Settings Panel --> + + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNotify" tp:name-for-bindings="setNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getNotify" tp:name-for-bindings="getNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="startHidden" tp:name-for-bindings="startHidden"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="popupMode" tp:name-for-bindings="popupMode"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="width" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="height" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="width" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="height" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posX" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posX" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posY" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posY" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> + <tp:docstring> + Allow SFLphone icon to be displayed in system tray + </tp:docstring> + <arg type="s" name="value" direction="in"> + <tp:docstring> + true/false + </tp:docstring> + </arg> + </method> + + <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> + <tp:docstring> + Test if SFLphone icon is displayed in system tray. + </tp:docstring> + <arg type="s" name="value" direction="out"> + <tp:docstring> + true/false + </tp:docstring> + </arg> + </method> + + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Hook configuration --> + <method name="getHookSettings" tp:name-for-bindings="getHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHookSettings" tp:name-for-bindings="setHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistory" tp:name-for-bindings="getHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistory" tp:name-for-bindings="setHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <signal name="accountsChanged" tp:name-for-bindings="accountsChanged"> + <tp:docstring> + Signal emited on account changes. Clients should update + all account status with <tp:member-ref>getAccountDetails</tp:member-ref> + iterating over the list provided by <tp:member-ref>getAccountList</tp:member-ref> + </tp:docstring> + </signal> + + <signal name="errorAlert" tp:name-for-bindings="errorAlert"> + <arg type="i" name="code"> + <tp:docstring> + </tp:docstring> + </arg> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod"> + <tp:docstring> + Provide a list of supported TLS method + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of TLS method: (TLSv1, SSLv1, SSLv2, + SSLv3, SSLv23) + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <tp:docstring> + Get default TLS setting for new accounts + </tp:docstring> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + A hash table containing details. Refer + to <tp:member-ref>getTlsSettings</tp:member-ref> + for possible keys + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings"> + <tp:docstring> + Get current TLS setting for a specific account + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + A hash table containing details with key: + <ul> + <li>"TLS.listenerPort": valid numerical port</li> + <li>"TLS.enable": true/false</li> + <li>"TLS.certificateListFile": A valid path to + a .pem file containing CA certificate</li> + <li>"TLS.certificateFile": A valid path to a + file containing the public end-point + certificate (optional)</li> + <li>"TLS.privateKeyFile": A valid path to a + file containing the public end-point private + key (optional)</li> + <li>"TLS.password": Public end-point private + key password (optional)</li> + <li>"TLS.method": (TLSv1, SSLv1, SSLv2, + SSLv3, SSLv23)</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings"> + <tp:docstring> + Update TLS setting for a specific account + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in"> + <tp:docstring> + A hash table containing details. Refer + to <tp:member-ref>getTlsSettings</tp:member-ref> + for possible keys. + </tp:docstring> + </arg> + </method> + + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> + <tp:docstring> + Resolve interface IPv4 address provided its name. + </tp:docstring> + <arg type="s" name="interface" direction="in"> + <tp:docstring> + Interface name + </tp:docstring> + </arg> + <arg type="s" name="address" direction="out"> + <tp:docstring> + Interface IPv4 address + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface"> + <tp:docstring> + Provide a list of IP interface's IPv4 address. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of interface's IPv4 address + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName"> + <tp:docstring> + Provide a list of IP interface's name: default + (0.0.0.0), lo, eth0 ... + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of interface's name + </tp:docstring> + </arg> + </method> + + <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + </interface> + </node> diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c index beb94b54daccc701bcc86f90f80bbcd5b439286e..a5273a2ee07f01d5f1b6c76d593646535d5ac459 100644 --- a/sflphone-client-gnome/src/dbus/dbus.c +++ b/sflphone-client-gnome/src/dbus/dbus.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <config.h> @@ -43,1704 +54,1701 @@ DBusGProxy * callManagerProxy; DBusGProxy * configurationManagerProxy; DBusGProxy * instanceProxy; - static void -incoming_call_cb (DBusGProxy *proxy UNUSED, - const gchar* accountID, - const gchar* callID, - const gchar* from, - void * foo UNUSED ) +static void +incoming_call_cb(DBusGProxy *proxy UNUSED, const gchar* accountID, + const gchar* callID, const gchar* from, void * foo UNUSED ) { - DEBUG("Incoming call (%s) from %s", callID, from); + DEBUG("Incoming call (%s) from %s", callID, from); - callable_obj_t * c; - gchar *peer_name, *peer_number; - // We receive the from field under a formatted way. We want to extract the number and the name of the caller - peer_name = call_get_peer_name (from); - peer_number = call_get_peer_number (from); + callable_obj_t * c; + gchar *peer_name, *peer_number; + // We receive the from field under a formatted way. We want to extract the number and the name of the caller + peer_name = call_get_peer_name(from); + peer_number = call_get_peer_number(from); - DEBUG(" peer name: %s", peer_name); - DEBUG(" peer number: %s", peer_number); + DEBUG(" peer name: %s", peer_name); + DEBUG(" peer number: %s", peer_number); - create_new_call (CALL, CALL_STATE_INCOMING, g_strdup(callID), g_strdup(accountID), peer_name, peer_number, &c); + create_new_call(CALL, CALL_STATE_INCOMING, g_strdup(callID), g_strdup( + accountID), peer_name, peer_number, &c); #if GTK_CHECK_VERSION(2,10,0) - status_tray_icon_blink (TRUE); - popup_main_window (); + status_tray_icon_blink(TRUE); + popup_main_window(); #endif - set_timestamp (&c->_time_start); - notify_incoming_call (c); - sflphone_incoming_call (c); + set_timestamp(&c->_time_start); + notify_incoming_call(c); + sflphone_incoming_call(c); } - static void -zrtp_negotiation_failed_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* reason, - const gchar* severity, - void * foo UNUSED ) +static void +zrtp_negotiation_failed_cb(DBusGProxy *proxy UNUSED, const gchar* callID, + const gchar* reason, const gchar* severity, void * foo UNUSED ) { - DEBUG ("Zrtp negotiation failed."); - main_window_zrtp_negotiation_failed(callID, reason, severity); - callable_obj_t * c = NULL; - c = calllist_get(current_calls, callID); - if(c) { - notify_zrtp_negotiation_failed(c); + DEBUG ("Zrtp negotiation failed."); + main_window_zrtp_negotiation_failed(callID, reason, severity); + callable_obj_t * c = NULL; + c = calllist_get(current_calls, callID); + if (c) + { + notify_zrtp_negotiation_failed(c); } } - static void -curent_selected_codec (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* codecName, - void * foo UNUSED ) +static void +curent_selected_codec(DBusGProxy *proxy UNUSED, const gchar* callID, + const gchar* codecName, void * foo UNUSED ) { - // DEBUG ("%s codec decided for call %s",codecName,callID); - // sflphone_display_selected_codec (codecName); + // DEBUG ("%s codec decided for call %s",codecName,callID); + // sflphone_display_selected_codec (codecName); } - static void -volume_changed_cb (DBusGProxy *proxy UNUSED, - const gchar* device, - const gdouble value, - void * foo UNUSED ) +static void +volume_changed_cb(DBusGProxy *proxy UNUSED, const gchar* device, const gdouble value, + void * foo UNUSED ) { - DEBUG ("Volume of %s changed to %f.",device, value); - set_slider(device, value); + DEBUG ("Volume of %s changed to %f.",device, value); + set_slider(device, value); } - static void -voice_mail_cb (DBusGProxy *proxy UNUSED, - const gchar* accountID, - const guint nb, - void * foo UNUSED ) +static void +voice_mail_cb(DBusGProxy *proxy UNUSED, const gchar* accountID, const guint nb, + void * foo UNUSED ) { - DEBUG ("%d Voice mail waiting!",nb); - sflphone_notify_voice_mail (accountID , nb); + DEBUG ("%d Voice mail waiting!",nb); + sflphone_notify_voice_mail(accountID, nb); } - static void -incoming_message_cb (DBusGProxy *proxy UNUSED, - const gchar* accountID UNUSED, - const gchar* msg, - void * foo UNUSED ) +static void +incoming_message_cb(DBusGProxy *proxy UNUSED, const gchar* accountID UNUSED, + const gchar* msg, void * foo UNUSED ) { - DEBUG ("Message %s!",msg); + DEBUG ("Message %s!",msg); } - static void -call_state_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* state, - void * foo UNUSED ) +static void +call_state_cb(DBusGProxy *proxy UNUSED, const gchar* callID, const gchar* state, + void * foo UNUSED ) { - DEBUG ("Call %s state %s",callID, state); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) + DEBUG ("Call %s state %s",callID, state); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) { - if ( strcmp(state, "HUNGUP") == 0 ) + if (strcmp(state, "HUNGUP") == 0) { - if(c->_state==CALL_STATE_CURRENT) + if (c->_state == CALL_STATE_CURRENT) { - // peer hung up, the conversation was established, so _stop has been initialized with the current time value - DEBUG("call state current"); - set_timestamp (&c->_time_stop); - calltree_update_call( history, c, NULL); + // peer hung up, the conversation was established, so _stop has been initialized with the current time value + DEBUG("call state current"); + set_timestamp(&c->_time_stop); + calltree_update_call(history, c, NULL); } - stop_notification(); - sflphone_hung_up (c); - calltree_update_call( history, c, NULL ); - status_bar_display_account(); + stop_notification(); + sflphone_hung_up(c); + calltree_update_call(history, c, NULL ); + status_bar_display_account(); } - else if ( strcmp(state, "UNHOLD_CURRENT") == 0 ) + else if (strcmp(state, "UNHOLD_CURRENT") == 0) { - sflphone_current (c); + sflphone_current(c); } - else if ( strcmp(state, "UNHOLD_RECORD") == 0 ) + else if (strcmp(state, "UNHOLD_RECORD") == 0) { - sflphone_record (c); + sflphone_record(c); } - else if ( strcmp(state, "HOLD") == 0 ) + else if (strcmp(state, "HOLD") == 0) { - sflphone_hold (c); + sflphone_hold(c); } - else if ( strcmp(state, "RINGING") == 0 ) + else if (strcmp(state, "RINGING") == 0) { - sflphone_ringing (c); + sflphone_ringing(c); } - else if ( strcmp(state, "CURRENT") == 0 ) + else if (strcmp(state, "CURRENT") == 0) { - sflphone_current (c); + sflphone_current(c); } - else if ( strcmp(state, "FAILURE") == 0 ) + else if (strcmp(state, "FAILURE") == 0) { - sflphone_fail (c); + sflphone_fail(c); } - else if ( strcmp(state, "BUSY") == 0 ) + else if (strcmp(state, "BUSY") == 0) { - sflphone_busy (c); + sflphone_busy(c); } } - else + else { - // The callID is unknow, threat it like a new call - // If it were an incoming call, we won't be here - // It means that a new call has been initiated with an other client (cli for instance) - if ( strcmp(state, "RINGING") == 0 || strcmp(state, "CURRENT") == 0) + // The callID is unknow, threat it like a new call + // If it were an incoming call, we won't be here + // It means that a new call has been initiated with an other client (cli for instance) + if (strcmp(state, "RINGING") == 0 || strcmp(state, "CURRENT") == 0) { - callable_obj_t *new_call; - GHashTable *call_details; - gchar *type; + callable_obj_t *new_call; + GHashTable *call_details; + gchar *type; - DEBUG ("New ringing call! accountID: %s", callID); + DEBUG ("New ringing call! accountID: %s", callID); - // We fetch the details associated to the specified call - call_details = dbus_get_call_details (callID); - create_new_call_from_details (callID, call_details, &new_call); + // We fetch the details associated to the specified call + call_details = dbus_get_call_details(callID); + create_new_call_from_details(callID, call_details, &new_call); - // Restore the callID to be synchronous with the daemon - new_call->_callID = g_strdup(callID); - type = g_hash_table_lookup (call_details, "CALL_TYPE"); + // Restore the callID to be synchronous with the daemon + new_call->_callID = g_strdup(callID); + type = g_hash_table_lookup(call_details, "CALL_TYPE"); - if (g_strcasecmp (type, "0") == 0) + if (g_strcasecmp(type, "0") == 0) { - // DEBUG("incoming\n"); - new_call->_history_state = INCOMING; + // DEBUG("incoming\n"); + new_call->_history_state = INCOMING; } - else + else { - // DEBUG("outgoing\n"); - new_call->_history_state = OUTGOING; + // DEBUG("outgoing\n"); + new_call->_history_state = OUTGOING; } - calllist_add (current_calls, new_call); - calllist_add (history, new_call); - calltree_add_call (current_calls, new_call, NULL); - update_actions (); - calltree_display (current_calls); + calllist_add(current_calls, new_call); + calllist_add(history, new_call); + calltree_add_call(current_calls, new_call, NULL); + update_actions(); + calltree_display(current_calls); - //sflphone_incoming_call (new_call); + //sflphone_incoming_call (new_call); } } } static void -conference_changed_cb (DBusGProxy *proxy UNUSED, - const gchar* confID, - const gchar* state, - void * foo UNUSED ) +conference_changed_cb(DBusGProxy *proxy UNUSED, const gchar* confID, + const gchar* state, void * foo UNUSED ) { - - // sflphone_display_transfer_status("Transfer successfull"); - conference_obj_t* changed_conf = conferencelist_get(confID); - gchar** participants; - gchar** part; - DEBUG("conference new state %s\n", state); + // sflphone_display_transfer_status("Transfer successfull"); + conference_obj_t* changed_conf = conferencelist_get(confID); + gchar** participants; + gchar** part; + + DEBUG("conference new state %s\n", state); - if(changed_conf) + if (changed_conf) { - // remove old conference from calltree - calltree_remove_conference (current_calls, changed_conf, NULL); + // remove old conference from calltree + calltree_remove_conference(current_calls, changed_conf, NULL); - // update conference state - if ( strcmp(state, "ACTIVE_ATACHED") == 0 ) { - changed_conf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; - } - else if ( strcmp(state, "ACTIVE_DETACHED") == 0 ) { - changed_conf->_state = CONFERENCE_STATE_ACTIVE_DETACHED; - } - else if ( strcmp(state, "HOLD") == 0 ) { - changed_conf->_state = CONFERENCE_STATE_HOLD; - } - else { - DEBUG("Error: conference state not recognized"); - } - + // update conference state + if (strcmp(state, "ACTIVE_ATACHED") == 0) + { + changed_conf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; + } + else if (strcmp(state, "ACTIVE_DETACHED") == 0) + { + changed_conf->_state = CONFERENCE_STATE_ACTIVE_DETACHED; + } + else if (strcmp(state, "HOLD") == 0) + { + changed_conf->_state = CONFERENCE_STATE_HOLD; + } + else + { + DEBUG("Error: conference state not recognized"); + } + + participants = (gchar**) dbus_get_participant_list(changed_conf->_confID); - participants = (gchar**)dbus_get_participant_list(changed_conf->_confID); + // update conferece participants + conference_participant_list_update(participants, changed_conf); - // update conferece participants - conference_participant_list_update(participants, changed_conf); - - // add new conference to calltree - calltree_add_conference (current_calls, changed_conf); + // add new conference to calltree + calltree_add_conference(current_calls, changed_conf); } } - static void -conference_created_cb (DBusGProxy *proxy UNUSED, - const gchar* confID, - void * foo UNUSED ) +conference_created_cb(DBusGProxy *proxy UNUSED, const gchar* confID, void * foo UNUSED ) { - DEBUG ("Conference added %s\n", confID); + DEBUG ("DBUS: Conference %s added", confID); - conference_obj_t* new_conf; - callable_obj_t* call; - gchar* call_id; - gchar** participants; - gchar** part; + conference_obj_t* new_conf; + callable_obj_t* call; + gchar* call_id; + gchar** participants; + gchar** part; - create_new_conference(CONFERENCE_STATE_ACTIVE_ATACHED, confID, &new_conf); - // new_conf->_confID = g_strdup(confID); + create_new_conference(CONFERENCE_STATE_ACTIVE_ATACHED, confID, &new_conf); - participants = (gchar**)dbus_get_participant_list(new_conf->_confID); + participants = (gchar**) dbus_get_participant_list(new_conf->_confID); - conference_participant_list_update(participants, new_conf); + // Update conference list + conference_participant_list_update(participants, new_conf); - // participant = new_conf->participant; - for (part = participants; *part; part++) - { - call_id = (gchar*)(*part); - call = calllist_get (current_calls, call_id); - call->_confID = g_strdup(confID); - } + // Add conference ID in in each calls + for (part = participants; *part; part++) { + call_id = (gchar*) (*part); + call = calllist_get(current_calls, call_id); + call->_confID = g_strdup(confID); + } - conferencelist_add(new_conf); - calltree_add_conference (current_calls, new_conf); + conferencelist_add(new_conf); + calltree_add_conference(current_calls, new_conf); } - static void -conference_removed_cb (DBusGProxy *proxy UNUSED, - const gchar* confID, - void * foo UNUSED ) +conference_removed_cb(DBusGProxy *proxy UNUSED, const gchar* confID, void * foo UNUSED ) { - DEBUG ("Conference removed %s\n", confID); + DEBUG ("DBUS: Conference removed %s", confID); - conference_obj_t * c = conferencelist_get(confID); - calltree_remove_conference (current_calls, c, NULL); - conferencelist_remove(c->_confID); -} + conference_obj_t * c = conferencelist_get(confID); + calltree_remove_conference(current_calls, c, NULL); + + GSList *participant = c->participant_list; + callable_obj_t *call; + while(participant) { + call = calllist_get(current_calls, (const gchar *)(participant->data)); + if(call) { + DEBUG("DBUS: Remove participant %s", call->_callID); + if(call->_confID){ + g_free(call->_confID); + call->_confID = NULL; + } + } + participant = conference_next_participant(participant); + } + + conferencelist_remove(c->_confID); +} - static void -accounts_changed_cb (DBusGProxy *proxy UNUSED, - void * foo UNUSED ) +static void +accounts_changed_cb(DBusGProxy *proxy UNUSED, void * foo UNUSED ) { - DEBUG ("Accounts changed"); - sflphone_fill_account_list (); - sflphone_fill_ip2ip_profile(); - account_list_config_dialog_fill(); + DEBUG ("Accounts changed"); + sflphone_fill_account_list(); + sflphone_fill_ip2ip_profile(); + account_list_config_dialog_fill(); - // Update the status bar in case something happened - // Should fix ticket #1215 - status_bar_display_account(); -} + // Update the status bar in case something happened + // Should fix ticket #1215 + status_bar_display_account(); + // Update the tooltip on the status icon + statusicon_set_tooltip (); +} - static void -transfer_succeded_cb (DBusGProxy *proxy UNUSED, - void * foo UNUSED ) +static void +transfer_succeded_cb(DBusGProxy *proxy UNUSED, void * foo UNUSED ) { - DEBUG ("Transfer succeded\n"); - sflphone_display_transfer_status("Transfer successfull"); + DEBUG ("Transfer succeded\n"); + sflphone_display_transfer_status("Transfer successfull"); } - - static void -transfer_failed_cb (DBusGProxy *proxy UNUSED, - void * foo UNUSED ) +static void +transfer_failed_cb(DBusGProxy *proxy UNUSED, void * foo UNUSED ) { - DEBUG ("Transfer failed\n"); - sflphone_display_transfer_status("Transfer failed"); + DEBUG ("Transfer failed\n"); + sflphone_display_transfer_status("Transfer failed"); } -static void -secure_sdes_on_cb(DBusGProxy *proxy UNUSED, - const gchar *callID, - void *foo UNUSED) +static void +secure_sdes_on_cb(DBusGProxy *proxy UNUSED, const gchar *callID, void *foo UNUSED) { - DEBUG("SRTP using SDES is on"); - callable_obj_t *c = calllist_get(current_calls, callID); - if(c) { - sflphone_srtp_sdes_on(c); - notify_secure_on(c); + DEBUG("SRTP using SDES is on"); + callable_obj_t *c = calllist_get(current_calls, callID); + if (c) + { + sflphone_srtp_sdes_on(c); + notify_secure_on(c); } } - static void -secure_sdes_off_cb(DBusGProxy *proxy UNUSED, - const gchar *callID, - void *foo UNUSED) +secure_sdes_off_cb(DBusGProxy *proxy UNUSED, const gchar *callID, void *foo UNUSED) { - DEBUG("SRTP using SDES is off"); - callable_obj_t *c = calllist_get(current_calls, callID); - if(c) { - sflphone_srtp_sdes_off(c); - notify_secure_off(c); + DEBUG("SRTP using SDES is off"); + callable_obj_t *c = calllist_get(current_calls, callID); + if (c) + { + sflphone_srtp_sdes_off(c); + notify_secure_off(c); } } - static void -secure_zrtp_on_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* cipher, - void * foo UNUSED ) +static void +secure_zrtp_on_cb(DBusGProxy *proxy UNUSED, const gchar* callID, const gchar* cipher, + void * foo UNUSED ) { - DEBUG ("SRTP using ZRTP is ON secure_on_cb"); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) { - c->_srtp_cipher = g_strdup(cipher); - - sflphone_srtp_zrtp_on (c); - notify_secure_on(c); + DEBUG ("SRTP using ZRTP is ON secure_on_cb"); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) + { + c->_srtp_cipher = g_strdup(cipher); + + sflphone_srtp_zrtp_on(c); + notify_secure_on(c); } } - static void -secure_zrtp_off_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - void * foo UNUSED ) +static void +secure_zrtp_off_cb(DBusGProxy *proxy UNUSED, const gchar* callID, void * foo UNUSED ) { - DEBUG ("SRTP using ZRTP is OFF"); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) { - sflphone_srtp_zrtp_off (c); - notify_secure_off (c); + DEBUG ("SRTP using ZRTP is OFF"); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) + { + sflphone_srtp_zrtp_off(c); + notify_secure_off(c); } } - static void -show_zrtp_sas_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* sas, - const gboolean verified, - void * foo UNUSED ) +static void +show_zrtp_sas_cb(DBusGProxy *proxy UNUSED, const gchar* callID, const gchar* sas, + const gboolean verified, void * foo UNUSED ) { - DEBUG ("Showing SAS"); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) { - sflphone_srtp_zrtp_show_sas (c, sas, verified); + DEBUG ("Showing SAS"); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) + { + sflphone_srtp_zrtp_show_sas(c, sas, verified); } } - static void -confirm_go_clear_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - void * foo UNUSED ) +static void +confirm_go_clear_cb(DBusGProxy *proxy UNUSED, const gchar* callID, void * foo UNUSED ) { - DEBUG ("Confirm Go Clear request"); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) { - sflphone_confirm_go_clear (c); + DEBUG ("Confirm Go Clear request"); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) + { + sflphone_confirm_go_clear(c); } } - static void -zrtp_not_supported_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - void * foo UNUSED ) +static void +zrtp_not_supported_cb(DBusGProxy *proxy UNUSED, const gchar* callID, void * foo UNUSED ) { - DEBUG ("ZRTP not supported on the other end"); - callable_obj_t * c = calllist_get(current_calls, callID); - if(c) { - sflphone_srtp_zrtp_not_supported (c); - notify_zrtp_not_supported(c); + DEBUG ("ZRTP not supported on the other end"); + callable_obj_t * c = calllist_get(current_calls, callID); + if (c) + { + sflphone_srtp_zrtp_not_supported(c); + notify_zrtp_not_supported(c); } } - static void -sip_call_state_cb (DBusGProxy *proxy UNUSED, - const gchar* callID, - const gchar* description, - const guint code, - void * foo UNUSED ) +static void +sip_call_state_cb(DBusGProxy *proxy UNUSED, const gchar* callID, + const gchar* description, const guint code, void * foo UNUSED ) { - callable_obj_t * c = NULL; - c = calllist_get(current_calls, callID); + callable_obj_t * c = NULL; + c = calllist_get(current_calls, callID); - if(c != NULL) { - DEBUG("sip_call_state_cb received code %d", code); - sflphone_call_state_changed(c, description, code); + if (c != NULL) + { + DEBUG("sip_call_state_cb received code %d", code); + sflphone_call_state_changed(c, description, code); } } - static void -error_alert(DBusGProxy *proxy UNUSED, - int errCode, - void * foo UNUSED ) +static void +error_alert(DBusGProxy *proxy UNUSED, int errCode, void * foo UNUSED ) { - ERROR ("Error notifying : (%i)", errCode); - sflphone_throw_exception( errCode ); + ERROR ("Error notifying : (%i)", errCode); + sflphone_throw_exception(errCode); } - gboolean -dbus_connect () -{ - - GError *error = NULL; - connection = NULL; - instanceProxy = NULL; - - g_type_init (); - - connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); - - if (error) - { - ERROR ("Failed to open connection to bus: %s", - error->message); - g_error_free (error); - return FALSE; - } - - /* Create a proxy object for the "bus driver" (name "org.freedesktop.DBus") */ - - - instanceProxy = dbus_g_proxy_new_for_name (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/Instance", - "org.sflphone.SFLphone.Instance"); - /* - instanceProxy = dbus_g_proxy_new_for_name_owner (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/Instance", - "org.sflphone.SFLphone.Instance", - &error); - */ - - if (instanceProxy==NULL) - { - ERROR ("Failed to get proxy to Instance"); - return FALSE; - } - - - DEBUG ("DBus connected to Instance"); +gboolean +dbus_connect() +{ - - callManagerProxy = dbus_g_proxy_new_for_name (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/CallManager", - "org.sflphone.SFLphone.CallManager"); - - /* - callManagerProxy = dbus_g_proxy_new_for_name_owner (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/CallManager", - "org.sflphone.SFLphone.CallManager", - &error); - */ - if (callManagerProxy==NULL) - { - ERROR ("Failed to get proxy to CallManagers"); - return FALSE; - } - - DEBUG ("DBus connected to CallManager"); - /* STRING STRING STRING Marshaller */ - /* Incoming call */ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_STRING_STRING, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "incomingCall", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "incomingCall", G_CALLBACK(incoming_call_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "zrtpNegotiationFailed", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "zrtpNegotiationFailed", G_CALLBACK(zrtp_negotiation_failed_cb), NULL, NULL); - - /* Current codec */ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_STRING_STRING, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "currentSelectedCodec", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "currentSelectedCodec", G_CALLBACK(curent_selected_codec), NULL, NULL); - - /* Register a marshaller for STRING,STRING */ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_STRING, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "callStateChanged", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "callStateChanged", G_CALLBACK(call_state_cb), NULL, NULL); - - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_INT, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "voiceMailNotify", G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "voiceMailNotify", G_CALLBACK(voice_mail_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "incomingMessage", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "incomingMessage", G_CALLBACK(incoming_message_cb), NULL, NULL); - - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_DOUBLE, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "volumeChanged", G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "volumeChanged", G_CALLBACK(volume_changed_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "transferSucceded", G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "transferSucceded", G_CALLBACK(transfer_succeded_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "transferFailed", G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "transferFailed", G_CALLBACK(transfer_failed_cb), NULL, NULL); - - /* Conference related callback */ - - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "conferenceChanged", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "conferenceChanged", G_CALLBACK(conference_changed_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "conferenceCreated", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "conferenceCreated", G_CALLBACK(conference_created_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "conferenceRemoved", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "conferenceRemoved", G_CALLBACK(conference_removed_cb), NULL, NULL); - - /* Security related callbacks */ - - dbus_g_proxy_add_signal (callManagerProxy, - "secureSdesOn", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "secureSdesOn", G_CALLBACK(secure_sdes_on_cb), NULL, NULL); - - dbus_g_proxy_add_signal (callManagerProxy, - "secureSdesOff", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "secureSdesOff", G_CALLBACK(secure_sdes_off_cb), NULL, NULL); - - /* Register a marshaller for STRING,STRING,BOOL */ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_STRING_BOOL, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "showSAS", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "showSAS", G_CALLBACK(show_zrtp_sas_cb), NULL, NULL); - - - dbus_g_proxy_add_signal (callManagerProxy, - "secureZrtpOn", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "secureZrtpOn", G_CALLBACK(secure_zrtp_on_cb), NULL, NULL); - - /* Register a marshaller for STRING*/ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_add_signal (callManagerProxy, - "secureZrtpOff", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "secureZrtpOff", G_CALLBACK(secure_zrtp_off_cb), NULL, NULL); - dbus_g_proxy_add_signal (callManagerProxy, - "zrtpNotSuppOther", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "zrtpNotSuppOther", G_CALLBACK(zrtp_not_supported_cb), NULL, NULL); - dbus_g_proxy_add_signal (callManagerProxy, - "confirmGoClear", G_TYPE_STRING, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "confirmGoClear", G_CALLBACK(confirm_go_clear_cb), NULL, NULL); - - /* VOID STRING STRING INT */ - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_STRING_INT, - G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); - - - dbus_g_proxy_add_signal (callManagerProxy, - "sipCallStateChanged", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (callManagerProxy, - "sipCallStateChanged", G_CALLBACK(sip_call_state_cb), NULL, NULL); - - configurationManagerProxy = dbus_g_proxy_new_for_name (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/ConfigurationManager", - "org.sflphone.SFLphone.ConfigurationManager"); - - - /* - configurationManagerProxy = dbus_g_proxy_new_for_name_owner (connection, - "org.sflphone.SFLphone", - "/org/sflphone/SFLphone/ConfigurationManager", - "org.sflphone.SFLphone.ConfigurationManager", - &error); - */ - if (!configurationManagerProxy) - { - ERROR ("Failed to get proxy to ConfigurationManager"); - return FALSE; - } - DEBUG ("DBus connected to ConfigurationManager"); - dbus_g_proxy_add_signal (configurationManagerProxy, - "accountsChanged", G_TYPE_INVALID); - dbus_g_proxy_connect_signal (configurationManagerProxy, - "accountsChanged", G_CALLBACK(accounts_changed_cb), NULL, NULL); - - dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__INT, - G_TYPE_NONE, G_TYPE_INT , G_TYPE_INVALID); - dbus_g_proxy_add_signal (configurationManagerProxy, - "errorAlert", G_TYPE_INT , G_TYPE_INVALID); - dbus_g_proxy_connect_signal (configurationManagerProxy, - "errorAlert", G_CALLBACK(error_alert), NULL, NULL); - - /* Defines a default timeout for the proxies */ + GError *error = NULL; + connection = NULL; + instanceProxy = NULL; + + g_type_init(); + + connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); + + if (error) + { + ERROR ("Failed to open connection to bus: %s", + error->message); + g_error_free(error); + return FALSE; + } + + /* Create a proxy object for the "bus driver" (name "org.freedesktop.DBus") */ + + instanceProxy = dbus_g_proxy_new_for_name(connection, + "org.sflphone.SFLphone", "/org/sflphone/SFLphone/Instance", + "org.sflphone.SFLphone.Instance"); + /* + instanceProxy = dbus_g_proxy_new_for_name_owner (connection, + "org.sflphone.SFLphone", + "/org/sflphone/SFLphone/Instance", + "org.sflphone.SFLphone.Instance", + &error); + */ + + if (instanceProxy == NULL) + { + ERROR ("Failed to get proxy to Instance"); + return FALSE; + } + + DEBUG ("DBus connected to Instance"); + + callManagerProxy = dbus_g_proxy_new_for_name(connection, + "org.sflphone.SFLphone", "/org/sflphone/SFLphone/CallManager", + "org.sflphone.SFLphone.CallManager"); + + /* + callManagerProxy = dbus_g_proxy_new_for_name_owner (connection, + "org.sflphone.SFLphone", + "/org/sflphone/SFLphone/CallManager", + "org.sflphone.SFLphone.CallManager", + &error); + */ + if (callManagerProxy == NULL) + { + ERROR ("Failed to get proxy to CallManagers"); + return FALSE; + } + + DEBUG ("DBus connected to CallManager"); + /* STRING STRING STRING Marshaller */ + /* Incoming call */ + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_STRING_STRING, G_TYPE_NONE, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "incomingCall", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "incomingCall", + G_CALLBACK(incoming_call_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "zrtpNegotiationFailed", + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "zrtpNegotiationFailed", + G_CALLBACK(zrtp_negotiation_failed_cb), NULL, NULL); + + /* Current codec */ + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_STRING_STRING, G_TYPE_NONE, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "currentSelectedCodec", + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "currentSelectedCodec", + G_CALLBACK(curent_selected_codec), NULL, NULL); + + /* Register a marshaller for STRING,STRING */ + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "callStateChanged", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "callStateChanged", + G_CALLBACK(call_state_cb), NULL, NULL); + + dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING_INT, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "voiceMailNotify", G_TYPE_STRING, + G_TYPE_INT, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "voiceMailNotify", + G_CALLBACK(voice_mail_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "incomingMessage", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "incomingMessage", + G_CALLBACK(incoming_message_cb), NULL, NULL); + + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_DOUBLE, G_TYPE_NONE, G_TYPE_STRING, + G_TYPE_DOUBLE, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "volumeChanged", G_TYPE_STRING, + G_TYPE_DOUBLE, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "volumeChanged", + G_CALLBACK(volume_changed_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "transferSucceded", G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "transferSucceded", + G_CALLBACK(transfer_succeded_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "transferFailed", G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "transferFailed", + G_CALLBACK(transfer_failed_cb), NULL, NULL); + + /* Conference related callback */ + + dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "conferenceChanged", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "conferenceChanged", + G_CALLBACK(conference_changed_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "conferenceCreated", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "conferenceCreated", + G_CALLBACK(conference_created_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "conferenceRemoved", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "conferenceRemoved", + G_CALLBACK(conference_removed_cb), NULL, NULL); + + /* Security related callbacks */ + + dbus_g_proxy_add_signal(callManagerProxy, "secureSdesOn", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "secureSdesOn", + G_CALLBACK(secure_sdes_on_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "secureSdesOff", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "secureSdesOff", + G_CALLBACK(secure_sdes_off_cb), NULL, NULL); + + /* Register a marshaller for STRING,STRING,BOOL */ + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_STRING_BOOL, G_TYPE_NONE, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "showSAS", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "showSAS", + G_CALLBACK(show_zrtp_sas_cb), NULL, NULL); + + dbus_g_proxy_add_signal(callManagerProxy, "secureZrtpOn", G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "secureZrtpOn", + G_CALLBACK(secure_zrtp_on_cb), NULL, NULL); + + /* Register a marshaller for STRING*/ + dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__STRING, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INVALID); + dbus_g_proxy_add_signal(callManagerProxy, "secureZrtpOff", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "secureZrtpOff", + G_CALLBACK(secure_zrtp_off_cb), NULL, NULL); + dbus_g_proxy_add_signal(callManagerProxy, "zrtpNotSuppOther", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "zrtpNotSuppOther", + G_CALLBACK(zrtp_not_supported_cb), NULL, NULL); + dbus_g_proxy_add_signal(callManagerProxy, "confirmGoClear", G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "confirmGoClear", + G_CALLBACK(confirm_go_clear_cb), NULL, NULL); + + /* VOID STRING STRING INT */ + dbus_g_object_register_marshaller( + g_cclosure_user_marshal_VOID__STRING_STRING_INT, G_TYPE_NONE, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); + + dbus_g_proxy_add_signal(callManagerProxy, "sipCallStateChanged", + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(callManagerProxy, "sipCallStateChanged", + G_CALLBACK(sip_call_state_cb), NULL, NULL); + + configurationManagerProxy = dbus_g_proxy_new_for_name(connection, + "org.sflphone.SFLphone", "/org/sflphone/SFLphone/ConfigurationManager", + "org.sflphone.SFLphone.ConfigurationManager"); + + /* + configurationManagerProxy = dbus_g_proxy_new_for_name_owner (connection, + "org.sflphone.SFLphone", + "/org/sflphone/SFLphone/ConfigurationManager", + "org.sflphone.SFLphone.ConfigurationManager", + &error); + */ + if (!configurationManagerProxy) + { + ERROR ("Failed to get proxy to ConfigurationManager"); + return FALSE; + } + DEBUG ("DBus connected to ConfigurationManager"); + dbus_g_proxy_add_signal(configurationManagerProxy, "accountsChanged", + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(configurationManagerProxy, "accountsChanged", + G_CALLBACK(accounts_changed_cb), NULL, NULL); + + dbus_g_object_register_marshaller(g_cclosure_user_marshal_VOID__INT, + G_TYPE_NONE, G_TYPE_INT, G_TYPE_INVALID); + dbus_g_proxy_add_signal(configurationManagerProxy, "errorAlert", G_TYPE_INT, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal(configurationManagerProxy, "errorAlert", + G_CALLBACK(error_alert), NULL, NULL); + + /* Defines a default timeout for the proxies */ #if HAVE_DBUS_G_PROXY_SET_DEFAULT_TIMEOUT - dbus_g_proxy_set_default_timeout(callManagerProxy, DEFAULT_DBUS_TIMEOUT); - dbus_g_proxy_set_default_timeout(instanceProxy, DEFAULT_DBUS_TIMEOUT); - dbus_g_proxy_set_default_timeout(configurationManagerProxy, DEFAULT_DBUS_TIMEOUT); + dbus_g_proxy_set_default_timeout(callManagerProxy, DEFAULT_DBUS_TIMEOUT); + dbus_g_proxy_set_default_timeout(instanceProxy, DEFAULT_DBUS_TIMEOUT); + dbus_g_proxy_set_default_timeout(configurationManagerProxy, DEFAULT_DBUS_TIMEOUT); #endif - - return TRUE; + + return TRUE; } - void -dbus_clean () +void +dbus_clean() { - g_object_unref (callManagerProxy); - g_object_unref (configurationManagerProxy); - g_object_unref (instanceProxy); + g_object_unref(callManagerProxy); + g_object_unref(configurationManagerProxy); + g_object_unref(instanceProxy); } - - void -dbus_hold (const callable_obj_t * c) +void +dbus_hold(const callable_obj_t * c) { - DEBUG("dbus_hold %s\n", c->_callID); + DEBUG("dbus_hold %s\n", c->_callID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_hold ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_hold(callManagerProxy, c->_callID, &error); + if (error) { - ERROR ("Failed to call hold() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call hold() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_unhold (const callable_obj_t * c) +void +dbus_unhold(const callable_obj_t * c) { - DEBUG("dbus_unhold %s\n", c->_callID); + DEBUG("dbus_unhold %s\n", c->_callID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_unhold ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_unhold(callManagerProxy, c->_callID, &error); + if (error) { - ERROR ("Failed to call unhold() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call unhold() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_hold_conference (const conference_obj_t * c) +void +dbus_hold_conference(const conference_obj_t * c) { - DEBUG("dbus_hold_conference %s\n", c->_confID); + DEBUG("dbus_hold_conference %s\n", c->_confID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_hold_conference ( callManagerProxy, c->_confID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_hold_conference(callManagerProxy, + c->_confID, &error); + if (error) { - ERROR ("Failed to call hold() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call hold() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_unhold_conference (const conference_obj_t * c) +void +dbus_unhold_conference(const conference_obj_t * c) { - DEBUG("dbus_unhold_conference %s\n", c->_confID); + DEBUG("dbus_unhold_conference %s\n", c->_confID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_unhold_conference ( callManagerProxy, c->_confID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_unhold_conference(callManagerProxy, + c->_confID, &error); + if (error) { - ERROR ("Failed to call unhold() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call unhold() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_hang_up (const callable_obj_t * c) +void +dbus_hang_up(const callable_obj_t * c) { - DEBUG("dbus_hang_up %s\n", c->_callID); - - GError *error = NULL; - org_sflphone_SFLphone_CallManager_hang_up ( callManagerProxy, c->_callID, &error); - if (error) + DEBUG("dbus_hang_up %s\n", c->_callID); + + GError *error = NULL; + org_sflphone_SFLphone_CallManager_hang_up(callManagerProxy, c->_callID, + &error); + if (error) { - ERROR ("Failed to call hang_up() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call hang_up() on CallManager: %s", + error->message); + g_error_free(error); } } - - void -dbus_hang_up_conference (const conference_obj_t * c) +void +dbus_hang_up_conference(const conference_obj_t * c) { - DEBUG("dbus_hang_up_conference %s\n", c->_confID); - - GError *error = NULL; - org_sflphone_SFLphone_CallManager_hang_up_conference ( callManagerProxy, c->_confID, &error); - if (error) + DEBUG("dbus_hang_up_conference %s\n", c->_confID); + + GError *error = NULL; + org_sflphone_SFLphone_CallManager_hang_up_conference(callManagerProxy, + c->_confID, &error); + if (error) { - ERROR ("Failed to call hang_up() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call hang_up() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_transfert (const callable_obj_t * c) +void +dbus_transfert(const callable_obj_t * c) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_transfert ( callManagerProxy, c->_callID, c->_trsft_to, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_transfert(callManagerProxy, c->_callID, + c->_trsft_to, &error); + if (error) { - ERROR ("Failed to call transfert() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call transfert() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_accept (const callable_obj_t * c) +void +dbus_accept(const callable_obj_t * c) { #if GTK_CHECK_VERSION(2,10,0) - status_tray_icon_blink( FALSE ); + status_tray_icon_blink(FALSE); #endif - DEBUG("dbus_accept %s\n", c->_callID); + DEBUG("dbus_accept %s\n", c->_callID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_accept ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_accept(callManagerProxy, c->_callID, &error); + if (error) { - ERROR ("Failed to call accept(%s) on CallManager: %s", c->_callID, - (error->message == NULL ? g_quark_to_string(error->domain): error->message)); - g_error_free (error); + ERROR ("Failed to call accept(%s) on CallManager: %s", c->_callID, + (error->message == NULL ? g_quark_to_string(error->domain): error->message)); + g_error_free(error); } } - void -dbus_refuse (const callable_obj_t * c) +void +dbus_refuse(const callable_obj_t * c) { #if GTK_CHECK_VERSION(2,10,0) - status_tray_icon_blink( FALSE ); + status_tray_icon_blink(FALSE); #endif - DEBUG("dbus_refuse %s\n", c->_callID); + DEBUG("dbus_refuse %s\n", c->_callID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_refuse ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_refuse(callManagerProxy, c->_callID, &error); + if (error) { - ERROR ("Failed to call refuse() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call refuse() on CallManager: %s", + error->message); + g_error_free(error); } } - - void -dbus_place_call (const callable_obj_t * c) +void +dbus_place_call(const callable_obj_t * c) { - DEBUG("dbus_place_call %s\n", c->_callID); + DEBUG("dbus_place_call %s\n", c->_callID); - GError *error = NULL; - org_sflphone_SFLphone_CallManager_place_call ( callManagerProxy, c->_accountID, c->_callID, c->_peer_number, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_place_call(callManagerProxy, c->_accountID, + c->_callID, c->_peer_number, &error); + if (error) { - ERROR ("Failed to call placeCall() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call placeCall() on CallManager: %s", + error->message); + g_error_free(error); } } -gchar** dbus_account_list() { - GError *error = NULL; - char ** array; +gchar** +dbus_account_list() +{ + GError *error = NULL; + char ** array; - if(!org_sflphone_SFLphone_ConfigurationManager_get_account_list ( configurationManagerProxy, &array, &error)) + if (!org_sflphone_SFLphone_ConfigurationManager_get_account_list( + configurationManagerProxy, &array, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_account_list) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_account_list) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_account_list: %s", error->message); + ERROR("Error while calling get_account_list: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; } - else{ - DEBUG ("DBus called get_account_list() on ConfigurationManager"); - return array; + else + { + DEBUG ("DBus called get_account_list() on ConfigurationManager"); + return array; } } - -GHashTable* dbus_account_details(gchar * accountID) +GHashTable* +dbus_account_details(gchar * accountID) { - GError *error = NULL; - GHashTable * details; + GError *error = NULL; + GHashTable * details; - if(!org_sflphone_SFLphone_ConfigurationManager_get_account_details( configurationManagerProxy, accountID, &details, &error)) + if (!org_sflphone_SFLphone_ConfigurationManager_get_account_details( + configurationManagerProxy, accountID, &details, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_account_details: %s", error->message); + ERROR("Error while calling get_account_details: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; } - else{ - return details; + else + { + return details; } } - void +void dbus_set_credential(account_t *a, int index) { - DEBUG("Sending credential %d to server", index); - GError *error = NULL; - GHashTable * credential = g_ptr_array_index(a->credential_information, index); - - if(credential == NULL) { - DEBUG("Credential %d was deleted", index); - } else { - org_sflphone_SFLphone_ConfigurationManager_set_credential ( - configurationManagerProxy, - a->accountID, - index, - credential, - &error); - } - - if (error) { - ERROR ("Failed to call set_credential() on ConfigurationManager: %s", - error->message); - g_error_free (error); - } -} - void -dbus_set_number_of_credential(account_t *a, int number) -{ - DEBUG("Sending number of credential %d to server", number); - GError *error = NULL; - - org_sflphone_SFLphone_ConfigurationManager_set_number_of_credential( configurationManagerProxy, a->accountID, number, &error); - - if (error) { - ERROR ("Failed to call set_number_of_credential() on ConfigurationManager: %s", - error->message); - g_error_free (error); - } -} - void + DEBUG("Sending credential %d to server", index); + GError *error = NULL; + GHashTable * credential = g_ptr_array_index(a->credential_information, index); + + if (credential == NULL) + { + DEBUG("Credential %d was deleted", index); + } + else + { + org_sflphone_SFLphone_ConfigurationManager_set_credential( + configurationManagerProxy, a->accountID, index, credential, &error); + } + + if (error) + { + ERROR ("Failed to call set_credential() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} +void +dbus_set_number_of_credential(account_t *a, int number) +{ + DEBUG("Sending number of credential %d to server", number); + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_set_number_of_credential( + configurationManagerProxy, a->accountID, number, &error); + + if (error) + { + ERROR ("Failed to call set_number_of_credential() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} +void dbus_delete_all_credential(account_t *a) { - DEBUG("Deleting all credentials\n"); - GError *error = NULL; - - org_sflphone_SFLphone_ConfigurationManager_delete_all_credential(configurationManagerProxy, a->accountID, &error); - - if (error) { - ERROR ("Failed to call deleteAllCredential on ConfigurationManager: %s", - error->message); - g_error_free (error); - } + DEBUG("Deleting all credentials\n"); + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_delete_all_credential( + configurationManagerProxy, a->accountID, &error); + + if (error) + { + ERROR ("Failed to call deleteAllCredential on ConfigurationManager: %s", + error->message); + g_error_free(error); + } } - int +int dbus_get_number_of_credential(gchar * accountID) { - GError *error = NULL; - int number = 0; + GError *error = NULL; + int number = 0; + + DEBUG("Getting number of credential for account %s", accountID); - DEBUG("Getting number of credential for account %s", accountID); - - if(!org_sflphone_SFLphone_ConfigurationManager_get_number_of_credential( configurationManagerProxy, accountID, &number, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); + if (!org_sflphone_SFLphone_ConfigurationManager_get_number_of_credential( + configurationManagerProxy, accountID, &number, &error)) + { + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) + { + ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else { - ERROR("Error while calling get_account_details: %s", error->message); + else + { + ERROR("Error while calling get_account_details: %s", error->message); } - g_error_free (error); - return 0; - } else { - DEBUG("%d credential(s) found for account %s", number, accountID); - return number; + g_error_free(error); + return 0; + } + else + { + DEBUG("%d credential(s) found for account %s", number, accountID); + return number; } } -GHashTable* dbus_get_credential(gchar * accountID, int index) +GHashTable* +dbus_get_credential(gchar * accountID, int index) { - GError *error = NULL; - GHashTable * details; + GError *error = NULL; + GHashTable * details; - if(!org_sflphone_SFLphone_ConfigurationManager_get_credential( configurationManagerProxy, accountID, index, &details, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); - } else { - ERROR("Error while calling get_account_details: %s", error->message); + if (!org_sflphone_SFLphone_ConfigurationManager_get_credential( + configurationManagerProxy, accountID, index, &details, &error)) + { + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) + { + ERROR ("Caught remote method (get_account_details) exception %s: %s", dbus_g_error_get_name(error), error->message); } - g_error_free (error); - return NULL; - } else { - return details; + else + { + ERROR("Error while calling get_account_details: %s", error->message); + } + g_error_free(error); + return NULL; + } + else + { + return details; } } -GHashTable* dbus_get_ip2_ip_details(void) +GHashTable* +dbus_get_ip2_ip_details(void) { - GError *error = NULL; - GHashTable * details; - if(!org_sflphone_SFLphone_ConfigurationManager_get_ip2_ip_details( configurationManagerProxy, &details, &error)) + GError *error = NULL; + GHashTable * details; + if (!org_sflphone_SFLphone_ConfigurationManager_get_ip2_ip_details( + configurationManagerProxy, &details, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_ip2_ip_details) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_ip2_ip_details) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_ip2_ip_details: %s", error->message); + ERROR("Error while calling get_ip2_ip_details: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; } - else{ - return details; + else + { + return details; } } - void +void dbus_set_ip2ip_details(GHashTable * properties) { - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_ip2_ip_details ( - configurationManagerProxy, - properties, - &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_ip2_ip_details( + configurationManagerProxy, properties, &error); + if (error) { - ERROR ("Failed to call set_ip_2ip_details() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call set_ip_2ip_details() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } - void -dbus_send_register ( gchar* accountID , const guint enable) +void +dbus_send_register(gchar* accountID, const guint enable) { - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_send_register(configurationManagerProxy, accountID, enable ,&error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_send_register( + configurationManagerProxy, accountID, enable, &error); + if (error) { - ERROR ("Failed to call send_register() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call send_register() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } - void +void dbus_remove_account(gchar * accountID) { - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_remove_account ( - configurationManagerProxy, - accountID, - &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_remove_account( + configurationManagerProxy, accountID, &error); + if (error) { - ERROR ("Failed to call remove_account() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call remove_account() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } - void +void dbus_set_account_details(account_t *a) { - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_account_details ( - configurationManagerProxy, - a->accountID, - a->properties, - &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_account_details( + configurationManagerProxy, a->accountID, a->properties, &error); + if (error) { - ERROR ("Failed to call set_account_details() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call set_account_details() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } - gchar* +gchar* dbus_add_account(account_t *a) { - gchar* accountId; - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_add_account ( - configurationManagerProxy, - a->properties, - &accountId, - &error); - if (error) + gchar* accountId; + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_add_account( + configurationManagerProxy, a->properties, &accountId, &error); + if (error) { - ERROR ("Failed to call add_account() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call add_account() on ConfigurationManager: %s", + error->message); + g_error_free(error); } - return accountId; + return accountId; } - void +void dbus_set_volume(const gchar * device, gdouble value) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_set_volume( - callManagerProxy, - device, - value, - &error); + GError *error = NULL; + org_sflphone_SFLphone_CallManager_set_volume(callManagerProxy, device, value, + &error); - if (error) + if (error) { - ERROR ("Failed to call set_volume() on callManagerProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call set_volume() on callManagerProxy: %s", + error->message); + g_error_free(error); } } - - gdouble +gdouble dbus_get_volume(const gchar * device) { - gdouble value; - GError *error = NULL; + gdouble value; + GError *error = NULL; - org_sflphone_SFLphone_CallManager_get_volume( - callManagerProxy, - device, - &value, - &error); + org_sflphone_SFLphone_CallManager_get_volume(callManagerProxy, device, + &value, &error); - if (error) + if (error) { - ERROR ("Failed to call get_volume() on callManagerProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call get_volume() on callManagerProxy: %s", + error->message); + g_error_free(error); } - return value; + return value; } - - void +void dbus_play_dtmf(const gchar * key) { - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_CallManager_play_dt_mf( - callManagerProxy, - key, - &error); + org_sflphone_SFLphone_CallManager_play_dt_mf(callManagerProxy, key, &error); - if (error) + if (error) { - ERROR ("Failed to call playDTMF() on callManagerProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call playDTMF() on callManagerProxy: %s", + error->message); + g_error_free(error); } } - void -dbus_start_tone(const int start , const guint type ) +void +dbus_start_tone(const int start, const guint type) { - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_CallManager_start_tone( - callManagerProxy, - start, - type, - &error); + org_sflphone_SFLphone_CallManager_start_tone(callManagerProxy, start, type, + &error); - if (error) + if (error) { - ERROR ("Failed to call startTone() on callManagerProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call startTone() on callManagerProxy: %s", + error->message); + g_error_free(error); } } - void +void dbus_register(int pid, gchar * name) { - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_Instance_register( - instanceProxy, - pid, - name, - &error); + org_sflphone_SFLphone_Instance_register(instanceProxy, pid, name, &error); - if (error) + if (error) { - ERROR ("Failed to call register() on instanceProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call register() on instanceProxy: %s", + error->message); + g_error_free(error); } } - void +void dbus_unregister(int pid) { - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_Instance_unregister( - instanceProxy, - pid, - &error); + org_sflphone_SFLphone_Instance_unregister(instanceProxy, pid, &error); - if (error) + if (error) { - ERROR ("Failed to call unregister() on instanceProxy: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call unregister() on instanceProxy: %s", + error->message); + g_error_free(error); } } - gchar** +gchar** dbus_codec_list() { - GError *error = NULL; - gchar** array = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_codec_list ( - configurationManagerProxy, - &array, - &error); + GError *error = NULL; + gchar** array = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_codec_list( + configurationManagerProxy, &array, &error); - if (error) + if (error) { - ERROR ("Failed to call get_codec_list() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call get_codec_list() on ConfigurationManager: %s", + error->message); + g_error_free(error); } - return array; + return array; } - gchar** -dbus_codec_details( int payload ) +gchar** +dbus_codec_details(int payload) { - GError *error = NULL; - gchar ** array; - org_sflphone_SFLphone_ConfigurationManager_get_codec_details ( - configurationManagerProxy, - payload, - &array, - &error); + GError *error = NULL; + gchar ** array; + org_sflphone_SFLphone_ConfigurationManager_get_codec_details( + configurationManagerProxy, payload, &array, &error); - if (error) + if (error) { - ERROR ("Failed to call get_codec_details() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call get_codec_details() on ConfigurationManager: %s", + error->message); + g_error_free(error); } - return array; + return array; } -gchar* dbus_get_current_codec_name (const callable_obj_t * c) +gchar* +dbus_get_current_codec_name(const callable_obj_t * c) { - gchar* codecName= ""; - GError* error = NULL; + gchar* codecName = ""; + GError* error = NULL; - org_sflphone_SFLphone_CallManager_get_current_codec_name ( - callManagerProxy, - c->_callID, - &codecName, - &error); - if(error) + org_sflphone_SFLphone_CallManager_get_current_codec_name(callManagerProxy, + c->_callID, &codecName, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - DEBUG("dbus_get_current_codec_name : codecName : %s", codecName); + DEBUG("dbus_get_current_codec_name : codecName : %s", codecName); - return codecName; + return codecName; } -gchar** dbus_get_active_codec_list (gchar *accountID) { +gchar** +dbus_get_active_codec_list(gchar *accountID) +{ - gchar ** array; - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_active_codec_list ( - configurationManagerProxy, - accountID, - &array, - &error); + gchar ** array; + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_active_codec_list( + configurationManagerProxy, accountID, &array, &error); - if (error) + if (error) { - ERROR ("Failed to call get_active_codec_list() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call get_active_codec_list() on ConfigurationManager: %s", + error->message); + g_error_free(error); } - return array; + return array; } - void +void dbus_set_active_codec_list(const gchar** list, const gchar *accountID) { - GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_active_codec_list ( - configurationManagerProxy, - list, - accountID, - &error); + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_active_codec_list( + configurationManagerProxy, list, accountID, &error); - if (error) + if (error) { - ERROR ("Failed to call set_active_codec_list() on ConfigurationManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call set_active_codec_list() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } -/** - * Get a list of input supported audio plugins - */ - gchar** -dbus_get_input_audio_plugin_list() -{ - gchar** array; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_input_audio_plugin_list( - configurationManagerProxy, - &array, - &error); - if(error) - { - ERROR("Failed to call get_input_audio_plugin_list() on ConfigurationManager: %s", error->message); - g_error_free(error); - } - return array; -} /** * Get a list of output supported audio plugins */ - gchar** -dbus_get_output_audio_plugin_list() +gchar** +dbus_get_audio_plugin_list() { - gchar** array; - GError* error = NULL; + gchar** array; + GError* error = NULL; - if(!org_sflphone_SFLphone_ConfigurationManager_get_output_audio_plugin_list( configurationManagerProxy, &array, &error)) + if (!org_sflphone_SFLphone_ConfigurationManager_get_audio_plugin_list( + configurationManagerProxy, &array, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_output_audio_plugin_list) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_output_plugin_list) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_out_audio_plugin_list: %s", error->message); + ERROR("Error while calling get_out_plugin_list: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; } - else{ - return array; + else + { + return array; } } - void +void dbus_set_input_audio_plugin(gchar* audioPlugin) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_input_audio_plugin( - configurationManagerProxy, - audioPlugin, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_input_audio_plugin( + configurationManagerProxy, audioPlugin, &error); + if (error) { - ERROR("Failed to call set_input_audio_plugin() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call set_input_audio_plugin() on ConfigurationManager: %s", error->message); + g_error_free(error); } } - void +void dbus_set_output_audio_plugin(gchar* audioPlugin) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_output_audio_plugin( - configurationManagerProxy, - audioPlugin, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_output_audio_plugin( + configurationManagerProxy, audioPlugin, &error); + if (error) { - ERROR("Failed to call set_output_audio_plugin() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call set_output_audio_plugin() on ConfigurationManager: %s", error->message); + g_error_free(error); } } /** * Get all output devices index supported by current audio manager */ -gchar** dbus_get_audio_output_device_list() +gchar** +dbus_get_audio_output_device_list() { - gchar** array; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_audio_output_device_list( - configurationManagerProxy, - &array, - &error); - if(error) + gchar** array; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_audio_output_device_list( + configurationManagerProxy, &array, &error); + if (error) { - ERROR("Failed to call get_audio_output_device_list() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call get_audio_output_device_list() on ConfigurationManager: %s", error->message); + g_error_free(error); } - return array; + return array; } /** * Set audio output device from its index */ - void +void dbus_set_audio_output_device(const int index) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_audio_output_device( - configurationManagerProxy, - index, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_audio_output_device( + configurationManagerProxy, index, &error); + if (error) { - ERROR("Failed to call set_audio_output_device() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call set_audio_output_device() on ConfigurationManager: %s", error->message); + g_error_free(error); } } /** - * Get all input devices index supported by current audio manager + * Set audio input device from its index */ - gchar** -dbus_get_audio_input_device_list() +void +dbus_set_audio_input_device(const int index) { - gchar** array; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_audio_input_device_list( - configurationManagerProxy, - &array, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_audio_input_device( + configurationManagerProxy, index, &error); + if (error) { - ERROR("Failed to call get_audio_input_device_list() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call set_audio_input_device() on ConfigurationManager: %s", error->message); + g_error_free(error); } - return array; } /** - * Set audio input device from its index + * Set adio ringtone device from its index */ - void -dbus_set_audio_input_device(const int index) +void +dbus_set_audio_ringtone_device(const int index) +{ + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_audio_ringtone_device( + configurationManagerProxy, index, &error); + if(error) + { + ERROR("Failed to call set_audio_ringtone_device() on ConfigurationManager: %s", error->message); + g_error_free(error); + } +} + +/** + * Get all input devices index supported by current audio manager + */ +gchar** +dbus_get_audio_input_device_list() { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_audio_input_device( - configurationManagerProxy, - index, - &error); - if(error) + gchar** array; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_audio_input_device_list( + configurationManagerProxy, &array, &error); + if (error) { - ERROR("Failed to call set_audio_input_device() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call get_audio_input_device_list() on ConfigurationManager: %s", error->message); + g_error_free(error); } + return array; } /** * Get output device index and input device index */ - gchar** +gchar** dbus_get_current_audio_devices_index() { - gchar** array; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_current_audio_devices_index( - configurationManagerProxy, - &array, - &error); - if(error) + gchar** array; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_current_audio_devices_index( + configurationManagerProxy, &array, &error); + if (error) { - ERROR("Failed to call get_current_audio_devices_index() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call get_current_audio_devices_index() on ConfigurationManager: %s", error->message); + g_error_free(error); } - return array; + return array; } /** * Get index */ - int +int dbus_get_audio_device_index(const gchar *name) { - int index; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_audio_device_index( - configurationManagerProxy, - name, - &index, - &error); - if(error) + int index; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_audio_device_index( + configurationManagerProxy, name, &index, &error); + if (error) { - ERROR("Failed to call get_audio_device_index() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call get_audio_device_index() on ConfigurationManager: %s", error->message); + g_error_free(error); } - return index; + return index; } /** * Get audio plugin */ - gchar* +gchar* dbus_get_current_audio_output_plugin() { - gchar* plugin=""; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_current_audio_output_plugin( - configurationManagerProxy, - &plugin, - &error); - if(error) + gchar* plugin = ""; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_current_audio_output_plugin( + configurationManagerProxy, &plugin, &error); + if (error) + { + ERROR("Failed to call get_current_audio_output_plugin() on ConfigurationManager: %s", error->message); + g_error_free(error); + } + return plugin; +} + +/** + * Get echo canceller state + */ +gchar* +dbus_get_echo_cancel_state() +{ + gchar* state = ""; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_echo_cancel_state(configurationManagerProxy, &state, &error); + if(error) { + ERROR("DBus: Failed to call get_echo_cancel_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } + return state; +} + +/** + * Set echo canceller state + */ +void +dbus_set_echo_cancel_state(gchar* state) +{ + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_echo_cancel_state( + configurationManagerProxy, state, &error); + if (error) + { + ERROR("Failed to call set_echo_cancel_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } +} + + +/** + * Get noise reduction state + */ +gchar* +dbus_get_noise_suppress_state() +{ + gchar* state = ""; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_noise_suppress_state(configurationManagerProxy, &state, &error); + if(error) { + ERROR("DBus: Failed to call get_noise_suppress_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } + return state; +} + +/** + * Set echo canceller state + */ +void +dbus_set_noise_suppress_state(gchar* state) +{ + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_noise_suppress_state( + configurationManagerProxy, state, &error); + if (error) { - ERROR("Failed to call get_current_audio_output_plugin() on ConfigurationManager: %s", error->message); - g_error_free(error); + ERROR("Failed to call set_noise_suppress_state() on ConfigurationManager: %s", error->message); + g_error_free(error); } - return plugin; } - gchar* +gchar* dbus_get_ringtone_choice() { - gchar* tone; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_ringtone_choice( - configurationManagerProxy, - &tone, - &error); - if(error) + gchar* tone; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_ringtone_choice( + configurationManagerProxy, &tone, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return tone; + return tone; } - void -dbus_set_ringtone_choice( const gchar* tone ) +void +dbus_set_ringtone_choice(const gchar* tone) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_ringtone_choice( - configurationManagerProxy, - tone, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_ringtone_choice( + configurationManagerProxy, tone, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - int +int dbus_is_ringtone_enabled() { - int res; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_is_ringtone_enabled( - configurationManagerProxy, - &res, - &error); - if(error) + int res; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_is_ringtone_enabled( + configurationManagerProxy, &res, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return res; + return res; } - void +void dbus_ringtone_enabled() { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_ringtone_enabled( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_ringtone_enabled( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - gboolean +gboolean dbus_is_md5_credential_hashing() { - int res; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_is_md5_credential_hashing( - configurationManagerProxy, - &res, - &error); - if(error) + int res; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_is_md5_credential_hashing( + configurationManagerProxy, &res, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return res; + return res; } - void +void dbus_set_md5_credential_hashing(gboolean enabled) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_md5_credential_hashing( - configurationManagerProxy, - enabled, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_md5_credential_hashing( + configurationManagerProxy, enabled, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - int +int dbus_is_iax2_enabled() { - int res; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_is_iax2_enabled( - configurationManagerProxy, - &res, - &error); - if(error) + int res; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_is_iax2_enabled( + configurationManagerProxy, &res, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return res; + return res; } - int +int dbus_get_dialpad() { - int state; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_dialpad( - configurationManagerProxy, - &state, - &error); - if(error) + int state; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_dialpad( + configurationManagerProxy, &state, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return state; + return state; } -void dbus_set_dialpad (gboolean display) +void +dbus_set_dialpad(gboolean display) { - - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_dialpad( - configurationManagerProxy, - display, - &error); - if(error) + + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_dialpad( + configurationManagerProxy, display, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - int +int dbus_get_searchbar() { - int state; - GError* error = NULL; - if(!org_sflphone_SFLphone_ConfigurationManager_get_searchbar( configurationManagerProxy, &state, &error)) + int state; + GError* error = NULL; + if (!org_sflphone_SFLphone_ConfigurationManager_get_searchbar( + configurationManagerProxy, &state, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_searchbar) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_searchbar) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_searchbar: %s", error->message); + ERROR("Error while calling get_searchbar: %s", error->message); } - g_error_free (error); - return -1; + g_error_free(error); + return -1; } - else + else { - return state; + return state; } } - void -dbus_set_searchbar( ) +void +dbus_set_searchbar() { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_searchbar( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_searchbar( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - int +int dbus_get_volume_controls() { - int state; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_volume_controls( - configurationManagerProxy, - &state, - &error); - if(error) + int state; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_volume_controls( + configurationManagerProxy, &state, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return state; + return state; } - void -dbus_set_volume_controls (gboolean display) +void +dbus_set_volume_controls(gboolean display) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_volume_controls( - configurationManagerProxy, - display, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_volume_controls( + configurationManagerProxy, display, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } @@ -1748,719 +1756,955 @@ void dbus_join_participant(const gchar* sel_callID, const gchar* drag_callID) { - DEBUG("dbus_join_participant %s and %s\n", sel_callID, drag_callID); + DEBUG("dbus_join_participant %s and %s\n", sel_callID, drag_callID); + + GError* error = NULL; - GError* error = NULL; - - org_sflphone_SFLphone_CallManager_join_participant ( - callManagerProxy, - sel_callID, - drag_callID, - &error); - if(error) + org_sflphone_SFLphone_CallManager_join_participant(callManagerProxy, + sel_callID, drag_callID, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - + } void dbus_add_participant(const gchar* callID, const gchar* confID) { - DEBUG("dbus_add_participant %s and %s\n", callID, confID); + DEBUG("dbus_add_participant %s and %s\n", callID, confID); - GError* error = NULL; - - org_sflphone_SFLphone_CallManager_add_participant ( - callManagerProxy, - callID, - confID, - &error); - if(error) + GError* error = NULL; + + org_sflphone_SFLphone_CallManager_add_participant(callManagerProxy, callID, + confID, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - + } void dbus_add_main_participant(const gchar* confID) { - DEBUG("dbus_add_participant %s\n", confID); + DEBUG("dbus_add_participant %s\n", confID); - GError* error = NULL; + GError* error = NULL; - org_sflphone_SFLphone_CallManager_add_main_participant ( - callManagerProxy, - confID, - &error); - if(error) + org_sflphone_SFLphone_CallManager_add_main_participant(callManagerProxy, + confID, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - - void +void dbus_detach_participant(const gchar* callID) { - DEBUG("dbus_detach_participant %s\n", callID); + DEBUG("dbus_detach_participant %s\n", callID); - GError* error = NULL; - org_sflphone_SFLphone_CallManager_detach_participant( - callManagerProxy, - callID, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_CallManager_detach_participant(callManagerProxy, + callID, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - -} +} dbus_join_conference(const gchar* sel_confID, const gchar* drag_confID) { - DEBUG("dbus_join_conference %s and %s\n", sel_confID, drag_confID); + DEBUG("dbus_join_conference %s and %s\n", sel_confID, drag_confID); - GError* error = NULL; - - org_sflphone_SFLphone_CallManager_join_conference ( - callManagerProxy, - sel_confID, - drag_confID, - &error); - if(error) + GError* error = NULL; + + org_sflphone_SFLphone_CallManager_join_conference(callManagerProxy, + sel_confID, drag_confID, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - -} - +} - void +void dbus_set_record(const gchar* id) { - DEBUG("dbus_set_record %s\n", id); + DEBUG("dbus_set_record %s\n", id); - GError* error = NULL; - org_sflphone_SFLphone_CallManager_set_recording ( - callManagerProxy, - id, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_CallManager_set_recording(callManagerProxy, id, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - - gboolean +gboolean dbus_get_is_recording(const callable_obj_t * c) { - DEBUG("dbus_get_is_recording %s\n", c->_callID); - GError* error = NULL; - gboolean isRecording; - org_sflphone_SFLphone_CallManager_get_is_recording ( - callManagerProxy, - c->_callID, - &isRecording, - &error); - if(error) + DEBUG("dbus_get_is_recording %s\n", c->_callID); + GError* error = NULL; + gboolean isRecording; + org_sflphone_SFLphone_CallManager_get_is_recording(callManagerProxy, + c->_callID, &isRecording, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - //DEBUG("RECORDING: %i",isRecording); - return isRecording; + //DEBUG("RECORDING: %i",isRecording); + return isRecording; } - void +void dbus_set_record_path(const gchar* path) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_record_path ( - configurationManagerProxy, - path, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_record_path( + configurationManagerProxy, path, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - gchar* +gchar* dbus_get_record_path(void) { - GError* error = NULL; - gchar *path; - org_sflphone_SFLphone_ConfigurationManager_get_record_path ( - configurationManagerProxy, - &path, - &error); - if(error) + GError* error = NULL; + gchar *path; + org_sflphone_SFLphone_ConfigurationManager_get_record_path( + configurationManagerProxy, &path, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return path; + return path; } -void dbus_set_history_limit (const guint days) +void +dbus_set_history_limit(const guint days) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_history_limit( - configurationManagerProxy, - days, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_history_limit( + configurationManagerProxy, days, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } -void dbus_set_history_enabled () +void +dbus_set_history_enabled() { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_history_enabled( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_history_enabled( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } -gchar* dbus_get_history_enabled () +gchar* +dbus_get_history_enabled() { - gchar* state; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_history_enabled( - configurationManagerProxy, - &state, - &error); - if(error) + gchar* state; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_history_enabled( + configurationManagerProxy, &state, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return state; + return state; } - - -guint dbus_get_history_limit (void) +guint +dbus_get_history_limit(void) { - GError* error = NULL; - gint days=30; - org_sflphone_SFLphone_ConfigurationManager_get_history_limit( - configurationManagerProxy, - &days, - &error); - if(error) + GError* error = NULL; + gint days = 30; + org_sflphone_SFLphone_ConfigurationManager_get_history_limit( + configurationManagerProxy, &days, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return (guint)days; + return (guint) days; } - void -dbus_start_hidden( void ) +void +dbus_start_hidden(void) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_start_hidden( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_start_hidden( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - - int -dbus_is_start_hidden( void ) +int +dbus_is_start_hidden(void) { - GError* error = NULL; - int state; - org_sflphone_SFLphone_ConfigurationManager_is_start_hidden( - configurationManagerProxy, - &state, - &error); - if(error) + GError* error = NULL; + int state; + org_sflphone_SFLphone_ConfigurationManager_is_start_hidden( + configurationManagerProxy, &state, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return state; + return state; } - int -dbus_popup_mode( void ) +int +dbus_popup_mode(void) { - GError* error = NULL; - int state; - org_sflphone_SFLphone_ConfigurationManager_popup_mode( - configurationManagerProxy, - &state, - &error); - if(error) + GError* error = NULL; + int state; + org_sflphone_SFLphone_ConfigurationManager_popup_mode( + configurationManagerProxy, &state, &error); + if (error) { - g_error_free(error); + g_error_free(error); } - return state; + return state; } - void -dbus_switch_popup_mode( void ) +void +dbus_switch_popup_mode(void) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_switch_popup_mode( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_switch_popup_mode( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - void -dbus_set_notify( void ) +void +dbus_set_notify(void) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_notify( - configurationManagerProxy, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_notify( + configurationManagerProxy, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - guint -dbus_get_notify( void ) +guint +dbus_get_notify(void) { - gint level; - GError* error = NULL; - if( !org_sflphone_SFLphone_ConfigurationManager_get_notify( configurationManagerProxy,&level, &error) ) + gint level; + GError* error = NULL; + if (!org_sflphone_SFLphone_ConfigurationManager_get_notify( + configurationManagerProxy, &level, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_notify) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_notify) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR ("Error while calling get_notify: %s", error->message); + ERROR ("Error while calling get_notify: %s", error->message); } - g_error_free (error); - return 0; + g_error_free(error); + return 0; } - else{ - return (guint)level; + else + { + return (guint) level; } } - void -dbus_set_audio_manager( int api ) +void +dbus_set_audio_manager(int api) { - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_audio_manager( - configurationManagerProxy, - api, - &error); - if(error) + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_audio_manager( + configurationManagerProxy, api, &error); + if (error) { - g_error_free(error); + g_error_free(error); } } - int -dbus_get_audio_manager( void ) +int +dbus_get_audio_manager(void) { - int api; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_audio_manager( - configurationManagerProxy, - &api, - &error); - if(error) + int api; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_audio_manager( + configurationManagerProxy, &api, &error); + if (error) { - ERROR("Error calling dbus_get_audio_manager"); - g_error_free(error); + ERROR("Error calling dbus_get_audio_manager"); + g_error_free(error); } - return api; + return api; } /* - void -dbus_set_sip_address( const gchar* address ) -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_sip_address( - configurationManagerProxy, - address, - &error); - if(error) - { - g_error_free(error); - } -} -*/ + void + dbus_set_sip_address( const gchar* address ) + { + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_sip_address( + configurationManagerProxy, + address, + &error); + if(error) + { + g_error_free(error); + } + } + */ - /* +/* - gint -dbus_get_sip_address( void ) -{ - GError* error = NULL; - gint address; - org_sflphone_SFLphone_ConfigurationManager_get_sip_address( - configurationManagerProxy, - &address, - &error); - if(error) - { - g_error_free(error); - } - return address; -} + gint + dbus_get_sip_address( void ) + { + GError* error = NULL; + gint address; + org_sflphone_SFLphone_ConfigurationManager_get_sip_address( + configurationManagerProxy, + &address, + &error); + if(error) + { + g_error_free(error); + } + return address; + } */ -GHashTable* dbus_get_addressbook_settings (void) { +GHashTable* +dbus_get_addressbook_settings(void) +{ - GError *error = NULL; - GHashTable *results = NULL; + GError *error = NULL; + GHashTable *results = NULL; - //DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); + //DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); - org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings (configurationManagerProxy, &results, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings( + configurationManagerProxy, &results, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); + g_error_free(error); } - return results; + return results; } -void dbus_set_addressbook_settings (GHashTable * settings){ +void +dbus_set_addressbook_settings(GHashTable * settings) +{ - GError *error = NULL; + GError *error = NULL; - DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings"); + DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings"); - org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings (configurationManagerProxy, settings, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings( + configurationManagerProxy, settings, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_settings"); + g_error_free(error); } } -gchar** dbus_get_addressbook_list (void) { +gchar** +dbus_get_addressbook_list(void) +{ - GError *error = NULL; - gchar** array; + GError *error = NULL; + gchar** array; - org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list (configurationManagerProxy, &array, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list( + configurationManagerProxy, &array, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list"); + g_error_free(error); } - return array; + return array; } -void dbus_set_addressbook_list (const gchar** list){ +void +dbus_set_addressbook_list(const gchar** list) +{ - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list(configurationManagerProxy, list, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list( + configurationManagerProxy, list, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list"); + g_error_free(error); } } -GHashTable* dbus_get_hook_settings (void) { +GHashTable* +dbus_get_hook_settings(void) +{ - GError *error = NULL; - GHashTable *results = NULL; + GError *error = NULL; + GHashTable *results = NULL; - //DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); + //DEBUG ("Calling org_sflphone_SFLphone_ConfigurationManager_get_addressbook_settings"); - org_sflphone_SFLphone_ConfigurationManager_get_hook_settings (configurationManagerProxy, &results, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_hook_settings"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_hook_settings( + configurationManagerProxy, &results, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_hook_settings"); + g_error_free(error); } - return results; + return results; } -void dbus_set_hook_settings (GHashTable * settings){ +void +dbus_set_hook_settings(GHashTable * settings) +{ - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_hook_settings (configurationManagerProxy, settings, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_hook_settings"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_set_hook_settings( + configurationManagerProxy, settings, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_hook_settings"); + g_error_free(error); } } -GHashTable* dbus_get_call_details (const gchar *callID) +GHashTable* +dbus_get_call_details(const gchar *callID) { - GError *error = NULL; - GHashTable *details = NULL; + GError *error = NULL; + GHashTable *details = NULL; - org_sflphone_SFLphone_CallManager_get_call_details (callManagerProxy, callID, &details, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_call_details"); - g_error_free (error); + org_sflphone_SFLphone_CallManager_get_call_details(callManagerProxy, callID, + &details, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_call_details"); + g_error_free(error); } - return details; + return details; } -gchar** dbus_get_call_list (void) +gchar** +dbus_get_call_list(void) { - GError *error = NULL; - gchar **list = NULL; + GError *error = NULL; + gchar **list = NULL; - org_sflphone_SFLphone_CallManager_get_call_list (callManagerProxy, &list, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_call_list"); - g_error_free (error); + org_sflphone_SFLphone_CallManager_get_call_list(callManagerProxy, &list, + &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_call_list"); + g_error_free(error); } - return list; + return list; } -gchar** dbus_get_conference_list (void) +gchar** +dbus_get_conference_list(void) { - GError *error = NULL; - gchar **list = NULL; + GError *error = NULL; + gchar **list = NULL; - org_sflphone_SFLphone_CallManager_get_conference_list (callManagerProxy, &list, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_conference_list"); - g_error_free (error); + org_sflphone_SFLphone_CallManager_get_conference_list(callManagerProxy, + &list, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_conference_list"); + g_error_free(error); } - return list; + return list; } - -gchar** dbus_get_participant_list (const char * confID) +gchar** +dbus_get_participant_list(const char *confID) { - GError *error = NULL; - gchar **list = NULL; + GError *error = NULL; + gchar **list = NULL; - DEBUG("get participant list") + DEBUG("DBUS: Get conference %s participant list", confID); - org_sflphone_SFLphone_CallManager_get_participant_list (callManagerProxy, confID, &list, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_participant_list"); - g_error_free (error); + org_sflphone_SFLphone_CallManager_get_participant_list(callManagerProxy, + confID, &list, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_participant_list"); + g_error_free(error); } - return list; + return list; } - -GHashTable* dbus_get_conference_details (const gchar *confID) +GHashTable* +dbus_get_conference_details(const gchar *confID) { - GError *error = NULL; - GHashTable *details = NULL; + GError *error = NULL; + GHashTable *details = NULL; - org_sflphone_SFLphone_CallManager_get_conference_details (callManagerProxy, confID, &details, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_conference_details"); - g_error_free (error); + org_sflphone_SFLphone_CallManager_get_conference_details(callManagerProxy, + confID, &details, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_conference_details"); + g_error_free(error); } - return details; + return details; } -void dbus_set_accounts_order (const gchar* order) { +void +dbus_set_accounts_order(const gchar* order) +{ - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_accounts_order (configurationManagerProxy, order, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_accounts_order"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_set_accounts_order( + configurationManagerProxy, order, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_set_accounts_order"); + g_error_free(error); } } -GHashTable* dbus_get_history (void) +GHashTable* +dbus_get_history(void) { - GError *error = NULL; - GHashTable *entries = NULL; + GError *error = NULL; + GHashTable *entries = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_history (configurationManagerProxy, &entries, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_history"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_history( + configurationManagerProxy, &entries, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_get_history"); + g_error_free(error); } - return entries; + return entries; } -void dbus_set_history (GHashTable* entries) +void +dbus_set_history(GHashTable* entries) { - GError *error = NULL; + GError *error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_history (configurationManagerProxy, entries, &error); - if (error){ - ERROR ("Error calling org_sflphone_SFLphone_CallManager_set_history"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_set_history( + configurationManagerProxy, entries, &error); + if (error) + { + ERROR ("Error calling org_sflphone_SFLphone_CallManager_set_history"); + g_error_free(error); } } - void -dbus_confirm_sas (const callable_obj_t * c) +void +dbus_confirm_sas(const callable_obj_t * c) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_set_sa_sverified ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_set_sa_sverified(callManagerProxy, + c->_callID, &error); + if (error) { - ERROR ("Failed to call setSASVerified() on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call setSASVerified() on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_reset_sas (const callable_obj_t * c) +void +dbus_reset_sas(const callable_obj_t * c) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_reset_sa_sverified ( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_reset_sa_sverified(callManagerProxy, + c->_callID, &error); + if (error) { - ERROR ("Failed to call resetSASVerified on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call resetSASVerified on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_set_confirm_go_clear (const callable_obj_t * c) +void +dbus_set_confirm_go_clear(const callable_obj_t * c) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_set_confirm_go_clear( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_set_confirm_go_clear(callManagerProxy, + c->_callID, &error); + if (error) { - ERROR ("Failed to call set_confirm_go_clear on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call set_confirm_go_clear on CallManager: %s", + error->message); + g_error_free(error); } } - void -dbus_request_go_clear (const callable_obj_t * c) +void +dbus_request_go_clear(const callable_obj_t * c) { - GError *error = NULL; - org_sflphone_SFLphone_CallManager_request_go_clear( callManagerProxy, c->_callID, &error); - if (error) + GError *error = NULL; + org_sflphone_SFLphone_CallManager_request_go_clear(callManagerProxy, + c->_callID, &error); + if (error) { - ERROR ("Failed to call request_go_clear on CallManager: %s", - error->message); - g_error_free (error); + ERROR ("Failed to call request_go_clear on CallManager: %s", + error->message); + g_error_free(error); } } - gchar** +gchar** dbus_get_supported_tls_method() { - GError *error = NULL; - gchar** array = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_supported_tls_method (configurationManagerProxy, &array, &error); + GError *error = NULL; + gchar** array = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_supported_tls_method( + configurationManagerProxy, &array, &error); - if (error != NULL) { - ERROR ("Failed to call get_supported_tls_method() on ConfigurationManager: %s", - error->message); - g_error_free (error); + if (error != NULL) + { + ERROR ("Failed to call get_supported_tls_method() on ConfigurationManager: %s", + error->message); + g_error_free(error); } - return array; + return array; } -GHashTable* dbus_get_tls_settings_default(void) +GHashTable* +dbus_get_tls_settings_default(void) { - GError *error = NULL; - GHashTable *results = NULL; + GError *error = NULL; + GHashTable *results = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_tls_settings_default(configurationManagerProxy, &results, &error); - if (error != NULL){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_tls_settings_default"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_tls_settings_default( + configurationManagerProxy, &results, &error); + if (error != NULL) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_tls_settings_default"); + g_error_free(error); } - return results; + return results; } - -gchar * dbus_get_address_from_interface_name(gchar* interface) +gchar * +dbus_get_address_from_interface_name(gchar* interface) { - GError *error = NULL; - gchar * address; + GError *error = NULL; + gchar * address; - org_sflphone_SFLphone_ConfigurationManager_get_addr_from_interface_name ( configurationManagerProxy, interface, &address, &error); - if (error != NULL){ - ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addr_from_interface_name\n"); - g_error_free (error); + org_sflphone_SFLphone_ConfigurationManager_get_addr_from_interface_name( + configurationManagerProxy, interface, &address, &error); + if (error != NULL) + { + ERROR ("Error calling org_sflphone_SFLphone_ConfigurationManager_get_addr_from_interface_name\n"); + g_error_free(error); } - return address; + return address; } +gchar ** +dbus_get_all_ip_interface(void) +{ + GError *error = NULL; + gchar ** array; -gchar ** dbus_get_all_ip_interface(void) + if (!org_sflphone_SFLphone_ConfigurationManager_get_all_ip_interface( + configurationManagerProxy, &array, &error)) + { + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) + { + ERROR ("Caught remote method (get_all_ip_interface) exception %s: %s", dbus_g_error_get_name(error), error->message); + } + else + { + ERROR("Error while calling get_all_ip_interface: %s", error->message); + } + g_error_free(error); + return NULL; + } + else + { + DEBUG ("DBus called get_all_ip_interface() on ConfigurationManager"); + return array; + } +} + +gchar ** +dbus_get_all_ip_interface_by_name(void) { - GError *error = NULL; - gchar ** array; + GError *error = NULL; + gchar ** array; - if(!org_sflphone_SFLphone_ConfigurationManager_get_all_ip_interface ( configurationManagerProxy, &array, &error)) + if (!org_sflphone_SFLphone_ConfigurationManager_get_all_ip_interface_by_name( + configurationManagerProxy, &array, &error)) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_all_ip_interface) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_all_ip_interface) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_all_ip_interface: %s", error->message); + ERROR("Error while calling get_all_ip_interface: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; + } + else + { + DEBUG ("DBus called get_all_ip_interface() on ConfigurationManager"); + return array; } - else{ - DEBUG ("DBus called get_all_ip_interface() on ConfigurationManager"); - return array; +} + +guint +dbus_get_window_width(void) +{ + + GError *error = NULL; + guint value; + + org_sflphone_SFLphone_ConfigurationManager_get_window_width( + configurationManagerProxy, &value, &error); + + if (error != NULL) + { + ERROR ("Failed to call get_window_width() on ConfigurationManager: %s", + error->message); + g_error_free(error); } + return value; } -gchar ** dbus_get_all_ip_interface_by_name(void) +guint +dbus_get_window_height(void) { - GError *error = NULL; - gchar ** array; - if(!org_sflphone_SFLphone_ConfigurationManager_get_all_ip_interface_by_name ( configurationManagerProxy, &array, &error)) + GError *error = NULL; + guint value; + + org_sflphone_SFLphone_ConfigurationManager_get_window_height( + configurationManagerProxy, &value, &error); + + if (error != NULL) { - if(error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) + ERROR ("Failed to call get_window_height() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } + return value; +} + +void +dbus_set_window_width(const guint width) +{ + + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_set_window_width( + configurationManagerProxy, width, &error); + + if (error != NULL) + { + ERROR ("Failed to call set_window_width() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} + +void +dbus_set_window_height(const guint height) +{ + + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_set_window_height( + configurationManagerProxy, height, &error); + + if (error != NULL) + { + ERROR ("Failed to call set_window_height() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} + +guint +dbus_get_window_position_x(void) +{ + + GError *error = NULL; + guint value; + + org_sflphone_SFLphone_ConfigurationManager_get_window_position_x( + configurationManagerProxy, &value, &error); + + if (error != NULL) + { + ERROR ("Failed to call get_window_position_x() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } + return value; +} + +guint +dbus_get_window_position_y(void) +{ + + GError *error = NULL; + guint value; + + org_sflphone_SFLphone_ConfigurationManager_get_window_position_y( + configurationManagerProxy, &value, &error); + + if (error != NULL) + { + ERROR ("Failed to call get_window_position_y() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } + return value; +} + +void +dbus_set_window_position_x(const guint posx) +{ + + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_set_window_position_x( + configurationManagerProxy, posx, &error); + + if (error != NULL) + { + ERROR ("Failed to call set_window_position_x() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} + +void +dbus_set_window_position_y(const guint posy) +{ + + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_set_window_position_y( + configurationManagerProxy, posy, &error); + + if (error != NULL) + { + ERROR ("Failed to call set_window_position_y() on ConfigurationManager: %s", + error->message); + g_error_free(error); + } +} + +GHashTable* +dbus_get_shortcuts(void) +{ + GError *error = NULL; + GHashTable * shortcuts; + if (!org_sflphone_SFLphone_ConfigurationManager_get_shortcuts( + configurationManagerProxy, &shortcuts, &error)) + { + if (error->domain == DBUS_GERROR && error->code + == DBUS_GERROR_REMOTE_EXCEPTION) { - ERROR ("Caught remote method (get_all_ip_interface) exception %s: %s", dbus_g_error_get_name(error), error->message); + ERROR ("Caught remote method (get_shortcuts) exception %s: %s", dbus_g_error_get_name(error), error->message); } - else + else { - ERROR("Error while calling get_all_ip_interface: %s", error->message); + ERROR("Error while calling get_shortcuts: %s", error->message); } - g_error_free (error); - return NULL; + g_error_free(error); + return NULL; + } + else + { + return shortcuts; } - else{ - DEBUG ("DBus called get_all_ip_interface() on ConfigurationManager"); - return array; +} + +void +dbus_set_shortcuts(GHashTable * shortcuts) +{ + GError *error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_shortcuts( + configurationManagerProxy, shortcuts, &error); + if (error) + { + ERROR ("Failed to call set_shortcuts() on ConfigurationManager: %s", + error->message); + g_error_free(error); } } + +void dbus_enable_status_icon (const gchar *value) { + + GError *error = NULL; + + org_sflphone_SFLphone_ConfigurationManager_enable_status_icon (configurationManagerProxy, value, &error); + + if (error != NULL) { + ERROR ("Failed to call enable_status_icon on ConfigurationManager: %s", + error->message); + g_error_free (error); + } +} + +gchar* dbus_is_status_icon_enabled (void) { + + GError *error = NULL; + gchar *value = NULL; + + org_sflphone_SFLphone_ConfigurationManager_is_status_icon_enabled (configurationManagerProxy, &value, &error); + + if (error != NULL) { + ERROR ("Failed to call is_status_icon_enabled on ConfigurationManager: %s", + error->message); + g_error_free (error); + } + return value; +} + diff --git a/sflphone-client-gnome/src/dbus/dbus.h b/sflphone-client-gnome/src/dbus/dbus.h index d4c7b8a2aafa875f647e665db4c07eea02389aee..bf497ff5a4873900611f498efee80d7def886ea4 100644 --- a/sflphone-client-gnome/src/dbus/dbus.h +++ b/sflphone-client-gnome/src/dbus/dbus.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> @@ -17,9 +17,19 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ - #ifndef __DBUS_H__ #define __DBUS_H__ @@ -241,17 +251,11 @@ void dbus_set_active_codec_list (const gchar** list, const gchar*); */ gchar* dbus_get_current_codec_name(const callable_obj_t * c); -/** - * ConfigurationManager - Get the list of available input audio plugins - * @return gchar** The list of plugins - */ -gchar** dbus_get_input_audio_plugin_list(); - /** * ConfigurationManager - Get the list of available output audio plugins * @return gchar** The list of plugins */ -gchar** dbus_get_output_audio_plugin_list(); +gchar** dbus_get_audio_plugin_list(); /** * ConfigurationManager - Select an input audio plugin @@ -311,6 +315,32 @@ int dbus_get_audio_device_index(const gchar* name); */ gchar* dbus_get_current_audio_output_plugin(); + +/** + * ConfigurationManager - Get the current state of echo canceller + * @return gchar* The state (enabled/disabled) + */ +gchar *dbus_get_echo_cancel_state(void); + +/** + * ConfigurationManager - Set the crrent state of echo canceller + * @param gchar* The state (enabled/disabled) + */ +void dbus_set_echo_cancel_state(gchar *state); + +/** + * ConfigurationManager - Get the current noise suppressor state + * @return gchar* The state (enabled/disabled) + */ +gchar *dbus_get_noise_suppress_state(void); + +/** + * ConfigurationManager - Set the current noise suppressor state + * @param gchar* The state (enabled/disabled) + */ +void dbus_set_noise_suppress_state(gchar *state); + + /** * ConfigurationManager - Query to server to * know if MD5 credential hashing is enabled. @@ -597,5 +627,19 @@ gchar** dbus_get_supported_tls_method(); gchar** dbus_get_participant_list (const char * confID); +guint dbus_get_window_width (void); +guint dbus_get_window_height (void); +void dbus_set_window_height (const guint height); +void dbus_set_window_width (const guint width); +guint dbus_get_window_position_x (void); +guint dbus_get_window_position_y (void); +void dbus_set_window_position_x (const guint posx); +void dbus_set_window_position_y (const guint posy); + +GHashTable* dbus_get_shortcuts(void); +void dbus_set_shortcuts(GHashTable * shortcuts); + +void dbus_enable_status_icon (const gchar*); +gchar* dbus_is_status_icon_enabled (void); #endif diff --git a/sflphone-client-gnome/src/dbus/instance-introspec.xml b/sflphone-client-gnome/src/dbus/instance-introspec.xml index 90a60d632d04ca83039efcadcfa2f4981bfda39e..4b7d075cd87112df83744e3740f892d4f1cb26e5 100644 --- a/sflphone-client-gnome/src/dbus/instance-introspec.xml +++ b/sflphone-client-gnome/src/dbus/instance-introspec.xml @@ -1,18 +1,46 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.Instance"> - - <method name="Register"> - <arg type="i" name="pid" direction="in"/> - <arg type="s" name="name" direction="in"/> - </method> - - <method name="Unregister"> - <arg type="i" name="pid" direction="in"/> - </method> - - <method name="getRegistrationCount"> - <arg type="i" name="count" direction="out"/> - </method> - </interface> +<node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.Instance"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p> + </tp:docstring> + <method name="Register" tp:name-for-bindings="Register"> + <tp:docstring> + Register a new client to the core. Increments the registration count. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + <arg type="s" name="name" direction="in"> + <tp:docstring> + The name of the client + </tp:docstring> + </arg> + </method> + <method name="Unregister" tp:name-for-bindings="Unregister"> + <tp:docstring> + Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + </method> + + <method name="getRegistrationCount" tp:name-for-bindings="getRegistrationCount"> + <tp:docstring> + Get the number of connected clients. + </tp:docstring> + <arg type="i" name="count" direction="out"> + <tp:docstring> + The number of client currently connected to the core + </tp:docstring> + </arg> + </method> + + + </interface> </node> diff --git a/sflphone-client-gnome/src/dbus/shortcutsmanager-introspec.xml b/sflphone-client-gnome/src/dbus/shortcutsmanager-introspec.xml new file mode 100644 index 0000000000000000000000000000000000000000..89d39efb192ecd3fe0604f080a95ff58129368d1 --- /dev/null +++ b/sflphone-client-gnome/src/dbus/shortcutsmanager-introspec.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" ?> +<node name="/org/sflphone/SFLphone"> + <interface name="org.sflphone.SFLphone.ContactManager"> + + <!-- Contacts related methods --> + + <!-- Called by the client to get all saved contacts --> + <method name="getContacts"> + <arg type="s" name="accountID" direction="in"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <!-- Called by the client to save all local contacts --> + <method name="setContacts"> + <arg type="s" name="accountID" direction="in"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <!-- /////////////////////// --> + + <!-- Presence related methods --> + + <!-- Called by the client to set its new presence status --> + <method name="setPresence"> + <arg type="s" name="accountID" direction="in"/> + <arg type="s" name="presence" direction="in"/> + <arg type="s" name="additionalInfo" direction="in"/> + </method> + + <!-- Called by the daemon when a contact presence changes --> + <method name="setContactPresence"> + <arg type="s" name="accountID" direction="in"/> + <arg type="s" name="presence" direction="in"/> + <arg type="s" name="additionalInfo" direction="in"/> + </method> + + </interface> +</node> diff --git a/sflphone-client-gnome/src/dialpad.c b/sflphone-client-gnome/src/dialpad.c index eac32604bf947aaa0a77affb093fee95879133fe..31ed1374132a772d02195a4d732c7f30ca195f8b 100644 --- a/sflphone-client-gnome/src/dialpad.c +++ b/sflphone-client-gnome/src/dialpad.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <dialpad.h> diff --git a/sflphone-client-gnome/src/dialpad.h b/sflphone-client-gnome/src/dialpad.h index 2a87148b3b9f12efb53c8865b557d151d4d1b005..c95f5caf55541fd8db6fe6e4152c35db652fc945 100644 --- a/sflphone-client-gnome/src/dialpad.h +++ b/sflphone-client-gnome/src/dialpad.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __DIALPAD_H__ diff --git a/sflphone-client-gnome/src/errors.c b/sflphone-client-gnome/src/errors.c index d9f933ce78ef7a29dd343af5fe362788a419b024..0dbd1240014d8d810155b4484213bb4f06cfc989 100644 --- a/sflphone-client-gnome/src/errors.c +++ b/sflphone-client-gnome/src/errors.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <errors.h> diff --git a/sflphone-client-gnome/src/errors.h b/sflphone-client-gnome/src/errors.h index 7c4eed2a0f0b9b5cd241768777444442d8729a92..2c87178ff3c020408fa40a1f9ab524c1167e5a86 100644 --- a/sflphone-client-gnome/src/errors.h +++ b/sflphone-client-gnome/src/errors.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __ERRORS_H diff --git a/sflphone-client-gnome/src/icons/icon_factory.c b/sflphone-client-gnome/src/icons/icon_factory.c index 3598e3510f67558c073f169eb285e866b8f3a678..c18e038b0ae7346607cd8885c692e2001ab39215 100644 --- a/sflphone-client-gnome/src/icons/icon_factory.c +++ b/sflphone-client-gnome/src/icons/icon_factory.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "icon_factory.h" diff --git a/sflphone-client-gnome/src/icons/icon_factory.h b/sflphone-client-gnome/src/icons/icon_factory.h index 557f8f92b484e60798f86394e0b8a5d44f606815..6392832ac6515ae1ee9c640c92f03040ec1a6683 100644 --- a/sflphone-client-gnome/src/icons/icon_factory.h +++ b/sflphone-client-gnome/src/icons/icon_factory.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef ICON_FACTORY_H diff --git a/sflphone-client-gnome/src/icons/pixmap_data.h b/sflphone-client-gnome/src/icons/pixmap_data.h index 95b215c6c53caf5655d80dd6fd06c55fe67462ca..ce8fcc648c82673ca20b783dda03d1bdef575f04 100644 --- a/sflphone-client-gnome/src/icons/pixmap_data.h +++ b/sflphone-client-gnome/src/icons/pixmap_data.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef PIXMAP_DATA_H diff --git a/sflphone-client-gnome/src/main.c b/sflphone-client-gnome/src/main.c index fffd9a831b849f5b91b4c97625bd9ff1f2d7f156..6ab9d8c8329698041ee2e5b4144393ec7ae11d87 100644 --- a/sflphone-client-gnome/src/main.c +++ b/sflphone-client-gnome/src/main.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <actions.h> @@ -29,13 +40,15 @@ #include <gtk/gtk.h> #include <stdlib.h> +#include "shortcuts.h" + /** * Stop logging engine */ static void -shutdown_logging() +shutdown_logging () { - if (log4c_fini()) + if (log4c_fini ()) { ERROR("log4c_fini() failed"); } @@ -45,87 +58,100 @@ shutdown_logging() * Start loggin engine */ static void -startup_logging() +startup_logging () { - log4c_init(); - if (log4c_load(DATA_DIR "/log4crc") == -1) - g_warning("Cannot load log4j configuration file : %s",DATA_DIR "/log4crc"); + log4c_init (); + if (log4c_load (DATA_DIR "/log4crc") == -1) + g_warning ("Cannot load log4j configuration file : %s", DATA_DIR "/log4crc"); - log4c_sfl_gtk_category = log4c_category_get("org.sflphone.gtk"); + log4c_sfl_gtk_category = log4c_category_get ("org.sflphone.gtk"); } int -main(int argc, char *argv[]) +main (int argc, char *argv[]) { // Handle logging int i; + gboolean statusicon = FALSE; // Startup logging - startup_logging(); + startup_logging (); // Check arguments if debug mode is activated for (i = 0; i < argc; i++) - if (g_strcmp0(argv[i], "--debug") == 0) - log4c_category_set_priority(log4c_sfl_gtk_category, LOG4C_PRIORITY_DEBUG); + if (g_strcmp0 (argv[i], "--debug") == 0) + log4c_category_set_priority (log4c_sfl_gtk_category, LOG4C_PRIORITY_DEBUG); // Start GTK application - gtk_init(&argc, &argv); - - g_print("%s %s\n", PACKAGE, VERSION); - g_print("Copyright (c) 2005 2006 2007 2008 2009 Savoir-faire Linux Inc.\n"); - g_print( - "This is free software. You may redistribute copies of it under the terms of\n\ -the GNU General Public License Version 3 <http://www.gnu.org/licenses/gpl.html>.\n\ -There is NO WARRANTY, to the extent permitted by law.\n\n"); + gtk_init (&argc, &argv); + + g_print ("%s %s\n", PACKAGE, VERSION); + g_print ("\nCopyright (c) 2005 2006 2007 2008 2009 2010 Savoir-faire Linux Inc.\n\n"); + g_print ("This is free software. You may redistribute copies of it under the terms of\n" \ + "the GNU General Public License Version 3 <http://www.gnu.org/licenses/gpl.html>.\n" \ + "There is NO WARRANTY, to the extent permitted by law.\n\n" \ + "Additional permission under GNU GPL version 3 section 7:\n\n" \ + "If you modify this program, or any covered work, by linking or\n" \ + "combining it with the OpenSSL project's OpenSSL library (or a\n" \ + "modified version of that library), containing parts covered by the\n" \ + "terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.\n" \ + "grants you additional permission to convey the resulting work.\n" \ + "Corresponding Source for a non-source form of such a combination\n" \ + "shall include the source code for the parts of OpenSSL used as well\n" \ + "as that of the covered work.\n\n"); DEBUG("Logging Started"); - srand(time(NULL)); + srand (time (NULL)); // Internationalization - bindtextdomain("sflphone-client-gnome", LOCALEDIR); - textdomain("sflphone-client-gnome"); + bindtextdomain ("sflphone-client-gnome", LOCALEDIR); + textdomain ("sflphone-client-gnome"); // Initialises the GNOME libraries - gnome_program_init ( "sflphone", VERSION, - LIBGNOMEUI_MODULE, argc, argv, - GNOME_PROGRAM_STANDARD_PROPERTIES, - NULL); + gnome_program_init ("sflphone", VERSION, LIBGNOMEUI_MODULE, argc, argv, + GNOME_PROGRAM_STANDARD_PROPERTIES, + NULL) ; - if (sflphone_init()) + if (sflphone_init ()) { -#if GTK_CHECK_VERSION(2,10,0) - show_status_icon(); -#endif - create_main_window(); -#if GTK_CHECK_VERSION(2,10,0) - if (dbus_is_start_hidden()) + if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) + statusicon = TRUE; + + if (statusicon) show_status_icon (); + create_main_window (); + + if (statusicon && dbus_is_start_hidden ()) { - gtk_widget_hide(GTK_WIDGET( get_main_window() )); - set_minimized(TRUE); + gtk_widget_hide (GTK_WIDGET( get_main_window() )); + set_minimized (TRUE); } -#endif - status_bar_display_account(); - // Load the history - sflphone_fill_history (); + status_bar_display_account (); + + // Load the history + sflphone_fill_history (); + + // Get the active calls and conferences at startup + sflphone_fill_call_list (); + sflphone_fill_conference_list (); - // Get the active calls and conferences at startup - sflphone_fill_call_list (); - sflphone_fill_conference_list(); + // Update the GUI + update_actions (); - // Update the GUI - update_actions (); - - /* start the main loop */ - gtk_main(); + shortcuts_initialize_bindings(); + + /* start the main loop */ + gtk_main (); } // Cleanly stop logging - shutdown_logging(); + shutdown_logging (); + + shortcuts_destroy_bindings(); return 0; } diff --git a/sflphone-client-gnome/src/mainwindow.c b/sflphone-client-gnome/src/mainwindow.c index b6a939dbc0f27d24fa309af8dc9f2a8d8c08ed33..147526c143a913fef4e7cfa32a02fe231ec5591d 100644 --- a/sflphone-client-gnome/src/mainwindow.c +++ b/sflphone-client-gnome/src/mainwindow.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <config.h> @@ -38,20 +49,19 @@ /** Local variables */ GtkUIManager *ui_manager = NULL; GtkAccelGroup * accelGroup = NULL; -GtkWidget * window = NULL; -GtkWidget * subvbox = NULL; -GtkWidget * vbox = NULL; -GtkWidget * dialpad = NULL; +GtkWidget * window = NULL; +GtkWidget * subvbox = NULL; +GtkWidget * vbox = NULL; +GtkWidget * dialpad = NULL; GtkWidget * speaker_control = NULL; GtkWidget * mic_control = NULL; GtkWidget * statusBar = NULL; GtkWidget * filterEntry = NULL; PidginScrollBook *embedded_error_notebook; - /** - * Handle main window resizing - */ + * Handle main window resizing + */ static gboolean window_configure_cb (GtkWidget *win, GdkEventConfigure *event) { int pos_x, pos_y; @@ -67,29 +77,33 @@ static gboolean window_configure_cb (GtkWidget *win, GdkEventConfigure *event) { } - /** * Minimize the main window. */ static gboolean on_delete (GtkWidget * widget UNUSED, gpointer data UNUSED) { -#if GTK_CHECK_VERSION(2,10,0) - gtk_widget_hide(GTK_WIDGET( get_main_window() )); - set_minimized( TRUE ); -#endif + + if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) { + gtk_widget_hide (GTK_WIDGET( get_main_window() )); + set_minimized (TRUE); + } + else { + sflphone_quit (); + } return TRUE; } /** Ask the user if he wants to hangup current calls */ -gboolean -main_window_ask_quit(){ - guint count = calllist_get_size(current_calls); + gboolean +main_window_ask_quit () +{ + guint count = calllist_get_size (current_calls); GtkWidget * dialog; gint response; gchar * question; - if(count == 1) + if (count == 1) { question = _("There is one call in progress."); } @@ -98,69 +112,58 @@ main_window_ask_quit(){ question = _("There are calls in progress."); } - dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window) , - GTK_DIALOG_MODAL, - GTK_MESSAGE_QUESTION, - GTK_BUTTONS_YES_NO, - "%s\n%s", - question, - _("Do you still want to quit?") ); - + dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), + GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s\n%s", + question, _("Do you still want to quit?") ); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - if(response == GTK_RESPONSE_YES) - { - return TRUE; - } - else if(response == GTK_RESPONSE_NO) - { - return FALSE; - } - return TRUE; -} + + return (response == GTK_RESPONSE_NO)? FALSE : TRUE ; +} static gboolean on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSED) { DEBUG("On key released from Main Window : %s", gtk_widget_get_name(widget)); - if (focus_is_on_searchbar == FALSE) { + if (focus_is_on_searchbar == FALSE) + { // If a modifier key is pressed, it's a shortcut, pass along - if(event->state & GDK_CONTROL_MASK || - event->state & GDK_MOD1_MASK || - event->keyval == 60 || // < - event->keyval == 62 || // > - event->keyval == 34 || // " - event->keyval == 65289 || // tab - event->keyval == 65361 || // left arrow - event->keyval == 65363 || // right arrow - event->keyval >= 65470 || // F-keys - event->keyval == 32 // space - ) + if (event->state & GDK_CONTROL_MASK || event->state & GDK_MOD1_MASK + || event->keyval == 60 || // < + event->keyval == 62 || // > + event->keyval == 34 || // " + event->keyval == 65289 || // tab + event->keyval == 65361 || // left arrow + event->keyval == 65363 || // right arrow + event->keyval >= 65470 || // F-keys + event->keyval == 32 // space + ) return FALSE; else - sflphone_keypad(event->keyval, event->string); + sflphone_keypad (event->keyval, event->string); } return TRUE; } -void -focus_on_mainwindow_out(){ + void +focus_on_mainwindow_out () +{ // gtk_widget_grab_focus(GTK_WIDGET(window)); } -void -focus_on_mainwindow_in(){ + void +focus_on_mainwindow_in () +{ // gtk_widget_grab_focus(GTK_WIDGET(window)); } - void create_main_window () { @@ -198,57 +201,70 @@ create_main_window () g_signal_connect (G_OBJECT (window), "key-release-event", G_CALLBACK (on_key_released), NULL); - g_signal_connect_after (G_OBJECT (window), "focus-in-event", + g_signal_connect_after (G_OBJECT (window), "focus-in-event", G_CALLBACK (focus_on_mainwindow_in), NULL); g_signal_connect_after (G_OBJECT (window), "focus-out-event", G_CALLBACK (focus_on_mainwindow_out), NULL); g_signal_connect_object (G_OBJECT (window), "configure-event", - G_CALLBACK (window_configure_cb), NULL, 0); + G_CALLBACK (window_configure_cb), NULL, 0); gtk_widget_set_name (window, "mainwindow"); ret = uimanager_new (&ui_manager); if (!ret) - { + { ERROR ("Could not load xml GUI\n"); - g_error_free (error); - exit (1); - } + g_error_free (error); + exit (1); + } /* Create an accel group for window's shortcuts */ - gtk_window_add_accel_group(GTK_WINDOW(window), gtk_ui_manager_get_accel_group (ui_manager)); + gtk_window_add_accel_group (GTK_WINDOW(window), + gtk_ui_manager_get_accel_group (ui_manager)); - vbox = gtk_vbox_new ( FALSE /*homogeneous*/, 0 /*spacing*/); - subvbox = gtk_vbox_new ( FALSE /*homogeneous*/, 5 /*spacing*/); + vbox = gtk_vbox_new (FALSE /*homogeneous*/, 0 /*spacing*/); + subvbox = gtk_vbox_new (FALSE /*homogeneous*/, 5 /*spacing*/); create_menus (ui_manager, &widget); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, + 0 /*padding*/); create_toolbar_actions (ui_manager, &widget); // Do not override GNOME user settings - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); - - gtk_box_pack_start (GTK_BOX (vbox), current_calls->tree, TRUE /*expand*/, TRUE /*fill*/, 0 /*padding*/); - gtk_box_pack_start (GTK_BOX (vbox), history->tree, TRUE /*expand*/, TRUE /*fill*/, 0 /*padding*/); - gtk_box_pack_start (GTK_BOX (vbox), contacts->tree, TRUE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, + 0 /*padding*/); - gtk_box_pack_start (GTK_BOX (vbox), subvbox, FALSE /*expand*/, FALSE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), current_calls->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), history->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), contacts->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + + g_signal_connect_object (G_OBJECT (window), "configure-event", + G_CALLBACK (window_configure_cb), NULL, 0); + gtk_box_pack_start (GTK_BOX (vbox), subvbox, FALSE /*expand*/, + FALSE /*fill*/, 0 /*padding*/); embedded_error_notebook = PIDGIN_SCROLL_BOOK(pidgin_scroll_book_new()); - gtk_box_pack_start(GTK_BOX(subvbox), - GTK_WIDGET(embedded_error_notebook), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX(subvbox), GTK_WIDGET(embedded_error_notebook), + FALSE, FALSE, 0); - if(SHOW_VOLUME){ - speaker_control = create_slider("speaker"); - gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + if (SHOW_VOLUME) + { + speaker_control = create_slider ("speaker"); + gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (speaker_control); - mic_control = create_slider("mic"); - gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + mic_control = create_slider ("mic"); + gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (mic_control); } + if (eel_gconf_get_boolean (CONF_SHOW_DIALPAD)){ dialpad = create_dialpad(); gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); @@ -256,30 +272,31 @@ create_main_window () } /* Status bar */ - statusBar = gtk_statusbar_new(); - gtk_box_pack_start (GTK_BOX (vbox), statusBar, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + statusBar = gtk_statusbar_new (); + gtk_box_pack_start (GTK_BOX (vbox), statusBar, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_container_add (GTK_CONTAINER (window), vbox); /* make sure that everything, window and label, are visible */ gtk_widget_show_all (window); /* dont't show the history */ - gtk_widget_hide(history->tree); + gtk_widget_hide (history->tree); /* dont't show the contact list */ - gtk_widget_hide(contacts->tree); + gtk_widget_hide (contacts->tree); - searchbar_init(history); - searchbar_init(contacts); + searchbar_init (history); + searchbar_init (contacts); /* don't show waiting layer */ - gtk_widget_hide(waitingLayer); + gtk_widget_hide (waitingLayer); // Configuration wizard - if (account_list_get_size() == 0) + if (account_list_get_size () == 1) { #if GTK_CHECK_VERSION(2,10,0) - build_wizard(); + build_wizard (); #else GtkWidget * dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), GTK_DIALOG_DESTROY_WITH_PARENT, @@ -300,168 +317,206 @@ create_main_window () // Restore position according to the configuration stored in gconf gtk_window_move (GTK_WINDOW (window), position_x, position_y); - } GtkAccelGroup * -get_accel_group() +get_accel_group () { return accelGroup; } GtkWidget * -get_main_window() +get_main_window () { return window; } -void -main_window_message(GtkMessageType type, gchar * markup){ + void +main_window_message (GtkMessageType type, gchar * markup) +{ - GtkWidget * dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(get_main_window()), - GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - type, - GTK_BUTTONS_CLOSE, - NULL); + GtkWidget * dialog = gtk_message_dialog_new_with_markup ( + GTK_WINDOW(get_main_window()), GTK_DIALOG_MODAL + | GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_CLOSE, NULL); - gtk_window_set_title(GTK_WINDOW(dialog), _("SFLphone Error")); - gtk_message_dialog_set_markup(GTK_MESSAGE_DIALOG(dialog), markup); + gtk_window_set_title (GTK_WINDOW(dialog), _("SFLphone Error")); + gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG(dialog), markup); gtk_dialog_run (GTK_DIALOG(dialog)); gtk_widget_destroy (GTK_WIDGET(dialog)); } -void -main_window_error_message(gchar * markup){ - main_window_message(GTK_MESSAGE_ERROR, markup); + void +main_window_error_message (gchar * markup) +{ + main_window_message (GTK_MESSAGE_ERROR, markup); } -void -main_window_warning_message(gchar * markup){ - main_window_message(GTK_MESSAGE_WARNING, markup); + void +main_window_warning_message (gchar * markup) +{ + main_window_message (GTK_MESSAGE_WARNING, markup); } -void -main_window_info_message(gchar * markup){ - main_window_message(GTK_MESSAGE_INFO, markup); + void +main_window_info_message (gchar * markup) +{ + main_window_message (GTK_MESSAGE_INFO, markup); } -void main_window_dialpad (gboolean state){ + void +main_window_dialpad (gboolean state) +{ g_print ("main_window_dialpad\n"); - if(state) { - dialpad = create_dialpad(); - gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + if (state) + { + dialpad = create_dialpad (); + gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (dialpad); - } else { - gtk_container_remove(GTK_CONTAINER (subvbox), dialpad); + } + else + { + gtk_container_remove (GTK_CONTAINER (subvbox), dialpad); } } -void -main_window_volume_controls( gboolean state ){ - if(state){ - speaker_control = create_slider("speaker"); - gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + void +main_window_volume_controls (gboolean state) +{ + if (state) + { + speaker_control = create_slider ("speaker"); + gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (speaker_control); - mic_control = create_slider("mic"); - gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + mic_control = create_slider ("mic"); + gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (mic_control); - } else { - gtk_container_remove( GTK_CONTAINER(subvbox) , speaker_control ); - gtk_container_remove( GTK_CONTAINER(subvbox) , mic_control ); + } + else + { + gtk_container_remove (GTK_CONTAINER(subvbox), speaker_control); + gtk_container_remove (GTK_CONTAINER(subvbox), mic_control); } } void -statusbar_push_message(const gchar * message, guint id) +statusbar_push_message (const gchar * message, guint id) { - gtk_statusbar_push(GTK_STATUSBAR(statusBar), id, message); + gtk_statusbar_push (GTK_STATUSBAR(statusBar), id, message); } void -statusbar_pop_message(guint id) +statusbar_pop_message (guint id) { - gtk_statusbar_pop(GTK_STATUSBAR(statusBar), id); + gtk_statusbar_pop (GTK_STATUSBAR(statusBar), id); } static void -add_error_dialog(GtkWidget *dialog, callable_obj_t * call) +add_error_dialog (GtkWidget *dialog, callable_obj_t * call) { - gtk_container_add(GTK_CONTAINER(embedded_error_notebook), dialog); - call_add_error(call, dialog); + gtk_container_add (GTK_CONTAINER(embedded_error_notebook), dialog); + call_add_error (call, dialog); } static void -destroy_error_dialog_cb(GtkObject *dialog, callable_obj_t * call) +destroy_error_dialog_cb (GtkObject *dialog, callable_obj_t * call) { - call_remove_error(call, dialog); + call_remove_error (call, dialog); } void -main_window_zrtp_not_supported(callable_obj_t * c) +main_window_zrtp_not_supported (callable_obj_t * c) { - account_t* account_details=NULL; - gchar* warning_enabled=""; + account_t* account_details = NULL; + gchar* warning_enabled = ""; - account_details = account_list_get_by_id(c->_accountID); - if(account_details != NULL) { - warning_enabled = g_hash_table_lookup(account_details->properties, ACCOUNT_ZRTP_NOT_SUPP_WARNING); + account_details = account_list_get_by_id (c->_accountID); + if (account_details != NULL) + { + warning_enabled = g_hash_table_lookup (account_details->properties, + ACCOUNT_ZRTP_NOT_SUPP_WARNING); DEBUG("Warning Enabled %s", warning_enabled); - } else { + } + else + { DEBUG("Account is null callID %s", c->_callID); GHashTable * properties = NULL; sflphone_get_ip2ip_properties (&properties); - if(properties != NULL) - { warning_enabled = g_hash_table_lookup(properties, ACCOUNT_ZRTP_NOT_SUPP_WARNING); } + if (properties != NULL) + { + warning_enabled = g_hash_table_lookup (properties, + ACCOUNT_ZRTP_NOT_SUPP_WARNING); + } } - if(g_strcasecmp(warning_enabled,"true") == 0) { + if (g_strcasecmp (warning_enabled, "true") == 0) + { PidginMiniDialog *mini_dialog; - gchar *desc = g_markup_printf_escaped(_("ZRTP is not supported by peer %s\n"), c->_peer_number); - mini_dialog = pidgin_mini_dialog_new(_("Secure Communication Unavailable"), desc, GTK_STOCK_DIALOG_WARNING); - pidgin_mini_dialog_add_button(mini_dialog, _("Continue"), NULL, NULL); - pidgin_mini_dialog_add_button(mini_dialog, _("Stop Call"), sflphone_hang_up, NULL); + gchar *desc = g_markup_printf_escaped ( + _("ZRTP is not supported by peer %s\n"), c->_peer_number); + mini_dialog = pidgin_mini_dialog_new ( + _("Secure Communication Unavailable"), desc, + GTK_STOCK_DIALOG_WARNING); + pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), + sflphone_hang_up, NULL); g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); - add_error_dialog(GTK_WIDGET(mini_dialog), c); + add_error_dialog (GTK_WIDGET(mini_dialog), c); } } void -main_window_zrtp_negotiation_failed(const gchar* callID, const gchar* reason, const gchar* severity) +main_window_zrtp_negotiation_failed (const gchar* callID, const gchar* reason, + const gchar* severity) { gchar* peer_number = "(number unknown)"; callable_obj_t * c = NULL; - c = calllist_get(current_calls, callID); - if (c != NULL) { + c = calllist_get (current_calls, callID); + if (c != NULL) + { peer_number = c->_peer_number; } PidginMiniDialog *mini_dialog; - gchar *desc = g_markup_printf_escaped(_("A %s error forced the call with %s to fall under unencrypted mode.\nExact reason: %s\n"), severity, peer_number, reason); - mini_dialog = pidgin_mini_dialog_new(_("ZRTP negotiation failed"), desc, GTK_STOCK_DIALOG_WARNING); - pidgin_mini_dialog_add_button(mini_dialog, _("Continue"), NULL, NULL); - pidgin_mini_dialog_add_button(mini_dialog, _("Stop Call"), sflphone_hang_up, NULL); + gchar + *desc = + g_markup_printf_escaped ( + _("A %s error forced the call with %s to fall under unencrypted mode.\nExact reason: %s\n"), + severity, peer_number, reason); + mini_dialog = pidgin_mini_dialog_new (_("ZRTP negotiation failed"), desc, + GTK_STOCK_DIALOG_WARNING); + pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, + NULL); g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); - add_error_dialog(GTK_WIDGET(mini_dialog), c); + add_error_dialog (GTK_WIDGET(mini_dialog), c); } void -main_window_confirm_go_clear(callable_obj_t * c) +main_window_confirm_go_clear (callable_obj_t * c) { PidginMiniDialog *mini_dialog; - gchar *desc = g_markup_printf_escaped(_("%s wants to stop using secure communication. Confirm will resume conversation without SRTP.\n"), c->_peer_number); - mini_dialog = pidgin_mini_dialog_new(_("Confirm Go Clear"), desc, GTK_STOCK_STOP); - pidgin_mini_dialog_add_button(mini_dialog, _("Confirm"), (PidginMiniDialogCallback)sflphone_set_confirm_go_clear, NULL); - pidgin_mini_dialog_add_button(mini_dialog, _("Stop Call"), sflphone_hang_up, NULL); + gchar + *desc = + g_markup_printf_escaped ( + _("%s wants to stop using secure communication. Confirm will resume conversation without SRTP.\n"), + c->_peer_number); + mini_dialog = pidgin_mini_dialog_new (_("Confirm Go Clear"), desc, + GTK_STOCK_STOP); + pidgin_mini_dialog_add_button (mini_dialog, _("Confirm"), + (PidginMiniDialogCallback) sflphone_set_confirm_go_clear, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, + NULL); - add_error_dialog(GTK_WIDGET(mini_dialog), c); + add_error_dialog (GTK_WIDGET(mini_dialog), c); } - - diff --git a/sflphone-client-gnome/src/mainwindow.h b/sflphone-client-gnome/src/mainwindow.h index 98806a527d27732ce5fb3a0b0952dd404b133cc5..db7007cd3c315733710fa8c4ab9c2ebf00ee8887 100644 --- a/sflphone-client-gnome/src/mainwindow.h +++ b/sflphone-client-gnome/src/mainwindow.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __MAINWINDOW_H__ diff --git a/sflphone-client-gnome/src/reqaccount.c b/sflphone-client-gnome/src/reqaccount.c index cfd55fefcc89313756b3dead8043d619d6327d1d..dda30b8dc6b2e549bd081e1b3340d291ddc822e0 100644 --- a/sflphone-client-gnome/src/reqaccount.c +++ b/sflphone-client-gnome/src/reqaccount.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author Jean Schurger <jean.schurger@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-client-gnome/src/reqaccount.h b/sflphone-client-gnome/src/reqaccount.h index 9ff07f26e0132a9c107054454dd3662b20df47cf..3a17154a4b07c7885f268dc56bf88604e39f4c0c 100644 --- a/sflphone-client-gnome/src/reqaccount.h +++ b/sflphone-client-gnome/src/reqaccount.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author Jean Schurger <jean.schurger@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ typedef struct { diff --git a/sflphone-client-gnome/src/sflnotify.c b/sflphone-client-gnome/src/sflnotify.c index ab1ccabe5a9cbdf9d0e0c373a1c10fc3f48820a8..5ac960e0035e7a08de0eddfed880998281e3b8b7 100644 --- a/sflphone-client-gnome/src/sflnotify.c +++ b/sflphone-client-gnome/src/sflnotify.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <sflnotify.h> diff --git a/sflphone-client-gnome/src/sflnotify.h b/sflphone-client-gnome/src/sflnotify.h index 69d686dd55afcff73cbcd63be20f93b14de034eb..71cfc916658ef94a196d8c9f5d2d2e2a9181e732 100644 --- a/sflphone-client-gnome/src/sflnotify.h +++ b/sflphone-client-gnome/src/sflnotify.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __GNOME_NOTIFICATION_H__ diff --git a/sflphone-client-gnome/src/sflphone_const.h b/sflphone-client-gnome/src/sflphone_const.h index 93e021f74f5b1ddd3a2df76061d7a2ccc16c2ef1..2432c50f90fd4726b7fa93816942c7cf7e777ca5 100644 --- a/sflphone-client-gnome/src/sflphone_const.h +++ b/sflphone-client-gnome/src/sflphone_const.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFLPHONE_CONST_H @@ -57,12 +68,15 @@ #define ACCOUNT_ALIAS "Account.alias" #define ACCOUNT_ENABLED "Account.enable" #define ACCOUNT_MAILBOX "Account.mailbox" +#define ACCOUNT_USERAGENT "useragent" #define ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" #define ACCOUNT_REGISTRATION_EXPIRE "Account.expire" #define ACCOUNT_SIP_STUN_SERVER "STUN.server" #define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" +#define ACCOUNT_DTMF_TYPE "Account.dtmfType" #define ACCOUNT_HOSTNAME "hostname" #define ACCOUNT_USERNAME "username" +#define ACCOUNT_ROUTE "routeset" #define ACCOUNT_PASSWORD "password" #define ACCOUNT_AUTHENTICATION_USERNAME "authenticationUsername" #define ACCOUNT_REALM "realm" @@ -132,6 +146,10 @@ log4c_category_t* log4c_sfl_gtk_category; #define ALSA 0 #define PULSEAUDIO 1 + /** DTMF type */ +#define OVERRTP "overrtp" +#define SIPINFO "sipinfo" + /** Notification levels */ #define __NOTIF_LEVEL_MIN 0 #define __NOTIF_LEVEL_MED 1 diff --git a/sflphone-client-gnome/src/shortcuts.c b/sflphone-client-gnome/src/shortcuts.c new file mode 100644 index 0000000000000000000000000000000000000000..4ecb7cd47bde7bb23f2f793d999e7f2eea9a04c2 --- /dev/null +++ b/sflphone-client-gnome/src/shortcuts.c @@ -0,0 +1,508 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <string.h> +#include <stdlib.h> +#include <gtk/gtk.h> +#include <gdk/gdkkeysyms.h> +#include <X11/Xlib.h> +#include <X11/XF86keysym.h> +#include <gdk/gdkx.h> +#include <dbus/dbus-glib.h> + +#include "shortcuts.h" +#include "mainwindow.h" +#include "callable_obj.h" +#include "sflphone_const.h" +#include "dbus.h" + +// used to store accelerator config +static Accelerator* accelerators_list; + +// used to store config (for dbus calls) +static GHashTable* shortcutsMap; + +/* + * Callbacks + */ + +static void +toggle_pick_up_hang_up_callback () +{ + callable_obj_t * selectedCall = calltab_get_selected_call (active_calltree); + conference_obj_t * selectedConf = calltab_get_selected_conf (active_calltree); + + g_print("toggle_pick_up_hang_up_callback\n"); + + if (selectedCall) + { + switch (selectedCall->_state) + { + case CALL_STATE_INCOMING: + case CALL_STATE_TRANSFERT: + sflphone_pick_up (); + break; + case CALL_STATE_DIALING: + case CALL_STATE_HOLD: + case CALL_STATE_CURRENT: + case CALL_STATE_RECORD: + case CALL_STATE_RINGING: + sflphone_hang_up (); + break; + } + } + else if (selectedConf) + { + dbus_hang_up_conference (selectedConf); + } + else + sflphone_pick_up (); +} + +static void +pick_up_callback () +{ + sflphone_pick_up (); +} + +static void +hang_up_callback () +{ + sflphone_hang_up (); +} + +static void +toggle_hold_callback () +{ + callable_obj_t * selectedCall = calltab_get_selected_call (current_calls); + conference_obj_t * selectedConf = calltab_get_selected_conf (active_calltree); + + if (selectedCall) + { + switch (selectedCall->_state) + { + case CALL_STATE_CURRENT: + case CALL_STATE_RECORD: + g_print("on hold\n"); + sflphone_on_hold(); + break; + case CALL_STATE_HOLD: + g_print("off hold\n"); + sflphone_off_hold(); + break; + } + } + else if (selectedConf) + dbus_hold_conference (selectedConf); + else + ERROR("Should not happen"); +} + +static void +popup_window_callback () +{ + gtk_widget_hide (GTK_WIDGET(get_main_window())); + gtk_widget_show (GTK_WIDGET(get_main_window())); + gtk_window_move (GTK_WINDOW (get_main_window ()), + dbus_get_window_position_x (), dbus_get_window_position_y ()); +} + +static void +default_callback () +{ + ERROR("Missing shortcut callback"); +} + +/* + * return callback corresponding to a specific action + */ +static void* +get_action_callback (const gchar* action) +{ + if (strcmp (action, "pick_up") == 0) + return pick_up_callback; + + if (strcmp (action, "hang_up") == 0) + return hang_up_callback; + + if (strcmp (action, "popup_window") == 0) + return popup_window_callback; + + if (strcmp (action, "toggle_pick_up_hang_up") == 0) + return toggle_pick_up_hang_up_callback; + + if (strcmp (action, "toggle_hold") == 0) + return toggle_hold_callback; + + return default_callback; +} + +/* + * Handle bindings + */ + +/* + * Remove all existing bindings + */ +static void +remove_bindings () +{ + GdkDisplay *display; + GdkScreen *screen; + GdkWindow *root; + + display = gdk_display_get_default (); + + int i = 0; + int j = 0; + while (accelerators_list[i].action != NULL) + { + if (accelerators_list[i].value != 0) + { + for (j = 0; j < gdk_display_get_n_screens (display); j++) + { + screen = gdk_display_get_screen (display, j); + + if (screen != NULL) + { + root = gdk_screen_get_root_window (screen); + ungrab_key (accelerators_list[i].value, root); + gdk_window_remove_filter (root, filter_keys, NULL); + } + } + } + + i++; + } +} + +/* + * Create all bindings, using stored configuration + */ +static void +create_bindings () +{ + GdkDisplay *display; + GdkScreen *screen; + GdkWindow *root; + + display = gdk_display_get_default (); + + int i = 0; + int j = 0; + while (accelerators_list[i].action != NULL) + { + if (accelerators_list[i].value != 0) + { + // updated GDK bindings + for (j = 0; j < gdk_display_get_n_screens (display); j++) + { + screen = gdk_display_get_screen (display, j); + + if (screen != NULL) + { + root = gdk_screen_get_root_window (screen); + grab_key (accelerators_list[i].value, root); + gdk_window_add_filter (root, filter_keys, NULL); + } + } + } + + i++; + } +} + +/* + * Initialize a specific binding + */ +static void +initialize_binding (const gchar* action, const guint code) +{ + //initialize_shortcuts_keys(); + int index = 0; + while (accelerators_list[index].action != NULL) + { + if (strcmp (action, accelerators_list[index].action) == 0) + { + break; + } + index++; + } + + if (accelerators_list[index].action == NULL) + { + ERROR("Should not happen: cannot find corresponding action"); + return; + } + + // update config value + accelerators_list[index].value = code; + + // update bindings + create_bindings (); +} + +/* + * Prepare accelerators list + */ +static void +initialize_accelerators_list () +{ + GList* shortcutsKeys = g_hash_table_get_keys (shortcutsMap); + + accelerators_list = (Accelerator*) malloc ( + (g_list_length (shortcutsKeys) + 1) * sizeof(Accelerator)); + + GList* shortcutsKeysElement; + int index = 0; + for (shortcutsKeysElement = shortcutsKeys; shortcutsKeysElement; shortcutsKeysElement + = shortcutsKeysElement->next) + { + gchar* action = shortcutsKeysElement->data; + + accelerators_list[index].action = g_strdup (action); + accelerators_list[index].callback = get_action_callback (action); + accelerators_list[index].mask = 0; + accelerators_list[index].value = 0; + + index++; + } + + // last element must be null + accelerators_list[index].action = 0; + accelerators_list[index].callback = 0; + accelerators_list[index].mask = 0; + accelerators_list[index].value = 0; +} + +static void +update_bindings_data (const guint index, const guint code) +{ + // we need to be sure this code is not already affected + // to another action + int i = 0; + while (accelerators_list[i].action != NULL) + { + if (accelerators_list[i].value == code) + { + // disable old binding + accelerators_list[i].value = 0; + + // update config table + g_hash_table_replace (shortcutsMap, g_strdup ( + accelerators_list[i].action), GINT_TO_POINTER (0)); + } + i++; + } + + // store new value + accelerators_list[index].value = code; + + // update value in hashtable (used for dbus calls) + g_hash_table_replace (shortcutsMap, + g_strdup (accelerators_list[index].action), GINT_TO_POINTER ( + accelerators_list[index].value)); +} + +/* + * "Public" functions + */ + +/* + * Update current bindings with a new value + */ +void +shortcuts_update_bindings (const guint index, const guint code) +{ + // first remove all existing bindings + remove_bindings (); + + // update data + update_bindings_data (index, code); + + // recreate all bindings + create_bindings (); + + // update configuration + dbus_set_shortcuts (shortcutsMap); +} + +/* + * Initialize bindings with configuration retrieved from dbus + */ +void +shortcuts_initialize_bindings () +{ + // get shortcuts stored in config through dbus + shortcutsMap = dbus_get_shortcuts (); + + // initialize list of keys + initialize_accelerators_list (); + + // iterate through keys to initialize bindings + GList* shortcutsKeys = g_hash_table_get_keys (shortcutsMap); + GList* shortcutsKeysElement; + for (shortcutsKeysElement = shortcutsKeys; shortcutsKeysElement; shortcutsKeysElement + = shortcutsKeysElement->next) + { + gchar* key = shortcutsKeysElement->data; + int shortcut = (size_t) g_hash_table_lookup (shortcutsMap, key); + if (shortcut != 0) + initialize_binding (key, shortcut); + } +} + +/* + * Initialize bindings with configuration retrieved from dbus + */ +void +shortcuts_destroy_bindings () +{ + // remove bindings + remove_bindings (); + + // free pointers + int index = 0; + while (accelerators_list[index].action != NULL) + { + g_free (accelerators_list[index].action); + index++; + } + free (accelerators_list); +} + +Accelerator* +shortcuts_get_list () +{ + return accelerators_list; +} + +/* + * XLib functions + */ + +/* + * filter used when an event is catched + */ +static GdkFilterReturn +filter_keys (GdkXEvent *xevent, GdkEvent *event, gpointer data) +{ + XEvent *xev; + XKeyEvent *key; + + xev = (XEvent *) xevent; + if (xev->type != KeyPress) + { + return GDK_FILTER_CONTINUE; + } + + key = (XKeyEvent *) xevent; + + // try to find corresponding action + int i = 0; + while (accelerators_list[i].action != NULL) + { + if (accelerators_list[i].value == key->keycode) + { + DEBUG("catched key for action: %s (%d)", accelerators_list[i].action, + accelerators_list[i].value); + + // call associated callback function + accelerators_list[i].callback (); + + return GDK_FILTER_REMOVE; + } + i++; + } + + DEBUG("Should not be reached :(\n"); + return GDK_FILTER_CONTINUE; +} + +/* + * Remove key "catcher" from GDK layer + */ +static void +ungrab_key (int key_code, GdkWindow *root) +{ + gdk_error_trap_push (); + + XUngrabKey (GDK_DISPLAY(), key_code, 0, GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask, GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod5Mask, GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, LockMask, GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask, + GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | LockMask, + GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod5Mask | LockMask, + GDK_WINDOW_XID(root)); + XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask | LockMask, + GDK_WINDOW_XID(root)); + + gdk_flush (); + if (gdk_error_trap_pop ()) + { + ERROR("Error ungrabbing key"); + } +} + +/* + * Add key "catcher" to GDK layer + */ +static void +grab_key (int key_code, GdkWindow *root) +{ + + gdk_error_trap_push (); + + XGrabKey (GDK_DISPLAY(), key_code, 0, GDK_WINDOW_XID(root), True, + GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod2Mask, GDK_WINDOW_XID(root), True, + GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod5Mask, GDK_WINDOW_XID(root), True, + GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, LockMask, GDK_WINDOW_XID(root), True, + GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask, GDK_WINDOW_XID(root), + True, GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod2Mask | LockMask, GDK_WINDOW_XID(root), + True, GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod5Mask | LockMask, GDK_WINDOW_XID(root), + True, GrabModeAsync, GrabModeAsync); + XGrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask | LockMask, + GDK_WINDOW_XID(root), True, GrabModeAsync, GrabModeAsync); + + gdk_flush (); + if (gdk_error_trap_pop ()) + { + ERROR("Error grabbing key"); + } +} diff --git a/sflphone-client-gnome/src/shortcuts.h b/sflphone-client-gnome/src/shortcuts.h new file mode 100644 index 0000000000000000000000000000000000000000..47f8fec550dc48ba8ad083994b1e17c78f9810a2 --- /dev/null +++ b/sflphone-client-gnome/src/shortcuts.h @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef SHORTCUTS_H_ +#define SHORTCUTS_H_ + +typedef struct +{ + gchar *action; + GdkModifierType mask; + guint value; + void + (*callback) (void); +} Accelerator; + +static void +grab_key (int key_code, GdkWindow *root); + +static void +ungrab_key (int key_code, GdkWindow *root); + +static GdkFilterReturn +filter_keys (GdkXEvent *xevent, GdkEvent *event, gpointer data); + +static void +remove_bindings (); + +static void +create_bindings (); + +static void +pick_up_callback (); + +static void +hang_up_callback (); + +static void +toggle_pick_up_hang_up_callback (); + +static void +toggle_hold_callback (); + +static void +initialize_binding (const gchar* action, const guint code); + +static void +initialize_shortcuts_keys (); + +static void* +get_action_callback (const gchar* action); + +static void +update_bindings_data (const guint index, const guint code); + +/* + * "Public" functions + */ + +void +shortcuts_initialize_bindings (); + +void +shortcuts_update_bindings (const guint index, const guint code); + +void +shortcuts_destroy_bindings (); + +Accelerator* +shortcuts_get_list (); + +#endif /* SHORTCUTS_H_ */ diff --git a/sflphone-client-gnome/src/sliders.c b/sflphone-client-gnome/src/sliders.c index 5d9acc01e59574e60d6bd9aa9614e6ca1dae7608..65e393c8e787ed1ccb7a22d4377d41d9fd730da3 100644 --- a/sflphone-client-gnome/src/sliders.c +++ b/sflphone-client-gnome/src/sliders.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <sliders.h> diff --git a/sflphone-client-gnome/src/sliders.h b/sflphone-client-gnome/src/sliders.h index 1e517cb9763ceace5265519a6e68c3a4b5ac1685..531a1b22bd9a435e967c270efb39704fd02c7c15 100644 --- a/sflphone-client-gnome/src/sliders.h +++ b/sflphone-client-gnome/src/sliders.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SLIDERS_H__ diff --git a/sflphone-client-gnome/src/statusicon.c b/sflphone-client-gnome/src/statusicon.c index e89bf81ade725502d3643ed90f6e2ab8b30db86a..3d4e3a724f81a6df3746c10c2b9609b22ee96710 100644 --- a/sflphone-client-gnome/src/statusicon.c +++ b/sflphone-client-gnome/src/statusicon.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <gtk/gtk.h> @@ -25,12 +36,24 @@ #include <statusicon.h> #if GTK_CHECK_VERSION(2,10,0) -GtkStatusIcon* status; -GtkWidget * show_menu_item; +GtkStatusIcon *status; +GtkWidget *show_menu_item, *hangup_menu_item; gboolean __minimized = MINIMIZED; +void +popup_main_window(void) +{ + if (__POPUP_WINDOW) + { + gtk_widget_show(get_main_window()); + gtk_window_move(GTK_WINDOW (get_main_window ()), + dbus_get_window_position_x(), dbus_get_window_position_y()); + set_minimized(FALSE); + } +} -void popup_main_window (void) +void +show_status_hangup_icon() { if (__POPUP_WINDOW) { @@ -40,24 +63,41 @@ void popup_main_window (void) } } -void -status_quit ( void * foo UNUSED) +void +hide_status_hangup_icon() +{ + if (status) { + DEBUG("Hide Hangup in Systray"); + gtk_widget_hide(GTK_WIDGET(hangup_menu_item)); + } +} + +void +status_quit(void * foo UNUSED) { sflphone_quit(); } -void +void +status_hangup() +{ + sflphone_hang_up(); +} + +void status_icon_unminimize() { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), TRUE); } -gboolean main_widget_minimized() +gboolean +main_widget_minimized() { return __minimized; } -void show_hide (void) +void +show_hide(void) { if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))) { @@ -72,47 +112,58 @@ void show_hide (void) } } - -void status_click (GtkStatusIcon *status_icon UNUSED, void * foo UNUSED) +void +status_click(GtkStatusIcon *status_icon UNUSED, void * foo UNUSED) { - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), - !gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), + !gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))); } -void menu (GtkStatusIcon *status_icon, - guint button, - guint activate_time, - GtkWidget * menu) +void +menu(GtkStatusIcon *status_icon, guint button, guint activate_time, + GtkWidget * menu) { - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, gtk_status_icon_position_menu, - status_icon, button, activate_time); + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, gtk_status_icon_position_menu, + status_icon, button, activate_time); } -GtkWidget* create_menu() +GtkWidget* +create_menu() { GtkWidget * menu; GtkWidget * menu_items; - - menu = gtk_menu_new (); - - show_menu_item = gtk_check_menu_item_new_with_mnemonic (_("_Show main window")); + GtkWidget * image; + + menu = gtk_menu_new(); + + show_menu_item + = gtk_check_menu_item_new_with_mnemonic(_("_Show main window")); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), TRUE); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), show_menu_item); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), show_menu_item); g_signal_connect(G_OBJECT (show_menu_item), "toggled", - G_CALLBACK (show_hide), - NULL); - - menu_items = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_QUIT, get_accel_group()); + G_CALLBACK (show_hide), + NULL); + + hangup_menu_item = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_hangup.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(hangup_menu_item), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), hangup_menu_item); + g_signal_connect(G_OBJECT (hangup_menu_item), "activate", + G_CALLBACK (status_hangup), + NULL); + + menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, + get_accel_group()); g_signal_connect_swapped (G_OBJECT (menu_items), "activate", - G_CALLBACK (status_quit), - NULL); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - - gtk_widget_show_all (menu); - + G_CALLBACK (status_quit), + NULL); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + + gtk_widget_show_all(menu); + return menu; } @@ -121,43 +172,71 @@ show_status_icon() { status = gtk_status_icon_new_from_file(LOGO); g_signal_connect (G_OBJECT (status), "activate", - G_CALLBACK (status_click), - NULL); + G_CALLBACK (status_click), + NULL); g_signal_connect (G_OBJECT (status), "popup-menu", - G_CALLBACK (menu), - create_menu()); + G_CALLBACK (menu), + create_menu()); + + statusicon_set_tooltip(); +} + +void hide_status_icon (void) { + + g_object_unref (status); + status = NULL; +} + + +void +statusicon_set_tooltip() +{ + int count; + gchar *tip; + + if(status) { + + // Add a tooltip to the system tray icon + count = account_list_get_registered_accounts(); + tip = g_markup_printf_escaped("%s - %s", _("SFLphone"), + g_markup_printf_escaped(n_("%i active account", "%i active accounts", count), count)); + gtk_status_icon_set_tooltip(status, tip); + g_free(tip); + + } - // Add a tooltip to the system tray icon - int count = account_list_get_size(); - gchar *tip = g_markup_printf_escaped ("%s - %s" , - _("SFLphone"), - g_markup_printf_escaped(n_("%i account configured", "%i accounts configured", count),count)); - gtk_status_icon_set_tooltip( status , tip ); - g_free(tip); } -void status_tray_icon_blink (gboolean active) +void +status_tray_icon_blink(gboolean active) { - // Set a different icon to notify of an event - active ? gtk_status_icon_set_from_file (status, LOGO_NOTIF) : gtk_status_icon_set_from_file (status, LOGO); + if (status) { + // Set a different icon to notify of an event + active ? gtk_status_icon_set_from_file(status, LOGO_NOTIF) + : gtk_status_icon_set_from_file(status, LOGO); + } } -void status_tray_icon_online (gboolean online) +void +status_tray_icon_online(gboolean online) { - // Set a different icon to notify of an event - online ? gtk_status_icon_set_from_file (status, LOGO) : gtk_status_icon_set_from_file (status, LOGO_OFFLINE); + if (status) { + // Set a different icon to notify of an event + online ? gtk_status_icon_set_from_file(status, LOGO) + : gtk_status_icon_set_from_file(status, LOGO_OFFLINE); + } } -GtkStatusIcon* -get_status_icon( void ) +GtkStatusIcon* +get_status_icon(void) { return status; } void -set_minimized( gboolean state) +set_minimized(gboolean state) { - __minimized = state ; + __minimized = state; gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), !state); } diff --git a/sflphone-client-gnome/src/statusicon.h b/sflphone-client-gnome/src/statusicon.h index 4a841c4ea0ae2c81a9dfcaf74b32320bd4e7f51b..ad9303d360ade39150b5b4dcbccc34ecdcb2c714 100644 --- a/sflphone-client-gnome/src/statusicon.h +++ b/sflphone-client-gnome/src/statusicon.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __STATUSICON_H__ @@ -36,15 +47,34 @@ void popup_main_window (void); /** - * Create the status icon + * Create the system tray icon */ -void show_status_icon(); +void show_status_icon (); + + +/** + * Hide the system tray icon + */ +void hide_status_icon (); /** * Set the menu active */ void status_icon_unminimize(); +/** + * Show hangup icon + */ +void show_status_hangup_icon(); + + +/** + * Show hangup icon + */ +void hide_status_hangup_icon(); + + + /** * Tells if the main window if minimized or not * @return gboolean TRUE if the main window is minimized @@ -72,6 +102,11 @@ void status_tray_icon_blink( gboolean active ); */ GtkStatusIcon* get_status_icon( void ); +/** + * Attach a tooltip to the status icon + */ +void statusicon_set_tooltip (void); + #endif // GTK_CHECK_VERSION #endif diff --git a/sflphone-client-gnome/src/toolbar.c b/sflphone-client-gnome/src/toolbar.c index bf71aa1e8c66def3e25c48886b11966b70c392a9..1a26642eb7e44af5eda079ce1503252462b36c89 100644 --- a/sflphone-client-gnome/src/toolbar.c +++ b/sflphone-client-gnome/src/toolbar.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <toolbar.h> diff --git a/sflphone-client-gnome/src/toolbar.h b/sflphone-client-gnome/src/toolbar.h index ddd3b3a1148432ef31f1b9edb45bfd2d4112cb84..7b45e81273a37cd707e91bca92972cc97dbbcb8e 100644 --- a/sflphone-client-gnome/src/toolbar.h +++ b/sflphone-client-gnome/src/toolbar.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __TOOLBAR_H__ diff --git a/sflphone-client-gnome/src/ui.xml b/sflphone-client-gnome/src/ui.xml index 6d3fe1f77ca80a1e3983b439a07352460b83345e..449e67b0bfff5d38e0b613656444a15b717f975a 100644 --- a/sflphone-client-gnome/src/ui.xml +++ b/sflphone-client-gnome/src/ui.xml @@ -25,15 +25,15 @@ <menuitem action="Preferences"/> </menu> - <menu name="ViewMenu" action="View"> + <menu name="ViewMenu" action="View"> <menuitem action="Toolbar"/> <separator/> <menuitem action="Dialpad"/> <!--menuitem name="VolumeControlsToggle" action="VolumeControls"/--> <menuitem action="VolumeControls"/> <separator/> - <menuitem action="History"/> - <menuitem action="Addressbook"/> + <menuitem action="History"/> + <menuitem action="Addressbook"/> </menu> <menu name="HelpMenu" action="Help"> @@ -41,25 +41,25 @@ <menuitem action="About"/> </menu> - </menubar> + </menubar> - <toolbar name="ToolbarActions"> - <toolitem name="NewCallToolbar" action="NewCall"/> - <toolitem name="PickUpToolbar" action="PickUp"/> - <toolitem name="HangUpToolbar" action="HangUp"/> - <toolitem name="OnHoldToolbar" action="OnHold"/> - <toolitem name="OffHoldToolbar" action="OffHold"/> - <toolitem name="TransferToolbar" action="Transfer"/> - <toolitem name="RecordToolbar" action="Record"/> - <separator/> - <toolitem name="VoicemailToolbar" action="Voicemail"/> - <toolitem name="HistoryToolbar" action="History"/> - <toolitem name="AddressbookToolbar" action="Addressbook"/> - </toolbar> + <toolbar name="ToolbarActions"> + <toolitem name="NewCallToolbar" action="NewCall"/> + <toolitem name="PickUpToolbar" action="PickUp"/> + <toolitem name="HangUpToolbar" action="HangUp"/> + <toolitem name="OnHoldToolbar" action="OnHold"/> + <toolitem name="OffHoldToolbar" action="OffHold"/> + <toolitem name="TransferToolbar" action="Transfer"/> + <toolitem name="RecordToolbar" action="Record"/> + <separator/> + <toolitem name="VoicemailToolbar" action="Voicemail"/> + <toolitem name="HistoryToolbar" action="History"/> + <toolitem name="AddressbookToolbar" action="Addressbook"/> + </toolbar> - <popup name="PopupMenu"> - <menuitem action="Copy"/> - <menuitem action="Paste"/> - <separator/> - </popup> + <popup name="PopupMenu"> + <menuitem action="Copy"/> + <menuitem action="Paste"/> + <separator/> + </popup> </ui> diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c index 9a84bb90ac02c55cb6884eb8f674202bf4814f33..6812ba62eff24bdaa4f5b4e2c80c58b152749d8d 100644 --- a/sflphone-client-gnome/src/uimanager.c +++ b/sflphone-client-gnome/src/uimanager.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <config.h> @@ -27,11 +38,13 @@ #include <glib/gprintf.h> #include <libgnome/gnome-help.h> #include <uimanager.h> +#include <statusicon.h> static GtkWidget *toolbar; static GtkWidget *toolbarWindows; guint transfertButtonConnId; //The button toggled signal connection ID +guint recordButtonConnId; //The button toggled signal connection ID GtkAction * pickUpAction; GtkWidget * pickUpWidget; @@ -53,248 +66,298 @@ GtkWidget * voicemailToolbar; GtkWidget * editable_num; GtkDialog * edit_dialog; - -enum { - CALLTREE_CALLS, - CALLTREE_HISTORY, - CALLTREE_CONTACTS +enum +{ + CALLTREE_CALLS, CALLTREE_HISTORY, CALLTREE_CONTACTS }; - -static gboolean is_inserted (GtkWidget* button, GtkWidget *current_toolbar) +static gboolean +is_inserted(GtkWidget* button, GtkWidget *current_toolbar) { - return (GTK_WIDGET (button)->parent == GTK_WIDGET (current_toolbar)); + return (GTK_WIDGET (button)->parent == GTK_WIDGET (current_toolbar)); } -void update_actions() +void +update_actions() { - DEBUG("Update action"); - - gtk_action_set_sensitive( GTK_ACTION (newCallAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), FALSE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), FALSE); - - g_object_ref (hangUpWidget); - g_object_ref (recordWidget); - g_object_ref (holdToolbar); - g_object_ref (offHoldToolbar); - g_object_ref (contactButton); - g_object_ref (transferToolbar); - g_object_ref (voicemailToolbar); - - if (is_inserted (GTK_WIDGET(hangUpWidget), GTK_WIDGET (toolbar))) - { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (hangUpWidget)); - } - - if (is_inserted (GTK_WIDGET(recordWidget), GTK_WIDGET (toolbar))) - { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (recordWidget)); - } - - if (is_inserted (GTK_WIDGET(transferToolbar), GTK_WIDGET (toolbar))) - { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (transferToolbar)); - } - - if (is_inserted (GTK_WIDGET(contactButton), GTK_WIDGET (toolbar))) - { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (contactButton)); - } - - if (is_inserted (GTK_WIDGET (voicemailToolbar), GTK_WIDGET (toolbar))) - { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (voicemailToolbar)); - } - - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), FALSE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), FALSE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), FALSE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), FALSE); - gtk_action_set_sensitive (GTK_ACTION (copyAction), FALSE); - gtk_widget_set_sensitive( GTK_WIDGET(contactButton), FALSE); - gtk_widget_set_tooltip_text (GTK_WIDGET (contactButton), _("No address book selected")); - - if (is_inserted (GTK_WIDGET (holdToolbar), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (holdToolbar)); - if (is_inserted (GTK_WIDGET (offHoldToolbar), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (offHoldToolbar)); - - if (is_inserted (GTK_WIDGET (newCallWidget), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); - if (is_inserted (GTK_WIDGET (pickUpWidget), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (pickUpWidget)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (newCallWidget), 0); - - // If addressbook support has been enabled and all addressbooks are loaded, display the icon - if (addressbook_is_enabled () && addressbook_is_ready ()) { - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (contactButton), -1); - // Make the icon clickable only if at least one address book is active - if (addressbook_is_active ()) - { - gtk_widget_set_sensitive( GTK_WIDGET(contactButton), TRUE); - gtk_widget_set_tooltip_text (GTK_WIDGET (contactButton), _("Address book")); - } - } - - // g_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - // gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); - // g_signal_handler_unblock ( GTK_OBJECT (transferToolbar), transfertButtonConnId); - - callable_obj_t * selectedCall = calltab_get_selected_call(active_calltree); - conference_obj_t * selectedConf = calltab_get_selected_conf(active_calltree); - - if (selectedCall) - { - // DEBUG("------------------------- selected call ---------------------------\n"); - gtk_action_set_sensitive (GTK_ACTION (copyAction), TRUE); - - switch(selectedCall->_state) - { - case CALL_STATE_INCOMING: - // Make the button toolbar clickable - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - // Replace the dial button with the hangup button - g_object_ref (newCallWidget); - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET(newCallWidget)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), 0); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - break; - case CALL_STATE_HOLD: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (newCallWidget), TRUE); - // Replace the hold button with the off-hold button - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2); - break; - case CALL_STATE_RINGING: - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - break; - case CALL_STATE_DIALING: - gtk_action_set_sensitive (GTK_ACTION(pickUpAction), TRUE); - if (active_calltree == current_calls) gtk_action_set_sensitive( GTK_ACTION(hangUpAction), TRUE); - //gtk_action_set_sensitive( GTK_ACTION(newCallMenu),TRUE); - g_object_ref (newCallWidget); - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), 0); - if (active_calltree == current_calls) gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - break; - case CALL_STATE_CURRENT: - case CALL_STATE_RECORD: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - //gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (holdMenu), gtk_image_new_from_stock (GTK_STOCK_ONHOLD, GTK_ICON_SIZE_MENU)); - gtk_widget_set_sensitive (GTK_WIDGET (transferToolbar), TRUE); - //gtk_action_set_sensitive( GTK_ACTION(newCallMenu),TRUE); - gtk_action_set_sensitive( GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 3); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 4); - gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); - gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - break; - case CALL_STATE_BUSY: - case CALL_STATE_FAILURE: - gtk_action_set_sensitive( GTK_ACTION(hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - break; - case CALL_STATE_TRANSFERT: - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 2); - gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), TRUE); - gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (transferToolbar), TRUE); - break; - default: - WARN("Should not happen in update_actions()!"); - break; - } - } - else if (selectedConf){ - - // DEBUG("------------------------- selected conf ---------------------------\n"); - - switch(selectedConf->_state) { - - case CONFERENCE_STATE_ACTIVE_ATACHED: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - break; - - case CONFERENCE_STATE_ACTIVE_DETACHED: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - break; - - case CONFERENCE_STATE_RECORD: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - break; - - case CONFERENCE_STATE_HOLD: - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2); - break; - - default: - WARN("Should not happen in update_action()!"); - break; - - } - } - - else { - if( account_list_get_size() > 0 && current_account_has_mailbox ()) - { - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (voicemailToolbar), -2); - update_voicemail_status (); - } - } + DEBUG("Update action"); + + gtk_action_set_sensitive(GTK_ACTION (newCallAction), TRUE); + gtk_action_set_sensitive(GTK_ACTION (pickUpAction), FALSE); + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), FALSE); + + g_object_ref(hangUpWidget); + g_object_ref(recordWidget); + g_object_ref(holdToolbar); + g_object_ref(offHoldToolbar); + g_object_ref(contactButton); + g_object_ref(transferToolbar); + g_object_ref(voicemailToolbar); + + if (is_inserted(GTK_WIDGET(hangUpWidget), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (hangUpWidget)); + } + + if (is_inserted(GTK_WIDGET(recordWidget), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (recordWidget)); + } + + if (is_inserted(GTK_WIDGET(transferToolbar), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), + GTK_WIDGET (transferToolbar)); + } + + if (is_inserted(GTK_WIDGET(contactButton), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (contactButton)); + } + + if (is_inserted(GTK_WIDGET (voicemailToolbar), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), + GTK_WIDGET (voicemailToolbar)); + } + + gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET (offHoldToolbar), FALSE); + gtk_action_set_sensitive(GTK_ACTION (recordAction), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET (recordWidget), FALSE); + gtk_action_set_sensitive(GTK_ACTION (copyAction), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET(contactButton), FALSE); + gtk_widget_set_tooltip_text(GTK_WIDGET (contactButton), + _("No address book selected")); + + if (is_inserted(GTK_WIDGET (holdToolbar), GTK_WIDGET (toolbar))) + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (holdToolbar)); + if (is_inserted(GTK_WIDGET (offHoldToolbar), GTK_WIDGET (toolbar))) + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (offHoldToolbar)); + + if (is_inserted(GTK_WIDGET (newCallWidget), GTK_WIDGET (toolbar))) + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); + if (is_inserted(GTK_WIDGET (pickUpWidget), GTK_WIDGET (toolbar))) + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (pickUpWidget)); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (newCallWidget), 0); + + // If addressbook support has been enabled and all addressbooks are loaded, display the icon + if (addressbook_is_enabled() && addressbook_is_ready()) + { + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (contactButton), + -1); + // Make the icon clickable only if at least one address book is active + if (addressbook_is_active()) + { + gtk_widget_set_sensitive(GTK_WIDGET(contactButton), TRUE); + gtk_widget_set_tooltip_text(GTK_WIDGET (contactButton), + _("Address book")); + } + } + + // g_signal_handler_block (GTK_OBJECT (recordWidget), recordButtonConnId); + // gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (recordWidget), FALSE); + // g_signal_handler_unblock ( GTK_OBJECT (recordWidget), recordButtonConnId); + + callable_obj_t * selectedCall = calltab_get_selected_call(active_calltree); + conference_obj_t * selectedConf = calltab_get_selected_conf(active_calltree); + + if (selectedCall) + { + // update icon in systray + show_status_hangup_icon(); + + gtk_action_set_sensitive(GTK_ACTION (copyAction), TRUE); + + switch (selectedCall->_state) + { + case CALL_STATE_INCOMING: + // Make the button toolbar clickable + gtk_action_set_sensitive(GTK_ACTION (pickUpAction), TRUE); + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + // Replace the dial button with the hangup button + g_object_ref(newCallWidget); + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET(newCallWidget)); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), + 0); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + break; + case CALL_STATE_HOLD: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (offHoldToolbar), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (newCallWidget), TRUE); + // Replace the hold button with the off-hold button + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar), + GTK_TOOL_ITEM (offHoldToolbar), 2); + break; + case CALL_STATE_RINGING: + gtk_action_set_sensitive(GTK_ACTION (pickUpAction), TRUE); + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + break; + case CALL_STATE_DIALING: + gtk_action_set_sensitive(GTK_ACTION(pickUpAction), TRUE); + if (active_calltree == current_calls) + gtk_action_set_sensitive(GTK_ACTION(hangUpAction), TRUE); + //gtk_action_set_sensitive( GTK_ACTION(newCallMenu),TRUE); + g_object_ref(newCallWidget); + gtk_container_remove(GTK_CONTAINER (toolbar), + GTK_WIDGET (newCallWidget)); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), + 0); + if (active_calltree == current_calls) + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), + GTK_TOOL_ITEM (hangUpWidget), 1); + break; + case CALL_STATE_CURRENT: + case CALL_STATE_RECORD: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (transferToolbar), TRUE); + gtk_action_set_sensitive(GTK_ACTION (recordAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), + 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), + GTK_TOOL_ITEM (transferToolbar), 3); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), + 4); + gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); + gtk_toggle_tool_button_set_active( + GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); + gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); + + break; + case CALL_STATE_BUSY: + case CALL_STATE_FAILURE: + gtk_action_set_sensitive(GTK_ACTION(hangUpAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + break; + case CALL_STATE_TRANSFERT: + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), + GTK_TOOL_ITEM (transferToolbar), 2); + gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); + gtk_toggle_tool_button_set_active( + GTK_TOGGLE_TOOL_BUTTON (transferToolbar), TRUE); + gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (transferToolbar), TRUE); + break; + default: + WARN("Should not happen in update_actions()!") + ; + break; + } + } + else if (selectedConf) + { + + // update icon in systray + show_status_hangup_icon(); + + switch (selectedConf->_state) + { + + case CONFERENCE_STATE_ACTIVE_ATACHED: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), + 2); + break; + + case CONFERENCE_STATE_ACTIVE_DETACHED: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), + 2); + break; + + case CONFERENCE_STATE_RECORD: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), + 2); + break; + + case CONFERENCE_STATE_HOLD: + gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET (offHoldToolbar), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), + 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), + GTK_TOOL_ITEM (offHoldToolbar), 2); + break; + + default: + WARN("Should not happen in update_action()!") + ; + break; + + } + } + + else + { + + // update icon in systray + hide_status_hangup_icon(); + + if (account_list_get_size() > 0 && current_account_has_mailbox()) + { + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), + GTK_TOOL_ITEM (voicemailToolbar), -2); + update_voicemail_status(); + } + } } -void update_voicemail_status (void) +void +update_voicemail_status(void) { - gchar *messages = ""; - messages = g_markup_printf_escaped (_("Voicemail (%i)"), current_account_get_message_number ()); - (current_account_has_new_message ()) ? - gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (voicemailToolbar), "mail-message-new"): - gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (voicemailToolbar), "mail-read"); - gtk_tool_button_set_label (GTK_TOOL_BUTTON (voicemailToolbar), messages); - g_free (messages); + gchar *messages = ""; + messages = g_markup_printf_escaped(_("Voicemail (%i)"), + current_account_get_message_number()); + (current_account_has_new_message()) ? gtk_tool_button_set_icon_name( + GTK_TOOL_BUTTON (voicemailToolbar), "mail-message-new") + : gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (voicemailToolbar), + "mail-read"); + gtk_tool_button_set_label(GTK_TOOL_BUTTON (voicemailToolbar), messages); + g_free(messages); } -static void volume_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data) +static void +volume_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data) { - gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); - if (toggled == SHOW_VOLUME) - return; - main_window_volume_controls(toggled); - if (toggled || SHOW_VOLUME) - dbus_set_volume_controls(toggled); + gboolean toggled = gtk_toggle_action_get_active(togglemenuitem); + if (toggled == SHOW_VOLUME) + return; + main_window_volume_controls(toggled); + if (toggled || SHOW_VOLUME) + dbus_set_volume_controls(toggled); } -static void dialpad_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data) +static void +dialpad_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data) { gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); gboolean conf_dialpad = eel_gconf_get_boolean (CONF_SHOW_DIALPAD); @@ -303,1007 +366,1097 @@ static void dialpad_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data) main_window_dialpad (toggled); if (toggled || conf_dialpad) eel_gconf_set_boolean (CONF_SHOW_DIALPAD, toggled); //dbus_set_dialpad (toggled); + } -static void help_contents_cb (GtkAction *action) +static void +help_contents_cb(GtkAction *action) { - GError *error = NULL; + GError *error = NULL; - gnome_help_display ("sflphone.xml", NULL, &error); - if (error != NULL) { - g_warning ("%s", error->message); - g_error_free (error); - } + gnome_help_display("sflphone.xml", NULL, &error); + if (error != NULL) { + g_warning("%s", error->message); + g_error_free(error); + } } -static void help_about ( void * foo UNUSED) +static void +help_about(void * foo UNUSED) { - gchar *authors[] = { - "Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com>", - "Jean-Philippe Barrette-LaPierre", - "Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>", - "Julien Bonjean <julien.bonjean@savoirfairelinux.com>", - "Alexandre Bourget <alexandre.bourget@savoirfairelinux.com>", - "Laurielle Lea", - "Yun Liu <yun.liu@savoirfairelinux.com>", - "Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>", - "Yan Morin <yan.morin@savoirfairelinux.com>", - "Jérôme Oufella <jerome.oufella@savoirfairelinux.com>", - "Julien Plissonneau Duquene <julien.plissonneau.duquene@savoirfairelinux.com>", - "Alexandre Savard <alexandre.savard@savoirfairelinux.com>", - NULL}; - gchar *artists[] = { - "Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>", - "Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>", - NULL}; - - gtk_show_about_dialog( GTK_WINDOW(get_main_window()), - "artists", artists, - "authors", authors, - "comments", _("SFLphone is a VoIP client compatible with SIP and IAX2 protocols."), - "copyright", "Copyright © 2004-2009 Savoir-faire Linux Inc.", - "name", PACKAGE, - "title", _("About SFLphone"), - "version", VERSION, - "website", "http://www.sflphone.org", - NULL); + gchar + *authors[] = + { + "Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com>", + "Jean-Philippe Barrette-LaPierre", + "Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>", + "Julien Bonjean <julien.bonjean@savoirfairelinux.com>", + "Alexandre Bourget <alexandre.bourget@savoirfairelinux.com>", + "Laurielle Lea", + "Yun Liu <yun.liu@savoirfairelinux.com>", + "Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>", + "Yan Morin <yan.morin@savoirfairelinux.com>", + "Jérôme Oufella <jerome.oufella@savoirfairelinux.com>", + "Julien Plissonneau Duquene <julien.plissonneau.duquene@savoirfairelinux.com>", + "Alexandre Savard <alexandre.savard@savoirfairelinux.com>", NULL }; + gchar *artists[] = + { "Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>", + "Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>", NULL }; + + gtk_show_about_dialog(GTK_WINDOW(get_main_window()), "artists", artists, + "authors", authors, "comments", + _("SFLphone is a VoIP client compatible with SIP and IAX2 protocols."), + "copyright", "Copyright © 2004-2009 Savoir-faire Linux Inc.", "name", + PACKAGE, "title", _("About SFLphone"), "version", VERSION, "website", + "http://www.sflphone.org", NULL); } /* ----------------------------------------------------------------- */ - static void -call_new_call ( void * foo UNUSED) +static void +call_new_call(void * foo UNUSED) { - sflphone_new_call(); + sflphone_new_call(); } - static void -call_quit ( void * foo UNUSED) +static void +call_quit(void * foo UNUSED) { - sflphone_quit(); + sflphone_quit(); } - static void -call_minimize ( void * foo UNUSED) +static void +call_minimize(void * foo UNUSED) { -#if GTK_CHECK_VERSION(2,10,0) - gtk_widget_hide(GTK_WIDGET( get_main_window() )); - set_minimized( TRUE ); -#endif + + if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) { + gtk_widget_hide(GTK_WIDGET( get_main_window() )); + set_minimized(TRUE); + } + else { + sflphone_quit (); + } } - static void -switch_account( GtkWidget* item , gpointer data UNUSED) +static void +switch_account(GtkWidget* item, gpointer data UNUSED) { - account_t* acc = g_object_get_data( G_OBJECT(item) , "account" ); - DEBUG("%s" , acc->accountID); - account_list_set_current (acc); - status_bar_display_account (); + account_t* acc = g_object_get_data(G_OBJECT(item), "account"); + DEBUG("%s" , acc->accountID); + account_list_set_current(acc); + status_bar_display_account(); } - static void -call_hold (void* foo UNUSED) +static void +call_hold(void* foo UNUSED) { - callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); - conference_obj_t * selectedConf = calltab_get_selected_conf(); - - if(selectedCall) - { - if(selectedCall->_state == CALL_STATE_HOLD) - { - sflphone_off_hold(); - } - else - { - sflphone_on_hold(); - } - } - else if (selectedConf) { - - switch(selectedConf->_state) { - - case CONFERENCE_STATE_HOLD: - { - selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; - sflphone_conference_off_hold(selectedConf); - } - break; - - case CONFERENCE_STATE_ACTIVE_ATACHED: - case CONFERENCE_STATE_ACTIVE_DETACHED: { - selectedConf->_state = CONFERENCE_STATE_HOLD; - sflphone_conference_on_hold(selectedConf); - } - break; - default: - break; - } - - } + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); + conference_obj_t * selectedConf = calltab_get_selected_conf(); + + if (selectedCall) + { + if (selectedCall->_state == CALL_STATE_HOLD) + { + sflphone_off_hold(); + } + else + { + sflphone_on_hold(); + } + } + else if (selectedConf) + { + + switch (selectedConf->_state) + { + + case CONFERENCE_STATE_HOLD: + { + selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; + sflphone_conference_off_hold(selectedConf); + } + break; + + case CONFERENCE_STATE_ACTIVE_ATACHED: + case CONFERENCE_STATE_ACTIVE_DETACHED: + { + selectedConf->_state = CONFERENCE_STATE_HOLD; + sflphone_conference_on_hold(selectedConf); + } + break; + default: + break; + } + + } } - static void -conference_hold (void* foo UNUSED) +static void +conference_hold(void* foo UNUSED) { - conference_obj_t * selectedConf = calltab_get_selected_conf(); - - switch(selectedConf->_state) - { - case CONFERENCE_STATE_HOLD: - { - selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; - sflphone_conference_off_hold(selectedConf); - } - break; - - case CONFERENCE_STATE_ACTIVE_ATACHED: - case CONFERENCE_STATE_ACTIVE_DETACHED: - { - selectedConf->_state = CONFERENCE_STATE_HOLD; - sflphone_conference_on_hold(selectedConf); - } - break; - default: - break; - } + conference_obj_t * selectedConf = calltab_get_selected_conf(); + + switch (selectedConf->_state) + { + case CONFERENCE_STATE_HOLD: + { + selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; + sflphone_conference_off_hold(selectedConf); + } + break; + + case CONFERENCE_STATE_ACTIVE_ATACHED: + case CONFERENCE_STATE_ACTIVE_DETACHED: + { + selectedConf->_state = CONFERENCE_STATE_HOLD; + sflphone_conference_on_hold(selectedConf); + } + break; + default: + break; + } } - static void -call_pick_up ( void * foo UNUSED) +static void +call_pick_up(void * foo UNUSED) { - DEBUG("------ call_button -----"); - callable_obj_t * selectedCall; - callable_obj_t* new_call; - - selectedCall = calltab_get_selected_call(active_calltree); - - if(calllist_get_size(current_calls)>0) - sflphone_pick_up(); - - else if(calllist_get_size(active_calltree) > 0){ - if( selectedCall) - { - create_new_call (CALL, CALL_STATE_DIALING, "", "", "", selectedCall->_peer_number, &new_call); - - calllist_add(current_calls, new_call); - calltree_add_call(current_calls, new_call, NULL); - sflphone_place_call(new_call); - calltree_display (current_calls); - } - else - { - sflphone_new_call(); - calltree_display(current_calls); - } - } - else - { - sflphone_new_call(); - calltree_display(current_calls); - } + DEBUG("------ call_button -----"); + callable_obj_t * selectedCall; + callable_obj_t* new_call; + + selectedCall = calltab_get_selected_call(active_calltree); + + if (calllist_get_size(current_calls) > 0) + sflphone_pick_up(); + + else if (calllist_get_size(active_calltree) > 0) + { + if (selectedCall) + { + create_new_call(CALL, CALL_STATE_DIALING, "", "", "", + selectedCall->_peer_number, &new_call); + + calllist_add(current_calls, new_call); + calltree_add_call(current_calls, new_call, NULL); + sflphone_place_call(new_call); + calltree_display(current_calls); + } + else + { + sflphone_new_call(); + calltree_display(current_calls); + } + } + else + { + sflphone_new_call(); + calltree_display(current_calls); + } } -static void call_hang_up (void) +static void +call_hang_up(void) { + /* + * [#3020] Restore the record toggle button + * We set it to FALSE, as when we hang up a call, the recording is stopped. + */ + gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (recordWidget), FALSE); + sflphone_hang_up(); + } -static void conference_hang_up (void) +static void +conference_hang_up(void) { - sflphone_conference_hang_up(); + sflphone_conference_hang_up(); } -static void call_record (void) +static void +call_record(void) { - sflphone_rec_call(); + sflphone_rec_call(); } - static void -call_configuration_assistant ( void * foo UNUSED) +static void +call_configuration_assistant(void * foo UNUSED) { #if GTK_CHECK_VERSION(2,10,0) - build_wizard(); + build_wizard(); #endif } - static void -remove_from_history( void * foo UNUSED) +static void +remove_from_history(void * foo UNUSED) { - callable_obj_t* c = calltab_get_selected_call( history ); - if(c){ - DEBUG("Remove the call from the history"); - calllist_remove_from_history( c ); - } + callable_obj_t* c = calltab_get_selected_call(history); + if (c) + { + DEBUG("Remove the call from the history"); + calllist_remove_from_history(c); + } } - static void -call_back( void * foo UNUSED) +static void +call_back(void * foo UNUSED) { - callable_obj_t *selected_call, *new_call; + callable_obj_t *selected_call, *new_call; - selected_call = calltab_get_selected_call( active_calltree ); + selected_call = calltab_get_selected_call(active_calltree); - if( selected_call ) - { - create_new_call (CALL, CALL_STATE_DIALING, "", "", selected_call->_peer_name, selected_call->_peer_number, &new_call); + if (selected_call) + { + create_new_call(CALL, CALL_STATE_DIALING, "", "", + selected_call->_peer_name, selected_call->_peer_number, &new_call); - calllist_add(current_calls, new_call); - calltree_add_call(current_calls, new_call, NULL); - sflphone_place_call(new_call); - calltree_display (current_calls); - } + calllist_add(current_calls, new_call); + calltree_add_call(current_calls, new_call, NULL); + sflphone_place_call(new_call); + calltree_display(current_calls); + } } - static void -edit_preferences ( void * foo UNUSED) +static void +edit_preferences(void * foo UNUSED) { - show_preferences_dialog(); + show_preferences_dialog(); } - static void -edit_accounts ( void * foo UNUSED) +static void +edit_accounts(void * foo UNUSED) { - show_account_list_config_dialog(); + show_account_list_config_dialog(); } // The menu Edit/Copy should copy the current selected call's number - static void -edit_copy ( void * foo UNUSED) +static void +edit_copy(void * foo UNUSED) { - GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); - callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); - gchar * no = NULL; - - if(selectedCall) - { - switch(selectedCall->_state) - { - case CALL_STATE_TRANSFERT: - case CALL_STATE_DIALING: - case CALL_STATE_RINGING: - no = selectedCall->_peer_number; - break; - case CALL_STATE_CURRENT: - case CALL_STATE_HOLD: - case CALL_STATE_BUSY: - case CALL_STATE_FAILURE: - case CALL_STATE_INCOMING: - default: - no = selectedCall->_peer_number; - break; - } - DEBUG("Clipboard number: %s\n", no); - gtk_clipboard_set_text (clip, no, strlen(no) ); - } + GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); + gchar * no = NULL; + + if (selectedCall) + { + switch (selectedCall->_state) + { + case CALL_STATE_TRANSFERT: + case CALL_STATE_DIALING: + case CALL_STATE_RINGING: + no = selectedCall->_peer_number; + break; + case CALL_STATE_CURRENT: + case CALL_STATE_HOLD: + case CALL_STATE_BUSY: + case CALL_STATE_FAILURE: + case CALL_STATE_INCOMING: + default: + no = selectedCall->_peer_number; + break; + } + DEBUG("Clipboard number: %s\n", no); + gtk_clipboard_set_text(clip, no, strlen(no)); + } } // The menu Edit/Paste should paste the clipboard into the current selected call - static void -edit_paste ( void * foo UNUSED) +static void +edit_paste(void * foo UNUSED) { - GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); - callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); - gchar * no = gtk_clipboard_wait_for_text (clip); - - if(no && selectedCall) - { - switch(selectedCall->_state) - { - case CALL_STATE_TRANSFERT: - case CALL_STATE_DIALING: - // Add the text to the number - { - gchar * before; - before = selectedCall->_peer_number; - DEBUG("TO: %s\n", before); - selectedCall->_peer_number = g_strconcat(before, no, NULL); - - if(selectedCall->_state == CALL_STATE_DIALING) - { - selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - } - calltree_update_call(current_calls, selectedCall, NULL); - } - break; - case CALL_STATE_RINGING: - case CALL_STATE_INCOMING: - case CALL_STATE_BUSY: - case CALL_STATE_FAILURE: - case CALL_STATE_HOLD: - { // Create a new call to hold the new text - selectedCall = sflphone_new_call(); - - gchar * before = selectedCall->_peer_number; - selectedCall->_peer_number = g_strconcat(selectedCall->_peer_number, no, NULL); - DEBUG("TO: %s", selectedCall->_peer_number); - - selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - - calltree_update_call(current_calls, selectedCall, NULL); - } - break; - case CALL_STATE_CURRENT: - default: - { - unsigned int i; - for(i = 0; i < strlen(no); i++) - { - gchar * oneNo = g_strndup(&no[i], 1); - DEBUG("<%s>", oneNo); - dbus_play_dtmf(oneNo); - - gchar * temp = g_strconcat(selectedCall->_peer_number, oneNo, NULL); - selectedCall->_peer_info = get_peer_info (temp, selectedCall->_peer_name); - // g_free(temp); - calltree_update_call(current_calls, selectedCall, NULL); - - } - } - break; - } - - } - else // There is no current call, create one - { - selectedCall = sflphone_new_call(); - - gchar * before = selectedCall->_peer_number; - selectedCall->_peer_number = g_strconcat(selectedCall->_peer_number, no, NULL); - g_free(before); - DEBUG("TO: %s", selectedCall->_peer_number); - - g_free(selectedCall->_peer_info); - selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - calltree_update_call(current_calls, selectedCall, NULL); - } + GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); + gchar * no = gtk_clipboard_wait_for_text(clip); + + if (no && selectedCall) + { + switch (selectedCall->_state) + { + case CALL_STATE_TRANSFERT: + case CALL_STATE_DIALING: + // Add the text to the number + { + gchar * before; + before = selectedCall->_peer_number; + DEBUG("TO: %s\n", before); + selectedCall->_peer_number = g_strconcat(before, no, NULL); + + if (selectedCall->_state == CALL_STATE_DIALING) + { + selectedCall->_peer_info = g_strconcat("\"\" <", + selectedCall->_peer_number, ">", NULL); + } + calltree_update_call(current_calls, selectedCall, NULL); + } + break; + case CALL_STATE_RINGING: + case CALL_STATE_INCOMING: + case CALL_STATE_BUSY: + case CALL_STATE_FAILURE: + case CALL_STATE_HOLD: + { // Create a new call to hold the new text + selectedCall = sflphone_new_call(); + + gchar * before = selectedCall->_peer_number; + selectedCall->_peer_number = g_strconcat(selectedCall->_peer_number, + no, NULL); + DEBUG("TO: %s", selectedCall->_peer_number); + + selectedCall->_peer_info = g_strconcat("\"\" <", + selectedCall->_peer_number, ">", NULL); + + calltree_update_call(current_calls, selectedCall, NULL); + } + break; + case CALL_STATE_CURRENT: + default: + { + unsigned int i; + for (i = 0; i < strlen(no); i++) + { + gchar * oneNo = g_strndup(&no[i], 1); + DEBUG("<%s>", oneNo); + dbus_play_dtmf(oneNo); + + gchar * temp = g_strconcat(selectedCall->_peer_number, oneNo, + NULL); + selectedCall->_peer_info = get_peer_info(temp, + selectedCall->_peer_name); + // g_free(temp); + calltree_update_call(current_calls, selectedCall, NULL); + + } + } + break; + } + + } + else // There is no current call, create one + { + selectedCall = sflphone_new_call(); + + gchar * before = selectedCall->_peer_number; + selectedCall->_peer_number = g_strconcat(selectedCall->_peer_number, no, + NULL); + g_free(before); + DEBUG("TO: %s", selectedCall->_peer_number); + + g_free(selectedCall->_peer_info); + selectedCall->_peer_info = g_strconcat("\"\" <", + selectedCall->_peer_number, ">", NULL); + calltree_update_call(current_calls, selectedCall, NULL); + } } -static void clear_history (void) +static void +clear_history(void) { - if( calllist_get_size( history ) != 0 ){ - calllist_clean_history(); - } + if (calllist_get_size(history) != 0) + { + calllist_clean_history(); + } } /** * Transfert the line */ -static void call_transfer_cb () +static void +call_transfer_cb() { - gboolean active = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar)); - active ? sflphone_set_transfert() : sflphone_unset_transfert() ; + gboolean active = gtk_toggle_tool_button_get_active( + GTK_TOGGLE_TOOL_BUTTON (transferToolbar)); + active ? sflphone_set_transfert() : sflphone_unset_transfert(); } -static void call_mailbox_cb (void) +static void +call_mailbox_cb(void) { - account_t* current; - callable_obj_t *mailbox_call; - gchar *to, *from, *account_id; - - current = account_list_get_current (); - if( current == NULL ) // Should not happens - return; - - to = g_strdup(g_hash_table_lookup(current->properties, ACCOUNT_MAILBOX)); - account_id = g_strdup (current->accountID); - - create_new_call (CALL, CALL_STATE_DIALING, "", account_id, _("Voicemail"), to, &mailbox_call); - DEBUG("TO : %s" , mailbox_call->_peer_number); - calllist_add( current_calls , mailbox_call ); - calltree_add_call( current_calls, mailbox_call, NULL); - update_actions(); - sflphone_place_call( mailbox_call ); - calltree_display(current_calls); + account_t* current; + callable_obj_t *mailbox_call; + gchar *to, *from, *account_id; + + current = account_list_get_current(); + if (current == NULL) // Should not happens + return; + + to = g_strdup(g_hash_table_lookup(current->properties, ACCOUNT_MAILBOX)); + account_id = g_strdup(current->accountID); + + create_new_call(CALL, CALL_STATE_DIALING, "", account_id, _("Voicemail"), to, + &mailbox_call); + DEBUG("TO : %s" , mailbox_call->_peer_number); + calllist_add(current_calls, mailbox_call); + calltree_add_call(current_calls, mailbox_call, NULL); + update_actions(); + sflphone_place_call(mailbox_call); + calltree_display(current_calls); } -static void toggle_history_cb (GtkToggleAction *action, gpointer user_data) +static void +toggle_history_cb(GtkToggleAction *action, gpointer user_data) { - gboolean toggle; - toggle = gtk_toggle_action_get_active (action); - (toggle)? calltree_display (history) : calltree_display (current_calls); + gboolean toggle; + toggle = gtk_toggle_action_get_active(action); + (toggle) ? calltree_display(history) : calltree_display(current_calls); } -static void toggle_addressbook_cb (GtkToggleAction *action, gpointer user_data) +static void +toggle_addressbook_cb(GtkToggleAction *action, gpointer user_data) { - gboolean toggle; - toggle = gtk_toggle_action_get_active (action); - (toggle)? calltree_display (contacts) : calltree_display (current_calls); + gboolean toggle; + toggle = gtk_toggle_action_get_active(action); + (toggle) ? calltree_display(contacts) : calltree_display(current_calls); } -static const GtkActionEntry menu_entries[] = { - - // Call Menu - { "Call", NULL, N_("Call") }, - { "NewCall", GTK_STOCK_DIAL, N_("_New call"), "<control>N", N_("Place a new call"), G_CALLBACK (call_new_call) }, - { "PickUp", GTK_STOCK_PICKUP, N_("_Pick up"), NULL, N_("Answer the call"), G_CALLBACK (call_pick_up) }, - { "HangUp", GTK_STOCK_HANGUP, N_("_Hang up"), "<control>S", N_("Finish the call"), G_CALLBACK (call_hang_up) }, - { "OnHold", GTK_STOCK_ONHOLD, N_("O_n hold"), "<control>P", N_("Place the call on hold"), G_CALLBACK (call_hold) }, - { "OffHold", GTK_STOCK_OFFHOLD, N_("O_ff hold"), "<control>P", N_("Place the call off hold"), G_CALLBACK (call_hold) }, - { "Record", GTK_STOCK_MEDIA_RECORD, N_("_Record"), "<control>R", N_("Record the current conversation"), G_CALLBACK (call_record) }, - { "AccountAssistant", NULL, N_("Configuration _Assistant"), NULL, N_("Run the configuration assistant"), G_CALLBACK (call_configuration_assistant) }, - { "Voicemail", "mail-read", N_("Voicemail"), NULL, N_("Call your voicemail"), G_CALLBACK (call_mailbox_cb) }, - { "Close", GTK_STOCK_CLOSE, N_("_Close"), "<control>W", N_("Minimize to system tray"), G_CALLBACK (call_minimize) }, - { "Quit", GTK_STOCK_CLOSE, N_("_Quit"), "<control>Q", N_("Quit the program"), G_CALLBACK (call_quit) }, - - // Edit Menu - { "Edit", NULL, N_("_Edit") }, - { "Copy", GTK_STOCK_COPY, N_("_Copy"), "<control>C", N_("Copy the selection"), G_CALLBACK (edit_copy) }, - { "Paste", GTK_STOCK_PASTE, N_("_Paste"), "<control>V", N_("Paste the clipboard"), G_CALLBACK (edit_paste) }, - { "ClearHistory", GTK_STOCK_CLEAR, N_("Clear _history"), NULL, N_("Clear the call history"), G_CALLBACK (clear_history) }, - { "Accounts", NULL, N_("_Accounts"), NULL, N_("Edit your accounts"), G_CALLBACK (edit_accounts) }, - { "Preferences", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, N_("Change your preferences"), G_CALLBACK (edit_preferences) }, - - // View Menu - { "View", NULL, N_("_View") }, - - // Help menu - { "Help", NULL, N_("_Help") }, - { "HelpContents", GTK_STOCK_HELP, N_("Contents"), "F1", N_("Open the manual"), G_CALLBACK (help_contents_cb) }, - { "About", GTK_STOCK_ABOUT, NULL, NULL, N_("About this application"), G_CALLBACK (help_about) } - -}; - -static const GtkToggleActionEntry toggle_menu_entries[] = { - - { "Transfer", GTK_STOCK_TRANSFER, N_("_Transfer"), "<control>T", N_("Transfer the call"), NULL }, //G_CALLBACK (call_transfer_cb) }, - { "Toolbar", NULL, N_("_Show toolbar"), "<control>T", N_("Show the toolbar"), NULL }, - { "Dialpad", NULL, N_("_Dialpad"), "<control>D", N_("Show the dialpad"), G_CALLBACK (dialpad_bar_cb) }, - { "VolumeControls",NULL, N_("_Volume controls"), "<control>V", N_("Show the volume controls"), G_CALLBACK (volume_bar_cb) }, - { "History", "appointment-soon", N_("_History"), NULL, N_("Calls history"), G_CALLBACK (toggle_history_cb), FALSE}, - { "Addressbook", GTK_STOCK_ADDRESSBOOK, N_("_Address book"), NULL, N_("Address book"), G_CALLBACK (toggle_addressbook_cb), FALSE} - -}; +static const GtkActionEntry menu_entries[] = + { + + // Call Menu + { "Call", NULL, N_("Call") }, + { "NewCall", GTK_STOCK_DIAL, N_("_New call"), "<control>N", + N_("Place a new call"), G_CALLBACK (call_new_call) }, + { "PickUp", GTK_STOCK_PICKUP, N_("_Pick up"), NULL, + N_("Answer the call"), G_CALLBACK (call_pick_up) }, + { "HangUp", GTK_STOCK_HANGUP, N_("_Hang up"), "<control>S", + N_("Finish the call"), G_CALLBACK (call_hang_up) }, + { "OnHold", GTK_STOCK_ONHOLD, N_("O_n hold"), "<control>P", + N_("Place the call on hold"), G_CALLBACK (call_hold) }, + { "OffHold", GTK_STOCK_OFFHOLD, N_("O_ff hold"), "<control>P", + N_("Place the call off hold"), G_CALLBACK (call_hold) }, + { "AccountAssistant", NULL, N_("Configuration _Assistant"), NULL, + N_("Run the configuration assistant"), + G_CALLBACK (call_configuration_assistant) }, + { "Voicemail", "mail-read", N_("Voicemail"), NULL, + N_("Call your voicemail"), G_CALLBACK (call_mailbox_cb) }, + { "Close", GTK_STOCK_CLOSE, N_("_Close"), "<control>W", + N_("Minimize to system tray"), G_CALLBACK (call_minimize) }, + { "Quit", GTK_STOCK_CLOSE, N_("_Quit"), "<control>Q", + N_("Quit the program"), G_CALLBACK (call_quit) }, + + // Edit Menu + { "Edit", NULL, N_("_Edit") }, + { "Copy", GTK_STOCK_COPY, N_("_Copy"), "<control>C", + N_("Copy the selection"), G_CALLBACK (edit_copy) }, + { "Paste", GTK_STOCK_PASTE, N_("_Paste"), "<control>V", + N_("Paste the clipboard"), G_CALLBACK (edit_paste) }, + { "ClearHistory", GTK_STOCK_CLEAR, N_("Clear _history"), NULL, + N_("Clear the call history"), G_CALLBACK (clear_history) }, + { "Accounts", NULL, N_("_Accounts"), NULL, N_("Edit your accounts"), + G_CALLBACK (edit_accounts) }, + { "Preferences", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, + N_("Change your preferences"), G_CALLBACK (edit_preferences) }, + + // View Menu + { "View", NULL, N_("_View") }, + + // Help menu + { "Help", NULL, N_("_Help") }, + { "HelpContents", GTK_STOCK_HELP, N_("Contents"), "F1", + N_("Open the manual"), G_CALLBACK (help_contents_cb) }, + { "About", GTK_STOCK_ABOUT, NULL, NULL, N_("About this application"), + G_CALLBACK (help_about) } + + }; + +static const GtkToggleActionEntry toggle_menu_entries[] = + { + + { "Transfer", GTK_STOCK_TRANSFER, N_("_Transfer"), "<control>T", + N_("Transfer the call"), NULL }, //G_CALLBACK (call_transfer_cb) }, + { "Record", GTK_STOCK_MEDIA_RECORD, N_("_Record"), "<control>R", + N_("Record the current conversation"), NULL }, // G_CALLBACK (call_record) }, + { "Toolbar", NULL, N_("_Show toolbar"), "<control>T", + N_("Show the toolbar"), NULL }, + { "Dialpad", NULL, N_("_Dialpad"), "<control>D", + N_("Show the dialpad"), G_CALLBACK (dialpad_bar_cb) }, + { "VolumeControls", NULL, N_("_Volume controls"), "<control>V", + N_("Show the volume controls"), G_CALLBACK (volume_bar_cb) }, + { "History", "appointment-soon", N_("_History"), NULL, + N_("Calls history"), G_CALLBACK (toggle_history_cb), FALSE }, + { "Addressbook", GTK_STOCK_ADDRESSBOOK, N_("_Address book"), NULL, + N_("Address book"), G_CALLBACK (toggle_addressbook_cb), FALSE } + + }; + +gboolean +uimanager_new(GtkUIManager **_ui_manager) +{ -gboolean uimanager_new (GtkUIManager **_ui_manager) { - - GtkUIManager *ui_manager; - GtkActionGroup *action_group; - GtkWidget *window; - gchar *path; - GError *error = NULL; - - window = get_main_window (); - ui_manager = gtk_ui_manager_new (); - - /* Create an accel group for window's shortcuts */ - path = g_build_filename (SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL); - if (g_file_test (path, G_FILE_TEST_EXISTS)) { - gtk_ui_manager_add_ui_from_file (ui_manager, path, &error); - - if (error != NULL) - { - g_error_free (error); - return FALSE; - } - g_free (path); - } - else { - path = g_build_filename (SFLPHONE_UIDIR, "./ui.xml", NULL); - if (g_file_test (path, G_FILE_TEST_EXISTS)) { - gtk_ui_manager_add_ui_from_file (ui_manager, path, &error); - - if (error != NULL) - { - g_error_free (error); - return FALSE; - } - g_free (path); - } - else - return FALSE; - } - action_group = gtk_action_group_new ("SFLphoneWindowActions"); - // To translate label and tooltip entries - gtk_action_group_set_translation_domain (action_group, "sflphone-client-gnome"); - gtk_action_group_add_actions (action_group, menu_entries, G_N_ELEMENTS (menu_entries), window); - gtk_action_group_add_toggle_actions (action_group, toggle_menu_entries, G_N_ELEMENTS (toggle_menu_entries), window); - //gtk_action_group_add_radio_actions (action_group, radio_menu_entries, G_N_ELEMENTS (radio_menu_entries), CALLTREE_CALLS, G_CALLBACK (calltree_switch_cb), window); - gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); - - *_ui_manager = ui_manager; - - return TRUE; + GtkUIManager *ui_manager; + GtkActionGroup *action_group; + GtkWidget *window; + gchar *path; + GError *error = NULL; + + window = get_main_window(); + ui_manager = gtk_ui_manager_new(); + + /* Create an accel group for window's shortcuts */ + path = g_build_filename(SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL); + if (g_file_test(path, G_FILE_TEST_EXISTS)) + { + gtk_ui_manager_add_ui_from_file(ui_manager, path, &error); + + if (error != NULL) + { + g_error_free(error); + return FALSE; + } + g_free(path); + } + else + { + path = g_build_filename(SFLPHONE_UIDIR, "./ui.xml", NULL); + if (g_file_test(path, G_FILE_TEST_EXISTS)) + { + gtk_ui_manager_add_ui_from_file(ui_manager, path, &error); + + if (error != NULL) + { + g_error_free(error); + return FALSE; + } + g_free(path); + } + else + return FALSE; + } + action_group = gtk_action_group_new("SFLphoneWindowActions"); + // To translate label and tooltip entries + gtk_action_group_set_translation_domain(action_group, "sflphone-client-gnome"); + gtk_action_group_add_actions(action_group, menu_entries, + G_N_ELEMENTS (menu_entries), window); + gtk_action_group_add_toggle_actions(action_group, toggle_menu_entries, + G_N_ELEMENTS (toggle_menu_entries), window); + //gtk_action_group_add_radio_actions (action_group, radio_menu_entries, G_N_ELEMENTS (radio_menu_entries), CALLTREE_CALLS, G_CALLBACK (calltree_switch_cb), window); + gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); + + *_ui_manager = ui_manager; + + return TRUE; } -static void edit_number_cb (GtkWidget *widget UNUSED, gpointer user_data) { - +static void +edit_number_cb(GtkWidget *widget UNUSED, gpointer user_data) +{ - show_edit_number ((callable_obj_t*)user_data); + show_edit_number((callable_obj_t*) user_data); } -void add_registered_accounts_to_menu (GtkWidget *menu) { - - GtkWidget *menu_items; - unsigned int i; - account_t* acc, *current; - gchar* alias; - - menu_items = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - - for( i = 0 ; i < account_list_get_size() ; i++ ){ - acc = account_list_get_nth(i); - // Display only the registered accounts - if( g_strcasecmp( account_state_name(acc->state) , account_state_name(ACCOUNT_STATE_REGISTERED) ) == 0 ){ - alias = g_strconcat( g_hash_table_lookup(acc->properties , ACCOUNT_ALIAS) , " - ",g_hash_table_lookup(acc->properties , ACCOUNT_TYPE), NULL); - menu_items = gtk_check_menu_item_new_with_mnemonic(alias); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_object_set_data( G_OBJECT( menu_items ) , "account" , acc ); - g_free( alias ); - current = account_list_get_current(); - if(current){ - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), - (g_strcasecmp( acc->accountID , current->accountID) == 0)? TRUE : FALSE); - } - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (switch_account), - NULL); - gtk_widget_show (menu_items); - } // fi - } +void +add_registered_accounts_to_menu(GtkWidget *menu) +{ -} + GtkWidget *menu_items; + unsigned int i; + account_t* acc, *current; + gchar* alias; + + menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + gtk_widget_show(menu_items); + + for (i = 0; i < account_list_get_size(); i++) + { + acc = account_list_get_nth(i); + // Display only the registered accounts + if (g_strcasecmp(account_state_name(acc->state), account_state_name( + ACCOUNT_STATE_REGISTERED)) == 0) + { + alias = g_strconcat(g_hash_table_lookup(acc->properties, + ACCOUNT_ALIAS), " - ", g_hash_table_lookup(acc->properties, + ACCOUNT_TYPE), NULL); + menu_items = gtk_check_menu_item_new_with_mnemonic(alias); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_object_set_data(G_OBJECT( menu_items ), "account", acc); + g_free(alias); + current = account_list_get_current(); + if (current) + { + gtk_check_menu_item_set_active( + GTK_CHECK_MENU_ITEM(menu_items), + (g_strcasecmp(acc->accountID, current->accountID) == 0) ? TRUE + : FALSE); + } + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (switch_account), + NULL); + gtk_widget_show(menu_items); + } // fi + } +} - void -show_popup_menu (GtkWidget *my_widget, GdkEventButton *event) +void +show_popup_menu(GtkWidget *my_widget, GdkEventButton *event) { - // TODO update the selection to make sure the call under the mouse is the call selected - - // call type boolean - gboolean pickup = FALSE, hangup = FALSE, hold = FALSE, copy = FALSE, record = FALSE, detach = FALSE; - gboolean accounts = FALSE; - - // conference type boolean - gboolean hangup_conf = FALSE, hold_conf = FALSE; - - callable_obj_t * selectedCall; - conference_obj_t * selectedConf; - - if (calltab_get_selected_type(current_calls) == A_CALL) - { - DEBUG("MENUS: SELECTED A CALL"); - selectedCall = calltab_get_selected_call(current_calls); - - if (selectedCall) - { - copy = TRUE; - switch(selectedCall->_state) - { - case CALL_STATE_INCOMING: - pickup = TRUE; - hangup = TRUE; - detach = TRUE; - break; - case CALL_STATE_HOLD: - hangup = TRUE; - hold = TRUE; - detach = TRUE; - break; - case CALL_STATE_RINGING: - hangup = TRUE; - detach = TRUE; - break; - case CALL_STATE_DIALING: - pickup = TRUE; - hangup = TRUE; - accounts = TRUE; - break; - case CALL_STATE_RECORD: - case CALL_STATE_CURRENT: - hangup = TRUE; - hold = TRUE; - record = TRUE; - detach = TRUE; - break; - case CALL_STATE_BUSY: - case CALL_STATE_FAILURE: - hangup = TRUE; - break; - default: - WARN("Should not happen in show_popup_menu for calls!"); - break; - } - } - } - else - { - DEBUG("MENUS: SELECTED A CONF"); - selectedConf = calltab_get_selected_conf(); - - if (selectedConf) - { - switch(selectedConf->_state) - { - case CONFERENCE_STATE_ACTIVE_ATACHED: - hangup_conf = TRUE; - hold_conf = TRUE; - break; - case CONFERENCE_STATE_ACTIVE_DETACHED: - break; - case CONFERENCE_STATE_HOLD: - hangup_conf = TRUE; - hold_conf = TRUE; - break; - default: - WARN("Should not happen in show_popup_menu for conferences!"); - break; - } - } - - } - - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new (); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - if (calltab_get_selected_type(current_calls) == A_CALL) - { - DEBUG("BUILD CALL MENU"); - - if(copy) - { - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_COPY, get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (edit_copy), - NULL); - gtk_widget_show (menu_items); - } - - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_PASTE, get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (edit_paste), - NULL); - gtk_widget_show (menu_items); - - if(pickup || hangup || hold) - { - menu_items = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - } - - if(pickup) - { - - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Pick up")); - image = gtk_image_new_from_file( ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_pick_up), - NULL); - gtk_widget_show (menu_items); - } - - if(hangup) - { - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); - image = gtk_image_new_from_file( ICONS_DIR "/icon_hangup.svg"); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_hang_up), - NULL); - gtk_widget_show (menu_items); - } - - if(hold) - { - menu_items = gtk_check_menu_item_new_with_mnemonic (_("On _Hold")); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), - (selectedCall->_state == CALL_STATE_HOLD ? TRUE : FALSE)); - g_signal_connect(G_OBJECT (menu_items), "activate", - G_CALLBACK (call_hold), - NULL); - gtk_widget_show (menu_items); - } - - if(record) - { - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Record")); - image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_RECORD, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_record), - NULL); - gtk_widget_show (menu_items); - } - - } - else - { - DEBUG("BUILD CONFERENCE MENU"); - - if(hangup_conf) - { - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); - image = gtk_image_new_from_file( ICONS_DIR "/icon_hangup.svg"); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (conference_hang_up), - NULL); - gtk_widget_show (menu_items); - } - - if(hold_conf) - { - menu_items = gtk_check_menu_item_new_with_mnemonic (_("On _Hold")); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), - (selectedCall->_state == CALL_STATE_HOLD ? TRUE : FALSE)); - g_signal_connect(G_OBJECT (menu_items), "activate", - G_CALLBACK (conference_hold), - NULL); - gtk_widget_show (menu_items); - } - } - - if(accounts) - { - add_registered_accounts_to_menu (menu); - } - - if (event) - { - button = event->button; - event_time = event->time; - } - else - { - button = 0; - event_time = gtk_get_current_event_time (); - } - - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - button, event_time); + // TODO update the selection to make sure the call under the mouse is the call selected + + // call type boolean + gboolean pickup = FALSE, hangup = FALSE, hold = FALSE, copy = FALSE, record = + FALSE, detach = FALSE; + gboolean accounts = FALSE; + + // conference type boolean + gboolean hangup_conf = FALSE, hold_conf = FALSE; + + callable_obj_t * selectedCall; + conference_obj_t * selectedConf; + + if (calltab_get_selected_type(current_calls) == A_CALL) + { + DEBUG("MENUS: SELECTED A CALL"); + selectedCall = calltab_get_selected_call(current_calls); + + if (selectedCall) + { + copy = TRUE; + switch (selectedCall->_state) + { + case CALL_STATE_INCOMING: + pickup = TRUE; + hangup = TRUE; + detach = TRUE; + break; + case CALL_STATE_HOLD: + hangup = TRUE; + hold = TRUE; + detach = TRUE; + break; + case CALL_STATE_RINGING: + hangup = TRUE; + detach = TRUE; + break; + case CALL_STATE_DIALING: + pickup = TRUE; + hangup = TRUE; + accounts = TRUE; + break; + case CALL_STATE_RECORD: + case CALL_STATE_CURRENT: + hangup = TRUE; + hold = TRUE; + record = TRUE; + detach = TRUE; + break; + case CALL_STATE_BUSY: + case CALL_STATE_FAILURE: + hangup = TRUE; + break; + default: + WARN("Should not happen in show_popup_menu for calls!") + ; + break; + } + } + } + else + { + DEBUG("MENUS: SELECTED A CONF"); + selectedConf = calltab_get_selected_conf(); + + if (selectedConf) + { + switch (selectedConf->_state) + { + case CONFERENCE_STATE_ACTIVE_ATACHED: + hangup_conf = TRUE; + hold_conf = TRUE; + break; + case CONFERENCE_STATE_ACTIVE_DETACHED: + break; + case CONFERENCE_STATE_HOLD: + hangup_conf = TRUE; + hold_conf = TRUE; + break; + default: + WARN("Should not happen in show_popup_menu for conferences!") + ; + break; + } + } + + } + + GtkWidget *menu; + GtkWidget *image; + int button, event_time; + GtkWidget * menu_items; + + menu = gtk_menu_new(); + //g_signal_connect (menu, "deactivate", + // G_CALLBACK (gtk_widget_destroy), NULL); + if (calltab_get_selected_type(current_calls) == A_CALL) + { + DEBUG("BUILD CALL MENU"); + + if (copy) + { + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (edit_copy), + NULL); + gtk_widget_show(menu_items); + } + + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_PASTE, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (edit_paste), + NULL); + gtk_widget_show(menu_items); + + if (pickup || hangup || hold) + { + menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + gtk_widget_show(menu_items); + } + + if (pickup) + { + + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Pick up")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (call_pick_up), + NULL); + gtk_widget_show(menu_items); + } + + if (hangup) + { + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_hangup.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (call_hang_up), + NULL); + gtk_widget_show(menu_items); + } + + if (hold) + { + menu_items = gtk_check_menu_item_new_with_mnemonic(_("On _Hold")); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), + (selectedCall->_state == CALL_STATE_HOLD ? TRUE : FALSE)); + g_signal_connect(G_OBJECT (menu_items), "activate", + G_CALLBACK (call_hold), + NULL); + gtk_widget_show(menu_items); + } + + if (record) + { + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Record")); + image = gtk_image_new_from_stock(GTK_STOCK_MEDIA_RECORD, + GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (call_record), + NULL); + gtk_widget_show(menu_items); + } + + } + else + { + DEBUG("BUILD CONFERENCE MENU"); + + if (hangup_conf) + { + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_hangup.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", + G_CALLBACK (conference_hang_up), + NULL); + gtk_widget_show(menu_items); + } + + if (hold_conf) + { + menu_items = gtk_check_menu_item_new_with_mnemonic(_("On _Hold")); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), + (selectedCall->_state == CALL_STATE_HOLD ? TRUE : FALSE)); + g_signal_connect(G_OBJECT (menu_items), "activate", + G_CALLBACK (conference_hold), + NULL); + gtk_widget_show(menu_items); + } + } + + if (accounts) + { + add_registered_accounts_to_menu(menu); + } + + if (event) + { + button = event->button; + event_time = event->time; + } + else + { + button = 0; + event_time = gtk_get_current_event_time(); + } + + gtk_menu_attach_to_widget(GTK_MENU (menu), my_widget, NULL); + gtk_menu_popup(GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); } - - void +void show_popup_menu_history(GtkWidget *my_widget, GdkEventButton *event) { - gboolean pickup = FALSE; - gboolean remove = FALSE; - gboolean edit = FALSE; - gboolean accounts = FALSE; - - callable_obj_t * selectedCall = calltab_get_selected_call( history ); - if (selectedCall) - { - remove = TRUE; - pickup = TRUE; - edit = TRUE; - accounts = TRUE; - } - - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new (); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - - if(pickup) - { - - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Call back")); - image = gtk_image_new_from_file( ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( menu_items ), image ); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); - gtk_widget_show (menu_items); - } - - menu_items = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - - if (edit) - { - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_EDIT, get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); - gtk_widget_show (menu_items); - } - - - if(remove) - { - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_DELETE, get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", G_CALLBACK (remove_from_history), NULL); - gtk_widget_show (menu_items); - } - - if(accounts) - { - add_registered_accounts_to_menu (menu); - } - - if (event) - { - button = event->button; - event_time = event->time; - } - else - { - button = 0; - event_time = gtk_get_current_event_time (); - } - - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - button, event_time); + gboolean pickup = FALSE; + gboolean remove = FALSE; + gboolean edit = FALSE; + gboolean accounts = FALSE; + + callable_obj_t * selectedCall = calltab_get_selected_call(history); + if (selectedCall) + { + remove = TRUE; + pickup = TRUE; + edit = TRUE; + accounts = TRUE; + } + + GtkWidget *menu; + GtkWidget *image; + int button, event_time; + GtkWidget * menu_items; + + menu = gtk_menu_new(); + //g_signal_connect (menu, "deactivate", + // G_CALLBACK (gtk_widget_destroy), NULL); + + if (pickup) + { + + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Call back")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM ( menu_items ), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); + gtk_widget_show(menu_items); + } + + menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + gtk_widget_show(menu_items); + + if (edit) + { + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_EDIT, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); + gtk_widget_show(menu_items); + } + + if (remove) + { + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_DELETE, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate", G_CALLBACK (remove_from_history), NULL); + gtk_widget_show(menu_items); + } + + if (accounts) + { + add_registered_accounts_to_menu(menu); + } + + if (event) + { + button = event->button; + event_time = event->time; + } + else + { + button = 0; + event_time = gtk_get_current_event_time(); + } + + gtk_menu_attach_to_widget(GTK_MENU (menu), my_widget, NULL); + gtk_menu_popup(GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); } - void +void show_popup_menu_contacts(GtkWidget *my_widget, GdkEventButton *event) { - gboolean pickup = FALSE; - gboolean accounts = FALSE; - gboolean edit = FALSE; - - callable_obj_t * selectedCall = calltab_get_selected_call( contacts ); - if (selectedCall) - { - pickup = TRUE; - accounts = TRUE; - edit = TRUE; - } - - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new (); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - - if(pickup) - { - - menu_items = gtk_image_menu_item_new_with_mnemonic(_("_New call")); - image = gtk_image_new_from_file( ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( menu_items ), image ); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); - gtk_widget_show (menu_items); - } - - if (edit) - { - menu_items = gtk_image_menu_item_new_from_stock( GTK_STOCK_EDIT, get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); - gtk_widget_show (menu_items); - } - - if(accounts) - { - add_registered_accounts_to_menu (menu); - } - - if (event) - { - button = event->button; - event_time = event->time; - } - else - { - button = 0; - event_time = gtk_get_current_event_time (); - } - - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - button, event_time); + gboolean pickup = FALSE; + gboolean accounts = FALSE; + gboolean edit = FALSE; + + callable_obj_t * selectedCall = calltab_get_selected_call(contacts); + if (selectedCall) + { + pickup = TRUE; + accounts = TRUE; + edit = TRUE; + } + + GtkWidget *menu; + GtkWidget *image; + int button, event_time; + GtkWidget * menu_items; + + menu = gtk_menu_new(); + //g_signal_connect (menu, "deactivate", + // G_CALLBACK (gtk_widget_destroy), NULL); + + if (pickup) + { + + menu_items = gtk_image_menu_item_new_with_mnemonic(_("_New call")); + image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM ( menu_items ), image); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); + gtk_widget_show(menu_items); + } + + if (edit) + { + menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_EDIT, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL (menu), menu_items); + g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); + gtk_widget_show(menu_items); + } + + if (accounts) + { + add_registered_accounts_to_menu(menu); + } + + if (event) + { + button = event->button; + event_time = event->time; + } + else + { + button = 0; + event_time = gtk_get_current_event_time(); + } + + gtk_menu_attach_to_widget(GTK_MENU (menu), my_widget, NULL); + gtk_menu_popup(GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); } +static void +ok_cb(GtkWidget *widget UNUSED, gpointer userdata) +{ -static void ok_cb (GtkWidget *widget UNUSED, gpointer userdata) { - - gchar *new_number; - callable_obj_t *modified_call, *original; + gchar *new_number; + callable_obj_t *modified_call, *original; - // Change the number of the selected call before calling - new_number = (gchar*) gtk_entry_get_text (GTK_ENTRY (editable_num)); - original = (callable_obj_t*)userdata; + // Change the number of the selected call before calling + new_number = (gchar*) gtk_entry_get_text(GTK_ENTRY (editable_num)); + original = (callable_obj_t*) userdata; - // Create the new call - create_new_call (CALL, CALL_STATE_DIALING, "", g_strdup (original->_accountID), original->_peer_name, g_strdup (new_number), &modified_call); + // Create the new call + create_new_call(CALL, CALL_STATE_DIALING, "", g_strdup(original->_accountID), + original->_peer_name, g_strdup(new_number), &modified_call); - // Update the internal data structure and the GUI - calllist_add(current_calls, modified_call); - calltree_add_call(current_calls, modified_call, NULL); - sflphone_place_call(modified_call); - calltree_display (current_calls); + // Update the internal data structure and the GUI + calllist_add(current_calls, modified_call); + calltree_add_call(current_calls, modified_call, NULL); + sflphone_place_call(modified_call); + calltree_display(current_calls); - // Close the contextual menu - gtk_widget_destroy (GTK_WIDGET (edit_dialog)); + // Close the contextual menu + gtk_widget_destroy(GTK_WIDGET (edit_dialog)); } -static void on_delete (GtkWidget * widget) +static void +on_delete(GtkWidget * widget) { - gtk_widget_destroy (widget); + gtk_widget_destroy(widget); } -void show_edit_number (callable_obj_t *call) { +void +show_edit_number(callable_obj_t *call) +{ - GtkWidget *ok, *hbox, *image; - GdkPixbuf *pixbuf; + GtkWidget *ok, *hbox, *image; + GdkPixbuf *pixbuf; - edit_dialog = GTK_DIALOG (gtk_dialog_new()); + edit_dialog = GTK_DIALOG (gtk_dialog_new()); - // Set window properties - gtk_window_set_default_size(GTK_WINDOW(edit_dialog), 300, 20); - gtk_window_set_title(GTK_WINDOW(edit_dialog), _("Edit phone number")); - gtk_window_set_resizable (GTK_WINDOW (edit_dialog), FALSE); + // Set window properties + gtk_window_set_default_size(GTK_WINDOW(edit_dialog), 300, 20); + gtk_window_set_title(GTK_WINDOW(edit_dialog), _("Edit phone number")); + gtk_window_set_resizable(GTK_WINDOW (edit_dialog), FALSE); - g_signal_connect (G_OBJECT (edit_dialog), "delete-event", G_CALLBACK (on_delete), NULL); + g_signal_connect (G_OBJECT (edit_dialog), "delete-event", G_CALLBACK (on_delete), NULL); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start(GTK_BOX (edit_dialog->vbox), hbox, TRUE, TRUE, 0); + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX (edit_dialog->vbox), hbox, TRUE, TRUE, 0); - // Set the number to be edited - editable_num = gtk_entry_new (); + // Set the number to be edited + editable_num = gtk_entry_new(); #if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text(GTK_WIDGET(editable_num), _("Edit the phone number before making a call")); + gtk_widget_set_tooltip_text(GTK_WIDGET(editable_num), + _("Edit the phone number before making a call")); #endif - if (call) - gtk_entry_set_text(GTK_ENTRY(editable_num), g_strdup (call->_peer_number)); - else - ERROR ("This a bug, the call should be defined. menus.c line 1051"); + if (call) + gtk_entry_set_text(GTK_ENTRY(editable_num), g_strdup(call->_peer_number)); + else + ERROR ("This a bug, the call should be defined. menus.c line 1051"); - gtk_box_pack_start(GTK_BOX (hbox), editable_num, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX (hbox), editable_num, TRUE, TRUE, 0); - // Set a custom image for the button - pixbuf = gdk_pixbuf_new_from_file_at_scale (ICONS_DIR "/outgoing.svg", 32, 32, TRUE, NULL); - image = gtk_image_new_from_pixbuf (pixbuf); - ok = gtk_button_new (); - gtk_button_set_image (GTK_BUTTON (ok), image); - gtk_box_pack_start(GTK_BOX (hbox), ok, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT (ok), "clicked", G_CALLBACK (ok_cb), call); + // Set a custom image for the button + pixbuf = gdk_pixbuf_new_from_file_at_scale(ICONS_DIR "/outgoing.svg", 32, 32, + TRUE, NULL); + image = gtk_image_new_from_pixbuf(pixbuf); + ok = gtk_button_new(); + gtk_button_set_image(GTK_BUTTON (ok), image); + gtk_box_pack_start(GTK_BOX (hbox), ok, TRUE, TRUE, 0); + g_signal_connect(G_OBJECT (ok), "clicked", G_CALLBACK (ok_cb), call); - gtk_widget_show_all (edit_dialog->vbox); + gtk_widget_show_all(edit_dialog->vbox); - gtk_dialog_run(edit_dialog); + gtk_dialog_run(edit_dialog); } -GtkWidget* create_waiting_icon() +GtkWidget* +create_waiting_icon() { - GtkWidget * waiting_icon; - waiting_icon = gtk_image_menu_item_new_with_label(""); - gtk_image_menu_item_set_image ( - GTK_IMAGE_MENU_ITEM(waiting_icon), - gtk_image_new_from_animation( - gdk_pixbuf_animation_new_from_file(ICONS_DIR "/wait-on.gif", NULL))); - gtk_menu_item_set_right_justified(GTK_MENU_ITEM(waiting_icon),TRUE); - - return waiting_icon; + GtkWidget * waiting_icon; + waiting_icon = gtk_image_menu_item_new_with_label(""); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(waiting_icon), + gtk_image_new_from_animation(gdk_pixbuf_animation_new_from_file( + ICONS_DIR "/wait-on.gif", NULL))); + gtk_menu_item_set_right_justified(GTK_MENU_ITEM(waiting_icon), TRUE); + + return waiting_icon; } -void create_menus (GtkUIManager *ui_manager, GtkWidget **widget) +void +create_menus(GtkUIManager *ui_manager, GtkWidget **widget) { GtkWidget * menu_bar; @@ -1333,25 +1486,40 @@ void create_menus (GtkUIManager *ui_manager, GtkWidget **widget) *widget = menu_bar; } -void create_toolbar_actions (GtkUIManager *ui_manager, GtkWidget **widget) +void +create_toolbar_actions(GtkUIManager *ui_manager, GtkWidget **widget) { - toolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions"); - - holdToolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/OnHoldToolbar"); - offHoldToolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/OffHoldToolbar"); - transferToolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/TransferToolbar"); - voicemailAction = gtk_ui_manager_get_action (ui_manager, "/ToolbarActions/Voicemail"); - voicemailToolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/VoicemailToolbar"); - newCallWidget = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/NewCallToolbar"); - pickUpWidget = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/PickUpToolbar"); - hangUpWidget = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/HangUpToolbar"); - recordWidget = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/RecordToolbar"); - historyButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/HistoryToolbar"); - contactButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/AddressbookToolbar"); - - // Set the handler ID for the transfer - transfertButtonConnId = g_signal_connect (G_OBJECT (transferToolbar), "toggled", G_CALLBACK (call_transfer_cb), NULL); - active_calltree = current_calls; - - *widget = toolbar; + toolbar = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions"); + + holdToolbar = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/OnHoldToolbar"); + offHoldToolbar = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/OffHoldToolbar"); + transferToolbar = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/TransferToolbar"); + voicemailAction = gtk_ui_manager_get_action(ui_manager, + "/ToolbarActions/Voicemail"); + voicemailToolbar = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/VoicemailToolbar"); + newCallWidget = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/NewCallToolbar"); + pickUpWidget = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/PickUpToolbar"); + hangUpWidget = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/HangUpToolbar"); + recordWidget = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/RecordToolbar"); + historyButton = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/HistoryToolbar"); + contactButton = gtk_ui_manager_get_widget(ui_manager, + "/ToolbarActions/AddressbookToolbar"); + + // Set the handler ID for the transfer + transfertButtonConnId + = g_signal_connect (G_OBJECT (transferToolbar), "toggled", G_CALLBACK (call_transfer_cb), NULL); + recordButtonConnId + = g_signal_connect (G_OBJECT (recordWidget), "toggled", G_CALLBACK (call_record), NULL); + active_calltree = current_calls; + + *widget = toolbar; } diff --git a/sflphone-client-gnome/src/uimanager.h b/sflphone-client-gnome/src/uimanager.h index c42bf1aa04d769bfb34ff2eeceb846231fada3a7..23bebef995e10ce8406c2fa82853faf2dbc62b8d 100644 --- a/sflphone-client-gnome/src/uimanager.h +++ b/sflphone-client-gnome/src/uimanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef UI_MANAGER_H diff --git a/sflphone-client-gnome/tests/check_config.c b/sflphone-client-gnome/tests/check_config.c index ae41e1a280ff24bb365fe43a93e064c85b609049..92fd44f14aa70a304c702a6c6e1ade76c33b2417 100644 --- a/sflphone-client-gnome/tests/check_config.c +++ b/sflphone-client-gnome/tests/check_config.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <check.h> diff --git a/sflphone-client-gnome/tests/check_contacts.c b/sflphone-client-gnome/tests/check_contacts.c index 193cab4b8fb99bd4591487ea188a729523aa9563..6aed2872291b4b6216cdff48ab50bc130f27870f 100644 --- a/sflphone-client-gnome/tests/check_contacts.c +++ b/sflphone-client-gnome/tests/check_contacts.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <check.h> diff --git a/sflphone-client-gnome/tests/check_dbus.c b/sflphone-client-gnome/tests/check_dbus.c index ef7fc2a6f9ff72cae072ab0d275603b901656dbc..902127bb5963029b9d234cc626385863f03973fd 100644 --- a/sflphone-client-gnome/tests/check_dbus.c +++ b/sflphone-client-gnome/tests/check_dbus.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <check.h> diff --git a/sflphone-client-gnome/tests/check_global.c b/sflphone-client-gnome/tests/check_global.c index 5ba1256895d63a31eac550ff920506d1fdc9fa08..c1197673daeec0091e23eef129b4394bf5d34eb8 100644 --- a/sflphone-client-gnome/tests/check_global.c +++ b/sflphone-client-gnome/tests/check_global.c @@ -1,4 +1,5 @@ /* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Copyright (C) 2009 Savoir-Faire Linux inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * @@ -15,6 +16,15 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <check.h> diff --git a/sflphone-client-kde/CMakeLists.txt b/sflphone-client-kde/CMakeLists.txt index 65b269cfd0d95d8477259389787519d1fa829449..c16efdcb6e584685facfd002d0a085e729deb982 100644 --- a/sflphone-client-kde/CMakeLists.txt +++ b/sflphone-client-kde/CMakeLists.txt @@ -8,7 +8,7 @@ SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}") # --- custom targets: --- INCLUDE( ${LOCAL_CMAKE_MODULE_PATH}/TargetDistclean.cmake REQUIRED) -FIND_PACKAGE ( Kabc REQUIRED ) +#FIND_PACKAGE ( Kabc REQUIRED ) # FIND_PACKAGE ( PkgConfig REQUIRED ) FIND_PACKAGE ( KDE4 REQUIRED ) FIND_PACKAGE ( Qt4 REQUIRED ) diff --git a/sflphone-client-kde/DEVELOPPER b/sflphone-client-kde/DEVELOPPER new file mode 100644 index 0000000000000000000000000000000000000000..7442486ecaf7f0c064b8537ed20381ad65f4e984 --- /dev/null +++ b/sflphone-client-kde/DEVELOPPER @@ -0,0 +1,23 @@ +From now on, those coding guideline must be applied to prevent more fragmentation of the coding style: +-Class name must start with a caps +-Funtion and variables names must -not- start with a caps +-Words in functions must be separated by caps "addNewCall" +-Pointer symbol should be merge with the type QWidget* aWidget +-Indentation must be 3 (three) -space- wide, every IDE have options to set that +-Classes and functions bracket must look like: + void MyClass::myFunction() + { + + } +-If, while, case and for most look like this: + if () { + + } + else { + + } +-One line if without braces are allowed +-The .h HAVE TO BE COMMENTED following the doxygen syntax +-"Autoconnect" functions are allowed +-Qt STL and macro are recommaded +-KDE class are prefered over pure Qt classes diff --git a/sflphone-client-kde/README b/sflphone-client-kde/README index 3db5b30eedc0bcf455d2c3d2a050d077ae5f6c34..12f57ce7bb04de1ee0aca358621a62f747e2fead 100644 --- a/sflphone-client-kde/README +++ b/sflphone-client-kde/README @@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Refer to the development site for further information: http://dev.savoirfairelinux.net/sflphone +Refer to the development site for further information: https://projects.savoirfairelinux.com/projects/show/sflphone Thank you diff --git a/sflphone-client-kde/cmake-build/CMakeCache.txt b/sflphone-client-kde/cmake-build/CMakeCache.txt new file mode 100644 index 0000000000000000000000000000000000000000..97750d226236a4d68e810c0610ca24b4a1866e85 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeCache.txt @@ -0,0 +1,1321 @@ +# This is the CMakeCache file. +# For build in directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +AUTOMOC4_EXECUTABLE:FILEPATH=/usr/bin/automoc4 + +//The directory containing a CMake configuration file for Automoc4. +Automoc4_DIR:PATH=/usr/lib/automoc4 + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//For backwards compatibility, what version of CMake commands and +// syntax should this version of CMake try to support. +CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler. +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG -DQT_NO_DEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG -DQT_NO_DEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DQT_NO_DEBUG + +//C compiler. +CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds (/MD /Ob1 /Oi +// /Ot /Oy /Gs will produce slightly less optimized but smaller +// files). +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=sflphone-client-kde + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If true, cmake will use relative paths in makefiles and projects. +CMAKE_USE_RELATIVE_PATHS:BOOL=OFF + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Single output directory for building all executables. +EXECUTABLE_OUTPUT_PATH:PATH= + +//Path to a file. +GETTEXT_INCLUDE_DIR:PATH=/usr/include + +//Path to a program. +GETTEXT_MSGFMT_EXECUTABLE:FILEPATH=/usr/bin/msgfmt + +//Path to a program. +GETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=/usr/bin/msgmerge + +//The location where policy files generated by KAuth will be installed, +// if the installed backend needs to +KDE4_AUTH_POLICY_FILES_INSTALL_DIR:STRING=/usr/share/polkit-1/actions + +//Build the tests +KDE4_BUILD_TESTS:BOOL=OFF + +//Path to a file. +KDE4_DATA_DIR:PATH=/usr/share/kde4/apps + +//Enable final all-in-one compilation +KDE4_ENABLE_FINAL:BOOL=OFF + +//Enable platform supports PIE linking +KDE4_ENABLE_FPIE:BOOL=OFF + +//Create targets htmlhandbook for creating the html versions of +// the docbook docs +KDE4_ENABLE_HTMLHANDBOOK:BOOL=OFF + +//Path to a program. +KDE4_KDECONFIG_EXECUTABLE:FILEPATH=/usr/bin/kde4-config + +//Path to a file. +KDE4_PLASMA_OPENGL_FOUND:FILEPATH=/usr/include/plasma/glapplet.h + +//Prefer to install the <package>Config.cmake files to lib/cmake/<package> +// instead to lib/<package>/cmake +KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR:BOOL=ON + +//Single output directory for building all libraries. +LIBRARY_OUTPUT_PATH:PATH= + +//Define suffix of directory name (32/64) +LIB_SUFFIX:STRING= + +//Path to a program. +PERL_EXECUTABLE:FILEPATH=/usr/bin/perl + +//Path to a file. +PHONON_INCLUDE_DIR:PATH=/usr/include/qt4 + +//Path to a library. +PHONON_LIBRARY:FILEPATH=/usr/lib/libphonon.so + +//Path to a program. +QT_DBUSCPP2XML_EXECUTABLE:FILEPATH=/usr/bin/qdbuscpp2xml + +//Path to a program. +QT_DBUSXML2CPP_EXECUTABLE:FILEPATH=/usr/bin/qdbusxml2cpp + +//Path to a library. +QT_DBUS_LIBRARY:FILEPATH=/lib/libdbus-1.so + +//Path to a program. +QT_DESIGNER_EXECUTABLE:FILEPATH=QT_DESIGNER_EXECUTABLE-NOTFOUND + +//The location of the Qt docs +QT_DOC_DIR:PATH=/usr/share/qt4/doc + +//Path to a library. +QT_FONTCONFIG_LIBRARY:FILEPATH=/usr/lib/libfontconfig.so + +//Path to a library. +QT_FREETYPE_LIBRARY:FILEPATH=/usr/lib/libfreetype.so + +//Path to a library. +QT_GLIB_LIBRARY:FILEPATH=/usr/lib/libglib-2.0.so + +//Path to a library. +QT_GOBJECT_LIBRARY:FILEPATH=/usr/lib/libgobject-2.0.so + +//Path to a library. +QT_GTHREAD_LIBRARY:FILEPATH=/usr/lib/libgthread-2.0.so + +QT_INCLUDE_DIR:PATH=/usr/include/qt4 + +//Qt library dir +QT_LIBRARY_DIR:PATH=/usr/lib + +//Path to a program. +QT_LINGUIST_EXECUTABLE:FILEPATH=QT_LINGUIST_EXECUTABLE-NOTFOUND + +//Path to a program. +QT_LRELEASE_EXECUTABLE:FILEPATH=/usr/bin/lrelease-qt4 + +//Path to a program. +QT_LUPDATE_EXECUTABLE:FILEPATH=/usr/bin/lupdate-qt4 + +//The location of the Qt mkspecs containing qconfig.pri +QT_MKSPECS_DIR:PATH=/usr/share/qt4/mkspecs + +//Path to a program. +QT_MOC_EXECUTABLE:FILEPATH=/usr/bin/moc-qt4 + +//Path to a file. +QT_PHONON_INCLUDE_DIR:PATH=/usr/include/qt4/phonon + +//The Qt PHONON library +QT_PHONON_LIBRARY:FILEPATH=optimized;/usr/lib/libphonon.so;debug;/usr/lib/libphonon.so + +//Path to a library. +QT_PHONON_LIBRARY_DEBUG:FILEPATH=QT_PHONON_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_PHONON_LIBRARY_RELEASE:FILEPATH=/usr/lib/libphonon.so + +//The location of the Qt plugins +QT_PLUGINS_DIR:PATH=/usr/lib/qt4/plugins + +//Path to a library. +QT_PNG_LIBRARY:FILEPATH=/usr/lib/libpng.so + +//Path to a program. +QT_QCOLLECTIONGENERATOR_EXECUTABLE:FILEPATH=QT_QCOLLECTIONGENERATOR_EXECUTABLE-NOTFOUND + +//Path to a program. +QT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake + +//Path to a file. +QT_QT3SUPPORT_INCLUDE_DIR:PATH=/usr/include/qt4/Qt3Support + +//The Qt QT3SUPPORT library +QT_QT3SUPPORT_LIBRARY:FILEPATH=optimized;/usr/lib/libQt3Support.so;debug;/usr/lib/libQt3Support.so + +//Path to a library. +QT_QT3SUPPORT_LIBRARY_DEBUG:FILEPATH=QT_QT3SUPPORT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QT3SUPPORT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQt3Support.so + +//Path to a file. +QT_QTASSISTANTCLIENT_INCLUDE_DIR:PATH=/usr/include/qt4/QtAssistant + +//The Qt QTASSISTANTCLIENT library +QT_QTASSISTANTCLIENT_LIBRARY:FILEPATH=optimized;/usr/lib/libQtAssistantClient.so;debug;/usr/lib/libQtAssistantClient.so + +//Path to a library. +QT_QTASSISTANTCLIENT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTASSISTANTCLIENT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtAssistantClient.so + +//Path to a file. +QT_QTASSISTANT_INCLUDE_DIR:PATH=/usr/include/qt4/QtAssistant + +//The Qt QTASSISTANT library +QT_QTASSISTANT_LIBRARY:FILEPATH=optimized;/usr/lib/libQtAssistantClient.so;debug;/usr/lib/libQtAssistantClient.so + +//Path to a library. +QT_QTASSISTANT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTASSISTANT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtAssistantClient.so + +//The Qt QTCLUCENE library +QT_QTCLUCENE_LIBRARY:FILEPATH=optimized;/usr/lib/libQtCLucene.so;debug;/usr/lib/libQtCLucene.so + +//Path to a library. +QT_QTCLUCENE_LIBRARY_DEBUG:FILEPATH=QT_QTCLUCENE_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTCLUCENE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCLucene.so + +//Path to a file. +QT_QTCORE_INCLUDE_DIR:PATH=/usr/include/qt4/QtCore + +//The Qt QTCORE library +QT_QTCORE_LIBRARY:FILEPATH=optimized;/usr/lib/libQtCore.so;debug;/usr/lib/libQtCore.so + +//Path to a library. +QT_QTCORE_LIBRARY_DEBUG:FILEPATH=QT_QTCORE_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTCORE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCore.so + +//Path to a file. +QT_QTDBUS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDBus + +//The Qt QTDBUS library +QT_QTDBUS_LIBRARY:FILEPATH=optimized;/usr/lib/libQtDBus.so;debug;/usr/lib/libQtDBus.so + +//Path to a library. +QT_QTDBUS_LIBRARY_DEBUG:FILEPATH=QT_QTDBUS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDBUS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDBus.so + +//Path to a file. +QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner + +//The Qt QTDESIGNERCOMPONENTS library +QT_QTDESIGNERCOMPONENTS_LIBRARY:FILEPATH=optimized;/usr/lib/libQtDesignerComponents.so;debug;/usr/lib/libQtDesignerComponents.so + +//Path to a library. +QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesignerComponents.so + +//Path to a file. +QT_QTDESIGNER_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner + +//The Qt QTDESIGNER library +QT_QTDESIGNER_LIBRARY:FILEPATH=optimized;/usr/lib/libQtDesigner.so;debug;/usr/lib/libQtDesigner.so + +//Path to a library. +QT_QTDESIGNER_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNER_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDESIGNER_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesigner.so + +//Path to a file. +QT_QTGUI_INCLUDE_DIR:PATH=/usr/include/qt4/QtGui + +//The Qt QTGUI library +QT_QTGUI_LIBRARY:FILEPATH=optimized;/usr/lib/libQtGui.so;debug;/usr/lib/libQtGui.so + +//Path to a library. +QT_QTGUI_LIBRARY_DEBUG:FILEPATH=QT_QTGUI_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTGUI_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtGui.so + +//Path to a file. +QT_QTHELP_INCLUDE_DIR:PATH=/usr/include/qt4/QtHelp + +//The Qt QTHELP library +QT_QTHELP_LIBRARY:FILEPATH=optimized;/usr/lib/libQtHelp.so;debug;/usr/lib/libQtHelp.so + +//Path to a library. +QT_QTHELP_LIBRARY_DEBUG:FILEPATH=QT_QTHELP_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTHELP_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtHelp.so + +//Path to a file. +QT_QTMOTIF_INCLUDE_DIR:PATH=QT_QTMOTIF_INCLUDE_DIR-NOTFOUND + +//Path to a library. +QT_QTMOTIF_LIBRARY_DEBUG:FILEPATH=QT_QTMOTIF_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTMOTIF_LIBRARY_RELEASE:FILEPATH=QT_QTMOTIF_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTMULTIMEDIA_INCLUDE_DIR:PATH=/usr/include/qt4/QtMultimedia + +//Path to a library. +QT_QTMULTIMEDIA_LIBRARY_DEBUG:FILEPATH=QT_QTMULTIMEDIA_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTMULTIMEDIA_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtMultimedia.so + +//Path to a file. +QT_QTNETWORK_INCLUDE_DIR:PATH=/usr/include/qt4/QtNetwork + +//The Qt QTNETWORK library +QT_QTNETWORK_LIBRARY:FILEPATH=optimized;/usr/lib/libQtNetwork.so;debug;/usr/lib/libQtNetwork.so + +//Path to a library. +QT_QTNETWORK_LIBRARY_DEBUG:FILEPATH=QT_QTNETWORK_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTNETWORK_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtNetwork.so + +//Path to a file. +QT_QTNSPLUGIN_INCLUDE_DIR:PATH=QT_QTNSPLUGIN_INCLUDE_DIR-NOTFOUND + +//Path to a library. +QT_QTNSPLUGIN_LIBRARY_DEBUG:FILEPATH=QT_QTNSPLUGIN_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTNSPLUGIN_LIBRARY_RELEASE:FILEPATH=QT_QTNSPLUGIN_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTOPENGL_INCLUDE_DIR:PATH=/usr/include/qt4/QtOpenGL + +//The Qt QTOPENGL library +QT_QTOPENGL_LIBRARY:FILEPATH=optimized;/usr/lib/libQtOpenGL.so;debug;/usr/lib/libQtOpenGL.so + +//Path to a library. +QT_QTOPENGL_LIBRARY_DEBUG:FILEPATH=QT_QTOPENGL_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTOPENGL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtOpenGL.so + +//Path to a file. +QT_QTSCRIPTTOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtScriptTools + +//Path to a library. +QT_QTSCRIPTTOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSCRIPTTOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScriptTools.so + +//Path to a file. +QT_QTSCRIPT_INCLUDE_DIR:PATH=/usr/include/qt4/QtScript + +//The Qt QTSCRIPT library +QT_QTSCRIPT_LIBRARY:FILEPATH=optimized;/usr/lib/libQtScript.so;debug;/usr/lib/libQtScript.so + +//Path to a library. +QT_QTSCRIPT_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSCRIPT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScript.so + +//Path to a file. +QT_QTSQL_INCLUDE_DIR:PATH=/usr/include/qt4/QtSql + +//The Qt QTSQL library +QT_QTSQL_LIBRARY:FILEPATH=optimized;/usr/lib/libQtSql.so;debug;/usr/lib/libQtSql.so + +//Path to a library. +QT_QTSQL_LIBRARY_DEBUG:FILEPATH=QT_QTSQL_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSQL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSql.so + +//Path to a file. +QT_QTSVG_INCLUDE_DIR:PATH=/usr/include/qt4/QtSvg + +//The Qt QTSVG library +QT_QTSVG_LIBRARY:FILEPATH=optimized;/usr/lib/libQtSvg.so;debug;/usr/lib/libQtSvg.so + +//Path to a library. +QT_QTSVG_LIBRARY_DEBUG:FILEPATH=QT_QTSVG_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSVG_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSvg.so + +//Path to a file. +QT_QTTEST_INCLUDE_DIR:PATH=/usr/include/qt4/QtTest + +//The Qt QTTEST library +QT_QTTEST_LIBRARY:FILEPATH=optimized;/usr/lib/libQtTest.so;debug;/usr/lib/libQtTest.so + +//Path to a library. +QT_QTTEST_LIBRARY_DEBUG:FILEPATH=QT_QTTEST_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTTEST_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtTest.so + +//Path to a file. +QT_QTUITOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtUiTools + +//The Qt QTUITOOLS library +QT_QTUITOOLS_LIBRARY:FILEPATH=optimized;/usr/lib/libQtUiTools.a;debug;/usr/lib/libQtUiTools.a + +//Path to a library. +QT_QTUITOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTUITOOLS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTUITOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtUiTools.a + +//Path to a file. +QT_QTWEBKIT_INCLUDE_DIR:PATH=/usr/include/qt4/QtWebKit + +//The Qt QTWEBKIT library +QT_QTWEBKIT_LIBRARY:FILEPATH=optimized;/usr/lib/libQtWebKit.so;debug;/usr/lib/libQtWebKit.so + +//Path to a library. +QT_QTWEBKIT_LIBRARY_DEBUG:FILEPATH=QT_QTWEBKIT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTWEBKIT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtWebKit.so + +//Path to a file. +QT_QTXMLPATTERNS_INCLUDE_DIR:PATH=/usr/include/qt4/QtXmlPatterns + +//The Qt QTXMLPATTERNS library +QT_QTXMLPATTERNS_LIBRARY:FILEPATH=optimized;/usr/lib/libQtXmlPatterns.so;debug;/usr/lib/libQtXmlPatterns.so + +//Path to a library. +QT_QTXMLPATTERNS_LIBRARY_DEBUG:FILEPATH=QT_QTXMLPATTERNS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTXMLPATTERNS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXmlPatterns.so + +//Path to a file. +QT_QTXML_INCLUDE_DIR:PATH=/usr/include/qt4/QtXml + +//The Qt QTXML library +QT_QTXML_LIBRARY:FILEPATH=optimized;/usr/lib/libQtXml.so;debug;/usr/lib/libQtXml.so + +//Path to a library. +QT_QTXML_LIBRARY_DEBUG:FILEPATH=QT_QTXML_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTXML_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXml.so + +//Path to a file. +QT_QT_INCLUDE_DIR:PATH=/usr/include/qt4/Qt + +//Path to a program. +QT_RCC_EXECUTABLE:FILEPATH=/usr/bin/rcc + +//Path to a library. +QT_RT_LIBRARY:FILEPATH=/usr/lib/librt.so + +//The location of the Qt translations +QT_TRANSLATIONS_DIR:PATH=/usr/share/qt4/translations + +//Path to a program. +QT_UIC3_EXECUTABLE:FILEPATH=/usr/bin/uic3 + +//Path to a program. +QT_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 + +//Path to a library. +QT_X11_ICE_LIBRARY:FILEPATH=/usr/lib/libICE.so + +//Path to a library. +QT_X11_SM_LIBRARY:FILEPATH=/usr/lib/libSM.so + +//Path to a library. +QT_X11_X11_LIBRARY:FILEPATH=/usr/lib/libX11.so + +//Path to a library. +QT_X11_Xext_LIBRARY:FILEPATH=/usr/lib/libXext.so + +//Path to a library. +QT_X11_m_LIBRARY:FILEPATH=/usr/lib/libm.so + +//Path to a library. +QT_XRENDER_LIBRARY:FILEPATH=/usr/lib/libXrender.so + +//Path to a library. +QT_ZLIB_LIBRARY:FILEPATH=/usr/lib/libz.so + +//Path to a file. +X11_ICE_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_ICE_LIB:FILEPATH=/usr/lib/libICE.so + +//Path to a file. +X11_SM_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_SM_LIB:FILEPATH=/usr/lib/libSM.so + +//Path to a file. +X11_X11_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_X11_LIB:FILEPATH=/usr/lib/libX11.so + +//Path to a file. +X11_XShm_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_XSync_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_XTest_INCLUDE_PATH:PATH=X11_XTest_INCLUDE_PATH-NOTFOUND + +//Path to a library. +X11_XTest_LIB:FILEPATH=X11_XTest_LIB-NOTFOUND + +//Path to a file. +X11_Xaccessrules_INCLUDE_PATH:PATH=X11_Xaccessrules_INCLUDE_PATH-NOTFOUND + +//Path to a file. +X11_Xaccessstr_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xau_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xau_LIB:FILEPATH=/usr/lib/libXau.so + +//Path to a file. +X11_Xcomposite_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xcomposite_LIB:FILEPATH=/usr/lib/libXcomposite.so + +//Path to a file. +X11_Xcursor_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xcursor_LIB:FILEPATH=/usr/lib/libXcursor.so + +//Path to a file. +X11_Xdamage_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xdamage_LIB:FILEPATH=/usr/lib/libXdamage.so + +//Path to a file. +X11_Xdmcp_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xdmcp_LIB:FILEPATH=/usr/lib/libXdmcp.so + +//Path to a library. +X11_Xext_LIB:FILEPATH=/usr/lib/libXext.so + +//Path to a file. +X11_Xfixes_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xfixes_LIB:FILEPATH=/usr/lib/libXfixes.so + +//Path to a file. +X11_Xft_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xft_LIB:FILEPATH=/usr/lib/libXft.so + +//Path to a file. +X11_Xinerama_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xinerama_LIB:FILEPATH=/usr/lib/libXinerama.so + +//Path to a file. +X11_Xinput_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xinput_LIB:FILEPATH=/usr/lib/libXi.so + +//Path to a file. +X11_Xkb_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xkbfile_INCLUDE_PATH:PATH=X11_Xkbfile_INCLUDE_PATH-NOTFOUND + +//Path to a library. +X11_Xkbfile_LIB:FILEPATH=X11_Xkbfile_LIB-NOTFOUND + +//Path to a file. +X11_Xkblib_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xlib_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xpm_INCLUDE_PATH:PATH=X11_Xpm_INCLUDE_PATH-NOTFOUND + +//Path to a library. +X11_Xpm_LIB:FILEPATH=X11_Xpm_LIB-NOTFOUND + +//Path to a file. +X11_Xrandr_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xrandr_LIB:FILEPATH=/usr/lib/libXrandr.so + +//Path to a file. +X11_Xrender_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xrender_LIB:FILEPATH=/usr/lib/libXrender.so + +//Path to a file. +X11_Xscreensaver_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xscreensaver_LIB:FILEPATH=/usr/lib/libXss.so + +//Path to a file. +X11_Xshape_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xt_INCLUDE_PATH:PATH=/usr/include + +//Path to a library. +X11_Xt_LIB:FILEPATH=/usr/lib/libXt.so + +//Path to a file. +X11_Xutil_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_Xv_INCLUDE_PATH:PATH=X11_Xv_INCLUDE_PATH-NOTFOUND + +//Path to a library. +X11_Xv_LIB:FILEPATH=X11_Xv_LIB-NOTFOUND + +//Path to a library. +X11_Xxf86misc_LIB:FILEPATH=X11_Xxf86misc_LIB-NOTFOUND + +//Path to a file. +X11_dpms_INCLUDE_PATH:PATH=/usr/include + +//Path to a file. +X11_xf86misc_INCLUDE_PATH:PATH=X11_xf86misc_INCLUDE_PATH-NOTFOUND + +//Path to a file. +X11_xf86vmode_INCLUDE_PATH:PATH=X11_xf86vmode_INCLUDE_PATH-NOTFOUND + +//Value Computed by CMake +sflphone-client-kde_BINARY_DIR:STATIC=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +//Value Computed by CMake +sflphone-client-kde_SOURCE_DIR:STATIC=/home/emmanuel/sflphone/sflphone-client-kde + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: AUTOMOC4_EXECUTABLE +AUTOMOC4_EXECUTABLE-ADVANCED:INTERNAL=1 +//Build the testing tree (internal) +BUILD_TESTING:INTERNAL=ON +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_BUILD_TOOL +CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 +//What is the target build tool cmake is generating for. +CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_C_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Result of TRY_COMPILE +CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE +//Result of TRY_COMPILE +CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Have function connect +CMAKE_HAVE_CONNECT:INTERNAL=1 +//Have function gethostbyname +CMAKE_HAVE_GETHOSTBYNAME:INTERNAL=1 +//Have library pthreads +CMAKE_HAVE_PTHREADS_CREATE:INTERNAL= +//Have library pthread +CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1 +//Have include CMAKE_HAVE_PTHREAD_H +CMAKE_HAVE_PTHREAD_H:INTERNAL=1 +//Have function remove +CMAKE_HAVE_REMOVE:INTERNAL=1 +//Have function shmat +CMAKE_HAVE_SHMAT:INTERNAL=1 +//Start directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/emmanuel/sflphone/sflphone-client-kde +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//Have library ICE +CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=13 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/bin/uname +//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS +CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Automoc4 +FIND_PACKAGE_MESSAGE_DETAILS_Automoc4:INTERNAL=[/usr/bin/automoc4] +//Details about finding Perl +FIND_PACKAGE_MESSAGE_DETAILS_Perl:INTERNAL=[/usr/bin/perl] +//Details about finding Qt4 +FIND_PACKAGE_MESSAGE_DETAILS_Qt4:INTERNAL=[/usr/lib][/usr/include/qt4][/usr/bin/moc-qt4][/usr/bin/uic-qt4][/usr/bin/rcc] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] +//ADVANCED property for variable: GETTEXT_INCLUDE_DIR +GETTEXT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//Test HAVE_FPIE_SUPPORT +HAVE_FPIE_SUPPORT:INTERNAL=1 +//Have function dgettext +LIBC_HAS_DGETTEXT:INTERNAL=1 +//ADVANCED property for variable: PERL_EXECUTABLE +PERL_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PHONON_INCLUDE_DIR +PHONON_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PHONON_LIBRARY +PHONON_LIBRARY-ADVANCED:INTERNAL=1 +QT_BINARY_DIR:INTERNAL=/usr/bin +//ADVANCED property for variable: QT_DBUSCPP2XML_EXECUTABLE +QT_DBUSCPP2XML_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DBUSXML2CPP_EXECUTABLE +QT_DBUSXML2CPP_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DBUS_LIBRARY +QT_DBUS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DESIGNER_EXECUTABLE +QT_DESIGNER_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DOC_DIR +QT_DOC_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_FONTCONFIG_LIBRARY +QT_FONTCONFIG_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_FREETYPE_LIBRARY +QT_FREETYPE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_GLIB_LIBRARY +QT_GLIB_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_GOBJECT_LIBRARY +QT_GOBJECT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_GTHREAD_LIBRARY +QT_GTHREAD_LIBRARY-ADVANCED:INTERNAL=1 +QT_HEADERS_DIR:INTERNAL=/usr/include/qt4 +//ADVANCED property for variable: QT_INCLUDE_DIR +QT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LIBRARY_DIR +QT_LIBRARY_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LINGUIST_EXECUTABLE +QT_LINGUIST_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LRELEASE_EXECUTABLE +QT_LRELEASE_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LUPDATE_EXECUTABLE +QT_LUPDATE_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_MKSPECS_DIR +QT_MKSPECS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_MOC_EXECUTABLE +QT_MOC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_INCLUDE_DIR +QT_PHONON_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY +QT_PHONON_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY_DEBUG +QT_PHONON_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY_RELEASE +QT_PHONON_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PLUGINS_DIR +QT_PLUGINS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PNG_LIBRARY +QT_PNG_LIBRARY-ADVANCED:INTERNAL=1 +//Have symbol _POSIX_TIMERS +QT_POSIX_TIMERS:INTERNAL=1 +//ADVANCED property for variable: QT_QCOLLECTIONGENERATOR_EXECUTABLE +QT_QCOLLECTIONGENERATOR_EXECUTABLE-ADVANCED:INTERNAL=1 +QT_QMAKE_EXECUTABLE_LAST:INTERNAL=/usr/bin/qmake +//ADVANCED property for variable: QT_QT3SUPPORT_INCLUDE_DIR +QT_QT3SUPPORT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY +QT_QT3SUPPORT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_DEBUG +QT_QT3SUPPORT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_RELEASE +QT_QT3SUPPORT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_INCLUDE_DIR +QT_QTASSISTANTCLIENT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY +QT_QTASSISTANTCLIENT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_DEBUG +QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_RELEASE +QT_QTASSISTANTCLIENT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_INCLUDE_DIR +QT_QTASSISTANT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY +QT_QTASSISTANT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_DEBUG +QT_QTASSISTANT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_RELEASE +QT_QTASSISTANT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY +QT_QTCLUCENE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_DEBUG +QT_QTCLUCENE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_RELEASE +QT_QTCLUCENE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_INCLUDE_DIR +QT_QTCORE_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY +QT_QTCORE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY_DEBUG +QT_QTCORE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY_RELEASE +QT_QTCORE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_INCLUDE_DIR +QT_QTDBUS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY +QT_QTDBUS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY_DEBUG +QT_QTDBUS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY_RELEASE +QT_QTDBUS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR +QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY +QT_QTDESIGNERCOMPONENTS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG +QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE +QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_INCLUDE_DIR +QT_QTDESIGNER_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY +QT_QTDESIGNER_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_DEBUG +QT_QTDESIGNER_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_RELEASE +QT_QTDESIGNER_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_INCLUDE_DIR +QT_QTGUI_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY +QT_QTGUI_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY_DEBUG +QT_QTGUI_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY_RELEASE +QT_QTGUI_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_INCLUDE_DIR +QT_QTHELP_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY +QT_QTHELP_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY_DEBUG +QT_QTHELP_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY_RELEASE +QT_QTHELP_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_INCLUDE_DIR +QT_QTMOTIF_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_DEBUG +QT_QTMOTIF_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_RELEASE +QT_QTMOTIF_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_INCLUDE_DIR +QT_QTMULTIMEDIA_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_DEBUG +QT_QTMULTIMEDIA_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_RELEASE +QT_QTMULTIMEDIA_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_INCLUDE_DIR +QT_QTNETWORK_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY +QT_QTNETWORK_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_DEBUG +QT_QTNETWORK_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_RELEASE +QT_QTNETWORK_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_INCLUDE_DIR +QT_QTNSPLUGIN_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_DEBUG +QT_QTNSPLUGIN_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_RELEASE +QT_QTNSPLUGIN_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_INCLUDE_DIR +QT_QTOPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY +QT_QTOPENGL_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_DEBUG +QT_QTOPENGL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_RELEASE +QT_QTOPENGL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_INCLUDE_DIR +QT_QTSCRIPTTOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_DEBUG +QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_RELEASE +QT_QTSCRIPTTOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_INCLUDE_DIR +QT_QTSCRIPT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY +QT_QTSCRIPT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_DEBUG +QT_QTSCRIPT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_RELEASE +QT_QTSCRIPT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_INCLUDE_DIR +QT_QTSQL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY +QT_QTSQL_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY_DEBUG +QT_QTSQL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY_RELEASE +QT_QTSQL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_INCLUDE_DIR +QT_QTSVG_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY +QT_QTSVG_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY_DEBUG +QT_QTSVG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY_RELEASE +QT_QTSVG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_INCLUDE_DIR +QT_QTTEST_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY +QT_QTTEST_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY_DEBUG +QT_QTTEST_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY_RELEASE +QT_QTTEST_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_INCLUDE_DIR +QT_QTUITOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY +QT_QTUITOOLS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_DEBUG +QT_QTUITOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_RELEASE +QT_QTUITOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_INCLUDE_DIR +QT_QTWEBKIT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY +QT_QTWEBKIT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_DEBUG +QT_QTWEBKIT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_RELEASE +QT_QTWEBKIT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_INCLUDE_DIR +QT_QTXMLPATTERNS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY +QT_QTXMLPATTERNS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_DEBUG +QT_QTXMLPATTERNS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_RELEASE +QT_QTXMLPATTERNS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_INCLUDE_DIR +QT_QTXML_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY +QT_QTXML_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY_DEBUG +QT_QTXML_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY_RELEASE +QT_QTXML_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT_INCLUDE_DIR +QT_QT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_RCC_EXECUTABLE +QT_RCC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_RT_LIBRARY +QT_RT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_TRANSLATIONS_DIR +QT_TRANSLATIONS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_UIC3_EXECUTABLE +QT_UIC3_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_UIC_EXECUTABLE +QT_UIC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_X11_ICE_LIBRARY +QT_X11_ICE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_X11_SM_LIBRARY +QT_X11_SM_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_X11_X11_LIBRARY +QT_X11_X11_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_X11_Xext_LIBRARY +QT_X11_Xext_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_X11_m_LIBRARY +QT_X11_m_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_XRENDER_LIBRARY +QT_XRENDER_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_ZLIB_LIBRARY +QT_ZLIB_LIBRARY-ADVANCED:INTERNAL=1 +//Have symbol Q_WS_MAC +Q_WS_MAC:INTERNAL= +//Have symbol Q_WS_QWS +Q_WS_QWS:INTERNAL= +//Have symbol Q_WS_WIN +Q_WS_WIN:INTERNAL= +//Have symbol Q_WS_X11 +Q_WS_X11:INTERNAL=1 +//ADVANCED property for variable: X11_ICE_INCLUDE_PATH +X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_ICE_LIB +X11_ICE_LIB-ADVANCED:INTERNAL=1 +//Have library /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so +X11_LIB_X11_SOLO:INTERNAL=1 +//ADVANCED property for variable: X11_SM_INCLUDE_PATH +X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_SM_LIB +X11_SM_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_X11_INCLUDE_PATH +X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_X11_LIB +X11_X11_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XShm_INCLUDE_PATH +X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XSync_INCLUDE_PATH +X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XTest_INCLUDE_PATH +X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_XTest_LIB +X11_XTest_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xaccessrules_INCLUDE_PATH +X11_Xaccessrules_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xaccessstr_INCLUDE_PATH +X11_Xaccessstr_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xau_INCLUDE_PATH +X11_Xau_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xau_LIB +X11_Xau_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xcomposite_INCLUDE_PATH +X11_Xcomposite_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xcomposite_LIB +X11_Xcomposite_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xcursor_INCLUDE_PATH +X11_Xcursor_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xcursor_LIB +X11_Xcursor_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xdamage_INCLUDE_PATH +X11_Xdamage_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xdamage_LIB +X11_Xdamage_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xdmcp_INCLUDE_PATH +X11_Xdmcp_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xdmcp_LIB +X11_Xdmcp_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xext_LIB +X11_Xext_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xfixes_INCLUDE_PATH +X11_Xfixes_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xfixes_LIB +X11_Xfixes_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xft_INCLUDE_PATH +X11_Xft_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xft_LIB +X11_Xft_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xinerama_INCLUDE_PATH +X11_Xinerama_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xinerama_LIB +X11_Xinerama_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xinput_INCLUDE_PATH +X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xinput_LIB +X11_Xinput_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkb_INCLUDE_PATH +X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH +X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkbfile_LIB +X11_Xkbfile_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH +X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xlib_INCLUDE_PATH +X11_Xlib_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xpm_INCLUDE_PATH +X11_Xpm_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xpm_LIB +X11_Xpm_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xrandr_INCLUDE_PATH +X11_Xrandr_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xrandr_LIB +X11_Xrandr_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xrender_INCLUDE_PATH +X11_Xrender_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xrender_LIB +X11_Xrender_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xscreensaver_INCLUDE_PATH +X11_Xscreensaver_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xscreensaver_LIB +X11_Xscreensaver_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xshape_INCLUDE_PATH +X11_Xshape_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xt_INCLUDE_PATH +X11_Xt_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xt_LIB +X11_Xt_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xutil_INCLUDE_PATH +X11_Xutil_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xv_INCLUDE_PATH +X11_Xv_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xv_LIB +X11_Xv_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_Xxf86misc_LIB +X11_Xxf86misc_LIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_dpms_INCLUDE_PATH +X11_dpms_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_xf86misc_INCLUDE_PATH +X11_xf86misc_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: X11_xf86vmode_INCLUDE_PATH +X11_xf86vmode_INCLUDE_PATH-ADVANCED:INTERNAL=1 +//Test _OFFT_IS_64BIT +_OFFT_IS_64BIT:INTERNAL= +//Test __KDE_HAVE_GCC_VISIBILITY +__KDE_HAVE_GCC_VISIBILITY:INTERNAL=1 +//Test __KDE_HAVE_W_OVERLOADED_VIRTUAL +__KDE_HAVE_W_OVERLOADED_VIRTUAL:INTERNAL=1 +//Result of TRY_COMPILE +_compile_result:INTERNAL=TRUE +//Result of TRY_RUN +_run_result:INTERNAL=0 + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCCompiler.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCCompiler.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ec4a88cfb8be664b210904311ee026b9db70aa1a --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCCompiler.cmake @@ -0,0 +1,41 @@ +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_C_COMPILER_ARG1 "") +SET(CMAKE_C_COMPILER_ID "GNU") +SET(CMAKE_C_PLATFORM_ID "Linux") +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_COMPILER_IS_GNUCC 1) +SET(CMAKE_C_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_C_COMPILER_ENV_VAR "CC") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_C_COMPILER_ID_RUN 1) +SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) +SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +SET(CMAKE_C_SIZEOF_DATA_PTR "4") +SET(CMAKE_C_COMPILER_ABI "ELF") + +IF(CMAKE_C_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_C_SIZEOF_DATA_PTR) + +IF(CMAKE_C_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +ENDIF(CMAKE_C_COMPILER_ABI) + +SET(CMAKE_C_HAS_ISYSROOT "") + +SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") +SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/i486-linux-gnu/4.4.3;/usr/lib;/lib;/usr/lib/i486-linux-gnu") diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCXXCompiler.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCXXCompiler.cmake new file mode 100644 index 0000000000000000000000000000000000000000..83e6ce9c12e52026b004e04c66181a23802792db --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeCXXCompiler.cmake @@ -0,0 +1,42 @@ +SET(CMAKE_CXX_COMPILER "/usr/bin/c++") +SET(CMAKE_CXX_COMPILER_ARG1 "") +SET(CMAKE_CXX_COMPILER_ID "GNU") +SET(CMAKE_CXX_PLATFORM_ID "Linux") +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_COMPILER_IS_GNUCXX 1) +SET(CMAKE_CXX_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_CXX_COMPILER_ID_RUN 1) +SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm) +SET(CMAKE_CXX_LINKER_PREFERENCE 30) +SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +SET(CMAKE_CXX_SIZEOF_DATA_PTR "4") +SET(CMAKE_CXX_COMPILER_ABI "ELF") + +IF(CMAKE_CXX_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) + +IF(CMAKE_CXX_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +ENDIF(CMAKE_CXX_COMPILER_ABI) + +SET(CMAKE_CXX_HAS_ISYSROOT "") + +SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") +SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/i486-linux-gnu/4.4.3;/usr/lib;/lib;/usr/lib/i486-linux-gnu") diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..7e0d0e90442a13c8351a159c4b2a5b5d0be3409e Binary files /dev/null and b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_C.bin differ diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..4f4e3ebde5b50ab53f30e787586c9ceee6b90496 Binary files /dev/null and b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..17894fdf6eb7ee75fae0db76d1476cefdd8afbb1 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,48 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "." + ".." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeError.log b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeError.log new file mode 100644 index 0000000000000000000000000000000000000000..80a98b84f7f723bda1ea821c26b6510864718167 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeError.log @@ -0,0 +1,139 @@ +Determining if the Q_WS_WIN exist failed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: ‘Q_WS_WIN’ undeclared (first use in this function) +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: (Each undeclared identifier is reported only once +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: for each function it appears in.) +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Erreur 1 +make: *** [cmTryCompileExec/fast] Erreur 2 + +File /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include <QtCore/qglobal.h> + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_WIN + cmakeRequireSymbol(0,&Q_WS_WIN); +#endif + return 0; +} + +Determining if the Q_WS_QWS exist failed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: ‘Q_WS_QWS’ undeclared (first use in this function) +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: (Each undeclared identifier is reported only once +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: for each function it appears in.) +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Erreur 1 +make: *** [cmTryCompileExec/fast] Erreur 2 + +File /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include <QtCore/qglobal.h> + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_QWS + cmakeRequireSymbol(0,&Q_WS_QWS); +#endif + return 0; +} + +Determining if the Q_WS_MAC exist failed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: ‘Q_WS_MAC’ undeclared (first use in this function) +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: (Each undeclared identifier is reported only once +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: error: for each function it appears in.) +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Erreur 1 +make: *** [cmTryCompileExec/fast] Erreur 2 + +File /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include <QtCore/qglobal.h> + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_MAC + cmakeRequireSymbol(0,&Q_WS_MAC); +#endif + return 0; +} + +Determining if the function pthread_create exists in the pthreads failed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic -lpthreads +/usr/bin/ld: cannot find -lpthreads +collect2: ld returned 1 exit status +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +make[1]: *** [cmTryCompileExec] Erreur 1 +make: *** [cmTryCompileExec/fast] Erreur 2 + + +Performing C++ SOURCE FILE Test _OFFT_IS_64BIT failed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o +/usr/bin/c++ -D_OFFT_IS_64BIT -o CMakeFiles/cmTryCompileExec.dir/src.cxx.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx:9: warning: left shift count >= width of type +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx:9: warning: left shift count >= width of type +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx:9: warning: left shift count >= width of type +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx:9: warning: left shift count >= width of type +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx:9: error: size of array ‘off_t_is_large’ is negative +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/src.cxx.o] Erreur 1 +make: *** [cmTryCompileExec/fast] Erreur 2 + +Source file was: + +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; + int main() { return 0; } + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeOutput.log b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000000000000000000000000000000000000..69b4aec881bd66af9b350e2b8fdf4483f7b9a485 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,485 @@ +The system is: Linux - 2.6.32-21-generic - i686 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 +CMakeCXXCompilerId.cpp:73: warning: deprecated conversion from string constant to ‘char*’ +CMakeCXXCompilerId.cpp:163: warning: deprecated conversion from string constant to ‘char*’ + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) +COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/i486-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i486' + /usr/lib/gcc/i486-linux-gnu/4.4.3/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec -z relro /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../.. -L/usr/lib/i486-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp »] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [Target: i486-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/i486-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i486'] + link line: [ /usr/lib/gcc/i486-linux-gnu/4.4.3/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec -z relro /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../.. -L/usr/lib/i486-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o] + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=both] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [-zrelro] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o] ==> ignore + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] + arg [-L/usr/lib/i486-linux-gnu] ==> dir [/usr/lib/i486-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> [/usr/lib/gcc/i486-linux-gnu/4.4.3] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> [/usr/lib/gcc/i486-linux-gnu/4.4.3] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] ==> [/usr/lib] + collapse dir [/lib/../lib] ==> [/lib] + collapse dir [/usr/lib/../lib] ==> [/usr/lib] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] ==> [/usr/lib] + collapse dir [/usr/lib/i486-linux-gnu] ==> [/usr/lib/i486-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/gcc/i486-linux-gnu/4.4.3;/usr/lib;/lib;/usr/lib/i486-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) +COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/i486-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i486' + /usr/lib/gcc/i486-linux-gnu/4.4.3/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec -z relro /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../.. -L/usr/lib/i486-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp »] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [Target: i486-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/i486-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i486'] + link line: [ /usr/lib/gcc/i486-linux-gnu/4.4.3/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec -z relro /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3 -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../.. -L/usr/lib/i486-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o] + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=both] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [-zrelro] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crti.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/crtbegin.o] ==> ignore + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] ==> dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] + arg [-L/usr/lib/i486-linux-gnu] ==> dir [/usr/lib/i486-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/crtend.o] ==> ignore + arg [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> [/usr/lib/gcc/i486-linux-gnu/4.4.3] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3] ==> [/usr/lib/gcc/i486-linux-gnu/4.4.3] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib] ==> [/usr/lib] + collapse dir [/lib/../lib] ==> [/lib] + collapse dir [/usr/lib/../lib] ==> [/usr/lib] + collapse dir [/usr/lib/gcc/i486-linux-gnu/4.4.3/../../..] ==> [/usr/lib] + collapse dir [/usr/lib/i486-linux-gnu] ==> [/usr/lib/i486-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/gcc/i486-linux-gnu/4.4.3;/usr/lib;/lib;/usr/lib/i486-linux-gnu] + + +Determining if the Q_WS_X11 exist passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + +File /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include <QtCore/qglobal.h> + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_X11 + cmakeRequireSymbol(0,&Q_WS_X11); +#endif + return 0; +} + +Determining if the function XOpenDisplay exists in the /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=XOpenDisplay -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=XOpenDisplay CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic -lX11 -lXext -lXft -lXau -lXdmcp +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function gethostbyname exists passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=gethostbyname -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=gethostbyname CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function connect exists passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=connect -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=connect CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function remove exists passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=remove -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=remove CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function shmat exists passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=shmat -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=shmat CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function IceConnectionNumber exists in the ICE passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic -lICE +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if files pthread.h exist passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the function pthread_create exists in the pthread passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic -lpthread +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + +Determining if the _POSIX_TIMERS exist passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -o cmTryCompileExec -rdynamic -lrt +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + +File /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include <unistd.h> +#include <time.h> + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef _POSIX_TIMERS + cmakeRequireSymbol(0,&_POSIX_TIMERS); +#endif + return 0; +} + +Performing C++ SOURCE FILE Test HAVE_FPIE_SUPPORT succeded with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -DHAVE_FPIE_SUPPORT -fPIE -o CMakeFiles/cmTryCompileExec.dir/src.cxx.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -DHAVE_FPIE_SUPPORT CMakeFiles/cmTryCompileExec.dir/src.cxx.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + +Source file was: +int main() { return 0;} +Performing C++ SOURCE FILE Test __KDE_HAVE_W_OVERLOADED_VIRTUAL succeded with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -D__KDE_HAVE_W_OVERLOADED_VIRTUAL -Woverloaded-virtual -o CMakeFiles/cmTryCompileExec.dir/src.cxx.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -D__KDE_HAVE_W_OVERLOADED_VIRTUAL CMakeFiles/cmTryCompileExec.dir/src.cxx.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + +Source file was: +int main() { return 0;} +Performing C++ SOURCE FILE Test __KDE_HAVE_GCC_VISIBILITY succeded with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -D__KDE_HAVE_GCC_VISIBILITY -fvisibility=hidden -o CMakeFiles/cmTryCompileExec.dir/src.cxx.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/src.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -D__KDE_HAVE_GCC_VISIBILITY CMakeFiles/cmTryCompileExec.dir/src.cxx.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + +Source file was: +int main() { return 0;} +Determining if the function dgettext exists passed with the following output: +Change Dir: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: entrant dans le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » +/usr/bin/cmake -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o +/usr/bin/gcc -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common -DCHECK_FUNCTION_EXISTS=dgettext -o CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common -DCHECK_FUNCTION_EXISTS=dgettext CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec -rdynamic +make[1]: quittant le répertoire « /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/CMakeTmp » + + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeRuleHashes.txt b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff67363a98ef1ef7856083cc2ab7dd2879b891a8 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,35 @@ +# Hashes of file build rules. +2422c2104009d06e5bbea627419b9794 CMakeFiles/distclean +680bfc35dc2902a087a799496d127ddd CMakeFiles/uninstall +e50bfaa5299b0551934aca4f71742b0a doc/CMakeFiles/doc-handbook +3e08adea09257dca3310e1035593a23b doc/index.cache.bz2 +a0358634cd549bc15125592bc4e00d1c man/CMakeFiles/man-manpage-sflphone-client-kde +74fdcc490fef181250f9983fdab4a99d man/sflphone-client-kde.1 +cdc031e0d261cd1c186f527226af4219 po/de/CMakeFiles/pofiles +d8f0e1e46a0621653db5a1c04b9d4fa0 po/de/sflphone-client-kde.gmo +6069d763ba3a553b099280a65e43d939 po/es/CMakeFiles/pofiles +882364b478c3aeec511af33464bfaad6 po/es/sflphone-client-kde.gmo +c2374f1f64601879c2b476a870db9e0f po/fr/CMakeFiles/pofiles +06473712cb36db7201711d52eed7d2ca po/fr/sflphone-client-kde.gmo +2442dd529624a05be33157fc785b497e po/ru/CMakeFiles/pofiles +13b3fd267b590fe56c786dd733f2a4c7 po/ru/sflphone-client-kde.gmo +1a15e0dbfb21fa55735c5125c01f8113 po/zh_CN/CMakeFiles/pofiles +66a3fc2a1440c4e258ee1823375b2d44 po/zh_CN/sflphone-client-kde.gmo +a20d30661117cda063f6e2aba5a08ee6 po/zh_HK/CMakeFiles/pofiles +adf979e241ef0c2e720c8139838767ee po/zh_HK/sflphone-client-kde.gmo +3e5a121417dc7a9fd6e819996755a4b7 src/CMakeFiles/sflphone-client-kde_automoc +c535064b6a4c5cdff12e2c91f478e99a src/callmanager_dbus_interface.cpp +b4926cd5851f25007a6c1c0aa4f3435a src/callmanager_dbus_interface.moc +1627adab6aabbaad64c56c1e814300c3 src/configurationmanager_dbus_interface.cpp +90451ba005c838912a25354d56893238 src/configurationmanager_dbus_interface.moc +1eb9264804c28ec16c46a05fea24995e src/instance_dbus_interface.cpp +38195e184c73a29cad805707c35aa8bf src/instance_dbus_interface.moc +5d8ee91144559bba90aee26d0de5a9c5 src/kcfg_settings.h +07e62df5978a0a4120f4df4afa713503 src/qrc_resources.cxx +ef6ce7bd7b78aec4409a8056303934a7 src/ui_SFLPhoneView_base.h +6bfab4b39c2d7503a79ef5933db6d772 src/ui_dlgaccountsbase.h +bf85fe42bb85a43a9edc6ee35f55368d src/ui_dlgaddressbookbase.h +77384fea20f94d4f5eebab6e4003c02c src/ui_dlgaudiobase.h +8666e064aeeb494feeeda8ba90ed3bc2 src/ui_dlgdisplaybase.h +374be8f5e1cde9574ecf1ca18ca047fb src/ui_dlggeneralbase.h +4939c445f1bfc65aafca5b7478fe770d src/ui_dlghooksbase.h diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CMakeSystem.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeSystem.cmake new file mode 100644 index 0000000000000000000000000000000000000000..310a96e7ff3802316caa1aa1188239cfaf13a1c4 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CMakeSystem.cmake @@ -0,0 +1,15 @@ + + +SET(CMAKE_SYSTEM "Linux-2.6.32-21-generic") +SET(CMAKE_SYSTEM_NAME "Linux") +SET(CMAKE_SYSTEM_VERSION "2.6.32-21-generic") +SET(CMAKE_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_HOST_SYSTEM "Linux-2.6.32-21-generic") +SET(CMAKE_HOST_SYSTEM_NAME "Linux") +SET(CMAKE_HOST_SYSTEM_VERSION "2.6.32-21-generic") +SET(CMAKE_HOST_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_CROSSCOMPILING "FALSE") + +SET(CMAKE_SYSTEM_LOADED 1) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000000000000000000000000000000000000..f262e3074f7f7e0e635db1a411bf467296cc1a17 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,188 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMC__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMC__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +/* IAR Systems compiler for embedded systems. + http://www.iar.com + Not supported yet by CMake +#elif defined(__IAR_SYSTEMS_ICC__) +# define COMPILER_ID "IAR" */ + +/* sdcc, the small devices C compiler for embedded systems, + http://sdcc.sourceforge.net */ +#elif defined(SDCC) +# define COMPILER_ID "SDCC" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; + + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} +#endif diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/a.out b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..325ea21071f2bbcc2095a1874ecae592885363d6 Binary files /dev/null and b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdC/a.out differ diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000000000000000000000000000000000000..85081a360596554989b903e448f80090487e34fb --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,175 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMCPP__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMCPP__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; + + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/a.out b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..d36f22e039077da001fcbb503a7ec0566bc0365c Binary files /dev/null and b/sflphone-client-kde/cmake-build/CMakeFiles/CompilerIdCXX/a.out differ diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/Makefile.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a0be243a1e1be5d4b779b1d1f52f901d424d5dc1 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/Makefile.cmake @@ -0,0 +1,124 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# The generator used is: +SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +SET(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/CMakeCCompiler.cmake" + "CMakeFiles/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeSystem.cmake" + "../cmake/FindQt4.cmake" + "../cmake/TargetDistclean.cmake" + "../data/CMakeLists.txt" + "../data/icons/CMakeLists.txt" + "../doc/CMakeLists.txt" + "../man/CMakeLists.txt" + "../po/CMakeLists.txt" + "../po/de/CMakeLists.txt" + "../po/es/CMakeLists.txt" + "../po/fr/CMakeLists.txt" + "../po/ru/CMakeLists.txt" + "../po/zh_CN/CMakeLists.txt" + "../po/zh_HK/CMakeLists.txt" + "../src/CMakeLists.txt" + "/usr/lib/automoc4/Automoc4Config.cmake" + "/usr/lib/automoc4/Automoc4Version.cmake" + "/usr/lib/automoc4/automoc4.files.in" + "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/CheckCXXCompilerFlag.cmake" + "/usr/share/cmake-2.8/Modules/CheckFunctionExists.cmake" + "/usr/share/cmake-2.8/Modules/CheckIncludeFiles.cmake" + "/usr/share/cmake-2.8/Modules/CheckLibraryExists.cmake" + "/usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-2.8/Modules/FindCygwin.cmake" + "/usr/share/cmake-2.8/Modules/FindKDE4.cmake" + "/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-2.8/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-2.8/Modules/FindPerl.cmake" + "/usr/share/cmake-2.8/Modules/FindThreads.cmake" + "/usr/share/cmake-2.8/Modules/MacroAddFileDependencies.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" + "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake-2.8/Modules/Platform/gcc.cmake" + "/usr/share/cmake-2.8/Modules/UseQt4.cmake" + "/usr/share/kde4/apps/cmake/modules/CheckCXXSourceCompiles.cmake" + "/usr/share/kde4/apps/cmake/modules/FindAutomoc4.cmake" + "/usr/share/kde4/apps/cmake/modules/FindGettext.cmake" + "/usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake" + "/usr/share/kde4/apps/cmake/modules/FindPhonon.cmake" + "/usr/share/kde4/apps/cmake/modules/FindQt4.cmake" + "/usr/share/kde4/apps/cmake/modules/FindX11.cmake" + "/usr/share/kde4/apps/cmake/modules/HandleImportedTargetsInCMakeRequiredLibraries.cmake" + "/usr/share/kde4/apps/cmake/modules/KDE4Defaults.cmake" + "/usr/share/kde4/apps/cmake/modules/KDE4Macros.cmake" + "/usr/share/kde4/apps/cmake/modules/KDELibs4LibraryTargets-debian.cmake" + "/usr/share/kde4/apps/cmake/modules/KDELibs4LibraryTargets.cmake" + "/usr/share/kde4/apps/cmake/modules/KDELibs4ToolsTargets-debian.cmake" + "/usr/share/kde4/apps/cmake/modules/KDELibs4ToolsTargets.cmake" + "/usr/share/kde4/apps/cmake/modules/KDELibsDependencies.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroAddCompileFlags.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroAddLinkFlags.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroAdditionalCleanFiles.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroAppendIf.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroBoolTo01.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroEnsureOutOfSourceBuild.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroEnsureVersion.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroLibrary.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroLogFeature.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroOptionalAddSubdirectory.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroOptionalFindPackage.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroPushRequiredVars.cmake" + "/usr/share/kde4/apps/cmake/modules/MacroWriteBasicCMakeVersionFile.cmake" + "/usr/share/kde4/apps/cmake/modules/Qt4ConfigDependentSettings.cmake" + "/usr/share/kde4/apps/cmake/modules/Qt4Macros.cmake" + "/usr/share/kde4/apps/cmake/modules/kde4_cmake_uninstall.cmake.in" + ) + +# The corresponding makefile is: +SET(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +SET(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + "data/CMakeFiles/CMakeDirectoryInformation.cmake" + "data/icons/CMakeFiles/CMakeDirectoryInformation.cmake" + "src/CMakeFiles/CMakeDirectoryInformation.cmake" + "doc/CMakeFiles/CMakeDirectoryInformation.cmake" + "man/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/fr/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/es/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/de/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/ru/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/zh_CN/CMakeFiles/CMakeDirectoryInformation.cmake" + "po/zh_HK/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +SET(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/distclean.dir/DependInfo.cmake" + "CMakeFiles/uninstall.dir/DependInfo.cmake" + "src/CMakeFiles/sflphone-client-kde.dir/DependInfo.cmake" + "src/CMakeFiles/sflphone-client-kde_automoc.dir/DependInfo.cmake" + "doc/CMakeFiles/doc-handbook.dir/DependInfo.cmake" + "man/CMakeFiles/man-manpage-sflphone-client-kde.dir/DependInfo.cmake" + "po/fr/CMakeFiles/pofiles.dir/DependInfo.cmake" + "po/es/CMakeFiles/pofiles.dir/DependInfo.cmake" + "po/de/CMakeFiles/pofiles.dir/DependInfo.cmake" + "po/ru/CMakeFiles/pofiles.dir/DependInfo.cmake" + "po/zh_CN/CMakeFiles/pofiles.dir/DependInfo.cmake" + "po/zh_HK/CMakeFiles/pofiles.dir/DependInfo.cmake" + ) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/Makefile2 b/sflphone-client-kde/cmake-build/CMakeFiles/Makefile2 new file mode 100644 index 0000000000000000000000000000000000000000..90560f11f8eaa2fffb032447e55386f74fd6c790 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/Makefile2 @@ -0,0 +1,665 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# The main recursive all target +all: +.PHONY : all + +# The main recursive preinstall target +preinstall: +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Target rules for target CMakeFiles/distclean.dir + +# All Build rule for target. +CMakeFiles/distclean.dir/all: + $(MAKE) -f CMakeFiles/distclean.dir/build.make CMakeFiles/distclean.dir/depend + $(MAKE) -f CMakeFiles/distclean.dir/build.make CMakeFiles/distclean.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles + @echo "Built target distclean" +.PHONY : CMakeFiles/distclean.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/distclean.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/distclean.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : CMakeFiles/distclean.dir/rule + +# Convenience name for target. +distclean: CMakeFiles/distclean.dir/rule +.PHONY : distclean + +# clean rule for target. +CMakeFiles/distclean.dir/clean: + $(MAKE) -f CMakeFiles/distclean.dir/build.make CMakeFiles/distclean.dir/clean +.PHONY : CMakeFiles/distclean.dir/clean + +# clean rule for target. +clean: CMakeFiles/distclean.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/uninstall.dir + +# All Build rule for target. +CMakeFiles/uninstall.dir/all: + $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/depend + $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles + @echo "Built target uninstall" +.PHONY : CMakeFiles/uninstall.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/uninstall.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/uninstall.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : CMakeFiles/uninstall.dir/rule + +# Convenience name for target. +uninstall: CMakeFiles/uninstall.dir/rule +.PHONY : uninstall + +# clean rule for target. +CMakeFiles/uninstall.dir/clean: + $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/clean +.PHONY : CMakeFiles/uninstall.dir/clean + +# clean rule for target. +clean: CMakeFiles/uninstall.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory data + +# Convenience name for "all" pass in the directory. +data/all: data/icons/all +.PHONY : data/all + +# Convenience name for "clean" pass in the directory. +data/clean: data/icons/clean +.PHONY : data/clean + +# Convenience name for "preinstall" pass in the directory. +data/preinstall: data/icons/preinstall +.PHONY : data/preinstall + +#============================================================================= +# Directory level rules for directory data/icons + +# Convenience name for "all" pass in the directory. +data/icons/all: +.PHONY : data/icons/all + +# Convenience name for "clean" pass in the directory. +data/icons/clean: +.PHONY : data/icons/clean + +# Convenience name for "preinstall" pass in the directory. +data/icons/preinstall: +.PHONY : data/icons/preinstall + +#============================================================================= +# Directory level rules for directory src + +# Convenience name for "all" pass in the directory. +src/all: src/CMakeFiles/sflphone-client-kde.dir/all +.PHONY : src/all + +# Convenience name for "clean" pass in the directory. +src/clean: src/CMakeFiles/sflphone-client-kde.dir/clean +src/clean: src/CMakeFiles/sflphone-client-kde_automoc.dir/clean +.PHONY : src/clean + +# Convenience name for "preinstall" pass in the directory. +src/preinstall: +.PHONY : src/preinstall + +#============================================================================= +# Target rules for target src/CMakeFiles/sflphone-client-kde.dir + +# All Build rule for target. +src/CMakeFiles/sflphone-client-kde.dir/all: src/CMakeFiles/sflphone-client-kde_automoc.dir/all + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/depend + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 + @echo "Built target sflphone-client-kde" +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/all + +# Include target in all. +all: src/CMakeFiles/sflphone-client-kde.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +src/CMakeFiles/sflphone-client-kde.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 51 + $(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/sflphone-client-kde.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/rule + +# Convenience name for target. +sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/rule +.PHONY : sflphone-client-kde + +# clean rule for target. +src/CMakeFiles/sflphone-client-kde.dir/clean: + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/clean +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/clean + +# clean rule for target. +clean: src/CMakeFiles/sflphone-client-kde.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target src/CMakeFiles/sflphone-client-kde_automoc.dir + +# All Build rule for target. +src/CMakeFiles/sflphone-client-kde_automoc.dir/all: + $(MAKE) -f src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make src/CMakeFiles/sflphone-client-kde_automoc.dir/depend + $(MAKE) -f src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make src/CMakeFiles/sflphone-client-kde_automoc.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles + @echo "Built target sflphone-client-kde_automoc" +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/all + +# Build rule for subdir invocation for target. +src/CMakeFiles/sflphone-client-kde_automoc.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/sflphone-client-kde_automoc.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/rule + +# Convenience name for target. +sflphone-client-kde_automoc: src/CMakeFiles/sflphone-client-kde_automoc.dir/rule +.PHONY : sflphone-client-kde_automoc + +# clean rule for target. +src/CMakeFiles/sflphone-client-kde_automoc.dir/clean: + $(MAKE) -f src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make src/CMakeFiles/sflphone-client-kde_automoc.dir/clean +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/clean + +# clean rule for target. +clean: src/CMakeFiles/sflphone-client-kde_automoc.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory doc + +# Convenience name for "all" pass in the directory. +doc/all: doc/CMakeFiles/doc-handbook.dir/all +.PHONY : doc/all + +# Convenience name for "clean" pass in the directory. +doc/clean: doc/CMakeFiles/doc-handbook.dir/clean +.PHONY : doc/clean + +# Convenience name for "preinstall" pass in the directory. +doc/preinstall: +.PHONY : doc/preinstall + +#============================================================================= +# Target rules for target doc/CMakeFiles/doc-handbook.dir + +# All Build rule for target. +doc/CMakeFiles/doc-handbook.dir/all: + $(MAKE) -f doc/CMakeFiles/doc-handbook.dir/build.make doc/CMakeFiles/doc-handbook.dir/depend + $(MAKE) -f doc/CMakeFiles/doc-handbook.dir/build.make doc/CMakeFiles/doc-handbook.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + @echo "Built target doc-handbook" +.PHONY : doc/CMakeFiles/doc-handbook.dir/all + +# Include target in all. +all: doc/CMakeFiles/doc-handbook.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +doc/CMakeFiles/doc-handbook.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 doc/CMakeFiles/doc-handbook.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : doc/CMakeFiles/doc-handbook.dir/rule + +# Convenience name for target. +doc-handbook: doc/CMakeFiles/doc-handbook.dir/rule +.PHONY : doc-handbook + +# clean rule for target. +doc/CMakeFiles/doc-handbook.dir/clean: + $(MAKE) -f doc/CMakeFiles/doc-handbook.dir/build.make doc/CMakeFiles/doc-handbook.dir/clean +.PHONY : doc/CMakeFiles/doc-handbook.dir/clean + +# clean rule for target. +clean: doc/CMakeFiles/doc-handbook.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory man + +# Convenience name for "all" pass in the directory. +man/all: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/all +.PHONY : man/all + +# Convenience name for "clean" pass in the directory. +man/clean: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean +.PHONY : man/clean + +# Convenience name for "preinstall" pass in the directory. +man/preinstall: +.PHONY : man/preinstall + +#============================================================================= +# Target rules for target man/CMakeFiles/man-manpage-sflphone-client-kde.dir + +# All Build rule for target. +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/all: + $(MAKE) -f man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend + $(MAKE) -f man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 2 + @echo "Built target man-manpage-sflphone-client-kde" +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/all + +# Include target in all. +all: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/man-manpage-sflphone-client-kde.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule + +# Convenience name for target. +man-manpage-sflphone-client-kde: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule +.PHONY : man-manpage-sflphone-client-kde + +# clean rule for target. +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean: + $(MAKE) -f man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean + +# clean rule for target. +clean: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po + +# Convenience name for "all" pass in the directory. +po/all: po/fr/all +po/all: po/es/all +po/all: po/de/all +po/all: po/ru/all +po/all: po/zh_CN/all +po/all: po/zh_HK/all +.PHONY : po/all + +# Convenience name for "clean" pass in the directory. +po/clean: po/fr/clean +po/clean: po/es/clean +po/clean: po/de/clean +po/clean: po/ru/clean +po/clean: po/zh_CN/clean +po/clean: po/zh_HK/clean +.PHONY : po/clean + +# Convenience name for "preinstall" pass in the directory. +po/preinstall: po/fr/preinstall +po/preinstall: po/es/preinstall +po/preinstall: po/de/preinstall +po/preinstall: po/ru/preinstall +po/preinstall: po/zh_CN/preinstall +po/preinstall: po/zh_HK/preinstall +.PHONY : po/preinstall + +#============================================================================= +# Directory level rules for directory po/fr + +# Convenience name for "all" pass in the directory. +po/fr/all: po/fr/CMakeFiles/pofiles.dir/all +.PHONY : po/fr/all + +# Convenience name for "clean" pass in the directory. +po/fr/clean: po/fr/CMakeFiles/pofiles.dir/clean +.PHONY : po/fr/clean + +# Convenience name for "preinstall" pass in the directory. +po/fr/preinstall: +.PHONY : po/fr/preinstall + +#============================================================================= +# Target rules for target po/fr/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/fr/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/fr/CMakeFiles/pofiles.dir/build.make po/fr/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/fr/CMakeFiles/pofiles.dir/build.make po/fr/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 5 + @echo "Built target pofiles" +.PHONY : po/fr/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/fr/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/fr/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/fr/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/fr/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/fr/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/fr/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/fr/CMakeFiles/pofiles.dir/build.make po/fr/CMakeFiles/pofiles.dir/clean +.PHONY : po/fr/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/fr/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po/es + +# Convenience name for "all" pass in the directory. +po/es/all: po/es/CMakeFiles/pofiles.dir/all +.PHONY : po/es/all + +# Convenience name for "clean" pass in the directory. +po/es/clean: po/es/CMakeFiles/pofiles.dir/clean +.PHONY : po/es/clean + +# Convenience name for "preinstall" pass in the directory. +po/es/preinstall: +.PHONY : po/es/preinstall + +#============================================================================= +# Target rules for target po/es/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/es/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/es/CMakeFiles/pofiles.dir/build.make po/es/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/es/CMakeFiles/pofiles.dir/build.make po/es/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 4 + @echo "Built target pofiles" +.PHONY : po/es/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/es/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/es/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/es/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/es/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/es/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/es/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/es/CMakeFiles/pofiles.dir/build.make po/es/CMakeFiles/pofiles.dir/clean +.PHONY : po/es/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/es/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po/de + +# Convenience name for "all" pass in the directory. +po/de/all: po/de/CMakeFiles/pofiles.dir/all +.PHONY : po/de/all + +# Convenience name for "clean" pass in the directory. +po/de/clean: po/de/CMakeFiles/pofiles.dir/clean +.PHONY : po/de/clean + +# Convenience name for "preinstall" pass in the directory. +po/de/preinstall: +.PHONY : po/de/preinstall + +#============================================================================= +# Target rules for target po/de/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/de/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/de/CMakeFiles/pofiles.dir/build.make po/de/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/de/CMakeFiles/pofiles.dir/build.make po/de/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 3 + @echo "Built target pofiles" +.PHONY : po/de/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/de/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/de/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/de/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/de/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/de/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/de/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/de/CMakeFiles/pofiles.dir/build.make po/de/CMakeFiles/pofiles.dir/clean +.PHONY : po/de/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/de/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po/ru + +# Convenience name for "all" pass in the directory. +po/ru/all: po/ru/CMakeFiles/pofiles.dir/all +.PHONY : po/ru/all + +# Convenience name for "clean" pass in the directory. +po/ru/clean: po/ru/CMakeFiles/pofiles.dir/clean +.PHONY : po/ru/clean + +# Convenience name for "preinstall" pass in the directory. +po/ru/preinstall: +.PHONY : po/ru/preinstall + +#============================================================================= +# Target rules for target po/ru/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/ru/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/ru/CMakeFiles/pofiles.dir/build.make po/ru/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/ru/CMakeFiles/pofiles.dir/build.make po/ru/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 6 + @echo "Built target pofiles" +.PHONY : po/ru/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/ru/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/ru/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/ru/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/ru/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/ru/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/ru/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/ru/CMakeFiles/pofiles.dir/build.make po/ru/CMakeFiles/pofiles.dir/clean +.PHONY : po/ru/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/ru/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po/zh_CN + +# Convenience name for "all" pass in the directory. +po/zh_CN/all: po/zh_CN/CMakeFiles/pofiles.dir/all +.PHONY : po/zh_CN/all + +# Convenience name for "clean" pass in the directory. +po/zh_CN/clean: po/zh_CN/CMakeFiles/pofiles.dir/clean +.PHONY : po/zh_CN/clean + +# Convenience name for "preinstall" pass in the directory. +po/zh_CN/preinstall: +.PHONY : po/zh_CN/preinstall + +#============================================================================= +# Target rules for target po/zh_CN/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/zh_CN/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/zh_CN/CMakeFiles/pofiles.dir/build.make po/zh_CN/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/zh_CN/CMakeFiles/pofiles.dir/build.make po/zh_CN/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 7 + @echo "Built target pofiles" +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/zh_CN/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/zh_CN/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/zh_CN/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/zh_CN/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/zh_CN/CMakeFiles/pofiles.dir/build.make po/zh_CN/CMakeFiles/pofiles.dir/clean +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/zh_CN/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory po/zh_HK + +# Convenience name for "all" pass in the directory. +po/zh_HK/all: po/zh_HK/CMakeFiles/pofiles.dir/all +.PHONY : po/zh_HK/all + +# Convenience name for "clean" pass in the directory. +po/zh_HK/clean: po/zh_HK/CMakeFiles/pofiles.dir/clean +.PHONY : po/zh_HK/clean + +# Convenience name for "preinstall" pass in the directory. +po/zh_HK/preinstall: +.PHONY : po/zh_HK/preinstall + +#============================================================================= +# Target rules for target po/zh_HK/CMakeFiles/pofiles.dir + +# All Build rule for target. +po/zh_HK/CMakeFiles/pofiles.dir/all: + $(MAKE) -f po/zh_HK/CMakeFiles/pofiles.dir/build.make po/zh_HK/CMakeFiles/pofiles.dir/depend + $(MAKE) -f po/zh_HK/CMakeFiles/pofiles.dir/build.make po/zh_HK/CMakeFiles/pofiles.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 8 + @echo "Built target pofiles" +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/all + +# Include target in all. +all: po/zh_HK/CMakeFiles/pofiles.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +po/zh_HK/CMakeFiles/pofiles.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/CMakeFiles/pofiles.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/zh_HK/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# clean rule for target. +po/zh_HK/CMakeFiles/pofiles.dir/clean: + $(MAKE) -f po/zh_HK/CMakeFiles/pofiles.dir/build.make po/zh_HK/CMakeFiles/pofiles.dir/clean +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/clean + +# clean rule for target. +clean: po/zh_HK/CMakeFiles/pofiles.dir/clean +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/TargetDirectories.txt b/sflphone-client-kde/cmake-build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffc75035849d316e911189106404808f2397913a --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,7 @@ +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/cmake.check_cache b/sflphone-client-kde/cmake-build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000000000000000000000000000000000000..3dccd731726d7faa8b29d8d7dba3b981a53ca497 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/build.make b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..0a9ad2c7b9466b049c64034950f06b5adeff00bc --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/build.make @@ -0,0 +1,62 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for distclean. + +CMakeFiles/distclean: + @echo cleaning for source distribution + +distclean: CMakeFiles/distclean +distclean: CMakeFiles/distclean.dir/build.make + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "distribution clean" + rm -Rf CMakeTmp CMakeFiles CMakeCache.txt *.cmake Makefile CMakeFiles CMakeTmp install_manifest.txt man/*.cmake man/Makefile man/CMakeFiles man/*.html man/*.1 doc/*.cmake doc/Makefile doc/CMakeFiles doc/*.bz2 data/*.cmake data/Makefile data/CMakeFiles data/icons/*.cmake data/icons/*.make data/icons/Makefile data/icons/CMakeFiles src/*.cmake src/Makefile src/CMakeFiles src/*.o src/moc_*.cpp src/ui_*.h src/qrc_*.cxx src/*_dbus_interface.cpp src/*_dbus_interface.h src/*_automoc.cpp.files src/*_automoc.cpp src/sflphone-client-kde src/sflphone-client-kde.shell src/*.moc src/kcfg_*.cpp src/kcfg_*.h po/*.cmake po/Makefile po/CMakeFiles `find ./po -maxdepth 2 -name 'Makefile'` `find ./po -maxdepth 2 -name 'CMakeFiles'` `find ./po -maxdepth 2 -name '*.gmo'` `find ./po -maxdepth 2 -name '*.cmake'` +.PHONY : distclean + +# Rule to build all files generated by this target. +CMakeFiles/distclean.dir/build: distclean +.PHONY : CMakeFiles/distclean.dir/build + +CMakeFiles/distclean.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/distclean.dir/cmake_clean.cmake +.PHONY : CMakeFiles/distclean.dir/clean + +CMakeFiles/distclean.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/distclean.dir/depend + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2c45f349313f2bae81e603e031db3059e53a44f0 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/distclean" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/distclean.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/progress.make b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/distclean.dir/progress.make @@ -0,0 +1 @@ + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..04f9fe46068b397a6fc24d647b7e3ec4315c15e7 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +59 diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/build.make b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..0d6791194ed4db37a8ee10b0a38cab3526e2102c --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/build.make @@ -0,0 +1,60 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for uninstall. + +CMakeFiles/uninstall: + /usr/bin/cmake -P /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/cmake_uninstall.cmake + +uninstall: CMakeFiles/uninstall +uninstall: CMakeFiles/uninstall.dir/build.make +.PHONY : uninstall + +# Rule to build all files generated by this target. +CMakeFiles/uninstall.dir/build: uninstall +.PHONY : CMakeFiles/uninstall.dir/build + +CMakeFiles/uninstall.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/uninstall.dir/cmake_clean.cmake +.PHONY : CMakeFiles/uninstall.dir/clean + +CMakeFiles/uninstall.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/uninstall.dir/depend + diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..828e2a209f029beee0ab24aff5e354cc2a14a974 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/uninstall" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/uninstall.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/progress.make b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeFiles/uninstall.dir/progress.make @@ -0,0 +1 @@ + diff --git a/sflphone-client-kde/cmake-build/CMakeTmp/check_qt_visibility.cpp b/sflphone-client-kde/cmake-build/CMakeTmp/check_qt_visibility.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2a7815766c49f61e1acacd07571e6d076f3a545b --- /dev/null +++ b/sflphone-client-kde/cmake-build/CMakeTmp/check_qt_visibility.cpp @@ -0,0 +1,9 @@ +#include <QtCore/QtGlobal> + int main() + { + #ifdef QT_VISIBILITY_AVAILABLE + return 0; + #else + return 1; + #endif + } diff --git a/sflphone-client-kde/cmake-build/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ee1b90d4eff529c74eb9965fe32dfc17b50afa88 --- /dev/null +++ b/sflphone-client-kde/cmake-build/CTestTestfile.cmake @@ -0,0 +1,11 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. +SUBDIRS(data) +SUBDIRS(src) +SUBDIRS(doc) +SUBDIRS(man) +SUBDIRS(po) diff --git a/sflphone-client-kde/cmake-build/Makefile b/sflphone-client-kde/cmake-build/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..023cbe8436dd94f71c49c8d58fc2b0a7dd0bdb32 --- /dev/null +++ b/sflphone-client-kde/cmake-build/Makefile @@ -0,0 +1,273 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named distclean + +# Build rule for target. +distclean: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 distclean +.PHONY : distclean + +# fast build rule for target. +distclean/fast: + $(MAKE) -f CMakeFiles/distclean.dir/build.make CMakeFiles/distclean.dir/build +.PHONY : distclean/fast + +#============================================================================= +# Target rules for targets named uninstall + +# Build rule for target. +uninstall: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 uninstall +.PHONY : uninstall + +# fast build rule for target. +uninstall/fast: + $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build +.PHONY : uninstall/fast + +#============================================================================= +# Target rules for targets named sflphone-client-kde + +# Build rule for target. +sflphone-client-kde: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 sflphone-client-kde +.PHONY : sflphone-client-kde + +# fast build rule for target. +sflphone-client-kde/fast: + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/build +.PHONY : sflphone-client-kde/fast + +#============================================================================= +# Target rules for targets named sflphone-client-kde_automoc + +# Build rule for target. +sflphone-client-kde_automoc: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 sflphone-client-kde_automoc +.PHONY : sflphone-client-kde_automoc + +# fast build rule for target. +sflphone-client-kde_automoc/fast: + $(MAKE) -f src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make src/CMakeFiles/sflphone-client-kde_automoc.dir/build +.PHONY : sflphone-client-kde_automoc/fast + +#============================================================================= +# Target rules for targets named doc-handbook + +# Build rule for target. +doc-handbook: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 doc-handbook +.PHONY : doc-handbook + +# fast build rule for target. +doc-handbook/fast: + $(MAKE) -f doc/CMakeFiles/doc-handbook.dir/build.make doc/CMakeFiles/doc-handbook.dir/build +.PHONY : doc-handbook/fast + +#============================================================================= +# Target rules for targets named man-manpage-sflphone-client-kde + +# Build rule for target. +man-manpage-sflphone-client-kde: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 man-manpage-sflphone-client-kde +.PHONY : man-manpage-sflphone-client-kde + +# fast build rule for target. +man-manpage-sflphone-client-kde/fast: + $(MAKE) -f man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build +.PHONY : man-manpage-sflphone-client-kde/fast + +#============================================================================= +# Target rules for targets named pofiles + +# Build rule for target. +pofiles: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pofiles +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + $(MAKE) -f po/fr/CMakeFiles/pofiles.dir/build.make po/fr/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... distclean" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" + @echo "... uninstall" + @echo "... sflphone-client-kde" + @echo "... sflphone-client-kde_automoc" + @echo "... doc-handbook" + @echo "... man-manpage-sflphone-client-kde" + @echo "... pofiles" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/cmake_install.cmake b/sflphone-client-kde/cmake-build/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..575e2de3747043f62cc0297d6db803e32c749929 --- /dev/null +++ b/sflphone-client-kde/cmake-build/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/cmake_install.cmake") + +ENDIF(NOT CMAKE_INSTALL_LOCAL_ONLY) + +IF(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +ELSE(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +ENDIF(CMAKE_INSTALL_COMPONENT) + +FILE(WRITE "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/${CMAKE_INSTALL_MANIFEST}" "") +FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) + FILE(APPEND "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") +ENDFOREACH(file) diff --git a/sflphone-client-kde/cmake-build/cmake_uninstall.cmake b/sflphone-client-kde/cmake-build/cmake_uninstall.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f0efdd49351aef05a0b0174c60ea42fd8f0a9701 --- /dev/null +++ b/sflphone-client-kde/cmake-build/cmake_uninstall.cmake @@ -0,0 +1,22 @@ +IF(NOT EXISTS "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/install_manifest.txt") + MESSAGE(FATAL_ERROR "Cannot find install manifest: \"/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/install_manifest.txt\"") +ENDIF(NOT EXISTS "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/install_manifest.txt") + +FILE(READ "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/install_manifest.txt" files) +STRING(REGEX REPLACE "\n" ";" files "${files}") +FOREACH(file ${files}) + MESSAGE(STATUS "Uninstalling \"${file}\"") + IF(EXISTS "${file}") + EXEC_PROGRAM( + "/usr/bin/cmake" ARGS "-E remove \"${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + IF("${rm_retval}" STREQUAL 0) + ELSE("${rm_retval}" STREQUAL 0) + MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"") + ENDIF("${rm_retval}" STREQUAL 0) + ELSE(EXISTS "${file}") + MESSAGE(STATUS "File \"${file}\" does not exist.") + ENDIF(EXISTS "${file}") +ENDFOREACH(file) diff --git a/sflphone-client-kde/cmake-build/data/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/data/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..49d71e0ce62afd1e91ecdcce927e5d86ec9ac507 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "data" + "../data" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/data/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/data/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..573541ac9702dd3969c9bc859d2b91ec1f7e6e56 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/sflphone-client-kde/cmake-build/data/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/data/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5a900c20b29f9fff9cc0508dc1a702085fd410d4 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/CTestTestfile.cmake @@ -0,0 +1,7 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/data +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. +SUBDIRS(icons) diff --git a/sflphone-client-kde/cmake-build/data/Makefile b/sflphone-client-kde/cmake-build/data/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e8c1aaaa740b26ede8a1186d9ac66f01be0964c5 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/Makefile @@ -0,0 +1,175 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/data/cmake_install.cmake b/sflphone-client-kde/cmake-build/data/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..319d61008d9b09523cc54583f50b7bf73643928b --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/cmake_install.cmake @@ -0,0 +1,52 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/data + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/applications/kde4" TYPE FILE FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/sflphone-client-kde.desktop") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/apps/sflphone-client-kde" TYPE FILE FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/sflphone-client-kdeui.rc") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/apps/sflphone-client-kde" TYPE FILE FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/sflphone-client-kde.notifyrc") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data/icons/cmake_install.cmake") + +ENDIF(NOT CMAKE_INSTALL_LOCAL_ONLY) + diff --git a/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..024bb7433f454b6f2c8e1da592a2f42d3d1c2eb6 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "data/icons" + "../data/icons" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..573541ac9702dd3969c9bc859d2b91ec1f7e6e56 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/sflphone-client-kde/cmake-build/data/icons/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/data/icons/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d82d0b608770cbb1a3c8a90ac96c895ff5d19b44 --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/icons/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/data/icons +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data/icons +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/data/icons/Makefile b/sflphone-client-kde/cmake-build/data/icons/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..54310aefdd645f1be1e19fccf4292a6686d2574f --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/icons/Makefile @@ -0,0 +1,175 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/data/icons/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/icons/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/icons/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/icons/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 data/icons/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/data/icons/cmake_install.cmake b/sflphone-client-kde/cmake-build/data/icons/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ae024c4155fdab3236638feccdbca3ac5e36839a --- /dev/null +++ b/sflphone-client-kde/cmake-build/data/icons/cmake_install.cmake @@ -0,0 +1,72 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/data/icons + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/16x16/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi16-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/64x64/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi64-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/128x128/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi128-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/32x32/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi32-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/48x48/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi48-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/22x22/apps/." TYPE FILE RENAME "sflphone-client-kde.png" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hi22-apps-sflphone-client-kde.png") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/icons/hicolor/scalable/apps/." TYPE FILE RENAME "sflphone-client-kde.svgz" FILES "/home/emmanuel/sflphone/sflphone-client-kde/data/icons/hisc-apps-sflphone-client-kde.svgz") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + + set(DESTDIR_VALUE "$ENV{DESTDIR}") + if (NOT DESTDIR_VALUE) + file(WRITE "/usr/local/share/icons/hicolor/temp.txt" "update") + file(REMOVE "/usr/local/share/icons/hicolor/temp.txt") + endif (NOT DESTDIR_VALUE) + +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ef24e29c023c0fec984b5c27cfbd475ab1ac846e --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "doc" + "../doc" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/build.make b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..eb11df233a6008ffa12af255a391bea4e92b2dc5 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/build.make @@ -0,0 +1,72 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for doc-handbook. + +doc/CMakeFiles/doc-handbook: doc/index.cache.bz2 + +doc/index.cache.bz2: ../doc/credits.docbook +doc/index.cache.bz2: ../doc/getting-started.docbook +doc/index.cache.bz2: ../doc/index.docbook +doc/index.cache.bz2: ../doc/advanced-use.docbook +doc/index.cache.bz2: ../doc/common-use.docbook +doc/index.cache.bz2: ../doc/basic-use.docbook +doc/index.cache.bz2: ../doc/introduction.docbook +doc/index.cache.bz2: /usr/share/kde4/apps/ksgmltools2/customization/kde-chunk.xsl + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating index.cache.bz2" + cd /home/emmanuel/sflphone/sflphone-client-kde/doc && /usr/bin/meinproc4 --check --cache /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/index.cache.bz2 /home/emmanuel/sflphone/sflphone-client-kde/doc/index.docbook + +doc-handbook: doc/CMakeFiles/doc-handbook +doc-handbook: doc/index.cache.bz2 +doc-handbook: doc/CMakeFiles/doc-handbook.dir/build.make +.PHONY : doc-handbook + +# Rule to build all files generated by this target. +doc/CMakeFiles/doc-handbook.dir/build: doc-handbook +.PHONY : doc/CMakeFiles/doc-handbook.dir/build + +doc/CMakeFiles/doc-handbook.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc && $(CMAKE_COMMAND) -P CMakeFiles/doc-handbook.dir/cmake_clean.cmake +.PHONY : doc/CMakeFiles/doc-handbook.dir/clean + +doc/CMakeFiles/doc-handbook.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/doc /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : doc/CMakeFiles/doc-handbook.dir/depend + diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..041faf368e461cd089e41b3464f99aa7cde98204 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/doc-handbook" + "index.cache.bz2" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/doc-handbook.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.internal b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.make b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/progress.make b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..781c7de277467a8195d562b5d08164806763e9bb --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/doc-handbook.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 1 + diff --git a/sflphone-client-kde/cmake-build/doc/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/doc/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/doc/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/doc/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..cdf76385c50d7e700b98a967bf4fd5d688fc1644 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/doc +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/doc/Makefile b/sflphone-client-kde/cmake-build/doc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e361063f04f644f1fd955760c81b9b6e31bede16 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 doc/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 doc/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 doc/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 doc/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +doc/CMakeFiles/doc-handbook.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 doc/CMakeFiles/doc-handbook.dir/rule +.PHONY : doc/CMakeFiles/doc-handbook.dir/rule + +# Convenience name for target. +doc-handbook: doc/CMakeFiles/doc-handbook.dir/rule +.PHONY : doc-handbook + +# fast build rule for target. +doc-handbook/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f doc/CMakeFiles/doc-handbook.dir/build.make doc/CMakeFiles/doc-handbook.dir/build +.PHONY : doc-handbook/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... doc-handbook" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/doc/cmake_install.cmake b/sflphone-client-kde/cmake-build/doc/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..69249abec60725873ecaeb29da0adf5ada049d47 --- /dev/null +++ b/sflphone-client-kde/cmake-build/doc/cmake_install.cmake @@ -0,0 +1,58 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/doc + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/doc/HTML/en/sflphone-client-kde" TYPE FILE FILES + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/doc/index.cache.bz2" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/credits.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/getting-started.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/index.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/advanced-use.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/common-use.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/basic-use.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/introduction.docbook" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-create-email.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-register-siporiax.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-finish.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-createorregister.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-stun.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-register-settings.png" + "/home/emmanuel/sflphone/sflphone-client-kde/doc/wizard-welcome.png" + ) +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + execute_process(COMMAND /usr/bin/cmake -E create_symlink "/usr/local/share/doc/HTML/en/common" "$ENV{DESTDIR}/usr/local/share/doc/HTML/en/sflphone-client-kde/common" ) +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/doc/index.cache.bz2 b/sflphone-client-kde/cmake-build/doc/index.cache.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..9c4d4e8676531685c4b1c013e70513f064079284 Binary files /dev/null and b/sflphone-client-kde/cmake-build/doc/index.cache.bz2 differ diff --git a/sflphone-client-kde/cmake-build/install_manifest.txt b/sflphone-client-kde/cmake-build/install_manifest.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a99ce909f69034fdba2de61e9b51f14cbfe4482 --- /dev/null +++ b/sflphone-client-kde/cmake-build/install_manifest.txt @@ -0,0 +1,34 @@ +/usr/local/share/applications/kde4/sflphone-client-kde.desktop +/usr/local/share/apps/sflphone-client-kde/sflphone-client-kdeui.rc +/usr/local/share/apps/sflphone-client-kde/sflphone-client-kde.notifyrc +/usr/local/share/icons/hicolor/16x16/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/64x64/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/128x128/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/32x32/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/48x48/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/22x22/apps/./sflphone-client-kde.png +/usr/local/share/icons/hicolor/scalable/apps/./sflphone-client-kde.svgz +/usr/local/share/config.kcfg/sflphone-client-kde.kcfg +/usr/local/bin/sflphone-client-kde +/usr/local/share/doc/HTML/en/sflphone-client-kde/index.cache.bz2 +/usr/local/share/doc/HTML/en/sflphone-client-kde/credits.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/getting-started.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/index.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/advanced-use.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/common-use.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/basic-use.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/introduction.docbook +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-create-email.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-register-siporiax.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-finish.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-createorregister.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-stun.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-register-settings.png +/usr/local/share/doc/HTML/en/sflphone-client-kde/wizard-welcome.png +/usr/local/share/man/man1/sflphone-client-kde.1 +/usr/local/share/locale/fr/LC_MESSAGES/sflphone-client-kde.mo +/usr/local/share/locale/es/LC_MESSAGES/sflphone-client-kde.mo +/usr/local/share/locale/de/LC_MESSAGES/sflphone-client-kde.mo +/usr/local/share/locale/ru/LC_MESSAGES/sflphone-client-kde.mo +/usr/local/share/locale/zh_CN/LC_MESSAGES/sflphone-client-kde.mo +/usr/local/share/locale/zh_HK/LC_MESSAGES/sflphone-client-kde.mo diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/man/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..26d813ce17d38da7ca04d7bc8de24b3b3eb2b07f --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "man" + "../man" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..109c3860c92e2154437ea1462074f8866d009470 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make @@ -0,0 +1,66 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for man-manpage-sflphone-client-kde. + +man/CMakeFiles/man-manpage-sflphone-client-kde: man/sflphone-client-kde.1 + +man/sflphone-client-kde.1: ../man/sflphone-client-kde.1.docbook +man/sflphone-client-kde.1: /usr/share/kde4/apps/ksgmltools2/docbook/xsl/manpages/docbook.xsl + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.1" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man && /usr/bin/meinproc4 --stylesheet /usr/share/kde4/apps/ksgmltools2/docbook/xsl/manpages/docbook.xsl --check /home/emmanuel/sflphone/sflphone-client-kde/man/sflphone-client-kde.1.docbook + +man-manpage-sflphone-client-kde: man/CMakeFiles/man-manpage-sflphone-client-kde +man-manpage-sflphone-client-kde: man/sflphone-client-kde.1 +man-manpage-sflphone-client-kde: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make +.PHONY : man-manpage-sflphone-client-kde + +# Rule to build all files generated by this target. +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build: man-manpage-sflphone-client-kde +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build + +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man && $(CMAKE_COMMAND) -P CMakeFiles/man-manpage-sflphone-client-kde.dir/cmake_clean.cmake +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/clean + +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/man /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend + diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5b3e8d7da2948a059296aa60fae693486f3cac91 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/man-manpage-sflphone-client-kde" + "sflphone-client-kde.1" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/man-manpage-sflphone-client-kde.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.internal b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.make b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/progress.make b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..164e1d26ca9458a5e20dca2a639dda0d48dc61ec --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/man-manpage-sflphone-client-kde.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 2 + diff --git a/sflphone-client-kde/cmake-build/man/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/man/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/man/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/man/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a92e30ccc1f7a8895873f084131c84d54fc22459 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/man +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/man/Makefile b/sflphone-client-kde/cmake-build/man/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..169f7e7be860ca55ce7a2a9845775a8601544127 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 man/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 man/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 man/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 man/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule +.PHONY : man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule + +# Convenience name for target. +man-manpage-sflphone-client-kde: man/CMakeFiles/man-manpage-sflphone-client-kde.dir/rule +.PHONY : man-manpage-sflphone-client-kde + +# fast build rule for target. +man-manpage-sflphone-client-kde/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build.make man/CMakeFiles/man-manpage-sflphone-client-kde.dir/build +.PHONY : man-manpage-sflphone-client-kde/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... man-manpage-sflphone-client-kde" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/man/cmake_install.cmake b/sflphone-client-kde/cmake-build/man/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5dd0173a9f2ffb459d9a8f68db95edc573327210 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/man + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/man/man1" TYPE FILE FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/man/sflphone-client-kde.1") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/man/index.html b/sflphone-client-kde/cmake-build/man/index.html new file mode 100644 index 0000000000000000000000000000000000000000..0519ecba6ea913e21689ec692e81e9e4973fbf73 --- /dev/null +++ b/sflphone-client-kde/cmake-build/man/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sflphone-client-kde/cmake-build/po/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1f55c8660b5279dc6e4aea62b8b90ac79e1e7d65 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po" + "../po" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..1e8b314962144c26d5e0e50fd29d2ca327864913 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/CMakeFiles/progress.marks @@ -0,0 +1 @@ +6 diff --git a/sflphone-client-kde/cmake-build/po/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2486771d0db76db741e21df1a6d7f097f3795b7b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/CTestTestfile.cmake @@ -0,0 +1,12 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. +SUBDIRS(fr) +SUBDIRS(es) +SUBDIRS(de) +SUBDIRS(ru) +SUBDIRS(zh_CN) +SUBDIRS(zh_HK) diff --git a/sflphone-client-kde/cmake-build/po/Makefile b/sflphone-client-kde/cmake-build/po/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..7f81e410de8de5025b5013c9fdd329c727795f32 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/Makefile @@ -0,0 +1,175 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..3a6376a99f343e8a265b518fc27ec617e8df368a --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/cmake_install.cmake @@ -0,0 +1,45 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN/cmake_install.cmake") + INCLUDE("/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/cmake_install.cmake") + +ENDIF(NOT CMAKE_INSTALL_LOCAL_ONLY) + diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..de352496749b62f17f43ca451e89025ebd24146b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/de" + "../po/de" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..1a9e2cef71ef225596c11632fa505cf5202c6830 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/de/CMakeFiles/pofiles: po/de/sflphone-client-kde.gmo + +po/de/sflphone-client-kde.gmo: ../po/de/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/de && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/de/sflphone-client-kde.po + +pofiles: po/de/CMakeFiles/pofiles +pofiles: po/de/sflphone-client-kde.gmo +pofiles: po/de/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/de/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/de/CMakeFiles/pofiles.dir/build + +po/de/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/de/CMakeFiles/pofiles.dir/clean + +po/de/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/de /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/de/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..822db750856389d9b500958c626702c4a9e11876 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 3 + diff --git a/sflphone-client-kde/cmake-build/po/de/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/de/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/de/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..24ecee43b262a6de2e14079af1621afe6f782ab8 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/de +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/de/Makefile b/sflphone-client-kde/cmake-build/po/de/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d92759244c42a3dc7720fe5a4bcffc90a6940597 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/de/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/de/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/de/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/de/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/de/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/de/CMakeFiles/pofiles.dir/rule +.PHONY : po/de/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/de/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/de/CMakeFiles/pofiles.dir/build.make po/de/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/de/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/de/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5b2206256ddb25e6f7df07653897c9080e587d23 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/de/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/de + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/de/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/de/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/de/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/de/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..28b6d1b82c3a7e437f0398ec8a7ecb3117b9d688 Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/de/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0873d590844a0448907ec6bb4a68e6678dfebc00 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/es" + "../po/es" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..5453ec74656fd924096e1f2048e5ad5554f14d13 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/es/CMakeFiles/pofiles: po/es/sflphone-client-kde.gmo + +po/es/sflphone-client-kde.gmo: ../po/es/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/es && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/es/sflphone-client-kde.po + +pofiles: po/es/CMakeFiles/pofiles +pofiles: po/es/sflphone-client-kde.gmo +pofiles: po/es/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/es/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/es/CMakeFiles/pofiles.dir/build + +po/es/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/es/CMakeFiles/pofiles.dir/clean + +po/es/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/es /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/es/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..8b1fa811a650ba0e3298a3c8f5936838377b5bd3 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 4 + diff --git a/sflphone-client-kde/cmake-build/po/es/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/es/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/es/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a4f984d079163a8e13a37569be21e366cca9817d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/es +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/es/Makefile b/sflphone-client-kde/cmake-build/po/es/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..3fcd8540bd5058ee60c122bacb0a43b8e1f3b304 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/es/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/es/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/es/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/es/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/es/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/es/CMakeFiles/pofiles.dir/rule +.PHONY : po/es/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/es/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/es/CMakeFiles/pofiles.dir/build.make po/es/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/es/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/es/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d0e11a741161250529535ef01084a5d6c78edd82 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/es/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/es + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/es/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/es/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/es/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/es/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..ddc67b46348a9b5b2a12f8db6a82316487a9ed80 Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/es/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8e3538b2d1455647ba5ad81183e33c12a15a16f5 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/fr" + "../po/fr" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..cfd622fb72e02cdc4229cd977ea19089e2c1a215 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/fr/CMakeFiles/pofiles: po/fr/sflphone-client-kde.gmo + +po/fr/sflphone-client-kde.gmo: ../po/fr/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/fr && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/fr/sflphone-client-kde.po + +pofiles: po/fr/CMakeFiles/pofiles +pofiles: po/fr/sflphone-client-kde.gmo +pofiles: po/fr/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/fr/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/fr/CMakeFiles/pofiles.dir/build + +po/fr/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/fr/CMakeFiles/pofiles.dir/clean + +po/fr/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/fr /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/fr/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..b9ea7bd548d1041fbe2fe2b13cbcca044e9ff737 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 5 + diff --git a/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/fr/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/fr/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f1a3735af79ecd8ac5bd62ef38e77bd874917d77 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/fr +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/fr/Makefile b/sflphone-client-kde/cmake-build/po/fr/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..2b60abdf835a1642ac212b00bab407e3f49f6a05 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/fr/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/fr/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/fr/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/fr/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/fr/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/fr/CMakeFiles/pofiles.dir/rule +.PHONY : po/fr/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/fr/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/fr/CMakeFiles/pofiles.dir/build.make po/fr/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/fr/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/fr/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..89880b0307a4dc4aea0ebbb03aed5237cf69e21e --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/fr/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/fr + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/fr/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/fr/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/fr/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/fr/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..0d0983908f578a70ad1641667c4c8d83076f8bc7 Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/fr/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5781e3d9d921875b357eb0eb19f70b653e3f4a2f --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/ru" + "../po/ru" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..6039d79ee10bb7eef0d7805c4e6f5d8b410b0745 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/ru/CMakeFiles/pofiles: po/ru/sflphone-client-kde.gmo + +po/ru/sflphone-client-kde.gmo: ../po/ru/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/ru && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/ru/sflphone-client-kde.po + +pofiles: po/ru/CMakeFiles/pofiles +pofiles: po/ru/sflphone-client-kde.gmo +pofiles: po/ru/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/ru/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/ru/CMakeFiles/pofiles.dir/build + +po/ru/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/ru/CMakeFiles/pofiles.dir/clean + +po/ru/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/ru /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/ru/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..16d5ea23abddaff4551b5a5ff0683238a9033992 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 6 + diff --git a/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/ru/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/ru/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..9b0dba1fb0b521163ddf7125efe616d22a05ca1d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/ru +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/ru/Makefile b/sflphone-client-kde/cmake-build/po/ru/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..a05cca0c659896d1405e111242bc84b3fc4716b4 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/ru/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/ru/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/ru/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/ru/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/ru/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/ru/CMakeFiles/pofiles.dir/rule +.PHONY : po/ru/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/ru/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/ru/CMakeFiles/pofiles.dir/build.make po/ru/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/ru/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/ru/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..23a6210eb2d8739e44c3b353497ca73622a1f9b7 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/ru/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/ru + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/ru/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/ru/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/ru/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/ru/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..7d882d919ab3fea4453114eab0830e202ee79416 Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/ru/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f7c0f57acd4d486c4fecacf2d8c9f2b071cc60ac --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/zh_CN" + "../po/zh_CN" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..5ee5c58ea2d6a94495460669da73d51f4c30cfa9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/zh_CN/CMakeFiles/pofiles: po/zh_CN/sflphone-client-kde.gmo + +po/zh_CN/sflphone-client-kde.gmo: ../po/zh_CN/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/zh_CN && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/zh_CN/sflphone-client-kde.po + +pofiles: po/zh_CN/CMakeFiles/pofiles +pofiles: po/zh_CN/sflphone-client-kde.gmo +pofiles: po/zh_CN/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/zh_CN/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/build + +po/zh_CN/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/clean + +po/zh_CN/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/zh_CN /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..68e0bc5f45990a61b98e2fc8ed05a2db2c7b2a0a --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 7 + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/zh_CN/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..15b4c8334e2b97f60e46654fa8f19a36da36ac48 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/zh_CN +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/Makefile b/sflphone-client-kde/cmake-build/po/zh_CN/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..fc67eca9b59fcb7ac6cd3cfa1453d584f0d26756 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/zh_CN/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_CN/CMakeFiles/pofiles.dir/rule +.PHONY : po/zh_CN/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/zh_CN/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/zh_CN/CMakeFiles/pofiles.dir/build.make po/zh_CN/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/zh_CN/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..acf17cdbb64bb1edfab96af5ec624b418c94e61c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_CN/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/zh_CN + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/zh_CN/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_CN/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/zh_CN/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/zh_CN/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..82bb687615480fbac2f1abcdd6eb192e70bdf1f9 Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/zh_CN/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d2da507e78959802332645451e442a1191a0b80f --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "po/zh_HK" + "../po/zh_HK" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8c890b473633e6ef20fcb85afa08efb39c171852 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/DependInfo.cmake @@ -0,0 +1,17 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/build.make b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..6bca62d75d9f65148b3e44d644c01f8275fe43c5 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/build.make @@ -0,0 +1,65 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for pofiles. + +po/zh_HK/CMakeFiles/pofiles: po/zh_HK/sflphone-client-kde.gmo + +po/zh_HK/sflphone-client-kde.gmo: ../po/zh_HK/sflphone-client-kde.po + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating sflphone-client-kde.gmo" + cd /home/emmanuel/sflphone/sflphone-client-kde/po/zh_HK && /usr/bin/msgfmt -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/sflphone-client-kde.gmo /home/emmanuel/sflphone/sflphone-client-kde/po/zh_HK/sflphone-client-kde.po + +pofiles: po/zh_HK/CMakeFiles/pofiles +pofiles: po/zh_HK/sflphone-client-kde.gmo +pofiles: po/zh_HK/CMakeFiles/pofiles.dir/build.make +.PHONY : pofiles + +# Rule to build all files generated by this target. +po/zh_HK/CMakeFiles/pofiles.dir/build: pofiles +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/build + +po/zh_HK/CMakeFiles/pofiles.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK && $(CMAKE_COMMAND) -P CMakeFiles/pofiles.dir/cmake_clean.cmake +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/clean + +po/zh_HK/CMakeFiles/pofiles.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/po/zh_HK /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/depend + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0f32e724dd138041abfd5d10b5b25f2fbdde5f9c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/cmake_clean.cmake @@ -0,0 +1,9 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/pofiles" + "sflphone-client-kde.gmo" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/pofiles.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.internal b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.make b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/progress.make b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..c561fcaeacea8de47729357775c251ea01b0cfbf --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/pofiles.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 8 + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..d00491fd7e5bb6fa28c517a0bb32b8b506539d4d --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/progress.marks @@ -0,0 +1 @@ +1 diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/po/zh_HK/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..695b6af6f559e5836a4bc3c7954438450fc20949 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/po/zh_HK +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/Makefile b/sflphone-client-kde/cmake-build/po/zh_HK/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..ad247f6715b263d342bce30ad57b54c32f1c4f1c --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/Makefile @@ -0,0 +1,190 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +po/zh_HK/CMakeFiles/pofiles.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 po/zh_HK/CMakeFiles/pofiles.dir/rule +.PHONY : po/zh_HK/CMakeFiles/pofiles.dir/rule + +# Convenience name for target. +pofiles: po/zh_HK/CMakeFiles/pofiles.dir/rule +.PHONY : pofiles + +# fast build rule for target. +pofiles/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f po/zh_HK/CMakeFiles/pofiles.dir/build.make po/zh_HK/CMakeFiles/pofiles.dir/build +.PHONY : pofiles/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... pofiles" + @echo "... rebuild_cache" + @echo "... test" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/cmake_install.cmake b/sflphone-client-kde/cmake-build/po/zh_HK/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..cfbdb3618fd3fd9aeed09afa5b8ca4b29d09aa36 --- /dev/null +++ b/sflphone-client-kde/cmake-build/po/zh_HK/cmake_install.cmake @@ -0,0 +1,38 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/po/zh_HK + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/locale/zh_HK/LC_MESSAGES" TYPE FILE RENAME "sflphone-client-kde.mo" FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/po/zh_HK/sflphone-client-kde.gmo") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/po/zh_HK/sflphone-client-kde.gmo b/sflphone-client-kde/cmake-build/po/zh_HK/sflphone-client-kde.gmo new file mode 100644 index 0000000000000000000000000000000000000000..15b3be6b2c576628d011f3d2dd3b03b9a0e58bff Binary files /dev/null and b/sflphone-client-kde/cmake-build/po/zh_HK/sflphone-client-kde.gmo differ diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/CMakeDirectoryInformation.cmake b/sflphone-client-kde/cmake-build/src/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..79501ba15e900b621d8743c4f8a8fc14c288c176 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,49 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/emmanuel/sflphone/sflphone-client-kde") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "src" + "../src" + "." + "/usr/include/KDE" + "/usr/include/qt4/KDE" + "/usr/include/qt4" + "/usr/include/qt4/phonon" + "/usr/include/qt4/QtXmlPatterns" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtMultimedia" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtAssistant" + "/usr/include/qt4/Qt3Support" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtCore" + "/usr/include/qt4/Qt" + "/usr/share/qt4/mkspecs/default" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/progress.marks b/sflphone-client-kde/cmake-build/src/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..82cced27d7be32719d009707139bd949ad6263c9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/progress.marks @@ -0,0 +1 @@ +51 diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/CXX.includecache b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/CXX.includecache new file mode 100644 index 0000000000000000000000000000000000000000..e69962d5d4cc401e8b54f0a38f9597430e7b608f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/CXX.includecache @@ -0,0 +1,4390 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +../src/Account.h +QtCore/QString +- +QtGui/QListWidgetItem +- +QtGui/QColor +- +typedefs.h +../src/typedefs.h +AccountItemWidget.h +../src/AccountItemWidget.h +Item.h +../src/Item.h + +../src/AccountItemWidget.h +QWidget +- +QCheckBox +- +QLabel +- +kled.h +- + +../src/AccountList.h +QtCore/QVector +- +Account.h +../src/Account.h + +../src/AccountListModel.h +QAbstractListModel +- +AccountList.h +../src/AccountList.h + +../src/AccountWizard.h +QWizard +- +QLabel +- +QRadioButton +- +QLineEdit +- +QCheckBox +- + +../src/Call.h +QtCore/QString +- +QtCore/QDateTime +- +QtGui/QLabel +- +QtGui/QWidget +- +Contact.h +../src/Contact.h + +../src/CallModel.h +QObject +- +QHash +- +QTreeWidgetItem +- +QVector +- +QTreeWidget +- +QItemDelegate +- +QDragEnterEvent +- +CallTreeItem.h +../src/CallTreeItem.h +Call.h +../src/Call.h +dbus/metatypes.h +../src/dbus/metatypes.h + +../src/CallTreeItem.h +QtCore/QList +- +QtCore/QVariant +- +QtCore/QVector +- +QtGui/QWidget +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QHBoxLayout +- +QtGui/QVBoxLayout +- +KIcon +- +Call.h +../src/Call.h + +../src/Contact.h +QtGui/QListWidgetItem +- +QtGui/QWidget +- +kabc/addressee.h +- +kabc/picture.h +- +kabc/phonenumber.h +- +Item.h +../src/Item.h +ContactItemWidget.h +../src/ContactItemWidget.h + +../src/ContactItemWidget.h +QWidget +- +QtGui/QLabel +- +Contact.h +../src/Contact.h + +../src/Dialpad.h +QWidget +- +QPushButton +- +QGridLayout +- + +../src/Item.h +QObject +- +QListWidgetItem +- +QWidget +- + +../src/SFLPhoneView.h +QtGui/QWidget +- +QtCore/QString +- +QtCore/QVector +- +QtCore/QList +- +QtGui/QKeyEvent +- +QErrorMessage +- +KXmlGuiWindow +- +ui_SFLPhoneView_base.h +../src/ui_SFLPhoneView_base.h +conf/ConfigurationDialog.h +../src/conf/ConfigurationDialog.h +CallTreeItem.h +../src/CallTreeItem.h +AccountWizard.h +../src/AccountWizard.h +Contact.h +../src/Contact.h +AccountList.h +../src/AccountList.h +CallModel.h +../src/CallModel.h + +../src/conf/ConfigurationDialog.h +kconfigdialog.h +- +kcfg_settings.h +../src/conf/kcfg_settings.h +SFLPhoneView.h +../src/conf/SFLPhoneView.h + +../src/conf/ConfigurationSkeleton.h +QWidget +- +kcfg_settings.h +../src/conf/kcfg_settings.h +AccountListModel.h +../src/conf/AccountListModel.h + +../src/configurationmanager_interface_singleton.h +configurationmanager_dbus_interface.h +../src/configurationmanager_dbus_interface.h + +../src/dbus/metatypes.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- +QtDBus/QtDBus +- + +../src/sflphone_const.h +QtCore/QString +- + +../src/typedefs.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Account.h +QtCore/QString +- +QtGui/QListWidgetItem +- +QtGui/QColor +- +typedefs.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/typedefs.h +AccountItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountItemWidget.h +Item.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Item.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountItemWidget.h +QWidget +- +QCheckBox +- +QLabel +- +kled.h +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountList.h +QtCore/QVector +- +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Account.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountListModel.h +QAbstractListModel +- +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountList.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountWizard.h +QWizard +- +QLabel +- +QRadioButton +- +QLineEdit +- +QCheckBox +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ActionSetAccountFirst.h +QAction +- +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Account.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Call.h +QtCore/QString +- +QtCore/QDateTime +- +QtGui/QLabel +- +QtGui/QWidget +- +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallModel.h +QObject +- +QHash +- +QTreeWidgetItem +- +QVector +- +QTreeWidget +- +QItemDelegate +- +QDragEnterEvent +- +CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallTreeItem.h +Call.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Call.h +dbus/metatypes.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/dbus/metatypes.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallTreeItem.h +QtCore/QList +- +QtCore/QVariant +- +QtCore/QVector +- +QtGui/QWidget +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QHBoxLayout +- +QtGui/QVBoxLayout +- +KIcon +- +Call.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Call.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Codec.h +QObject +- +QtCore/QString +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h +QtGui/QListWidgetItem +- +QtGui/QWidget +- +kabc/addressee.h +- +kabc/picture.h +- +kabc/phonenumber.h +- +Item.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Item.h +ContactItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ContactItemWidget.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ContactItemWidget.h +QWidget +- +QtGui/QLabel +- +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Dialpad.h +QWidget +- +QPushButton +- +QGridLayout +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Item.h +QObject +- +QListWidgetItem +- +QWidget +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhone.h +QtCore/QString +- +QtCore/QVector +- +QtGui/QListWidgetItem +- +QtGui/QKeyEvent +- +QErrorMessage +- +KSystemTrayIcon +- +KNotification +- +KXmlGuiWindow +- +KAction +- +QActionGroup +- +AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountWizard.h +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneView.h +SFLPhoneTray.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneTray.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneTray.h +KSystemTrayIcon +- +KAction +- +QMenu +- +QIcon +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneView.h +QtGui/QWidget +- +QtCore/QString +- +QtCore/QVector +- +QtCore/QList +- +QtGui/QKeyEvent +- +QErrorMessage +- +KXmlGuiWindow +- +ui_SFLPhoneView_base.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ui_SFLPhoneView_base.h +conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationDialog.h +CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallTreeItem.h +AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountWizard.h +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountList.h +CallModel.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationDialog.h +kconfigdialog.h +- +kcfg_settings.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/kcfg_settings.h +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/SFLPhoneView.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationSkeleton.h +QWidget +- +kcfg_settings.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/kcfg_settings.h +AccountListModel.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/AccountListModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaccounts.h +QWidget +- +kconfigdialog.h +- +QTableWidget +- +QListWidgetItem +- +ui_dlgaccountsbase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlgaccountsbase.h +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/Account.h +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/AccountList.h +QDebug +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaddressbook.h +QWidget +- +ui_dlgaddressbookbase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlgaddressbookbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaudio.h +QWidget +- +kconfigdialog.h +- +ui_dlgaudiobase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlgaudiobase.h +conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/conf/ConfigurationSkeleton.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgdisplay.h +QWidget +- +ui_dlgdisplaybase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlgdisplaybase.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlggeneral.h +QWidget +- +ui_dlggeneralbase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlggeneralbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlghooks.h +QWidget +- +ui_dlghooksbase.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ui_dlghooksbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/dbus/metatypes.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- +QtDBus/QtDBus +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/typedefs.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Account.cpp +../../src/Account.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Account.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp +../../src/AccountItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountItemWidget.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp +../../src/AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountList.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp +../../src/AccountListModel.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountListModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp +../../src/AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountWizard.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp +../../src/ActionSetAccountFirst.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ActionSetAccountFirst.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Call.cpp +../../src/Call.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Call.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp +../../src/CallModel.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp +../../src/CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallTreeItem.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Codec.cpp +../../src/Codec.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Codec.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp +../../src/conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationDialog.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp +../../src/conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationSkeleton.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp +../../src/ContactItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ContactItemWidget.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp +../../src/Dialpad.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Dialpad.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp +../../src/SFLPhone.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhone.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp +../../src/SFLPhoneTray.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneTray.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp +../../src/conf/dlgaccounts.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaccounts.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp +../../src/conf/dlgaddressbook.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaddressbook.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp +../../src/conf/dlgaudio.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaudio.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp +../../src/conf/dlgdisplay.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgdisplay.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp +../../src/conf/dlggeneral.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlggeneral.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp +../../src/conf/dlghooks.h +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlghooks.h + +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp +moc_SFLPhoneTray.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp +moc_Codec.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Codec.cpp +moc_Account.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Account.cpp +moc_AccountList.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp +moc_ActionSetAccountFirst.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp +moc_AccountWizard.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp +moc_dlgaddressbook.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp +moc_AccountItemWidget.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp +moc_dlghooks.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp +moc_dlgaccounts.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp +moc_dlgaudio.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp +moc_dlgdisplay.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp +moc_AccountListModel.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp +moc_CallModel.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp +moc_ContactItemWidget.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp +moc_SFLPhone.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp +moc_Call.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Call.cpp +moc_ConfigurationDialog.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp +moc_CallTreeItem.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp +moc_dlggeneral.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp +moc_ConfigurationSkeleton.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp +moc_Dialpad.cpp +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp + +/home/emmanuel/sflphone/sflphone-client-kde/src/Account.h +QtCore/QString +- +QtGui/QListWidgetItem +- +QtGui/QColor +- +typedefs.h +/home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h +AccountItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h +Item.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h +QWidget +- +QCheckBox +- +QLabel +- +kled.h +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h +QtCore/QVector +- +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.h +QAbstractListModel +- +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h +QWizard +- +QLabel +- +QRadioButton +- +QLineEdit +- +QCheckBox +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.h +QAction +- +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp +Call.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Call.h +callmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h +SFLPhone.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h +kabc/addressbook.h +- +kabc/stdaddressbook.h +- +unistd.h +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/Call.h +QtCore/QString +- +QtCore/QDateTime +- +QtGui/QLabel +- +QtGui/QWidget +- +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp +CallModel.h +- +QDebug +- +callmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h +QObject +- +QHash +- +QTreeWidgetItem +- +QVector +- +QTreeWidget +- +QItemDelegate +- +QDragEnterEvent +- +CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h +Call.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Call.h +dbus/metatypes.h +/home/emmanuel/sflphone/sflphone-client-kde/src/dbus/metatypes.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h +QtCore/QList +- +QtCore/QVariant +- +QtCore/QVector +- +QtGui/QWidget +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QHBoxLayout +- +QtGui/QVBoxLayout +- +KIcon +- +Call.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h +QtGui/QListWidgetItem +- +QtGui/QWidget +- +kabc/addressee.h +- +kabc/picture.h +- +kabc/phonenumber.h +- +Item.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Item.h +ContactItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h +QWidget +- +QtGui/QLabel +- +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.h +QWidget +- +QPushButton +- +QGridLayout +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/Item.h +QObject +- +QListWidgetItem +- +QWidget +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp +unistd.h +- +SFLPhone.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h +unistd.h +- +KApplication +- +KStandardAction +- +KMenu +- +KAction +- +KToolBar +- +KStatusBar +- +QtGui/QStatusBar +- +QtGui/QCursor +- +KActionCollection +- +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h +instance_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h +QtCore/QString +- +QtCore/QVector +- +QtGui/QListWidgetItem +- +QtGui/QKeyEvent +- +QErrorMessage +- +KSystemTrayIcon +- +KNotification +- +KXmlGuiWindow +- +KAction +- +QActionGroup +- +AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h +SFLPhoneTray.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h +KSystemTrayIcon +- +KAction +- +QMenu +- +QIcon +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h +QtGui/QLabel +- +QtGui/QContextMenuEvent +- +QtGui/QBrush +- +QtGui/QPalette +- +QtGui/QInputDialog +- +klocale.h +- +kstandardaction.h +- +kactioncollection.h +- +kaction.h +- +kmenu.h +- +kabc/addressbook.h +- +kabc/stdaddressbook.h +- +kabc/addresseelist.h +- +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h +conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.h +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h +callmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h +instance_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h +ActionSetAccountFirst.h +/home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.h +ContactItemWidget.h +/home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h +SFLPhone.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h +typedefs.h +/home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h +Dialpad.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.h +CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h +unistd.h +- +SFLPhoneView.moc +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.moc + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h +QtGui/QWidget +- +QtCore/QString +- +QtCore/QVector +- +QtCore/QList +- +QtGui/QKeyEvent +- +QErrorMessage +- +KXmlGuiWindow +- +ui_SFLPhoneView_base.h +/home/emmanuel/sflphone/sflphone-client-kde/src/ui_SFLPhoneView_base.h +conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h +CallTreeItem.h +/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h +AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h +Contact.h +/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h +CallModel.h +/home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp +SFLPhoneapplication.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.h +KCmdLineArgs +- +KIconLoader +- +KStandardDirs +- +KNotification +- +KSystemTrayIcon +- +KMainWindow +- +SFLPhone.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h +SFLPhoneapplication.moc +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.moc + +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.h +KApplication +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h +callmanager_dbus_interface.h +/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_dbus_interface.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp +ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h +conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/conf/ConfigurationSkeleton.h +dlggeneral.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.h +dlgdisplay.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.h +dlgaccounts.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.h +dlgaudio.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.h +dlgaddressbook.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.h +dlghooks.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.h +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/sflphone_const.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h +kconfigdialog.h +- +kcfg_settings.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/kcfg_settings.h +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/SFLPhoneView.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.h +QWidget +- +kcfg_settings.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/kcfg_settings.h +AccountListModel.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/AccountListModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp +dlgaccounts.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.h +QtGui/QInputDialog +- +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/configurationmanager_interface_singleton.h +SFLPhoneView.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/SFLPhoneView.h +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/sflphone_const.h +conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/conf/ConfigurationDialog.h +vector +- +string +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.h +QWidget +- +kconfigdialog.h +- +QTableWidget +- +QListWidgetItem +- +ui_dlgaccountsbase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlgaccountsbase.h +Account.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/Account.h +AccountList.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/AccountList.h +QDebug +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.h +QWidget +- +ui_dlgaddressbookbase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlgaddressbookbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp +dlgaudio.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.h +KLineEdit +- +configurationmanager_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/configurationmanager_interface_singleton.h +conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/conf/ConfigurationSkeleton.h +conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/conf/ConfigurationDialog.h +QtGui/QHeaderView +- +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/sflphone_const.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.h +QWidget +- +kconfigdialog.h +- +ui_dlgaudiobase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlgaudiobase.h +conf/ConfigurationSkeleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/conf/ConfigurationSkeleton.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.h +QWidget +- +ui_dlgdisplaybase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlgdisplaybase.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.h +QWidget +- +ui_dlggeneralbase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlggeneralbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.h +QWidget +- +ui_dlghooksbase.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ui_dlghooksbase.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h +configurationmanager_dbus_interface.h +/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_dbus_interface.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/dbus/metatypes.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- +QtDBus/QtDBus +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h +instance_dbus_interface.h +/home/emmanuel/sflphone/sflphone-client-kde/src/instance_dbus_interface.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp +unistd.h +- +QApplication +- +QtCore/QString +- +QtGui/QMenu +- +QtGui/QAction +- +kcmdlineargs.h +- +kaboutdata.h +- +klocale.h +- +KNotification +- +AccountWizard.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h +instance_interface_singleton.h +/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h +sflphone_const.h +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h +SFLPhoneapplication.h +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.h +conf/ConfigurationDialog.h +/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h +QTableView +- +QListView +- +AccountListModel.h +/home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.h + +/home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h +QtCore/QString +- + +/home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h +QtCore/QMetaType +- +QtCore/QMap +- +QtCore/QString +- + +/usr/include/KDE/../kaction.h +kdeui_export.h +- +kguiitem.h +- +kshortcut.h +- +QtGui/QWidgetAction +- + +/usr/include/KDE/../kactioncollection.h +kdeui_export.h +- +kstandardaction.h +- +kcomponentdata.h +- +QtCore/QObject +- + +/usr/include/KDE/../kapplication.h +kdeversion.h +/usr/include/KDE/../kdeversion.h +kdeui_export.h +- +krandom.h +- +kcmdlineargs.h +- +kiconloader.h +- +kicontheme.h +- +QtGui/QPixmap +- +QtGui/QIcon +- +QtGui/QApplication +- +kcomponentdata.h +- +kglobal.h +- +QtGui/QX11Info +- + +/usr/include/KDE/../kcmdlineargs.h +kdecore_export.h +- +QtCore/QBool +- +klocale.h +- + +/usr/include/KDE/../kdeversion.h +kdecore_export.h +- + +/usr/include/KDE/../kicon.h +kdeui_export.h +- +QtGui/QIcon +- + +/usr/include/KDE/../kiconloader.h +QtCore/QString +- +QtCore/QStringList +- +QtCore/QObject +- +kglobal.h +- +kdeui_export.h +- + +/usr/include/KDE/../klineedit.h +QtGui/QLineEdit +- +kcompletion.h +- + +/usr/include/KDE/../kmainwindow.h +kdeui_export.h +- +QtGui/QMainWindow +- +QtCore/QMetaClassInfo +- + +/usr/include/KDE/../kmenu.h +kdeui_export.h +- +QtGui/QMenu +- + +/usr/include/KDE/../knotification.h +kdeui_export.h +- +kcomponentdata.h +- +QtGui/QPixmap +- +QtCore/QObject +- +QtCore/QPair +- + +/usr/include/KDE/../kstandardaction.h +kdeui_export.h +- +kstandardshortcut.h +- +QtCore/QList +- + +/usr/include/KDE/../kstandarddirs.h +QtCore/QStringList +- +kglobal.h +- +QtCore/QMap +- + +/usr/include/KDE/../kstatusbar.h +kdeui_export.h +- +QtGui/QStatusBar +- + +/usr/include/KDE/../ksystemtrayicon.h +kdeui_export.h +- +kglobal.h +- +QtGui/QSystemTrayIcon +- + +/usr/include/KDE/../ktoolbar.h +kdeui_export.h +- +QtGui/QToolBar +- + +/usr/include/KDE/../kxmlguibuilder.h +kdeui_export.h +- + +/usr/include/KDE/../kxmlguiclient.h +kdeui_export.h +- +QtCore/QMap +- +QtCore/QStringList +- + +/usr/include/KDE/../kxmlguiwindow.h +kxmlguiclient.h +/usr/include/KDE/../kxmlguiclient.h +kxmlguibuilder.h +/usr/include/KDE/../kxmlguibuilder.h +kmainwindow.h +- +QtCore/QMetaClassInfo +- + +/usr/include/KDE/KAction +../kaction.h +/usr/include/KDE/../kaction.h + +/usr/include/KDE/KActionCollection +../kactioncollection.h +/usr/include/KDE/../kactioncollection.h + +/usr/include/KDE/KApplication +../kapplication.h +/usr/include/KDE/../kapplication.h + +/usr/include/KDE/KCmdLineArgs +../kcmdlineargs.h +/usr/include/KDE/../kcmdlineargs.h + +/usr/include/KDE/KIcon +../kicon.h +/usr/include/KDE/../kicon.h + +/usr/include/KDE/KIconLoader +../kiconloader.h +/usr/include/KDE/../kiconloader.h + +/usr/include/KDE/KLineEdit +../klineedit.h +/usr/include/KDE/../klineedit.h + +/usr/include/KDE/KMainWindow +../kmainwindow.h +/usr/include/KDE/../kmainwindow.h + +/usr/include/KDE/KMenu +../kmenu.h +/usr/include/KDE/../kmenu.h + +/usr/include/KDE/KNotification +../knotification.h +/usr/include/KDE/../knotification.h + +/usr/include/KDE/KStandardAction +../kstandardaction.h +/usr/include/KDE/../kstandardaction.h + +/usr/include/KDE/KStandardDirs +../kstandarddirs.h +/usr/include/KDE/../kstandarddirs.h + +/usr/include/KDE/KStatusBar +../kstatusbar.h +/usr/include/KDE/../kstatusbar.h + +/usr/include/KDE/KSystemTrayIcon +../ksystemtrayicon.h +/usr/include/KDE/../ksystemtrayicon.h + +/usr/include/KDE/KToolBar +../ktoolbar.h +/usr/include/KDE/../ktoolbar.h + +/usr/include/KDE/KXmlGuiWindow +../kxmlguiwindow.h +/usr/include/KDE/../kxmlguiwindow.h + +/usr/include/qt4/Qt3Support/q3cstring.h +QtCore/qbytearray.h +- + +/usr/include/qt4/Qt3Support/q3valuelist.h +QtCore/qalgorithms.h +- +QtCore/qdatastream.h +- +QtCore/qlinkedlist.h +- +QtCore/qlist.h +- +iterator +- +list +- + +/usr/include/qt4/QtCore/QAbstractListModel +qabstractitemmodel.h +/usr/include/qt4/QtCore/qabstractitemmodel.h + +/usr/include/qt4/QtCore/QBool +qglobal.h +/usr/include/qt4/QtCore/qglobal.h + +/usr/include/qt4/QtCore/QByteArray +qbytearray.h +/usr/include/qt4/QtCore/qbytearray.h + +/usr/include/qt4/QtCore/QDate +qdatetime.h +/usr/include/qt4/QtCore/qdatetime.h + +/usr/include/qt4/QtCore/QDateTime +qdatetime.h +/usr/include/qt4/QtCore/qdatetime.h + +/usr/include/qt4/QtCore/QDebug +qdebug.h +/usr/include/qt4/QtCore/qdebug.h + +/usr/include/qt4/QtCore/QHash +qhash.h +/usr/include/qt4/QtCore/qhash.h + +/usr/include/qt4/QtCore/QList +qlist.h +/usr/include/qt4/QtCore/qlist.h + +/usr/include/qt4/QtCore/QMap +qmap.h +/usr/include/qt4/QtCore/qmap.h + +/usr/include/qt4/QtCore/QMetaClassInfo +qmetaobject.h +/usr/include/qt4/QtCore/qmetaobject.h + +/usr/include/qt4/QtCore/QMetaType +qmetatype.h +/usr/include/qt4/QtCore/qmetatype.h + +/usr/include/qt4/QtCore/QObject +qobject.h +/usr/include/qt4/QtCore/qobject.h + +/usr/include/qt4/QtCore/QPair +qpair.h +/usr/include/qt4/QtCore/qpair.h + +/usr/include/qt4/QtCore/QPoint +qpoint.h +/usr/include/qt4/QtCore/qpoint.h + +/usr/include/qt4/QtCore/QPointF +qpoint.h +/usr/include/qt4/QtCore/qpoint.h + +/usr/include/qt4/QtCore/QString +qstring.h +/usr/include/qt4/QtCore/qstring.h + +/usr/include/qt4/QtCore/QStringList +qstringlist.h +/usr/include/qt4/QtCore/qstringlist.h + +/usr/include/qt4/QtCore/QVariant +qvariant.h +/usr/include/qt4/QtCore/qvariant.h + +/usr/include/qt4/QtCore/QVector +qvector.h +/usr/include/qt4/QtCore/qvector.h + +/usr/include/qt4/QtCore/QtCore +qxmlstream.h +/usr/include/qt4/QtCore/qxmlstream.h +qabstractfileengine.h +/usr/include/qt4/QtCore/qabstractfileengine.h +qbuffer.h +/usr/include/qt4/QtCore/qbuffer.h +qdatastream.h +/usr/include/qt4/QtCore/qdatastream.h +qdebug.h +/usr/include/qt4/QtCore/qdebug.h +qdir.h +/usr/include/qt4/QtCore/qdir.h +qdiriterator.h +/usr/include/qt4/QtCore/qdiriterator.h +qfile.h +/usr/include/qt4/QtCore/qfile.h +qfileinfo.h +/usr/include/qt4/QtCore/qfileinfo.h +qfilesystemwatcher.h +/usr/include/qt4/QtCore/qfilesystemwatcher.h +qfsfileengine.h +/usr/include/qt4/QtCore/qfsfileengine.h +qiodevice.h +/usr/include/qt4/QtCore/qiodevice.h +qprocess.h +/usr/include/qt4/QtCore/qprocess.h +qresource.h +/usr/include/qt4/QtCore/qresource.h +qsettings.h +/usr/include/qt4/QtCore/qsettings.h +qtemporaryfile.h +/usr/include/qt4/QtCore/qtemporaryfile.h +qtextstream.h +/usr/include/qt4/QtCore/qtextstream.h +qurl.h +/usr/include/qt4/QtCore/qurl.h +qtextcodec.h +/usr/include/qt4/QtCore/qtextcodec.h +qtextcodecplugin.h +/usr/include/qt4/QtCore/qtextcodecplugin.h +qalgorithms.h +/usr/include/qt4/QtCore/qalgorithms.h +qbitarray.h +/usr/include/qt4/QtCore/qbitarray.h +qbytearray.h +/usr/include/qt4/QtCore/qbytearray.h +qbytearraymatcher.h +/usr/include/qt4/QtCore/qbytearraymatcher.h +qcache.h +/usr/include/qt4/QtCore/qcache.h +qchar.h +/usr/include/qt4/QtCore/qchar.h +qcontainerfwd.h +/usr/include/qt4/QtCore/qcontainerfwd.h +qcontiguouscache.h +/usr/include/qt4/QtCore/qcontiguouscache.h +qcryptographichash.h +/usr/include/qt4/QtCore/qcryptographichash.h +qdatetime.h +/usr/include/qt4/QtCore/qdatetime.h +qeasingcurve.h +/usr/include/qt4/QtCore/qeasingcurve.h +qhash.h +/usr/include/qt4/QtCore/qhash.h +qiterator.h +/usr/include/qt4/QtCore/qiterator.h +qline.h +/usr/include/qt4/QtCore/qline.h +qlinkedlist.h +/usr/include/qt4/QtCore/qlinkedlist.h +qlist.h +/usr/include/qt4/QtCore/qlist.h +qlocale.h +/usr/include/qt4/QtCore/qlocale.h +qmap.h +/usr/include/qt4/QtCore/qmap.h +qmargins.h +/usr/include/qt4/QtCore/qmargins.h +qpair.h +/usr/include/qt4/QtCore/qpair.h +qpoint.h +/usr/include/qt4/QtCore/qpoint.h +qqueue.h +/usr/include/qt4/QtCore/qqueue.h +qrect.h +/usr/include/qt4/QtCore/qrect.h +qregexp.h +/usr/include/qt4/QtCore/qregexp.h +qscopedpointer.h +/usr/include/qt4/QtCore/qscopedpointer.h +qset.h +/usr/include/qt4/QtCore/qset.h +qshareddata.h +/usr/include/qt4/QtCore/qshareddata.h +qsharedpointer.h +/usr/include/qt4/QtCore/qsharedpointer.h +qsize.h +/usr/include/qt4/QtCore/qsize.h +qstack.h +/usr/include/qt4/QtCore/qstack.h +qstring.h +/usr/include/qt4/QtCore/qstring.h +qstringbuilder.h +/usr/include/qt4/QtCore/qstringbuilder.h +qstringlist.h +/usr/include/qt4/QtCore/qstringlist.h +qstringmatcher.h +/usr/include/qt4/QtCore/qstringmatcher.h +qtextboundaryfinder.h +/usr/include/qt4/QtCore/qtextboundaryfinder.h +qtimeline.h +/usr/include/qt4/QtCore/qtimeline.h +qvarlengtharray.h +/usr/include/qt4/QtCore/qvarlengtharray.h +qvector.h +/usr/include/qt4/QtCore/qvector.h +qendian.h +/usr/include/qt4/QtCore/qendian.h +qfeatures.h +/usr/include/qt4/QtCore/qfeatures.h +qglobal.h +/usr/include/qt4/QtCore/qglobal.h +qlibraryinfo.h +/usr/include/qt4/QtCore/qlibraryinfo.h +qnamespace.h +/usr/include/qt4/QtCore/qnamespace.h +qnumeric.h +/usr/include/qt4/QtCore/qnumeric.h +qabstracteventdispatcher.h +/usr/include/qt4/QtCore/qabstracteventdispatcher.h +qabstractitemmodel.h +/usr/include/qt4/QtCore/qabstractitemmodel.h +qbasictimer.h +/usr/include/qt4/QtCore/qbasictimer.h +qcoreapplication.h +/usr/include/qt4/QtCore/qcoreapplication.h +qcoreevent.h +/usr/include/qt4/QtCore/qcoreevent.h +qeventloop.h +/usr/include/qt4/QtCore/qeventloop.h +qmath.h +/usr/include/qt4/QtCore/qmath.h +qmetaobject.h +/usr/include/qt4/QtCore/qmetaobject.h +qmetatype.h +/usr/include/qt4/QtCore/qmetatype.h +qmimedata.h +/usr/include/qt4/QtCore/qmimedata.h +qobject.h +/usr/include/qt4/QtCore/qobject.h +qobjectcleanuphandler.h +/usr/include/qt4/QtCore/qobjectcleanuphandler.h +qobjectdefs.h +/usr/include/qt4/QtCore/qobjectdefs.h +qpointer.h +/usr/include/qt4/QtCore/qpointer.h +qsharedmemory.h +/usr/include/qt4/QtCore/qsharedmemory.h +qsignalmapper.h +/usr/include/qt4/QtCore/qsignalmapper.h +qsocketnotifier.h +/usr/include/qt4/QtCore/qsocketnotifier.h +qsystemsemaphore.h +/usr/include/qt4/QtCore/qsystemsemaphore.h +qtimer.h +/usr/include/qt4/QtCore/qtimer.h +qtranslator.h +/usr/include/qt4/QtCore/qtranslator.h +qvariant.h +/usr/include/qt4/QtCore/qvariant.h +qfuture.h +/usr/include/qt4/QtCore/qfuture.h +qfutureinterface.h +/usr/include/qt4/QtCore/qfutureinterface.h +qfuturesynchronizer.h +/usr/include/qt4/QtCore/qfuturesynchronizer.h +qfuturewatcher.h +/usr/include/qt4/QtCore/qfuturewatcher.h +qrunnable.h +/usr/include/qt4/QtCore/qrunnable.h +qtconcurrentcompilertest.h +/usr/include/qt4/QtCore/qtconcurrentcompilertest.h +qtconcurrentexception.h +/usr/include/qt4/QtCore/qtconcurrentexception.h +qtconcurrentfilter.h +/usr/include/qt4/QtCore/qtconcurrentfilter.h +qtconcurrentfilterkernel.h +/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +qtconcurrentfunctionwrappers.h +/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +qtconcurrentiteratekernel.h +/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +qtconcurrentmap.h +/usr/include/qt4/QtCore/qtconcurrentmap.h +qtconcurrentmapkernel.h +/usr/include/qt4/QtCore/qtconcurrentmapkernel.h +qtconcurrentmedian.h +/usr/include/qt4/QtCore/qtconcurrentmedian.h +qtconcurrentreducekernel.h +/usr/include/qt4/QtCore/qtconcurrentreducekernel.h +qtconcurrentresultstore.h +/usr/include/qt4/QtCore/qtconcurrentresultstore.h +qtconcurrentrun.h +/usr/include/qt4/QtCore/qtconcurrentrun.h +qtconcurrentrunbase.h +/usr/include/qt4/QtCore/qtconcurrentrunbase.h +qtconcurrentstoredfunctioncall.h +/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +qtconcurrentthreadengine.h +/usr/include/qt4/QtCore/qtconcurrentthreadengine.h +qthreadpool.h +/usr/include/qt4/QtCore/qthreadpool.h +qfactoryinterface.h +/usr/include/qt4/QtCore/qfactoryinterface.h +qlibrary.h +/usr/include/qt4/QtCore/qlibrary.h +qplugin.h +/usr/include/qt4/QtCore/qplugin.h +qpluginloader.h +/usr/include/qt4/QtCore/qpluginloader.h +quuid.h +/usr/include/qt4/QtCore/quuid.h +qatomic.h +/usr/include/qt4/QtCore/qatomic.h +qbasicatomic.h +/usr/include/qt4/QtCore/qbasicatomic.h +qmutex.h +/usr/include/qt4/QtCore/qmutex.h +qreadwritelock.h +/usr/include/qt4/QtCore/qreadwritelock.h +qsemaphore.h +/usr/include/qt4/QtCore/qsemaphore.h +qthread.h +/usr/include/qt4/QtCore/qthread.h +qthreadstorage.h +/usr/include/qt4/QtCore/qthreadstorage.h +qwaitcondition.h +/usr/include/qt4/QtCore/qwaitcondition.h +qabstractstate.h +/usr/include/qt4/QtCore/qabstractstate.h +qabstracttransition.h +/usr/include/qt4/QtCore/qabstracttransition.h +qeventtransition.h +/usr/include/qt4/QtCore/qeventtransition.h +qfinalstate.h +/usr/include/qt4/QtCore/qfinalstate.h +qhistorystate.h +/usr/include/qt4/QtCore/qhistorystate.h +qsignaltransition.h +/usr/include/qt4/QtCore/qsignaltransition.h +qstate.h +/usr/include/qt4/QtCore/qstate.h +qstatemachine.h +/usr/include/qt4/QtCore/qstatemachine.h +qabstractanimation.h +/usr/include/qt4/QtCore/qabstractanimation.h +qanimationgroup.h +/usr/include/qt4/QtCore/qanimationgroup.h +qparallelanimationgroup.h +/usr/include/qt4/QtCore/qparallelanimationgroup.h +qpauseanimation.h +/usr/include/qt4/QtCore/qpauseanimation.h +qpropertyanimation.h +/usr/include/qt4/QtCore/qpropertyanimation.h +qsequentialanimationgroup.h +/usr/include/qt4/QtCore/qsequentialanimationgroup.h +qvariantanimation.h +/usr/include/qt4/QtCore/qvariantanimation.h + +/usr/include/qt4/QtCore/qabstractanimation.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qabstracteventdispatcher.h +QtCore/qobject.h +- +QtCore/qeventloop.h +- + +/usr/include/qt4/QtCore/qabstractfileengine.h +QtCore/qdir.h +- + +/usr/include/qt4/QtCore/qabstractitemmodel.h +QtCore/qvariant.h +- +QtCore/qobject.h +- +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qabstractstate.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qabstracttransition.h +QtCore/qobject.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qalgorithms.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qanimationgroup.h +QtCore/qabstractanimation.h +- + +/usr/include/qt4/QtCore/qatomic.h +QtCore/qglobal.h +- +QtCore/qbasicatomic.h +- + +/usr/include/qt4/QtCore/qatomic_alpha.h + +/usr/include/qt4/QtCore/qatomic_arch.h +QtCore/qglobal.h +/usr/include/qt4/QtCore/QtCore/qglobal.h +QtCore/qatomic_vxworks.h +/usr/include/qt4/QtCore/QtCore/qatomic_vxworks.h +QtCore/qatomic_alpha.h +/usr/include/qt4/QtCore/QtCore/qatomic_alpha.h +QtCore/qatomic_arm.h +/usr/include/qt4/QtCore/QtCore/qatomic_arm.h +QtCore/qatomic_armv6.h +/usr/include/qt4/QtCore/QtCore/qatomic_armv6.h +QtCore/qatomic_avr32.h +/usr/include/qt4/QtCore/QtCore/qatomic_avr32.h +QtCore/qatomic_bfin.h +/usr/include/qt4/QtCore/QtCore/qatomic_bfin.h +QtCore/qatomic_generic.h +/usr/include/qt4/QtCore/QtCore/qatomic_generic.h +QtCore/qatomic_i386.h +/usr/include/qt4/QtCore/QtCore/qatomic_i386.h +QtCore/qatomic_ia64.h +/usr/include/qt4/QtCore/QtCore/qatomic_ia64.h +QtCore/qatomic_macosx.h +/usr/include/qt4/QtCore/QtCore/qatomic_macosx.h +QtCore/qatomic_mips.h +/usr/include/qt4/QtCore/QtCore/qatomic_mips.h +QtCore/qatomic_parisc.h +/usr/include/qt4/QtCore/QtCore/qatomic_parisc.h +QtCore/qatomic_powerpc.h +/usr/include/qt4/QtCore/QtCore/qatomic_powerpc.h +QtCore/qatomic_s390.h +/usr/include/qt4/QtCore/QtCore/qatomic_s390.h +QtCore/qatomic_sparc.h +/usr/include/qt4/QtCore/QtCore/qatomic_sparc.h +QtCore/qatomic_windows.h +/usr/include/qt4/QtCore/QtCore/qatomic_windows.h +QtCore/qatomic_windowsce.h +/usr/include/qt4/QtCore/QtCore/qatomic_windowsce.h +QtCore/qatomic_x86_64.h +/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h +QtCore/qatomic_symbian.h +/usr/include/qt4/QtCore/QtCore/qatomic_symbian.h +QtCore/qatomic_sh.h +/usr/include/qt4/QtCore/QtCore/qatomic_sh.h +QtCore/qatomic_sh4a.h +/usr/include/qt4/QtCore/QtCore/qatomic_sh4a.h + +/usr/include/qt4/QtCore/qatomic_arm.h + +/usr/include/qt4/QtCore/qatomic_armv6.h + +/usr/include/qt4/QtCore/qatomic_avr32.h + +/usr/include/qt4/QtCore/qatomic_bfin.h +asm/fixed_code.h +- + +/usr/include/qt4/QtCore/qatomic_bootstrap.h + +/usr/include/qt4/QtCore/qatomic_generic.h + +/usr/include/qt4/QtCore/qatomic_i386.h + +/usr/include/qt4/QtCore/qatomic_ia64.h +ia64intrin.h +- +ia64/sys/inline.h +- + +/usr/include/qt4/QtCore/qatomic_macosx.h +QtCore/qatomic_x86_64.h +- +QtCore/qatomic_i386.h +- +QtCore/qatomic_powerpc.h +- + +/usr/include/qt4/QtCore/qatomic_mips.h + +/usr/include/qt4/QtCore/qatomic_parisc.h + +/usr/include/qt4/QtCore/qatomic_powerpc.h + +/usr/include/qt4/QtCore/qatomic_s390.h + +/usr/include/qt4/QtCore/qatomic_sh.h + +/usr/include/qt4/QtCore/qatomic_sh4a.h + +/usr/include/qt4/QtCore/qatomic_sparc.h + +/usr/include/qt4/QtCore/qatomic_symbian.h +qglobal.h +- +e32std.h +- + +/usr/include/qt4/QtCore/qatomic_vxworks.h +QtCore/qatomic_powerpc.h +- +vxWorksCommon.h +- +taskLib.h +- + +/usr/include/qt4/QtCore/qatomic_windows.h +QtCore/qatomic_i386.h +/usr/include/qt4/QtCore/QtCore/qatomic_i386.h +QtCore/qatomic_x86_64.h +/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h +winbase.h +- + +/usr/include/qt4/QtCore/qatomic_windowsce.h +QtCore/qglobal.h +- +QtCore/qatomic_windows.h +/usr/include/qt4/QtCore/QtCore/qatomic_windows.h + +/usr/include/qt4/QtCore/qatomic_x86_64.h + +/usr/include/qt4/QtCore/qbasicatomic.h +QtCore/qglobal.h +- +QtCore/qatomic_bootstrap.h +- +QtCore/qatomic_arch.h +- + +/usr/include/qt4/QtCore/qbasictimer.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qbitarray.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qbuffer.h +QtCore/qiodevice.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qbytearray.h +QtCore/qatomic.h +- +QtCore/qnamespace.h +- +string.h +- +stdarg.h +- + +/usr/include/qt4/QtCore/qbytearraymatcher.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qcache.h +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qchar.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qconfig.h + +/usr/include/qt4/QtCore/qcontainerfwd.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qcontiguouscache.h +QtCore/qatomic.h +- +limits.h +- +new +- + +/usr/include/qt4/QtCore/qcoreapplication.h +QtCore/qobject.h +- +QtCore/qcoreevent.h +- +QtCore/qeventloop.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qcoreevent.h +QtCore/qnamespace.h +- +QtCore/qbytearray.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qcryptographichash.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qdatastream.h +QtCore/qscopedpointer.h +- +QtCore/qiodevice.h +- +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qdatetime.h +QtCore/qstring.h +- +QtCore/qnamespace.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtCore/qdebug.h +QtCore/qalgorithms.h +- +QtCore/qhash.h +- +QtCore/qlist.h +- +QtCore/qmap.h +- +QtCore/qpair.h +- +QtCore/qtextstream.h +- +QtCore/qstring.h +- +QtCore/qvector.h +- +QtCore/qset.h +- +QtCore/qcontiguouscache.h +- + +/usr/include/qt4/QtCore/qdir.h +QtCore/qstring.h +- +QtCore/qfileinfo.h +- +QtCore/qstringlist.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qdiriterator.h +QtCore/qdir.h +- + +/usr/include/qt4/QtCore/qeasingcurve.h +QtCore/qglobal.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qendian.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qeventloop.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qeventtransition.h +QtCore/qabstracttransition.h +- +QtCore/qcoreevent.h +- + +/usr/include/qt4/QtCore/qfactoryinterface.h +QtCore/qobject.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qfeatures.h + +/usr/include/qt4/QtCore/qfile.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +stdio.h +- + +/usr/include/qt4/QtCore/qfileinfo.h +QtCore/qfile.h +- +QtCore/qlist.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qfilesystemwatcher.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qfinalstate.h +QtCore/qabstractstate.h +- + +/usr/include/qt4/QtCore/qfsfileengine.h +QtCore/qabstractfileengine.h +- + +/usr/include/qt4/QtCore/qfuture.h +QtCore/qglobal.h +- +QtCore/qfutureinterface.h +- +QtCore/qstring.h +- +QtCore/qtconcurrentcompilertest.h +- + +/usr/include/qt4/QtCore/qfutureinterface.h +QtCore/qglobal.h +- +QtCore/qrunnable.h +- +QtCore/qmutex.h +- +QtCore/qtconcurrentexception.h +- +QtCore/qtconcurrentresultstore.h +- + +/usr/include/qt4/QtCore/qfuturesynchronizer.h +QtCore/qfuture.h +- + +/usr/include/qt4/QtCore/qfuturewatcher.h +QtCore/qfuture.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qglobal.h +stddef.h +- +QtCore/qconfig.h +- +AvailabilityMacros.h +- +e32def.h +- +QtCore/qfeatures.h +- + +/usr/include/qt4/QtCore/qhash.h +QtCore/qatomic.h +- +QtCore/qchar.h +- +QtCore/qiterator.h +- +QtCore/qlist.h +- +QtCore/qpair.h +- + +/usr/include/qt4/QtCore/qhistorystate.h +QtCore/qabstractstate.h +- + +/usr/include/qt4/QtCore/qiodevice.h +QtCore/qobject.h +- +QtCore/qobjectdefs.h +- +QtCore/qscopedpointer.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qiterator.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qlibrary.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qlibraryinfo.h +QtCore/qstring.h +- +QtCore/QDate +- + +/usr/include/qt4/QtCore/qline.h +QtCore/qpoint.h +- + +/usr/include/qt4/QtCore/qlinkedlist.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +iterator +- +list +- + +/usr/include/qt4/QtCore/qlist.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +QtCore/qalgorithms.h +- +iterator +- +list +- +new +- +string.h +- + +/usr/include/qt4/QtCore/qlocale.h +QtCore/qstring.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qmap.h +QtCore/qatomic.h +- +QtCore/qiterator.h +- +QtCore/qlist.h +- +map +- +new +- + +/usr/include/qt4/QtCore/qmargins.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qmath.h +math.h +- +QtCore/qglobal.h +- +e32math.h +- + +/usr/include/qt4/QtCore/qmetaobject.h +QtCore/qobjectdefs.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtCore/qmetatype.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtCore/qmimedata.h +QtCore/qvariant.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qmutex.h +QtCore/qglobal.h +- +new +- + +/usr/include/qt4/QtCore/qnamespace.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qnumeric.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qobject.h +QtCore/qobjectdefs.h +- +QtCore/qstring.h +- +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtCore/qcoreevent.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qobjectcleanuphandler.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qobjectdefs.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qpair.h +QtCore/qdatastream.h +- + +/usr/include/qt4/QtCore/qparallelanimationgroup.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qpauseanimation.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qplugin.h +QtCore/qobject.h +- +QtCore/qpointer.h +- + +/usr/include/qt4/QtCore/qpluginloader.h +QtCore/qlibrary.h +- + +/usr/include/qt4/QtCore/qpoint.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qpointer.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qprocess.h +QtCore/qiodevice.h +- +QtCore/qstringlist.h +- +QtCore/qshareddata.h +- + +/usr/include/qt4/QtCore/qpropertyanimation.h +QtCore/qvariantanimation.h +- + +/usr/include/qt4/QtCore/qqueue.h +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qreadwritelock.h +QtCore/qglobal.h +- +limits.h +- + +/usr/include/qt4/QtCore/qrect.h +QtCore/qsize.h +- +QtCore/qpoint.h +- + +/usr/include/qt4/QtCore/qregexp.h +QtCore/qstring.h +- +new +- + +/usr/include/qt4/QtCore/qresource.h +QtCore/qstring.h +- +QtCore/qlocale.h +- +QtCore/qstringlist.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qrunnable.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qscopedpointer.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qsemaphore.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qsequentialanimationgroup.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qset.h +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qsettings.h +QtCore/qobject.h +- +QtCore/qvariant.h +- +QtCore/qstring.h +- +QtCore/qstringlist.h +- +ctype.h +- + +/usr/include/qt4/QtCore/qshareddata.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- + +/usr/include/qt4/QtCore/qsharedmemory.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsharedpointer.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qshareddata.h +- +QtCore/qsharedpointer_impl.h +- + +/usr/include/qt4/QtCore/qsharedpointer_impl.h +new +- +QtCore/qatomic.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsignalmapper.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsignaltransition.h +QtCore/qabstracttransition.h +- + +/usr/include/qt4/QtCore/qsize.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qsocketnotifier.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qstack.h +QtCore/qvector.h +- + +/usr/include/qt4/QtCore/qstate.h +QtCore/qabstractstate.h +- + +/usr/include/qt4/QtCore/qstatemachine.h +QtCore/qstate.h +- +QtCore/qcoreevent.h +- +QtCore/qlist.h +- +QtCore/qobject.h +- +QtCore/qset.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtCore/qstring.h +QtCore/qchar.h +- +QtCore/qbytearray.h +- +QtCore/qatomic.h +- +QtCore/qnamespace.h +- +Qt3Support/q3cstring.h +- +string +- +string +- +stdarg.h +- +QtCore/qstringbuilder.h +- + +/usr/include/qt4/QtCore/qstringbuilder.h +QtCore/qstring.h +- +QtCore/qmap.h +- +string.h +- + +/usr/include/qt4/QtCore/qstringlist.h +QtCore/qalgorithms.h +- +QtCore/qdatastream.h +- +QtCore/qlist.h +- +QtCore/qregexp.h +- +QtCore/qstring.h +- +QtCore/qstringmatcher.h +- +Qt3Support/q3valuelist.h +- + +/usr/include/qt4/QtCore/qstringmatcher.h +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qsystemsemaphore.h +QtCore/qstring.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qtconcurrentcompilertest.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtconcurrentexception.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +exception +- + +/usr/include/qt4/QtCore/qtconcurrentfilter.h +QtCore/qglobal.h +- +QtCore/qtconcurrentfilterkernel.h +- +QtCore/qtconcurrentfunctionwrappers.h +- + +/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +QtCore/qglobal.h +- +QtCore/qtconcurrentiteratekernel.h +- +QtCore/qtconcurrentmapkernel.h +- +QtCore/qtconcurrentreducekernel.h +- + +/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qtconcurrentmedian.h +- +QtCore/qtconcurrentthreadengine.h +- +iterator +- + +/usr/include/qt4/QtCore/qtconcurrentmap.h +QtCore/qglobal.h +- +QtCore/qtconcurrentmapkernel.h +- +QtCore/qtconcurrentreducekernel.h +- +QtCore/qtconcurrentfunctionwrappers.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qtconcurrentmapkernel.h +QtCore/qglobal.h +- +QtCore/qtconcurrentiteratekernel.h +- +QtCore/qtconcurrentreducekernel.h +- + +/usr/include/qt4/QtCore/qtconcurrentmedian.h +QtCore/qglobal.h +- +QtCore/qvector.h +- +QtCore/qalgorithms.h +- + +/usr/include/qt4/QtCore/qtconcurrentreducekernel.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qlist.h +- +QtCore/qmap.h +- +QtCore/qmutex.h +- +QtCore/qthread.h +- +QtCore/qthreadpool.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtCore/qtconcurrentresultstore.h +QtCore/qglobal.h +- +QtCore/qmap.h +- +QtCore/qdebug.h +- + +/usr/include/qt4/QtCore/qtconcurrentrun.h +QtCore/qglobal.h +- +QtCore/qtconcurrentrunbase.h +- +QtCore/qtconcurrentstoredfunctioncall.h +- + +/usr/include/qt4/QtCore/qtconcurrentrunbase.h +QtCore/qglobal.h +- +QtCore/qfuture.h +- +QtCore/qrunnable.h +- +QtCore/qthreadpool.h +- + +/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +QtCore/qglobal.h +- +QtCore/qtconcurrentrunbase.h +- + +/usr/include/qt4/QtCore/qtconcurrentthreadengine.h +QtCore/qglobal.h +- +QtCore/qthreadpool.h +- +QtCore/qfuture.h +- +QtCore/qdebug.h +- +QtCore/qtconcurrentexception.h +- +QtCore/qwaitcondition.h +- +QtCore/qatomic.h +- +QtCore/qsemaphore.h +- + +/usr/include/qt4/QtCore/qtemporaryfile.h +QtCore/qiodevice.h +- +QtCore/qfile.h +- + +/usr/include/qt4/QtCore/qtextboundaryfinder.h +QtCore/qchar.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qtextcodec.h +QtCore/qstring.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qtextcodecplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- +QtCore/qlist.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qtextstream.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +QtCore/qchar.h +- +QtCore/qlocale.h +- +QtCore/qscopedpointer.h +- +QtCore/qtextcodec.h +- +stdio.h +- + +/usr/include/qt4/QtCore/qthread.h +QtCore/qobject.h +- +limits.h +- + +/usr/include/qt4/QtCore/qthreadpool.h +QtCore/qglobal.h +- +QtCore/qthread.h +- +QtCore/qrunnable.h +- + +/usr/include/qt4/QtCore/qthreadstorage.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtimeline.h +QtCore/qeasingcurve.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qtimer.h +QtCore/qbasictimer.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qtranslator.h +QtCore/qobject.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qurl.h +QtCore/qbytearray.h +- +QtCore/qobjectdefs.h +- +QtCore/qpair.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/quuid.h +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qvariant.h +QtCore/qatomic.h +- +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtCore/qmetatype.h +- +QtCore/qmap.h +- +QtCore/qhash.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qvariantanimation.h +QtCore/qeasingcurve.h +- +QtCore/qabstractanimation.h +- +QtCore/qvector.h +- +QtCore/qvariant.h +- +QtCore/qpair.h +- + +/usr/include/qt4/QtCore/qvarlengtharray.h +QtCore/qcontainerfwd.h +- +QtCore/qglobal.h +- +new +- + +/usr/include/qt4/QtCore/qvector.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +QtCore/qalgorithms.h +- +QtCore/qlist.h +- +iterator +- +vector +- +stdlib.h +- +string.h +- +QtCore/QPointF +- +QtCore/QPoint +- + +/usr/include/qt4/QtCore/qwaitcondition.h +QtCore/qglobal.h +- +limits.h +- + +/usr/include/qt4/QtCore/qxmlstream.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtDBus/QtDBus +QtCore/QtCore +- +qdbusabstractadaptor.h +/usr/include/qt4/QtDBus/qdbusabstractadaptor.h +qdbusabstractinterface.h +/usr/include/qt4/QtDBus/qdbusabstractinterface.h +qdbusargument.h +/usr/include/qt4/QtDBus/qdbusargument.h +qdbusconnection.h +/usr/include/qt4/QtDBus/qdbusconnection.h +qdbusconnectioninterface.h +/usr/include/qt4/QtDBus/qdbusconnectioninterface.h +qdbuscontext.h +/usr/include/qt4/QtDBus/qdbuscontext.h +qdbuserror.h +/usr/include/qt4/QtDBus/qdbuserror.h +qdbusextratypes.h +/usr/include/qt4/QtDBus/qdbusextratypes.h +qdbusinterface.h +/usr/include/qt4/QtDBus/qdbusinterface.h +qdbusmacros.h +/usr/include/qt4/QtDBus/qdbusmacros.h +qdbusmessage.h +/usr/include/qt4/QtDBus/qdbusmessage.h +qdbusmetatype.h +/usr/include/qt4/QtDBus/qdbusmetatype.h +qdbuspendingcall.h +/usr/include/qt4/QtDBus/qdbuspendingcall.h +qdbuspendingreply.h +/usr/include/qt4/QtDBus/qdbuspendingreply.h +qdbusreply.h +/usr/include/qt4/QtDBus/qdbusreply.h +qdbusserver.h +/usr/include/qt4/QtDBus/qdbusserver.h +qdbusservicewatcher.h +/usr/include/qt4/QtDBus/qdbusservicewatcher.h + +/usr/include/qt4/QtDBus/qdbusabstractadaptor.h +QtCore/qobject.h +- +QtDBus/qdbusmacros.h +- + +/usr/include/qt4/QtDBus/qdbusabstractinterface.h +QtCore/qstring.h +- +QtCore/qvariant.h +- +QtCore/qlist.h +- +QtCore/qobject.h +- +QtDBus/qdbusmessage.h +- +QtDBus/qdbusextratypes.h +- +QtDBus/qdbusconnection.h +- + +/usr/include/qt4/QtDBus/qdbusargument.h +QtCore/qbytearray.h +- +QtCore/qhash.h +- +QtCore/qglobal.h +- +QtCore/qlist.h +- +QtCore/qmap.h +- +QtCore/qstring.h +- +QtCore/qstringlist.h +- +QtCore/qvariant.h +- +QtDBus/qdbusextratypes.h +- +QtDBus/qdbusmacros.h +- + +/usr/include/qt4/QtDBus/qdbusconnection.h +QtDBus/qdbusmacros.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtDBus/qdbusconnectioninterface.h +QtCore/qstringlist.h +- +QtDBus/qdbusabstractinterface.h +- +QtDBus/qdbusreply.h +- + +/usr/include/qt4/QtDBus/qdbuscontext.h +QtCore/qstring.h +- +QtDBus/qdbuserror.h +- + +/usr/include/qt4/QtDBus/qdbuserror.h +QtDBus/qdbusmacros.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtDBus/qdbusextratypes.h +QtCore/qvariant.h +- +QtCore/qstring.h +- +QtDBus/qdbusmacros.h +- + +/usr/include/qt4/QtDBus/qdbusinterface.h +QtDBus/qdbusabstractinterface.h +- +QtDBus/qdbusconnection.h +- + +/usr/include/qt4/QtDBus/qdbusmacros.h +QtCore/qglobal.h +- +QtCore/qmetatype.h +- +QtCore/qvariant.h +- +QtCore/qlist.h +- +QtCore/qset.h +- +QtCore/qhash.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtDBus/qdbusmessage.h +QtDBus/qdbusmacros.h +- +QtDBus/qdbuserror.h +- +QtCore/qlist.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtDBus/qdbusmetatype.h +QtCore/qmetatype.h +/usr/include/qt4/QtDBus/QtCore/qmetatype.h +QtDBus/qdbusargument.h +- + +/usr/include/qt4/QtDBus/qdbuspendingcall.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtCore/qshareddata.h +- +QtDBus/qdbusmacros.h +- +QtDBus/qdbusmessage.h +- + +/usr/include/qt4/QtDBus/qdbuspendingreply.h +QtCore/qglobal.h +- +QtDBus/qdbusmacros.h +- +QtDBus/qdbusargument.h +- +QtDBus/qdbuspendingcall.h +- + +/usr/include/qt4/QtDBus/qdbusreply.h +QtCore/qglobal.h +- +QtCore/qvariant.h +- +QtDBus/qdbusmacros.h +- +QtDBus/qdbusmessage.h +- +QtDBus/qdbuserror.h +- +QtDBus/qdbusextratypes.h +- +QtDBus/qdbuspendingreply.h +- + +/usr/include/qt4/QtDBus/qdbusserver.h +QtCore/qobject.h +- +QtCore/qstring.h +- +QtDBus/qdbusmacros.h +- + +/usr/include/qt4/QtDBus/qdbusservicewatcher.h +QtCore/qobject.h +- +QtDBus/qdbusmacros.h +- + +/usr/include/qt4/QtGui/QAction +qaction.h +/usr/include/qt4/QtGui/qaction.h + +/usr/include/qt4/QtGui/QActionGroup +qactiongroup.h +/usr/include/qt4/QtGui/qactiongroup.h + +/usr/include/qt4/QtGui/QApplication +qapplication.h +/usr/include/qt4/QtGui/qapplication.h + +/usr/include/qt4/QtGui/QBrush +qbrush.h +/usr/include/qt4/QtGui/qbrush.h + +/usr/include/qt4/QtGui/QButtonGroup +qbuttongroup.h +/usr/include/qt4/QtGui/qbuttongroup.h + +/usr/include/qt4/QtGui/QCheckBox +qcheckbox.h +/usr/include/qt4/QtGui/qcheckbox.h + +/usr/include/qt4/QtGui/QColor +qcolor.h +/usr/include/qt4/QtGui/qcolor.h + +/usr/include/qt4/QtGui/QComboBox +qcombobox.h +/usr/include/qt4/QtGui/qcombobox.h + +/usr/include/qt4/QtGui/QContextMenuEvent +qevent.h +/usr/include/qt4/QtGui/qevent.h + +/usr/include/qt4/QtGui/QCursor +qcursor.h +/usr/include/qt4/QtGui/qcursor.h + +/usr/include/qt4/QtGui/QDragEnterEvent +qevent.h +/usr/include/qt4/QtGui/qevent.h + +/usr/include/qt4/QtGui/QErrorMessage +qerrormessage.h +/usr/include/qt4/QtGui/qerrormessage.h + +/usr/include/qt4/QtGui/QFormLayout +qformlayout.h +/usr/include/qt4/QtGui/qformlayout.h + +/usr/include/qt4/QtGui/QFrame +qframe.h +/usr/include/qt4/QtGui/qframe.h + +/usr/include/qt4/QtGui/QGridLayout +qgridlayout.h +/usr/include/qt4/QtGui/qgridlayout.h + +/usr/include/qt4/QtGui/QGroupBox +qgroupbox.h +/usr/include/qt4/QtGui/qgroupbox.h + +/usr/include/qt4/QtGui/QHBoxLayout +qboxlayout.h +/usr/include/qt4/QtGui/qboxlayout.h + +/usr/include/qt4/QtGui/QHeaderView +qheaderview.h +/usr/include/qt4/QtGui/qheaderview.h + +/usr/include/qt4/QtGui/QIcon +qicon.h +/usr/include/qt4/QtGui/qicon.h + +/usr/include/qt4/QtGui/QInputDialog +qinputdialog.h +/usr/include/qt4/QtGui/qinputdialog.h + +/usr/include/qt4/QtGui/QItemDelegate +qitemdelegate.h +/usr/include/qt4/QtGui/qitemdelegate.h + +/usr/include/qt4/QtGui/QKeyEvent +qevent.h +/usr/include/qt4/QtGui/qevent.h + +/usr/include/qt4/QtGui/QLabel +qlabel.h +/usr/include/qt4/QtGui/qlabel.h + +/usr/include/qt4/QtGui/QLayout +qlayout.h +/usr/include/qt4/QtGui/qlayout.h + +/usr/include/qt4/QtGui/QLineEdit +qlineedit.h +/usr/include/qt4/QtGui/qlineedit.h + +/usr/include/qt4/QtGui/QListView +qlistview.h +/usr/include/qt4/QtGui/qlistview.h + +/usr/include/qt4/QtGui/QListWidget +qlistwidget.h +/usr/include/qt4/QtGui/qlistwidget.h + +/usr/include/qt4/QtGui/QListWidgetItem +qlistwidget.h +/usr/include/qt4/QtGui/qlistwidget.h + +/usr/include/qt4/QtGui/QMainWindow +qmainwindow.h +/usr/include/qt4/QtGui/qmainwindow.h + +/usr/include/qt4/QtGui/QMenu +qmenu.h +/usr/include/qt4/QtGui/qmenu.h + +/usr/include/qt4/QtGui/QPalette +qpalette.h +/usr/include/qt4/QtGui/qpalette.h + +/usr/include/qt4/QtGui/QPixmap +qpixmap.h +/usr/include/qt4/QtGui/qpixmap.h + +/usr/include/qt4/QtGui/QPushButton +qpushbutton.h +/usr/include/qt4/QtGui/qpushbutton.h + +/usr/include/qt4/QtGui/QRadioButton +qradiobutton.h +/usr/include/qt4/QtGui/qradiobutton.h + +/usr/include/qt4/QtGui/QScrollArea +qscrollarea.h +/usr/include/qt4/QtGui/qscrollarea.h + +/usr/include/qt4/QtGui/QSlider +qslider.h +/usr/include/qt4/QtGui/qslider.h + +/usr/include/qt4/QtGui/QSpacerItem +qlayoutitem.h +/usr/include/qt4/QtGui/qlayoutitem.h + +/usr/include/qt4/QtGui/QSpinBox +qspinbox.h +/usr/include/qt4/QtGui/qspinbox.h + +/usr/include/qt4/QtGui/QStackedWidget +qstackedwidget.h +/usr/include/qt4/QtGui/qstackedwidget.h + +/usr/include/qt4/QtGui/QStatusBar +qstatusbar.h +/usr/include/qt4/QtGui/qstatusbar.h + +/usr/include/qt4/QtGui/QSystemTrayIcon +qsystemtrayicon.h +/usr/include/qt4/QtGui/qsystemtrayicon.h + +/usr/include/qt4/QtGui/QTabWidget +qtabwidget.h +/usr/include/qt4/QtGui/qtabwidget.h + +/usr/include/qt4/QtGui/QTableView +qtableview.h +/usr/include/qt4/QtGui/qtableview.h + +/usr/include/qt4/QtGui/QTableWidget +qtablewidget.h +/usr/include/qt4/QtGui/qtablewidget.h + +/usr/include/qt4/QtGui/QToolBar +qtoolbar.h +/usr/include/qt4/QtGui/qtoolbar.h + +/usr/include/qt4/QtGui/QToolButton +qtoolbutton.h +/usr/include/qt4/QtGui/qtoolbutton.h + +/usr/include/qt4/QtGui/QTreeWidget +qtreewidget.h +/usr/include/qt4/QtGui/qtreewidget.h + +/usr/include/qt4/QtGui/QTreeWidgetItem +qtreewidget.h +/usr/include/qt4/QtGui/qtreewidget.h + +/usr/include/qt4/QtGui/QVBoxLayout +qboxlayout.h +/usr/include/qt4/QtGui/qboxlayout.h + +/usr/include/qt4/QtGui/QWidget +qwidget.h +/usr/include/qt4/QtGui/qwidget.h + +/usr/include/qt4/QtGui/QWidgetAction +qwidgetaction.h +/usr/include/qt4/QtGui/qwidgetaction.h + +/usr/include/qt4/QtGui/QWizard +qwizard.h +/usr/include/qt4/QtGui/qwizard.h + +/usr/include/qt4/QtGui/QX11Info +qx11info_x11.h +/usr/include/qt4/QtGui/qx11info_x11.h + +/usr/include/qt4/QtGui/qabstractbutton.h +QtGui/qicon.h +- +QtGui/qkeysequence.h +- +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qabstractitemdelegate.h +QtCore/qobject.h +- +QtGui/qstyleoption.h +- + +/usr/include/qt4/QtGui/qabstractitemview.h +QtGui/qabstractscrollarea.h +- +QtCore/qabstractitemmodel.h +- +QtGui/qitemselectionmodel.h +- +QtGui/qabstractitemdelegate.h +- + +/usr/include/qt4/QtGui/qabstractscrollarea.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qabstractslider.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qabstractspinbox.h +QtGui/qwidget.h +- +QtGui/qvalidator.h +- + +/usr/include/qt4/QtGui/qaction.h +QtGui/qkeysequence.h +- +QtCore/qstring.h +- +QtGui/qwidget.h +- +QtCore/qvariant.h +- +QtGui/qicon.h +- +QtGui/qactiongroup.h +- + +/usr/include/qt4/QtGui/qactiongroup.h +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qapplication.h +QtCore/qcoreapplication.h +- +QtGui/qwindowdefs.h +- +QtCore/qpoint.h +- +QtCore/qsize.h +- +QtGui/qcursor.h +- +QtGui/qdesktopwidget.h +- +QtGui/qwidget.h +- +QtGui/qpalette.h +- +QtGui/qrgb.h +- +QtGui/qtransportauth_qws.h +- + +/usr/include/qt4/QtGui/qboxlayout.h +QtGui/qlayout.h +- +QtGui/qwidget.h +- +limits.h +- + +/usr/include/qt4/QtGui/qbrush.h +QtCore/qpair.h +- +QtCore/qpoint.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- +QtGui/qcolor.h +- +QtGui/qmatrix.h +- +QtGui/qtransform.h +- +QtGui/qimage.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qbuttongroup.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qcheckbox.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qcolor.h +QtGui/qrgb.h +- +QtCore/qnamespace.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qcombobox.h +QtGui/qwidget.h +- +QtGui/qabstractitemdelegate.h +- +QtCore/qabstractitemmodel.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qcursor.h +QtCore/qpoint.h +- +QtGui/qwindowdefs.h +- + +/usr/include/qt4/QtGui/qdesktopwidget.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdialog.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdrag.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qerrormessage.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qevent.h +QtGui/qwindowdefs.h +- +QtCore/qobject.h +- +QtGui/qregion.h +- +QtCore/qnamespace.h +- +QtCore/qstring.h +- +QtGui/qkeysequence.h +- +QtCore/qcoreevent.h +- +QtGui/qmime.h +- +QtGui/qdrag.h +- +QtCore/qvariant.h +- +QtCore/qmap.h +- +QtCore/qset.h +- + +/usr/include/qt4/QtGui/qfont.h +QtGui/qwindowdefs.h +- +QtCore/qstring.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtGui/qfontinfo.h +QtGui/qfont.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtGui/qfontmetrics.h +QtGui/qfont.h +- +QtCore/qsharedpointer.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qformlayout.h +QtGui/QLayout +- + +/usr/include/qt4/QtGui/qframe.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qgridlayout.h +QtGui/qlayout.h +- +QtGui/qwidget.h +- +limits.h +- + +/usr/include/qt4/QtGui/qgroupbox.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qheaderview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qicon.h +QtCore/qglobal.h +- +QtCore/qsize.h +- +QtCore/qlist.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qimage.h +QtGui/qtransform.h +- +QtGui/qpaintdevice.h +- +QtGui/qrgb.h +- +QtCore/qbytearray.h +- +QtCore/qrect.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qinputdialog.h +QtGui/qdialog.h +- +QtCore/qstring.h +- +QtGui/qlineedit.h +- + +/usr/include/qt4/QtGui/qitemdelegate.h +QtGui/qabstractitemdelegate.h +- +QtCore/qstring.h +- +QtGui/qpixmap.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qitemselectionmodel.h +QtCore/qset.h +- +QtCore/qvector.h +- +QtCore/qlist.h +- +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qkeysequence.h +QtCore/qnamespace.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qlabel.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qlayout.h +QtCore/qobject.h +- +QtGui/qlayoutitem.h +- +QtGui/qsizepolicy.h +- +QtCore/qrect.h +- +QtCore/qmargins.h +- +limits.h +- +QtGui/qboxlayout.h +- +QtGui/qgridlayout.h +- + +/usr/include/qt4/QtGui/qlayoutitem.h +QtGui/qsizepolicy.h +- +QtCore/qrect.h +- +limits.h +- + +/usr/include/qt4/QtGui/qlineedit.h +QtGui/qframe.h +- +QtCore/qstring.h +- +QtCore/qmargins.h +- + +/usr/include/qt4/QtGui/qlistview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qlistwidget.h +QtGui/qlistview.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- +QtGui/qitemselectionmodel.h +- + +/usr/include/qt4/QtGui/qmacdefines_mac.h +QtCore/qglobal.h +- +Cocoa/Cocoa.h +- + +/usr/include/qt4/QtGui/qmainwindow.h +QtGui/qwidget.h +- +QtGui/qtabwidget.h +- + +/usr/include/qt4/QtGui/qmatrix.h +QtGui/qpolygon.h +- +QtGui/qregion.h +- +QtGui/qwindowdefs.h +- +QtCore/qline.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- +QtGui/qwmatrix.h +- + +/usr/include/qt4/QtGui/qmenu.h +QtGui/qwidget.h +- +QtCore/qstring.h +- +QtGui/qicon.h +- +QtGui/qaction.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qmime.h +QtCore/qmimedata.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qpaintdevice.h +QtGui/qwindowdefs.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qpainterpath.h +QtGui/qmatrix.h +- +QtCore/qglobal.h +- +QtCore/qrect.h +- +QtCore/qline.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/qpalette.h +QtGui/qwindowdefs.h +- +QtGui/qcolor.h +- +QtGui/qbrush.h +- + +/usr/include/qt4/QtGui/qpixmap.h +QtGui/qpaintdevice.h +- +QtGui/qcolor.h +- +QtCore/qnamespace.h +- +QtCore/qstring.h +- +QtCore/qsharedpointer.h +- +QtGui/qimage.h +- +QtGui/qtransform.h +- + +/usr/include/qt4/QtGui/qpolygon.h +QtCore/qvector.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qpushbutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qradiobutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qregion.h +QtCore/qatomic.h +- +QtCore/qrect.h +- +QtGui/qwindowdefs.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtGui/qrgb.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtGui/qrubberband.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qscrollarea.h +QtGui/qabstractscrollarea.h +- + +/usr/include/qt4/QtGui/qsizepolicy.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qslider.h +QtGui/qabstractslider.h +- + +/usr/include/qt4/QtGui/qspinbox.h +QtGui/qabstractspinbox.h +- + +/usr/include/qt4/QtGui/qstackedwidget.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qstatusbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qstyle.h +QtCore/qobject.h +- +QtCore/qrect.h +- +QtCore/qsize.h +- +QtGui/qicon.h +- +QtGui/qpixmap.h +- +QtGui/qpalette.h +- +QtGui/qsizepolicy.h +- + +/usr/include/qt4/QtGui/qstyleoption.h +QtCore/qvariant.h +- +QtGui/qabstractspinbox.h +- +QtGui/qicon.h +- +QtGui/qmatrix.h +- +QtGui/qslider.h +- +QtGui/qstyle.h +- +QtGui/qtabbar.h +- +QtGui/qtabwidget.h +- +QtGui/qrubberband.h +- +QtGui/qframe.h +- +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qsystemtrayicon.h +QtCore/qobject.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qtabbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qtableview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qtablewidget.h +QtGui/qtableview.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtGui/qtabwidget.h +QtGui/qwidget.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qtoolbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qtoolbutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qtransform.h +QtGui/qmatrix.h +- +QtGui/qpainterpath.h +- +QtGui/qpolygon.h +- +QtGui/qregion.h +- +QtGui/qwindowdefs.h +- +QtCore/qline.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qtransportauth_qws.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtCore/qhash.h +- +QtCore/qstring.h +- +QtCore/qbuffer.h +- +QtCore/qpointer.h +- +sys/types.h +- + +/usr/include/qt4/QtGui/qtreeview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qtreewidget.h +QtGui/qtreeview.h +- +QtGui/qtreewidgetitemiterator.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtGui/qtreewidgetitemiterator.h +QtCore/qglobal.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/qvalidator.h +QtCore/qobject.h +- +QtCore/qstring.h +- +QtCore/qregexp.h +- +QtCore/qlocale.h +- + +/usr/include/qt4/QtGui/qwidget.h +QtGui/qwindowdefs.h +- +QtCore/qobject.h +- +QtCore/qmargins.h +- +QtGui/qpaintdevice.h +- +QtGui/qpalette.h +- +QtGui/qfont.h +- +QtGui/qfontmetrics.h +- +QtGui/qfontinfo.h +- +QtGui/qsizepolicy.h +- +QtGui/qregion.h +- +QtGui/qbrush.h +- +QtGui/qcursor.h +- +QtGui/qkeysequence.h +- +QtGui/qevent.h +- + +/usr/include/qt4/QtGui/qwidgetaction.h +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qwindowdefs.h +QtCore/qobjectdefs.h +- +QtCore/qnamespace.h +- +QtGui/qmacdefines_mac.h +- +QtGui/qwindowdefs_win.h +- + +/usr/include/qt4/QtGui/qwindowdefs_win.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtGui/qwizard.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qwmatrix.h +QtGui/qmatrix.h +- + +/usr/include/qt4/QtGui/qx11info_x11.h +QtCore/qnamespace.h +- + +src/../../src/SFLPhoneView.h +QtGui/QWidget +- +QtCore/QString +- +QtCore/QVector +- +QtCore/QList +- +QtGui/QKeyEvent +- +QErrorMessage +- +KXmlGuiWindow +- +ui_SFLPhoneView_base.h +src/../../src/ui_SFLPhoneView_base.h +conf/ConfigurationDialog.h +src/../../src/conf/ConfigurationDialog.h +CallTreeItem.h +src/../../src/CallTreeItem.h +AccountWizard.h +src/../../src/AccountWizard.h +Contact.h +src/../../src/Contact.h +AccountList.h +src/../../src/AccountList.h +CallModel.h +src/../../src/CallModel.h + +src/../../src/SFLPhoneapplication.h +KApplication +- + +src/SFLPhoneView.moc +../../src/SFLPhoneView.h +src/../../src/SFLPhoneView.h + +src/SFLPhoneapplication.moc +../../src/SFLPhoneapplication.h +src/../../src/SFLPhoneapplication.h + +src/callmanager_dbus_interface.h +QtCore/QObject +- +QtCore/QByteArray +- +QtCore/QList +- +QtCore/QMap +- +QtCore/QString +- +QtCore/QStringList +- +QtCore/QVariant +- +QtDBus/QtDBus +- +dbus/metatypes.h +src/dbus/metatypes.h + +src/configurationmanager_dbus_interface.h +QtCore/QObject +- +QtCore/QByteArray +- +QtCore/QList +- +QtCore/QMap +- +QtCore/QString +- +QtCore/QStringList +- +QtCore/QVariant +- +QtDBus/QtDBus +- +dbus/metatypes.h +src/dbus/metatypes.h + +src/instance_dbus_interface.h +QtCore/QObject +- +QtCore/QByteArray +- +QtCore/QList +- +QtCore/QMap +- +QtCore/QString +- +QtCore/QStringList +- +QtCore/QVariant +- +QtDBus/QtDBus +- +dbus/metatypes.h +src/dbus/metatypes.h + +src/kcfg_settings.h +kglobal.h +- +kconfigskeleton.h +- +kdebug.h +- + +src/ui_SFLPhoneView_base.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QGridLayout +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QListWidget +- +QtGui/QSlider +- +QtGui/QStackedWidget +- +QtGui/QToolButton +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +Dialpad.h +src/Dialpad.h +klineedit.h +src/klineedit.h + +src/ui_dlgaccountsbase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QComboBox +- +QtGui/QFormLayout +- +QtGui/QFrame +- +QtGui/QGridLayout +- +QtGui/QGroupBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QLineEdit +- +QtGui/QListWidget +- +QtGui/QRadioButton +- +QtGui/QScrollArea +- +QtGui/QSpacerItem +- +QtGui/QSpinBox +- +QtGui/QTabWidget +- +QtGui/QToolButton +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +keditlistbox.h +src/keditlistbox.h +klineedit.h +src/klineedit.h +knuminput.h +src/knuminput.h +kurlrequester.h +src/kurlrequester.h + +src/ui_dlgaddressbookbase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QGroupBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QSlider +- +QtGui/QSpacerItem +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +knuminput.h +src/knuminput.h + +src/ui_dlgaudiobase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QFormLayout +- +QtGui/QGroupBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QStackedWidget +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +kcombobox.h +src/kcombobox.h +kurlrequester.h +src/kurlrequester.h + +src/ui_dlgdisplaybase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- + +src/ui_dlggeneralbase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QFormLayout +- +QtGui/QGroupBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QSpacerItem +- +QtGui/QToolButton +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +knuminput.h +src/knuminput.h + +src/ui_dlghooksbase.h +kdialog.h +- +klocale.h +- +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QCheckBox +- +QtGui/QGroupBox +- +QtGui/QHBoxLayout +- +QtGui/QHeaderView +- +QtGui/QLabel +- +QtGui/QLineEdit +- +QtGui/QSpacerItem +- +QtGui/QVBoxLayout +- +QtGui/QWidget +- +klineedit.h +src/klineedit.h + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..17e7e5e3828a1aa9997c3f35ce3d95740bcf2924 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/DependInfo.cmake @@ -0,0 +1,73 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_CXX + "/home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Account.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/AccountList.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Call.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/CallModel.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Codec.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Contact.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/Item.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o" + "/home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/main.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o" + ) +SET(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "_XOPEN_SOURCE=500" + "_BSD_SOURCE" + "QT_NO_STL" + "QT_NO_CAST_TO_ASCII" + "_REENTRANT" + "KDE_DEPRECATED_WARNINGS" + "QT_DLL" + "QT_NO_DEBUG" + ) + +# Pairs of files generated by the same build rule. +SET(CMAKE_MULTIPLE_OUTPUT_PAIRS + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp" + "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp" "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.h" + ) + + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/build.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..31b87283087db2ebd55e05765cf24cda990adbc9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/build.make @@ -0,0 +1,1212 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Include any dependencies generated for this target. +include src/CMakeFiles/sflphone-client-kde.dir/depend.make + +# Include the progress variables for this target. +include src/CMakeFiles/sflphone-client-kde.dir/progress.make + +# Include the compile flags for this target's objects. +include src/CMakeFiles/sflphone-client-kde.dir/flags.make + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/sflphone-client-kde_automoc.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp > CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.i + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp -o CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.s + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.provides: src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/SFLPhoneView.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp > CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.i + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.s + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.provides: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/SFLPhone.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_3) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/SFLPhone.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/SFLPhone.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp > CMakeFiles/sflphone-client-kde.dir/SFLPhone.i + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/SFLPhone.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp -o CMakeFiles/sflphone-client-kde.dir/SFLPhone.s + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.provides: src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhoneapplication.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_4) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp > CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.i + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.s + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.provides: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: ../src/SFLPhoneTray.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_5) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp > CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.i + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp -o CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.s + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.provides: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/main.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/main.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_6) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/main.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/main.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp + +src/CMakeFiles/sflphone-client-kde.dir/main.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/main.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp > CMakeFiles/sflphone-client-kde.dir/main.i + +src/CMakeFiles/sflphone-client-kde.dir/main.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/main.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp -o CMakeFiles/sflphone-client-kde.dir/main.s + +src/CMakeFiles/sflphone-client-kde.dir/main.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/main.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/main.o.provides: src/CMakeFiles/sflphone-client-kde.dir/main.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/main.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/main.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/main.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/main.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/main.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Account.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/Account.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_7) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Account.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Account.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Account.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Account.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp > CMakeFiles/sflphone-client-kde.dir/Account.i + +src/CMakeFiles/sflphone-client-kde.dir/Account.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Account.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp -o CMakeFiles/sflphone-client-kde.dir/Account.s + +src/CMakeFiles/sflphone-client-kde.dir/Account.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Account.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Account.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Account.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Account.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Account.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Account.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Account.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Account.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/AccountList.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_8) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/AccountList.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/AccountList.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/AccountList.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp > CMakeFiles/sflphone-client-kde.dir/AccountList.i + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/AccountList.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp -o CMakeFiles/sflphone-client-kde.dir/AccountList.s + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.provides: src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/AccountList.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Call.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Call.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_9) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Call.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Call.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Call.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Call.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp > CMakeFiles/sflphone-client-kde.dir/Call.i + +src/CMakeFiles/sflphone-client-kde.dir/Call.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Call.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp -o CMakeFiles/sflphone-client-kde.dir/Call.s + +src/CMakeFiles/sflphone-client-kde.dir/Call.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Call.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Call.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Call.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Call.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Call.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Call.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Call.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Call.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/CallTreeItem.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_10) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/CallTreeItem.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp > CMakeFiles/sflphone-client-kde.dir/CallTreeItem.i + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/CallTreeItem.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp -o CMakeFiles/sflphone-client-kde.dir/CallTreeItem.s + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.provides: src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: ../src/configurationmanager_interface_singleton.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_11) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp > CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.i + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp -o CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.s + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.provides: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: ../src/callmanager_interface_singleton.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_12) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp > CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.i + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp -o CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.s + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.provides: src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: ../src/instance_interface_singleton.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_13) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp > CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.i + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp -o CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.s + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.provides: src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/AccountWizard.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_14) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/AccountWizard.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/AccountWizard.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp > CMakeFiles/sflphone-client-kde.dir/AccountWizard.i + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/AccountWizard.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp -o CMakeFiles/sflphone-client-kde.dir/AccountWizard.s + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.provides: src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: ../src/AccountItemWidget.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_15) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp > CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.i + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp -o CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.s + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.provides: src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/ActionSetAccountFirst.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_16) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp > CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.i + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp -o CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.s + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.provides: src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/Contact.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_17) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Contact.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Contact.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Contact.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Contact.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp > CMakeFiles/sflphone-client-kde.dir/Contact.i + +src/CMakeFiles/sflphone-client-kde.dir/Contact.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Contact.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp -o CMakeFiles/sflphone-client-kde.dir/Contact.s + +src/CMakeFiles/sflphone-client-kde.dir/Contact.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Contact.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Contact.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Contact.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Contact.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Contact.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Contact.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Contact.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Contact.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/ContactItemWidget.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_18) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp > CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.i + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp -o CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.s + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.provides: src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/ConfigurationDialog.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_19) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp > CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: ../src/conf/dlggeneral.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_20) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: ../src/conf/dlgdisplay.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_21) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/conf/dlgaccounts.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_22) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/conf/dlgaudio.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_23) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: ../src/conf/dlgaddressbook.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_24) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: ../src/conf/dlghooks.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_25) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp > CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/conf/ConfigurationSkeleton.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_26) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp > CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.i + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp -o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.s + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.provides: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: ../src/Dialpad.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_27) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Dialpad.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Dialpad.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp > CMakeFiles/sflphone-client-kde.dir/Dialpad.i + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Dialpad.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp -o CMakeFiles/sflphone-client-kde.dir/Dialpad.s + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/Codec.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_28) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Codec.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Codec.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Codec.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Codec.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp > CMakeFiles/sflphone-client-kde.dir/Codec.i + +src/CMakeFiles/sflphone-client-kde.dir/Codec.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Codec.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp -o CMakeFiles/sflphone-client-kde.dir/Codec.s + +src/CMakeFiles/sflphone-client-kde.dir/Codec.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Codec.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Codec.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Codec.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Codec.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Codec.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Codec.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Codec.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Codec.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/Item.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/Item.o: ../src/Item.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_29) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/Item.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/Item.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp + +src/CMakeFiles/sflphone-client-kde.dir/Item.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/Item.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp > CMakeFiles/sflphone-client-kde.dir/Item.i + +src/CMakeFiles/sflphone-client-kde.dir/Item.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/Item.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp -o CMakeFiles/sflphone-client-kde.dir/Item.s + +src/CMakeFiles/sflphone-client-kde.dir/Item.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Item.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/Item.o.provides: src/CMakeFiles/sflphone-client-kde.dir/Item.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Item.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Item.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/Item.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/Item.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/Item.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/AccountListModel.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_30) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/AccountListModel.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/AccountListModel.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp > CMakeFiles/sflphone-client-kde.dir/AccountListModel.i + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/AccountListModel.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp -o CMakeFiles/sflphone-client-kde.dir/AccountListModel.s + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.provides: src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/CallModel.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_31) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/CallModel.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/CallModel.o -c /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/CallModel.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp > CMakeFiles/sflphone-client-kde.dir/CallModel.i + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/CallModel.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp -o CMakeFiles/sflphone-client-kde.dir/CallModel.s + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.provides: src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/CallModel.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/configurationmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/configurationmanager_dbus_interface.moc + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_32) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp > CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.i + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp -o CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.s + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.provides: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/callmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/callmanager_dbus_interface.moc + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_33) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp > CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.i + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp -o CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.s + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.provides: src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/instance_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/instance_dbus_interface.moc + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_34) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp > CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.i + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp -o CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.s + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.provides: src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o: src/kcfg_settings.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_35) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/kcfg_settings.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp > CMakeFiles/sflphone-client-kde.dir/kcfg_settings.i + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/kcfg_settings.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp -o CMakeFiles/sflphone-client-kde.dir/kcfg_settings.s + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.provides: src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.provides.build + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: src/CMakeFiles/sflphone-client-kde.dir/flags.make +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: src/qrc_resources.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_36) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/sflphone-client-kde.dir/qrc_resources.o -c /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sflphone-client-kde.dir/qrc_resources.i" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx > CMakeFiles/sflphone-client-kde.dir/qrc_resources.i + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sflphone-client-kde.dir/qrc_resources.s" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx -o CMakeFiles/sflphone-client-kde.dir/qrc_resources.s + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.requires: +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.requires + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.provides: src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.requires + $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.provides.build +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.provides + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.provides.build: src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.provides.build + +src/configurationmanager_dbus_interface.moc: src/configurationmanager_dbus_interface.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_37) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating configurationmanager_dbus_interface.moc" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/moc-qt4 -I/usr/include -I/usr/include/KDE -I/usr/include/qt4/KDE -I/usr/include/qt4 -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtMultimedia -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/home/emmanuel/sflphone/sflphone-client-kde/cmake-build -D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.moc /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h + +src/configurationmanager_dbus_interface.cpp: ../src/dbus/configurationmanager-introspec.xml + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_38) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating configurationmanager_dbus_interface.cpp, configurationmanager_dbus_interface.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/qdbusxml2cpp -m -c ConfigurationManagerInterface -i dbus/metatypes.h -p configurationmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml + +src/configurationmanager_dbus_interface.h: src/configurationmanager_dbus_interface.cpp + +src/callmanager_dbus_interface.moc: src/callmanager_dbus_interface.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_39) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating callmanager_dbus_interface.moc" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/moc-qt4 -I/usr/include -I/usr/include/KDE -I/usr/include/qt4/KDE -I/usr/include/qt4 -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtMultimedia -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/home/emmanuel/sflphone/sflphone-client-kde/cmake-build -D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.moc /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h + +src/callmanager_dbus_interface.cpp: ../src/dbus/callmanager-introspec.xml + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_40) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating callmanager_dbus_interface.cpp, callmanager_dbus_interface.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/qdbusxml2cpp -m -c CallManagerInterface -i dbus/metatypes.h -p callmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/callmanager-introspec.xml + +src/callmanager_dbus_interface.h: src/callmanager_dbus_interface.cpp + +src/instance_dbus_interface.moc: src/instance_dbus_interface.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_41) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating instance_dbus_interface.moc" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/moc-qt4 -I/usr/include -I/usr/include/KDE -I/usr/include/qt4/KDE -I/usr/include/qt4 -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtMultimedia -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/home/emmanuel/sflphone/sflphone-client-kde/cmake-build -D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.moc /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h + +src/instance_dbus_interface.cpp: ../src/dbus/instance-introspec.xml + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_42) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating instance_dbus_interface.cpp, instance_dbus_interface.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/qdbusxml2cpp -m -c InstanceInterface -i dbus/metatypes.h -p instance_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/instance-introspec.xml + +src/instance_dbus_interface.h: src/instance_dbus_interface.cpp + +src/ui_SFLPhoneView_base.h: ../src/ui/SFLPhoneView_base.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_43) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_SFLPhoneView_base.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/ui/SFLPhoneView_base.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_SFLPhoneView_base.h -DKDE_UIC_BASENAME:STRING=SFLPhoneView_base -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlggeneralbase.h: ../src/conf/dlggeneralbase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_44) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlggeneralbase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneralbase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlggeneralbase.h -DKDE_UIC_BASENAME:STRING=dlggeneralbase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlgdisplaybase.h: ../src/conf/dlgdisplaybase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_45) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlgdisplaybase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplaybase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlgdisplaybase.h -DKDE_UIC_BASENAME:STRING=dlgdisplaybase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlgaccountsbase.h: ../src/conf/dlgaccountsbase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_46) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlgaccountsbase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccountsbase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlgaccountsbase.h -DKDE_UIC_BASENAME:STRING=dlgaccountsbase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlgaudiobase.h: ../src/conf/dlgaudiobase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_47) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlgaudiobase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudiobase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlgaudiobase.h -DKDE_UIC_BASENAME:STRING=dlgaudiobase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlgaddressbookbase.h: ../src/conf/dlgaddressbookbase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_48) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlgaddressbookbase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbookbase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlgaddressbookbase.h -DKDE_UIC_BASENAME:STRING=dlgaddressbookbase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/ui_dlghooksbase.h: ../src/conf/dlghooksbase.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_49) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_dlghooksbase.h" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -DKDE4_HEADER:BOOL=ON -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 -DKDE_UIC_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooksbase.ui -DKDE_UIC_H_FILE:FILEPATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ui_dlghooksbase.h -DKDE_UIC_BASENAME:STRING=dlghooksbase -P /usr/share/kde4/apps/cmake/modules/kde4uic.cmake + +src/kcfg_settings.h: ../src/conf/sflphone-client-kde.kcfg +src/kcfg_settings.h: ../src/conf/kcfg_settings.kcfgc + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_50) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating kcfg_settings.h, kcfg_settings.cpp" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/kconfig_compiler /home/emmanuel/sflphone/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg /home/emmanuel/sflphone/sflphone-client-kde/src/conf/kcfg_settings.kcfgc -d /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/ + +src/kcfg_settings.cpp: src/kcfg_settings.h + +src/qrc_resources.cxx: ../src/qrc/../icons/user-group-properties.svgz +src/qrc_resources.cxx: ../src/qrc/../icons/document-encrypt.svgz +src/qrc_resources.cxx: ../src/qrc/../icons/sflphone.svg +src/qrc_resources.cxx: ../src/qrc/../icons/sflphone-kde3.svg +src/qrc_resources.cxx: ../src/qrc/../icons/sflphone_notif.svg +src/qrc_resources.cxx: ../src/qrc/../icons/x-office-address-book.png +src/qrc_resources.cxx: ../src/qrc/../icons/add.png +src/qrc_resources.cxx: ../src/qrc/../icons/remove.png +src/qrc_resources.cxx: ../src/qrc/../icons/accept.svg +src/qrc_resources.cxx: ../src/qrc/../icons/busy.svg +src/qrc_resources.cxx: ../src/qrc/../icons/call.svg +src/qrc_resources.cxx: ../src/qrc/../icons/current.svg +src/qrc_resources.cxx: ../src/qrc/../icons/dial.svg +src/qrc_resources.cxx: ../src/qrc/../icons/fail.svg +src/qrc_resources.cxx: ../src/qrc/../icons/hang_up.svg +src/qrc_resources.cxx: ../src/qrc/../icons/history2.svg +src/qrc_resources.cxx: ../src/qrc/../icons/history.svg +src/qrc_resources.cxx: ../src/qrc/../icons/hold.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_accept.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_call.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_dialpad_off.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_dialpad.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_hangup.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_hold.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_rec.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_unhold.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_volume_off.svg +src/qrc_resources.cxx: ../src/qrc/../icons/icon_volume.svg +src/qrc_resources.cxx: ../src/qrc/../icons/incoming.svg +src/qrc_resources.cxx: ../src/qrc/../icons/mailbox.svg +src/qrc_resources.cxx: ../src/qrc/../icons/mic_25.svg +src/qrc_resources.cxx: ../src/qrc/../icons/mic_50.svg +src/qrc_resources.cxx: ../src/qrc/../icons/mic_75.svg +src/qrc_resources.cxx: ../src/qrc/../icons/mic.svg +src/qrc_resources.cxx: ../src/qrc/../icons/missed.svg +src/qrc_resources.cxx: ../src/qrc/../icons/outgoing.svg +src/qrc_resources.cxx: ../src/qrc/../icons/rec_call.svg +src/qrc_resources.cxx: ../src/qrc/../icons/refuse.svg +src/qrc_resources.cxx: ../src/qrc/../icons/ring.svg +src/qrc_resources.cxx: ../src/qrc/../icons/speaker_25.svg +src/qrc_resources.cxx: ../src/qrc/../icons/speaker_50.svg +src/qrc_resources.cxx: ../src/qrc/../icons/speaker_75.svg +src/qrc_resources.cxx: ../src/qrc/../icons/speaker.svg +src/qrc_resources.cxx: ../src/qrc/../icons/stock_person.svg +src/qrc_resources.cxx: ../src/qrc/../icons/transfert.svg +src/qrc_resources.cxx: ../src/qrc/../icons/unhold.svg +src/qrc_resources.cxx: ../src/qrc/../icons/led-red.svg +src/qrc_resources.cxx: ../src/qrc/../icons/led-green.svg +src/qrc_resources.cxx: ../src/qrc/../icons/led-gray.svg +src/qrc_resources.cxx: ../src/qrc/../icons/record.svg +src/qrc_resources.cxx: ../src/qrc/../icons/record_disabled.svg +src/qrc_resources.cxx: ../src/qrc/resources.qrc + $(CMAKE_COMMAND) -E cmake_progress_report /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles $(CMAKE_PROGRESS_51) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating qrc_resources.cxx" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/rcc -name resources -o /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx /home/emmanuel/sflphone/sflphone-client-kde/src/qrc/resources.qrc + +# Object files for target sflphone-client-kde +sflphone__client__kde_OBJECTS = \ +"CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o" \ +"CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o" \ +"CMakeFiles/sflphone-client-kde.dir/SFLPhone.o" \ +"CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o" \ +"CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o" \ +"CMakeFiles/sflphone-client-kde.dir/main.o" \ +"CMakeFiles/sflphone-client-kde.dir/Account.o" \ +"CMakeFiles/sflphone-client-kde.dir/AccountList.o" \ +"CMakeFiles/sflphone-client-kde.dir/Call.o" \ +"CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o" \ +"CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o" \ +"CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o" \ +"CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o" \ +"CMakeFiles/sflphone-client-kde.dir/AccountWizard.o" \ +"CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o" \ +"CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o" \ +"CMakeFiles/sflphone-client-kde.dir/Contact.o" \ +"CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o" \ +"CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o" \ +"CMakeFiles/sflphone-client-kde.dir/Dialpad.o" \ +"CMakeFiles/sflphone-client-kde.dir/Codec.o" \ +"CMakeFiles/sflphone-client-kde.dir/Item.o" \ +"CMakeFiles/sflphone-client-kde.dir/AccountListModel.o" \ +"CMakeFiles/sflphone-client-kde.dir/CallModel.o" \ +"CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o" \ +"CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o" \ +"CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o" \ +"CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o" \ +"CMakeFiles/sflphone-client-kde.dir/qrc_resources.o" + +# External object files for target sflphone-client-kde +sflphone__client__kde_EXTERNAL_OBJECTS = + +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/main.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Account.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/AccountList.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Call.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Contact.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Codec.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/Item.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/CallModel.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o +src/sflphone-client-kde: /usr/lib/libkdeui.so.5.4.0 +src/sflphone-client-kde: /usr/lib/libkio.so.5.4.0 +src/sflphone-client-kde: /usr/lib/libkdeui.so.5.4.0 +src/sflphone-client-kde: /usr/lib/libQtSvg.so +src/sflphone-client-kde: /usr/lib/libQtGui.so +src/sflphone-client-kde: /usr/lib/libQtNetwork.so +src/sflphone-client-kde: /usr/lib/libQtXml.so +src/sflphone-client-kde: /usr/lib/libkdecore.so.5.4.0 +src/sflphone-client-kde: /usr/lib/libQtDBus.so +src/sflphone-client-kde: /usr/lib/libQtCore.so +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/build.make +src/sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable sflphone-client-kde" + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/sflphone-client-kde.dir/link.txt --verbose=$(VERBOSE) + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/cmake -D_filename=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde.shell -D_library_path_variable=LD_LIBRARY_PATH -D_ld_library_path="/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/lib/./:/usr/local/lib:/usr/lib:/usr/lib" -D_executable=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde -P /usr/share/kde4/apps/cmake/modules/kde4_exec_via_sh.cmake + +# Rule to build all files generated by this target. +src/CMakeFiles/sflphone-client-kde.dir/build: src/sflphone-client-kde +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/build + +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/main.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Account.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/AccountList.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Call.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Contact.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Codec.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/Item.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/CallModel.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o.requires +src/CMakeFiles/sflphone-client-kde.dir/requires: src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o.requires +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/requires + +src/CMakeFiles/sflphone-client-kde.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && $(CMAKE_COMMAND) -P CMakeFiles/sflphone-client-kde.dir/cmake_clean.cmake +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/clean + +src/CMakeFiles/sflphone-client-kde.dir/depend: src/configurationmanager_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/depend: src/configurationmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/depend: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/callmanager_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/depend: src/callmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/depend: src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/instance_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/depend: src/instance_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/depend: src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlggeneralbase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlgdisplaybase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlgaccountsbase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlgaudiobase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlgaddressbookbase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/ui_dlghooksbase.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/depend: src/kcfg_settings.cpp +src/CMakeFiles/sflphone-client-kde.dir/depend: src/qrc_resources.cxx + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/src /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/depend + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5196bd0fadff44b134e8c3e1d7058c0b38f6c2ee --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/cmake_clean.cmake @@ -0,0 +1,66 @@ +FILE(REMOVE_RECURSE + "sflphone-client-kde_automoc.cpp" + "sflphone-client-kde.shell" + "CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o" + "CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o" + "CMakeFiles/sflphone-client-kde.dir/SFLPhone.o" + "CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o" + "CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o" + "CMakeFiles/sflphone-client-kde.dir/main.o" + "CMakeFiles/sflphone-client-kde.dir/Account.o" + "CMakeFiles/sflphone-client-kde.dir/AccountList.o" + "CMakeFiles/sflphone-client-kde.dir/Call.o" + "CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o" + "CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o" + "CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o" + "CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o" + "CMakeFiles/sflphone-client-kde.dir/AccountWizard.o" + "CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o" + "CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o" + "CMakeFiles/sflphone-client-kde.dir/Contact.o" + "CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o" + "CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o" + "CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o" + "CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o" + "CMakeFiles/sflphone-client-kde.dir/Dialpad.o" + "CMakeFiles/sflphone-client-kde.dir/Codec.o" + "CMakeFiles/sflphone-client-kde.dir/Item.o" + "CMakeFiles/sflphone-client-kde.dir/AccountListModel.o" + "CMakeFiles/sflphone-client-kde.dir/CallModel.o" + "CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o" + "CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o" + "CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o" + "CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o" + "CMakeFiles/sflphone-client-kde.dir/qrc_resources.o" + "configurationmanager_dbus_interface.moc" + "configurationmanager_dbus_interface.cpp" + "configurationmanager_dbus_interface.h" + "callmanager_dbus_interface.moc" + "callmanager_dbus_interface.cpp" + "callmanager_dbus_interface.h" + "instance_dbus_interface.moc" + "instance_dbus_interface.cpp" + "instance_dbus_interface.h" + "ui_SFLPhoneView_base.h" + "ui_dlggeneralbase.h" + "ui_dlgdisplaybase.h" + "ui_dlgaccountsbase.h" + "ui_dlgaudiobase.h" + "ui_dlgaddressbookbase.h" + "ui_dlghooksbase.h" + "kcfg_settings.h" + "kcfg_settings.cpp" + "qrc_resources.cxx" + "sflphone-client-kde.pdb" + "sflphone-client-kde" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/sflphone-client-kde.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.internal b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..13bac2fe8eb8b105dc9fb0184cdb9e0d00aa6ecc --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.internal @@ -0,0 +1,7552 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +src/CMakeFiles/sflphone-client-kde.dir/Account.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o + ../src/Dialpad.h + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h + /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/KDE/../kaction.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KAction + /usr/include/KDE/KIcon + /usr/include/KDE/KNotification + /usr/include/KDE/KSystemTrayIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QActionGroup + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/callmanager_dbus_interface.h + src/configurationmanager_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o + ../src/Call.h + ../src/CallModel.h + ../src/CallTreeItem.h + ../src/Contact.h + ../src/ContactItemWidget.h + ../src/Item.h + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/KIcon + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/callmanager_dbus_interface.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/KIcon + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Codec.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o + ../src/Dialpad.h + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/KDE/../kaction.h + /usr/include/KDE/../kactioncollection.h + /usr/include/KDE/../kapplication.h + /usr/include/KDE/../kdeversion.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../kmenu.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../kstandardaction.h + /usr/include/KDE/../kstatusbar.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/../ktoolbar.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KAction + /usr/include/KDE/KActionCollection + /usr/include/KDE/KApplication + /usr/include/KDE/KIcon + /usr/include/KDE/KMenu + /usr/include/KDE/KNotification + /usr/include/KDE/KStandardAction + /usr/include/KDE/KStatusBar + /usr/include/KDE/KSystemTrayIcon + /usr/include/KDE/KToolBar + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QActionGroup + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QCursor + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QStatusBar + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QToolBar + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/QX11Info + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstatusbar.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbar.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qx11info_x11.h + src/configurationmanager_dbus_interface.h + src/instance_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + /usr/include/KDE/../kaction.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/KAction + /usr/include/KDE/KSystemTrayIcon + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o + ../src/AccountListModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h + /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/KDE/../kaction.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KAction + /usr/include/KDE/KIcon + /usr/include/KDE/KNotification + /usr/include/KDE/KSystemTrayIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QActionGroup + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QBrush + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QContextMenuEvent + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QInputDialog + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPalette + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qinputdialog.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/../../src/SFLPhoneView.h + src/SFLPhoneView.moc + src/callmanager_dbus_interface.h + src/configurationmanager_dbus_interface.h + src/instance_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o + ../src/Dialpad.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/KDE/../kaction.h + /usr/include/KDE/../kapplication.h + /usr/include/KDE/../kcmdlineargs.h + /usr/include/KDE/../kdeversion.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../kiconloader.h + /usr/include/KDE/../kmainwindow.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../kstandarddirs.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KAction + /usr/include/KDE/KApplication + /usr/include/KDE/KCmdLineArgs + /usr/include/KDE/KIcon + /usr/include/KDE/KIconLoader + /usr/include/KDE/KMainWindow + /usr/include/KDE/KNotification + /usr/include/KDE/KStandardDirs + /usr/include/KDE/KSystemTrayIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QBool + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QActionGroup + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMainWindow + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/QX11Info + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmainwindow.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qx11info_x11.h + src/../../src/SFLPhoneapplication.h + src/SFLPhoneapplication.moc + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.moc + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o + ../src/Account.h + ../src/AccountItemWidget.h + ../src/AccountList.h + ../src/AccountListModel.h + ../src/AccountWizard.h + ../src/Call.h + ../src/CallModel.h + ../src/CallTreeItem.h + ../src/Contact.h + ../src/ContactItemWidget.h + ../src/Dialpad.h + ../src/Item.h + ../src/SFLPhoneView.h + ../src/conf/ConfigurationDialog.h + ../src/conf/ConfigurationSkeleton.h + ../src/dbus/metatypes.h + ../src/sflphone_const.h + ../src/typedefs.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QComboBox + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QFrame + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QScrollArea + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QSpinBox + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QTabWidget + /usr/include/qt4/QtGui/QTableWidget + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h + src/ui_dlgaccountsbase.h + src/ui_dlgaddressbookbase.h + src/ui_dlgaudiobase.h + src/ui_dlgdisplaybase.h + src/ui_dlggeneralbase.h + src/ui_dlghooksbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o + ../src/Account.h + ../src/AccountItemWidget.h + ../src/AccountList.h + ../src/AccountListModel.h + ../src/Item.h + ../src/configurationmanager_interface_singleton.h + ../src/dbus/metatypes.h + ../src/sflphone_const.h + ../src/typedefs.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h + src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o + ../src/Account.h + ../src/AccountItemWidget.h + ../src/AccountList.h + ../src/AccountWizard.h + ../src/Call.h + ../src/CallModel.h + ../src/CallTreeItem.h + ../src/Contact.h + ../src/ContactItemWidget.h + ../src/Dialpad.h + ../src/Item.h + ../src/SFLPhoneView.h + ../src/conf/ConfigurationDialog.h + ../src/configurationmanager_interface_singleton.h + ../src/dbus/metatypes.h + ../src/sflphone_const.h + ../src/typedefs.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QComboBox + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QFrame + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QInputDialog + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QScrollArea + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QSpinBox + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QTabWidget + /usr/include/qt4/QtGui/QTableWidget + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qinputdialog.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h + src/ui_dlgaccountsbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/ui_dlgaddressbookbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o + ../src/Account.h + ../src/AccountItemWidget.h + ../src/AccountList.h + ../src/AccountListModel.h + ../src/AccountWizard.h + ../src/Call.h + ../src/CallModel.h + ../src/CallTreeItem.h + ../src/Contact.h + ../src/ContactItemWidget.h + ../src/Dialpad.h + ../src/Item.h + ../src/SFLPhoneView.h + ../src/conf/ConfigurationDialog.h + ../src/conf/ConfigurationSkeleton.h + ../src/configurationmanager_interface_singleton.h + ../src/dbus/metatypes.h + ../src/sflphone_const.h + ../src/typedefs.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../klineedit.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KIcon + /usr/include/KDE/KLineEdit + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/configurationmanager_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h + src/ui_dlgaudiobase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/ui_dlgdisplaybase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/ui_dlggeneralbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + src/ui_dlghooksbase.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.moc + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/instance_dbus_interface.moc + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/main.o + ../src/Call.h + ../src/CallModel.h + ../src/CallTreeItem.h + ../src/Contact.h + ../src/ContactItemWidget.h + ../src/Dialpad.h + ../src/Item.h + ../src/SFLPhoneView.h + ../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.h + /home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.h + /home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.h + /home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp + /home/emmanuel/sflphone/sflphone-client-kde/src/sflphone_const.h + /home/emmanuel/sflphone/sflphone-client-kde/src/typedefs.h + /usr/include/KDE/../kapplication.h + /usr/include/KDE/../kdeversion.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KApplication + /usr/include/KDE/KIcon + /usr/include/KDE/KNotification + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QByteArray + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListView + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QTableView + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/QX11Info + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qx11info_x11.h + src/instance_dbus_interface.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/qrc_resources.cxx + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o + ../src/AccountList.h + ../src/AccountListModel.h + ../src/Dialpad.h + ../src/conf/ConfigurationSkeleton.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Account.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountList.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountListModel.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/AccountWizard.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ActionSetAccountFirst.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Call.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallModel.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/CallTreeItem.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Codec.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Contact.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/ContactItemWidget.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Dialpad.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/Item.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhone.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneTray.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/SFLPhoneView.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationDialog.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/ConfigurationSkeleton.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaccounts.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaddressbook.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgaudio.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlgdisplay.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlggeneral.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/conf/dlghooks.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/dbus/metatypes.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/../../src/typedefs.h + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Account.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Call.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Codec.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp + /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp + /usr/include/KDE/../kaction.h + /usr/include/KDE/../kicon.h + /usr/include/KDE/../knotification.h + /usr/include/KDE/../ksystemtrayicon.h + /usr/include/KDE/../kxmlguibuilder.h + /usr/include/KDE/../kxmlguiclient.h + /usr/include/KDE/../kxmlguiwindow.h + /usr/include/KDE/KAction + /usr/include/KDE/KIcon + /usr/include/KDE/KNotification + /usr/include/KDE/KSystemTrayIcon + /usr/include/KDE/KXmlGuiWindow + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QAbstractListModel + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QDateTime + /usr/include/qt4/QtCore/QDebug + /usr/include/qt4/QtCore/QHash + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaClassInfo + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPair + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QStringList + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QVector + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtDBus/QtDBus + /usr/include/qt4/QtDBus/qdbusabstractadaptor.h + /usr/include/qt4/QtDBus/qdbusabstractinterface.h + /usr/include/qt4/QtDBus/qdbusargument.h + /usr/include/qt4/QtDBus/qdbusconnection.h + /usr/include/qt4/QtDBus/qdbusconnectioninterface.h + /usr/include/qt4/QtDBus/qdbuscontext.h + /usr/include/qt4/QtDBus/qdbuserror.h + /usr/include/qt4/QtDBus/qdbusextratypes.h + /usr/include/qt4/QtDBus/qdbusinterface.h + /usr/include/qt4/QtDBus/qdbusmacros.h + /usr/include/qt4/QtDBus/qdbusmessage.h + /usr/include/qt4/QtDBus/qdbusmetatype.h + /usr/include/qt4/QtDBus/qdbuspendingcall.h + /usr/include/qt4/QtDBus/qdbuspendingreply.h + /usr/include/qt4/QtDBus/qdbusreply.h + /usr/include/qt4/QtDBus/qdbusserver.h + /usr/include/qt4/QtDBus/qdbusservicewatcher.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QActionGroup + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCheckBox + /usr/include/qt4/QtGui/QColor + /usr/include/qt4/QtGui/QComboBox + /usr/include/qt4/QtGui/QDragEnterEvent + /usr/include/qt4/QtGui/QErrorMessage + /usr/include/qt4/QtGui/QFormLayout + /usr/include/qt4/QtGui/QFrame + /usr/include/qt4/QtGui/QGridLayout + /usr/include/qt4/QtGui/QGroupBox + /usr/include/qt4/QtGui/QHBoxLayout + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QIcon + /usr/include/qt4/QtGui/QItemDelegate + /usr/include/qt4/QtGui/QKeyEvent + /usr/include/qt4/QtGui/QLabel + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QLineEdit + /usr/include/qt4/QtGui/QListWidget + /usr/include/qt4/QtGui/QListWidgetItem + /usr/include/qt4/QtGui/QMenu + /usr/include/qt4/QtGui/QPixmap + /usr/include/qt4/QtGui/QPushButton + /usr/include/qt4/QtGui/QRadioButton + /usr/include/qt4/QtGui/QScrollArea + /usr/include/qt4/QtGui/QSlider + /usr/include/qt4/QtGui/QSpacerItem + /usr/include/qt4/QtGui/QSpinBox + /usr/include/qt4/QtGui/QStackedWidget + /usr/include/qt4/QtGui/QSystemTrayIcon + /usr/include/qt4/QtGui/QTabWidget + /usr/include/qt4/QtGui/QTableWidget + /usr/include/qt4/QtGui/QToolButton + /usr/include/qt4/QtGui/QTreeWidget + /usr/include/qt4/QtGui/QTreeWidgetItem + /usr/include/qt4/QtGui/QVBoxLayout + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QWidgetAction + /usr/include/qt4/QtGui/QWizard + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + src/kcfg_settings.h + src/ui_SFLPhoneView_base.h + src/ui_dlgaccountsbase.h + src/ui_dlgaddressbookbase.h + src/ui_dlgaudiobase.h + src/ui_dlgdisplaybase.h + src/ui_dlggeneralbase.h + src/ui_dlghooksbase.h diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..9b54588147b2c6f5ab9c9f66cef510b4beb03e1d --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/depend.make @@ -0,0 +1,7552 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/Account.cpp +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Account.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: ../src/AccountItemWidget.cpp +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/AccountList.cpp +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountList.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/AccountListModel.cpp +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/AccountWizard.cpp +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/ActionSetAccountFirst.cpp +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/ActionSetAccountFirst.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Call.cpp +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/SFLPhone.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/callmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QActionGroup +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/Call.o: src/ui_SFLPhoneView_base.h + +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/CallModel.cpp +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/callmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/CallModel.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/CallTreeItem.cpp +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/Codec.cpp +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/Codec.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Codec.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/Contact.cpp +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/Contact.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/ContactItemWidget.cpp +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: ../src/Dialpad.cpp +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/Item.o: ../src/Item.cpp +src/CMakeFiles/sflphone-client-kde.dir/Item.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/Item.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/SFLPhone.cpp +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/SFLPhone.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/instance_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kactioncollection.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kdeversion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kmenu.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kstandardaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kstatusbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../ktoolbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KActionCollection +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KApplication +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KMenu +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KStandardAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KStatusBar +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KToolBar +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QActionGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QCursor +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QStatusBar +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QToolBar +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/QX11Info +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qstatusbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtoolbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: /usr/include/qt4/QtGui/qx11info_x11.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o: src/ui_SFLPhoneView_base.h + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: ../src/SFLPhoneTray.cpp +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: ../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o: /usr/include/qt4/QtGui/qwmatrix.h + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/ActionSetAccountFirst.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/SFLPhone.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/SFLPhoneView.cpp +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/callmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/instance_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QActionGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QBrush +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QContextMenuEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QInputDialog +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QPalette +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qinputdialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/../../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/SFLPhoneView.moc +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o: src/ui_SFLPhoneView_base.h + +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhone.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhoneapplication.cpp +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/SFLPhoneapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kcmdlineargs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kdeversion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kiconloader.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kmainwindow.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kstandarddirs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KApplication +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KCmdLineArgs +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KIconLoader +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KMainWindow +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KStandardDirs +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QBool +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QActionGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QMainWindow +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/QX11Info +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qmainwindow.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: /usr/include/qt4/QtGui/qx11info_x11.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: src/../../src/SFLPhoneapplication.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: src/SFLPhoneapplication.moc +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o: src/ui_SFLPhoneView_base.h + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/callmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/callmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: src/callmanager_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h + +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: ../src/callmanager_interface_singleton.cpp +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: ../src/callmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o: src/callmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/ConfigurationDialog.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlgaccounts.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlgaddressbook.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlgaudio.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlgdisplay.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlggeneral.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: ../src/conf/dlghooks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QComboBox +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QFrame +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QScrollArea +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QSpinBox +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QTabWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QTableWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qcombobox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtableview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtablewidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlgaccountsbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlgaddressbookbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlgaudiobase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlgdisplaybase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlggeneralbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o: src/ui_dlghooksbase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/conf/ConfigurationSkeleton.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: ../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o: src/kcfg_settings.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/conf/dlgaccounts.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: ../src/conf/dlgaccounts.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QComboBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QFrame +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QInputDialog +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QScrollArea +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QSpinBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QTabWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QTableWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qcombobox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qinputdialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtableview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtablewidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o: src/ui_dlgaccountsbase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: ../src/conf/dlgaddressbook.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: ../src/conf/dlgaddressbook.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o: src/ui_dlgaddressbookbase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/conf/dlgaudio.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: ../src/conf/dlgaudio.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/../klineedit.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/KLineEdit +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o: src/ui_dlgaudiobase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: ../src/conf/dlgdisplay.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: ../src/conf/dlgdisplay.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o: src/ui_dlgdisplaybase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: ../src/conf/dlggeneral.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: ../src/conf/dlggeneral.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o: src/ui_dlggeneralbase.h + +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: ../src/conf/dlghooks.cpp +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: ../src/conf/dlghooks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o: src/ui_dlghooksbase.h + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/configurationmanager_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/configurationmanager_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: src/configurationmanager_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h + +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: ../src/configurationmanager_interface_singleton.cpp +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: ../src/configurationmanager_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o: src/configurationmanager_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/instance_dbus_interface.cpp +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: src/instance_dbus_interface.moc +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h + +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: ../src/instance_interface_singleton.cpp +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: ../src/instance_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o: src/instance_dbus_interface.h + +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o: src/kcfg_settings.cpp +src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o: src/kcfg_settings.h + +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/SFLPhoneapplication.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/instance_interface_singleton.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/main.cpp +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/sflphone_const.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: ../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kapplication.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kdeversion.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/KApplication +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QByteArray +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QListView +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QTableView +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/QX11Info +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtableview.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: /usr/include/qt4/QtGui/qx11info_x11.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: src/instance_dbus_interface.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/main.o: src/ui_SFLPhoneView_base.h + +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: src/qrc_resources.cxx +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o: /usr/include/qt4/QtCore/qglobal.h + +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: ../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: ../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: ../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: ../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Account.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/AccountItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/AccountList.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/AccountListModel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/AccountWizard.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/ActionSetAccountFirst.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Call.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/CallModel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/CallTreeItem.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Codec.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Contact.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/ContactItemWidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Dialpad.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/Item.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/SFLPhone.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/SFLPhoneTray.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/SFLPhoneView.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/ConfigurationDialog.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/ConfigurationSkeleton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlgaccounts.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlgaddressbook.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlgaudio.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlgdisplay.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlggeneral.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/conf/dlghooks.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/dbus/metatypes.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/../../src/typedefs.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_Account.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_AccountItemWidget.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_AccountList.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_AccountListModel.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_AccountWizard.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_ActionSetAccountFirst.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_Call.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_CallModel.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_CallTreeItem.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_Codec.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_ConfigurationDialog.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_ConfigurationSkeleton.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_ContactItemWidget.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_Dialpad.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_SFLPhone.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_SFLPhoneTray.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlgaccounts.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlgaddressbook.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlgaudio.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlgdisplay.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlggeneral.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/moc_dlghooks.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/sflphone-client-kde_automoc.cpp +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../kaction.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../kicon.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../knotification.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../ksystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../kxmlguibuilder.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../kxmlguiclient.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/../kxmlguiwindow.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/KAction +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/KIcon +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/KNotification +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/KSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/KDE/KXmlGuiWindow +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/Qt3Support/q3cstring.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/Qt3Support/q3valuelist.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QAbstractListModel +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QDate +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QDateTime +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QDebug +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QHash +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QList +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QMap +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QMetaClassInfo +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QMetaType +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QObject +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QPair +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QPoint +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QPointF +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QString +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QStringList +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QVariant +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QVector +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/QtCore +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstractanimation.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstractfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstractstate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qabstracttransition.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qalgorithms.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_alpha.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_arch.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_arm.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_armv6.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_avr32.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_bfin.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_generic.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_i386.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_ia64.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_macosx.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_mips.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_parisc.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_s390.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_sh.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_sparc.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_symbian.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_windows.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbasicatomic.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbasictimer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbitarray.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbuffer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbytearray.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcache.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qchar.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qconfig.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcontainerfwd.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcontiguouscache.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcoreapplication.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcoreevent.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qcryptographichash.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qdatastream.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qdatetime.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qdebug.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qdir.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qdiriterator.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qeasingcurve.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qendian.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qeventloop.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qeventtransition.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfactoryinterface.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfeatures.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfile.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfileinfo.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfinalstate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfsfileengine.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfuture.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfutureinterface.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qfuturewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qglobal.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qhash.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qhistorystate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qiodevice.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qiterator.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qlibrary.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qlibraryinfo.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qline.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qlinkedlist.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qlist.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qlocale.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmap.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmargins.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmath.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmetaobject.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmimedata.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qmutex.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qnamespace.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qnumeric.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qobject.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qobjectdefs.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpair.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpauseanimation.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qplugin.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpluginloader.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpoint.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpointer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qprocess.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qpropertyanimation.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qqueue.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qreadwritelock.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qrect.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qregexp.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qresource.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qrunnable.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qscopedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qset.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsettings.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qshareddata.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsharedmemory.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsharedpointer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsignalmapper.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsignaltransition.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsize.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsocketnotifier.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstack.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstatemachine.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstring.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstringbuilder.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstringlist.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qstringmatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtemporaryfile.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtextcodec.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtextstream.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qthread.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qthreadpool.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qthreadstorage.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtimeline.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtimer.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qtranslator.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qurl.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/quuid.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qvariant.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qvariantanimation.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qvarlengtharray.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qvector.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qwaitcondition.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtCore/qxmlstream.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/QtDBus +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusabstractadaptor.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusabstractinterface.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusargument.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusconnection.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbuscontext.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbuserror.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusextratypes.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusinterface.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusmacros.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusmessage.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusmetatype.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbuspendingcall.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbuspendingreply.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusreply.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusserver.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtDBus/qdbusservicewatcher.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QAction +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QActionGroup +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QApplication +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QButtonGroup +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QCheckBox +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QColor +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QComboBox +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QDragEnterEvent +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QErrorMessage +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QFormLayout +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QFrame +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QGridLayout +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QGroupBox +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QHBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QHeaderView +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QIcon +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QItemDelegate +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QKeyEvent +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QLabel +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QLayout +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QLineEdit +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QListWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QListWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QMenu +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QPixmap +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QPushButton +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QRadioButton +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QScrollArea +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QSlider +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QSpacerItem +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QSpinBox +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QStackedWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QSystemTrayIcon +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QTabWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QTableWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QToolButton +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QTreeWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QTreeWidgetItem +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QVBoxLayout +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QWidget +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QWidgetAction +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/QWizard +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractbutton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractitemview.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractslider.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qabstractspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qaction.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qactiongroup.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qapplication.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qboxlayout.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qbrush.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qbuttongroup.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qcheckbox.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qcolor.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qcombobox.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qcursor.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qdesktopwidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qdialog.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qdrag.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qerrormessage.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qevent.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qfont.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qfontinfo.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qfontmetrics.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qformlayout.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qframe.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qgridlayout.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qgroupbox.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qheaderview.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qicon.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qimage.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qitemdelegate.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qkeysequence.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlabel.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlayout.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlayoutitem.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlineedit.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlistview.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qlistwidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qmenu.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qmime.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpaintdevice.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpainterpath.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpalette.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpixmap.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpolygon.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qpushbutton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qradiobutton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qregion.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qrgb.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qrubberband.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qscrollarea.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qsizepolicy.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qslider.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qspinbox.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qstackedwidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qstyle.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qstyleoption.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtabbar.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtableview.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtablewidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtabwidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtoolbutton.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtransform.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtreeview.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtreewidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qvalidator.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwidget.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwidgetaction.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwindowdefs.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwizard.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: /usr/include/qt4/QtGui/qwmatrix.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/kcfg_settings.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_SFLPhoneView_base.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlgaccountsbase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlgaddressbookbase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlgaudiobase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlgdisplaybase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlggeneralbase.h +src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o: src/ui_dlghooksbase.h + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/flags.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/flags.make new file mode 100644 index 0000000000000000000000000000000000000000..8e931b57ed2d05184b8b722ce1a50957f1fd2f8f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -DQT_NO_DEBUG -I/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src -I/home/emmanuel/sflphone/sflphone-client-kde/src -I/home/emmanuel/sflphone/sflphone-client-kde/cmake-build -I/usr/include/KDE -I/usr/include/qt4/KDE -I/usr/include/qt4 -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtMultimedia -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fexceptions -DDATA_INSTALL_DIR="\"/usr/local/share/apps\"" -DSHARE_INSTALL_PREFIX="\"/usr/local/share\"" + +CXX_DEFINES = -D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL -DQT_NO_DEBUG + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/link.txt b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/link.txt new file mode 100644 index 0000000000000000000000000000000000000000..f09e97ffd8e311b7f3d17ae81044752b311a979a --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -DQT_NO_DEBUG -Wl,--enable-new-dtags CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o CMakeFiles/sflphone-client-kde.dir/SFLPhone.o CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o CMakeFiles/sflphone-client-kde.dir/main.o CMakeFiles/sflphone-client-kde.dir/Account.o CMakeFiles/sflphone-client-kde.dir/AccountList.o CMakeFiles/sflphone-client-kde.dir/Call.o CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o CMakeFiles/sflphone-client-kde.dir/AccountWizard.o CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o CMakeFiles/sflphone-client-kde.dir/Contact.o CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o CMakeFiles/sflphone-client-kde.dir/Dialpad.o CMakeFiles/sflphone-client-kde.dir/Codec.o CMakeFiles/sflphone-client-kde.dir/Item.o CMakeFiles/sflphone-client-kde.dir/AccountListModel.o CMakeFiles/sflphone-client-kde.dir/CallModel.o CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o CMakeFiles/sflphone-client-kde.dir/qrc_resources.o -o sflphone-client-kde -rdynamic /usr/lib/libkdeui.so.5.4.0 /usr/lib/libkio.so.5.4.0 -lkabc /usr/lib/libkdeui.so.5.4.0 /usr/lib/libQtSvg.so /usr/lib/libQtGui.so /usr/lib/libQtNetwork.so /usr/lib/libQtXml.so /usr/lib/libkdecore.so.5.4.0 /usr/lib/libQtDBus.so /usr/lib/libQtCore.so -lpthread -Wl,-rpath,:::::::::::::: diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/progress.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..2000ef25658576f127ecbc67eb67bf31b7267f1c --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde.dir/progress.make @@ -0,0 +1,52 @@ +CMAKE_PROGRESS_1 = 9 +CMAKE_PROGRESS_2 = 10 +CMAKE_PROGRESS_3 = 11 +CMAKE_PROGRESS_4 = 12 +CMAKE_PROGRESS_5 = 13 +CMAKE_PROGRESS_6 = 14 +CMAKE_PROGRESS_7 = 15 +CMAKE_PROGRESS_8 = 16 +CMAKE_PROGRESS_9 = 17 +CMAKE_PROGRESS_10 = 18 +CMAKE_PROGRESS_11 = 19 +CMAKE_PROGRESS_12 = 20 +CMAKE_PROGRESS_13 = 21 +CMAKE_PROGRESS_14 = 22 +CMAKE_PROGRESS_15 = 23 +CMAKE_PROGRESS_16 = 24 +CMAKE_PROGRESS_17 = 25 +CMAKE_PROGRESS_18 = 26 +CMAKE_PROGRESS_19 = 27 +CMAKE_PROGRESS_20 = 28 +CMAKE_PROGRESS_21 = 29 +CMAKE_PROGRESS_22 = 30 +CMAKE_PROGRESS_23 = 31 +CMAKE_PROGRESS_24 = 32 +CMAKE_PROGRESS_25 = 33 +CMAKE_PROGRESS_26 = 34 +CMAKE_PROGRESS_27 = 35 +CMAKE_PROGRESS_28 = 36 +CMAKE_PROGRESS_29 = 37 +CMAKE_PROGRESS_30 = 38 +CMAKE_PROGRESS_31 = 39 +CMAKE_PROGRESS_32 = 40 +CMAKE_PROGRESS_33 = 41 +CMAKE_PROGRESS_34 = 42 +CMAKE_PROGRESS_35 = 43 +CMAKE_PROGRESS_36 = 44 +CMAKE_PROGRESS_37 = 45 +CMAKE_PROGRESS_38 = 46 +CMAKE_PROGRESS_39 = 47 +CMAKE_PROGRESS_40 = 48 +CMAKE_PROGRESS_41 = 49 +CMAKE_PROGRESS_42 = 50 +CMAKE_PROGRESS_43 = 51 +CMAKE_PROGRESS_44 = 52 +CMAKE_PROGRESS_45 = 53 +CMAKE_PROGRESS_46 = 54 +CMAKE_PROGRESS_47 = 55 +CMAKE_PROGRESS_48 = 56 +CMAKE_PROGRESS_49 = 57 +CMAKE_PROGRESS_50 = 58 +CMAKE_PROGRESS_51 = 59 + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/DependInfo.cmake b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..4f940ca2e8cdc91bbf440bbbf3ec93905d8bedb6 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/DependInfo.cmake @@ -0,0 +1,24 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "_BSD_SOURCE" + "QT_DLL" + "QT_GUI_LIB" + "QT_CORE_LIB" + "_XOPEN_SOURCE=500" + "_BSD_SOURCE" + "QT_NO_STL" + "QT_NO_CAST_TO_ASCII" + "_REENTRANT" + "KDE_DEPRECATED_WARNINGS" + "QT_DLL" + "QT_NO_DEBUG" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..874390d46ab23fc848b5165763d6bc64bba27a7f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make @@ -0,0 +1,60 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +# Utility rule file for sflphone-client-kde_automoc. + +src/CMakeFiles/sflphone-client-kde_automoc: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && /usr/bin/automoc4 /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp /home/emmanuel/sflphone/sflphone-client-kde/src /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src /usr/bin/moc-qt4 /usr/bin/cmake + +sflphone-client-kde_automoc: src/CMakeFiles/sflphone-client-kde_automoc +sflphone-client-kde_automoc: src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make +.PHONY : sflphone-client-kde_automoc + +# Rule to build all files generated by this target. +src/CMakeFiles/sflphone-client-kde_automoc.dir/build: sflphone-client-kde_automoc +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/build + +src/CMakeFiles/sflphone-client-kde_automoc.dir/clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src && $(CMAKE_COMMAND) -P CMakeFiles/sflphone-client-kde_automoc.dir/cmake_clean.cmake +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/clean + +src/CMakeFiles/sflphone-client-kde_automoc.dir/depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/emmanuel/sflphone/sflphone-client-kde /home/emmanuel/sflphone/sflphone-client-kde/src /home/emmanuel/sflphone/sflphone-client-kde/cmake-build /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/depend + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/cmake_clean.cmake b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..c315203105a60105b02e33ce2e290d2c47af455b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +FILE(REMOVE_RECURSE + "sflphone-client-kde_automoc.cpp" + "sflphone-client-kde.shell" + "CMakeFiles/sflphone-client-kde_automoc" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang) + INCLUDE(CMakeFiles/sflphone-client-kde_automoc.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.internal b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.internal new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..38eae05f3398a65e78ad308f0e89165462d74d9b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/progress.make b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CMakeFiles/sflphone-client-kde_automoc.dir/progress.make @@ -0,0 +1 @@ + diff --git a/sflphone-client-kde/cmake-build/src/CTestTestfile.cmake b/sflphone-client-kde/cmake-build/src/CTestTestfile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..875d39f1d79230ad040e577050e59872470002c6 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/emmanuel/sflphone/sflphone-client-kde/src +# Build directory: /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src +# +# This file includes the relevent testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/sflphone-client-kde/cmake-build/src/Makefile b/sflphone-client-kde/cmake-build/src/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e08903adaade14ccf4b075afef1678162b5c7f4c --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/Makefile @@ -0,0 +1,853 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/emmanuel/sflphone/sflphone-client-kde + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/emmanuel/sflphone/sflphone-client-kde/cmake-build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/CMakeFiles/progress.marks + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/emmanuel/sflphone/sflphone-client-kde/cmake-build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/CMakeFiles/sflphone-client-kde.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/sflphone-client-kde.dir/rule +.PHONY : src/CMakeFiles/sflphone-client-kde.dir/rule + +# Convenience name for target. +sflphone-client-kde: src/CMakeFiles/sflphone-client-kde.dir/rule +.PHONY : sflphone-client-kde + +# fast build rule for target. +sflphone-client-kde/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/build +.PHONY : sflphone-client-kde/fast + +# Convenience name for target. +src/CMakeFiles/sflphone-client-kde_automoc.dir/rule: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/sflphone-client-kde_automoc.dir/rule +.PHONY : src/CMakeFiles/sflphone-client-kde_automoc.dir/rule + +# Convenience name for target. +sflphone-client-kde_automoc: src/CMakeFiles/sflphone-client-kde_automoc.dir/rule +.PHONY : sflphone-client-kde_automoc + +# fast build rule for target. +sflphone-client-kde_automoc/fast: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde_automoc.dir/build.make src/CMakeFiles/sflphone-client-kde_automoc.dir/build +.PHONY : sflphone-client-kde_automoc/fast + +# target to build an object file +Account.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Account.o +.PHONY : Account.o + +# target to preprocess a source file +Account.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Account.i +.PHONY : Account.i + +# target to generate assembly for a file +Account.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Account.s +.PHONY : Account.s + +# target to build an object file +AccountItemWidget.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.o +.PHONY : AccountItemWidget.o + +# target to preprocess a source file +AccountItemWidget.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.i +.PHONY : AccountItemWidget.i + +# target to generate assembly for a file +AccountItemWidget.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountItemWidget.s +.PHONY : AccountItemWidget.s + +# target to build an object file +AccountList.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountList.o +.PHONY : AccountList.o + +# target to preprocess a source file +AccountList.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountList.i +.PHONY : AccountList.i + +# target to generate assembly for a file +AccountList.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountList.s +.PHONY : AccountList.s + +# target to build an object file +AccountListModel.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.o +.PHONY : AccountListModel.o + +# target to preprocess a source file +AccountListModel.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.i +.PHONY : AccountListModel.i + +# target to generate assembly for a file +AccountListModel.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountListModel.s +.PHONY : AccountListModel.s + +# target to build an object file +AccountWizard.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.o +.PHONY : AccountWizard.o + +# target to preprocess a source file +AccountWizard.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.i +.PHONY : AccountWizard.i + +# target to generate assembly for a file +AccountWizard.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/AccountWizard.s +.PHONY : AccountWizard.s + +# target to build an object file +ActionSetAccountFirst.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.o +.PHONY : ActionSetAccountFirst.o + +# target to preprocess a source file +ActionSetAccountFirst.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.i +.PHONY : ActionSetAccountFirst.i + +# target to generate assembly for a file +ActionSetAccountFirst.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ActionSetAccountFirst.s +.PHONY : ActionSetAccountFirst.s + +# target to build an object file +Call.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Call.o +.PHONY : Call.o + +# target to preprocess a source file +Call.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Call.i +.PHONY : Call.i + +# target to generate assembly for a file +Call.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Call.s +.PHONY : Call.s + +# target to build an object file +CallModel.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallModel.o +.PHONY : CallModel.o + +# target to preprocess a source file +CallModel.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallModel.i +.PHONY : CallModel.i + +# target to generate assembly for a file +CallModel.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallModel.s +.PHONY : CallModel.s + +# target to build an object file +CallTreeItem.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.o +.PHONY : CallTreeItem.o + +# target to preprocess a source file +CallTreeItem.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.i +.PHONY : CallTreeItem.i + +# target to generate assembly for a file +CallTreeItem.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/CallTreeItem.s +.PHONY : CallTreeItem.s + +# target to build an object file +Codec.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Codec.o +.PHONY : Codec.o + +# target to preprocess a source file +Codec.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Codec.i +.PHONY : Codec.i + +# target to generate assembly for a file +Codec.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Codec.s +.PHONY : Codec.s + +# target to build an object file +Contact.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Contact.o +.PHONY : Contact.o + +# target to preprocess a source file +Contact.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Contact.i +.PHONY : Contact.i + +# target to generate assembly for a file +Contact.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Contact.s +.PHONY : Contact.s + +# target to build an object file +ContactItemWidget.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.o +.PHONY : ContactItemWidget.o + +# target to preprocess a source file +ContactItemWidget.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.i +.PHONY : ContactItemWidget.i + +# target to generate assembly for a file +ContactItemWidget.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/ContactItemWidget.s +.PHONY : ContactItemWidget.s + +# target to build an object file +Dialpad.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Dialpad.o +.PHONY : Dialpad.o + +# target to preprocess a source file +Dialpad.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Dialpad.i +.PHONY : Dialpad.i + +# target to generate assembly for a file +Dialpad.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Dialpad.s +.PHONY : Dialpad.s + +# target to build an object file +Item.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Item.o +.PHONY : Item.o + +# target to preprocess a source file +Item.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Item.i +.PHONY : Item.i + +# target to generate assembly for a file +Item.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/Item.s +.PHONY : Item.s + +# target to build an object file +SFLPhone.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.o +.PHONY : SFLPhone.o + +# target to preprocess a source file +SFLPhone.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.i +.PHONY : SFLPhone.i + +# target to generate assembly for a file +SFLPhone.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhone.s +.PHONY : SFLPhone.s + +# target to build an object file +SFLPhoneTray.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.o +.PHONY : SFLPhoneTray.o + +# target to preprocess a source file +SFLPhoneTray.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.i +.PHONY : SFLPhoneTray.i + +# target to generate assembly for a file +SFLPhoneTray.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneTray.s +.PHONY : SFLPhoneTray.s + +# target to build an object file +SFLPhoneView.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.o +.PHONY : SFLPhoneView.o + +# target to preprocess a source file +SFLPhoneView.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.i +.PHONY : SFLPhoneView.i + +# target to generate assembly for a file +SFLPhoneView.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneView.s +.PHONY : SFLPhoneView.s + +# target to build an object file +SFLPhoneapplication.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.o +.PHONY : SFLPhoneapplication.o + +# target to preprocess a source file +SFLPhoneapplication.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.i +.PHONY : SFLPhoneapplication.i + +# target to generate assembly for a file +SFLPhoneapplication.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/SFLPhoneapplication.s +.PHONY : SFLPhoneapplication.s + +# target to build an object file +callmanager_dbus_interface.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.o +.PHONY : callmanager_dbus_interface.o + +# target to preprocess a source file +callmanager_dbus_interface.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.i +.PHONY : callmanager_dbus_interface.i + +# target to generate assembly for a file +callmanager_dbus_interface.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_dbus_interface.s +.PHONY : callmanager_dbus_interface.s + +# target to build an object file +callmanager_interface_singleton.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.o +.PHONY : callmanager_interface_singleton.o + +# target to preprocess a source file +callmanager_interface_singleton.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.i +.PHONY : callmanager_interface_singleton.i + +# target to generate assembly for a file +callmanager_interface_singleton.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/callmanager_interface_singleton.s +.PHONY : callmanager_interface_singleton.s + +# target to build an object file +conf/ConfigurationDialog.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.o +.PHONY : conf/ConfigurationDialog.o + +# target to preprocess a source file +conf/ConfigurationDialog.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.i +.PHONY : conf/ConfigurationDialog.i + +# target to generate assembly for a file +conf/ConfigurationDialog.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationDialog.s +.PHONY : conf/ConfigurationDialog.s + +# target to build an object file +conf/ConfigurationSkeleton.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.o +.PHONY : conf/ConfigurationSkeleton.o + +# target to preprocess a source file +conf/ConfigurationSkeleton.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.i +.PHONY : conf/ConfigurationSkeleton.i + +# target to generate assembly for a file +conf/ConfigurationSkeleton.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/ConfigurationSkeleton.s +.PHONY : conf/ConfigurationSkeleton.s + +# target to build an object file +conf/dlgaccounts.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.o +.PHONY : conf/dlgaccounts.o + +# target to preprocess a source file +conf/dlgaccounts.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.i +.PHONY : conf/dlgaccounts.i + +# target to generate assembly for a file +conf/dlgaccounts.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaccounts.s +.PHONY : conf/dlgaccounts.s + +# target to build an object file +conf/dlgaddressbook.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.o +.PHONY : conf/dlgaddressbook.o + +# target to preprocess a source file +conf/dlgaddressbook.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.i +.PHONY : conf/dlgaddressbook.i + +# target to generate assembly for a file +conf/dlgaddressbook.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaddressbook.s +.PHONY : conf/dlgaddressbook.s + +# target to build an object file +conf/dlgaudio.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.o +.PHONY : conf/dlgaudio.o + +# target to preprocess a source file +conf/dlgaudio.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.i +.PHONY : conf/dlgaudio.i + +# target to generate assembly for a file +conf/dlgaudio.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgaudio.s +.PHONY : conf/dlgaudio.s + +# target to build an object file +conf/dlgdisplay.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.o +.PHONY : conf/dlgdisplay.o + +# target to preprocess a source file +conf/dlgdisplay.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.i +.PHONY : conf/dlgdisplay.i + +# target to generate assembly for a file +conf/dlgdisplay.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlgdisplay.s +.PHONY : conf/dlgdisplay.s + +# target to build an object file +conf/dlggeneral.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.o +.PHONY : conf/dlggeneral.o + +# target to preprocess a source file +conf/dlggeneral.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.i +.PHONY : conf/dlggeneral.i + +# target to generate assembly for a file +conf/dlggeneral.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlggeneral.s +.PHONY : conf/dlggeneral.s + +# target to build an object file +conf/dlghooks.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.o +.PHONY : conf/dlghooks.o + +# target to preprocess a source file +conf/dlghooks.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.i +.PHONY : conf/dlghooks.i + +# target to generate assembly for a file +conf/dlghooks.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/conf/dlghooks.s +.PHONY : conf/dlghooks.s + +# target to build an object file +configurationmanager_dbus_interface.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.o +.PHONY : configurationmanager_dbus_interface.o + +# target to preprocess a source file +configurationmanager_dbus_interface.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.i +.PHONY : configurationmanager_dbus_interface.i + +# target to generate assembly for a file +configurationmanager_dbus_interface.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_dbus_interface.s +.PHONY : configurationmanager_dbus_interface.s + +# target to build an object file +configurationmanager_interface_singleton.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.o +.PHONY : configurationmanager_interface_singleton.o + +# target to preprocess a source file +configurationmanager_interface_singleton.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.i +.PHONY : configurationmanager_interface_singleton.i + +# target to generate assembly for a file +configurationmanager_interface_singleton.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/configurationmanager_interface_singleton.s +.PHONY : configurationmanager_interface_singleton.s + +# target to build an object file +instance_dbus_interface.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.o +.PHONY : instance_dbus_interface.o + +# target to preprocess a source file +instance_dbus_interface.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.i +.PHONY : instance_dbus_interface.i + +# target to generate assembly for a file +instance_dbus_interface.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_dbus_interface.s +.PHONY : instance_dbus_interface.s + +# target to build an object file +instance_interface_singleton.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.o +.PHONY : instance_interface_singleton.o + +# target to preprocess a source file +instance_interface_singleton.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.i +.PHONY : instance_interface_singleton.i + +# target to generate assembly for a file +instance_interface_singleton.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/instance_interface_singleton.s +.PHONY : instance_interface_singleton.s + +# target to build an object file +kcfg_settings.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.o +.PHONY : kcfg_settings.o + +# target to preprocess a source file +kcfg_settings.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.i +.PHONY : kcfg_settings.i + +# target to generate assembly for a file +kcfg_settings.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/kcfg_settings.s +.PHONY : kcfg_settings.s + +# target to build an object file +main.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/main.o +.PHONY : main.o + +# target to preprocess a source file +main.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/main.i +.PHONY : main.i + +# target to generate assembly for a file +main.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/main.s +.PHONY : main.s + +# target to build an object file +qrc_resources.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.o +.PHONY : qrc_resources.o + +# target to preprocess a source file +qrc_resources.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.i +.PHONY : qrc_resources.i + +# target to generate assembly for a file +qrc_resources.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/qrc_resources.s +.PHONY : qrc_resources.s + +# target to build an object file +sflphone-client-kde_automoc.o: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.o +.PHONY : sflphone-client-kde_automoc.o + +# target to preprocess a source file +sflphone-client-kde_automoc.i: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.i +.PHONY : sflphone-client-kde_automoc.i + +# target to generate assembly for a file +sflphone-client-kde_automoc.s: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(MAKE) -f src/CMakeFiles/sflphone-client-kde.dir/build.make src/CMakeFiles/sflphone-client-kde.dir/sflphone-client-kde_automoc.s +.PHONY : sflphone-client-kde_automoc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... sflphone-client-kde" + @echo "... sflphone-client-kde_automoc" + @echo "... test" + @echo "... Account.o" + @echo "... Account.i" + @echo "... Account.s" + @echo "... AccountItemWidget.o" + @echo "... AccountItemWidget.i" + @echo "... AccountItemWidget.s" + @echo "... AccountList.o" + @echo "... AccountList.i" + @echo "... AccountList.s" + @echo "... AccountListModel.o" + @echo "... AccountListModel.i" + @echo "... AccountListModel.s" + @echo "... AccountWizard.o" + @echo "... AccountWizard.i" + @echo "... AccountWizard.s" + @echo "... ActionSetAccountFirst.o" + @echo "... ActionSetAccountFirst.i" + @echo "... ActionSetAccountFirst.s" + @echo "... Call.o" + @echo "... Call.i" + @echo "... Call.s" + @echo "... CallModel.o" + @echo "... CallModel.i" + @echo "... CallModel.s" + @echo "... CallTreeItem.o" + @echo "... CallTreeItem.i" + @echo "... CallTreeItem.s" + @echo "... Codec.o" + @echo "... Codec.i" + @echo "... Codec.s" + @echo "... Contact.o" + @echo "... Contact.i" + @echo "... Contact.s" + @echo "... ContactItemWidget.o" + @echo "... ContactItemWidget.i" + @echo "... ContactItemWidget.s" + @echo "... Dialpad.o" + @echo "... Dialpad.i" + @echo "... Dialpad.s" + @echo "... Item.o" + @echo "... Item.i" + @echo "... Item.s" + @echo "... SFLPhone.o" + @echo "... SFLPhone.i" + @echo "... SFLPhone.s" + @echo "... SFLPhoneTray.o" + @echo "... SFLPhoneTray.i" + @echo "... SFLPhoneTray.s" + @echo "... SFLPhoneView.o" + @echo "... SFLPhoneView.i" + @echo "... SFLPhoneView.s" + @echo "... SFLPhoneapplication.o" + @echo "... SFLPhoneapplication.i" + @echo "... SFLPhoneapplication.s" + @echo "... callmanager_dbus_interface.o" + @echo "... callmanager_dbus_interface.i" + @echo "... callmanager_dbus_interface.s" + @echo "... callmanager_interface_singleton.o" + @echo "... callmanager_interface_singleton.i" + @echo "... callmanager_interface_singleton.s" + @echo "... conf/ConfigurationDialog.o" + @echo "... conf/ConfigurationDialog.i" + @echo "... conf/ConfigurationDialog.s" + @echo "... conf/ConfigurationSkeleton.o" + @echo "... conf/ConfigurationSkeleton.i" + @echo "... conf/ConfigurationSkeleton.s" + @echo "... conf/dlgaccounts.o" + @echo "... conf/dlgaccounts.i" + @echo "... conf/dlgaccounts.s" + @echo "... conf/dlgaddressbook.o" + @echo "... conf/dlgaddressbook.i" + @echo "... conf/dlgaddressbook.s" + @echo "... conf/dlgaudio.o" + @echo "... conf/dlgaudio.i" + @echo "... conf/dlgaudio.s" + @echo "... conf/dlgdisplay.o" + @echo "... conf/dlgdisplay.i" + @echo "... conf/dlgdisplay.s" + @echo "... conf/dlggeneral.o" + @echo "... conf/dlggeneral.i" + @echo "... conf/dlggeneral.s" + @echo "... conf/dlghooks.o" + @echo "... conf/dlghooks.i" + @echo "... conf/dlghooks.s" + @echo "... configurationmanager_dbus_interface.o" + @echo "... configurationmanager_dbus_interface.i" + @echo "... configurationmanager_dbus_interface.s" + @echo "... configurationmanager_interface_singleton.o" + @echo "... configurationmanager_interface_singleton.i" + @echo "... configurationmanager_interface_singleton.s" + @echo "... instance_dbus_interface.o" + @echo "... instance_dbus_interface.i" + @echo "... instance_dbus_interface.s" + @echo "... instance_interface_singleton.o" + @echo "... instance_interface_singleton.i" + @echo "... instance_interface_singleton.s" + @echo "... kcfg_settings.o" + @echo "... kcfg_settings.i" + @echo "... kcfg_settings.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... qrc_resources.o" + @echo "... qrc_resources.i" + @echo "... qrc_resources.s" + @echo "... sflphone-client-kde_automoc.o" + @echo "... sflphone-client-kde_automoc.i" + @echo "... sflphone-client-kde_automoc.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/emmanuel/sflphone/sflphone-client-kde/cmake-build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/sflphone-client-kde/cmake-build/src/SFLPhoneView.moc b/sflphone-client-kde/cmake-build/src/SFLPhoneView.moc new file mode 100644 index 0000000000000000000000000000000000000000..320b3a9cdc05a32af751f1741234903401f1bb39 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/SFLPhoneView.moc @@ -0,0 +1,363 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'SFLPhoneView.h' +** +** Created: Tue Apr 20 16:41:47 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/SFLPhoneView.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'SFLPhoneView.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_SFLPhoneView[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 75, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 10, // signalCount + + // signals: signature, parameters, type, tag, flags + 22, 14, 13, 13, 0x05, + 62, 56, 13, 13, 0x05, + 109, 94, 13, 13, 0x05, + 160, 148, 13, 13, 0x05, + 211, 199, 13, 13, 0x05, + 269, 250, 13, 13, 0x05, + 322, 305, 13, 13, 0x05, + 374, 356, 13, 13, 0x05, + 410, 403, 13, 13, 0x05, + 434, 429, 13, 13, 0x05, + + // slots: signature, parameters, type, tag, flags + 472, 460, 13, 13, 0x08, + 506, 498, 13, 13, 0x08, + 536, 532, 13, 13, 0x08, + 556, 13, 13, 13, 0x08, + 568, 13, 13, 13, 0x08, + 577, 13, 13, 13, 0x08, + 585, 13, 13, 13, 0x08, + 613, 602, 13, 13, 0x08, + 651, 643, 13, 13, 0x08, + 685, 13, 13, 13, 0x08, + 709, 13, 13, 13, 0x08, + 731, 13, 13, 13, 0x08, + 751, 13, 13, 13, 0x08, + 771, 13, 13, 13, 0x08, + 792, 13, 13, 13, 0x08, + 813, 13, 13, 13, 0x08, + 831, 13, 13, 13, 0x08, + 849, 13, 13, 13, 0x08, + 872, 13, 13, 13, 0x08, + 888, 13, 13, 13, 0x0a, + 901, 13, 13, 13, 0x0a, + 923, 13, 13, 13, 0x0a, + 948, 13, 943, 13, 0x0a, + 966, 13, 13, 13, 0x0a, + 999, 993, 13, 13, 0x0a, + 1025, 13, 13, 13, 0x0a, + 1049, 13, 13, 13, 0x0a, + 1066, 13, 13, 13, 0x0a, + 1086, 13, 13, 13, 0x0a, + 1110, 13, 13, 13, 0x0a, + 1119, 13, 13, 13, 0x0a, + 1128, 13, 13, 13, 0x0a, + 1135, 13, 13, 13, 0x0a, + 1146, 13, 13, 13, 0x0a, + 1155, 13, 13, 13, 0x0a, + 1170, 1165, 13, 13, 0x0a, + 1203, 13, 13, 13, 0x0a, + 1243, 13, 13, 13, 0x0a, + 1287, 1281, 13, 13, 0x0a, + 1322, 1281, 13, 13, 0x0a, + 1357, 1281, 13, 13, 0x0a, + 1394, 1281, 13, 13, 0x0a, + 1439, 1431, 13, 13, 0x0a, + 1474, 1431, 13, 13, 0x0a, + 1509, 1431, 13, 13, 0x0a, + 1546, 1431, 13, 13, 0x0a, + 1583, 13, 13, 13, 0x0a, + 1616, 13, 13, 13, 0x0a, + 1654, 1642, 13, 13, 0x0a, + 1706, 13, 13, 13, 0x0a, + 1758, 1753, 13, 13, 0x0a, + 1809, 13, 13, 13, 0x0a, + 1856, 1753, 13, 13, 0x0a, + 1921, 1915, 13, 13, 0x0a, + 1978, 1965, 13, 13, 0x0a, + 2024, 2016, 13, 13, 0x0a, + 2068, 2051, 13, 13, 0x0a, + 2120, 2102, 13, 13, 0x0a, + 2173, 2157, 13, 13, 0x0a, + 2219, 2206, 13, 13, 0x0a, + 2253, 13, 13, 13, 0x0a, + 2286, 2279, 13, 13, 0x0a, + 2331, 2318, 13, 13, 0x0a, + 2378, 2371, 13, 13, 0x0a, + 2409, 403, 13, 13, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_SFLPhoneView[] = { + "SFLPhoneView\0\0message\0" + "statusMessageChangeAsked(QString)\0" + "title\0windowTitleChangeAsked(QString)\0" + "enabledActions\0enabledActionsChangeAsked(const bool*)\0" + "actionIcons\0actionIconsChangeAsked(const QString*)\0" + "actionTexts\0actionTextsChangeAsked(const QString*)\0" + "transferCheckState\0" + "transferCheckStateChangeAsked(bool)\0" + "recordCheckState\0recordCheckStateChangeAsked(bool)\0" + "enableAddressBook\0addressBookEnableAsked(bool)\0" + "screen\0screenChanged(int)\0call\0" + "incomingCall(const Call*)\0call,action\0" + "action(Call*,call_action)\0account\0" + "setAccountFirst(Account*)\0str\0" + "typeString(QString)\0backspace()\0" + "escape()\0enter()\0editBeforeCall()\0" + "listWidget\0alternateColors(QListWidget*)\0" + "contact\0addContactToContactList(Contact*)\0" + "updateWindowCallState()\0updateSearchHistory()\0" + "updateCallHistory()\0updateAddressBook()\0" + "updateRecordButton()\0updateVolumeButton()\0" + "updateRecordBar()\0updateVolumeBar()\0" + "updateVolumeControls()\0updateDialpad()\0" + "loadWindow()\0updateStatusMessage()\0" + "enableAddressBook()\0bool\0loadAddressBook()\0" + "updateAddressBookEnabled()\0event\0" + "keyPressEvent(QKeyEvent*)\0" + "displayVolumeControls()\0displayDialpad()\0" + "configureSflPhone()\0accountCreationWizard()\0" + "accept()\0refuse()\0hold()\0transfer()\0" + "record()\0mailBox()\0text\0" + "on_widget_dialpad_typed(QString)\0" + "on_lineEdit_searchHistory_textChanged()\0" + "on_lineEdit_addressBook_textChanged()\0" + "value\0on_slider_recVol_valueChanged(int)\0" + "on_slider_sndVol_valueChanged(int)\0" + "on_slider_recVol_2_valueChanged(int)\0" + "on_slider_sndVol_2_valueChanged(int)\0" + "checked\0on_toolButton_recVol_clicked(bool)\0" + "on_toolButton_sndVol_clicked(bool)\0" + "on_toolButton_recVol_2_clicked(bool)\0" + "on_toolButton_sndVol_2_clicked(bool)\0" + "on_callTree_currentItemChanged()\0" + "on_callTree_itemChanged()\0item,column\0" + "on_callTree_itemDoubleClicked(QTreeWidgetItem*,int)\0" + "on_listWidget_callHistory_currentItemChanged()\0" + "item\0on_listWidget_callHistory_itemDoubleClicked(Call*)\0" + "on_listWidget_addressBook_currentItemChanged()\0" + "on_listWidget_addressBook_itemDoubleClicked(CallTreeItem*)\0" + "index\0on_stackedWidget_screen_currentChanged(int)\0" + "callID,state\0on1_callStateChanged(QString,QString)\0" + "details\0on1_error(MapStringString)\0" + "accountID,callID\0on1_incomingCall(QString,QString)\0" + "accountID,message\0" + "on1_incomingMessage(QString,QString)\0" + "accountID,count\0on1_voiceMailNotify(QString,int)\0" + "device,value\0on1_volumeChanged(QString,double)\0" + "on1_audioManagerChanged()\0confID\0" + "on1_incomingConference(QString)\0" + "confID,state\0on1_changingConference(QString,QString)\0" + "confId\0on1_conferenceRemoved(QString)\0" + "changeScreen(int)\0" +}; + +const QMetaObject SFLPhoneView::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_SFLPhoneView, + qt_meta_data_SFLPhoneView, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &SFLPhoneView::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *SFLPhoneView::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *SFLPhoneView::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_SFLPhoneView)) + return static_cast<void*>(const_cast< SFLPhoneView*>(this)); + if (!strcmp(_clname, "Ui::SFLPhone_view")) + return static_cast< Ui::SFLPhone_view*>(const_cast< SFLPhoneView*>(this)); + return QWidget::qt_metacast(_clname); +} + +int SFLPhoneView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: statusMessageChangeAsked((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 1: windowTitleChangeAsked((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 2: enabledActionsChangeAsked((*reinterpret_cast< const bool*(*)>(_a[1]))); break; + case 3: actionIconsChangeAsked((*reinterpret_cast< const QString*(*)>(_a[1]))); break; + case 4: actionTextsChangeAsked((*reinterpret_cast< const QString*(*)>(_a[1]))); break; + case 5: transferCheckStateChangeAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 6: recordCheckStateChangeAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 7: addressBookEnableAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 8: screenChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 9: incomingCall((*reinterpret_cast< const Call*(*)>(_a[1]))); break; + case 10: action((*reinterpret_cast< Call*(*)>(_a[1])),(*reinterpret_cast< call_action(*)>(_a[2]))); break; + case 11: setAccountFirst((*reinterpret_cast< Account*(*)>(_a[1]))); break; + case 12: typeString((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 13: backspace(); break; + case 14: escape(); break; + case 15: enter(); break; + case 16: editBeforeCall(); break; + case 17: alternateColors((*reinterpret_cast< QListWidget*(*)>(_a[1]))); break; + case 18: addContactToContactList((*reinterpret_cast< Contact*(*)>(_a[1]))); break; + case 19: updateWindowCallState(); break; + case 20: updateSearchHistory(); break; + case 21: updateCallHistory(); break; + case 22: updateAddressBook(); break; + case 23: updateRecordButton(); break; + case 24: updateVolumeButton(); break; + case 25: updateRecordBar(); break; + case 26: updateVolumeBar(); break; + case 27: updateVolumeControls(); break; + case 28: updateDialpad(); break; + case 29: loadWindow(); break; + case 30: updateStatusMessage(); break; + case 31: enableAddressBook(); break; + case 32: { bool _r = loadAddressBook(); + if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; + case 33: updateAddressBookEnabled(); break; + case 34: keyPressEvent((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break; + case 35: displayVolumeControls(); break; + case 36: displayDialpad(); break; + case 37: configureSflPhone(); break; + case 38: accountCreationWizard(); break; + case 39: accept(); break; + case 40: refuse(); break; + case 41: hold(); break; + case 42: transfer(); break; + case 43: record(); break; + case 44: mailBox(); break; + case 45: on_widget_dialpad_typed((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 46: on_lineEdit_searchHistory_textChanged(); break; + case 47: on_lineEdit_addressBook_textChanged(); break; + case 48: on_slider_recVol_valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 49: on_slider_sndVol_valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 50: on_slider_recVol_2_valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 51: on_slider_sndVol_2_valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 52: on_toolButton_recVol_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 53: on_toolButton_sndVol_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 54: on_toolButton_recVol_2_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 55: on_toolButton_sndVol_2_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 56: on_callTree_currentItemChanged(); break; + case 57: on_callTree_itemChanged(); break; + case 58: on_callTree_itemDoubleClicked((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; + case 59: on_listWidget_callHistory_currentItemChanged(); break; + case 60: on_listWidget_callHistory_itemDoubleClicked((*reinterpret_cast< Call*(*)>(_a[1]))); break; + case 61: on_listWidget_addressBook_currentItemChanged(); break; + case 62: on_listWidget_addressBook_itemDoubleClicked((*reinterpret_cast< CallTreeItem*(*)>(_a[1]))); break; + case 63: on_stackedWidget_screen_currentChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 64: on1_callStateChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 65: on1_error((*reinterpret_cast< MapStringString(*)>(_a[1]))); break; + case 66: on1_incomingCall((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 67: on1_incomingMessage((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 68: on1_voiceMailNotify((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; + case 69: on1_volumeChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break; + case 70: on1_audioManagerChanged(); break; + case 71: on1_incomingConference((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 72: on1_changingConference((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 73: on1_conferenceRemoved((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 74: changeScreen((*reinterpret_cast< int(*)>(_a[1]))); break; + default: ; + } + _id -= 75; + } + return _id; +} + +// SIGNAL 0 +void SFLPhoneView::statusMessageChangeAsked(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void SFLPhoneView::windowTitleChangeAsked(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void SFLPhoneView::enabledActionsChangeAsked(const bool * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} + +// SIGNAL 3 +void SFLPhoneView::actionIconsChangeAsked(const QString * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 3, _a); +} + +// SIGNAL 4 +void SFLPhoneView::actionTextsChangeAsked(const QString * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 4, _a); +} + +// SIGNAL 5 +void SFLPhoneView::transferCheckStateChangeAsked(bool _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 5, _a); +} + +// SIGNAL 6 +void SFLPhoneView::recordCheckStateChangeAsked(bool _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 6, _a); +} + +// SIGNAL 7 +void SFLPhoneView::addressBookEnableAsked(bool _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 7, _a); +} + +// SIGNAL 8 +void SFLPhoneView::screenChanged(int _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 8, _a); +} + +// SIGNAL 9 +void SFLPhoneView::incomingCall(const Call * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 9, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/SFLPhoneapplication.moc b/sflphone-client-kde/cmake-build/src/SFLPhoneapplication.moc new file mode 100644 index 0000000000000000000000000000000000000000..76f670ee051dd9c1d48eac395b3cda3232f4a2aa --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/SFLPhoneapplication.moc @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'SFLPhoneapplication.h' +** +** Created: Tue Apr 20 14:19:35 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/SFLPhoneapplication.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'SFLPhoneapplication.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_SFLPhoneApplication[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_SFLPhoneApplication[] = { + "SFLPhoneApplication\0" +}; + +const QMetaObject SFLPhoneApplication::staticMetaObject = { + { &KApplication::staticMetaObject, qt_meta_stringdata_SFLPhoneApplication, + qt_meta_data_SFLPhoneApplication, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &SFLPhoneApplication::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *SFLPhoneApplication::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *SFLPhoneApplication::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_SFLPhoneApplication)) + return static_cast<void*>(const_cast< SFLPhoneApplication*>(this)); + return KApplication::qt_metacast(_clname); +} + +int SFLPhoneApplication::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = KApplication::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp new file mode 100644 index 0000000000000000000000000000000000000000..278c19145378ca835598198627afb42992cafa9a --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.cpp @@ -0,0 +1,28 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c CallManagerInterface -i dbus/metatypes.h -p callmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/callmanager-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * This file may have been hand-edited. Look for HAND-EDIT comments + * before re-generating it. + */ + +#include "callmanager_dbus_interface.h" + +/* + * Implementation of interface class CallManagerInterface + */ + +CallManagerInterface::CallManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) + : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) +{ +} + +CallManagerInterface::~CallManagerInterface() +{ +} + + +#include "callmanager_dbus_interface.moc" diff --git a/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h new file mode 100644 index 0000000000000000000000000000000000000000..a68d0feb20ed147eed26d7be0237e425128c7f0b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.h @@ -0,0 +1,313 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c CallManagerInterface -i dbus/metatypes.h -p callmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/callmanager-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * Do not edit! All changes made to it will be lost. + */ + +#ifndef CALLMANAGER_DBUS_INTERFACE_H_1271787581 +#define CALLMANAGER_DBUS_INTERFACE_H_1271787581 + +#include <QtCore/QObject> +#include <QtCore/QByteArray> +#include <QtCore/QList> +#include <QtCore/QMap> +#include <QtCore/QString> +#include <QtCore/QStringList> +#include <QtCore/QVariant> +#include <QtDBus/QtDBus> +#include "dbus/metatypes.h" + +/* + * Proxy class for interface org.sflphone.SFLphone.CallManager + */ +class CallManagerInterface: public QDBusAbstractInterface +{ + Q_OBJECT +public: + static inline const char *staticInterfaceName() + { return "org.sflphone.SFLphone.CallManager"; } + +public: + CallManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0); + + ~CallManagerInterface(); + +public Q_SLOTS: // METHODS + inline QDBusPendingReply<> accept(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("accept"), argumentList); + } + + inline QDBusPendingReply<> acceptEnrollment(const QString &callID, bool accepted) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID) << qVariantFromValue(accepted); + return asyncCallWithArgumentList(QLatin1String("acceptEnrollment"), argumentList); + } + + inline QDBusPendingReply<> addMainParticipant(const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("addMainParticipant"), argumentList); + } + + inline QDBusPendingReply<> addParticipant(const QString &callID, const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID) << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("addParticipant"), argumentList); + } + + inline QDBusPendingReply<> detachParticipant(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("detachParticipant"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getCallDetails(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("getCallDetails"), argumentList); + } + + inline QDBusPendingReply<QStringList> getCallList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getCallList"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getConferenceDetails(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("getConferenceDetails"), argumentList); + } + + inline QDBusPendingReply<QStringList> getConferenceList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getConferenceList"), argumentList); + } + + inline QDBusPendingReply<QString> getCurrentCallID() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getCurrentCallID"), argumentList); + } + + inline QDBusPendingReply<QString> getCurrentCodecName(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("getCurrentCodecName"), argumentList); + } + + inline QDBusPendingReply<bool> getIsRecording(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("getIsRecording"), argumentList); + } + + inline QDBusPendingReply<QStringList> getParticipantList(const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("getParticipantList"), argumentList); + } + + inline QDBusPendingReply<double> getVolume(const QString &device) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(device); + return asyncCallWithArgumentList(QLatin1String("getVolume"), argumentList); + } + + inline QDBusPendingReply<> hangUp(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("hangUp"), argumentList); + } + + inline QDBusPendingReply<> hangUpConference(const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("hangUpConference"), argumentList); + } + + inline QDBusPendingReply<> hold(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("hold"), argumentList); + } + + inline QDBusPendingReply<> holdConference(const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("holdConference"), argumentList); + } + + inline QDBusPendingReply<> joinConference(const QString &sel_confID, const QString &drag_confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(sel_confID) << qVariantFromValue(drag_confID); + return asyncCallWithArgumentList(QLatin1String("joinConference"), argumentList); + } + + inline QDBusPendingReply<> joinParticipant(const QString &sel_callID, const QString &drag_callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(sel_callID) << qVariantFromValue(drag_callID); + return asyncCallWithArgumentList(QLatin1String("joinParticipant"), argumentList); + } + + inline QDBusPendingReply<> placeCall(const QString &accountID, const QString &callID, const QString &to) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(callID) << qVariantFromValue(to); + return asyncCallWithArgumentList(QLatin1String("placeCall"), argumentList); + } + + inline QDBusPendingReply<> placeCallFirstAccount(const QString &callID, const QString &to) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID) << qVariantFromValue(to); + return asyncCallWithArgumentList(QLatin1String("placeCallFirstAccount"), argumentList); + } + + inline QDBusPendingReply<> playDTMF(const QString &key) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(key); + return asyncCallWithArgumentList(QLatin1String("playDTMF"), argumentList); + } + + inline QDBusPendingReply<> refuse(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("refuse"), argumentList); + } + + inline QDBusPendingReply<> requestGoClear(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("requestGoClear"), argumentList); + } + + inline QDBusPendingReply<> resetSASVerified(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("resetSASVerified"), argumentList); + } + + inline QDBusPendingReply<> setConfirmGoClear(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("setConfirmGoClear"), argumentList); + } + + inline QDBusPendingReply<> setPBXEnrollment(const QString &callID, bool yesNo) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID) << qVariantFromValue(yesNo); + return asyncCallWithArgumentList(QLatin1String("setPBXEnrollment"), argumentList); + } + + inline QDBusPendingReply<> setRecording(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("setRecording"), argumentList); + } + + inline QDBusPendingReply<> setSASVerified(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("setSASVerified"), argumentList); + } + + inline QDBusPendingReply<> setVolume(const QString &device, double value) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(device) << qVariantFromValue(value); + return asyncCallWithArgumentList(QLatin1String("setVolume"), argumentList); + } + + inline QDBusPendingReply<> startTone(int start, int type) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(start) << qVariantFromValue(type); + return asyncCallWithArgumentList(QLatin1String("startTone"), argumentList); + } + + inline QDBusPendingReply<> transfert(const QString &callID, const QString &to) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID) << qVariantFromValue(to); + return asyncCallWithArgumentList(QLatin1String("transfert"), argumentList); + } + + inline QDBusPendingReply<> unhold(const QString &callID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(callID); + return asyncCallWithArgumentList(QLatin1String("unhold"), argumentList); + } + + inline QDBusPendingReply<> unholdConference(const QString &confID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(confID); + return asyncCallWithArgumentList(QLatin1String("unholdConference"), argumentList); + } + +Q_SIGNALS: // SIGNALS + void callStateChanged(const QString &callID, const QString &state); + void conferenceChanged(const QString &confID, const QString &state); + void conferenceCreated(const QString &confID); + void conferenceRemoved(const QString &confID); + void confirmGoClear(const QString &callID); + void currentSelectedCodec(const QString &callID, const QString &codecName); + void incomingCall(const QString &accountID, const QString &callID, const QString &from); + void incomingMessage(const QString &accountID, const QString &message); + void registrationStateChanged(const QString &accountID, const QString &state, int code); + void secureSdesOff(const QString &callID); + void secureSdesOn(const QString &callID); + void secureZrtpOff(const QString &callID); + void secureZrtpOn(const QString &callID, const QString &cipher); + void showSAS(const QString &callID, const QString &sas, bool verified); + void sipCallStateChanged(const QString &callID, const QString &state, int code); + void transferFailed(); + void transferSucceded(); + void voiceMailNotify(const QString &accountID, int count); + void volumeChanged(const QString &device, double value); + void zrtpNegotiationFailed(const QString &callID, const QString &reason, const QString &severity); + void zrtpNotSuppOther(const QString &callID); +}; + +namespace org { + namespace sflphone { + namespace SFLphone { + typedef ::CallManagerInterface CallManager; + } + } +} +#endif diff --git a/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.moc b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.moc new file mode 100644 index 0000000000000000000000000000000000000000..93b44d61c295fa7124e9139e0e90e423bbd0783d --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/callmanager_dbus_interface.moc @@ -0,0 +1,426 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'callmanager_dbus_interface.h' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "callmanager_dbus_interface.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'callmanager_dbus_interface.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_CallManagerInterface[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 56, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 21, // signalCount + + // signals: signature, parameters, type, tag, flags + 35, 22, 21, 21, 0x05, + 82, 69, 21, 21, 0x05, + 124, 117, 21, 21, 0x05, + 151, 117, 21, 21, 0x05, + 185, 178, 21, 21, 0x05, + 226, 209, 21, 21, 0x05, + 286, 264, 21, 21, 0x05, + 342, 324, 21, 21, 0x05, + 396, 375, 21, 21, 0x05, + 442, 178, 21, 21, 0x05, + 465, 178, 21, 21, 0x05, + 487, 178, 21, 21, 0x05, + 524, 510, 21, 21, 0x05, + 574, 554, 21, 21, 0x05, + 622, 604, 21, 21, 0x05, + 663, 21, 21, 21, 0x05, + 680, 21, 21, 21, 0x05, + 715, 699, 21, 21, 0x05, + 757, 744, 21, 21, 0x05, + 810, 787, 21, 21, 0x05, + 857, 178, 21, 21, 0x05, + + // slots: signature, parameters, type, tag, flags + 903, 178, 883, 21, 0x0a, + 935, 919, 883, 21, 0x0a, + 966, 117, 883, 21, 0x0a, + 1008, 994, 883, 21, 0x0a, + 1040, 178, 883, 21, 0x0a, + 1102, 178, 1067, 21, 0x0a, + 1157, 21, 1126, 21, 0x0a, + 1171, 178, 1067, 21, 0x0a, + 1201, 21, 1126, 21, 0x0a, + 1248, 21, 1221, 21, 0x0a, + 1267, 178, 1221, 21, 0x0a, + 1320, 178, 1296, 21, 0x0a, + 1344, 117, 1126, 21, 0x0a, + 1405, 1398, 1372, 21, 0x0a, + 1424, 178, 883, 21, 0x0a, + 1440, 117, 883, 21, 0x0a, + 1466, 178, 883, 21, 0x0a, + 1480, 117, 883, 21, 0x0a, + 1527, 1504, 883, 21, 0x0a, + 1582, 1559, 883, 21, 0x0a, + 1635, 1615, 883, 21, 0x0a, + 1680, 1670, 883, 21, 0x0a, + 1723, 1719, 883, 21, 0x0a, + 1741, 178, 883, 21, 0x0a, + 1757, 178, 883, 21, 0x0a, + 1781, 178, 883, 21, 0x0a, + 1807, 178, 883, 21, 0x0a, + 1847, 1834, 883, 21, 0x0a, + 1878, 178, 883, 21, 0x0a, + 1900, 178, 883, 21, 0x0a, + 1924, 744, 883, 21, 0x0a, + 1961, 1950, 883, 21, 0x0a, + 1980, 1670, 883, 21, 0x0a, + 2007, 178, 883, 21, 0x0a, + 2023, 117, 883, 21, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_CallManagerInterface[] = { + "CallManagerInterface\0\0callID,state\0" + "callStateChanged(QString,QString)\0" + "confID,state\0conferenceChanged(QString,QString)\0" + "confID\0conferenceCreated(QString)\0" + "conferenceRemoved(QString)\0callID\0" + "confirmGoClear(QString)\0callID,codecName\0" + "currentSelectedCodec(QString,QString)\0" + "accountID,callID,from\0" + "incomingCall(QString,QString,QString)\0" + "accountID,message\0incomingMessage(QString,QString)\0" + "accountID,state,code\0" + "registrationStateChanged(QString,QString,int)\0" + "secureSdesOff(QString)\0secureSdesOn(QString)\0" + "secureZrtpOff(QString)\0callID,cipher\0" + "secureZrtpOn(QString,QString)\0" + "callID,sas,verified\0showSAS(QString,QString,bool)\0" + "callID,state,code\0" + "sipCallStateChanged(QString,QString,int)\0" + "transferFailed()\0transferSucceded()\0" + "accountID,count\0voiceMailNotify(QString,int)\0" + "device,value\0volumeChanged(QString,double)\0" + "callID,reason,severity\0" + "zrtpNegotiationFailed(QString,QString,QString)\0" + "zrtpNotSuppOther(QString)\0QDBusPendingReply<>\0" + "accept(QString)\0callID,accepted\0" + "acceptEnrollment(QString,bool)\0" + "addMainParticipant(QString)\0callID,confID\0" + "addParticipant(QString,QString)\0" + "detachParticipant(QString)\0" + "QDBusPendingReply<MapStringString>\0" + "getCallDetails(QString)\0" + "QDBusPendingReply<QStringList>\0" + "getCallList()\0getConferenceDetails(QString)\0" + "getConferenceList()\0QDBusPendingReply<QString>\0" + "getCurrentCallID()\0getCurrentCodecName(QString)\0" + "QDBusPendingReply<bool>\0getIsRecording(QString)\0" + "getParticipantList(QString)\0" + "QDBusPendingReply<double>\0device\0" + "getVolume(QString)\0hangUp(QString)\0" + "hangUpConference(QString)\0hold(QString)\0" + "holdConference(QString)\0sel_confID,drag_confID\0" + "joinConference(QString,QString)\0" + "sel_callID,drag_callID\0" + "joinParticipant(QString,QString)\0" + "accountID,callID,to\0" + "placeCall(QString,QString,QString)\0" + "callID,to\0placeCallFirstAccount(QString,QString)\0" + "key\0playDTMF(QString)\0refuse(QString)\0" + "requestGoClear(QString)\0" + "resetSASVerified(QString)\0" + "setConfirmGoClear(QString)\0callID,yesNo\0" + "setPBXEnrollment(QString,bool)\0" + "setRecording(QString)\0setSASVerified(QString)\0" + "setVolume(QString,double)\0start,type\0" + "startTone(int,int)\0transfert(QString,QString)\0" + "unhold(QString)\0unholdConference(QString)\0" +}; + +const QMetaObject CallManagerInterface::staticMetaObject = { + { &QDBusAbstractInterface::staticMetaObject, qt_meta_stringdata_CallManagerInterface, + qt_meta_data_CallManagerInterface, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &CallManagerInterface::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *CallManagerInterface::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *CallManagerInterface::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_CallManagerInterface)) + return static_cast<void*>(const_cast< CallManagerInterface*>(this)); + return QDBusAbstractInterface::qt_metacast(_clname); +} + +int CallManagerInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDBusAbstractInterface::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: callStateChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 1: conferenceChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 2: conferenceCreated((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 3: conferenceRemoved((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 4: confirmGoClear((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 5: currentSelectedCodec((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 6: incomingCall((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; + case 7: incomingMessage((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 8: registrationStateChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; + case 9: secureSdesOff((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 10: secureSdesOn((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 11: secureZrtpOff((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 12: secureZrtpOn((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; + case 13: showSAS((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< bool(*)>(_a[3]))); break; + case 14: sipCallStateChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; + case 15: transferFailed(); break; + case 16: transferSucceded(); break; + case 17: voiceMailNotify((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; + case 18: volumeChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break; + case 19: zrtpNegotiationFailed((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; + case 20: zrtpNotSuppOther((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 21: { QDBusPendingReply<> _r = accept((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 22: { QDBusPendingReply<> _r = acceptEnrollment((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 23: { QDBusPendingReply<> _r = addMainParticipant((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 24: { QDBusPendingReply<> _r = addParticipant((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 25: { QDBusPendingReply<> _r = detachParticipant((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 26: { QDBusPendingReply<MapStringString> _r = getCallDetails((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 27: { QDBusPendingReply<QStringList> _r = getCallList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 28: { QDBusPendingReply<MapStringString> _r = getConferenceDetails((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 29: { QDBusPendingReply<QStringList> _r = getConferenceList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 30: { QDBusPendingReply<QString> _r = getCurrentCallID(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 31: { QDBusPendingReply<QString> _r = getCurrentCodecName((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 32: { QDBusPendingReply<bool> _r = getIsRecording((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<bool>*>(_a[0]) = _r; } break; + case 33: { QDBusPendingReply<QStringList> _r = getParticipantList((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 34: { QDBusPendingReply<double> _r = getVolume((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<double>*>(_a[0]) = _r; } break; + case 35: { QDBusPendingReply<> _r = hangUp((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 36: { QDBusPendingReply<> _r = hangUpConference((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 37: { QDBusPendingReply<> _r = hold((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 38: { QDBusPendingReply<> _r = holdConference((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 39: { QDBusPendingReply<> _r = joinConference((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 40: { QDBusPendingReply<> _r = joinParticipant((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 41: { QDBusPendingReply<> _r = placeCall((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 42: { QDBusPendingReply<> _r = placeCallFirstAccount((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 43: { QDBusPendingReply<> _r = playDTMF((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 44: { QDBusPendingReply<> _r = refuse((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 45: { QDBusPendingReply<> _r = requestGoClear((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 46: { QDBusPendingReply<> _r = resetSASVerified((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 47: { QDBusPendingReply<> _r = setConfirmGoClear((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 48: { QDBusPendingReply<> _r = setPBXEnrollment((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 49: { QDBusPendingReply<> _r = setRecording((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 50: { QDBusPendingReply<> _r = setSASVerified((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 51: { QDBusPendingReply<> _r = setVolume((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 52: { QDBusPendingReply<> _r = startTone((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 53: { QDBusPendingReply<> _r = transfert((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 54: { QDBusPendingReply<> _r = unhold((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 55: { QDBusPendingReply<> _r = unholdConference((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + default: ; + } + _id -= 56; + } + return _id; +} + +// SIGNAL 0 +void CallManagerInterface::callStateChanged(const QString & _t1, const QString & _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void CallManagerInterface::conferenceChanged(const QString & _t1, const QString & _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void CallManagerInterface::conferenceCreated(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} + +// SIGNAL 3 +void CallManagerInterface::conferenceRemoved(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 3, _a); +} + +// SIGNAL 4 +void CallManagerInterface::confirmGoClear(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 4, _a); +} + +// SIGNAL 5 +void CallManagerInterface::currentSelectedCodec(const QString & _t1, const QString & _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 5, _a); +} + +// SIGNAL 6 +void CallManagerInterface::incomingCall(const QString & _t1, const QString & _t2, const QString & _t3) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) }; + QMetaObject::activate(this, &staticMetaObject, 6, _a); +} + +// SIGNAL 7 +void CallManagerInterface::incomingMessage(const QString & _t1, const QString & _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 7, _a); +} + +// SIGNAL 8 +void CallManagerInterface::registrationStateChanged(const QString & _t1, const QString & _t2, int _t3) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) }; + QMetaObject::activate(this, &staticMetaObject, 8, _a); +} + +// SIGNAL 9 +void CallManagerInterface::secureSdesOff(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 9, _a); +} + +// SIGNAL 10 +void CallManagerInterface::secureSdesOn(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 10, _a); +} + +// SIGNAL 11 +void CallManagerInterface::secureZrtpOff(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 11, _a); +} + +// SIGNAL 12 +void CallManagerInterface::secureZrtpOn(const QString & _t1, const QString & _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 12, _a); +} + +// SIGNAL 13 +void CallManagerInterface::showSAS(const QString & _t1, const QString & _t2, bool _t3) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) }; + QMetaObject::activate(this, &staticMetaObject, 13, _a); +} + +// SIGNAL 14 +void CallManagerInterface::sipCallStateChanged(const QString & _t1, const QString & _t2, int _t3) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) }; + QMetaObject::activate(this, &staticMetaObject, 14, _a); +} + +// SIGNAL 15 +void CallManagerInterface::transferFailed() +{ + QMetaObject::activate(this, &staticMetaObject, 15, 0); +} + +// SIGNAL 16 +void CallManagerInterface::transferSucceded() +{ + QMetaObject::activate(this, &staticMetaObject, 16, 0); +} + +// SIGNAL 17 +void CallManagerInterface::voiceMailNotify(const QString & _t1, int _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 17, _a); +} + +// SIGNAL 18 +void CallManagerInterface::volumeChanged(const QString & _t1, double _t2) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; + QMetaObject::activate(this, &staticMetaObject, 18, _a); +} + +// SIGNAL 19 +void CallManagerInterface::zrtpNegotiationFailed(const QString & _t1, const QString & _t2, const QString & _t3) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) }; + QMetaObject::activate(this, &staticMetaObject, 19, _a); +} + +// SIGNAL 20 +void CallManagerInterface::zrtpNotSuppOther(const QString & _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 20, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/cmake_install.cmake b/sflphone-client-kde/cmake-build/src/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f6d16c796c3e35fa53e54c1db83faabf0f14f515 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/cmake_install.cmake @@ -0,0 +1,56 @@ +# Install script for directory: /home/emmanuel/sflphone/sflphone-client-kde/src + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + FILE(INSTALL DESTINATION "/usr/local/share/config.kcfg" TYPE FILE FILES "/home/emmanuel/sflphone/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + +IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + IF(EXISTS "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde") + FILE(RPATH_CHECK + FILE "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde" + RPATH "/usr/local/lib") + ENDIF(EXISTS "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde") + FILE(INSTALL DESTINATION "/usr/local/bin" TYPE EXECUTABLE FILES "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde") + IF(EXISTS "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde") + FILE(RPATH_CHANGE + FILE "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde" + OLD_RPATH "::::::::::::::" + NEW_RPATH "/usr/local/lib") + IF(CMAKE_INSTALL_DO_STRIP) + EXECUTE_PROCESS(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde") + ENDIF(CMAKE_INSTALL_DO_STRIP) + ENDIF(EXISTS "$ENV{DESTDIR}/usr/local/bin/sflphone-client-kde") +ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") + diff --git a/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp new file mode 100644 index 0000000000000000000000000000000000000000..865b5fb0cb76cbb3efd57d1f9661782a99ee983c --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.cpp @@ -0,0 +1,28 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c ConfigurationManagerInterface -i dbus/metatypes.h -p configurationmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * This file may have been hand-edited. Look for HAND-EDIT comments + * before re-generating it. + */ + +#include "configurationmanager_dbus_interface.h" + +/* + * Implementation of interface class ConfigurationManagerInterface + */ + +ConfigurationManagerInterface::ConfigurationManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) + : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) +{ +} + +ConfigurationManagerInterface::~ConfigurationManagerInterface() +{ +} + + +#include "configurationmanager_dbus_interface.moc" diff --git a/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h new file mode 100644 index 0000000000000000000000000000000000000000..bddcf51fff3acfb182742c5b81184916a0178623 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.h @@ -0,0 +1,632 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c ConfigurationManagerInterface -i dbus/metatypes.h -p configurationmanager_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * Do not edit! All changes made to it will be lost. + */ + +#ifndef CONFIGURATIONMANAGER_DBUS_INTERFACE_H_1271787581 +#define CONFIGURATIONMANAGER_DBUS_INTERFACE_H_1271787581 + +#include <QtCore/QObject> +#include <QtCore/QByteArray> +#include <QtCore/QList> +#include <QtCore/QMap> +#include <QtCore/QString> +#include <QtCore/QStringList> +#include <QtCore/QVariant> +#include <QtDBus/QtDBus> +#include "dbus/metatypes.h" + +/* + * Proxy class for interface org.sflphone.SFLphone.ConfigurationManager + */ +class ConfigurationManagerInterface: public QDBusAbstractInterface +{ + Q_OBJECT +public: + static inline const char *staticInterfaceName() + { return "org.sflphone.SFLphone.ConfigurationManager"; } + +public: + ConfigurationManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0); + + ~ConfigurationManagerInterface(); + +public Q_SLOTS: // METHODS + inline QDBusPendingReply<QString> addAccount(MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(details); + return asyncCallWithArgumentList(QLatin1String("addAccount"), argumentList); + } + + inline QDBusPendingReply<> deleteAllCredential(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("deleteAllCredential"), argumentList); + } + + inline QDBusPendingReply<> enableStatusIcon(const QString &value) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(value); + return asyncCallWithArgumentList(QLatin1String("enableStatusIcon"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getAccountDetails(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("getAccountDetails"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAccountList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAccountList"), argumentList); + } + + inline QDBusPendingReply<QStringList> getActiveCodecList(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("getActiveCodecList"), argumentList); + } + + inline QDBusPendingReply<QString> getAddrFromInterfaceName(const QString &interface) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(interface); + return asyncCallWithArgumentList(QLatin1String("getAddrFromInterfaceName"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAddressbookList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAddressbookList"), argumentList); + } + + inline QDBusPendingReply<MapStringInt> getAddressbookSettings() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAddressbookSettings"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAllIpInterface() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAllIpInterface"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAllIpInterfaceByName() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAllIpInterfaceByName"), argumentList); + } + + inline QDBusPendingReply<int> getAudioDeviceIndex(const QString &name) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(name); + return asyncCallWithArgumentList(QLatin1String("getAudioDeviceIndex"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAudioInputDeviceList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAudioInputDeviceList"), argumentList); + } + + inline QDBusPendingReply<int> getAudioManager() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAudioManager"), argumentList); + } + + inline QDBusPendingReply<QStringList> getAudioOutputDeviceList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getAudioOutputDeviceList"), argumentList); + } + + inline QDBusPendingReply<QStringList> getCodecDetails(int payload) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(payload); + return asyncCallWithArgumentList(QLatin1String("getCodecDetails"), argumentList); + } + + inline QDBusPendingReply<QStringList> getCodecList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getCodecList"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getCredential(const QString &accountID, int index) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(index); + return asyncCallWithArgumentList(QLatin1String("getCredential"), argumentList); + } + + inline QDBusPendingReply<QStringList> getCurrentAudioDevicesIndex() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getCurrentAudioDevicesIndex"), argumentList); + } + + inline QDBusPendingReply<QString> getCurrentAudioOutputPlugin() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getCurrentAudioOutputPlugin"), argumentList); + } + + inline QDBusPendingReply<int> getDialpad() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getDialpad"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getHistory() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getHistory"), argumentList); + } + + inline QDBusPendingReply<QString> getHistoryEnabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getHistoryEnabled"), argumentList); + } + + inline QDBusPendingReply<int> getHistoryLimit() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getHistoryLimit"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getHookSettings() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getHookSettings"), argumentList); + } + + inline QDBusPendingReply<QStringList> getInputAudioPluginList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getInputAudioPluginList"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getIp2IpDetails() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getIp2IpDetails"), argumentList); + } + + inline QDBusPendingReply<int> getMailNotify() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getMailNotify"), argumentList); + } + + inline QDBusPendingReply<int> getNotify() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getNotify"), argumentList); + } + + inline QDBusPendingReply<int> getNumberOfCredential(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("getNumberOfCredential"), argumentList); + } + + inline QDBusPendingReply<QStringList> getOutputAudioPluginList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getOutputAudioPluginList"), argumentList); + } + + inline QDBusPendingReply<QStringList> getPlaybackDeviceList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getPlaybackDeviceList"), argumentList); + } + + inline QDBusPendingReply<QStringList> getRecordDeviceList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getRecordDeviceList"), argumentList); + } + + inline QDBusPendingReply<QString> getRecordPath() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getRecordPath"), argumentList); + } + + inline QDBusPendingReply<QString> getRingtoneChoice() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getRingtoneChoice"), argumentList); + } + + inline QDBusPendingReply<QStringList> getRingtoneList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getRingtoneList"), argumentList); + } + + inline QDBusPendingReply<int> getSearchbar() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getSearchbar"), argumentList); + } + + inline QDBusPendingReply<MapStringInt> getShortcuts() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getShortcuts"), argumentList); + } + + inline QDBusPendingReply<QStringList> getSupportedTlsMethod() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getSupportedTlsMethod"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getTlsSettings(const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("getTlsSettings"), argumentList); + } + + inline QDBusPendingReply<MapStringString> getTlsSettingsDefault() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getTlsSettingsDefault"), argumentList); + } + + inline QDBusPendingReply<QStringList> getToneLocaleList() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getToneLocaleList"), argumentList); + } + + inline QDBusPendingReply<QString> getVersion() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getVersion"), argumentList); + } + + inline QDBusPendingReply<int> getVolumeControls() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getVolumeControls"), argumentList); + } + + inline QDBusPendingReply<int> getWindowHeight() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getWindowHeight"), argumentList); + } + + inline QDBusPendingReply<int> getWindowPositionX() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getWindowPositionX"), argumentList); + } + + inline QDBusPendingReply<int> getWindowPositionY() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getWindowPositionY"), argumentList); + } + + inline QDBusPendingReply<int> getWindowWidth() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getWindowWidth"), argumentList); + } + + inline QDBusPendingReply<int> isIax2Enabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("isIax2Enabled"), argumentList); + } + + inline QDBusPendingReply<bool> isMd5CredentialHashing() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("isMd5CredentialHashing"), argumentList); + } + + inline QDBusPendingReply<int> isRingtoneEnabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("isRingtoneEnabled"), argumentList); + } + + inline QDBusPendingReply<int> isStartHidden() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("isStartHidden"), argumentList); + } + + inline QDBusPendingReply<QString> isStatusIconEnabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("isStatusIconEnabled"), argumentList); + } + + inline QDBusPendingReply<int> popupMode() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("popupMode"), argumentList); + } + + inline QDBusPendingReply<> removeAccount(const QString &accoundID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accoundID); + return asyncCallWithArgumentList(QLatin1String("removeAccount"), argumentList); + } + + inline QDBusPendingReply<> ringtoneEnabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("ringtoneEnabled"), argumentList); + } + + inline QDBusPendingReply<> sendRegister(const QString &accountID, int expire) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(expire); + return asyncCallWithArgumentList(QLatin1String("sendRegister"), argumentList); + } + + inline QDBusPendingReply<> setAccountDetails(const QString &accountID, MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(details); + return asyncCallWithArgumentList(QLatin1String("setAccountDetails"), argumentList); + } + + inline QDBusPendingReply<> setAccountsOrder(const QString &order) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(order); + return asyncCallWithArgumentList(QLatin1String("setAccountsOrder"), argumentList); + } + + inline QDBusPendingReply<> setActiveCodecList(const QStringList &list, const QString &accountID) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(list) << qVariantFromValue(accountID); + return asyncCallWithArgumentList(QLatin1String("setActiveCodecList"), argumentList); + } + + inline QDBusPendingReply<> setAddressbookList(const QStringList &settings) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(settings); + return asyncCallWithArgumentList(QLatin1String("setAddressbookList"), argumentList); + } + + inline QDBusPendingReply<> setAddressbookSettings(MapStringInt settings) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(settings); + return asyncCallWithArgumentList(QLatin1String("setAddressbookSettings"), argumentList); + } + + inline QDBusPendingReply<> setAudioInputDevice(int index) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(index); + return asyncCallWithArgumentList(QLatin1String("setAudioInputDevice"), argumentList); + } + + inline QDBusPendingReply<> setAudioManager(int api) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(api); + return asyncCallWithArgumentList(QLatin1String("setAudioManager"), argumentList); + } + + inline QDBusPendingReply<> setAudioOutputDevice(int index) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(index); + return asyncCallWithArgumentList(QLatin1String("setAudioOutputDevice"), argumentList); + } + + inline QDBusPendingReply<> setCredential(const QString &accountID, int index, MapStringString credentialInformation) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(index) << qVariantFromValue(credentialInformation); + return asyncCallWithArgumentList(QLatin1String("setCredential"), argumentList); + } + + inline QDBusPendingReply<> setDialpad(bool display) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(display); + return asyncCallWithArgumentList(QLatin1String("setDialpad"), argumentList); + } + + inline QDBusPendingReply<> setHistory(MapStringString entries) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(entries); + return asyncCallWithArgumentList(QLatin1String("setHistory"), argumentList); + } + + inline QDBusPendingReply<> setHistoryEnabled() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("setHistoryEnabled"), argumentList); + } + + inline QDBusPendingReply<> setHistoryLimit(int days) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(days); + return asyncCallWithArgumentList(QLatin1String("setHistoryLimit"), argumentList); + } + + inline QDBusPendingReply<> setHookSettings(MapStringString settings) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(settings); + return asyncCallWithArgumentList(QLatin1String("setHookSettings"), argumentList); + } + + inline QDBusPendingReply<> setInputAudioPlugin(const QString &audioPlugin) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(audioPlugin); + return asyncCallWithArgumentList(QLatin1String("setInputAudioPlugin"), argumentList); + } + + inline QDBusPendingReply<> setIp2IpDetails(MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(details); + return asyncCallWithArgumentList(QLatin1String("setIp2IpDetails"), argumentList); + } + + inline QDBusPendingReply<> setMailNotify() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("setMailNotify"), argumentList); + } + + inline QDBusPendingReply<> setMd5CredentialHashing(bool enabled) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(enabled); + return asyncCallWithArgumentList(QLatin1String("setMd5CredentialHashing"), argumentList); + } + + inline QDBusPendingReply<> setNotify() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("setNotify"), argumentList); + } + + inline QDBusPendingReply<> setNumberOfCredential(const QString &accountID, int number) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(number); + return asyncCallWithArgumentList(QLatin1String("setNumberOfCredential"), argumentList); + } + + inline QDBusPendingReply<> setOutputAudioPlugin(const QString &audioPlugin) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(audioPlugin); + return asyncCallWithArgumentList(QLatin1String("setOutputAudioPlugin"), argumentList); + } + + inline QDBusPendingReply<> setRecordPath(const QString &rec) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(rec); + return asyncCallWithArgumentList(QLatin1String("setRecordPath"), argumentList); + } + + inline QDBusPendingReply<> setRingtoneChoice(const QString &tone) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(tone); + return asyncCallWithArgumentList(QLatin1String("setRingtoneChoice"), argumentList); + } + + inline QDBusPendingReply<> setSearchbar() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("setSearchbar"), argumentList); + } + + inline QDBusPendingReply<> setShortcuts(MapStringInt shortcutsMap) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(shortcutsMap); + return asyncCallWithArgumentList(QLatin1String("setShortcuts"), argumentList); + } + + inline QDBusPendingReply<> setTlsSettings(const QString &accountID, MapStringString details) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(accountID) << qVariantFromValue(details); + return asyncCallWithArgumentList(QLatin1String("setTlsSettings"), argumentList); + } + + inline QDBusPendingReply<> setVolumeControls(bool display) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(display); + return asyncCallWithArgumentList(QLatin1String("setVolumeControls"), argumentList); + } + + inline QDBusPendingReply<> setWindowHeight(int height) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(height); + return asyncCallWithArgumentList(QLatin1String("setWindowHeight"), argumentList); + } + + inline QDBusPendingReply<> setWindowPositionX(int posX) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(posX); + return asyncCallWithArgumentList(QLatin1String("setWindowPositionX"), argumentList); + } + + inline QDBusPendingReply<> setWindowPositionY(int posY) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(posY); + return asyncCallWithArgumentList(QLatin1String("setWindowPositionY"), argumentList); + } + + inline QDBusPendingReply<> setWindowWidth(int width) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(width); + return asyncCallWithArgumentList(QLatin1String("setWindowWidth"), argumentList); + } + + inline QDBusPendingReply<> startHidden() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("startHidden"), argumentList); + } + + inline QDBusPendingReply<> switchPopupMode() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("switchPopupMode"), argumentList); + } + +Q_SIGNALS: // SIGNALS + void accountsChanged(); + void errorAlert(int code); +}; + +namespace org { + namespace sflphone { + namespace SFLphone { + typedef ::ConfigurationManagerInterface ConfigurationManager; + } + } +} +#endif diff --git a/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.moc b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.moc new file mode 100644 index 0000000000000000000000000000000000000000..7318d157b03a93b1ee95427badaffd4a5f80fc76 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/configurationmanager_dbus_interface.moc @@ -0,0 +1,439 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'configurationmanager_dbus_interface.h' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "configurationmanager_dbus_interface.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'configurationmanager_dbus_interface.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ConfigurationManagerInterface[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 92, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: signature, parameters, type, tag, flags + 31, 30, 30, 30, 0x05, + 54, 49, 30, 30, 0x05, + + // slots: signature, parameters, type, tag, flags + 105, 97, 70, 30, 0x0a, + 163, 153, 133, 30, 0x0a, + 198, 192, 133, 30, 0x0a, + 259, 153, 224, 30, 0x0a, + 317, 30, 286, 30, 0x0a, + 334, 153, 286, 30, 0x0a, + 372, 362, 70, 30, 0x0a, + 406, 30, 286, 30, 0x0a, + 459, 30, 427, 30, 0x0a, + 484, 30, 286, 30, 0x0a, + 504, 30, 286, 30, 0x0a, + 558, 553, 530, 30, 0x0a, + 587, 30, 286, 30, 0x0a, + 613, 30, 530, 30, 0x0a, + 631, 30, 286, 30, 0x0a, + 666, 658, 286, 30, 0x0a, + 687, 30, 286, 30, 0x0a, + 718, 702, 224, 30, 0x0a, + 745, 30, 286, 30, 0x0a, + 775, 30, 70, 30, 0x0a, + 805, 30, 530, 30, 0x0a, + 818, 30, 224, 30, 0x0a, + 831, 30, 70, 30, 0x0a, + 851, 30, 530, 30, 0x0a, + 869, 30, 224, 30, 0x0a, + 887, 30, 286, 30, 0x0a, + 913, 30, 224, 30, 0x0a, + 931, 30, 530, 30, 0x0a, + 947, 30, 530, 30, 0x0a, + 959, 153, 530, 30, 0x0a, + 990, 30, 286, 30, 0x0a, + 1017, 30, 286, 30, 0x0a, + 1041, 30, 286, 30, 0x0a, + 1063, 30, 70, 30, 0x0a, + 1079, 30, 70, 30, 0x0a, + 1099, 30, 286, 30, 0x0a, + 1117, 30, 530, 30, 0x0a, + 1132, 30, 427, 30, 0x0a, + 1147, 30, 286, 30, 0x0a, + 1171, 153, 224, 30, 0x0a, + 1195, 30, 224, 30, 0x0a, + 1219, 30, 286, 30, 0x0a, + 1239, 30, 70, 30, 0x0a, + 1252, 30, 530, 30, 0x0a, + 1272, 30, 530, 30, 0x0a, + 1290, 30, 530, 30, 0x0a, + 1311, 30, 530, 30, 0x0a, + 1332, 30, 530, 30, 0x0a, + 1349, 30, 530, 30, 0x0a, + 1389, 30, 1365, 30, 0x0a, + 1414, 30, 530, 30, 0x0a, + 1434, 30, 530, 30, 0x0a, + 1450, 30, 70, 30, 0x0a, + 1472, 30, 530, 30, 0x0a, + 1494, 1484, 133, 30, 0x0a, + 1517, 30, 133, 30, 0x0a, + 1552, 1535, 133, 30, 0x0a, + 1596, 1578, 133, 30, 0x0a, + 1645, 1639, 133, 30, 0x0a, + 1686, 1671, 133, 30, 0x0a, + 1735, 1726, 133, 30, 0x0a, + 1767, 1726, 133, 30, 0x0a, + 1810, 1804, 133, 30, 0x0a, + 1839, 1835, 133, 30, 0x0a, + 1860, 1804, 133, 30, 0x0a, + 1924, 1886, 133, 30, 0x0a, + 1975, 1967, 133, 30, 0x0a, + 2000, 1992, 133, 30, 0x0a, + 2028, 30, 133, 30, 0x0a, + 2053, 2048, 133, 30, 0x0a, + 2074, 1726, 133, 30, 0x0a, + 2119, 2107, 133, 30, 0x0a, + 2148, 97, 133, 30, 0x0a, + 2181, 30, 133, 30, 0x0a, + 2205, 2197, 133, 30, 0x0a, + 2235, 30, 133, 30, 0x0a, + 2264, 2247, 133, 30, 0x0a, + 2299, 2107, 133, 30, 0x0a, + 2333, 2329, 133, 30, 0x0a, + 2361, 2356, 133, 30, 0x0a, + 2388, 30, 133, 30, 0x0a, + 2416, 2403, 133, 30, 0x0a, + 2443, 1578, 133, 30, 0x0a, + 2483, 1967, 133, 30, 0x0a, + 2514, 2507, 133, 30, 0x0a, + 2540, 2535, 133, 30, 0x0a, + 2569, 2564, 133, 30, 0x0a, + 2599, 2593, 133, 30, 0x0a, + 2619, 30, 133, 30, 0x0a, + 2633, 30, 133, 30, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_ConfigurationManagerInterface[] = { + "ConfigurationManagerInterface\0\0" + "accountsChanged()\0code\0errorAlert(int)\0" + "QDBusPendingReply<QString>\0details\0" + "addAccount(MapStringString)\0" + "QDBusPendingReply<>\0accountID\0" + "deleteAllCredential(QString)\0value\0" + "enableStatusIcon(QString)\0" + "QDBusPendingReply<MapStringString>\0" + "getAccountDetails(QString)\0" + "QDBusPendingReply<QStringList>\0" + "getAccountList()\0getActiveCodecList(QString)\0" + "interface\0getAddrFromInterfaceName(QString)\0" + "getAddressbookList()\0" + "QDBusPendingReply<MapStringInt>\0" + "getAddressbookSettings()\0getAllIpInterface()\0" + "getAllIpInterfaceByName()\0" + "QDBusPendingReply<int>\0name\0" + "getAudioDeviceIndex(QString)\0" + "getAudioInputDeviceList()\0getAudioManager()\0" + "getAudioOutputDeviceList()\0payload\0" + "getCodecDetails(int)\0getCodecList()\0" + "accountID,index\0getCredential(QString,int)\0" + "getCurrentAudioDevicesIndex()\0" + "getCurrentAudioOutputPlugin()\0" + "getDialpad()\0getHistory()\0getHistoryEnabled()\0" + "getHistoryLimit()\0getHookSettings()\0" + "getInputAudioPluginList()\0getIp2IpDetails()\0" + "getMailNotify()\0getNotify()\0" + "getNumberOfCredential(QString)\0" + "getOutputAudioPluginList()\0" + "getPlaybackDeviceList()\0getRecordDeviceList()\0" + "getRecordPath()\0getRingtoneChoice()\0" + "getRingtoneList()\0getSearchbar()\0" + "getShortcuts()\0getSupportedTlsMethod()\0" + "getTlsSettings(QString)\0getTlsSettingsDefault()\0" + "getToneLocaleList()\0getVersion()\0" + "getVolumeControls()\0getWindowHeight()\0" + "getWindowPositionX()\0getWindowPositionY()\0" + "getWindowWidth()\0isIax2Enabled()\0" + "QDBusPendingReply<bool>\0" + "isMd5CredentialHashing()\0isRingtoneEnabled()\0" + "isStartHidden()\0isStatusIconEnabled()\0" + "popupMode()\0accoundID\0removeAccount(QString)\0" + "ringtoneEnabled()\0accountID,expire\0" + "sendRegister(QString,int)\0accountID,details\0" + "setAccountDetails(QString,MapStringString)\0" + "order\0setAccountsOrder(QString)\0" + "list,accountID\0setActiveCodecList(QStringList,QString)\0" + "settings\0setAddressbookList(QStringList)\0" + "setAddressbookSettings(MapStringInt)\0" + "index\0setAudioInputDevice(int)\0api\0" + "setAudioManager(int)\0setAudioOutputDevice(int)\0" + "accountID,index,credentialInformation\0" + "setCredential(QString,int,MapStringString)\0" + "display\0setDialpad(bool)\0entries\0" + "setHistory(MapStringString)\0" + "setHistoryEnabled()\0days\0setHistoryLimit(int)\0" + "setHookSettings(MapStringString)\0" + "audioPlugin\0setInputAudioPlugin(QString)\0" + "setIp2IpDetails(MapStringString)\0" + "setMailNotify()\0enabled\0" + "setMd5CredentialHashing(bool)\0setNotify()\0" + "accountID,number\0setNumberOfCredential(QString,int)\0" + "setOutputAudioPlugin(QString)\0rec\0" + "setRecordPath(QString)\0tone\0" + "setRingtoneChoice(QString)\0setSearchbar()\0" + "shortcutsMap\0setShortcuts(MapStringInt)\0" + "setTlsSettings(QString,MapStringString)\0" + "setVolumeControls(bool)\0height\0" + "setWindowHeight(int)\0posX\0" + "setWindowPositionX(int)\0posY\0" + "setWindowPositionY(int)\0width\0" + "setWindowWidth(int)\0startHidden()\0" + "switchPopupMode()\0" +}; + +const QMetaObject ConfigurationManagerInterface::staticMetaObject = { + { &QDBusAbstractInterface::staticMetaObject, qt_meta_stringdata_ConfigurationManagerInterface, + qt_meta_data_ConfigurationManagerInterface, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ConfigurationManagerInterface::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ConfigurationManagerInterface::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ConfigurationManagerInterface::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ConfigurationManagerInterface)) + return static_cast<void*>(const_cast< ConfigurationManagerInterface*>(this)); + return QDBusAbstractInterface::qt_metacast(_clname); +} + +int ConfigurationManagerInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDBusAbstractInterface::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: accountsChanged(); break; + case 1: errorAlert((*reinterpret_cast< int(*)>(_a[1]))); break; + case 2: { QDBusPendingReply<QString> _r = addAccount((*reinterpret_cast< MapStringString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 3: { QDBusPendingReply<> _r = deleteAllCredential((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 4: { QDBusPendingReply<> _r = enableStatusIcon((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 5: { QDBusPendingReply<MapStringString> _r = getAccountDetails((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 6: { QDBusPendingReply<QStringList> _r = getAccountList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 7: { QDBusPendingReply<QStringList> _r = getActiveCodecList((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 8: { QDBusPendingReply<QString> _r = getAddrFromInterfaceName((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 9: { QDBusPendingReply<QStringList> _r = getAddressbookList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 10: { QDBusPendingReply<MapStringInt> _r = getAddressbookSettings(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringInt>*>(_a[0]) = _r; } break; + case 11: { QDBusPendingReply<QStringList> _r = getAllIpInterface(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 12: { QDBusPendingReply<QStringList> _r = getAllIpInterfaceByName(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 13: { QDBusPendingReply<int> _r = getAudioDeviceIndex((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 14: { QDBusPendingReply<QStringList> _r = getAudioInputDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 15: { QDBusPendingReply<int> _r = getAudioManager(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 16: { QDBusPendingReply<QStringList> _r = getAudioOutputDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 17: { QDBusPendingReply<QStringList> _r = getCodecDetails((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 18: { QDBusPendingReply<QStringList> _r = getCodecList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 19: { QDBusPendingReply<MapStringString> _r = getCredential((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 20: { QDBusPendingReply<QStringList> _r = getCurrentAudioDevicesIndex(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 21: { QDBusPendingReply<QString> _r = getCurrentAudioOutputPlugin(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 22: { QDBusPendingReply<int> _r = getDialpad(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 23: { QDBusPendingReply<MapStringString> _r = getHistory(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 24: { QDBusPendingReply<QString> _r = getHistoryEnabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 25: { QDBusPendingReply<int> _r = getHistoryLimit(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 26: { QDBusPendingReply<MapStringString> _r = getHookSettings(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 27: { QDBusPendingReply<QStringList> _r = getInputAudioPluginList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 28: { QDBusPendingReply<MapStringString> _r = getIp2IpDetails(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 29: { QDBusPendingReply<int> _r = getMailNotify(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 30: { QDBusPendingReply<int> _r = getNotify(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 31: { QDBusPendingReply<int> _r = getNumberOfCredential((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 32: { QDBusPendingReply<QStringList> _r = getOutputAudioPluginList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 33: { QDBusPendingReply<QStringList> _r = getPlaybackDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 34: { QDBusPendingReply<QStringList> _r = getRecordDeviceList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 35: { QDBusPendingReply<QString> _r = getRecordPath(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 36: { QDBusPendingReply<QString> _r = getRingtoneChoice(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 37: { QDBusPendingReply<QStringList> _r = getRingtoneList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 38: { QDBusPendingReply<int> _r = getSearchbar(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 39: { QDBusPendingReply<MapStringInt> _r = getShortcuts(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringInt>*>(_a[0]) = _r; } break; + case 40: { QDBusPendingReply<QStringList> _r = getSupportedTlsMethod(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 41: { QDBusPendingReply<MapStringString> _r = getTlsSettings((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 42: { QDBusPendingReply<MapStringString> _r = getTlsSettingsDefault(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<MapStringString>*>(_a[0]) = _r; } break; + case 43: { QDBusPendingReply<QStringList> _r = getToneLocaleList(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QStringList>*>(_a[0]) = _r; } break; + case 44: { QDBusPendingReply<QString> _r = getVersion(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 45: { QDBusPendingReply<int> _r = getVolumeControls(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 46: { QDBusPendingReply<int> _r = getWindowHeight(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 47: { QDBusPendingReply<int> _r = getWindowPositionX(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 48: { QDBusPendingReply<int> _r = getWindowPositionY(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 49: { QDBusPendingReply<int> _r = getWindowWidth(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 50: { QDBusPendingReply<int> _r = isIax2Enabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 51: { QDBusPendingReply<bool> _r = isMd5CredentialHashing(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<bool>*>(_a[0]) = _r; } break; + case 52: { QDBusPendingReply<int> _r = isRingtoneEnabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 53: { QDBusPendingReply<int> _r = isStartHidden(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 54: { QDBusPendingReply<QString> _r = isStatusIconEnabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<QString>*>(_a[0]) = _r; } break; + case 55: { QDBusPendingReply<int> _r = popupMode(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + case 56: { QDBusPendingReply<> _r = removeAccount((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 57: { QDBusPendingReply<> _r = ringtoneEnabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 58: { QDBusPendingReply<> _r = sendRegister((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 59: { QDBusPendingReply<> _r = setAccountDetails((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< MapStringString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 60: { QDBusPendingReply<> _r = setAccountsOrder((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 61: { QDBusPendingReply<> _r = setActiveCodecList((*reinterpret_cast< const QStringList(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 62: { QDBusPendingReply<> _r = setAddressbookList((*reinterpret_cast< const QStringList(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 63: { QDBusPendingReply<> _r = setAddressbookSettings((*reinterpret_cast< MapStringInt(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 64: { QDBusPendingReply<> _r = setAudioInputDevice((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 65: { QDBusPendingReply<> _r = setAudioManager((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 66: { QDBusPendingReply<> _r = setAudioOutputDevice((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 67: { QDBusPendingReply<> _r = setCredential((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< MapStringString(*)>(_a[3]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 68: { QDBusPendingReply<> _r = setDialpad((*reinterpret_cast< bool(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 69: { QDBusPendingReply<> _r = setHistory((*reinterpret_cast< MapStringString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 70: { QDBusPendingReply<> _r = setHistoryEnabled(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 71: { QDBusPendingReply<> _r = setHistoryLimit((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 72: { QDBusPendingReply<> _r = setHookSettings((*reinterpret_cast< MapStringString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 73: { QDBusPendingReply<> _r = setInputAudioPlugin((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 74: { QDBusPendingReply<> _r = setIp2IpDetails((*reinterpret_cast< MapStringString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 75: { QDBusPendingReply<> _r = setMailNotify(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 76: { QDBusPendingReply<> _r = setMd5CredentialHashing((*reinterpret_cast< bool(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 77: { QDBusPendingReply<> _r = setNotify(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 78: { QDBusPendingReply<> _r = setNumberOfCredential((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 79: { QDBusPendingReply<> _r = setOutputAudioPlugin((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 80: { QDBusPendingReply<> _r = setRecordPath((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 81: { QDBusPendingReply<> _r = setRingtoneChoice((*reinterpret_cast< const QString(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 82: { QDBusPendingReply<> _r = setSearchbar(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 83: { QDBusPendingReply<> _r = setShortcuts((*reinterpret_cast< MapStringInt(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 84: { QDBusPendingReply<> _r = setTlsSettings((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< MapStringString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 85: { QDBusPendingReply<> _r = setVolumeControls((*reinterpret_cast< bool(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 86: { QDBusPendingReply<> _r = setWindowHeight((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 87: { QDBusPendingReply<> _r = setWindowPositionX((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 88: { QDBusPendingReply<> _r = setWindowPositionY((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 89: { QDBusPendingReply<> _r = setWindowWidth((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 90: { QDBusPendingReply<> _r = startHidden(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 91: { QDBusPendingReply<> _r = switchPopupMode(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + default: ; + } + _id -= 92; + } + return _id; +} + +// SIGNAL 0 +void ConfigurationManagerInterface::accountsChanged() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} + +// SIGNAL 1 +void ConfigurationManagerInterface::errorAlert(int _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4475ed80261928741df374655be5235a5a4608d9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.cpp @@ -0,0 +1,28 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c InstanceInterface -i dbus/metatypes.h -p instance_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/instance-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * This file may have been hand-edited. Look for HAND-EDIT comments + * before re-generating it. + */ + +#include "instance_dbus_interface.h" + +/* + * Implementation of interface class InstanceInterface + */ + +InstanceInterface::InstanceInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) + : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) +{ +} + +InstanceInterface::~InstanceInterface() +{ +} + + +#include "instance_dbus_interface.moc" diff --git a/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h new file mode 100644 index 0000000000000000000000000000000000000000..76662edebc0add4d0a92333e33335e083e244f3e --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.h @@ -0,0 +1,70 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 + * Command line was: qdbusxml2cpp -m -c InstanceInterface -i dbus/metatypes.h -p instance_dbus_interface /home/emmanuel/sflphone/sflphone-client-kde/src/dbus/instance-introspec.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * This is an auto-generated file. + * Do not edit! All changes made to it will be lost. + */ + +#ifndef INSTANCE_DBUS_INTERFACE_H_1271787581 +#define INSTANCE_DBUS_INTERFACE_H_1271787581 + +#include <QtCore/QObject> +#include <QtCore/QByteArray> +#include <QtCore/QList> +#include <QtCore/QMap> +#include <QtCore/QString> +#include <QtCore/QStringList> +#include <QtCore/QVariant> +#include <QtDBus/QtDBus> +#include "dbus/metatypes.h" + +/* + * Proxy class for interface org.sflphone.SFLphone.Instance + */ +class InstanceInterface: public QDBusAbstractInterface +{ + Q_OBJECT +public: + static inline const char *staticInterfaceName() + { return "org.sflphone.SFLphone.Instance"; } + +public: + InstanceInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0); + + ~InstanceInterface(); + +public Q_SLOTS: // METHODS + inline QDBusPendingReply<> Register(int pid, const QString &name) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(pid) << qVariantFromValue(name); + return asyncCallWithArgumentList(QLatin1String("Register"), argumentList); + } + + inline QDBusPendingReply<> Unregister(int pid) + { + QList<QVariant> argumentList; + argumentList << qVariantFromValue(pid); + return asyncCallWithArgumentList(QLatin1String("Unregister"), argumentList); + } + + inline QDBusPendingReply<int> getRegistrationCount() + { + QList<QVariant> argumentList; + return asyncCallWithArgumentList(QLatin1String("getRegistrationCount"), argumentList); + } + +Q_SIGNALS: // SIGNALS +}; + +namespace org { + namespace sflphone { + namespace SFLphone { + typedef ::InstanceInterface Instance; + } + } +} +#endif diff --git a/sflphone-client-kde/cmake-build/src/instance_dbus_interface.moc b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.moc new file mode 100644 index 0000000000000000000000000000000000000000..3c1f070f0e4baaa50ee09582385aad49b6cd4eb0 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/instance_dbus_interface.moc @@ -0,0 +1,89 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'instance_dbus_interface.h' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "instance_dbus_interface.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'instance_dbus_interface.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_InstanceInterface[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 48, 39, 19, 18, 0x0a, + 74, 70, 19, 18, 0x0a, + 113, 18, 90, 18, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_InstanceInterface[] = { + "InstanceInterface\0\0QDBusPendingReply<>\0" + "pid,name\0Register(int,QString)\0pid\0" + "Unregister(int)\0QDBusPendingReply<int>\0" + "getRegistrationCount()\0" +}; + +const QMetaObject InstanceInterface::staticMetaObject = { + { &QDBusAbstractInterface::staticMetaObject, qt_meta_stringdata_InstanceInterface, + qt_meta_data_InstanceInterface, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &InstanceInterface::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *InstanceInterface::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *InstanceInterface::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_InstanceInterface)) + return static_cast<void*>(const_cast< InstanceInterface*>(this)); + return QDBusAbstractInterface::qt_metacast(_clname); +} + +int InstanceInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDBusAbstractInterface::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: { QDBusPendingReply<> _r = Register((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 1: { QDBusPendingReply<> _r = Unregister((*reinterpret_cast< int(*)>(_a[1]))); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<>*>(_a[0]) = _r; } break; + case 2: { QDBusPendingReply<int> _r = getRegistrationCount(); + if (_a[0]) *reinterpret_cast< QDBusPendingReply<int>*>(_a[0]) = _r; } break; + default: ; + } + _id -= 3; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp b/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5f9e2f2b30ec482d4d2a87713ab2b3a3dda86ce7 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/kcfg_settings.cpp @@ -0,0 +1,112 @@ +// This file is generated by kconfig_compiler from sflphone-client-kde.kcfg. +// All changes you do to this file will be lost. + +#include "kcfg_settings.h" + +ConfigurationSkeletonBase::ConfigurationSkeletonBase( ) + : KConfigSkeleton( QLatin1String( "ConfigDialogKDE" ) ) +{ + setCurrentGroup( QLatin1String( "main" ) ); + + KConfigSkeleton::ItemInt *itemSIPPort; + itemSIPPort = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "SIPPort" ), mSIPPort, 1025 ); + itemSIPPort->setMinValue( 1025 ); + itemSIPPort->setMaxValue( 65536 ); + addItem( itemSIPPort, QLatin1String( "SIPPort" ) ); + KConfigSkeleton::ItemBool *itemEnableHistory; + itemEnableHistory = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enableHistory" ), mEnableHistory ); + addItem( itemEnableHistory, QLatin1String( "enableHistory" ) ); + KConfigSkeleton::ItemInt *itemHistoryMax; + itemHistoryMax = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "historyMax" ), mHistoryMax, 30 ); + itemHistoryMax->setMinValue( 1 ); + itemHistoryMax->setMaxValue( 99 ); + addItem( itemHistoryMax, QLatin1String( "historyMax" ) ); + KConfigSkeleton::ItemBool *itemNotifOnCalls; + itemNotifOnCalls = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "notifOnCalls" ), mNotifOnCalls ); + addItem( itemNotifOnCalls, QLatin1String( "notifOnCalls" ) ); + KConfigSkeleton::ItemBool *itemNotifOnMessages; + itemNotifOnMessages = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "notifOnMessages" ), mNotifOnMessages ); + addItem( itemNotifOnMessages, QLatin1String( "notifOnMessages" ) ); + KConfigSkeleton::ItemBool *itemDisplayOnStart; + itemDisplayOnStart = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayOnStart" ), mDisplayOnStart ); + addItem( itemDisplayOnStart, QLatin1String( "displayOnStart" ) ); + KConfigSkeleton::ItemBool *itemDisplayOnCalls; + itemDisplayOnCalls = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayOnCalls" ), mDisplayOnCalls ); + addItem( itemDisplayOnCalls, QLatin1String( "displayOnCalls" ) ); + QList<KConfigSkeleton::ItemEnum::Choice2> valuesinterface; + { + KConfigSkeleton::ItemEnum::Choice2 choice; + choice.name = QLatin1String("ALSA"); + valuesinterface.append( choice ); + } + { + KConfigSkeleton::ItemEnum::Choice2 choice; + choice.name = QLatin1String("PulseAudio"); + valuesinterface.append( choice ); + } + KConfigSkeleton::ItemEnum *itemInterface; + itemInterface = new KConfigSkeleton::ItemEnum( currentGroup(), QLatin1String( "interface" ), mInterface, valuesinterface ); + addItem( itemInterface, QLatin1String( "interface" ) ); + KConfigSkeleton::ItemBool *itemEnableRingtones; + itemEnableRingtones = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enableRingtones" ), mEnableRingtones ); + addItem( itemEnableRingtones, QLatin1String( "enableRingtones" ) ); + KConfigSkeleton::ItemPath *itemRingtone; + itemRingtone = new KConfigSkeleton::ItemPath( currentGroup(), QLatin1String( "ringtone" ), mRingtone ); + addItem( itemRingtone, QLatin1String( "ringtone" ) ); + KConfigSkeleton::ItemString *itemAlsaPlugin; + itemAlsaPlugin = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "alsaPlugin" ), mAlsaPlugin ); + addItem( itemAlsaPlugin, QLatin1String( "alsaPlugin" ) ); + KConfigSkeleton::ItemInt *itemAlsaInputDevice; + itemAlsaInputDevice = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "alsaInputDevice" ), mAlsaInputDevice ); + addItem( itemAlsaInputDevice, QLatin1String( "alsaInputDevice" ) ); + KConfigSkeleton::ItemInt *itemAlsaOutputDevice; + itemAlsaOutputDevice = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "alsaOutputDevice" ), mAlsaOutputDevice ); + addItem( itemAlsaOutputDevice, QLatin1String( "alsaOutputDevice" ) ); + KConfigSkeleton::ItemBool *itemPulseAudioVolumeAlter; + itemPulseAudioVolumeAlter = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "pulseAudioVolumeAlter" ), mPulseAudioVolumeAlter ); + addItem( itemPulseAudioVolumeAlter, QLatin1String( "pulseAudioVolumeAlter" ) ); + KConfigSkeleton::ItemBool *itemEnableAddressBook; + itemEnableAddressBook = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enableAddressBook" ), mEnableAddressBook ); + addItem( itemEnableAddressBook, QLatin1String( "enableAddressBook" ) ); + KConfigSkeleton::ItemInt *itemMaxResults; + itemMaxResults = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "maxResults" ), mMaxResults ); + addItem( itemMaxResults, QLatin1String( "maxResults" ) ); + KConfigSkeleton::ItemBool *itemDisplayPhoto; + itemDisplayPhoto = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayPhoto" ), mDisplayPhoto ); + addItem( itemDisplayPhoto, QLatin1String( "displayPhoto" ) ); + KConfigSkeleton::ItemBool *itemBusiness; + itemBusiness = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "business" ), mBusiness ); + addItem( itemBusiness, QLatin1String( "business" ) ); + KConfigSkeleton::ItemBool *itemMobile; + itemMobile = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "mobile" ), mMobile ); + addItem( itemMobile, QLatin1String( "mobile" ) ); + KConfigSkeleton::ItemBool *itemHome; + itemHome = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "home" ), mHome ); + addItem( itemHome, QLatin1String( "home" ) ); + KConfigSkeleton::ItemPath *itemDestinationFolder; + itemDestinationFolder = new KConfigSkeleton::ItemPath( currentGroup(), QLatin1String( "destinationFolder" ), mDestinationFolder ); + addItem( itemDestinationFolder, QLatin1String( "destinationFolder" ) ); + KConfigSkeleton::ItemBool *itemEnableHooksSIP; + itemEnableHooksSIP = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enableHooksSIP" ), mEnableHooksSIP ); + addItem( itemEnableHooksSIP, QLatin1String( "enableHooksSIP" ) ); + KConfigSkeleton::ItemBool *itemEnableHooksIAX; + itemEnableHooksIAX = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enableHooksIAX" ), mEnableHooksIAX ); + addItem( itemEnableHooksIAX, QLatin1String( "enableHooksIAX" ) ); + KConfigSkeleton::ItemString *itemHooksSIPHeader; + itemHooksSIPHeader = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "hooksSIPHeader" ), mHooksSIPHeader ); + addItem( itemHooksSIPHeader, QLatin1String( "hooksSIPHeader" ) ); + KConfigSkeleton::ItemString *itemHooksCommand; + itemHooksCommand = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "hooksCommand" ), mHooksCommand ); + addItem( itemHooksCommand, QLatin1String( "hooksCommand" ) ); + KConfigSkeleton::ItemBool *itemAddPrefix; + itemAddPrefix = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "addPrefix" ), mAddPrefix ); + addItem( itemAddPrefix, QLatin1String( "addPrefix" ) ); + KConfigSkeleton::ItemString *itemPrepend; + itemPrepend = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "prepend" ), mPrepend ); + addItem( itemPrepend, QLatin1String( "prepend" ) ); +} + +ConfigurationSkeletonBase::~ConfigurationSkeletonBase() +{ +} + diff --git a/sflphone-client-kde/cmake-build/src/kcfg_settings.h b/sflphone-client-kde/cmake-build/src/kcfg_settings.h new file mode 100644 index 0000000000000000000000000000000000000000..347cda47196fd1465b62f78c4aac2cab47dc89e2 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/kcfg_settings.h @@ -0,0 +1,540 @@ +// This file is generated by kconfig_compiler from sflphone-client-kde.kcfg. +// All changes you do to this file will be lost. +#ifndef CONFIGURATIONSKELETONBASE_H +#define CONFIGURATIONSKELETONBASE_H + +#include <kglobal.h> +#include <kconfigskeleton.h> +#include <kdebug.h> + +class ConfigurationSkeletonBase : public KConfigSkeleton +{ + public: + class EnumInterface + { + public: + enum type { ALSA, PulseAudio, COUNT }; + }; + + ConfigurationSkeletonBase( ); + ~ConfigurationSkeletonBase(); + + /** + Set Defines the port that will be used for SIP communication. + */ + void setSIPPort( int v ) + { + if (v < 1025 ) + { + kDebug() << "setSIPPort: value " << v << " is less than the minimum value of 1025 "; + v = 1025 ; + } + + if (v > 65536 ) + { + kDebug() << "setSIPPort: value " << v << " is greater than the maximum value of 65536 "; + v = 65536 ; + } + + if (!isImmutable( QString::fromLatin1( "SIPPort" ) )) + mSIPPort = v; + } + + /** + Get Defines the port that will be used for SIP communication. + */ + int sIPPort() const + { + return mSIPPort; + } + + /** + Set Defines whether sflphone should keep a history of calls. + */ + void setEnableHistory( bool v ) + { + if (!isImmutable( QString::fromLatin1( "enableHistory" ) )) + mEnableHistory = v; + } + + /** + Get Defines whether sflphone should keep a history of calls. + */ + bool enableHistory() const + { + return mEnableHistory; + } + + /** + Set Defines the number of days the history has to be kept. + */ + void setHistoryMax( int v ) + { + if (v < 1 ) + { + kDebug() << "setHistoryMax: value " << v << " is less than the minimum value of 1 "; + v = 1 ; + } + + if (v > 99 ) + { + kDebug() << "setHistoryMax: value " << v << " is greater than the maximum value of 99 "; + v = 99 ; + } + + if (!isImmutable( QString::fromLatin1( "historyMax" ) )) + mHistoryMax = v; + } + + /** + Get Defines the number of days the history has to be kept. + */ + int historyMax() const + { + return mHistoryMax; + } + + /** + Set Defines whether user should be notified when receiving a call. + */ + void setNotifOnCalls( bool v ) + { + if (!isImmutable( QString::fromLatin1( "notifOnCalls" ) )) + mNotifOnCalls = v; + } + + /** + Get Defines whether user should be notified when receiving a call. + */ + bool notifOnCalls() const + { + return mNotifOnCalls; + } + + /** + Set Defines whether user should be notified when receiving a message. + */ + void setNotifOnMessages( bool v ) + { + if (!isImmutable( QString::fromLatin1( "notifOnMessages" ) )) + mNotifOnMessages = v; + } + + /** + Get Defines whether user should be notified when receiving a message. + */ + bool notifOnMessages() const + { + return mNotifOnMessages; + } + + /** + Set Defines whether the main window should be displayed on start. + */ + void setDisplayOnStart( bool v ) + { + if (!isImmutable( QString::fromLatin1( "displayOnStart" ) )) + mDisplayOnStart = v; + } + + /** + Get Defines whether the main window should be displayed on start. + */ + bool displayOnStart() const + { + return mDisplayOnStart; + } + + /** + Set Defines whether the main window should be displayed when receiving a message. + */ + void setDisplayOnCalls( bool v ) + { + if (!isImmutable( QString::fromLatin1( "displayOnCalls" ) )) + mDisplayOnCalls = v; + } + + /** + Get Defines whether the main window should be displayed when receiving a message. + */ + bool displayOnCalls() const + { + return mDisplayOnCalls; + } + + /** + Set Defines the Stun server to use. + */ + void setInterface( int v ) + { + if (!isImmutable( QString::fromLatin1( "interface" ) )) + mInterface = v; + } + + /** + Get Defines the Stun server to use. + */ + int interface() const + { + return mInterface; + } + + /** + Set Defines whether ringtones are enabled. + */ + void setEnableRingtones( bool v ) + { + if (!isImmutable( QString::fromLatin1( "enableRingtones" ) )) + mEnableRingtones = v; + } + + /** + Get Defines whether ringtones are enabled. + */ + bool enableRingtones() const + { + return mEnableRingtones; + } + + /** + Set Defines which ringtone is used. + */ + void setRingtone( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "ringtone" ) )) + mRingtone = v; + } + + /** + Get Defines which ringtone is used. + */ + QString ringtone() const + { + return mRingtone; + } + + /** + Set Defines which ALSA plugin to use. + */ + void setAlsaPlugin( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "alsaPlugin" ) )) + mAlsaPlugin = v; + } + + /** + Get Defines which ALSA plugin to use. + */ + QString alsaPlugin() const + { + return mAlsaPlugin; + } + + /** + Set Defines which ALSA Input device to use. + */ + void setAlsaInputDevice( int v ) + { + if (!isImmutable( QString::fromLatin1( "alsaInputDevice" ) )) + mAlsaInputDevice = v; + } + + /** + Get Defines which ALSA Input device to use. + */ + int alsaInputDevice() const + { + return mAlsaInputDevice; + } + + /** + Set Defines which ALSA Output device to use. + */ + void setAlsaOutputDevice( int v ) + { + if (!isImmutable( QString::fromLatin1( "alsaOutputDevice" ) )) + mAlsaOutputDevice = v; + } + + /** + Get Defines which ALSA Output device to use. + */ + int alsaOutputDevice() const + { + return mAlsaOutputDevice; + } + + /** + Set Defines whether pulse audio can mute other applications during a call. + */ + void setPulseAudioVolumeAlter( bool v ) + { + if (!isImmutable( QString::fromLatin1( "pulseAudioVolumeAlter" ) )) + mPulseAudioVolumeAlter = v; + } + + /** + Get Defines whether pulse audio can mute other applications during a call. + */ + bool pulseAudioVolumeAlter() const + { + return mPulseAudioVolumeAlter; + } + + /** + Set Defines whether the search in KDE Address Book is enabled + */ + void setEnableAddressBook( bool v ) + { + if (!isImmutable( QString::fromLatin1( "enableAddressBook" ) )) + mEnableAddressBook = v; + } + + /** + Get Defines whether the search in KDE Address Book is enabled + */ + bool enableAddressBook() const + { + return mEnableAddressBook; + } + + /** + Set Defines the max number of contacts to display during a search in address book. + */ + void setMaxResults( int v ) + { + if (!isImmutable( QString::fromLatin1( "maxResults" ) )) + mMaxResults = v; + } + + /** + Get Defines the max number of contacts to display during a search in address book. + */ + int maxResults() const + { + return mMaxResults; + } + + /** + Set Defines whether to display contacts photos. + */ + void setDisplayPhoto( bool v ) + { + if (!isImmutable( QString::fromLatin1( "displayPhoto" ) )) + mDisplayPhoto = v; + } + + /** + Get Defines whether to display contacts photos. + */ + bool displayPhoto() const + { + return mDisplayPhoto; + } + + /** + Set Defines whether to display professionnal phone numbers. + */ + void setBusiness( bool v ) + { + if (!isImmutable( QString::fromLatin1( "business" ) )) + mBusiness = v; + } + + /** + Get Defines whether to display professionnal phone numbers. + */ + bool business() const + { + return mBusiness; + } + + /** + Set Defines whether to display mobile phone numbers. + */ + void setMobile( bool v ) + { + if (!isImmutable( QString::fromLatin1( "mobile" ) )) + mMobile = v; + } + + /** + Get Defines whether to display mobile phone numbers. + */ + bool mobile() const + { + return mMobile; + } + + /** + Set Defines whether to display personnal phone numbers. + */ + void setHome( bool v ) + { + if (!isImmutable( QString::fromLatin1( "home" ) )) + mHome = v; + } + + /** + Get Defines whether to display personnal phone numbers. + */ + bool home() const + { + return mHome; + } + + /** + Set Defines the destination directory for call recordings. + */ + void setDestinationFolder( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "destinationFolder" ) )) + mDestinationFolder = v; + } + + /** + Get Defines the destination directory for call recordings. + */ + QString destinationFolder() const + { + return mDestinationFolder; + } + + /** + Set Defines whether to enable hooks for SIP accounts. + */ + void setEnableHooksSIP( bool v ) + { + if (!isImmutable( QString::fromLatin1( "enableHooksSIP" ) )) + mEnableHooksSIP = v; + } + + /** + Get Defines whether to enable hooks for SIP accounts. + */ + bool enableHooksSIP() const + { + return mEnableHooksSIP; + } + + /** + Set Defines whether to enable hooks for IAX accounts. + */ + void setEnableHooksIAX( bool v ) + { + if (!isImmutable( QString::fromLatin1( "enableHooksIAX" ) )) + mEnableHooksIAX = v; + } + + /** + Get Defines whether to enable hooks for IAX accounts. + */ + bool enableHooksIAX() const + { + return mEnableHooksIAX; + } + + /** + Set Defines which header to catch for SIP accounts hooks. + */ + void setHooksSIPHeader( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "hooksSIPHeader" ) )) + mHooksSIPHeader = v; + } + + /** + Get Defines which header to catch for SIP accounts hooks. + */ + QString hooksSIPHeader() const + { + return mHooksSIPHeader; + } + + /** + Set Defines which command to execute. + */ + void setHooksCommand( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "hooksCommand" ) )) + mHooksCommand = v; + } + + /** + Get Defines which command to execute. + */ + QString hooksCommand() const + { + return mHooksCommand; + } + + /** + Set Defines whether to add a prefix for outgoing calls. + */ + void setAddPrefix( bool v ) + { + if (!isImmutable( QString::fromLatin1( "addPrefix" ) )) + mAddPrefix = v; + } + + /** + Get Defines whether to add a prefix for outgoing calls. + */ + bool addPrefix() const + { + return mAddPrefix; + } + + /** + Set Defines the prefix to add. + */ + void setPrepend( const QString & v ) + { + if (!isImmutable( QString::fromLatin1( "prepend" ) )) + mPrepend = v; + } + + /** + Get Defines the prefix to add. + */ + QString prepend() const + { + return mPrepend; + } + + protected: + + // main + int mSIPPort; + bool mEnableHistory; + int mHistoryMax; + bool mNotifOnCalls; + bool mNotifOnMessages; + bool mDisplayOnStart; + bool mDisplayOnCalls; + int mInterface; + bool mEnableRingtones; + QString mRingtone; + QString mAlsaPlugin; + int mAlsaInputDevice; + int mAlsaOutputDevice; + bool mPulseAudioVolumeAlter; + bool mEnableAddressBook; + int mMaxResults; + bool mDisplayPhoto; + bool mBusiness; + bool mMobile; + bool mHome; + QString mDestinationFolder; + bool mEnableHooksSIP; + bool mEnableHooksIAX; + QString mHooksSIPHeader; + QString mHooksCommand; + bool mAddPrefix; + QString mPrepend; + + private: +}; + +#endif + diff --git a/sflphone-client-kde/cmake-build/src/moc_Account.cpp b/sflphone-client-kde/cmake-build/src/moc_Account.cpp new file mode 100644 index 0000000000000000000000000000000000000000..92e54420d4b4a335e34550a3b7821200d90297fe --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_Account.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'Account.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/Account.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'Account.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Account[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 1, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 17, 9, 8, 8, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_Account[] = { + "Account\0\0checked\0setEnabled(bool)\0" +}; + +const QMetaObject Account::staticMetaObject = { + { &QObject::staticMetaObject, qt_meta_stringdata_Account, + qt_meta_data_Account, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Account::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Account::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Account::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Account)) + return static_cast<void*>(const_cast< Account*>(this)); + if (!strcmp(_clname, "Item<AccountItemWidget>")) + return static_cast< Item<AccountItemWidget>*>(const_cast< Account*>(this)); + return QObject::qt_metacast(_clname); +} + +int Account::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: setEnabled((*reinterpret_cast< bool(*)>(_a[1]))); break; + default: ; + } + _id -= 1; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp b/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ef0df603d6917371c0fb619088d44e585b294cdd --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_AccountItemWidget.cpp @@ -0,0 +1,92 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'AccountItemWidget.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/AccountItemWidget.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'AccountItemWidget.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_AccountItemWidget[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 27, 19, 18, 18, 0x05, + + // slots: signature, parameters, type, tag, flags + 57, 51, 18, 18, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_AccountItemWidget[] = { + "AccountItemWidget\0\0checked\0" + "checkStateChanged(bool)\0state\0" + "on_checkBox_stateChanged(int)\0" +}; + +const QMetaObject AccountItemWidget::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_AccountItemWidget, + qt_meta_data_AccountItemWidget, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &AccountItemWidget::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *AccountItemWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *AccountItemWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_AccountItemWidget)) + return static_cast<void*>(const_cast< AccountItemWidget*>(this)); + return QWidget::qt_metacast(_clname); +} + +int AccountItemWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: checkStateChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 1: on_checkBox_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + default: ; + } + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void AccountItemWidget::checkStateChanged(bool _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp b/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp new file mode 100644 index 0000000000000000000000000000000000000000..dad71aee51a36ba0fa085c65686f7aa2c1f88d07 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_AccountList.cpp @@ -0,0 +1,92 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'AccountList.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/AccountList.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'AccountList.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_AccountList[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 13, 12, 12, 12, 0x05, + + // slots: signature, parameters, type, tag, flags + 34, 12, 12, 12, 0x0a, + 43, 12, 12, 12, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_AccountList[] = { + "AccountList\0\0accountListUpdated()\0" + "update()\0updateAccounts()\0" +}; + +const QMetaObject AccountList::staticMetaObject = { + { &QObject::staticMetaObject, qt_meta_stringdata_AccountList, + qt_meta_data_AccountList, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &AccountList::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *AccountList::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *AccountList::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_AccountList)) + return static_cast<void*>(const_cast< AccountList*>(this)); + return QObject::qt_metacast(_clname); +} + +int AccountList::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: accountListUpdated(); break; + case 1: update(); break; + case 2: updateAccounts(); break; + default: ; + } + _id -= 3; + } + return _id; +} + +// SIGNAL 0 +void AccountList::accountListUpdated() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp b/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..50fe21a16ab3394698be02a2c7a57584f333cd6b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_AccountListModel.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'AccountListModel.h' +** +** Created: Tue Apr 20 14:19:38 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/AccountListModel.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'AccountListModel.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_AccountListModel[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_AccountListModel[] = { + "AccountListModel\0" +}; + +const QMetaObject AccountListModel::staticMetaObject = { + { &QAbstractListModel::staticMetaObject, qt_meta_stringdata_AccountListModel, + qt_meta_data_AccountListModel, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &AccountListModel::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *AccountListModel::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *AccountListModel::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_AccountListModel)) + return static_cast<void*>(const_cast< AccountListModel*>(this)); + return QAbstractListModel::qt_metacast(_clname); +} + +int AccountListModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QAbstractListModel::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp b/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e724dd50969a0cd716e13b636a97c17f89ac8727 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_AccountWizard.cpp @@ -0,0 +1,461 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'AccountWizard.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/AccountWizard.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'AccountWizard.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_AccountWizard[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_AccountWizard[] = { + "AccountWizard\0" +}; + +const QMetaObject AccountWizard::staticMetaObject = { + { &QWizard::staticMetaObject, qt_meta_stringdata_AccountWizard, + qt_meta_data_AccountWizard, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &AccountWizard::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *AccountWizard::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *AccountWizard::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_AccountWizard)) + return static_cast<void*>(const_cast< AccountWizard*>(this)); + return QWizard::qt_metacast(_clname); +} + +int AccountWizard::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizard::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardIntroPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardIntroPage[] = { + "WizardIntroPage\0" +}; + +const QMetaObject WizardIntroPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardIntroPage, + qt_meta_data_WizardIntroPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardIntroPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardIntroPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardIntroPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardIntroPage)) + return static_cast<void*>(const_cast< WizardIntroPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardIntroPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountAutoManualPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountAutoManualPage[] = { + "WizardAccountAutoManualPage\0" +}; + +const QMetaObject WizardAccountAutoManualPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountAutoManualPage, + qt_meta_data_WizardAccountAutoManualPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountAutoManualPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountAutoManualPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountAutoManualPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountAutoManualPage)) + return static_cast<void*>(const_cast< WizardAccountAutoManualPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountAutoManualPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountTypePage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountTypePage[] = { + "WizardAccountTypePage\0" +}; + +const QMetaObject WizardAccountTypePage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountTypePage, + qt_meta_data_WizardAccountTypePage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountTypePage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountTypePage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountTypePage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountTypePage)) + return static_cast<void*>(const_cast< WizardAccountTypePage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountTypePage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountEmailAddressPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountEmailAddressPage[] = { + "WizardAccountEmailAddressPage\0" +}; + +const QMetaObject WizardAccountEmailAddressPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountEmailAddressPage, + qt_meta_data_WizardAccountEmailAddressPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountEmailAddressPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountEmailAddressPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountEmailAddressPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountEmailAddressPage)) + return static_cast<void*>(const_cast< WizardAccountEmailAddressPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountEmailAddressPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountSIPFormPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountSIPFormPage[] = { + "WizardAccountSIPFormPage\0" +}; + +const QMetaObject WizardAccountSIPFormPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountSIPFormPage, + qt_meta_data_WizardAccountSIPFormPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountSIPFormPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountSIPFormPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountSIPFormPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountSIPFormPage)) + return static_cast<void*>(const_cast< WizardAccountSIPFormPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountSIPFormPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountIAXFormPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountIAXFormPage[] = { + "WizardAccountIAXFormPage\0" +}; + +const QMetaObject WizardAccountIAXFormPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountIAXFormPage, + qt_meta_data_WizardAccountIAXFormPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountIAXFormPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountIAXFormPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountIAXFormPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountIAXFormPage)) + return static_cast<void*>(const_cast< WizardAccountIAXFormPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountIAXFormPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountStunPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountStunPage[] = { + "WizardAccountStunPage\0" +}; + +const QMetaObject WizardAccountStunPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountStunPage, + qt_meta_data_WizardAccountStunPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountStunPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountStunPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountStunPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountStunPage)) + return static_cast<void*>(const_cast< WizardAccountStunPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountStunPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +static const uint qt_meta_data_WizardAccountConclusionPage[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_WizardAccountConclusionPage[] = { + "WizardAccountConclusionPage\0" +}; + +const QMetaObject WizardAccountConclusionPage::staticMetaObject = { + { &QWizardPage::staticMetaObject, qt_meta_stringdata_WizardAccountConclusionPage, + qt_meta_data_WizardAccountConclusionPage, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &WizardAccountConclusionPage::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *WizardAccountConclusionPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *WizardAccountConclusionPage::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_WizardAccountConclusionPage)) + return static_cast<void*>(const_cast< WizardAccountConclusionPage*>(this)); + return QWizardPage::qt_metacast(_clname); +} + +int WizardAccountConclusionPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWizardPage::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp b/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b31420ceadb96d1866ce470d80271dc41087848c --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_ActionSetAccountFirst.cpp @@ -0,0 +1,91 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'ActionSetAccountFirst.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/ActionSetAccountFirst.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'ActionSetAccountFirst.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ActionSetAccountFirst[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 31, 23, 22, 22, 0x05, + + // slots: signature, parameters, type, tag, flags + 50, 22, 22, 22, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_ActionSetAccountFirst[] = { + "ActionSetAccountFirst\0\0account\0" + "setFirst(Account*)\0emitSetFirst()\0" +}; + +const QMetaObject ActionSetAccountFirst::staticMetaObject = { + { &QAction::staticMetaObject, qt_meta_stringdata_ActionSetAccountFirst, + qt_meta_data_ActionSetAccountFirst, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ActionSetAccountFirst::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ActionSetAccountFirst::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ActionSetAccountFirst::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ActionSetAccountFirst)) + return static_cast<void*>(const_cast< ActionSetAccountFirst*>(this)); + return QAction::qt_metacast(_clname); +} + +int ActionSetAccountFirst::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QAction::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: setFirst((*reinterpret_cast< Account*(*)>(_a[1]))); break; + case 1: emitSetFirst(); break; + default: ; + } + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void ActionSetAccountFirst::setFirst(Account * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_Call.cpp b/sflphone-client-kde/cmake-build/src/moc_Call.cpp new file mode 100644 index 0000000000000000000000000000000000000000..19b5a071c4a331d7b6c1bd65db5c39b69bc70feb --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_Call.cpp @@ -0,0 +1,94 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'Call.h' +** +** Created: Tue Apr 20 17:18:33 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/Call.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'Call.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Call[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: signature, parameters, type, tag, flags + 6, 5, 5, 5, 0x05, + 16, 5, 5, 5, 0x05, + + 0 // eod +}; + +static const char qt_meta_stringdata_Call[] = { + "Call\0\0changed()\0isOver(Call*)\0" +}; + +const QMetaObject Call::staticMetaObject = { + { &QObject::staticMetaObject, qt_meta_stringdata_Call, + qt_meta_data_Call, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Call::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Call::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Call::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Call)) + return static_cast<void*>(const_cast< Call*>(this)); + return QObject::qt_metacast(_clname); +} + +int Call::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: changed(); break; + case 1: isOver((*reinterpret_cast< Call*(*)>(_a[1]))); break; + default: ; + } + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void Call::changed() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} + +// SIGNAL 1 +void Call::isOver(Call * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp b/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..158f4a09bc86de65d2ea8bf35e88ec85fe5acd34 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_CallModel.cpp @@ -0,0 +1,82 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'CallModel.h' +** +** Created: Tue Apr 20 17:48:26 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/CallModel.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'CallModel.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_CallModel[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 21, 11, 10, 10, 0x08, + 40, 10, 10, 10, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_CallModel[] = { + "CallModel\0\0toDestroy\0destroyCall(Call*)\0" + "clearHistory()\0" +}; + +const QMetaObject CallModel::staticMetaObject = { + { &QTreeWidget::staticMetaObject, qt_meta_stringdata_CallModel, + qt_meta_data_CallModel, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &CallModel::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *CallModel::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *CallModel::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_CallModel)) + return static_cast<void*>(const_cast< CallModel*>(this)); + return QTreeWidget::qt_metacast(_clname); +} + +int CallModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QTreeWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: destroyCall((*reinterpret_cast< Call*(*)>(_a[1]))); break; + case 1: clearHistory(); break; + default: ; + } + _id -= 2; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp b/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f860df2d5143749acf8e2b4911bf78d8bc70523f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_CallTreeItem.cpp @@ -0,0 +1,90 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'CallTreeItem.h' +** +** Created: Tue Apr 20 17:38:51 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/CallTreeItem.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'CallTreeItem.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_CallTreeItem[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 14, 13, 13, 13, 0x05, + + // slots: signature, parameters, type, tag, flags + 26, 13, 13, 13, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_CallTreeItem[] = { + "CallTreeItem\0\0over(Call*)\0updated()\0" +}; + +const QMetaObject CallTreeItem::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_CallTreeItem, + qt_meta_data_CallTreeItem, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &CallTreeItem::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *CallTreeItem::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *CallTreeItem::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_CallTreeItem)) + return static_cast<void*>(const_cast< CallTreeItem*>(this)); + return QWidget::qt_metacast(_clname); +} + +int CallTreeItem::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: over((*reinterpret_cast< Call*(*)>(_a[1]))); break; + case 1: updated(); break; + default: ; + } + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void CallTreeItem::over(Call * _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_Codec.cpp b/sflphone-client-kde/cmake-build/src/moc_Codec.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6f9927967f675ed145b1e1465cd810d5c406c2b0 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_Codec.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'Codec.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/Codec.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'Codec.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Codec[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_Codec[] = { + "Codec\0" +}; + +const QMetaObject Codec::staticMetaObject = { + { &QObject::staticMetaObject, qt_meta_stringdata_Codec, + qt_meta_data_Codec, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Codec::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Codec::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Codec::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Codec)) + return static_cast<void*>(const_cast< Codec*>(this)); + return QObject::qt_metacast(_clname); +} + +int Codec::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp b/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d5e7518552716f236b71edc06d8096af643ba27b --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_ConfigurationDialog.cpp @@ -0,0 +1,111 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'ConfigurationDialog.h' +** +** Created: Tue Apr 20 14:19:39 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/ConfigurationDialog.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'ConfigurationDialog.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ConfigurationDialog[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 8, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: signature, parameters, type, tag, flags + 21, 20, 20, 20, 0x05, + 45, 20, 20, 20, 0x05, + + // slots: signature, parameters, type, tag, flags + 62, 20, 20, 20, 0x0a, + 78, 20, 20, 20, 0x0a, + 95, 20, 20, 20, 0x0a, + 116, 20, 111, 20, 0x0a, + 129, 20, 20, 20, 0x0a, + 138, 20, 20, 20, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_ConfigurationDialog[] = { + "ConfigurationDialog\0\0clearCallHistoryAsked()\0" + "changesApplied()\0updateWidgets()\0" + "updateSettings()\0updateButtons()\0bool\0" + "hasChanged()\0reload()\0applyCustomSettings()\0" +}; + +const QMetaObject ConfigurationDialog::staticMetaObject = { + { &KConfigDialog::staticMetaObject, qt_meta_stringdata_ConfigurationDialog, + qt_meta_data_ConfigurationDialog, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ConfigurationDialog::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ConfigurationDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ConfigurationDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ConfigurationDialog)) + return static_cast<void*>(const_cast< ConfigurationDialog*>(this)); + return KConfigDialog::qt_metacast(_clname); +} + +int ConfigurationDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = KConfigDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: clearCallHistoryAsked(); break; + case 1: changesApplied(); break; + case 2: updateWidgets(); break; + case 3: updateSettings(); break; + case 4: updateButtons(); break; + case 5: { bool _r = hasChanged(); + if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; + case 6: reload(); break; + case 7: applyCustomSettings(); break; + default: ; + } + _id -= 8; + } + return _id; +} + +// SIGNAL 0 +void ConfigurationDialog::clearCallHistoryAsked() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} + +// SIGNAL 1 +void ConfigurationDialog::changesApplied() +{ + QMetaObject::activate(this, &staticMetaObject, 1, 0); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp b/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9ba8c73f3fbb3510bb37509df53f5eb3e9cac6b3 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_ConfigurationSkeleton.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'ConfigurationSkeleton.h' +** +** Created: Tue Apr 20 14:19:39 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/ConfigurationSkeleton.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'ConfigurationSkeleton.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ConfigurationSkeleton[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_ConfigurationSkeleton[] = { + "ConfigurationSkeleton\0" +}; + +const QMetaObject ConfigurationSkeleton::staticMetaObject = { + { &ConfigurationSkeletonBase::staticMetaObject, qt_meta_stringdata_ConfigurationSkeleton, + qt_meta_data_ConfigurationSkeleton, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ConfigurationSkeleton::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ConfigurationSkeleton::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ConfigurationSkeleton::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ConfigurationSkeleton)) + return static_cast<void*>(const_cast< ConfigurationSkeleton*>(this)); + return ConfigurationSkeletonBase::qt_metacast(_clname); +} + +int ConfigurationSkeleton::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = ConfigurationSkeletonBase::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp b/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp new file mode 100644 index 0000000000000000000000000000000000000000..859f17688e2e95c2d27af28474c8648a37723c28 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_ContactItemWidget.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'ContactItemWidget.h' +** +** Created: Tue Apr 20 14:19:38 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/ContactItemWidget.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'ContactItemWidget.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ContactItemWidget[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_ContactItemWidget[] = { + "ContactItemWidget\0" +}; + +const QMetaObject ContactItemWidget::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_ContactItemWidget, + qt_meta_data_ContactItemWidget, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ContactItemWidget::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ContactItemWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ContactItemWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ContactItemWidget)) + return static_cast<void*>(const_cast< ContactItemWidget*>(this)); + return QWidget::qt_metacast(_clname); +} + +int ContactItemWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp b/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp new file mode 100644 index 0000000000000000000000000000000000000000..77b313cd19f59c2884d9d596359056e7bb714c68 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_Dialpad.cpp @@ -0,0 +1,124 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'Dialpad.h' +** +** Created: Tue Apr 20 14:19:39 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/Dialpad.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'Dialpad.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Dialpad[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 13, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 14, 9, 8, 8, 0x05, + + // slots: signature, parameters, type, tag, flags + 29, 8, 8, 8, 0x08, + 55, 8, 8, 8, 0x08, + 81, 8, 8, 8, 0x08, + 107, 8, 8, 8, 0x08, + 133, 8, 8, 8, 0x08, + 159, 8, 8, 8, 0x08, + 185, 8, 8, 8, 0x08, + 211, 8, 8, 8, 0x08, + 237, 8, 8, 8, 0x08, + 263, 8, 8, 8, 0x08, + 289, 8, 8, 8, 0x08, + 319, 8, 8, 8, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_Dialpad[] = { + "Dialpad\0\0text\0typed(QString)\0" + "on_pushButton_1_clicked()\0" + "on_pushButton_2_clicked()\0" + "on_pushButton_3_clicked()\0" + "on_pushButton_4_clicked()\0" + "on_pushButton_5_clicked()\0" + "on_pushButton_6_clicked()\0" + "on_pushButton_7_clicked()\0" + "on_pushButton_8_clicked()\0" + "on_pushButton_9_clicked()\0" + "on_pushButton_0_clicked()\0" + "on_pushButton_diese_clicked()\0" + "on_pushButton_etoile_clicked()\0" +}; + +const QMetaObject Dialpad::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_Dialpad, + qt_meta_data_Dialpad, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Dialpad::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Dialpad::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Dialpad::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Dialpad)) + return static_cast<void*>(const_cast< Dialpad*>(this)); + return QWidget::qt_metacast(_clname); +} + +int Dialpad::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: typed((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 1: on_pushButton_1_clicked(); break; + case 2: on_pushButton_2_clicked(); break; + case 3: on_pushButton_3_clicked(); break; + case 4: on_pushButton_4_clicked(); break; + case 5: on_pushButton_5_clicked(); break; + case 6: on_pushButton_6_clicked(); break; + case 7: on_pushButton_7_clicked(); break; + case 8: on_pushButton_8_clicked(); break; + case 9: on_pushButton_9_clicked(); break; + case 10: on_pushButton_0_clicked(); break; + case 11: on_pushButton_diese_clicked(); break; + case 12: on_pushButton_etoile_clicked(); break; + default: ; + } + _id -= 13; + } + return _id; +} + +// SIGNAL 0 +void Dialpad::typed(QString _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp b/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8dee5cf0cd7e27f33a0b0d4030356285f775fb54 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_SFLPhone.cpp @@ -0,0 +1,116 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'SFLPhone.h' +** +** Created: Tue Apr 20 16:39:53 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/SFLPhone.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'SFLPhone.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_SFLPhone[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 12, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 18, 10, 9, 9, 0x08, + 60, 10, 9, 9, 0x08, + 115, 100, 9, 9, 0x08, + 174, 162, 9, 9, 0x08, + 233, 221, 9, 9, 0x08, + 299, 280, 9, 9, 0x08, + 360, 343, 9, 9, 0x08, + 410, 402, 9, 9, 0x08, + 454, 447, 9, 9, 0x08, + 486, 481, 9, 9, 0x08, + 527, 520, 9, 9, 0x08, + 550, 9, 9, 9, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_SFLPhone[] = { + "SFLPhone\0\0message\0" + "on_view_statusMessageChangeAsked(QString)\0" + "on_view_windowTitleChangeAsked(QString)\0" + "enabledActions\0" + "on_view_enabledActionsChangeAsked(const bool*)\0" + "actionIcons\0on_view_actionIconsChangeAsked(const QString*)\0" + "actionTexts\0on_view_actionTextsChangeAsked(const QString*)\0" + "transferCheckState\0" + "on_view_transferCheckStateChangeAsked(bool)\0" + "recordCheckState\0" + "on_view_recordCheckStateChangeAsked(bool)\0" + "enabled\0on_view_addressBookEnableAsked(bool)\0" + "screen\0on_view_screenChanged(int)\0" + "call\0on_view_incomingCall(const Call*)\0" + "action\0updateScreen(QAction*)\0" + "quitButton()\0" +}; + +const QMetaObject SFLPhone::staticMetaObject = { + { &KXmlGuiWindow::staticMetaObject, qt_meta_stringdata_SFLPhone, + qt_meta_data_SFLPhone, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &SFLPhone::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *SFLPhone::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *SFLPhone::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_SFLPhone)) + return static_cast<void*>(const_cast< SFLPhone*>(this)); + return KXmlGuiWindow::qt_metacast(_clname); +} + +int SFLPhone::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = KXmlGuiWindow::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: on_view_statusMessageChangeAsked((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 1: on_view_windowTitleChangeAsked((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 2: on_view_enabledActionsChangeAsked((*reinterpret_cast< const bool*(*)>(_a[1]))); break; + case 3: on_view_actionIconsChangeAsked((*reinterpret_cast< const QString*(*)>(_a[1]))); break; + case 4: on_view_actionTextsChangeAsked((*reinterpret_cast< const QString*(*)>(_a[1]))); break; + case 5: on_view_transferCheckStateChangeAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 6: on_view_recordCheckStateChangeAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 7: on_view_addressBookEnableAsked((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 8: on_view_screenChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 9: on_view_incomingCall((*reinterpret_cast< const Call*(*)>(_a[1]))); break; + case 10: updateScreen((*reinterpret_cast< QAction*(*)>(_a[1]))); break; + case 11: quitButton(); break; + default: ; + } + _id -= 12; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp b/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4a310bf198ea878de87bd0580e257e37d7ea1c3d --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_SFLPhoneTray.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'SFLPhoneTray.h' +** +** Created: Tue Apr 20 14:19:36 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/SFLPhoneTray.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'SFLPhoneTray.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_SFLPhoneTray[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_SFLPhoneTray[] = { + "SFLPhoneTray\0" +}; + +const QMetaObject SFLPhoneTray::staticMetaObject = { + { &KSystemTrayIcon::staticMetaObject, qt_meta_stringdata_SFLPhoneTray, + qt_meta_data_SFLPhoneTray, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &SFLPhoneTray::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *SFLPhoneTray::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *SFLPhoneTray::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_SFLPhoneTray)) + return static_cast<void*>(const_cast< SFLPhoneTray*>(this)); + return KSystemTrayIcon::qt_metacast(_clname); +} + +int SFLPhoneTray::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = KSystemTrayIcon::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp b/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d45b6bfe0e26a6735d6e57b8a342426945f48fa6 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlgaccounts.cpp @@ -0,0 +1,245 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlgaccounts.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlgaccounts.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlgaccounts.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Private_AddCodecDialog[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 30, 24, 23, 23, 0x05, + + // slots: signature, parameters, type, tag, flags + 48, 23, 23, 23, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_Private_AddCodecDialog[] = { + "Private_AddCodecDialog\0\0alias\0" + "addCodec(QString)\0emitNewCodec()\0" +}; + +const QMetaObject Private_AddCodecDialog::staticMetaObject = { + { &KDialog::staticMetaObject, qt_meta_stringdata_Private_AddCodecDialog, + qt_meta_data_Private_AddCodecDialog, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Private_AddCodecDialog::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Private_AddCodecDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Private_AddCodecDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Private_AddCodecDialog)) + return static_cast<void*>(const_cast< Private_AddCodecDialog*>(this)); + return KDialog::qt_metacast(_clname); +} + +int Private_AddCodecDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = KDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: addCodec((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 1: emitNewCodec(); break; + default: ; + } + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void Private_AddCodecDialog::addCodec(QString _t1) +{ + void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +static const uint qt_meta_data_DlgAccounts[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 30, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 13, 12, 12, 12, 0x05, + + // slots: signature, parameters, type, tag, flags + 29, 12, 12, 12, 0x0a, + 47, 12, 12, 12, 0x0a, + 70, 12, 65, 12, 0x0a, + 83, 12, 12, 12, 0x0a, + 100, 12, 12, 12, 0x0a, + 116, 12, 12, 12, 0x08, + 137, 12, 12, 12, 0x08, + 168, 12, 12, 12, 0x08, + 202, 12, 12, 12, 0x08, + 232, 12, 12, 12, 0x08, + 264, 12, 12, 12, 0x08, + 295, 12, 12, 12, 0x08, + 334, 329, 12, 12, 0x08, + 387, 370, 12, 12, 0x08, + 467, 12, 12, 12, 0x08, + 497, 489, 12, 12, 0x08, + 531, 12, 12, 12, 0x08, + 564, 559, 12, 12, 0x08, + 600, 489, 12, 12, 0x08, + 634, 628, 12, 12, 0x08, + 665, 660, 12, 12, 0x08, + 683, 12, 12, 12, 0x28, + 694, 12, 12, 12, 0x08, + 715, 709, 12, 12, 0x08, + 732, 12, 12, 12, 0x08, + 748, 12, 12, 12, 0x08, + 781, 767, 12, 12, 0x08, + 843, 833, 12, 12, 0x08, + 868, 833, 12, 12, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgAccounts[] = { + "DlgAccounts\0\0updateButtons()\0" + "saveAccountList()\0loadAccountList()\0" + "bool\0hasChanged()\0updateSettings()\0" + "updateWidgets()\0changedAccountList()\0" + "connectAccountsChangedSignal()\0" + "disconnectAccountsChangedSignal()\0" + "on_button_accountUp_clicked()\0" + "on_button_accountDown_clicked()\0" + "on_button_accountAdd_clicked()\0" + "on_button_accountRemove_clicked()\0" + "text\0on_edit1_alias_textChanged(QString)\0" + "current,previous\0" + "on_listWidget_accountList_currentItemChanged(QListWidgetItem*,QListWid" + "getItem*)\0" + "updateAccountStates()\0account\0" + "addAccountToAccountList(Account*)\0" + "updateAccountListCommands()\0item\0" + "updateStatusLabel(QListWidgetItem*)\0" + "updateStatusLabel(Account*)\0model\0" + "codecClicked(QModelIndex)\0name\0" + "addCodec(QString)\0addCodec()\0" + "codecChanged()\0value\0updateCombo(int)\0" + "addCredential()\0removeCredential()\0" + "item,previous\0" + "selectCredential(QListWidgetItem*,QListWidgetItem*)\0" + "accountId\0loadCredentails(QString)\0" + "saveCredential(QString)\0" +}; + +const QMetaObject DlgAccounts::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgAccounts, + qt_meta_data_DlgAccounts, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgAccounts::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgAccounts::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgAccounts::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgAccounts)) + return static_cast<void*>(const_cast< DlgAccounts*>(this)); + if (!strcmp(_clname, "Ui_DlgAccountsBase")) + return static_cast< Ui_DlgAccountsBase*>(const_cast< DlgAccounts*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgAccounts::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: updateButtons(); break; + case 1: saveAccountList(); break; + case 2: loadAccountList(); break; + case 3: { bool _r = hasChanged(); + if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; + case 4: updateSettings(); break; + case 5: updateWidgets(); break; + case 6: changedAccountList(); break; + case 7: connectAccountsChangedSignal(); break; + case 8: disconnectAccountsChangedSignal(); break; + case 9: on_button_accountUp_clicked(); break; + case 10: on_button_accountDown_clicked(); break; + case 11: on_button_accountAdd_clicked(); break; + case 12: on_button_accountRemove_clicked(); break; + case 13: on_edit1_alias_textChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 14: on_listWidget_accountList_currentItemChanged((*reinterpret_cast< QListWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QListWidgetItem*(*)>(_a[2]))); break; + case 15: updateAccountStates(); break; + case 16: addAccountToAccountList((*reinterpret_cast< Account*(*)>(_a[1]))); break; + case 17: updateAccountListCommands(); break; + case 18: updateStatusLabel((*reinterpret_cast< QListWidgetItem*(*)>(_a[1]))); break; + case 19: updateStatusLabel((*reinterpret_cast< Account*(*)>(_a[1]))); break; + case 20: codecClicked((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; + case 21: addCodec((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 22: addCodec(); break; + case 23: codecChanged(); break; + case 24: updateCombo((*reinterpret_cast< int(*)>(_a[1]))); break; + case 25: addCredential(); break; + case 26: removeCredential(); break; + case 27: selectCredential((*reinterpret_cast< QListWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QListWidgetItem*(*)>(_a[2]))); break; + case 28: loadCredentails((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 29: saveCredential((*reinterpret_cast< QString(*)>(_a[1]))); break; + default: ; + } + _id -= 30; + } + return _id; +} + +// SIGNAL 0 +void DlgAccounts::updateButtons() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp b/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9da9efad2deee43f8e60ddd85b23b47b4e584306 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlgaddressbook.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlgaddressbook.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlgaddressbook.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlgaddressbook.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DlgAddressBook[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgAddressBook[] = { + "DlgAddressBook\0" +}; + +const QMetaObject DlgAddressBook::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgAddressBook, + qt_meta_data_DlgAddressBook, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgAddressBook::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgAddressBook::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgAddressBook::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgAddressBook)) + return static_cast<void*>(const_cast< DlgAddressBook*>(this)); + if (!strcmp(_clname, "Ui_DlgAddressBookBase")) + return static_cast< Ui_DlgAddressBookBase*>(const_cast< DlgAddressBook*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgAddressBook::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp b/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp new file mode 100644 index 0000000000000000000000000000000000000000..32f745ab6c7bdd7008093b664d42215a88521444 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlgaudio.cpp @@ -0,0 +1,100 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlgaudio.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlgaudio.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlgaudio.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DlgAudio[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 5, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 10, 9, 9, 9, 0x05, + + // slots: signature, parameters, type, tag, flags + 26, 9, 9, 9, 0x0a, + 42, 9, 9, 9, 0x0a, + 64, 9, 59, 9, 0x0a, + 77, 9, 9, 9, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgAudio[] = { + "DlgAudio\0\0updateButtons()\0updateWidgets()\0" + "updateSettings()\0bool\0hasChanged()\0" + "loadAlsaSettings()\0" +}; + +const QMetaObject DlgAudio::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgAudio, + qt_meta_data_DlgAudio, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgAudio::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgAudio::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgAudio::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgAudio)) + return static_cast<void*>(const_cast< DlgAudio*>(this)); + if (!strcmp(_clname, "Ui_DlgAudioBase")) + return static_cast< Ui_DlgAudioBase*>(const_cast< DlgAudio*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgAudio::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: updateButtons(); break; + case 1: updateWidgets(); break; + case 2: updateSettings(); break; + case 3: { bool _r = hasChanged(); + if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; + case 4: loadAlsaSettings(); break; + default: ; + } + _id -= 5; + } + return _id; +} + +// SIGNAL 0 +void DlgAudio::updateButtons() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp b/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b6042216629faee0e11cc87a0e6340225561bd06 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlgdisplay.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlgdisplay.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlgdisplay.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlgdisplay.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DlgDisplay[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgDisplay[] = { + "DlgDisplay\0" +}; + +const QMetaObject DlgDisplay::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgDisplay, + qt_meta_data_DlgDisplay, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgDisplay::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgDisplay::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgDisplay::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgDisplay)) + return static_cast<void*>(const_cast< DlgDisplay*>(this)); + if (!strcmp(_clname, "Ui_DlgDisplayBase")) + return static_cast< Ui_DlgDisplayBase*>(const_cast< DlgDisplay*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgDisplay::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp b/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp new file mode 100644 index 0000000000000000000000000000000000000000..de9b4fe11cd79cacfad877ea4b1160c182aff3e9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlggeneral.cpp @@ -0,0 +1,87 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlggeneral.h' +** +** Created: Tue Apr 20 14:19:39 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlggeneral.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlggeneral.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DlgGeneral[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 1, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 12, 11, 11, 11, 0x05, + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgGeneral[] = { + "DlgGeneral\0\0clearCallHistoryAsked()\0" +}; + +const QMetaObject DlgGeneral::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgGeneral, + qt_meta_data_DlgGeneral, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgGeneral::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgGeneral::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgGeneral::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgGeneral)) + return static_cast<void*>(const_cast< DlgGeneral*>(this)); + if (!strcmp(_clname, "Ui_DlgGeneralBase")) + return static_cast< Ui_DlgGeneralBase*>(const_cast< DlgGeneral*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgGeneral::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: clearCallHistoryAsked(); break; + default: ; + } + _id -= 1; + } + return _id; +} + +// SIGNAL 0 +void DlgGeneral::clearCallHistoryAsked() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp b/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d0530070e14ee43945f3dd219392fd4f1e163aaf --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/moc_dlghooks.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'dlghooks.h' +** +** Created: Tue Apr 20 14:19:37 2010 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../../src/conf/dlghooks.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dlghooks.h' doesn't include <QObject>." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_DlgHooks[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_DlgHooks[] = { + "DlgHooks\0" +}; + +const QMetaObject DlgHooks::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_DlgHooks, + qt_meta_data_DlgHooks, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &DlgHooks::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *DlgHooks::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *DlgHooks::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_DlgHooks)) + return static_cast<void*>(const_cast< DlgHooks*>(this)); + if (!strcmp(_clname, "Ui_DlgHooksBase")) + return static_cast< Ui_DlgHooksBase*>(const_cast< DlgHooks*>(this)); + return QWidget::qt_metacast(_clname); +} + +int DlgHooks::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/sflphone-client-kde/cmake-build/src/qrc_resources.cxx b/sflphone-client-kde/cmake-build/src/qrc_resources.cxx new file mode 100644 index 0000000000000000000000000000000000000000..ac6b23e85fbbd8d13703f0284e0ba54488d1e65f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/qrc_resources.cxx @@ -0,0 +1,23422 @@ +/**************************************************************************** +** Resource object code +** +** Created: Tue Apr 20 14:19:41 2010 +** by: The Resource Compiler for Qt version 4.6.2 +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include <QtCore/qglobal.h> + +static const unsigned char qt_resource_data[] = { + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/fail.svg + 0x0,0x0,0x10,0x2f, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x65,0x62,0x2e,0x72,0x65,0x73,0x6f, + 0x75,0x72,0x63,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x63,0x63,0x2f,0x22,0xa,0x20,0x20, + 0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d,0x73,0x79,0x6e, + 0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e, + 0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77, + 0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76, + 0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32, + 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e, + 0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f, + 0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,0x2f, + 0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75,0x72,0x63,0x65, + 0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44,0x2f,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22,0xa,0x20,0x20, + 0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65,0x73,0x70,0x61, + 0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22,0xa,0x20,0x20, + 0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20,0x20,0x68, + 0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x73,0x76,0x67,0x32,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x33, + 0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76, + 0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x34,0x35,0x22,0xa,0x20,0x20, + 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20, + 0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f,0x63,0x62,0x61, + 0x73,0x65,0x3d,0x22,0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x70,0x6c,0x62,0x65,0x61,0x75, + 0x64,0x6f,0x69,0x6e,0x2f,0x53,0x46,0x4c,0x50,0x68,0x6f,0x6e,0x65,0x2f,0x73,0x66, + 0x6c,0x70,0x68,0x6f,0x6e,0x65,0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f,0x6e,0x65,0x2d, + 0x67,0x74,0x6b,0x2f,0x70,0x69,0x78,0x6d,0x61,0x70,0x73,0x22,0xa,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e,0x61,0x6d,0x65, + 0x3d,0x22,0x66,0x61,0x69,0x6c,0x2e,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x65, + 0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x6f,0x72,0x67,0x2e,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75,0x74,0x70,0x75,0x74,0x2e,0x73,0x76, + 0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22,0xa,0x20,0x20,0x20,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6d,0x6f,0x64,0x69,0x66,0x69,0x65,0x64, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x3e,0xa,0x20,0x20,0x3c,0x64,0x65,0x66,0x73, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x64,0x65,0x66,0x73,0x34,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x31,0x38,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f, + 0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x34,0x31,0x38,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x30,0x30,0x30,0x31,0x34,0x3b, + 0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x34,0x31,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d, + 0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x37,0x30,0x30,0x30,0x30,0x63,0x3b,0x73,0x74, + 0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x31,0x36,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c, + 0x6f,0x72,0x3a,0x23,0x38,0x30,0x30,0x30,0x30,0x65,0x3b,0x73,0x74,0x6f,0x70,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x34,0x31,0x36,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3a,0x23,0x62,0x30,0x30,0x30,0x31,0x34,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34, + 0x31,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a, + 0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x31,0x36,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x34,0x31,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x78,0x31,0x3d,0x22,0x37,0x2e,0x31,0x32,0x34,0x39,0x34,0x36,0x36,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x32,0x33,0x2e,0x39,0x34, + 0x36,0x35,0x31,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d, + 0x22,0x32,0x30,0x2e,0x30,0x36,0x30,0x35,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x79,0x32,0x3d,0x22,0x31,0x36,0x2e,0x34,0x37,0x38,0x31,0x33,0x32,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65, + 0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d, + 0x22,0x74,0x72,0x61,0x6e,0x73,0x6c,0x61,0x74,0x65,0x28,0x36,0x2e,0x33,0x31,0x33, + 0x34,0x35,0x33,0x65,0x2d,0x32,0x2c,0x2d,0x30,0x2e,0x33,0x38,0x34,0x32,0x37,0x35, + 0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x64,0x65,0x66,0x73,0x3e,0xa, + 0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65, + 0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x62, + 0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65,0x63,0x6f, + 0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22, + 0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x31,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f,0x77,0x3d,0x22,0x32,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x7a,0x6f,0x6f, + 0x6d,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x63,0x78,0x3d,0x22,0x31,0x33,0x2e,0x35,0x39,0x31,0x30,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x63,0x79,0x3d,0x22,0x31,0x32,0x2e,0x36,0x36,0x39,0x31,0x34,0x39,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x64,0x6f,0x63, + 0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75,0x6e,0x69,0x74,0x73,0x3d,0x22,0x70,0x78,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63, + 0x75,0x72,0x72,0x65,0x6e,0x74,0x2d,0x6c,0x61,0x79,0x65,0x72,0x3d,0x22,0x67,0x33, + 0x31,0x35,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d, + 0x22,0x33,0x32,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x68,0x65,0x69,0x67, + 0x68,0x74,0x3d,0x22,0x33,0x32,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73, + 0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65,0x73,0x3d,0x22,0x74,0x72,0x75,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67, + 0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f,0x78,0x3d,0x22,0x74,0x72,0x75,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77, + 0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x31,0x30,0x31, + 0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22, + 0x36,0x39,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x78,0x3d,0x22,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69, + 0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22,0x34,0x39,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x67,0x75,0x69,0x64,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74, + 0x69,0x6f,0x6e,0x3d,0x22,0x68,0x6f,0x72,0x69,0x7a,0x6f,0x6e,0x74,0x61,0x6c,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e, + 0x3d,0x22,0x38,0x2e,0x30,0x33,0x35,0x37,0x31,0x34,0x33,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x33,0x31,0x34, + 0x34,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x67,0x75,0x69,0x64,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x76,0x65, + 0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70, + 0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x35,0x2e,0x39,0x38,0x32,0x31, + 0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67, + 0x75,0x69,0x64,0x65,0x33,0x31,0x34,0x36,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76, + 0x69,0x65,0x77,0x3e,0xa,0x20,0x20,0x3c,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6d,0x65,0x74,0x61,0x64,0x61, + 0x74,0x61,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x52, + 0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f, + 0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a, + 0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61, + 0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d,0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66, + 0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72,0x65,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67, + 0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69,0x74,0x79,0x70,0x65,0x2f,0x53,0x74,0x69, + 0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x3c,0x2f, + 0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62, + 0x65,0x6c,0x3d,0x22,0x43,0x61,0x6c,0x71,0x75,0x65,0x20,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75, + 0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x67,0x33,0x31,0x35,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69, + 0x78,0x28,0x30,0x2e,0x38,0x36,0x37,0x38,0x36,0x31,0x34,0x2c,0x30,0x2e,0x38,0x36, + 0x37,0x38,0x36,0x31,0x34,0x2c,0x2d,0x30,0x2e,0x38,0x36,0x37,0x38,0x36,0x31,0x34, + 0x2c,0x30,0x2e,0x38,0x36,0x37,0x38,0x36,0x31,0x34,0x2c,0x31,0x31,0x2e,0x31,0x38, + 0x35,0x35,0x36,0x39,0x2c,0x2d,0x39,0x2e,0x39,0x36,0x34,0x33,0x31,0x31,0x33,0x29, + 0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x37, + 0x65,0x30,0x30,0x31,0x61,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x33,0x62,0x30, + 0x30,0x30,0x62,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68, + 0x3a,0x31,0x2e,0x32,0x32,0x37,0x33,0x34,0x31,0x34,0x31,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x63,0x61,0x70,0x3a,0x72,0x6f,0x75,0x6e,0x64, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e, + 0x3a,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69, + 0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x2e,0x36,0x30,0x31,0x38,0x38,0x30,0x38,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x35,0x2e, + 0x32,0x35,0x20,0x32,0x2e,0x31,0x38,0x37,0x35,0x20,0x43,0x20,0x34,0x2e,0x38,0x33, + 0x39,0x35,0x32,0x35,0x37,0x20,0x32,0x2e,0x31,0x38,0x37,0x35,0x20,0x34,0x2e,0x34, + 0x33,0x39,0x35,0x32,0x36,0x37,0x20,0x32,0x2e,0x33,0x34,0x31,0x37,0x32,0x33,0x33, + 0x20,0x34,0x2e,0x31,0x32,0x35,0x20,0x32,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x4c, + 0x20,0x32,0x2e,0x35,0x39,0x33,0x37,0x35,0x20,0x34,0x2e,0x31,0x38,0x37,0x35,0x20, + 0x43,0x20,0x31,0x2e,0x39,0x36,0x34,0x36,0x39,0x36,0x37,0x20,0x34,0x2e,0x38,0x31, + 0x36,0x35,0x35,0x33,0x33,0x20,0x31,0x2e,0x39,0x36,0x34,0x36,0x39,0x36,0x38,0x20, + 0x35,0x2e,0x38,0x30,0x38,0x34,0x34,0x36,0x36,0x20,0x32,0x2e,0x35,0x39,0x33,0x37, + 0x35,0x20,0x36,0x2e,0x34,0x33,0x37,0x35,0x20,0x4c,0x20,0x38,0x2e,0x33,0x31,0x32, + 0x35,0x20,0x31,0x32,0x2e,0x31,0x38,0x37,0x35,0x20,0x4c,0x20,0x32,0x2e,0x35,0x39, + 0x33,0x37,0x35,0x20,0x31,0x37,0x2e,0x39,0x30,0x36,0x32,0x35,0x20,0x43,0x20,0x31, + 0x2e,0x39,0x36,0x34,0x36,0x39,0x36,0x37,0x20,0x31,0x38,0x2e,0x35,0x33,0x35,0x33, + 0x30,0x33,0x20,0x31,0x2e,0x39,0x36,0x34,0x36,0x39,0x36,0x38,0x20,0x31,0x39,0x2e, + 0x35,0x32,0x37,0x31,0x39,0x37,0x20,0x32,0x2e,0x35,0x39,0x33,0x37,0x35,0x20,0x32, + 0x30,0x2e,0x31,0x35,0x36,0x32,0x35,0x20,0x4c,0x20,0x34,0x2e,0x31,0x32,0x35,0x20, + 0x32,0x31,0x2e,0x36,0x38,0x37,0x35,0x20,0x43,0x20,0x34,0x2e,0x37,0x35,0x34,0x30, + 0x35,0x33,0x33,0x20,0x32,0x32,0x2e,0x33,0x31,0x36,0x35,0x35,0x33,0x20,0x35,0x2e, + 0x37,0x37,0x37,0x31,0x39,0x36,0x35,0x20,0x32,0x32,0x2e,0x33,0x31,0x36,0x35,0x35, + 0x33,0x20,0x36,0x2e,0x34,0x30,0x36,0x32,0x35,0x20,0x32,0x31,0x2e,0x36,0x38,0x37, + 0x35,0x20,0x4c,0x20,0x31,0x32,0x2e,0x31,0x32,0x35,0x20,0x31,0x35,0x2e,0x39,0x36, + 0x38,0x37,0x35,0x20,0x4c,0x20,0x31,0x37,0x2e,0x38,0x34,0x33,0x37,0x35,0x20,0x32, + 0x31,0x2e,0x36,0x38,0x37,0x35,0x20,0x43,0x20,0x31,0x38,0x2e,0x34,0x37,0x32,0x38, + 0x30,0x33,0x20,0x32,0x32,0x2e,0x33,0x31,0x36,0x35,0x35,0x33,0x20,0x31,0x39,0x2e, + 0x34,0x39,0x35,0x39,0x34,0x37,0x20,0x32,0x32,0x2e,0x33,0x31,0x36,0x35,0x35,0x33, + 0x20,0x32,0x30,0x2e,0x31,0x32,0x35,0x20,0x32,0x31,0x2e,0x36,0x38,0x37,0x35,0x20, + 0x4c,0x20,0x32,0x31,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x32,0x30,0x2e,0x31,0x35, + 0x36,0x32,0x35,0x20,0x43,0x20,0x32,0x32,0x2e,0x32,0x38,0x35,0x33,0x30,0x33,0x20, + 0x31,0x39,0x2e,0x35,0x32,0x37,0x31,0x39,0x37,0x20,0x32,0x32,0x2e,0x32,0x38,0x35, + 0x33,0x30,0x33,0x20,0x31,0x38,0x2e,0x35,0x33,0x35,0x33,0x30,0x34,0x20,0x32,0x31, + 0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x31,0x37,0x2e,0x39,0x30,0x36,0x32,0x35,0x20, + 0x4c,0x20,0x31,0x35,0x2e,0x39,0x33,0x37,0x35,0x20,0x31,0x32,0x2e,0x31,0x38,0x37, + 0x35,0x20,0x4c,0x20,0x32,0x31,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x36,0x2e,0x34, + 0x33,0x37,0x35,0x20,0x43,0x20,0x32,0x32,0x2e,0x32,0x38,0x35,0x33,0x30,0x33,0x20, + 0x35,0x2e,0x38,0x30,0x38,0x34,0x34,0x36,0x37,0x20,0x32,0x32,0x2e,0x32,0x38,0x35, + 0x33,0x30,0x33,0x20,0x34,0x2e,0x38,0x31,0x36,0x35,0x35,0x33,0x34,0x20,0x32,0x31, + 0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x34,0x2e,0x31,0x38,0x37,0x35,0x20,0x4c,0x20, + 0x32,0x30,0x2e,0x31,0x32,0x35,0x20,0x32,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x43, + 0x20,0x31,0x39,0x2e,0x34,0x39,0x35,0x39,0x34,0x37,0x20,0x32,0x2e,0x30,0x32,0x37, + 0x31,0x39,0x36,0x37,0x20,0x31,0x38,0x2e,0x34,0x37,0x32,0x38,0x30,0x33,0x20,0x32, + 0x2e,0x30,0x32,0x37,0x31,0x39,0x36,0x36,0x20,0x31,0x37,0x2e,0x38,0x34,0x33,0x37, + 0x35,0x20,0x32,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x4c,0x20,0x31,0x32,0x2e,0x31, + 0x32,0x35,0x20,0x38,0x2e,0x33,0x37,0x35,0x20,0x4c,0x20,0x36,0x2e,0x34,0x30,0x36, + 0x32,0x35,0x20,0x32,0x2e,0x36,0x35,0x36,0x32,0x35,0x20,0x43,0x20,0x36,0x2e,0x30, + 0x39,0x31,0x37,0x32,0x33,0x33,0x20,0x32,0x2e,0x33,0x34,0x31,0x37,0x32,0x33,0x33, + 0x20,0x35,0x2e,0x36,0x36,0x30,0x34,0x37,0x34,0x33,0x20,0x32,0x2e,0x31,0x38,0x37, + 0x35,0x20,0x35,0x2e,0x32,0x35,0x20,0x32,0x2e,0x31,0x38,0x37,0x35,0x20,0x7a,0x20, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73, + 0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x35, + 0x37,0x36,0x31,0x32,0x38,0x39,0x2c,0x2d,0x30,0x2e,0x35,0x37,0x36,0x31,0x32,0x38, + 0x39,0x2c,0x30,0x2e,0x35,0x37,0x36,0x31,0x32,0x38,0x39,0x2c,0x30,0x2e,0x35,0x37, + 0x36,0x31,0x32,0x38,0x39,0x2c,0x2d,0x30,0x2e,0x37,0x30,0x33,0x36,0x30,0x31,0x38, + 0x2c,0x31,0x32,0x2e,0x31,0x38,0x35,0x30,0x35,0x36,0x29,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x74,0x32,0x31, + 0x38,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa, + 0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/unhold.svg + 0x0,0x0,0x16,0x7, + 0x0, + 0x0,0x87,0xf1,0x78,0x9c,0xed,0x5d,0x5b,0x73,0x22,0x47,0x96,0x7e,0xf7,0xaf,0x60, + 0xf1,0x8b,0x3b,0x46,0x14,0x99,0x27,0xef,0x72,0xcb,0xf3,0xd0,0xe,0x4f,0x4c,0xc4, + 0x4c,0xec,0xc6,0xda,0x8e,0x7d,0xdc,0x40,0x50,0x92,0x58,0x23,0xd0,0x2,0x6a,0x49, + 0xfe,0xf5,0xf3,0x9d,0xac,0x82,0xaa,0x82,0x44,0x5c,0x4,0xb4,0xdc,0x1e,0xcd,0xa5, + 0xe1,0x54,0x56,0x65,0xe6,0xc9,0x73,0xf9,0xce,0x57,0x59,0xc5,0xc7,0xbf,0x3e,0xdf, + 0x8f,0x5a,0x9f,0xf3,0xe9,0x6c,0x38,0x19,0x5f,0xb5,0x65,0x26,0xda,0xad,0x7c,0xdc, + 0x9f,0xc,0x86,0xe3,0xdb,0xab,0xf6,0xaf,0xbf,0xfc,0xd4,0xf1,0xed,0xd6,0x6c,0xde, + 0x1b,0xf,0x7a,0xa3,0xc9,0x38,0xbf,0x6a,0x8f,0x27,0xed,0xbf,0xfe,0xf0,0xcd,0xc7, + 0xff,0xe8,0x74,0x5a,0x9f,0xa6,0x79,0x6f,0x9e,0xf,0x5a,0x4f,0xc3,0xf9,0x5d,0xeb, + 0xef,0xe3,0xdf,0x66,0xfd,0xde,0x43,0xde,0xfa,0xee,0x6e,0x3e,0x7f,0xb8,0xec,0x76, + 0x9f,0x9e,0x9e,0xb2,0x61,0x29,0xcc,0x26,0xd3,0xdb,0xee,0x87,0x56,0xa7,0x83,0x33, + 0x67,0x9f,0x6f,0xbf,0x69,0xb5,0x5a,0xe8,0x76,0x3c,0xbb,0x1c,0xf4,0xaf,0xda,0x65, + 0xfb,0x87,0xc7,0xe9,0x28,0xb6,0x1b,0xf4,0xbb,0xf9,0x28,0xbf,0xcf,0xc7,0xf3,0x59, + 0x57,0x66,0xb2,0xdb,0xae,0x9a,0xf7,0xab,0xe6,0x4f,0xf9,0x75,0x36,0xcd,0x67,0x93, + 0xc7,0x69,0xbf,0xb8,0x7c,0xbf,0x5f,0x6f,0x39,0x1d,0xdc,0x54,0x4d,0x31,0x92,0x27, + 0x15,0x1b,0xc9,0x10,0x42,0x57,0x50,0x97,0xa8,0x83,0x16,0x9d,0xd9,0xcb,0x78,0xde, + 0x7b,0xee,0x8c,0x67,0xdf,0xd6,0x4e,0xc5,0x0,0x53,0xa7,0x92,0x10,0xa2,0x8b,0x63, + 0x55,0xcb,0xdd,0x5a,0x5d,0x3e,0x8f,0xa0,0x86,0x8d,0x83,0x89,0x47,0xeb,0xbd,0x43, + 0xf5,0xf,0xf8,0xdf,0xf2,0x84,0x85,0x20,0x2b,0xe6,0x7a,0x83,0x33,0xf3,0x6c,0x9c, + 0xcf,0xbb,0x3f,0xfe,0xf2,0xe3,0xf2,0x60,0x47,0x64,0x83,0xf9,0xa0,0x76,0x99,0x85, + 0xe6,0x1b,0xfd,0x36,0x96,0x63,0xdc,0xbb,0xcf,0x67,0xf,0xbd,0x7e,0x3e,0xeb,0x2e, + 0xe4,0xf1,0xfc,0xa7,0xe1,0x60,0x7e,0x77,0xd5,0x26,0x1d,0xbf,0xdd,0xe5,0xc3,0xdb, + 0xbb,0xf9,0xf2,0xeb,0x70,0x70,0xd5,0xc6,0xec,0x28,0x7e,0x59,0x74,0x7e,0xb9,0x34, + 0x1f,0x91,0xa9,0xe2,0xd0,0xe2,0x8a,0xf5,0x43,0xda,0xc4,0x43,0xd,0x5b,0x6b,0x5c, + 0x66,0x30,0xe9,0x5f,0xf7,0x66,0x18,0x72,0xf7,0x6e,0x72,0x9f,0x77,0x1f,0x46,0xd7, + 0x79,0xef,0x71,0x30,0x19,0x8e,0xbb,0x3f,0xff,0xf4,0x8f,0xff,0xba,0x83,0xf9,0x75, + 0x67,0x37,0xa3,0x87,0xc6,0x87,0xce,0xed,0xfc,0xb7,0xee,0xc3,0xf0,0xf9,0xbe,0xf7, + 0x30,0x5b,0xbb,0x1a,0x4f,0xf1,0xaa,0xfd,0x38,0xbe,0x9b,0x8c,0x6,0xd9,0x62,0x51, + 0x96,0x43,0x9b,0x3c,0xce,0x1f,0x1e,0xe7,0xff,0x9b,0x3f,0xcf,0xf3,0x71,0x31,0x22, + 0xa8,0xa5,0xa6,0xa3,0x78,0x98,0x4f,0xcb,0x1a,0xfa,0x59,0x76,0x70,0x8f,0xff,0xbb, + 0x19,0xe6,0xd0,0xc8,0x7c,0xfa,0x98,0xb7,0x7f,0xc0,0xc1,0x8f,0x83,0xfc,0x66,0xc6, + 0x8d,0xa,0x4d,0xf1,0x37,0x1d,0xf,0xe0,0x10,0xd6,0x39,0xef,0x4d,0xff,0x36,0xed, + 0xd,0x86,0x30,0xed,0xa2,0x51,0xd1,0xac,0x79,0x44,0x93,0xd,0xe5,0x39,0x38,0x6b, + 0x36,0x9f,0x3c,0x2c,0xda,0xa2,0xef,0xf9,0xcb,0x8,0x33,0x62,0x61,0xa7,0x3f,0x19, + 0x4d,0xa6,0x97,0xdf,0xa,0xd1,0xb3,0xd7,0xe2,0xfb,0x28,0x9a,0x60,0x39,0x87,0xf3, + 0x97,0x4b,0xf9,0x7d,0xbb,0x3a,0x67,0x72,0x73,0x33,0xcb,0xb1,0x82,0xa2,0x26,0x8b, + 0xcb,0x88,0x33,0x34,0x39,0xd9,0x6e,0x75,0xdf,0xd6,0x9b,0x48,0xf5,0x26,0xd3,0xbd, + 0xa9,0x65,0x6f,0x1f,0xbb,0xcd,0x69,0xef,0xab,0x25,0xe9,0xd5,0x26,0x2d,0x2d,0xfb, + 0x93,0xde,0x6c,0x51,0x44,0x7a,0x8a,0x26,0xa1,0xd0,0x8d,0x5a,0xaa,0xf5,0xe6,0xb6, + 0x28,0x22,0xd9,0x9b,0x9,0xe6,0x66,0x63,0x6f,0x6f,0xd6,0x92,0x75,0x7b,0xd8,0x92, + 0x47,0xf0,0x12,0xf9,0xa1,0xb6,0x24,0x61,0xb7,0xfb,0xd8,0xd2,0x35,0x3a,0x93,0xfa, + 0x50,0x5b,0x92,0x35,0xcb,0xdd,0x4b,0x4b,0x2f,0x84,0x2b,0xaa,0x2c,0x20,0x52,0x1b, + 0xb5,0xbc,0xf2,0x33,0xa4,0x36,0xf3,0xca,0x79,0x1f,0xaa,0x65,0x7c,0x91,0x68,0x4b, + 0x99,0x25,0x13,0x4,0x55,0x6d,0x21,0xa5,0x4c,0x58,0x83,0x15,0xaf,0xda,0xde,0x96, + 0xfd,0xfc,0x32,0xed,0x8d,0x67,0x88,0xd2,0xf7,0x57,0xed,0xfb,0xde,0x7c,0x3a,0x7c, + 0xfe,0xae,0x23,0x2f,0x4,0xfe,0x23,0x2f,0x14,0xce,0x82,0x99,0xf8,0x8b,0xe,0x65, + 0xde,0x6a,0xa7,0x3e,0xac,0x9d,0xfd,0xeb,0x78,0x38,0x47,0x62,0x79,0x9c,0xe5,0xd3, + 0x9f,0x39,0x38,0xff,0xe7,0xf8,0xd7,0x59,0xde,0xde,0xbc,0xc2,0x12,0x6a,0xaf,0x6, + 0xc6,0xb9,0xe4,0xf2,0x6e,0x9a,0x23,0xf7,0x7d,0xbb,0x1a,0x55,0x4c,0xb5,0x68,0xcb, + 0x10,0x88,0x95,0x18,0xe5,0x7d,0xa8,0xb8,0x37,0x7a,0xea,0xbd,0xcc,0x2a,0x85,0xa6, + 0x55,0x97,0x98,0xe2,0x9c,0x3f,0x8e,0x0,0x3,0xbe,0x43,0x80,0x27,0x2b,0x4d,0x9c, + 0x9c,0xb3,0x24,0x95,0xdd,0x77,0x76,0xa7,0x5a,0x99,0xa4,0xd6,0xf4,0xd9,0xb5,0xb6, + 0xc3,0xe4,0x45,0x66,0x9c,0x75,0x24,0x1b,0x93,0x97,0x3a,0x13,0xd0,0xa6,0xf2,0x8d, + 0xc9,0x43,0xc9,0x82,0xbc,0xb7,0xb6,0x31,0x79,0x69,0x32,0xd8,0x15,0x94,0xff,0xfa, + 0xe4,0x69,0xa7,0xc9,0x73,0x88,0x3d,0xa9,0xc9,0x0,0xb5,0x4,0xed,0x84,0x84,0xcd, + 0x88,0xcc,0x7b,0x23,0x83,0x3f,0xc8,0x66,0x28,0x33,0xca,0x38,0x69,0x1a,0x6a,0x53, + 0x32,0x53,0x8,0x7f,0x7e,0xd5,0x64,0x56,0x9b,0xb2,0x2e,0x75,0xa6,0x82,0x33,0xc2, + 0xbc,0xae,0x35,0xf1,0x3e,0xb4,0x26,0x33,0xb2,0xc0,0x8,0xf2,0xa2,0x3,0x74,0x2c, + 0x84,0x33,0x74,0xa0,0xd2,0x3c,0x19,0x1f,0x9a,0x8e,0xe6,0xe0,0x7d,0xa,0xff,0x35, + 0xab,0x5a,0x5b,0x6d,0x2b,0x23,0x7e,0x13,0x1a,0xd6,0x66,0x5f,0xd5,0x9a,0xf0,0xef, + 0x43,0x6b,0x16,0xd6,0xa0,0xb4,0x51,0x79,0x87,0xd8,0xda,0x94,0x7,0x1a,0x31,0x7, + 0x29,0xce,0x66,0xda,0x79,0xa9,0xa8,0xa1,0x38,0x12,0x8,0x3b,0xc2,0x34,0x3,0x14, + 0x21,0x98,0x69,0xe,0x46,0xd,0xbd,0xb9,0x4c,0x92,0x86,0xfc,0x35,0xbd,0x21,0xbd, + 0xa9,0xdd,0xf4,0x66,0xdd,0x9b,0xf5,0x96,0x5c,0x36,0xb9,0xd,0x5d,0xa1,0x4d,0x35, + 0xc4,0x9d,0xd1,0xd5,0x6,0x88,0xb1,0x15,0x5d,0xa1,0xb7,0x14,0x96,0xdb,0x82,0xae, + 0x36,0x40,0x8c,0x23,0xa1,0x2b,0xa9,0x82,0xd9,0x3,0x5d,0xa5,0x6,0xb3,0x33,0xba, + 0x42,0x5f,0x6e,0x2f,0x74,0xe5,0x58,0xd1,0xfd,0x1d,0x7a,0x4b,0xa1,0x2b,0xf4,0x16, + 0x8e,0x86,0x41,0x77,0xca,0xa1,0xdb,0xc0,0x35,0x19,0xda,0xdf,0xd8,0x36,0x68,0x7c, + 0x3b,0x94,0x27,0xa3,0xdf,0x9b,0xb1,0x69,0xa1,0xf7,0x31,0xb6,0x9b,0xf8,0xb7,0x32, + 0x98,0x5d,0x91,0xbc,0xd0,0xfb,0xd9,0xda,0x4d,0xff,0xe6,0xba,0x7f,0xbd,0xa2,0xe7, + 0x5d,0x81,0xbc,0xd0,0x47,0x33,0x35,0xa2,0x40,0x7b,0xe8,0x48,0xe,0x78,0xc9,0xe, + 0x74,0x48,0xf4,0xa5,0xf7,0x52,0x52,0xaa,0xb7,0x9d,0xcb,0x1d,0xf4,0x66,0x8f,0xa8, + 0x25,0xbf,0xcd,0xdf,0x48,0x89,0x6d,0xd6,0xb2,0xbb,0x42,0xb7,0xfa,0x1b,0x7a,0x4b, + 0x79,0xf7,0xb6,0xd2,0xf9,0xc6,0xdc,0xbc,0xd2,0xdb,0x5b,0xb5,0xa4,0x84,0x3e,0x57, + 0xe9,0x8c,0xbe,0xec,0xf9,0x4a,0x67,0xf4,0xe6,0xf,0xd4,0xd2,0xa6,0xe8,0xbd,0x37, + 0xc2,0x4b,0xa8,0xbb,0xe,0xaf,0x65,0x59,0xb,0xe9,0x1a,0xe4,0x2c,0x81,0xa8,0x94, + 0xc6,0x98,0xd0,0xc0,0x5e,0x80,0x73,0xd6,0xa3,0x31,0xd5,0x30,0x59,0x9,0x71,0x57, + 0x5a,0xef,0x86,0xf2,0xf6,0x46,0xdf,0xdb,0xf0,0xd5,0x49,0xd5,0xd6,0xac,0x7e,0x51, + 0xf5,0xd8,0x80,0x60,0xb1,0x52,0xf6,0xf0,0xa8,0x35,0xd5,0xa9,0x2,0x8a,0xf0,0xd4, + 0xe3,0xcf,0x9a,0xa6,0xd6,0x54,0xa6,0x8c,0xa9,0xa9,0xf2,0x8,0x4a,0x4b,0x16,0x7a, + 0x5f,0x54,0x6b,0xba,0x69,0x6c,0x6b,0x65,0xf3,0x86,0x12,0x3b,0x5d,0x8e,0x27,0x4b, + 0xf7,0xd7,0xd5,0x76,0xca,0xc9,0x33,0x81,0xfc,0xea,0xe4,0x9b,0x9c,0x81,0xcb,0xb0, + 0x20,0xec,0x3d,0x4d,0x93,0x31,0x59,0x90,0xa4,0xbc,0x6f,0x4c,0x1e,0xb5,0x8b,0x94, + 0xda,0x6b,0xd9,0x9c,0xbc,0xcc,0x4c,0x70,0x8a,0xcc,0x31,0x6d,0x26,0xc5,0x27,0x7d, + 0x51,0xad,0xf9,0xb7,0xcf,0x6e,0xf,0x42,0x30,0x4d,0x65,0x6d,0xa0,0xbd,0xd2,0x14, + 0x59,0x83,0x4e,0xfb,0x92,0xde,0x46,0x2b,0xa1,0x1d,0x63,0x25,0xeb,0x82,0x6d,0x4c, + 0xcb,0x66,0xe,0xce,0xe6,0x64,0x93,0x90,0x20,0x97,0x19,0x4b,0xcd,0x8,0x45,0x94, + 0x19,0x49,0x75,0xba,0xe6,0xad,0xb,0x82,0xa0,0xe4,0x8c,0x20,0x13,0x97,0xa5,0xfa, + 0x92,0x59,0x6b,0x9d,0x50,0xf8,0x20,0x9d,0xb,0xc2,0x6d,0x35,0xc0,0xcd,0x3d,0x20, + 0x2c,0x53,0x90,0x2a,0x76,0xd0,0x59,0x7c,0xe9,0x48,0x66,0xd,0xac,0xf0,0x17,0x2a, + 0x64,0xe,0x41,0xd1,0x1d,0x42,0x48,0xd8,0xcc,0x3a,0x27,0x82,0x6b,0x7a,0x2a,0xfc, + 0xd7,0xb,0xdb,0x48,0x89,0x32,0xaa,0xce,0xc3,0xd5,0x45,0x93,0x91,0xe0,0xf0,0xa7, + 0x4,0x57,0xb3,0xaf,0x95,0x71,0xce,0xec,0xef,0x47,0x7,0x32,0x12,0x5f,0x19,0x47, + 0xdf,0x88,0xa2,0x27,0x56,0xdd,0xd7,0xc3,0xd1,0x2b,0xbf,0xe3,0x9d,0x8d,0x23,0x6a, + 0xed,0xdd,0x70,0xf4,0xca,0xef,0x76,0x83,0xe2,0xdf,0x1c,0x7d,0x53,0x6b,0xef,0xe4, + 0xce,0xc6,0x1f,0x8a,0xa3,0x57,0xfe,0x7c,0x77,0x36,0x52,0xdd,0xbb,0x8d,0x85,0x76, + 0xc5,0x47,0xd6,0x66,0x70,0x7a,0xae,0x59,0xd5,0x2c,0xf2,0x9d,0xd0,0x7f,0x8,0x2e, + 0x1b,0x49,0x9b,0xc4,0x60,0xc8,0xbe,0x81,0xda,0xc2,0xfc,0xc5,0x7e,0xd4,0x96,0x4e, + 0x32,0x31,0xaf,0xab,0xb0,0xd6,0x1b,0x1d,0x51,0x4b,0x1b,0x9,0xc0,0xaa,0x3f,0x9b, + 0x22,0x77,0xb7,0xd8,0xd2,0x6,0x85,0xee,0x60,0x4b,0x36,0x65,0xb9,0x5b,0x6c,0x29, + 0xd5,0xdb,0xc1,0xb6,0x74,0x3a,0x64,0x2f,0xb5,0xb0,0x7b,0x86,0xb5,0x63,0x57,0xdb, + 0x5f,0xb0,0xac,0xd1,0x72,0x1d,0x58,0x1e,0x99,0x58,0x6a,0x68,0xed,0x98,0x84,0xd8, + 0x17,0x55,0xdb,0x51,0x69,0x82,0x57,0xf1,0xc9,0x91,0x19,0xb1,0x2f,0x48,0x3f,0xe8, + 0x9a,0xb7,0x9c,0x88,0x5c,0xa9,0x2b,0xed,0x98,0x9c,0xd0,0x17,0xd5,0xda,0xae,0x7c, + 0xdc,0x71,0x2a,0xc4,0x93,0x91,0x36,0x3c,0xaa,0xde,0xe8,0xa8,0xaa,0x13,0xba,0x9, + 0xa5,0x9b,0x5d,0x68,0x61,0x2a,0xd5,0xf5,0x9f,0x31,0xa8,0x90,0x91,0x6f,0xa0,0xf2, + 0xfe,0xcb,0x55,0x3b,0x64,0x2c,0xd3,0x54,0x65,0xd4,0x9b,0x64,0xdb,0x9b,0x64,0xdb, + 0x69,0x8c,0x6a,0x3e,0x8a,0xf7,0x5c,0xa7,0xd9,0xc3,0x34,0xef,0xd,0xfe,0x99,0xcf, + 0xef,0x26,0x3c,0xf6,0xfc,0x86,0xe7,0xbf,0x13,0xd3,0x83,0xa5,0x43,0x1d,0x51,0x32, + 0x3d,0xe5,0x17,0x8e,0x6,0xc2,0x68,0x7f,0x61,0x32,0x47,0x8e,0xf4,0x76,0x76,0xfa, + 0xeb,0x62,0x28,0x48,0x7,0xb9,0xbf,0xbf,0xbd,0x85,0xdc,0xe1,0x4c,0xa4,0x9c,0x31, + 0x2b,0x91,0x84,0x2,0x8a,0x91,0x15,0xcd,0x59,0x34,0x15,0xc6,0x37,0x35,0x87,0x15, + 0xd3,0xc2,0x2b,0xbf,0x9e,0x4b,0x4e,0x44,0x7c,0xa4,0x94,0xe6,0xc3,0x79,0x95,0xb6, + 0x7a,0x67,0x66,0x43,0xca,0x4a,0xa7,0xb7,0x64,0x2a,0x3c,0x75,0xe9,0x9f,0xd4,0x9a, + 0xdb,0x49,0x6b,0xc7,0xa8,0x36,0x4b,0x53,0xb,0x3a,0x98,0x55,0x5e,0x39,0x63,0xfc, + 0x68,0xb5,0x5d,0xf5,0xd2,0x55,0x38,0x95,0x42,0x5e,0x27,0x2e,0xfd,0x93,0x4a,0xdb, + 0x8d,0x7c,0x3d,0x9a,0xd2,0x4e,0xc0,0x72,0xbd,0x61,0xf2,0x3b,0xee,0x85,0x3b,0x9, + 0x3f,0x41,0xbc,0xc3,0xfa,0x4c,0x95,0x37,0xfa,0xf2,0x7b,0x55,0xde,0x1b,0xa,0xc5, + 0xd7,0xb,0xce,0xaa,0x37,0x12,0xc7,0xaa,0xbc,0x71,0xad,0xad,0x95,0x37,0xd5,0x73, + 0xff,0xc9,0x2b,0x6f,0xf4,0x76,0x40,0xe5,0xbd,0x81,0xca,0x38,0x9e,0x96,0xf6,0x61, + 0x71,0xde,0xb6,0xa9,0x44,0xab,0xfd,0x58,0x9c,0xb7,0x6d,0x2a,0xd1,0xea,0x50,0x16, + 0xe7,0x94,0xb5,0xa6,0x5a,0xb9,0xcf,0xbf,0x46,0x87,0x6e,0xa0,0x4e,0xd3,0x34,0x6b, + 0x92,0x92,0x3d,0x4a,0xe9,0x1f,0x88,0x44,0xf0,0xf6,0x9d,0x6c,0x2a,0xd1,0xaa,0x19, + 0xcb,0xd7,0xb9,0xf7,0xd,0x3c,0x7d,0x92,0xd2,0x4f,0xb2,0xff,0xc7,0xa8,0xfc,0xa1, + 0x36,0x29,0x90,0xa5,0xcc,0x3b,0xd9,0x55,0xa2,0xd5,0xfa,0x6d,0xd5,0x3f,0xcd,0xae, + 0x12,0xad,0x9b,0x37,0xf9,0x8f,0x59,0x6,0x1f,0xd5,0xd5,0x98,0x23,0xf6,0x81,0xde, + 0xc9,0xb6,0x12,0xad,0x8f,0xb0,0xd1,0x6a,0xad,0x42,0xc4,0x2c,0x5d,0x30,0xee,0x8f, + 0xbe,0xaf,0x64,0xab,0xee,0xd6,0x77,0x71,0x35,0xb7,0x31,0x6c,0xd8,0xf2,0x40,0xc9, + 0xb6,0x90,0x7a,0x84,0x29,0x4c,0x4a,0x1e,0x61,0xc7,0xe0,0x72,0xdf,0x7,0x19,0x6b, + 0x48,0x2e,0x36,0x7e,0x94,0xdf,0x3a,0x4c,0xb0,0x69,0x74,0x74,0x41,0x3e,0x73,0x4e, + 0x29,0x11,0x3e,0x6c,0x63,0x7b,0x76,0x20,0x35,0x28,0x83,0x4e,0x4,0xa9,0xbc,0x23, + 0xe3,0xda,0xd7,0xbe,0xbd,0xc6,0x75,0x2c,0x7a,0xd8,0x8d,0x54,0x79,0x5d,0x15,0x49, + 0x4e,0x27,0x4d,0xff,0xa4,0xa9,0xa2,0x34,0xad,0x94,0xa6,0xa0,0xd6,0x79,0x2b,0x52, + 0x7a,0xb7,0x5b,0xc0,0xd,0xfa,0xeb,0xdf,0xdb,0x54,0xa,0xd5,0xed,0x76,0x1f,0xf8, + 0x68,0x7c,0xc6,0xda,0xb6,0xc1,0xd,0x74,0x72,0x9a,0x7a,0x4e,0xd2,0xd4,0xe7,0x67, + 0x81,0x94,0x3a,0xdf,0xe6,0x9e,0xaf,0x87,0x5,0x52,0x6a,0xb7,0xcd,0x3d,0x47,0x64, + 0x81,0x76,0xbd,0x51,0xf6,0x9e,0x79,0x20,0xa5,0xce,0xb7,0x2d,0xe8,0xdd,0xf1,0x40, + 0x4a,0x9d,0x6f,0x77,0x4f,0x72,0x1b,0xeb,0xf9,0x78,0x20,0x45,0xe7,0xe4,0x81,0x94, + 0x3a,0x1e,0xf,0xc4,0xbb,0x39,0xb6,0x3e,0xee,0x43,0x7,0x3c,0xcc,0x77,0x30,0xf, + 0xa4,0x92,0xac,0xd3,0x97,0xe5,0x81,0x78,0x3f,0xd3,0xd9,0x1e,0x2e,0x92,0x67,0x7d, + 0xb8,0x48,0xbe,0xc7,0x87,0x8b,0xfc,0xca,0xe,0xf4,0xf7,0xca,0x3,0xbd,0xaf,0x67, + 0x8b,0x56,0xee,0xb9,0xbd,0x53,0x1a,0xe8,0xbd,0x3d,0x5b,0x94,0xd8,0x5c,0xff,0xa7, + 0x61,0x81,0x94,0x58,0x61,0xe,0xdf,0x27,0xb,0xf4,0xde,0x9e,0x2d,0xf2,0xfb,0x6e, + 0xa3,0x7b,0x5b,0x85,0x78,0x66,0xe,0xe8,0x35,0xe2,0x62,0xc7,0xe7,0x6e,0xf6,0xd3, + 0x4e,0xfa,0x21,0xa1,0xe4,0xe3,0x44,0xe9,0x7,0x8f,0x92,0xf,0x29,0x25,0xcd,0xfd, + 0x8b,0x22,0x52,0x7e,0x28,0x7c,0x1b,0xfa,0xe1,0x87,0xbd,0xf7,0xc6,0x5a,0x87,0xee, + 0x9c,0x46,0xa2,0xdc,0xf6,0xdc,0xff,0xd9,0x77,0x4e,0x43,0x3,0xe2,0x8c,0x2f,0x5, + 0xa0,0xbd,0xb0,0xd6,0x86,0x67,0xd8,0x77,0xc5,0x5a,0xc1,0x1c,0x4f,0x4b,0x7e,0xeb, + 0x2e,0x7c,0xb4,0x39,0x60,0x17,0xfe,0xc1,0x2f,0x5,0x20,0x7f,0xc0,0x2e,0xfc,0xd, + 0x6f,0x59,0x38,0x9a,0x96,0xdc,0xf6,0x57,0x27,0x90,0x3f,0xe0,0xd5,0x9,0xe9,0xf7, + 0x75,0xec,0xa2,0xa4,0x3,0xde,0x9c,0x70,0x93,0xdf,0xe4,0xb9,0x5b,0xe9,0x2c,0x3, + 0x98,0x15,0x5e,0xba,0x3,0xe1,0xfb,0x6b,0x41,0xde,0x2a,0x66,0xee,0xca,0x20,0x5f, + 0x7e,0x51,0x19,0xe0,0xb3,0x8,0x1c,0xe4,0x7d,0xd0,0x21,0xc8,0xf7,0x1b,0xe4,0xcd, + 0x99,0xf7,0xde,0x9c,0x9b,0x51,0x46,0xb5,0xe1,0xc8,0x9a,0x40,0x79,0x47,0xba,0x95, + 0x6f,0x27,0x62,0x9a,0xeb,0x93,0x3b,0x31,0x67,0x7a,0x62,0x46,0xf8,0x54,0x44,0x76, + 0x52,0x6b,0xe7,0xdb,0xa4,0xb9,0xc7,0xe4,0xcf,0xf2,0x40,0x24,0x29,0xbd,0xdb,0x66, + 0xcb,0x3f,0xcc,0x3,0x91,0xc7,0xa7,0xf1,0x93,0x5a,0x3b,0xdf,0x66,0xcb,0x13,0xb3, + 0xe1,0x27,0x63,0xf1,0x93,0x6a,0x3b,0x5f,0xc8,0x4f,0x12,0xdd,0x1b,0xdf,0x0,0x5d, + 0x61,0x3f,0x9d,0x42,0xda,0x27,0xc3,0xf5,0x3a,0xf5,0xae,0xbf,0x2f,0x8b,0xeb,0x95, + 0xda,0xf8,0x6,0xe8,0xdd,0x5f,0xeb,0xbc,0x23,0xae,0x57,0xca,0xec,0x87,0xeb,0xd3, + 0xaf,0x75,0xde,0x15,0xd7,0x2b,0x77,0x3c,0x2d,0xd1,0xc6,0x37,0x40,0xd7,0x18,0xf2, + 0xb0,0xbf,0x2d,0x6d,0x78,0xf1,0xf8,0xe,0xb6,0xa4,0xe,0xa8,0x11,0x37,0xbc,0x78, + 0xfc,0xdd,0x31,0xcd,0xda,0x1e,0x6f,0xef,0x8,0x87,0x35,0x1d,0xe4,0x12,0x38,0x17, + 0x5f,0x80,0xf8,0x0,0xed,0x84,0xe4,0xf4,0xe3,0x9c,0xd1,0xf5,0x97,0x86,0x1c,0xf7, + 0xed,0x2a,0x85,0x72,0x3f,0x76,0xf9,0x35,0xf6,0xf1,0xd3,0xf2,0xd5,0xf7,0xfc,0x62, + 0xfd,0xc1,0xe7,0x61,0xfe,0xf4,0xcd,0x52,0xf,0xfc,0xe6,0xfe,0xf2,0x3a,0xf,0xbd, + 0xdb,0x3c,0x2e,0x1b,0xb4,0x57,0xd4,0x35,0xe5,0x81,0xeb,0xc9,0x74,0x90,0x4f,0x17, + 0x87,0x6c,0xfc,0x6b,0x1c,0x2a,0x57,0xf6,0x6a,0xf9,0xdb,0x0,0xb5,0xc5,0xe2,0xab, + 0x2e,0x8f,0x8b,0xf4,0xf1,0xd9,0x5d,0x6f,0x30,0x79,0xc2,0x1c,0x56,0xf,0xfe,0x3e, + 0x99,0xdc,0x57,0x36,0x56,0x19,0xc0,0x73,0xd4,0x57,0xd0,0xf0,0x57,0xb3,0x76,0xf0, + 0x85,0x1,0x4b,0x8,0xde,0xba,0xe5,0xbb,0x7f,0x96,0x7,0x7,0x93,0xfe,0x23,0xff, + 0x44,0x45,0xe7,0xb1,0x58,0xdc,0x87,0xe7,0xb5,0xd3,0x1f,0xa7,0x53,0x6e,0x30,0xea, + 0xbd,0xe4,0x98,0x6e,0xfc,0x67,0x31,0x80,0xf2,0x37,0x16,0x14,0x2d,0x4f,0x5b,0xfc, + 0xce,0x42,0x4d,0x34,0xbb,0x9b,0x3c,0xdd,0x3e,0xe,0x7,0xf9,0xac,0xfc,0x85,0x81, + 0x95,0xe,0xe2,0xb1,0xce,0xf5,0xf5,0xe4,0x39,0x7d,0xfc,0x69,0x38,0x86,0x32,0x3a, + 0x65,0x5f,0x52,0x2c,0xf7,0xe3,0xac,0xb6,0x58,0xf4,0x6d,0xc3,0x9a,0x82,0xca,0x16, + 0xe8,0x61,0x4d,0x3d,0xe5,0x21,0x28,0x49,0x2f,0xb2,0x55,0x65,0x20,0x71,0x6c,0xb, + 0xab,0x9a,0x4c,0xd9,0xbe,0x7b,0xf3,0xf8,0x1b,0xb,0x77,0xf8,0xf6,0xfb,0x4,0x5f, + 0x47,0x4b,0xab,0x7b,0x98,0xcc,0x86,0xc5,0x41,0x9f,0x9,0xbe,0x3f,0xa0,0x9b,0x2e, + 0x16,0x2f,0xa6,0xa4,0xae,0xde,0xb7,0xb8,0x4b,0x47,0x9f,0xf3,0xe9,0x7c,0xd8,0x4f, + 0x76,0xc3,0x18,0xdc,0xd3,0xa6,0x6e,0xec,0xd2,0xf0,0xd7,0xed,0x3d,0xca,0xef,0xf3, + 0x79,0x6f,0xd0,0x9b,0xf7,0x2a,0xe3,0x5f,0x48,0x16,0xa1,0xf6,0xe3,0x74,0x70,0x73, + 0xf9,0xdf,0x3f,0xfe,0xb4,0xc,0x85,0xfd,0xfe,0xe5,0xff,0x4c,0xa6,0xbf,0x55,0x21, + 0x8e,0x1b,0xf4,0xae,0x27,0x8f,0x50,0xfb,0x32,0x3c,0xa3,0xdd,0xa0,0x7f,0xc9,0x21, + 0xa0,0x37,0xff,0x61,0x78,0xf,0x7b,0xe6,0x5f,0x12,0xf9,0xcb,0xf3,0xfd,0x8,0x3e, + 0xb8,0x3c,0xd0,0x68,0x3c,0x7f,0x79,0xc8,0xab,0x8b,0x16,0x97,0x5d,0xfc,0x2a,0x4a, + 0xf2,0x97,0x55,0x6,0xfd,0xfb,0x21,0x9f,0xd4,0xfd,0x79,0x3e,0x1c,0x8d,0xfe,0xce, + 0x9d,0xd4,0x43,0x76,0xb7,0x1c,0xe8,0x22,0xaa,0xd6,0xe6,0xf1,0xb1,0xbb,0x98,0x65, + 0xfc,0x76,0xbb,0x62,0xe,0xa3,0xde,0x75,0x3e,0xba,0x6a,0x7f,0xea,0x8d,0xfe,0xff, + 0x31,0x6f,0xad,0x19,0xd2,0xed,0x74,0xf2,0xf8,0x70,0x3f,0x19,0xe4,0xa5,0x27,0xb4, + 0x2b,0xe5,0x95,0x9e,0x51,0x76,0x79,0xdb,0x58,0x12,0xd2,0x26,0x81,0xb0,0xd2,0x7d, + 0xb5,0x5a,0xf3,0x74,0x89,0x7,0x8c,0x8e,0xeb,0xd0,0x45,0xc7,0x3,0x72,0xf3,0xab, + 0x9b,0x7d,0xde,0x1,0xfc,0x5c,0x4e,0xfa,0xa1,0x37,0xbf,0x6b,0xe6,0x29,0x96,0xa8, + 0xfa,0x2b,0x58,0x5a,0x2d,0x48,0xff,0xd9,0x22,0xc4,0x25,0xe5,0x15,0xa1,0x2a,0xce, + 0xb4,0x50,0x5a,0x78,0xdd,0xfa,0x47,0xb,0xe6,0x24,0x45,0xb0,0xe1,0x42,0xc3,0xac, + 0xb4,0x72,0xd6,0xd6,0x85,0x92,0xcf,0x91,0xc6,0x85,0xd6,0xa7,0x16,0xaa,0x22,0x6b, + 0x83,0x13,0xa8,0xab,0x51,0x45,0xf0,0xa3,0x6e,0x8e,0x65,0x28,0x13,0x9d,0x77,0xb1, + 0xa5,0x46,0xcd,0x4,0x99,0xca,0x8c,0x7,0x58,0x8b,0x67,0x3,0xc3,0x3b,0xa7,0xf8, + 0x6c,0x94,0x4f,0xc0,0xce,0x5a,0xb3,0xd4,0x1b,0x6d,0xad,0x63,0x19,0x8a,0x75,0x85, + 0x74,0xc0,0x47,0xb5,0xd6,0xca,0xb0,0xcc,0x84,0x10,0x4,0xda,0xa1,0xc8,0x20,0x15, + 0x7c,0x79,0x76,0x0,0xae,0x15,0x96,0xa5,0x1,0x7e,0xa6,0x88,0xfb,0x9,0x40,0xc8, + 0x4a,0x46,0x99,0xe,0xda,0x48,0x1e,0x8f,0x43,0xc3,0x10,0xdb,0x69,0x4d,0xc6,0x58, + 0x3e,0xdb,0x64,0x86,0x84,0xb1,0xb1,0xa5,0x60,0x1e,0x4c,0xb3,0xc,0x67,0x8,0x41, + 0xdc,0x37,0x8a,0x53,0x27,0xa2,0xc,0x3,0xd7,0x92,0xe2,0x18,0x5,0x61,0x64,0x85, + 0x32,0x2,0xb0,0xa0,0xd3,0x1b,0xa4,0x16,0xc5,0x22,0x9,0x61,0x9,0x52,0x12,0x19, + 0x53,0x68,0x90,0xea,0xcc,0x6b,0x8b,0x6b,0x85,0x86,0x34,0x64,0x6,0x3,0x25,0x22, + 0x1e,0x55,0xc0,0x58,0x5,0x40,0x3e,0xa4,0x68,0xea,0x3,0xa4,0xbc,0x4b,0x90,0x1c, + 0xa,0x2,0x6e,0x69,0xf9,0x2e,0x2f,0x64,0x1e,0x85,0xa7,0x55,0x81,0x20,0x43,0x75, + 0x65,0xa5,0x8d,0x67,0xa3,0xea,0x26,0xaf,0xc9,0xf3,0x6a,0x28,0x87,0x9c,0x17,0x58, + 0x86,0x5,0x46,0xaa,0x8d,0xfb,0x24,0x2d,0xae,0xe4,0x58,0x86,0xc,0x80,0xf4,0x19, + 0x47,0xf,0x4,0x40,0x51,0x23,0x8,0x56,0x86,0x7c,0xe0,0xc9,0xa3,0x38,0x53,0x4e, + 0x73,0xd7,0x2,0xd8,0x1d,0xc3,0x61,0x19,0x6a,0xe2,0x20,0x59,0x16,0xa4,0xf4,0x5e, + 0xf2,0xc9,0xc1,0xa,0xac,0x6,0x4e,0x26,0xe6,0xc1,0x7c,0xd0,0x96,0xa5,0x46,0x63, + 0xe6,0x36,0x1a,0x97,0x47,0xfc,0x9,0x3c,0x1c,0x6f,0x83,0xd1,0x2e,0xca,0xa4,0x47, + 0x9,0x13,0x87,0x48,0x88,0xe1,0x6c,0x70,0x95,0x19,0xa6,0xa5,0xb0,0x32,0xc2,0x34, + 0xbd,0x6f,0x48,0x2b,0x93,0xfd,0xbd,0xb5,0xe,0xb6,0x2a,0x1e,0x50,0x78,0x11,0x50, + 0x56,0xfa,0xef,0x6f,0x10,0x21,0x18,0x79,0xf1,0x5f,0xfc,0x52,0xc3,0x79,0xb3,0xf9, + 0x74,0xf2,0x5b,0xbe,0x3c,0x5a,0x7c,0x2d,0x72,0xcd,0x25,0xff,0xd4,0x8f,0x44,0x6d, + 0x4a,0x7e,0x21,0x47,0xcc,0xc9,0xa7,0xa3,0x21,0xfe,0xb9,0xd4,0xb,0xd9,0xa0,0x87, + 0x6c,0x3d,0x9d,0xf6,0x5e,0x2e,0xc7,0x93,0x71,0xbe,0x90,0x56,0xaf,0xf,0xae,0x45, + 0xa5,0xb4,0x83,0xc2,0xa7,0xed,0x9a,0x83,0xa2,0xef,0x20,0xb0,0xea,0x80,0x49,0xc1, + 0x7,0x87,0xa2,0x90,0xd,0x4d,0x33,0xcc,0x11,0x58,0x17,0x7c,0x80,0xf7,0x69,0xd2, + 0xd,0x29,0xb4,0x68,0xa5,0x83,0x2d,0x17,0x2e,0x2a,0x89,0x84,0x22,0x96,0x1a,0xde, + 0x63,0xac,0xa2,0x3b,0x2,0x4,0xc8,0x28,0xb3,0xa,0x13,0x8e,0x32,0x1,0x7d,0x2a, + 0x5d,0xb8,0xb2,0x96,0x2a,0x14,0x4e,0x6,0xdb,0x52,0x85,0xdb,0x6b,0x2d,0xd1,0xa0, + 0x85,0x4f,0x4e,0x3a,0xac,0x70,0x74,0x13,0x5,0xf5,0x4a,0x6e,0x7,0xe3,0x21,0x8a, + 0xd6,0x13,0xd0,0x4c,0x97,0x67,0x2b,0x6f,0x7d,0xe1,0x8e,0xda,0x63,0x2,0x9e,0xfb, + 0x51,0xd6,0x79,0x13,0xdd,0xd1,0x28,0xe3,0x65,0xc,0x19,0x98,0xbc,0xa7,0xd2,0x19, + 0xa3,0xd9,0xc7,0x91,0x7,0x6,0x79,0xb1,0x1f,0x2b,0x60,0x86,0xec,0x61,0x8a,0x89, + 0xa9,0x18,0x5b,0x62,0xbc,0x89,0x22,0x8,0x54,0x14,0x29,0xe6,0x62,0x5c,0xe1,0x8a, + 0xa,0x93,0xd,0x61,0x83,0x14,0xde,0x8f,0x28,0x2,0x2f,0x60,0x69,0x0,0x14,0x85, + 0x1d,0x73,0xbc,0xd3,0x8a,0x34,0x7,0xb1,0xba,0x34,0x64,0x92,0xc3,0xac,0x33,0x85, + 0x83,0xf2,0x53,0x5f,0xec,0xb5,0x2,0x8e,0x68,0x3c,0xbb,0xd,0xda,0x21,0x5e,0xa1, + 0x99,0x1,0x28,0xa1,0x28,0x92,0x6,0xd8,0xd4,0xb1,0x17,0x33,0x9f,0x22,0x4d,0xe1, + 0x9d,0xec,0xf0,0x46,0x41,0x1a,0x60,0xcb,0xa8,0xd9,0x5b,0x8c,0x6d,0x95,0x8d,0x71, + 0x11,0x2e,0xa2,0xbd,0xe5,0xc5,0x71,0x19,0x22,0x8f,0x95,0x2a,0xaa,0x9c,0xbc,0xc, + 0xa5,0x6f,0x3,0xc2,0x52,0xe1,0x8a,0x2,0x43,0xd4,0xdc,0xd,0xce,0x20,0x1d,0x25, + 0x46,0x59,0xe3,0x78,0x78,0xca,0x6a,0x12,0xa5,0x1b,0x5a,0x67,0x75,0xe1,0x9c,0xd0, + 0x1e,0xb9,0xe8,0xb2,0x92,0x6c,0xc0,0x15,0x21,0x83,0xf2,0xb5,0x8b,0xcb,0xad,0xe1, + 0x90,0x52,0x45,0x63,0x73,0xc2,0x7b,0x9e,0x1d,0x8c,0xe,0xe1,0xc3,0x15,0x91,0xaa, + 0x34,0xc1,0xb4,0x14,0x6b,0x27,0x8d,0x40,0xa1,0xd0,0x90,0x56,0xe6,0x9a,0x72,0xce, + 0xe8,0x89,0xc8,0xe2,0xdf,0x7d,0xbb,0x5e,0x6e,0x7c,0xd8,0xe4,0x9a,0x72,0x60,0x7b, + 0xf6,0xe6,0x4,0xae,0xf9,0x7d,0x15,0x2b,0x62,0x76,0x41,0x11,0x52,0xf7,0xd6,0xdb, + 0x6a,0xf8,0xc9,0x84,0xdc,0x51,0x9c,0xf0,0x88,0xa4,0xe5,0x1b,0xbc,0x50,0x3a,0xaa, + 0x8d,0xf,0xb5,0x39,0x6f,0x4d,0xf3,0x4b,0x6c,0x20,0x54,0x1d,0x3b,0xdd,0xd6,0x81, + 0x50,0xd1,0xa2,0xf9,0xaa,0x9f,0x9d,0x2e,0xbd,0x61,0xd0,0x9c,0x15,0x91,0xb5,0xa4, + 0xbe,0xc0,0xf0,0x91,0x64,0xd,0xbc,0xf7,0x43,0xad,0xf7,0xd5,0xfe,0x37,0x5c,0xc6, + 0x71,0xc6,0x34,0x28,0xdb,0xd8,0xc,0x10,0x89,0x90,0xba,0x3f,0xb4,0x9b,0xe7,0xed, + 0x34,0xc6,0xa5,0xa,0xb4,0x6d,0xc,0x62,0x7d,0x18,0x8b,0x96,0xd2,0xaf,0x5e,0xa1, + 0x31,0xc4,0xc5,0xdd,0x0,0x18,0x8,0x0,0x8c,0xf3,0xf1,0x47,0x32,0x9c,0xf1,0x2, + 0x89,0x2b,0x7e,0x90,0xce,0xc4,0x92,0x13,0x87,0x11,0x50,0x2c,0xb2,0x89,0x9,0x86, + 0x2c,0xa2,0x8d,0x82,0x2b,0x92,0xd0,0x81,0x56,0x67,0xd2,0x34,0xdf,0x9a,0x29,0xad, + 0xa6,0x8d,0xca,0x9e,0x34,0x70,0x7,0xd2,0x9d,0x59,0x99,0xd4,0x5a,0xe,0x58,0xe9, + 0xa0,0x32,0xcd,0xaa,0xab,0xbd,0x12,0x96,0xc5,0xa2,0xa8,0x60,0x17,0xcd,0x3a,0xec, + 0x66,0xff,0x37,0x19,0x8e,0x2f,0xa3,0x7b,0xec,0xef,0x2b,0x2c,0x2d,0x98,0x8d,0xcb, + 0xd7,0x66,0xb9,0x3e,0xa1,0x98,0xc5,0xb4,0x2c,0xb0,0xa3,0x8e,0xa,0xc7,0xca,0x39, + 0x64,0xa,0x4,0x26,0x2d,0x62,0x50,0xb,0xfc,0x34,0x7,0x34,0x8e,0xda,0x1f,0xb0, + 0x41,0x71,0x68,0x15,0x28,0x52,0x79,0x9d,0x9c,0x5,0xae,0x43,0x68,0x51,0x8,0x7f, + 0xf0,0x72,0x15,0x16,0x42,0x29,0x18,0xb3,0x28,0x8b,0xb,0x13,0x70,0x52,0x5d,0xac, + 0x22,0x0,0x85,0x25,0xb2,0x3b,0x1a,0xeb,0x9,0x25,0x6f,0x4b,0x71,0xb2,0xe1,0xdb, + 0x40,0x71,0x8,0x81,0x60,0x12,0x82,0xe3,0x18,0xcb,0x11,0x10,0xf9,0xe5,0xa5,0x1c, + 0x57,0x15,0x86,0x66,0x9b,0x62,0xc5,0x28,0x6,0x30,0x93,0x63,0xb8,0x2,0xf8,0x20, + 0xa7,0xb,0xaf,0xe1,0x9c,0x80,0x80,0xdf,0x82,0xbd,0x4,0x60,0xe0,0x42,0x8,0x58, + 0x65,0x18,0xf1,0x32,0x13,0x41,0x48,0xc7,0x6a,0x29,0xd4,0xc,0x5a,0x49,0x23,0x54, + 0x6b,0x52,0x35,0x71,0x68,0x31,0x4b,0xae,0x10,0xd2,0x5d,0x71,0x55,0x13,0x38,0x2f, + 0x1,0xe7,0x10,0xa0,0x60,0x94,0x9,0x6d,0x9,0xd1,0xba,0x40,0x3f,0xa5,0x14,0xb1, + 0xa,0xd8,0xda,0xc6,0x61,0x51,0x41,0x18,0x3b,0x9e,0x31,0x1,0x40,0x2,0x80,0xe9, + 0x2,0x37,0x4a,0x34,0x8a,0x1b,0x51,0x90,0x3f,0x7d,0x91,0x5c,0x9c,0x43,0x26,0xd0, + 0xb,0xa1,0x23,0xce,0x10,0xc8,0x43,0xe4,0x31,0xdc,0x86,0x98,0xc1,0x3d,0x53,0x69, + 0x2c,0xd4,0xc8,0xb1,0x26,0x26,0x9d,0x88,0xb0,0xa1,0x91,0xc6,0x52,0x46,0xf0,0xc1, + 0x2f,0xb8,0x64,0x1a,0xc7,0x64,0x8e,0x61,0xaa,0xf0,0x5,0xa8,0x94,0x40,0x8d,0x8e, + 0xf8,0x9,0x21,0x25,0x3d,0xaa,0x15,0xdd,0x22,0x68,0x5a,0x31,0xa1,0x18,0x2b,0x18, + 0x2e,0x1f,0x6c,0x54,0x98,0xe6,0x1b,0x82,0xb1,0xac,0x31,0x6,0x97,0x42,0x1a,0x86, + 0xc6,0x23,0x84,0xe0,0xcb,0x22,0xdb,0x71,0xbf,0x8a,0x17,0x9d,0x90,0xaf,0xe0,0xb3, + 0xb8,0xa6,0xe3,0xc7,0x9b,0xac,0x64,0x53,0x42,0x96,0x97,0xac,0x43,0xc3,0x53,0x40, + 0xe2,0x66,0x4c,0x94,0xb6,0xbc,0x46,0x4a,0xaa,0x87,0x95,0x8,0xc3,0xea,0x8c,0x58, + 0xcd,0x33,0x97,0xb5,0x33,0x8a,0x3e,0xae,0x38,0x67,0x57,0xed,0xfe,0xac,0xdf,0xef, + 0xff,0xde,0x8f,0xff,0xf4,0xfb,0xb5,0x9c,0x51,0xfa,0x78,0xf7,0x76,0xb7,0x58,0xa6, + 0xcd,0xae,0xb1,0x4c,0x8b,0x42,0x6f,0x82,0xef,0xee,0xf1,0x63,0x4f,0x17,0xd5,0xa7, + 0xfa,0x71,0xc6,0x70,0x98,0x2b,0xd0,0xb,0xf4,0xa,0xe3,0x42,0x1,0xf0,0x61,0xe7, + 0x18,0x94,0x9a,0x69,0x9c,0x64,0xf1,0xdf,0xfe,0x6b,0xca,0xab,0xd7,0xb7,0xd5,0x5f, + 0x8c,0x2,0xfc,0xe2,0x13,0x84,0xaa,0x10,0x51,0x6b,0x50,0x5,0x9e,0xe2,0x9b,0x4f, + 0xfc,0xfc,0x22,0x64,0xe,0x75,0xa1,0x80,0x25,0x0,0x27,0xc1,0x14,0x85,0x64,0x94, + 0xe6,0x50,0xf7,0x59,0xa5,0x5b,0xc8,0x51,0xf1,0x89,0x62,0x75,0xc1,0x28,0xa,0x9, + 0x96,0x7d,0x34,0xe3,0xfb,0x1a,0x2c,0x93,0x22,0x96,0x48,0xb1,0x24,0x55,0x19,0x4a, + 0x39,0xeb,0x65,0x94,0x46,0xfc,0x28,0x5b,0x26,0xde,0xbb,0x33,0x2a,0x42,0x2a,0xc3, + 0x65,0x55,0x68,0xd9,0xe5,0x15,0x2b,0xd9,0x27,0xf4,0xed,0x60,0x59,0x4d,0xa9,0xc7, + 0x65,0x8c,0x47,0x72,0x8e,0x5,0x2d,0xef,0xb3,0xf5,0x2d,0x2e,0xda,0x9c,0x58,0xf4, + 0xcd,0x1e,0xc9,0x4e,0x50,0x49,0x1,0x6,0x4b,0xc0,0xc8,0x45,0x92,0xe7,0x57,0x22, + 0x33,0x4e,0x24,0x2b,0x89,0x51,0x31,0x60,0x1b,0xb0,0x23,0x44,0x9a,0xd5,0xc0,0x8a, + 0x21,0xb3,0xf8,0x16,0x41,0xa6,0xe6,0xc7,0x1d,0x5d,0x29,0x2,0xba,0x64,0x17,0x47, + 0xfd,0x6e,0x5d,0xbc,0x8c,0x26,0xd4,0x5d,0xec,0x46,0x88,0x61,0xc1,0x53,0x84,0x9e, + 0x36,0xea,0xa4,0x92,0x61,0x5c,0xd2,0x1a,0x19,0x75,0x82,0x0,0xa3,0x5c,0xa0,0x88, + 0xf5,0xbc,0xb,0x3c,0x1,0xe2,0x62,0x1,0xfe,0x26,0xb,0x80,0xac,0x78,0xa2,0x84, + 0xfa,0x15,0xfe,0xee,0xa9,0x26,0xfb,0xc4,0x8e,0x89,0x6a,0x40,0x93,0xab,0xb7,0xe4, + 0x7,0xb,0x43,0x51,0x69,0x78,0xd4,0xfa,0xd0,0x31,0x21,0x6c,0x43,0x5d,0x45,0x9d, + 0x81,0xa0,0x6c,0xa3,0x46,0xd0,0x90,0x95,0x3,0xa9,0x2b,0xc7,0x18,0x63,0xa0,0xc6, + 0xb9,0xc8,0xb4,0x6,0x2e,0xc9,0xb6,0xc9,0xb3,0xf3,0xa8,0x33,0x2c,0xa3,0x49,0x1b, + 0xb8,0xc4,0x35,0x9,0x73,0x49,0xba,0x6d,0x3a,0x63,0x26,0xb1,0xa5,0x57,0x1b,0xb1, + 0x25,0xdc,0x6,0xf6,0xb1,0x96,0x45,0xc9,0x9c,0x23,0x81,0xca,0xb5,0xc8,0x71,0x80, + 0x6f,0x6e,0xf1,0xca,0x8d,0xb9,0x19,0x7e,0x80,0xa2,0x84,0x53,0x1a,0xd7,0x5e,0x28, + 0x36,0x82,0x2a,0xfc,0xc0,0x47,0x6b,0xad,0x49,0xb1,0x94,0x58,0x7d,0x55,0x94,0x63, + 0x52,0xa0,0x9e,0x63,0x83,0xb7,0xc,0x3f,0x54,0xac,0x41,0x0,0xc4,0x6d,0xe1,0x5, + 0xb,0x21,0x27,0xe,0xf8,0x3,0x9b,0x91,0x47,0xba,0x53,0x32,0xc8,0x58,0x91,0x21, + 0x26,0x23,0xf7,0xc5,0x5e,0x2,0x62,0x57,0xac,0x74,0x98,0xae,0xf1,0xf5,0xe1,0x2c, + 0x65,0x0,0xa,0xe8,0xda,0xe8,0xa6,0x14,0x89,0x8,0x76,0x7,0xb7,0x8f,0x17,0x4, + 0x96,0xd,0x1c,0x11,0x58,0xe0,0xa2,0x5d,0x6a,0x4,0x7b,0x5d,0x84,0x89,0x85,0x90, + 0x7d,0x11,0x15,0xb2,0x2f,0xc2,0x84,0x45,0xc0,0x29,0x8a,0x4b,0xe3,0x81,0xfc,0x42, + 0xec,0x5,0x89,0xcf,0x9a,0xda,0xa4,0x53,0xea,0x79,0xb3,0x1d,0x9a,0x3d,0xed,0xd0, + 0x38,0xa0,0x23,0x54,0xa6,0x5f,0x8b,0x31,0xba,0x4d,0xc6,0xc8,0x11,0x8,0x2b,0xa5, + 0x22,0x3,0x17,0x50,0xc,0xd8,0x65,0x4,0x2,0x3c,0xa9,0x4b,0x39,0x2,0x69,0xc4, + 0x22,0x77,0x51,0x6c,0xc2,0xf7,0x0,0x42,0x8,0x41,0x92,0x7f,0x83,0xba,0xa0,0xa6, + 0x18,0x65,0xc5,0x9a,0xb4,0x92,0x22,0x86,0x22,0xe8,0x15,0x90,0xc9,0x73,0x2c,0x93, + 0x45,0xa0,0x17,0x80,0x98,0xc0,0x10,0xb1,0x1f,0x58,0xa8,0x2d,0x2a,0x6f,0x1,0x8d, + 0xd7,0x47,0xb4,0x94,0xc5,0x10,0x66,0x0,0x57,0x1b,0x52,0x4,0x59,0x0,0x58,0x29, + 0x23,0xab,0x26,0x80,0x86,0xad,0xe5,0x70,0xcc,0x70,0xcb,0x44,0x46,0xe,0x86,0x24, + 0xa5,0x2d,0x82,0xf4,0x42,0x2a,0x33,0xcf,0xa1,0x50,0x97,0x41,0x1a,0xd8,0xd2,0x46, + 0xa,0x85,0x81,0xac,0x36,0x45,0x3f,0x8e,0x94,0xab,0xcf,0x3c,0xa1,0xa3,0x37,0x5b, + 0xa4,0xfb,0x93,0x5b,0x64,0xd8,0x1c,0x1e,0x91,0xb5,0x9,0xf9,0x28,0x46,0x19,0x3, + 0x74,0xe0,0x63,0x30,0x13,0x16,0xe0,0x8a,0x54,0x4d,0xea,0x51,0x55,0x2a,0x13,0x44, + 0x5c,0x6b,0xa7,0xf0,0x87,0x48,0x88,0x74,0x8a,0x52,0x2c,0x9a,0x9e,0x54,0xc1,0x47, + 0x9a,0x18,0x89,0xd2,0x6a,0x8d,0x95,0xbe,0x60,0x48,0x8c,0x40,0x19,0x4d,0xca,0xf3, + 0xea,0x3,0xcf,0x73,0xa6,0x44,0x60,0x43,0x1a,0xd6,0x2d,0x6,0xcf,0x40,0xc7,0xc2, + 0x5e,0xb0,0xb5,0x6b,0x66,0x59,0x30,0x20,0x7,0xcb,0x13,0xae,0x26,0xfa,0x4,0x80, + 0xa3,0xf8,0xa1,0xb7,0xba,0x90,0x93,0x2c,0xa,0x40,0x98,0x89,0xe7,0x97,0x27,0x30, + 0x95,0xce,0x41,0x8f,0x34,0x31,0x3d,0x8e,0xea,0x44,0x1,0xe7,0xe8,0x22,0x40,0x6a, + 0x26,0xa3,0x38,0x14,0x72,0xe6,0xd6,0x8c,0xb1,0x39,0xe4,0x8a,0x8,0x90,0x22,0xb5, + 0xf,0x13,0xf4,0xc0,0xd3,0x26,0x43,0x4a,0x8,0xae,0xc,0xb9,0xc5,0xb4,0x53,0xa, + 0x7a,0xb3,0x39,0x6e,0x24,0x81,0xea,0x36,0xf3,0x95,0xda,0xa2,0x5d,0xaf,0x5,0xaa, + 0xe8,0x68,0x15,0x4c,0x2c,0x94,0x11,0x66,0x19,0x8b,0x10,0x1a,0x1,0xeb,0x6a,0x52, + 0x8e,0x45,0x80,0x98,0xbe,0xe4,0x77,0x9d,0x8a,0xa1,0x8,0x4b,0xcc,0x24,0x15,0xff, + 0x48,0x87,0x82,0xce,0x5c,0x11,0x8a,0x50,0x15,0xc1,0xc7,0xd9,0x16,0x9d,0x43,0x66, + 0x75,0x45,0x28,0x92,0x1c,0xcb,0xf4,0x5,0xdf,0x13,0xb0,0x1c,0xb1,0xb9,0x1b,0xe9, + 0x3d,0x2c,0x98,0x41,0xa9,0x96,0xb0,0x73,0xc7,0x3,0x32,0x8e,0x1,0x71,0x4d,0x86, + 0xb3,0x2d,0xea,0xe1,0x58,0x4c,0xd6,0x5a,0xba,0x8,0xf0,0x22,0xe6,0x45,0x61,0x87, + 0xa,0xd2,0xc5,0x10,0x1e,0x50,0xbb,0x79,0xf4,0xad,0x31,0x1,0x51,0x8c,0x88,0x81, + 0x82,0x57,0x2e,0xa2,0x7,0xf8,0x6,0x45,0x1e,0x1a,0x52,0xc2,0x2c,0x6c,0xc1,0x58, + 0x13,0x93,0x95,0x8e,0x49,0x4f,0x58,0x65,0x7d,0xda,0x9,0x5,0xbd,0xd5,0x16,0x83, + 0xfc,0xe3,0xd8,0xe2,0x4a,0xc1,0xd9,0xf8,0x5a,0xfb,0xb2,0xfc,0x58,0x7d,0x68,0xde, + 0xa5,0x94,0xba,0xf6,0xe3,0x40,0xfb,0xdc,0xa5,0xac,0x36,0x7a,0x58,0x60,0x3d,0xa3, + 0x16,0x3b,0x3d,0xca,0x6f,0x8a,0xd7,0xe,0xa5,0xb9,0x8b,0x9b,0x3e,0x10,0x29,0x44, + 0x8d,0x28,0x5d,0x6e,0x92,0x59,0xe4,0x1d,0xdb,0x77,0x2b,0x79,0x47,0x21,0xd6,0x28, + 0xd4,0x76,0xb2,0xc1,0x6b,0x61,0x70,0x97,0xd3,0xc9,0xe3,0x78,0xf0,0x96,0xbb,0x33, + 0x29,0xb6,0xb7,0xd4,0x85,0xae,0x73,0xae,0xa9,0xc9,0x72,0x35,0x13,0x68,0xf1,0x6, + 0xd6,0xe2,0x4b,0x87,0xbd,0xc0,0xf8,0x62,0x57,0xb,0x6a,0x21,0xf7,0x61,0x9d,0x5, + 0x7f,0x6d,0xaa,0x70,0x89,0xa0,0x14,0x82,0xbf,0x39,0xd9,0x54,0x13,0x91,0x6b,0x8d, + 0xdf,0x6c,0x58,0x3e,0xf3,0xa6,0x85,0x64,0xfa,0x38,0xca,0x2f,0xf3,0xcf,0x39,0x42, + 0xdb,0xe0,0xfb,0x23,0x4c,0xe3,0xad,0x6e,0x92,0xfa,0x91,0xce,0x32,0x68,0x72,0x6a, + 0x14,0x88,0x3d,0x6,0xd5,0x26,0x73,0x77,0x80,0x85,0x1c,0x65,0x10,0x3d,0x24,0x63, + 0xfd,0xb,0xb2,0x31,0xbb,0x35,0x21,0xe9,0x22,0x1a,0xcb,0xfa,0x23,0xfa,0x51,0x41, + 0xc9,0xa0,0xde,0x70,0xc4,0x3f,0x93,0x52,0xe5,0x52,0x7d,0xd,0x9d,0x2e,0x34,0xbd, + 0x51,0xa9,0x7a,0x3f,0xa5,0xae,0x6,0xac,0xf8,0xcf,0x47,0xde,0x4c,0xf2,0xc3,0x37, + 0xff,0x2,0xa2,0xa9,0x93,0xd8, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_accept.svg + 0x0,0x0,0xe,0x5b, + 0x0, + 0x0,0x3d,0x91,0x78,0x9c,0xe5,0x5b,0x5d,0x73,0xdb,0xc6,0x15,0x7d,0xf7,0xaf,0x40, + 0x99,0x97,0x78,0x4a,0x82,0xfb,0xfd,0xc1,0x48,0xee,0x83,0x33,0xe9,0x64,0x26,0x99, + 0x76,0x9a,0x64,0xfa,0x98,0x81,0x40,0x50,0x62,0x4d,0x12,0x2c,0x8,0x59,0x92,0x7f, + 0x7d,0xcf,0x5d,0x10,0x20,0x40,0x81,0x12,0x49,0x4b,0xce,0x47,0x25,0xdb,0x12,0x2f, + 0x16,0x7b,0xf7,0x9e,0x3d,0x7b,0xf7,0xdc,0x5,0x7c,0xf1,0xb7,0xfb,0xe5,0x22,0xfa, + 0x98,0x15,0x9b,0x79,0xbe,0xba,0x1c,0xf0,0x98,0xd,0xa2,0x6c,0x95,0xe6,0xd3,0xf9, + 0xea,0xfa,0x72,0xf0,0xcb,0xcf,0xdf,0x8d,0xdc,0x20,0xda,0x94,0xc9,0x6a,0x9a,0x2c, + 0xf2,0x55,0x76,0x39,0x58,0xe5,0x83,0xbf,0xbd,0x7b,0x73,0xf1,0x97,0xd1,0x28,0x7a, + 0x5f,0x64,0x49,0x99,0x4d,0xa3,0xbb,0x79,0x79,0x13,0x7d,0xbf,0xfa,0xb0,0x49,0x93, + 0x75,0x16,0x7d,0x7d,0x53,0x96,0xeb,0xc9,0x78,0x7c,0x77,0x77,0x17,0xcf,0xb7,0xc6, + 0x38,0x2f,0xae,0xc7,0x6f,0xa3,0xd1,0x8,0x77,0x6e,0x3e,0x5e,0xbf,0x89,0xa2,0x8, + 0x6e,0x57,0x9b,0xc9,0x34,0xbd,0x1c,0x6c,0xdb,0xaf,0x6f,0x8b,0x45,0x68,0x37,0x4d, + 0xc7,0xd9,0x22,0x5b,0x66,0xab,0x72,0x33,0xe6,0x31,0x1f,0xf,0x76,0xcd,0xd3,0x5d, + 0xf3,0x94,0x9c,0xcf,0x3f,0x66,0x69,0xbe,0x5c,0xe6,0xab,0x4d,0xb8,0x73,0xb5,0xf9, + 0xaa,0xd5,0xb8,0x98,0xce,0x9a,0xd6,0x34,0x98,0x3b,0x19,0x1a,0x71,0xef,0xfd,0x98, + 0x89,0xb1,0x10,0x23,0xb4,0x18,0x6d,0x1e,0x56,0x65,0x72,0x3f,0xea,0xde,0x8a,0x31, + 0xf6,0xdd,0x2a,0x18,0x63,0x63,0x5c,0xdb,0xb5,0x3c,0xae,0xd5,0xe4,0x7e,0x1,0x24, + 0xe,0xe,0x26,0x5c,0x6d,0x7b,0x7,0xfa,0x6b,0xfc,0x6d,0x6e,0xa8,0xd,0xf1,0x26, + 0xbf,0x2d,0xd2,0x6c,0x86,0x3b,0xb3,0x78,0x95,0x95,0xe3,0x6f,0x7f,0xfe,0xb6,0xb9, + 0x38,0x62,0xf1,0xb4,0x9c,0xb6,0xba,0xa9,0xc1,0xef,0xf8,0xed,0xcc,0xc8,0x2a,0x59, + 0x66,0x9b,0x75,0x92,0x66,0x9b,0x71,0x6d,0xf,0xf7,0xdf,0xcd,0xa7,0xe5,0xd,0xc8, + 0x60,0xc2,0xa7,0x9b,0x6c,0x7e,0x7d,0x53,0x36,0x1f,0xe7,0xd3,0xcb,0x1,0xa2,0x13, + 0xe1,0x43,0xed,0x7c,0xd2,0x30,0x88,0xc5,0xb2,0xba,0x54,0xf7,0xd8,0xbe,0xa4,0xaa, + 0x2e,0x3a,0x74,0xeb,0x74,0x33,0xcd,0xd3,0xab,0x64,0x83,0x21,0x8f,0x6f,0xf2,0x65, + 0x36,0x5a,0xe4,0x69,0xb2,0x18,0xaf,0x17,0x57,0x59,0x72,0x3b,0xcd,0xe7,0xab,0xf1, + 0x4f,0xdf,0xfd,0xf0,0xcf,0x1b,0xf0,0x70,0xbc,0x99,0x2d,0xd6,0x9d,0x5f,0x46,0xd7, + 0xe5,0x87,0xf1,0x7a,0x7e,0xbf,0x4c,0xd6,0x9b,0x47,0x7d,0x52,0xa0,0x97,0x83,0x79, + 0x9a,0xaf,0x7e,0x4d,0xd2,0x34,0x5b,0x97,0x71,0x3d,0x3f,0xcd,0x28,0xf3,0xdb,0x72, + 0x7d,0x5b,0xfe,0x9a,0xdd,0x97,0xd9,0xaa,0x1a,0x1c,0x10,0x6a,0xc1,0x15,0x2e,0xd3, + 0x6d,0x8d,0x6d,0xf0,0xe,0x1d,0x5c,0x4c,0xb3,0xd9,0x86,0x3a,0xaa,0x80,0xa1,0x4f, + 0x2a,0x5c,0xc0,0x25,0x4c,0x6b,0x96,0x14,0x7f,0x2f,0x92,0xe9,0x1c,0x64,0xae,0x1a, + 0xb5,0x3c,0xa6,0xf9,0x62,0x91,0xa5,0x0,0x36,0x59,0xdc,0x25,0xf,0xd5,0xa0,0xeb, + 0x7e,0xba,0xb7,0xa,0x25,0xe5,0xb6,0x53,0x74,0xbb,0x29,0xf3,0x75,0xdd,0x16,0x61, + 0x96,0xf,0xb,0xc4,0x46,0xc6,0x11,0x7a,0xcc,0x8b,0xc9,0x57,0x8c,0x39,0x50,0xf0, + 0x9b,0x60,0xca,0x31,0xbd,0xf3,0xf2,0x61,0xc2,0xbf,0x19,0xec,0xee,0xc9,0x67,0xb3, + 0x4d,0x6,0xc7,0xac,0x65,0xb,0xd3,0x8a,0x3b,0xe0,0x4b,0xf,0xa2,0xf1,0xe7,0x79, + 0x63,0x7d,0xde,0x78,0xbf,0x37,0xdb,0x78,0xbb,0x18,0x77,0xc3,0xfe,0x3c,0x18,0xc3, + 0xaa,0x9a,0xdc,0x14,0x19,0xb2,0xc0,0x57,0x3d,0x78,0x3e,0x9,0xb7,0xdf,0x75,0xc3, + 0x2f,0x7,0x22,0xf6,0x46,0x5b,0xad,0x1b,0xe3,0x3,0x8c,0x58,0x6f,0x8,0xdc,0x29, + 0xa7,0xd5,0xae,0xb1,0xb8,0x1c,0x48,0x11,0x6b,0xeb,0x84,0x70,0xbb,0xd6,0x82,0x16, + 0x4f,0x6c,0xa5,0xc7,0x77,0x63,0xbd,0xde,0x7a,0xfb,0x65,0x35,0x2f,0x91,0x47,0x6e, + 0x37,0x59,0xf1,0x13,0xad,0xc5,0x7f,0xac,0x7e,0xd9,0x64,0x3b,0x4c,0x9a,0x38,0xd7, + 0x58,0x34,0x6b,0x4,0x8a,0x9c,0x57,0x77,0xd1,0x50,0xbc,0x7c,0xa0,0x65,0xde,0x6d, + 0x2a,0xa7,0x83,0x47,0x58,0x7d,0x5c,0xff,0x7a,0x8f,0x69,0x8f,0x26,0x91,0xc3,0x5f, + 0xde,0xdb,0xe0,0xa1,0x6a,0xc0,0x31,0xa9,0xf8,0xc1,0x7a,0xdb,0x7c,0xa2,0x80,0xe, + 0xf7,0xb2,0xf5,0x3f,0xca,0x8b,0xf9,0xf5,0x1c,0x2b,0x89,0x9a,0xe9,0x58,0x56,0x5f, + 0xdd,0x5b,0x0,0x7e,0x2b,0x30,0x25,0x9c,0xdc,0x85,0x7e,0x60,0xe2,0x1f,0xcd,0x97, + 0x94,0x96,0x9d,0xb0,0x3c,0xa6,0x96,0xbe,0xcf,0x5c,0x1e,0xf0,0x25,0x4e,0x5a,0x1e, + 0x36,0xa5,0xef,0x23,0xbc,0xf5,0x2d,0xf,0x78,0x53,0x67,0x2e,0x8f,0x1e,0x94,0x8c, + 0x38,0x29,0x89,0xb0,0xf3,0x93,0x8,0x7c,0xa9,0x93,0x50,0x9a,0x85,0xaf,0xb3,0x51, + 0x32,0xe6,0xa5,0x50,0x52,0x4c,0xe9,0x13,0x50,0xea,0x1b,0x37,0x3b,0x12,0x24,0xb8, + 0xb2,0xa7,0x81,0x94,0xce,0xae,0xd2,0xab,0x3d,0x90,0x8e,0xc4,0x8,0xce,0xfc,0x8b, + 0x61,0x24,0x8c,0x3f,0x1,0x23,0x3e,0xbd,0x3a,0x9f,0x49,0x4a,0x58,0x7e,0x12,0x48, + 0x7d,0xde,0x8e,0xde,0x8e,0xe0,0x4d,0xbe,0x18,0x4a,0xdc,0x1d,0xdc,0xb4,0x1b,0x7f, + 0xdc,0xe9,0x67,0x80,0x38,0x1e,0xd0,0x83,0x28,0xb5,0xbc,0xd9,0x67,0x80,0xe8,0x4b, + 0x4,0x33,0x3d,0x7b,0xc2,0xdb,0x67,0xa3,0x64,0xec,0x9,0x5c,0x22,0xa9,0xc1,0xb2, + 0x73,0xb9,0xc4,0x8d,0x3f,0x89,0x4b,0x4,0x33,0x57,0xe7,0x72,0x89,0xb7,0x98,0xfb, + 0xc5,0xa4,0x4d,0x60,0xdd,0x13,0xd2,0x46,0x88,0x96,0x5a,0xe1,0x41,0x97,0x38,0x61, + 0xac,0x37,0x1d,0x6d,0x3,0xb1,0x22,0x9c,0xb3,0x7c,0xd7,0x15,0x29,0x1b,0x61,0x63, + 0x6d,0x44,0x4b,0x5,0x91,0xd,0x6a,0x87,0xb,0xcd,0x76,0xd6,0xa7,0x75,0xcd,0x7e, + 0xab,0x9f,0x8b,0x64,0xb5,0x41,0x41,0xb3,0xbc,0x1c,0x2c,0x93,0xb2,0x98,0xdf,0x7f, + 0xd,0x59,0x65,0x35,0x13,0x7a,0xc8,0xe8,0xbb,0xf9,0x10,0x1b,0x63,0x2c,0x93,0xf8, + 0x85,0x5b,0xeb,0x99,0x7d,0xfb,0x9c,0x4e,0x38,0xec,0x1,0x55,0x87,0xe6,0xf8,0x12, + 0xc1,0x5,0x74,0x9c,0xd5,0xc2,0x31,0x25,0x87,0x23,0x13,0x4b,0xc3,0x5,0x67,0x7a, + 0xc8,0x5d,0x6c,0x9c,0xd2,0xe2,0xed,0x89,0x71,0x11,0x26,0x26,0x36,0xd6,0x32,0x6f, + 0x5d,0x7,0x3d,0xae,0xa1,0x17,0x8d,0xd8,0x56,0x47,0x35,0xd2,0xc0,0xcf,0x59,0x25, + 0x98,0xeb,0xce,0x8a,0x8e,0x8d,0x64,0xd2,0xeb,0x27,0xa6,0x12,0xb9,0x4a,0x1f,0xc5, + 0x8,0xca,0xd6,0xcf,0x52,0xeb,0x19,0x30,0x83,0x84,0x95,0xb1,0x47,0x6d,0xab,0xbb, + 0xa4,0x0,0x7f,0xa4,0x75,0xce,0xdb,0x4e,0x58,0x5c,0xc4,0x60,0x8a,0x67,0xa2,0x13, + 0x96,0x88,0x99,0xd1,0x48,0x42,0xf6,0x8,0x1a,0x8c,0x78,0x98,0x1d,0x3e,0x84,0x9e, + 0x66,0x60,0xb5,0x1b,0x8e,0x0,0x95,0x51,0x56,0x9e,0x3a,0x25,0x8f,0xa1,0xe3,0xd2, + 0xb9,0x2f,0x6,0x5d,0x4f,0x88,0x25,0xfd,0xba,0x48,0xca,0xc,0x64,0x87,0xf,0xae, + 0x43,0x70,0xd6,0x8,0x2e,0xcd,0x39,0x84,0x7b,0x8d,0x99,0xe9,0x45,0xcd,0x7c,0x71, + 0xd4,0x8e,0x8,0x9e,0xa1,0xde,0x32,0x56,0xf0,0xee,0x6a,0x53,0x31,0x3,0x9a,0xd2, + 0x75,0x57,0x5b,0x6c,0x19,0x12,0x9b,0x31,0x8f,0x56,0x9b,0x42,0x7,0x4f,0x25,0x4e, + 0x4,0xaf,0x8e,0xa,0xbe,0x93,0x7f,0x5f,0x83,0x32,0xc8,0x57,0x5e,0x59,0xc6,0x1d, + 0x65,0x2e,0xe7,0x34,0xf7,0xee,0x2c,0xce,0x20,0x71,0x4b,0x6d,0xb9,0xee,0xc0,0x26, + 0x79,0x2c,0xb1,0x23,0xbb,0x7d,0xca,0xec,0x37,0x25,0x2c,0x55,0x2c,0xbd,0x6d,0x67, + 0xfe,0x5e,0xd4,0xc4,0xef,0x3,0x35,0x1e,0xb,0x3,0x5e,0xf2,0xe1,0x88,0xc7,0x28, + 0x6d,0xed,0x79,0x99,0x1d,0x48,0x38,0xa1,0x9d,0xef,0x2e,0x34,0x8b,0xd5,0x27,0xf1, + 0x47,0xef,0xa3,0xb6,0xdf,0x96,0x87,0x13,0x2f,0xa6,0xc0,0x36,0xf3,0x34,0x6a,0xec, + 0x8b,0xa1,0xd6,0xe7,0xde,0xaa,0xe7,0x84,0x2b,0xda,0xec,0x22,0x38,0x5a,0xb8,0x1e, + 0x50,0x6f,0xcf,0xa,0x57,0x78,0x73,0x3d,0xde,0x9e,0x11,0xae,0x7,0xd4,0xdb,0xb, + 0x9,0x57,0x24,0x17,0x77,0x82,0x70,0x15,0xe6,0x33,0x8a,0x20,0x4e,0x7,0x1c,0x27, + 0x15,0x41,0xaa,0x57,0xb3,0x1f,0x27,0x5c,0x79,0xfb,0x88,0xe3,0xf3,0x51,0x3a,0x78, + 0xe8,0xb0,0xf3,0x67,0xd4,0xe9,0x5c,0x3a,0x0,0xe8,0x11,0x5c,0x32,0x7d,0xcc,0x7d, + 0x86,0x4b,0x7d,0xde,0xce,0xe6,0xd2,0xeb,0xc9,0x7b,0xae,0x98,0x39,0x31,0xad,0xf5, + 0x6f,0x80,0x7,0x36,0xcb,0xfe,0x8d,0xb5,0xb3,0x9,0x3f,0x97,0x6e,0x5e,0x35,0x78, + 0x77,0x62,0xf0,0x67,0x6f,0x19,0x1,0x35,0x8a,0x59,0x79,0xb9,0x9f,0xf5,0x39,0xd7, + 0x5a,0xfb,0xe,0x68,0xd8,0xa9,0x8d,0x43,0xe3,0x8e,0xfa,0x17,0xed,0xd6,0xbf,0x25, + 0x6c,0x9c,0xbd,0x24,0x6c,0x4f,0xea,0x13,0xc2,0xd,0x1a,0xc3,0x78,0xe1,0xcd,0x9e, + 0xc8,0x20,0xb8,0x95,0xe0,0x5d,0xb6,0x9,0x89,0x2e,0xc0,0xc1,0x6e,0xd1,0x9,0xbd, + 0x2b,0xb5,0x96,0xe2,0x55,0x51,0xeb,0xa8,0xd8,0x3e,0xd4,0xc4,0x4b,0xa2,0xf6,0x54, + 0x21,0x40,0xa0,0xd9,0x18,0x48,0x12,0x81,0xba,0xa0,0xe9,0xd8,0x73,0xd1,0xa9,0x66, + 0x82,0x1e,0x41,0x71,0xab,0x9c,0xe2,0x5d,0xd0,0x78,0xac,0xbd,0x95,0x42,0xff,0xb6, + 0xa8,0xa9,0xcf,0x47,0xed,0x84,0xa,0xb1,0xbf,0xb6,0x39,0x50,0x7,0xf5,0xd7,0x4c, + 0x9d,0xfa,0xaa,0x81,0x8e,0x46,0x95,0x2c,0x5e,0x14,0x3a,0x3a,0x79,0x6e,0x43,0xd7, + 0x75,0xa1,0x98,0xde,0xcd,0x67,0x7a,0x8f,0x41,0xf9,0x58,0xb8,0x8e,0x2a,0x4f,0x1f, + 0x2e,0x7,0x3e,0x26,0x9b,0x6a,0x9d,0xf2,0xcc,0x7a,0xdb,0xce,0x7a,0xdb,0x16,0x21, + 0xab,0xb9,0x60,0x3e,0x71,0x9e,0x36,0xeb,0x22,0x4b,0xa6,0x3f,0x66,0xe5,0x4d,0x4e, + 0x63,0xcf,0x66,0x14,0xff,0x51,0xc7,0x3d,0x98,0x3a,0xd4,0x11,0xdb,0xe3,0x9e,0xed, + 0x7,0xca,0x6,0x4c,0x2b,0x37,0xd4,0xb1,0x15,0x56,0x28,0xf7,0xec,0x71,0xcf,0x2b, + 0x3e,0xf,0x54,0x92,0x9f,0xba,0xb1,0xbc,0xf8,0x53,0xc3,0xdf,0x32,0x7a,0x71,0xea, + 0xfe,0xf0,0xe7,0x8a,0xfe,0xd4,0x3c,0xff,0xe7,0x8a,0xfe,0xd4,0x3c,0xf0,0xe7,0x8a, + 0xfe,0x1c,0x35,0xfd,0xa,0xd1,0x5f,0x8c,0xe9,0xc5,0x92,0xf0,0x5b,0xf3,0xcc,0x9f, + 0xde,0x69,0x99,0x7e,0x9c,0x67,0x77,0x6f,0x9a,0xe1,0xd3,0xab,0x33,0xdb,0x7e,0xd6, + 0xc9,0x75,0x16,0x6a,0x17,0x4,0x5d,0x3d,0xa4,0xdc,0x5e,0xb8,0xca,0x8b,0x69,0x56, + 0xd4,0x97,0x4c,0xf8,0xea,0x5c,0xda,0x96,0x37,0xbb,0x97,0x73,0xda,0xf,0xf6,0xd1, + 0x6b,0x73,0x9d,0xf5,0x5f,0xdf,0xdc,0x24,0xd3,0xfc,0xe,0x30,0xec,0x5f,0xfc,0x94, + 0xe7,0xcb,0x20,0x43,0x24,0xd5,0xb3,0x6e,0xff,0x32,0xed,0x69,0x2,0x3a,0x59,0x6a, + 0xcb,0xfc,0xa3,0x8b,0xf0,0x27,0x63,0x6e,0xc,0xaa,0x30,0xbb,0x7f,0x71,0x9a,0xa7, + 0xb7,0xf4,0xba,0xd8,0xe8,0xb6,0x9a,0x9b,0xf5,0xfd,0xa3,0xdb,0x6f,0x8b,0x82,0x1a, + 0x2c,0x92,0x87,0xc,0x61,0x87,0x1f,0xf5,0x6e,0xda,0xbc,0xec,0xd4,0xdc,0xb6,0x7b, + 0xe1,0xa9,0x31,0x6d,0x6e,0xf2,0xbb,0xeb,0xdb,0xf9,0x34,0xdb,0x90,0x68,0xbb,0xcd, + 0xf6,0x1d,0x84,0x6b,0xa3,0xab,0xab,0xfc,0xbe,0xff,0xfa,0xdd,0x7c,0x5,0x50,0x46, + 0xb5,0x2f,0xd6,0x6c,0xaf,0xfb,0x2d,0x6a,0xdf,0x56,0x3c,0xc2,0x6f,0xdb,0x2,0x1e, + 0xa4,0x34,0x7,0x2e,0x3e,0x10,0x86,0xbe,0x3d,0xe8,0x82,0x88,0x31,0x4b,0x16,0x9b, + 0xac,0x7e,0x2d,0xa9,0x61,0x50,0x18,0x74,0x4d,0xbb,0xbc,0x20,0x76,0x27,0x65,0x78, + 0xf5,0xe9,0x63,0x56,0x94,0xf3,0x34,0x59,0x34,0xa4,0x5c,0xe7,0x9b,0x79,0x75,0x49, + 0xa8,0xd8,0x9,0x88,0x6,0xd7,0x59,0x38,0xa1,0x2b,0xc9,0x95,0x69,0x8,0xfb,0x98, + 0xa7,0xc1,0xbe,0xcc,0xca,0x64,0x9a,0x94,0xc9,0x8e,0xb4,0xb5,0xa5,0x7e,0xc,0x78, + 0x51,0x4c,0x67,0x93,0x7f,0x7d,0xfb,0x5d,0x53,0xc7,0xa7,0xe9,0xe4,0xdf,0x79,0xf1, + 0xa1,0x76,0x7,0x95,0x82,0x6,0xc9,0x55,0x7e,0xb,0x98,0x9a,0xb3,0x5,0x7a,0x13, + 0x2b,0x9d,0x90,0xb2,0x48,0xca,0x77,0xf3,0x25,0x78,0x48,0xaf,0xe0,0xfd,0xf5,0x7e, + 0xb9,0xc0,0xda,0x69,0x2e,0x74,0x1a,0xd3,0x4b,0x33,0xbb,0x4e,0xab,0x6e,0x8b,0xac, + 0x7a,0xc5,0xae,0xf7,0xad,0xc4,0x69,0xba,0x9c,0xd3,0x4d,0xe3,0x9f,0xca,0xf9,0x62, + 0xf1,0x3d,0x39,0x69,0x9f,0x37,0x8c,0xb7,0x3,0xad,0x8f,0x4,0x5a,0x71,0x5c,0x8c, + 0xeb,0x28,0xc3,0xa7,0xeb,0xbd,0xc9,0x5b,0x24,0x57,0xd9,0xe2,0x72,0xf0,0x3e,0x59, + 0xfc,0xf7,0x36,0x6b,0xde,0x8e,0xd9,0x91,0xab,0xc8,0x6f,0xd7,0xcb,0x7c,0x9a,0x6d, + 0x99,0x3b,0xd8,0x81,0xb7,0x65,0xf2,0xd6,0xe5,0x3a,0x29,0x6f,0x1a,0x3d,0x56,0x1d, + 0x62,0xec,0x8e,0x46,0x66,0x18,0xf3,0x4,0xd1,0x7c,0xfd,0x48,0xb2,0x5b,0xfd,0x36, + 0x5c,0x6d,0x9d,0xa3,0x6c,0xca,0x22,0xff,0x90,0x4d,0x56,0xf9,0x2a,0xdb,0xfe,0x5e, + 0x71,0x77,0xc2,0x48,0x35,0xd7,0x26,0xea,0xe8,0x3f,0xf9,0x7c,0x35,0x1,0x2e,0x59, + 0x51,0x5b,0xc3,0x87,0xc5,0x1c,0x3f,0x26,0xaa,0xb6,0x4d,0x13,0xa4,0x85,0xa2,0x48, + 0x1e,0x3a,0x5d,0x92,0xb5,0x3a,0x80,0x99,0xb0,0xda,0xf6,0xf8,0xc5,0x6,0x84,0xf9, + 0x63,0x4,0xd6,0x59,0x86,0x2,0x11,0xd2,0x10,0x22,0x51,0xd3,0x13,0x9c,0xe8,0x87, + 0x96,0x55,0xa1,0xa6,0xf4,0x90,0xad,0x30,0xa,0x14,0x92,0xcc,0x71,0xe6,0xdb,0x46, + 0x17,0x33,0x24,0x1d,0x4b,0x3a,0x33,0x96,0x4a,0x39,0x27,0x3c,0xac,0x10,0xf6,0x8e, + 0x4b,0xa9,0x4c,0xbb,0x69,0xd0,0x9e,0xd2,0xa1,0xf0,0xef,0x35,0xf6,0xfb,0xdf,0x59, + 0x3f,0x75,0x45,0x3c,0xb6,0x24,0x14,0x45,0xad,0x52,0xf5,0xba,0xb3,0x6e,0x4,0x77, + 0xbb,0x48,0xcb,0x1e,0x75,0xac,0x51,0xd0,0x60,0x83,0xd8,0xca,0x63,0x8d,0xc1,0x22, + 0x8c,0xe1,0xc8,0xc6,0x8a,0xd1,0x13,0x51,0x37,0x44,0xd,0xc8,0x18,0xca,0x93,0x56, + 0xd5,0xb3,0x9d,0xfb,0x30,0xe3,0x2d,0xbc,0x5b,0x2f,0xf5,0x74,0xa0,0xc6,0xd0,0x15, + 0xca,0x71,0xad,0x5b,0x6f,0xbe,0xb4,0xa9,0x74,0x88,0x4c,0xa1,0xeb,0x7e,0xe2,0xec, + 0x79,0x6a,0xb8,0xa3,0x35,0xf6,0x35,0xc3,0xbf,0x4,0x81,0x5a,0x51,0xed,0x2,0xa9, + 0xb8,0x44,0xe7,0x39,0xde,0x78,0x45,0x27,0x14,0x28,0x38,0x38,0x92,0xad,0x8f,0xde, + 0x47,0xa,0xf8,0x32,0x2d,0xbc,0x3,0xd0,0x2,0xd5,0x98,0x72,0xc2,0x44,0xd2,0xa3, + 0xb8,0x64,0xce,0x58,0x18,0xad,0xc5,0xee,0x4,0xb6,0x44,0xd2,0xa2,0x96,0x16,0x42, + 0xfa,0xda,0xc8,0x99,0x41,0x7,0xd2,0xa0,0x63,0xc1,0x5c,0xc7,0x2c,0x15,0xca,0x71, + 0x65,0x74,0x78,0x74,0xad,0xd,0x88,0xe7,0x5d,0x24,0x25,0xa6,0x52,0x18,0xed,0xc3, + 0x10,0xbc,0xc0,0x44,0x32,0xb,0x42,0x91,0x1d,0x9c,0xe3,0x92,0x6a,0x59,0xc6,0x24, + 0x86,0x66,0xba,0x66,0x19,0x33,0x27,0x35,0x2a,0x5a,0xf2,0x87,0x2d,0x5a,0x58,0xd4, + 0xd4,0x64,0x86,0x8c,0xb0,0xd8,0x58,0x22,0xc9,0x62,0xef,0x2d,0xab,0x8c,0xe,0x65, + 0x9f,0x91,0x36,0xa2,0x47,0xf7,0x42,0x1b,0x21,0x1b,0xa3,0x92,0xe8,0x0,0xc9,0x1c, + 0x55,0x96,0x90,0x2d,0xb3,0x8f,0xe8,0xcc,0x45,0x62,0xa9,0xd8,0xaa,0x57,0xed,0x2d, + 0x77,0x91,0x0,0xff,0x3d,0xe3,0xc1,0xc6,0x14,0x72,0x80,0xd4,0xb4,0xd4,0x1a,0x2b, + 0xad,0x2a,0x9,0x42,0xd2,0xb0,0x44,0x75,0xda,0x65,0x29,0x62,0x61,0x3d,0x3c,0x30, + 0x15,0x51,0x9,0x2a,0x38,0x1a,0x85,0x67,0xfa,0x86,0x79,0x87,0x11,0x70,0xb,0x9c, + 0x4,0x8a,0xcd,0xda,0x88,0x52,0xf,0x1d,0x40,0xfe,0x8,0x87,0xe1,0x76,0xcc,0x1c, + 0xab,0x51,0x48,0xe1,0xc9,0x8,0xdd,0x26,0xe0,0x40,0xd1,0x2,0xf6,0x5c,0x3,0x91, + 0xce,0x54,0xfe,0x40,0x8d,0xe9,0x71,0x25,0xe3,0xc3,0x11,0x2a,0x48,0xa3,0xc,0xa6, + 0x90,0x3a,0x76,0x31,0x17,0x1e,0x8d,0x68,0x1,0xa1,0xaa,0xb3,0x8e,0xab,0x48,0x0, + 0x69,0xc9,0xb4,0xd7,0xc3,0x91,0xa3,0x47,0x5a,0xcc,0x9a,0x0,0x98,0xa2,0x93,0x0, + 0x41,0x46,0xad,0xd1,0x95,0xb5,0x84,0xb8,0x88,0xb7,0xdd,0x3a,0xac,0x77,0xf8,0x95, + 0x34,0xe9,0x42,0x7b,0x2e,0xc,0xf5,0x69,0x99,0x96,0xdc,0x70,0xa2,0x92,0x73,0x86, + 0x13,0x86,0x9a,0x42,0x90,0xde,0x2b,0xca,0x17,0xbd,0xcc,0xfb,0xd4,0x22,0x68,0x78, + 0x21,0x12,0x6b,0x4f,0xb4,0xf,0xed,0x5a,0x6f,0x7a,0xae,0xb0,0xd,0xd0,0x1e,0x4, + 0x1d,0x92,0x6e,0xd2,0x34,0xfd,0x94,0x86,0x1f,0x69,0xda,0x3a,0x8b,0xbe,0xee,0xcd, + 0x34,0x8a,0x1b,0xf6,0x4c,0xa6,0xb1,0x4e,0x73,0xde,0x64,0x1a,0x23,0x19,0x66,0x60, + 0x44,0x6f,0x4b,0x28,0x30,0x4e,0xe,0x5d,0x1c,0x8e,0xa8,0x54,0x7f,0xa2,0xe9,0xd9, + 0x5a,0xe8,0x45,0xda,0xfd,0xad,0xe5,0x60,0x8a,0xe9,0x8b,0x30,0x4,0x57,0xfd,0x49, + 0x7b,0x40,0x92,0x5c,0xcb,0xfd,0xc5,0xcd,0x69,0xd,0x22,0x21,0xd2,0x96,0xa0,0xbd, + 0xb4,0x44,0x48,0x4e,0x47,0x92,0x46,0x38,0xda,0x11,0x2c,0xd2,0x29,0xc3,0x4,0x5b, + 0xd0,0x51,0x63,0x26,0x3d,0x1d,0x31,0x78,0xef,0x8d,0x54,0x91,0x8c,0x95,0x80,0x7c, + 0x2,0x9b,0x70,0xd5,0x71,0x41,0x14,0x97,0xb1,0x90,0x4a,0x93,0xd,0xbd,0x8,0x1, + 0x6e,0x50,0xaa,0x90,0xb1,0x75,0xca,0x60,0xef,0x20,0xab,0xa7,0x97,0x65,0x78,0xa4, + 0xc3,0xc1,0x38,0x32,0x34,0x9d,0x5e,0x80,0x1b,0x1e,0x53,0x6b,0x9a,0x1e,0x77,0xb6, + 0xf7,0xf0,0x6d,0x41,0x98,0xae,0xd5,0xa1,0x1b,0x60,0xcb,0x82,0x2d,0x3c,0x23,0x74, + 0x91,0x8f,0x35,0xb2,0x7d,0xed,0x9b,0x16,0x1a,0x71,0x7b,0x67,0xf5,0x31,0x28,0x1c, + 0x2,0xe4,0xa8,0x39,0xc0,0x4b,0x37,0xa4,0xd7,0x56,0x30,0x4b,0x22,0xa2,0xc7,0x8f, + 0x6,0x21,0x92,0x49,0x11,0xc,0x4,0x8c,0xd0,0xf5,0xa7,0xf7,0xb4,0x20,0x95,0xc5, + 0xee,0x66,0xb7,0x26,0x86,0xdc,0x81,0x95,0x2b,0x11,0x97,0xd,0xdd,0x60,0xdb,0x62, + 0x92,0x56,0x7,0x52,0x93,0xc7,0x42,0xf0,0x94,0xbe,0x2,0x26,0x3b,0x1b,0xc6,0xc5, + 0x8d,0xe6,0x1,0x13,0xe4,0xd,0x69,0xbd,0x50,0x64,0x74,0xd6,0x53,0x0,0xc8,0x2f, + 0x94,0x7e,0x1c,0xa7,0xa0,0xa4,0x93,0x14,0xa8,0xd0,0xb1,0xc7,0x32,0xa6,0x9b,0x1b, + 0xdb,0x7b,0x5a,0x6f,0x12,0x89,0x4c,0xd8,0x76,0x4b,0xac,0x3c,0x89,0xe5,0x1d,0x3a, + 0x54,0x96,0x30,0x16,0xc8,0xc6,0x80,0x4b,0x56,0x9e,0x19,0xbd,0xb9,0x44,0xe3,0x1, + 0x78,0x0,0x7,0x56,0xbb,0x1d,0x63,0x48,0x6d,0xa,0xf7,0x3a,0x83,0xf9,0x55,0x1c, + 0x54,0x76,0x14,0x9d,0xe3,0x46,0x98,0x6a,0xb7,0xa7,0x27,0x1e,0xba,0x87,0x2e,0xed, + 0xd5,0x78,0xbc,0x88,0x42,0x32,0x39,0x24,0xa2,0xe8,0xd,0x3a,0xd3,0xb3,0x17,0x7e, + 0x29,0x1d,0xd5,0x92,0xa8,0xc7,0x2e,0xb9,0xfe,0xc5,0x66,0xf8,0xfe,0x62,0x3,0xbd, + 0x99,0xd5,0xb4,0x1,0x21,0x11,0x63,0x2d,0x9,0x2f,0x2b,0x7a,0xbb,0x40,0xc2,0x96, + 0x15,0x33,0x84,0x49,0x95,0x66,0x48,0xe7,0xae,0x9c,0x29,0xe7,0x89,0xc7,0x54,0xce, + 0x11,0xe3,0x91,0x81,0x39,0x66,0xa4,0x22,0x77,0x6d,0xa4,0x34,0xf,0x9a,0x13,0x3b, + 0x1c,0x36,0x27,0xc9,0x3d,0x16,0x2b,0xf,0x19,0x14,0x3b,0x55,0xf0,0x2,0xd9,0x13, + 0xce,0xa,0x95,0xc7,0xb7,0x6b,0xf,0xa7,0xb1,0x61,0x5b,0x87,0x6b,0xad,0xba,0x56, + 0x6c,0x1b,0xa0,0x13,0x56,0x73,0xe8,0x50,0x62,0x90,0xb4,0xd0,0xc9,0x60,0x2b,0x2d, + 0x87,0xd4,0xac,0xaa,0xd5,0x5f,0x1b,0x69,0x89,0x19,0x11,0xb6,0x11,0xac,0x7e,0x83, + 0x3c,0xe2,0x42,0x34,0xda,0x69,0x61,0x7c,0xf0,0x82,0x6d,0xca,0xe8,0x56,0xd0,0x7d, + 0xf0,0x9c,0x49,0x2f,0xc1,0x4e,0xa4,0x97,0xb6,0x90,0x30,0x52,0xa8,0x3f,0x14,0xc7, + 0x0,0x15,0xdb,0xe7,0x18,0xe5,0xb,0x4c,0x0,0x2d,0x79,0x81,0x34,0xae,0x8c,0x69, + 0xf2,0x5,0x34,0x42,0xdb,0x4a,0xf9,0x2,0x3b,0xe,0xe5,0x90,0xf0,0xc6,0x8a,0x83, + 0x1a,0x41,0xc2,0xe0,0xf4,0x9f,0xac,0x42,0x6,0xf2,0x24,0x75,0x88,0x65,0x2d,0x2b, + 0x32,0x1e,0x52,0x54,0xa5,0x5b,0x1c,0x65,0x1e,0x5e,0xa5,0x65,0x6,0x9d,0x87,0x8d, + 0x3c,0xf8,0x1,0xf1,0x2,0x51,0x14,0x54,0x36,0x94,0x48,0x6b,0x44,0x8d,0x2d,0x24, + 0x1c,0xd,0xcd,0xd8,0xb1,0x22,0x25,0x42,0x45,0x72,0xee,0x42,0x8f,0x90,0xa2,0xc6, + 0x50,0xf2,0x24,0xcd,0x83,0xc4,0x4c,0x3c,0x63,0x96,0x73,0x53,0xa5,0xd4,0xda,0xca, + 0x63,0x47,0x89,0x4b,0x6d,0x53,0x2a,0x4,0x9e,0xf1,0x21,0x22,0xa8,0x49,0xa5,0x2b, + 0x3f,0x56,0x48,0xdb,0x8e,0xbc,0x7,0xa3,0x73,0x89,0x26,0xfe,0x2f,0x88,0x26,0x94, + 0x79,0x9c,0xcc,0xb0,0x75,0xa,0x6c,0xa,0x21,0x27,0x68,0x6c,0xd1,0x2e,0xa4,0x1e, + 0x66,0x20,0xd9,0x85,0x6c,0x59,0x5d,0xc,0xac,0xb5,0x67,0x61,0xa,0x6d,0xf8,0x4f, + 0x2d,0x1e,0x13,0xe5,0x51,0xde,0x4,0x46,0x71,0xe9,0x1d,0xe3,0x21,0x9b,0x39,0x8f, + 0x34,0x1,0x99,0xf,0x39,0xe9,0x48,0x47,0xd1,0xac,0x82,0x7c,0x48,0x81,0x50,0xd6, + 0xd8,0x66,0x31,0xd1,0xc8,0x8b,0x2a,0x22,0x61,0xa,0xe5,0xc9,0xcc,0x90,0x48,0xc, + 0x69,0x9,0xf6,0x18,0x88,0x15,0x68,0x67,0xdb,0x32,0xbd,0xa7,0xff,0x47,0x3,0x12, + 0x77,0x8c,0xb4,0xd3,0xa1,0xa8,0xc2,0xec,0xa3,0x17,0xeb,0xad,0x52,0x24,0x65,0x90, + 0x8c,0xa0,0xd2,0x39,0x3c,0xe3,0x5f,0xc8,0xe6,0x2a,0x9d,0x29,0x67,0x95,0xa7,0xc4, + 0x45,0xdb,0xa7,0x22,0xfd,0x4a,0x9,0x92,0x5,0x95,0x62,0x43,0x38,0x2,0x55,0xae, + 0x82,0x1b,0x24,0x70,0x6f,0xb7,0x9,0xb2,0xa,0xbb,0xf,0xa0,0x73,0x59,0xa6,0x4e, + 0x39,0x72,0xf8,0x83,0x52,0x4c,0xbb,0x9e,0x5c,0x66,0x24,0x98,0xe3,0xb7,0xf9,0xa0, + 0xc9,0x1c,0x48,0x64,0x90,0x4c,0x2d,0x2b,0x65,0xe,0xc8,0xb7,0xc0,0x30,0x8,0x71, + 0x2b,0x43,0xe2,0xc0,0xcc,0x9,0x1e,0x26,0x8f,0x49,0x60,0x62,0xab,0xc4,0x81,0x42, + 0x82,0x61,0x1f,0x44,0xa6,0xb2,0x16,0xdb,0x9b,0xad,0x12,0x7,0xa7,0xcc,0xa3,0x40, + 0x9,0x86,0x8e,0x94,0xb6,0xe4,0x86,0x3b,0x7,0x62,0x92,0xe0,0x53,0x1c,0xf4,0xb5, + 0x34,0x20,0x6d,0x49,0x6c,0xb6,0x6c,0xb8,0xdb,0xa0,0x84,0xc,0xf5,0x57,0xab,0xa5, + 0xd,0xe2,0x29,0xe8,0x49,0xd4,0x42,0x28,0xba,0x6c,0x48,0xb8,0x1e,0x5c,0x76,0x44, + 0x6f,0x4,0xc0,0xaa,0x11,0xd1,0x6e,0xed,0xa4,0xd,0x5b,0x38,0x63,0x54,0x26,0x57, + 0xc9,0x55,0x20,0xa,0x13,0x94,0x1b,0x3d,0xe0,0xa6,0x1e,0x51,0x2d,0x81,0x6c,0xed, + 0xb0,0x7b,0x0,0x3a,0x97,0x62,0xe6,0xf7,0x4f,0xb1,0x6d,0xad,0x16,0x7e,0x5c,0xd0, + 0x81,0xe5,0xbb,0x37,0xff,0x3,0x2a,0x46,0x5d,0x20, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_dialpad.svg + 0x0,0x0,0xb,0x27, + 0x0, + 0x0,0x46,0x78,0x78,0x9c,0xe5,0x5b,0x6b,0x6f,0xdb,0x38,0x16,0xfd,0xde,0x5f,0xe1, + 0x75,0xbf,0x34,0xd8,0x98,0xe6,0x4b,0x7c,0x78,0xe2,0xe,0x16,0x33,0xe8,0x60,0x80, + 0x19,0xec,0x62,0xdb,0x62,0x3f,0x16,0x8a,0x44,0xdb,0xda,0xca,0x92,0x57,0x92,0x13, + 0xbb,0xbf,0x7e,0x2f,0x65,0xeb,0x65,0xcb,0xf1,0x23,0x4a,0xda,0x49,0xec,0x16,0xb6, + 0xc9,0x2b,0x5e,0xf1,0xf0,0xf0,0xf2,0x5c,0x91,0xb9,0xf9,0x79,0x35,0xf,0x7b,0x77, + 0x26,0x49,0x83,0x38,0x1a,0xf7,0x9,0xc2,0xfd,0x9e,0x89,0xbc,0xd8,0xf,0xa2,0xe9, + 0xb8,0xff,0xf9,0xd3,0x87,0x81,0xea,0xf7,0xd2,0xcc,0x8d,0x7c,0x37,0x8c,0x23,0x33, + 0xee,0x47,0x71,0xff,0xe7,0xf7,0x6f,0x6e,0xfe,0x36,0x18,0xf4,0x7e,0x49,0x8c,0x9b, + 0x19,0xbf,0x77,0x1f,0x64,0xb3,0xde,0xef,0xd1,0xd7,0xd4,0x73,0x17,0xa6,0xf7,0x6e, + 0x96,0x65,0x8b,0xd1,0x70,0x78,0x7f,0x7f,0x8f,0x82,0x6d,0x21,0x8a,0x93,0xe9,0xf0, + 0xaa,0x37,0x18,0xc0,0x95,0xe9,0xdd,0xf4,0x4d,0xaf,0xd7,0x3,0xb7,0x51,0x3a,0xf2, + 0xbd,0x71,0x7f,0x6b,0xbf,0x58,0x26,0x61,0x6e,0xe7,0x7b,0x43,0x13,0x9a,0xb9,0x89, + 0xb2,0x74,0x48,0x10,0x19,0xf6,0x2b,0x73,0xaf,0x32,0xf7,0xac,0xf3,0xe0,0xce,0x78, + 0xf1,0x7c,0x1e,0x47,0x69,0x7e,0x65,0x94,0xbe,0xad,0x19,0x27,0xfe,0xa4,0xb4,0xb6, + 0x37,0x73,0xcf,0x72,0x23,0xa2,0xb5,0x1e,0x62,0x3a,0xa4,0x74,0x0,0x16,0x83,0x74, + 0x1d,0x65,0xee,0x6a,0xd0,0xbc,0x14,0xee,0xb1,0xed,0x52,0x8a,0x31,0x1e,0x42,0x5d, + 0x65,0x79,0x9a,0xd5,0x68,0x15,0x2,0x12,0x7,0x6f,0x26,0xaf,0xad,0x7b,0x7,0xf4, + 0x17,0xf0,0xbf,0xbc,0xa0,0x28,0x40,0x69,0xbc,0x4c,0x3c,0x33,0x81,0x2b,0xd,0x8a, + 0x4c,0x36,0xfc,0xf5,0xd3,0xaf,0x65,0xe5,0x0,0x23,0x3f,0xf3,0x6b,0xcd,0x14,0xe0, + 0x37,0xfc,0x36,0x46,0x24,0x72,0xe7,0x26,0x5d,0xb8,0x9e,0x49,0x87,0x45,0x79,0x7e, + 0xfd,0x7d,0xe0,0x67,0x33,0x20,0x83,0xc8,0x7f,0xcd,0x4c,0x30,0x9d,0x65,0xe5,0xcf, + 0xc0,0x1f,0xf7,0xa1,0x77,0x34,0xff,0x51,0x38,0x1f,0x95,0xc,0xc2,0x88,0x6d,0xaa, + 0x8a,0x16,0xeb,0x55,0x7c,0xd3,0x44,0x83,0x6e,0x8d,0x66,0xfc,0xd8,0xbb,0x75,0x53, + 0xb8,0xe5,0xe1,0x2c,0x9e,0x9b,0x41,0x18,0x7b,0x6e,0x38,0x5c,0x84,0xb7,0xc6,0x5d, + 0xfa,0x71,0x10,0xd,0x3f,0x7e,0xf8,0xe3,0x5f,0x33,0xe0,0xe1,0x30,0x9d,0x84,0x8b, + 0xc6,0x97,0xc1,0x34,0xfb,0x3a,0x5c,0x4,0xab,0xb9,0xbb,0x48,0xf7,0xda,0xb4,0x1d, + 0x1d,0xf7,0x3,0x2f,0x8e,0xbe,0xf8,0x81,0x1b,0x2e,0x5c,0x1f,0x15,0x3,0x54,0xde, + 0x66,0xbc,0xcc,0x16,0xcb,0xec,0x8b,0x59,0x65,0x26,0xda,0xdc,0x1d,0x40,0x54,0xc3, + 0x2b,0xaf,0xb6,0x97,0x95,0x65,0xfd,0xf7,0xd0,0xc0,0x8d,0x6f,0x26,0xa9,0x6d,0x68, + 0x83,0x8c,0xfd,0xc5,0xf3,0xa,0xa8,0x4a,0x5c,0xeb,0xed,0x37,0xfb,0x1,0x6c,0xde, + 0x18,0xd5,0x3c,0x7a,0x71,0x18,0x1a,0xf,0x90,0x75,0xc3,0x7b,0x77,0xbd,0xb9,0x6b, + 0xfb,0xca,0xf9,0x30,0x9a,0x25,0x6,0xf8,0xfb,0x16,0xbe,0x1b,0x37,0x29,0xda,0xe0, + 0x98,0x3b,0xa5,0x9d,0xf5,0xd7,0x74,0xc1,0x28,0x56,0x65,0xf5,0x74,0x5b,0xf8,0x39, + 0xa,0x32,0x20,0xea,0x32,0x35,0xc9,0x47,0x3b,0xd8,0xff,0x8c,0x3e,0xa7,0x66,0xcf, + 0xea,0x53,0xe2,0x46,0x29,0x30,0x6b,0x3e,0xee,0xcf,0xdd,0x2c,0x9,0x56,0xef,0x60, + 0xb8,0x88,0xd2,0xd2,0xb9,0xc6,0xf6,0x5d,0xfc,0x20,0x4,0x51,0xec,0x70,0x75,0xed, + 0x20,0x49,0x25,0xe5,0xea,0xaa,0x6c,0x2a,0x5d,0xc0,0x9c,0xf4,0xff,0x34,0xd9,0x2c, + 0xb6,0x77,0x66,0x26,0xb6,0x77,0x65,0xad,0xb7,0x82,0xf1,0xd6,0x88,0x2a,0x47,0x92, + 0xaa,0xf,0xde,0x7a,0xdc,0xd7,0xc8,0x96,0x71,0xca,0xcb,0xd2,0x49,0xab,0xed,0xa4, + 0xd5,0x36,0x1,0x53,0x8c,0x54,0x5e,0xdc,0xef,0xd,0xb7,0xd0,0x37,0x61,0xeb,0x2, + 0x7a,0xc2,0x84,0x6a,0x40,0xdf,0xac,0x66,0x54,0xf1,0xc7,0x43,0x9f,0xd9,0xaf,0x21, + 0x44,0xd5,0x77,0x84,0x22,0x47,0x62,0xc6,0xaf,0x7,0xc,0x61,0x6,0xc3,0x5e,0x3, + 0x7a,0x45,0xc6,0x7d,0x86,0x34,0xd1,0x9c,0xc8,0xca,0xe9,0x1a,0x4a,0x25,0x52,0x9c, + 0xa,0x26,0x48,0x65,0x4b,0xc7,0x7d,0x81,0x1c,0x81,0x35,0x71,0x2a,0x28,0xd7,0x50, + 0x4a,0x38,0x62,0xc0,0x27,0x22,0xbf,0x2f,0x6a,0xb4,0x4b,0xd4,0x84,0xe5,0xc,0x91, + 0x58,0xbd,0x78,0xd8,0x70,0x97,0xb0,0xe1,0x12,0x2e,0x29,0x5e,0x26,0x5e,0x5a,0x74, + 0x3a,0x39,0x15,0xe2,0x58,0x42,0x8,0x24,0x12,0xe6,0x28,0xd6,0x2f,0x14,0xb3,0xae, + 0x3,0x1a,0xa1,0x44,0x31,0xf2,0xe2,0x61,0xeb,0x34,0xa2,0x39,0x48,0x31,0x21,0x4, + 0x66,0x5,0x6c,0x84,0xbd,0x48,0xd8,0x18,0xee,0x14,0xb6,0x57,0xb2,0x7c,0x32,0xdc, + 0xe9,0x3a,0xf0,0x6a,0x96,0x4f,0xdd,0x81,0x4c,0xfe,0xab,0x2d,0x9f,0xfb,0x38,0x50, + 0xce,0xd8,0x36,0x57,0x81,0x66,0xd3,0x2c,0x5e,0x14,0xb6,0x20,0xe6,0xb3,0x75,0x8, + 0x39,0x93,0x2d,0x1c,0x40,0x8b,0x71,0x32,0x7a,0x8b,0xb1,0x82,0xd4,0xf6,0xa7,0xbc, + 0x28,0x6,0x88,0x82,0x6c,0x3d,0x22,0x3f,0xf5,0xab,0x6b,0xe2,0xc9,0x24,0x35,0xe0, + 0x18,0xd7,0xca,0xf2,0x74,0x11,0xae,0x0,0x5f,0x4e,0xd9,0x85,0x4b,0xbd,0xe1,0x36, + 0x6f,0xa4,0xdd,0x5b,0xd,0xb0,0x61,0xb3,0xdb,0x4f,0x46,0xbb,0x1c,0xcf,0x7,0xe1, + 0xd6,0xd,0x76,0x50,0xa4,0x85,0x23,0xeb,0x3,0xe,0x85,0x90,0xc7,0x43,0xc7,0x15, + 0x57,0xe,0x6f,0xd0,0x83,0xd9,0x88,0xa6,0x28,0x55,0x4d,0x7a,0x8,0x24,0x99,0x86, + 0xf7,0x89,0x7c,0x2e,0x31,0x29,0xfb,0xb9,0x80,0x64,0x7c,0x1,0x1d,0xd,0xee,0x4c, + 0x99,0xc8,0x15,0xa9,0x73,0xb6,0xb6,0x8f,0xf,0x9a,0xa6,0xcc,0xef,0xef,0x61,0x75, + 0xb7,0xf8,0x2,0x19,0x1b,0xee,0x8d,0x7a,0xa,0xfe,0x93,0x56,0x83,0xf5,0xc6,0x80, + 0xc0,0xa0,0xc2,0x7,0x6e,0xb5,0xf9,0x66,0x3b,0x74,0xb8,0x95,0xad,0xff,0x41,0x9c, + 0x4,0xd3,0x0,0x12,0x74,0x6b,0xe6,0x20,0xb6,0x79,0x35,0x2f,0x1,0xf0,0x6b,0x1d, + 0xe3,0x54,0xb1,0xa3,0xf3,0xa7,0x25,0xba,0x4a,0x7c,0xc6,0xf4,0xf0,0xa5,0x7d,0x5f, + 0x38,0x3d,0xc0,0x17,0x3d,0x6b,0x7a,0x48,0xcf,0xbe,0x4f,0xf0,0xd6,0x36,0x3d,0xc0, + 0x1b,0xbf,0x70,0x7a,0xb4,0xa0,0x24,0xe8,0x59,0x41,0x4,0x5f,0x1e,0x44,0xc0,0x17, + 0x3f,0xb,0xa5,0x49,0xfe,0xba,0x18,0x25,0x21,0xba,0x42,0x29,0x7f,0x70,0xf3,0xb8, + 0xfb,0xc6,0x27,0x82,0x4,0xae,0xe4,0x79,0x20,0x79,0x93,0x5b,0xef,0x76,0x7,0xa4, + 0x13,0x31,0x2,0x67,0xba,0x33,0x8c,0xa8,0xd0,0x67,0x60,0x44,0xfc,0xdb,0xcb,0x99, + 0xc4,0xa9,0x24,0x67,0x81,0xd4,0xe6,0xed,0xe4,0xe5,0x8,0xbc,0xb1,0xce,0x50,0x82, + 0x1c,0xea,0x10,0x4a,0xa5,0x3f,0xa2,0x9c,0x23,0x40,0x9c,0xe,0xe8,0x41,0x94,0x6a, + 0xde,0xe4,0x11,0x20,0xda,0x2,0xc1,0xc4,0x99,0x3c,0xe0,0xed,0xd1,0x28,0x9,0x79, + 0x6,0x97,0xac,0xd4,0xc0,0xe6,0x52,0x2e,0x11,0xa1,0xcf,0xe2,0x92,0x85,0x99,0xf0, + 0x4b,0xb9,0x44,0x6a,0xcc,0x7d,0x36,0x69,0x93,0xb3,0xee,0x1,0x69,0x43,0x6b,0x4f, + 0x64,0xad,0xb4,0x1,0x5d,0xa2,0xa8,0x90,0xb5,0xc7,0x2e,0x56,0xdb,0x80,0x58,0xa1, + 0x4a,0x49,0x52,0x35,0x65,0x95,0xd,0x95,0xa0,0x7c,0x69,0x53,0xf6,0x52,0x50,0x3b, + 0x84,0x3a,0xb8,0x2a,0x7d,0xfc,0xe3,0x6c,0x25,0x1d,0x4c,0x8b,0xc7,0xd9,0xc5,0xf, + 0x4,0xc9,0x35,0x24,0x8a,0xf0,0x5,0xb2,0x6b,0x8d,0xe5,0xd5,0x31,0x9d,0x90,0xab, + 0x2e,0xd0,0xf5,0x14,0x63,0xa7,0xd9,0xf,0xe8,0x32,0x93,0x4a,0x69,0xd9,0xe8,0x33, + 0x64,0xa2,0xd0,0x39,0x5d,0x4b,0x6f,0x37,0xd2,0xf,0xb,0x7,0xe6,0x8d,0x3c,0xe1, + 0xce,0x7,0x24,0xbf,0x67,0x72,0xd,0x12,0x10,0x32,0x1,0x5,0xd9,0x19,0x45,0x4a, + 0x70,0x59,0x7b,0x12,0x70,0x1a,0x3a,0xfb,0x3,0x47,0x98,0x52,0x27,0x8d,0xbf,0x8d, + 0xcd,0x47,0x89,0x74,0x4,0xba,0x87,0x93,0x28,0x4,0x3e,0x88,0x93,0x77,0x4e,0xa, + 0xa,0x29,0xdc,0xb9,0xbd,0x7b,0xaa,0x91,0x69,0x45,0x4d,0x3c,0x3b,0x6a,0x27,0x74, + 0x1e,0x43,0x8a,0x20,0x24,0x6d,0xe6,0x95,0x90,0x41,0x62,0x40,0x93,0xa9,0x46,0xe7, + 0x1,0x64,0xc,0x73,0x51,0x88,0xe6,0xb4,0x75,0x10,0xf0,0x8a,0x92,0x87,0xe6,0x3a, + 0x74,0x9e,0x9f,0x1f,0x32,0x9e,0x82,0x32,0x90,0x2a,0x69,0x2e,0x31,0x1,0xce,0xe4, + 0x3b,0x40,0x44,0xab,0x8b,0x38,0x3,0xb1,0x86,0x35,0x76,0x9a,0xf2,0x7c,0x8b,0x20, + 0x6,0x8b,0x88,0xda,0xa5,0xcc,0xae,0xa9,0xc5,0x12,0x72,0x74,0x2d,0xeb,0xc1,0xaa, + 0x15,0x35,0xfa,0x63,0xa0,0x46,0x10,0x15,0xc0,0x4b,0x72,0x3d,0x20,0x8,0xb2,0x31, + 0xe9,0xd0,0xb,0x41,0x53,0xd4,0x51,0xba,0x39,0xd1,0x24,0xcc,0x3e,0x6,0xff,0x9c, + 0x5d,0xd4,0x76,0x6d,0x49,0xbe,0xf9,0x8b,0x39,0xb0,0x4d,0x3c,0x8c,0x1a,0x7e,0x36, + 0xd4,0xda,0xdc,0x4b,0x7e,0x4c,0x6b,0x81,0x4d,0xd5,0x83,0x93,0xb5,0xd6,0x1,0xc1, + 0x71,0x54,0x6b,0x81,0x37,0xd5,0xe2,0xed,0x88,0xd6,0x3a,0x20,0x38,0x3a,0xd2,0x5a, + 0xf9,0xd3,0xb6,0xd3,0xd5,0xf,0x15,0x8f,0xd0,0xed,0xc4,0xe6,0xe4,0x67,0xe9,0x76, + 0xde,0x2a,0x33,0x4f,0xd3,0x5a,0xa4,0x9e,0x95,0x3f,0x1e,0xa5,0x83,0x79,0x72,0xe5, + 0x4f,0xf0,0xf3,0xb9,0x74,0x0,0xd0,0x13,0xb8,0x24,0xda,0x98,0x7b,0x84,0x4b,0x6d, + 0xde,0x2e,0xe6,0xd2,0xd3,0x29,0x52,0xc2,0xf1,0xb9,0x5b,0x7e,0xed,0xb,0xe0,0x81, + 0xc5,0xb2,0x7d,0x61,0x6d,0x2c,0xc2,0x4f,0xf8,0x80,0xfb,0x78,0xe7,0x3b,0x7d,0xc0, + 0xfd,0xd0,0x92,0x91,0xa3,0x66,0xfb,0xcc,0x35,0xdb,0x8d,0xfa,0x84,0x38,0x8e,0xa3, + 0x1b,0xa0,0xc1,0x4a,0x2d,0x14,0x18,0x53,0x46,0x9b,0xb0,0x95,0xd6,0xdf,0x13,0x36, + 0xd2,0xe9,0x76,0xca,0x83,0xfa,0x24,0xdf,0x1e,0x20,0x48,0x68,0xaa,0xc5,0x8e,0xc8, + 0xb0,0x70,0x73,0x4a,0x9a,0x6c,0xa3,0xc,0x9a,0x0,0xe,0xee,0x6c,0xf,0x30,0xc4, + 0x1c,0x87,0xd1,0x27,0x45,0xad,0xa1,0x62,0xdb,0x50,0xeb,0x74,0xeb,0xee,0xa1,0x44, + 0x60,0xb5,0xd9,0x3d,0x71,0x88,0x25,0x50,0x13,0x34,0x7,0x69,0x42,0x1b,0xd9,0x4c, + 0xae,0x47,0x8,0x21,0x5c,0x71,0xd2,0x4,0x8d,0x20,0x47,0x4b,0x46,0x9d,0xef,0x8b, + 0x5a,0x7,0xdb,0xeb,0x67,0x64,0x88,0xed,0xb9,0xcd,0x81,0x3c,0xa8,0x3d,0x67,0x6a, + 0xe4,0x57,0x1b,0xe8,0x6e,0x86,0xf6,0xc4,0x5b,0xfe,0xad,0xdc,0x35,0xb0,0xa7,0xed, + 0xfc,0xbb,0xc0,0xdc,0xbf,0x29,0xfb,0x6e,0xf,0xf5,0x6d,0xdb,0x59,0xb8,0x53,0x93, + 0x2f,0x25,0x80,0xd8,0xe6,0x31,0xe7,0xb6,0xe2,0x36,0x4e,0x7c,0x93,0x14,0x55,0x22, + 0x7f,0x35,0xaa,0xb6,0xab,0x4d,0x75,0x6c,0xb0,0xbe,0x35,0x0,0xad,0x96,0xf5,0xb8, + 0xbd,0x3e,0x9d,0xb9,0x7e,0x7c,0xf,0x28,0xec,0x56,0x7e,0x8b,0xe3,0x79,0xce,0xa, + 0x66,0xe5,0x85,0xda,0xad,0xb6,0x27,0xd7,0x28,0x84,0x2d,0x10,0xfe,0x58,0xef,0x55, + 0xae,0xed,0x2e,0x1f,0x11,0x2,0x16,0x45,0xb9,0x5b,0xe9,0xc7,0xde,0xd2,0x1e,0x64, + 0x1d,0x2c,0x37,0x3,0xbb,0x58,0xed,0x5d,0xbe,0x4c,0x12,0x6b,0x10,0xba,0x6b,0x3, + 0xdd,0xce,0x3f,0xa,0xb2,0x96,0xc7,0x30,0xcb,0xcb,0xaa,0xa3,0x98,0x65,0x51,0x3a, + 0x8b,0xef,0xa7,0xcb,0xc0,0x37,0xa9,0x9d,0x43,0x4b,0xb3,0xeb,0x20,0xaf,0x1b,0xdc, + 0xde,0xc6,0xab,0xf6,0xfa,0xfb,0x20,0x2,0x50,0x6,0x85,0x2f,0x5c,0xb2,0x72,0xd7, + 0xa2,0xf0,0x2d,0xe9,0x1e,0x7e,0x5b,0xb,0xf0,0xc0,0x98,0x38,0x50,0xb9,0xb6,0x18, + 0xea,0xfa,0x4d,0x27,0x96,0x18,0x13,0x37,0x4c,0x4d,0x71,0x5e,0xb2,0x64,0x50,0x7e, + 0xd3,0x5,0xed,0xe2,0xc4,0x92,0xde,0xcd,0xf2,0x33,0x99,0x77,0x26,0xc9,0x2,0xcf, + 0xd,0x4b,0x52,0x2e,0xe2,0x34,0xd8,0x54,0x41,0x16,0xa6,0x28,0xe1,0xb4,0xb9,0xf3, + 0x9b,0x37,0xc5,0x8,0x17,0x25,0x61,0xf7,0x79,0x9a,0x97,0xcf,0x4d,0xe6,0xfa,0x6e, + 0xe6,0x56,0xa4,0x2d,0x4a,0x64,0x79,0x9e,0xd3,0x9f,0x8c,0xfe,0xfd,0xeb,0x87,0x52, + 0x56,0x79,0xde,0xe8,0x3f,0x71,0xf2,0xb5,0x92,0x4b,0xd6,0xc0,0xbd,0x8d,0x97,0x0, + 0x53,0x29,0xf5,0xec,0x11,0x51,0x6f,0x64,0xa7,0xab,0x9b,0xbd,0xf,0xe6,0xc0,0x43, + 0x7b,0x38,0xf8,0xef,0xab,0x79,0x8,0x73,0xa7,0xac,0x68,0x18,0xdb,0x6d,0xb7,0xaa, + 0xd1,0x4d,0xb3,0x89,0xd9,0x1c,0xfe,0x6d,0x3d,0x2f,0xed,0x7b,0xf3,0xc0,0x5e,0x34, + 0xfc,0x98,0x5,0x61,0xf8,0xbb,0x75,0x52,0x97,0x7f,0xc3,0xed,0x8d,0x16,0xa,0xad, + 0xd6,0x8f,0x9b,0x61,0xd1,0xcb,0xfc,0xd7,0x74,0x67,0xf0,0x42,0xf7,0xd6,0x84,0xe3, + 0xfe,0x2f,0x6e,0xf8,0xbf,0xa5,0x29,0xf7,0xd7,0x2a,0x72,0x25,0xf1,0x72,0x31,0x8f, + 0x7d,0xb3,0x65,0x6e,0xbf,0x2,0x6f,0xcb,0xe4,0xad,0xcb,0x69,0x63,0x48,0x20,0xf2, + 0x56,0xa1,0x31,0x6b,0x79,0x52,0x27,0x40,0xbf,0xc0,0xfa,0xb7,0x7d,0x54,0x27,0x14, + 0x67,0x1a,0xd6,0x3,0x7b,0x7e,0x58,0x6a,0x21,0x73,0x15,0x42,0x25,0x7,0xbd,0x70, + 0x55,0x29,0xea,0x4,0xe2,0x73,0x6d,0x24,0xf2,0x30,0x20,0x99,0xc3,0x8,0xd1,0x95, + 0x33,0xa8,0x58,0x1d,0xa8,0x80,0xb,0x1c,0x8,0x0,0x94,0x48,0x55,0x57,0xc5,0x96, + 0xd4,0x48,0x8,0xa2,0x30,0xab,0x95,0x16,0x93,0xc1,0xee,0xef,0x73,0xc6,0xeb,0x92, + 0x79,0x3b,0x93,0x5a,0x6a,0xf2,0xf3,0xba,0x70,0x97,0x94,0x92,0x16,0x45,0x5f,0x29, + 0xf7,0x9,0x8c,0xe1,0x8,0x46,0xf7,0xdd,0xce,0x8a,0x62,0x8f,0x2d,0x5c,0xe5,0xb5, + 0x35,0x99,0x9f,0x66,0x49,0xfc,0xd5,0x40,0x9e,0xc3,0x24,0xcb,0x65,0xb9,0xfd,0xb9, + 0x99,0xce,0x23,0x50,0x65,0x45,0x1,0xf0,0xc3,0x24,0x61,0x0,0x1f,0x23,0x5e,0x94, + 0xf9,0x2e,0x44,0xc4,0x24,0x71,0xd7,0xa3,0x28,0x8e,0x4c,0xbd,0x74,0x93,0xa,0x8c, + 0xca,0xe6,0xaa,0x5d,0xa1,0x1a,0xab,0x9e,0xe,0x70,0xd,0xb2,0x49,0xc0,0x2,0xad, + 0xba,0x42,0x9c,0x11,0xdd,0x92,0xd5,0x9c,0x80,0x38,0x40,0xfa,0x2a,0x10,0x27,0x2, + 0x81,0x20,0x7,0xf8,0x3a,0x44,0xdc,0xb9,0x10,0x71,0xfa,0xa3,0x20,0x7e,0x33,0x9c, + 0x1e,0x8,0x5f,0x94,0x5e,0x10,0xbe,0x6,0xc,0x51,0xc7,0xee,0x4b,0x51,0xab,0xce, + 0x28,0x93,0xb4,0xae,0x6c,0x77,0x11,0xea,0x34,0xb0,0x81,0x6a,0x83,0xe4,0x43,0x8, + 0xb5,0x3b,0xcf,0xb8,0x56,0x5c,0x30,0xd1,0xd9,0xa8,0x5f,0x1e,0xd9,0x7e,0x98,0x51, + 0x7f,0x52,0xc4,0x21,0x4b,0x91,0x8a,0x9,0xc6,0x3b,0x44,0x9c,0x5e,0x88,0x38,0x7f, + 0x15,0x88,0x53,0x9b,0xf3,0x28,0x85,0xbb,0x44,0x9c,0x5f,0x88,0xb8,0xf8,0x51,0x10, + 0x3f,0x1c,0xd9,0x6a,0xcf,0x1f,0xcf,0x12,0x66,0xd2,0x3e,0x20,0x73,0xae,0x21,0x37, + 0x57,0x92,0x2a,0xac,0x9e,0x29,0xb0,0x3d,0x93,0x62,0x3,0x5c,0xc4,0x65,0x63,0xae, + 0x5e,0x87,0x7e,0xe8,0x5e,0xb1,0xd1,0xc6,0x44,0x3e,0x7,0xf1,0x17,0xb6,0x92,0x3c, + 0x9b,0x62,0xa3,0xf2,0xc2,0xb5,0x5b,0xfd,0x30,0x2b,0xc9,0xc1,0xb8,0x56,0x47,0xb5, + 0x35,0xae,0x9,0xbb,0x6b,0xa9,0xb6,0x71,0x4d,0x62,0x6d,0xd7,0x8c,0x6b,0x82,0x18, + 0x87,0x21,0xa1,0x36,0xe1,0x14,0xdc,0x8a,0x1b,0x5d,0x4b,0x38,0x17,0x6e,0x36,0xab, + 0xf0,0x6a,0x6b,0x15,0x14,0x1e,0xc7,0xba,0x68,0x74,0xf3,0x83,0x23,0xc8,0xe2,0x8, + 0x61,0xf6,0xc4,0x89,0xb0,0xf,0x3a,0xaf,0x6a,0xa0,0xc3,0xbd,0xfe,0xd9,0xa3,0x12, + 0xd9,0x81,0xa5,0xfa,0xba,0xfc,0x63,0xc7,0xde,0x3f,0x7a,0xa,0x61,0xbb,0xf1,0xcc, + 0xc9,0x75,0xf9,0xad,0x87,0x7b,0xc4,0xbe,0x9,0xe8,0x4a,0xbb,0xc1,0x77,0xa2,0x7d, + 0x5b,0xfb,0xdf,0xea,0x23,0x5f,0x3c,0x1f,0xb1,0x74,0x2d,0x2f,0x6e,0x35,0x58,0x1d, + 0x31,0x68,0xff,0xeb,0xce,0xba,0x41,0xeb,0x1f,0x7a,0x6e,0xcf,0xef,0x2,0xbe,0x8c, + 0x88,0x16,0x79,0x53,0x51,0xd1,0x72,0xb0,0xf9,0xe7,0xaf,0x87,0xa8,0x58,0x27,0xd3, + 0x86,0x87,0xe,0x12,0xda,0xbe,0x14,0x39,0x9f,0x8e,0x6d,0xc7,0x24,0x77,0x4e,0x4d, + 0xbb,0x89,0x57,0x8f,0x4,0x4d,0xb6,0x54,0xcf,0xa0,0x62,0xdf,0x58,0xfb,0x74,0xdc, + 0xf7,0xbc,0x16,0x0,0x28,0x75,0xe4,0x2e,0x41,0x88,0x42,0x94,0x6b,0x47,0x8a,0x6b, + 0x7,0xbe,0x30,0x48,0x23,0x68,0xef,0x8f,0x5a,0x29,0x81,0x45,0x18,0x4b,0xdc,0xa2, + 0x52,0x72,0xe0,0xf2,0x7e,0x34,0x40,0x2,0x72,0x3a,0x9b,0x92,0x64,0x19,0x9a,0x91, + 0xb9,0x33,0x70,0x5b,0x7e,0x39,0x89,0xa9,0x2b,0x26,0xc4,0xdf,0x9b,0xc4,0xc4,0x51, + 0xda,0x61,0x72,0xb1,0x2a,0x6a,0x6c,0x5c,0xf0,0xdc,0xc5,0xe8,0x76,0x99,0x65,0xf5, + 0xb2,0xff,0xc6,0x41,0x34,0xca,0xb1,0xdd,0x85,0xf,0x84,0x83,0xb6,0x8a,0x42,0xd1, + 0x6e,0xa0,0xd2,0x7b,0x73,0x9,0x23,0xa2,0x28,0xbf,0x16,0x88,0x29,0x4c,0xb1,0xc5, + 0x89,0x32,0x84,0x35,0xe7,0x4c,0xc2,0x54,0x14,0x5a,0x69,0xd6,0xb8,0xea,0x75,0x0, + 0x25,0xc8,0x21,0xa0,0x14,0x52,0x42,0x41,0x78,0x60,0xd,0xa4,0xec,0xfe,0x1e,0x70, + 0x4b,0xb5,0x2c,0xc9,0x2f,0x1d,0x29,0x76,0x78,0xf6,0x1,0x2a,0x18,0x3b,0x54,0xa9, + 0xe6,0xec,0x63,0x88,0x9,0xa9,0xe,0x85,0xad,0x17,0xc,0x95,0xb3,0x7,0x15,0x4c, + 0x3b,0x46,0xb9,0x28,0x69,0x95,0xc7,0x29,0x86,0x38,0xc5,0xb0,0xf2,0x95,0xac,0x92, + 0xaf,0xf,0xaa,0xfd,0x98,0x5e,0x42,0xb5,0xd,0x55,0x44,0xd5,0xb0,0x2a,0x63,0x55, + 0x4b,0x16,0xf2,0x17,0x80,0x6a,0x2b,0xcb,0xf2,0x8f,0x1b,0xbb,0xfb,0xf1,0xfe,0xcd, + 0xff,0x1,0x3,0xd9,0x30,0xdf, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/busy.svg + 0x0,0x0,0x11,0xaa, + 0x0, + 0x0,0x70,0x47,0x78,0x9c,0xed,0x5c,0x6d,0x73,0xea,0xc6,0x92,0xfe,0x9e,0x5f,0xa1, + 0x25,0x5f,0x8e,0x6b,0x41,0xcc,0xfb,0x8b,0xaf,0x7d,0x6e,0x6d,0x9d,0x54,0xb6,0x6e, + 0x55,0x6e,0xed,0xd6,0x26,0xa9,0xfd,0xb8,0x85,0x41,0xd8,0x6c,0x30,0xb0,0x80,0x63, + 0x3b,0xbf,0x7e,0x9f,0x1e,0x9,0x21,0x89,0xc1,0x80,0x2d,0xbf,0x9c,0xe4,0xd8,0xc9, + 0x31,0x6a,0x8d,0xa6,0xa7,0x9f,0xe9,0xee,0xe9,0x6e,0xd,0x73,0xf1,0xf7,0x87,0xdb, + 0x69,0xf2,0x7b,0xb6,0x5c,0x4d,0xe6,0xb3,0xcb,0xe,0x4f,0x59,0x27,0xc9,0x66,0xc3, + 0xf9,0x68,0x32,0xbb,0xbe,0xec,0xfc,0xfa,0xcb,0x8f,0x3d,0xd7,0x49,0x56,0xeb,0xc1, + 0x6c,0x34,0x98,0xce,0x67,0xd9,0x65,0x67,0x36,0xef,0xfc,0xfd,0xf3,0x77,0x17,0xff, + 0xd2,0xeb,0x25,0x5f,0x96,0xd9,0x60,0x9d,0x8d,0x92,0xfb,0xc9,0xfa,0x26,0xf9,0xc7, + 0xec,0xb7,0xd5,0x70,0xb0,0xc8,0x92,0x4f,0x37,0xeb,0xf5,0xe2,0xbc,0xdf,0xbf,0xbf, + 0xbf,0x4f,0x27,0x5,0x31,0x9d,0x2f,0xaf,0xfb,0x67,0x49,0xaf,0x87,0x27,0x57,0xbf, + 0x5f,0x7f,0x97,0x24,0x9,0xd8,0xce,0x56,0xe7,0xa3,0xe1,0x65,0xa7,0x68,0xbf,0xb8, + 0x5b,0x4e,0x43,0xbb,0xd1,0xb0,0x9f,0x4d,0xb3,0xdb,0x6c,0xb6,0x5e,0xf5,0x79,0xca, + 0xfb,0x9d,0x6d,0xf3,0xe1,0xb6,0xf9,0x7d,0x76,0x95,0x2e,0xb3,0xd5,0xfc,0x6e,0x39, + 0xcc,0xbb,0x1f,0xe,0xab,0x2d,0x97,0xa3,0xf1,0xb6,0x29,0x46,0x72,0x2f,0x43,0x23, + 0xee,0xbd,0xef,0x33,0xd1,0x17,0xa2,0x87,0x16,0xbd,0xd5,0xe3,0x6c,0x3d,0x78,0xe8, + 0xcd,0x56,0xdf,0x57,0x1e,0xc5,0x0,0x63,0x8f,0xa,0xc6,0x58,0x1f,0xf7,0xb6,0x2d, + 0x8f,0x6b,0x75,0xfe,0x30,0x5,0xc,0x7b,0x7,0x13,0xee,0x56,0xb9,0x3,0xfa,0x5, + 0xfe,0x2f,0x1f,0xd8,0x10,0xd2,0x5c,0xd6,0x31,0x9e,0xcc,0xd2,0x59,0xb6,0xee,0xff, + 0xf0,0xcb,0xf,0xe5,0xcd,0x1e,0x4b,0x47,0xeb,0x51,0xa5,0x9b,0xd,0xf2,0x35,0xbe, + 0xb5,0xe9,0x98,0xd,0x6e,0xb3,0xd5,0x62,0x30,0xcc,0x56,0xfd,0xd,0x3d,0x3c,0x7f, + 0x3f,0x19,0xad,0x6f,0x2e,0x3b,0x42,0x85,0xab,0x9b,0x6c,0x72,0x7d,0xb3,0x2e,0x2f, + 0x27,0xa3,0xcb,0xe,0xa4,0x13,0xe1,0x62,0xc3,0xfc,0xbc,0x54,0x1f,0x96,0xca,0xfc, + 0xd6,0xa6,0xc7,0xea,0x2d,0xa5,0xc3,0xad,0x9a,0xae,0xd5,0xba,0x19,0xcd,0x87,0x57, + 0x83,0x15,0x86,0xdc,0xbf,0x99,0xdf,0x66,0xfd,0xc5,0xf4,0x2a,0x1b,0xdc,0x8d,0xe6, + 0x93,0x59,0xff,0xe7,0x1f,0x7f,0xfa,0xcf,0x1b,0xa8,0x5f,0x7f,0x35,0x9e,0x2e,0x6a, + 0x1f,0x7a,0xd7,0xeb,0xdf,0xfa,0x8b,0xc9,0xc3,0xed,0x60,0xb1,0xda,0xe9,0x8d,0x44, + 0xbc,0xec,0xc,0xef,0x96,0x4b,0x28,0x53,0xf2,0x69,0x38,0x5f,0x4c,0xb2,0xb3,0x74, + 0x33,0x3b,0xe5,0x18,0xe7,0x77,0xeb,0xc5,0xdd,0xfa,0x7f,0xb2,0x87,0x75,0x36,0xcb, + 0x87,0x6,0x7c,0x2a,0x60,0x85,0xdb,0xf4,0x58,0x5a,0x3,0xaa,0xe4,0x74,0x8b,0x7f, + 0xc6,0x93,0xc,0xd0,0xac,0x97,0x77,0x59,0xe7,0x33,0x6e,0x5e,0x8c,0xb2,0xf1,0x8a, + 0x1a,0xe5,0x90,0xd1,0x95,0xa,0x37,0x70,0xb,0x13,0x9e,0xd,0x96,0xff,0xbe,0x1c, + 0x8c,0x26,0x18,0x56,0xde,0x28,0x6f,0x56,0xbf,0xa3,0x18,0x10,0xfb,0x5c,0xdc,0xbf, + 0x58,0xad,0xe7,0x8b,0x4d,0x5b,0xf0,0x5e,0x3f,0x4e,0x21,0x1a,0x11,0x7b,0xc3,0xf9, + 0x74,0xbe,0x3c,0xff,0x7e,0x1c,0x7e,0xfe,0x16,0x48,0x73,0xcc,0xeb,0x64,0xfd,0x78, + 0x9e,0x3,0x9c,0xff,0xcc,0xc7,0xe3,0x55,0x86,0x99,0xac,0xd2,0xc2,0x74,0xe2,0x1, + 0xb0,0xb2,0x9d,0xa4,0x7f,0x2,0xb3,0xe1,0xf8,0x6a,0x78,0x55,0x67,0xc6,0x23,0xcc, + 0x78,0x9c,0x99,0x2f,0x99,0x5d,0xf4,0xeb,0x42,0x9f,0x8a,0x91,0x30,0xfe,0x24,0x8c, + 0x7c,0xa6,0x55,0x63,0xd8,0x7f,0x3b,0x16,0x24,0x61,0xf9,0x49,0x20,0x79,0x26,0x33, + 0xc6,0x1a,0x33,0x12,0xe3,0x16,0x45,0x49,0x58,0xd9,0x1a,0x4a,0xdc,0xc9,0x7d,0x28, + 0x95,0xfc,0xb8,0xd3,0x7,0x80,0x38,0x52,0x44,0x0,0xba,0x17,0xa5,0xa,0x37,0x7b, + 0x0,0x88,0xe8,0xf4,0x59,0xcd,0x86,0x7b,0xb9,0xbd,0x18,0x25,0x63,0x4f,0xd0,0x25, + 0x7,0x4f,0xcf,0xb2,0xe7,0xea,0x12,0x37,0xfe,0x24,0x5d,0xba,0x2,0x33,0xae,0x9e, + 0xab,0x4b,0xbc,0xa2,0xb9,0xa7,0xa1,0xb4,0xf1,0x91,0x18,0xc6,0x34,0x1b,0xa2,0xff, + 0xc1,0xf4,0x7e,0xf0,0xb8,0x2a,0x99,0x84,0xe5,0xeb,0xfc,0x66,0x99,0x61,0xb9,0xfd, + 0x3e,0xa2,0x75,0x4f,0x2a,0xe5,0x76,0xac,0xf,0x1c,0x23,0x67,0xa9,0xb6,0xca,0x6f, + 0x9f,0x79,0x24,0xa2,0x48,0x39,0xd7,0x5a,0xfb,0x6d,0x53,0x71,0xd9,0xc1,0x72,0x67, + 0x1c,0x1a,0x8b,0x62,0xb9,0x9,0xad,0x45,0xac,0xf5,0x75,0xc1,0xed,0xd7,0xd9,0x64, + 0x8d,0x5,0xfb,0x6e,0x95,0x2d,0x7f,0xa6,0x45,0xef,0x3f,0x66,0xbf,0xae,0xb2,0x9d, + 0x56,0xbf,0x2c,0x7,0xb3,0x15,0x56,0xd8,0x5b,0x72,0xe5,0xf8,0x38,0x45,0x7c,0xf3, + 0x89,0xa7,0xc2,0xc0,0xcd,0xf0,0x6e,0xf,0xd1,0x8,0x63,0x56,0x8b,0xb3,0x2d,0x98, + 0xef,0x0,0x9b,0xd7,0x35,0xd8,0x24,0x4f,0x8d,0x17,0xde,0xb8,0x3a,0x6e,0x34,0x6a, + 0x25,0xb8,0xa9,0xe1,0x26,0x64,0xea,0xf0,0x63,0x74,0x1d,0x35,0x99,0x4a,0xad,0x2b, + 0x50,0xb6,0x0,0x1a,0x66,0xc8,0x2b,0xcb,0xb8,0xeb,0xe2,0x93,0x73,0x9a,0x7b,0xf7, + 0xae,0xa8,0x9,0x26,0xeb,0xca,0xa6,0x53,0xa3,0xac,0xe0,0x75,0x6d,0x13,0xa9,0x65, + 0x2,0xf8,0xd4,0x51,0xe3,0x2a,0x65,0x5c,0x1a,0xe9,0xea,0xa8,0x91,0xba,0x1a,0x74, + 0x71,0x24,0x6c,0xaf,0x29,0x3c,0xad,0x82,0x4f,0x9,0xaf,0x4d,0x4d,0x78,0x9b,0x62, + 0x42,0xc8,0x7a,0xea,0x2a,0xa3,0x53,0xcf,0x85,0x74,0xae,0x26,0xbc,0x85,0x45,0x71, + 0xe5,0x14,0xaf,0xb,0xcf,0x53,0xed,0xad,0x14,0xba,0x4d,0x9d,0x41,0x88,0x28,0xc, + 0xd7,0x50,0x19,0xcc,0x83,0xc1,0xdc,0x98,0xd7,0x55,0x99,0x43,0xa8,0x19,0xf6,0x72, + 0xe9,0x6e,0x7,0xeb,0xe5,0xe4,0xe1,0x53,0x8f,0x77,0x19,0x7e,0x79,0x57,0x8a,0x94, + 0x41,0x57,0x83,0x8c,0xe,0x1a,0x28,0xcf,0x6a,0x33,0x83,0xbb,0x46,0x63,0x6d,0xb4, + 0xf5,0x99,0x11,0xa9,0x11,0xda,0x33,0x51,0x9b,0x19,0x93,0x3a,0x69,0x9d,0xf3,0xb6, + 0x69,0xcc,0x1e,0x49,0x88,0x96,0xef,0x68,0x6d,0x42,0x14,0xe9,0xc2,0x46,0x2c,0x8e, + 0xb1,0xa,0x63,0xbd,0xa9,0x89,0x65,0x52,0xb,0x63,0xb3,0x15,0x1b,0xc,0x3e,0xca, + 0xa6,0xda,0x88,0xba,0x87,0x12,0x22,0xd5,0x5c,0x68,0xd6,0x82,0xba,0x15,0x13,0x2, + 0xa7,0x84,0x58,0x42,0xe8,0x30,0x2d,0xdb,0x8b,0xd4,0x18,0x63,0x99,0xc4,0x7,0x6e, + 0xad,0x67,0xf6,0xa0,0x2,0xee,0xe7,0x0,0xb7,0x2c,0x3c,0x97,0x81,0x41,0x6f,0x73, + 0xd1,0x83,0xd7,0x60,0xc6,0x30,0xd7,0x95,0x3e,0xb5,0x70,0x8a,0xf6,0xec,0x44,0x91, + 0x1e,0xc3,0xcc,0x1b,0x6b,0x99,0xb7,0x75,0x4b,0x85,0xfd,0x3a,0x66,0x6a,0x4b,0x22, + 0xf,0xd0,0x39,0x98,0x3a,0x73,0xf5,0x9,0x81,0xfb,0x93,0x4c,0x56,0x96,0x92,0x98, + 0x1,0x58,0x7d,0xba,0x1d,0xed,0xd3,0xaa,0x3,0x38,0xd6,0x55,0xf7,0x80,0x9a,0xc7, + 0x4d,0x22,0x6a,0x3e,0x2f,0x33,0xc9,0xe3,0xa6,0x64,0x17,0x3a,0x5e,0xf3,0xa2,0xaf, + 0xc,0xdd,0xc9,0x3e,0xf5,0x74,0x85,0x7b,0x8d,0x99,0x89,0xa2,0x66,0xde,0x1c,0xb5, + 0x23,0x84,0xdf,0x59,0xe8,0xf7,0x4,0x5,0xf1,0x0,0x22,0x1a,0x6c,0x44,0x85,0x57, + 0x47,0x9,0x5f,0x73,0xbd,0xaf,0xa1,0x32,0xd1,0xd0,0xed,0x19,0xb0,0xc1,0x67,0x4b, + 0x6d,0xb9,0xae,0xc1,0x86,0x68,0x55,0x22,0xcf,0x72,0x4d,0x95,0x69,0x36,0x25,0x2c, + 0x55,0x2a,0xbd,0xad,0x3a,0xfd,0x28,0x6a,0xe2,0x63,0xa0,0x16,0xcb,0x12,0x9e,0x5, + 0x9a,0x13,0xda,0xf9,0xba,0xa1,0x59,0x58,0x9f,0xc4,0x7f,0xba,0x89,0x5a,0xb3,0x2d, + 0xf,0x55,0x35,0xa6,0xa0,0x6d,0xe6,0x69,0xd4,0xd8,0x9b,0xa1,0x16,0x63,0x6f,0xd5, + 0xa1,0x72,0x4,0xda,0x6c,0x25,0x38,0xba,0x1c,0xb1,0x27,0x27,0x3f,0x58,0x8e,0x0, + 0x37,0x17,0xe1,0x76,0xa0,0x1c,0xb1,0x27,0x27,0x6f,0xa9,0x1c,0x1,0xe7,0xe2,0x4e, + 0x28,0x47,0x8,0x43,0xc3,0x79,0x66,0x39,0x2,0xf2,0xb3,0x93,0xca,0x11,0x5c,0xe9, + 0xf1,0x51,0xdc,0x62,0xe5,0x8,0x70,0x13,0x2d,0xa2,0x24,0xe,0xeb,0x92,0x51,0xa7, + 0xeb,0xd2,0x1e,0x40,0x8f,0xd0,0x25,0x13,0xd3,0xdc,0x3,0xba,0x14,0xe3,0xf6,0x6c, + 0x5d,0x7a,0xbd,0xc8,0x9e,0x2b,0x66,0x4e,0x74,0x6b,0x6d,0x67,0xdb,0xef,0x97,0xd6, + 0x40,0x78,0x77,0xa2,0xf0,0xcf,0x5e,0x32,0x5a,0x2f,0x88,0xbd,0x27,0x6c,0xbc,0x85, + 0x44,0xfa,0xc8,0xf8,0xa4,0xe5,0x8a,0xd8,0xfb,0x95,0x1f,0x80,0x5a,0xab,0x5,0xb9, + 0xa7,0x12,0x81,0xb6,0x6b,0x42,0xef,0x8a,0x9a,0x7a,0x39,0x6a,0x1f,0xa1,0x68,0x43, + 0xa3,0x1a,0x4c,0x5b,0x85,0x8e,0xa9,0x7a,0x28,0x5d,0x67,0xa1,0x98,0xde,0xce,0xe7, + 0xf0,0x1,0x83,0xf2,0xa9,0x70,0xb5,0xa8,0x7c,0xf8,0x78,0xd9,0xf1,0x29,0xd1,0x54, + 0xa5,0xc0,0x33,0x8e,0xb6,0x1d,0x47,0xdb,0x2e,0x83,0x57,0x73,0x81,0x7c,0xe2,0x3c, + 0xad,0x16,0xcb,0x6c,0x30,0xfa,0x67,0xb6,0xbe,0x99,0xd3,0xd8,0xb3,0x31,0xc9,0x7f, + 0x54,0xa5,0x7,0x53,0x87,0x3c,0xa2,0xa8,0xf4,0x14,0x17,0xe4,0xd,0x98,0x56,0xae, + 0xab,0x53,0x2b,0xac,0x50,0x87,0xab,0xd3,0x7f,0xae,0xa,0x85,0x50,0x9e,0x9f,0x6e, + 0x6f,0x2f,0x29,0xee,0xd0,0x4a,0x24,0xad,0xd6,0xd,0x4f,0x22,0x3c,0x92,0x91,0x6, + 0x72,0x6,0x4d,0x99,0x76,0x75,0xe4,0x30,0x63,0x58,0x7f,0xa5,0xdb,0xad,0x1,0xbe, + 0x52,0xe1,0x23,0x6,0x9a,0xf3,0x6f,0xb,0x5a,0xf3,0xcd,0xcc,0x9e,0x25,0x2b,0xbe, + 0xbc,0x45,0x97,0xc2,0xd7,0x4e,0xfd,0xa3,0xa8,0xd9,0xa3,0x50,0x6b,0x23,0xdb,0x2c, + 0x54,0xcd,0x2b,0xaf,0x9b,0x75,0xe5,0x94,0xe2,0x47,0xa3,0x4c,0xd3,0x4a,0x9b,0xe1, + 0x54,0x2c,0xf2,0x7a,0xe5,0xd4,0x3f,0xa,0xda,0x71,0xc5,0xd7,0xb6,0x40,0x93,0x70, + 0x31,0x96,0x39,0x6e,0x9b,0xba,0xa6,0xbc,0xa9,0x7a,0xf0,0xc7,0x1c,0x1e,0xe9,0xac, + 0x52,0xd,0x3,0x5,0xc,0xd6,0xf9,0x53,0xfd,0x7a,0x54,0x76,0xf9,0x66,0xb2,0xc7, + 0xd8,0xc3,0x88,0xde,0x28,0xf1,0x6,0x2f,0x77,0x52,0xe2,0xbd,0x27,0x4f,0x7c,0x3a, + 0xdf,0xdc,0x72,0x13,0xac,0xad,0xc4,0x1b,0x7d,0x1d,0x4c,0xbc,0x45,0x55,0x71,0x5e, + 0x3d,0xf1,0x6,0xb7,0x67,0x24,0xde,0x7b,0x2a,0x19,0xed,0xa1,0x74,0x4a,0x11,0xe7, + 0x45,0x7b,0x4a,0x84,0x92,0xa7,0x15,0x71,0x5e,0xb4,0xa7,0x4,0xdc,0x9e,0x5b,0xc4, + 0x79,0xc5,0x17,0x8f,0x4a,0x36,0x5e,0x3c,0xee,0x54,0x43,0xf7,0x54,0x4e,0xe3,0x55, + 0xd6,0x68,0x45,0xb6,0x95,0xcc,0xdf,0xb,0xc1,0xbc,0x33,0x1f,0x63,0x4f,0x9,0x60, + 0xab,0x87,0xd,0xbb,0xa5,0xf7,0x3d,0x65,0xfa,0x68,0x45,0x3f,0x5a,0xfc,0x6f,0x23, + 0xf1,0x7,0x6c,0x9c,0x61,0x15,0xd7,0x1f,0x63,0x53,0x9,0x60,0xdb,0x7d,0xab,0xfa, + 0x57,0xd9,0x54,0x22,0x94,0x62,0x75,0x9d,0x69,0x31,0xb,0x6e,0xd5,0xd4,0xa8,0x44, + 0xec,0xbc,0xf8,0x18,0xbb,0x4a,0x44,0x35,0x6a,0x6a,0xaf,0x40,0x1,0x29,0xad,0xd7, + 0xf6,0x6b,0xdf,0x56,0x72,0x10,0x3b,0xb5,0x63,0x6f,0xf5,0x5d,0xc,0x7b,0x76,0x3c, + 0x88,0x68,0x5b,0x50,0x1d,0xdc,0x14,0x84,0xe2,0x2d,0x6c,0x18,0x2c,0xb7,0x7d,0x8, + 0x6d,0xb4,0xe0,0x9b,0x7d,0x1f,0xc5,0x55,0x8f,0xea,0x6b,0xa,0x8c,0xba,0xc2,0xa5, + 0xd6,0x4a,0xc9,0xfc,0xd9,0xa1,0x62,0xcf,0x11,0x35,0xd,0x91,0x2,0x13,0x26,0x64, + 0xd6,0xe3,0x61,0xee,0x2b,0x57,0x4f,0x95,0x3a,0x36,0x1c,0x8e,0xab,0xa9,0x3c,0xd, + 0x45,0xb4,0xa4,0x13,0xaf,0xfe,0xc4,0x2b,0x45,0xf1,0xaa,0x52,0xbc,0x2,0xb5,0x5b, + 0xb6,0x12,0x52,0x1d,0xf7,0x6,0xb8,0x56,0xfd,0xfa,0xb6,0x4b,0x25,0x87,0xee,0xb8, + 0xd7,0xc0,0xad,0x95,0x33,0x76,0x76,0xd,0xee,0xa9,0x26,0xc7,0x2b,0xcf,0xd1,0x2a, + 0xf5,0xdb,0x17,0x81,0xa4,0x7c,0xbb,0xbd,0x3d,0x7f,0x9e,0x22,0x90,0x94,0xc7,0xed, + 0xed,0x69,0xb1,0x8,0x74,0xec,0x7b,0xb2,0x8f,0x5c,0x6,0x92,0xf2,0xed,0x76,0x5, + 0xbd,0xd6,0x66,0xa7,0x17,0x8,0xff,0x76,0x9b,0x7b,0x62,0xec,0xc5,0xdb,0xd5,0x81, + 0xa4,0x78,0xcb,0x3a,0x90,0x94,0xed,0xd5,0x81,0xa4,0x60,0x7,0xeb,0x40,0x52,0x88, + 0x3,0x40,0xb4,0x59,0x7,0x92,0xd1,0xaa,0xd3,0xfb,0xd6,0x81,0x24,0xdf,0xbb,0xe5, + 0xa9,0xf5,0x3a,0x10,0xd2,0xf1,0x37,0xac,0x3,0xc9,0x4a,0x5,0xf3,0xc3,0xd4,0x81, + 0x24,0x6f,0xd6,0xa6,0x3f,0x68,0x1d,0xe8,0x23,0x7d,0xb5,0x8,0xa8,0x35,0x52,0xfa, + 0x8f,0x59,0x6,0xfa,0x58,0x5f,0x2d,0x12,0x32,0xb2,0xb7,0xfe,0x2f,0x53,0x5,0x92, + 0xac,0x51,0x39,0xfc,0x98,0x55,0xa0,0x8f,0xf5,0xd5,0x22,0xa0,0xf6,0x27,0xd9,0xa5, + 0x12,0x87,0xee,0xa9,0xc2,0xc5,0x91,0x5f,0xbb,0x39,0xd,0x9d,0xf8,0x77,0x84,0xa2, + 0xdf,0x26,0x8a,0x7f,0xef,0x28,0xfa,0x1d,0xa5,0xe8,0xc4,0xbd,0x6b,0x44,0x8a,0x24, + 0xee,0x60,0xac,0x25,0x7c,0x6c,0x2b,0xf3,0x2b,0x6d,0x9c,0x6,0x20,0xb1,0x33,0x6, + 0xde,0x75,0xe3,0x34,0x10,0xd8,0x1b,0x91,0xc6,0x2,0xbf,0xd1,0x4b,0xe2,0x76,0xe1, + 0xc5,0x49,0xb1,0x16,0x1b,0xbf,0x60,0xe3,0x34,0xb8,0xa9,0xf6,0x50,0x72,0x7,0x37, + 0xe1,0xa3,0xcd,0x33,0x36,0xe1,0xef,0x1,0xf4,0xb0,0x2e,0x9,0xf7,0x8c,0x4d,0xf8, + 0x31,0x6e,0x6d,0xea,0x92,0xdd,0xfb,0xfe,0xb6,0x32,0xee,0x43,0xe7,0x6c,0x1c,0x7d, + 0x5c,0xc7,0x31,0x20,0xc5,0x52,0xa9,0x43,0x7,0x27,0x64,0xe3,0x2c,0xb3,0xd,0x66, + 0x29,0x82,0x59,0xda,0xf0,0xf1,0x74,0xf8,0x7e,0xd1,0xa7,0xc3,0x4b,0xc2,0xa7,0xf2, + 0xc0,0x13,0x3a,0x57,0x65,0xf4,0xfb,0x24,0xbb,0xff,0xae,0x1c,0x1b,0x1d,0xdc,0x52, + 0x8c,0x61,0x31,0xb8,0xce,0x2,0x5f,0xb8,0xc5,0x5c,0xca,0xe2,0xc6,0xd5,0x7c,0x39, + 0xca,0x96,0x9b,0x5b,0x26,0xfc,0xd4,0x6e,0x15,0x43,0xdb,0x1e,0xd,0x53,0x71,0x9e, + 0xd4,0x6b,0x79,0x9f,0xc5,0xef,0xaf,0x6e,0x6,0xa3,0xf9,0x3d,0x9c,0x7e,0xf3,0xe6, + 0x1f,0xf3,0xf9,0x2d,0x79,0xf8,0x26,0x3d,0x14,0x99,0x25,0x62,0x3,0x6f,0xa4,0xdd, + 0xb9,0xf9,0x98,0xc7,0x67,0x46,0x30,0xb7,0xd3,0xe3,0x68,0x3e,0xbc,0xa3,0x23,0x8a, + 0x7a,0x77,0xf9,0xc2,0xb4,0x78,0xd8,0x79,0x3c,0x3f,0x76,0xa6,0x37,0x1d,0x3c,0x66, + 0x90,0x37,0xfc,0xd9,0x4c,0x53,0x71,0xc6,0x8e,0x14,0xe5,0x63,0x9b,0x73,0x76,0x2a, + 0xa4,0xd5,0xcd,0xfc,0xfe,0xfa,0x6e,0x32,0xca,0x56,0xc5,0xc1,0x32,0xd,0x6,0xe1, + 0x5e,0xef,0xea,0x6a,0xfe,0x10,0xbf,0x7f,0x3f,0x99,0x1,0x8d,0x5e,0xc1,0x8b,0xb3, + 0xb2,0x3c,0xdf,0x6c,0xb1,0xe1,0x6d,0xca,0x2d,0x81,0xcd,0x16,0xe0,0xa0,0xf7,0xdc, + 0x2,0x48,0xaa,0xdc,0xf2,0x7b,0x71,0x9b,0xad,0x7,0xa3,0xc1,0x7a,0xb0,0x55,0x8c, + 0xd,0x65,0x73,0xb4,0xc6,0xc5,0x72,0x34,0x3e,0xff,0xaf,0x1f,0x7e,0x2c,0xf5,0x7c, + 0x38,0x3c,0xff,0xef,0xf9,0xf2,0xb7,0xad,0xfe,0x52,0x83,0xc1,0xd5,0xfc,0xe,0x23, + 0x2a,0x4d,0x8f,0x4e,0xd4,0x19,0x9e,0x53,0x28,0x31,0x58,0x7f,0x9e,0xdc,0x62,0xae, + 0xe9,0x90,0xa5,0x7f,0x7d,0xb8,0x9d,0x42,0x3f,0xcb,0x1b,0xb5,0xc6,0xeb,0xc7,0x45, + 0xb6,0xed,0x34,0xef,0x76,0x73,0x60,0x54,0xf4,0xd0,0xa9,0xd1,0xf0,0x76,0x42,0xf, + 0xf5,0x7f,0x5e,0x4f,0xa6,0xd3,0x7f,0x10,0x93,0xaa,0x3d,0xf6,0x8b,0x81,0x6e,0x4c, + 0xa5,0x22,0xc7,0x45,0x7f,0x23,0x65,0xb8,0xba,0x6e,0x20,0x35,0x1d,0x5c,0x65,0xd3, + 0xcb,0xce,0x97,0xc1,0xf4,0xff,0xee,0xb2,0x64,0x7,0xe3,0xeb,0xe5,0xfc,0x6e,0x71, + 0x3b,0x1f,0x65,0x85,0x92,0x74,0xb6,0xe0,0x15,0x4a,0x53,0xb0,0xbc,0xae,0xfa,0xa9, + 0x6b,0x51,0xfd,0x56,0xcb,0x1,0x5e,0x49,0xb2,0x8e,0xa6,0x9f,0x22,0x15,0x5a,0xb, + 0xd5,0xed,0xc1,0x6,0xa4,0xc6,0x47,0xe4,0x9f,0xa5,0xc0,0xd7,0x5b,0xf4,0xa2,0x4f, + 0x23,0x4f,0x56,0x5a,0x5b,0xab,0xbb,0x2a,0x15,0x96,0x59,0xa3,0x2b,0x11,0xe7,0x11, + 0x43,0xda,0xc8,0xa1,0x94,0xa9,0xce,0xf3,0x75,0x75,0xd2,0xf2,0x16,0xd5,0x93,0x42, + 0x1a,0xc3,0xd9,0x4,0xc1,0x8,0xf0,0x25,0x52,0x26,0x27,0x28,0x29,0xb4,0xda,0xc1, + 0xb1,0x75,0xc3,0x7,0x6e,0x35,0xef,0xe6,0xb7,0xad,0x14,0xa6,0x2b,0x53,0xed,0xb5, + 0x30,0xe,0x9f,0xe0,0x1,0x5,0x53,0x5e,0x9c,0xd5,0x3a,0x2f,0xdc,0xe7,0x18,0x3a, + 0x70,0x3e,0x9b,0xcf,0x28,0x28,0x5a,0xce,0x7f,0xcb,0xb0,0x74,0x87,0x9f,0xe2,0xb2, + 0xe2,0x46,0x95,0xf2,0xc6,0x1,0xbc,0x8a,0x10,0x10,0x63,0x31,0x58,0xdf,0x54,0xbb, + 0x2d,0x3b,0xde,0x2e,0x89,0x5b,0x16,0xf4,0xa9,0xb2,0x56,0xc6,0x39,0x6,0x43,0x6, + 0x3f,0x3,0xd0,0xa5,0x37,0x9b,0x66,0x3d,0xf2,0xd9,0xff,0x3b,0x9f,0xcc,0xce,0xa1, + 0xbe,0xd9,0x72,0x43,0xd,0x17,0xd3,0x9,0xfe,0x9c,0xab,0xd,0x6d,0x34,0x80,0x87, + 0x5c,0x2e,0x7,0x8f,0x55,0xc1,0x2,0x35,0x5f,0x47,0xce,0x9f,0x92,0xae,0x2e,0xc, + 0xe6,0xe5,0x9f,0x89,0xa2,0xaa,0x85,0x37,0x5e,0x5,0x80,0x31,0x4b,0x16,0x11,0x4a, + 0xf2,0x25,0x51,0xc8,0x5f,0x99,0x46,0x20,0x8a,0x29,0x0,0xc2,0x5a,0x21,0xb0,0x4e, + 0xa4,0x47,0x7a,0xc2,0x9c,0xb1,0x34,0x2f,0xd6,0x48,0x2d,0x15,0x88,0x8,0xcf,0xbd, + 0x10,0xd2,0x6f,0x88,0x9c,0x19,0x74,0x20,0xd,0x3a,0x86,0xdb,0xad,0x91,0xa5,0x4a, + 0x39,0x57,0xd0,0x32,0x4a,0x13,0xb4,0x71,0xc2,0x7b,0x97,0x48,0xcc,0x27,0xa6,0x55, + 0xfb,0x30,0x4,0x4f,0x3b,0x10,0x99,0x4d,0x7e,0xa,0x74,0xe3,0xc3,0x57,0xee,0x91, + 0xf8,0x30,0x89,0xa1,0x99,0x3a,0x59,0xa6,0xcc,0x49,0x8d,0x9c,0x88,0xf8,0x61,0xc1, + 0x11,0x56,0xf1,0x60,0x9,0xda,0x22,0x37,0x60,0x3c,0x81,0x7e,0x78,0x6f,0x59,0x4e, + 0x74,0xc2,0x69,0xac,0x11,0x9,0xe5,0x13,0x2,0x19,0x85,0x2c,0x89,0x4a,0xa2,0x3, + 0x81,0x75,0x42,0x2b,0x21,0x2b,0x64,0x9f,0xd0,0x3b,0x1a,0xc9,0xac,0xb5,0x79,0xaf, + 0xda,0x5b,0xee,0x12,0xc1,0x53,0xc4,0xa7,0x3c,0xd0,0x98,0x42,0x6a,0x22,0x35,0xc6, + 0xb5,0xa5,0xb2,0x54,0x2a,0x89,0x85,0x91,0x86,0x25,0xf2,0xb7,0x15,0x96,0x24,0x16, + 0xc8,0x8b,0xb4,0x62,0x2a,0xa1,0x97,0xa2,0x48,0x60,0x95,0xc,0xf9,0x93,0x61,0xde, + 0x61,0x4,0xdc,0x2,0x27,0x61,0x31,0xd6,0x82,0x68,0x85,0x42,0x7,0xc8,0x69,0x10, + 0x2f,0x60,0x30,0x55,0x32,0xd6,0x34,0x3a,0x25,0xc0,0x13,0x51,0x49,0x29,0xc0,0x0, + 0x44,0xe4,0x76,0x5c,0x3,0x91,0xda,0x54,0xfe,0x44,0x8d,0xe9,0x6b,0xd9,0xc,0x36, + 0xa4,0x91,0x39,0x2b,0x83,0x29,0xa4,0x8e,0x5d,0xca,0x85,0x47,0x23,0x7a,0xb1,0x2d, + 0x91,0x55,0x3a,0xae,0x12,0x64,0x60,0x4c,0x32,0x98,0x57,0xb7,0xe7,0xa8,0x70,0x44, + 0x5b,0x75,0x8,0x30,0x45,0xb9,0xa4,0x20,0xa2,0xd6,0xe8,0xca,0x5a,0x42,0x5c,0xa4, + 0x45,0xb7,0x2e,0x55,0xc4,0x57,0xd2,0xa4,0x23,0x13,0xe5,0xb0,0x51,0xf4,0x69,0xe9, + 0xad,0xbc,0xe1,0xa4,0x4a,0xce,0x19,0x4e,0x18,0x6a,0x12,0x41,0x7a,0xaf,0x30,0xac, + 0xb8,0xe6,0xfd,0x91,0x34,0xb4,0x94,0xdc,0x7,0x19,0xa2,0xa8,0xe6,0x63,0x85,0x35, + 0x96,0xc1,0xc,0x3c,0x2f,0xb9,0x7d,0xac,0xb2,0xc3,0xd5,0x70,0x38,0xfc,0x63,0x18, + 0xfe,0xc,0x87,0x15,0xe7,0x4f,0x2e,0xfe,0xfa,0x69,0x1f,0xa5,0xf4,0x31,0x3e,0x4a, + 0xb1,0x1c,0x1f,0x46,0x55,0x8,0x7a,0x2b,0xdf,0xdd,0x7e,0xaa,0xde,0xe7,0xd0,0x3d, + 0xc8,0xe4,0x7d,0x17,0xf8,0x41,0x89,0x8c,0x53,0x67,0x7,0xfd,0x4b,0x4c,0xa2,0x20, + 0x4c,0xfe,0xdf,0x70,0x1f,0x38,0x4a,0x37,0xc1,0x9,0xd6,0x4d,0xdb,0xf0,0xe1,0x7e, + 0x3c,0xf9,0x77,0xed,0xa5,0x25,0x8d,0xa4,0x71,0x29,0xda,0x4e,0x3,0x9a,0x55,0xd6, + 0x32,0xcc,0xb0,0x85,0x3e,0x6a,0x4c,0xa5,0xa7,0xd,0x6,0xde,0x23,0x94,0x52,0x9, + 0xc5,0x54,0xb4,0xc1,0x4d,0x76,0x71,0xd7,0x21,0x2d,0x27,0xdb,0x4b,0x85,0x54,0x9a, + 0x68,0xe8,0x5,0x81,0x35,0x72,0x6d,0x52,0x84,0xd4,0x3a,0x65,0x1c,0xf,0x54,0x4f, + 0x89,0x39,0x4f,0x74,0x28,0x8a,0x69,0x58,0x13,0xbd,0x31,0x86,0x1b,0xc0,0xdc,0x9a, + 0xb2,0xc7,0x2d,0xed,0xb,0x78,0x5b,0x68,0x4c,0x9d,0xea,0xd0,0x8d,0x76,0x8a,0x5, + 0x5a,0x28,0xfb,0xba,0xc4,0xa7,0x5a,0x59,0xb6,0xe1,0x4d,0x96,0x46,0xca,0xbd,0xa5, + 0xfa,0x14,0x3a,0x1c,0x4,0xe4,0x29,0xfc,0x1d,0x1d,0xd0,0xe1,0x60,0x7b,0xc2,0x70, + 0x91,0x50,0xe5,0x17,0x53,0xa4,0x89,0xa4,0x8,0x6,0x2,0x46,0xe8,0xcd,0xd5,0x17, + 0xb2,0x48,0x45,0xbb,0x6f,0x6c,0x41,0x42,0x72,0x4b,0xa6,0x2b,0x21,0x97,0xd,0xdd, + 0xd0,0x51,0x32,0x92,0xcc,0x3,0xbe,0xc9,0xc3,0x12,0x3c,0xf9,0xaf,0x80,0xc9,0x96, + 0x86,0x71,0x71,0xa3,0x79,0xc0,0x4,0x8e,0x43,0x5a,0x8f,0x75,0x99,0x36,0x56,0x58, + 0x4f,0x2,0xc0,0xc1,0x90,0xff,0xc1,0xaa,0x86,0x11,0x4a,0x27,0x49,0x50,0xa1,0x53, + 0xf,0x3b,0xa6,0x87,0x4b,0xda,0x17,0x32,0x38,0x9,0x4f,0x26,0x6c,0xb5,0x25,0xed, + 0x73,0x81,0x7d,0x87,0xe,0x95,0x25,0x8c,0x5,0xdc,0x31,0xe0,0x92,0x39,0x67,0x46, + 0x95,0xf,0x1a,0xf,0xc0,0x3,0x38,0xa0,0xda,0x62,0x8c,0xc1,0xb7,0x29,0x3c,0x8b, + 0x15,0x53,0xc3,0xd4,0x48,0x17,0x49,0x3a,0xc7,0x8d,0x30,0x6,0x6a,0x60,0x3c,0x55, + 0x3b,0x75,0x44,0x5d,0x76,0xcc,0x31,0xbe,0x2,0x22,0x4,0xfb,0xd4,0xa8,0x9f,0xd0, + 0xe,0xf0,0xb3,0x7d,0xab,0x62,0x79,0xe6,0x5c,0x7d,0x55,0x14,0xfa,0x2d,0x16,0x44, + 0x5e,0xf3,0xa,0x27,0xda,0xe1,0x13,0x16,0x18,0x5d,0x5f,0xa1,0xf3,0xcc,0x6a,0x5a, + 0x96,0xe0,0x9e,0x61,0x60,0xc2,0xcb,0x5c,0xe7,0x5d,0xd0,0xcc,0xa,0x15,0xd3,0x86, + 0x99,0x96,0xa6,0x4b,0xf5,0x3c,0xce,0x94,0xf3,0xa4,0xdc,0x86,0xc2,0x7,0x49,0x34, + 0xc6,0x31,0x4d,0xb9,0xc6,0x6f,0x88,0xe4,0xfc,0xa1,0xfb,0xa4,0x32,0xe,0x4b,0x96, + 0xe4,0x1e,0x16,0xcc,0x83,0x5f,0xc5,0xfa,0x15,0xb8,0x78,0xf8,0x25,0x22,0x29,0x8f, + 0x5f,0x57,0x1d,0x4e,0x49,0xc3,0x62,0xf,0xd6,0x5a,0xd5,0xa9,0x58,0x4c,0xa0,0x63, + 0x30,0xf1,0xd0,0xa1,0xc4,0x20,0xc9,0xfa,0x89,0x60,0x83,0xe,0x2a,0x38,0x6c,0x95, + 0xbb,0x84,0xd,0x91,0xec,0x8e,0x32,0xad,0xdc,0x25,0x18,0x38,0x17,0x17,0xa4,0xd1, + 0xe,0xd1,0x9a,0xf,0x5c,0xb0,0x78,0x19,0x5d,0x11,0x3a,0x6,0xcf,0x8b,0x74,0x4e, + 0x9f,0xa8,0x73,0xda,0x22,0xba,0x91,0x42,0x7d,0xcd,0x8a,0x67,0x63,0x8a,0x47,0x9e, + 0x5,0xb3,0x42,0xce,0x81,0xbe,0x4b,0xa3,0x8c,0x29,0x3d,0xb,0xc2,0x89,0x2a,0x95, + 0x3c,0x8b,0x82,0x8f,0xb1,0xdd,0xfc,0x5d,0x8f,0x43,0xe0,0x2,0xd7,0xc2,0xe9,0x6c, + 0xdb,0xe0,0xab,0x3c,0x45,0x45,0xa4,0x7a,0x15,0x2a,0x7c,0x23,0x9c,0x59,0x1e,0xe2, + 0x38,0xf2,0x51,0x3c,0x77,0xe0,0xc,0x21,0x21,0xd6,0xfc,0xc0,0x7,0xda,0x18,0xb4, + 0x87,0x4e,0x6e,0x43,0xd0,0x52,0x19,0x51,0x49,0xb,0xae,0x49,0x23,0xbc,0xac,0x51, + 0xe1,0x3c,0x11,0x70,0x72,0xee,0x42,0x8f,0x88,0x5c,0x8d,0x21,0x37,0x4b,0xe1,0x11, + 0x5c,0x38,0x29,0x1f,0xb3,0x9c,0x9b,0xdc,0xf9,0x6e,0xa8,0x3c,0x75,0xe4,0xe2,0x54, + 0xe1,0x7c,0x11,0xb,0x1a,0x1f,0x24,0x42,0xe0,0xa9,0x74,0xce,0xc7,0xa,0x69,0xab, + 0x92,0x47,0x30,0x7a,0x91,0xf6,0xd9,0xbf,0xa0,0xf6,0xf9,0xb8,0xdb,0xc3,0xca,0x2b, + 0xb0,0xa6,0x4,0xef,0xa1,0xb1,0xc2,0xbb,0xe0,0xa4,0x98,0x41,0x40,0x24,0x64,0x85, + 0xea,0x90,0xe1,0x49,0xed,0x59,0x98,0x57,0x2b,0xf1,0x3,0xf,0x87,0x25,0x11,0x29, + 0x52,0x50,0x33,0x2e,0xbd,0xc3,0x62,0x4c,0x7e,0xf,0xf3,0xa8,0x30,0xab,0x5d,0xa, + 0x57,0xe1,0x0,0x83,0xfa,0x38,0x9a,0x69,0xc4,0xda,0xb4,0xda,0xc1,0x61,0x61,0x29, + 0x55,0x9,0x5,0xb6,0x88,0x5c,0x99,0xe9,0x92,0x66,0x23,0x34,0x45,0x4b,0x83,0x58, + 0x7,0xb1,0xb7,0xad,0x90,0xbe,0x20,0x48,0x91,0xb4,0x8f,0xa2,0x4a,0xa4,0x85,0x12, + 0x89,0x19,0x54,0xc2,0xd1,0x7e,0x5c,0xab,0x14,0x45,0x42,0x70,0x5b,0x88,0xf2,0x39, + 0x78,0xe0,0x5f,0x84,0xdd,0xb9,0xe3,0xc3,0x7c,0x2b,0xfa,0x2,0x40,0x58,0x7d,0x15, + 0xc5,0xbf,0xe4,0x4a,0x59,0x8,0x72,0x6c,0x10,0x47,0x48,0x87,0x58,0x57,0xa7,0x70, + 0xf5,0xde,0x16,0xae,0x34,0x17,0x3b,0x6,0xd0,0x8b,0x54,0xcf,0xef,0x53,0xbd,0xaa, + 0x7e,0xfc,0x89,0xf4,0xce,0xf0,0x3d,0x5e,0xcf,0x48,0xa8,0x93,0x2f,0x3c,0x47,0xe9, + 0x63,0xe0,0xf2,0x10,0x86,0x55,0xa8,0xe4,0x63,0x10,0x12,0x6,0xb5,0x33,0xd0,0x1, + 0x19,0x5c,0xc,0xa6,0x53,0xf0,0x30,0xa3,0x4c,0x2,0x23,0x9b,0xbb,0x18,0x64,0x27, + 0x8,0xea,0x49,0xef,0xac,0xc5,0xea,0x68,0x73,0x17,0xc3,0xc9,0x47,0x29,0xe8,0x9, + 0x43,0x47,0xf0,0xc2,0xc4,0x86,0x3b,0x7,0x6d,0xa5,0x20,0x52,0x71,0xe8,0xb4,0xa5, + 0x1,0x69,0x4b,0x1,0x6c,0x85,0x86,0xa7,0xd,0xf2,0xd2,0x90,0xd4,0x55,0x5a,0xda, + 0x10,0x90,0x85,0x18,0x15,0x9,0x16,0x32,0x39,0x1b,0x5c,0xb3,0x47,0xe,0xe5,0xc0, + 0x5b,0x41,0x0,0x96,0x8f,0x88,0x16,0x7b,0x27,0x6d,0x88,0x0,0x60,0x7,0xc8,0xbd, + 0x73,0x37,0x2c,0x20,0x85,0x9,0xd1,0x20,0xbd,0x1f,0xa5,0x1e,0x91,0x82,0x41,0x3, + 0xab,0x62,0x47,0x0,0x7a,0x89,0xde,0x79,0xfe,0x75,0xe8,0x5d,0x25,0xf9,0x2b,0x3f, + 0x6e,0x3f,0x34,0xca,0x72,0xa2,0xf2,0x8a,0x3f,0x8e,0x5,0x9d,0x63,0xcc,0x99,0x3e, + 0xce,0xdb,0xef,0x9e,0xae,0xbd,0x9b,0x59,0xd2,0x36,0x12,0x47,0xe1,0x5a,0xfe,0x26, + 0xb8,0xbc,0xea,0x19,0x9a,0x4b,0xae,0x65,0x48,0x2e,0xbd,0x4,0x82,0x5e,0xc7,0x2b, + 0x7c,0x61,0xec,0x12,0x8a,0x5e,0x2d,0xc5,0x35,0x8d,0xad,0x34,0x35,0x32,0xb3,0xcb, + 0xce,0x60,0x39,0x8c,0x55,0xce,0x9a,0xd2,0x8a,0x11,0xfd,0xd6,0xa5,0xc5,0x6c,0x62, + 0xb5,0xb6,0x86,0xeb,0xfd,0x33,0x5e,0x2b,0x70,0xd,0x7,0x8b,0xf3,0xe5,0xfc,0x6e, + 0x36,0xda,0x99,0xfd,0x1a,0xb5,0xad,0xd9,0x6f,0xe6,0xf7,0x84,0x4,0x54,0x8f,0x75, + 0xa2,0x70,0xd0,0x6b,0x84,0x1e,0x65,0x81,0x14,0x8b,0x98,0x3d,0x6d,0x1e,0xe9,0xdb, + 0x6,0x48,0xbe,0x28,0xf8,0x88,0x37,0x59,0x3e,0xd0,0x5b,0x7a,0xf8,0x75,0xa7,0x24, + 0xdf,0xd3,0xe4,0x71,0x5f,0x93,0xe0,0xc1,0x7a,0x1c,0x69,0x1b,0xd6,0x85,0x90,0x11, + 0x14,0xbc,0x92,0x7f,0x4b,0xca,0x27,0x2a,0x9f,0x58,0xc2,0xf1,0x9b,0xf4,0x4,0x4f, + 0x2d,0x87,0x47,0xe8,0x1e,0xfb,0x40,0x8c,0xc5,0x1f,0x7,0x4a,0x1f,0x58,0xcd,0xb8, + 0x71,0x54,0x69,0xce,0xdf,0xfb,0x6f,0xae,0xe0,0x76,0x8c,0x41,0xda,0x6e,0xc2,0x9e, + 0x5,0x5f,0xe8,0x67,0xcd,0xf4,0xda,0xd1,0xc1,0x53,0x2c,0xee,0x63,0x6a,0x9f,0xa8, + 0x1e,0x47,0xfb,0x4d,0xfb,0x4e,0xd3,0x3e,0x65,0x8d,0x44,0x9c,0xb4,0x39,0x2,0xa4, + 0xb8,0x12,0x94,0xa6,0x5a,0x84,0x76,0x79,0x3d,0xe,0xa1,0x24,0x13,0x67,0xb5,0x57, + 0x3e,0xd7,0x4f,0xb8,0x4a,0x55,0x7d,0x59,0x1d,0x7d,0x41,0x42,0xb5,0x5c,0x83,0x78, + 0x4f,0xfb,0x2e,0x3b,0x7b,0x63,0xbf,0x6a,0xbf,0x2a,0xbf,0xaa,0xbe,0x69,0x76,0xab, + 0x7e,0x55,0xa,0x4a,0x8c,0x8c,0xc8,0xf7,0x82,0x21,0x80,0x34,0xd5,0x3d,0x92,0x2d, + 0xea,0xe0,0xd7,0xef,0x57,0xa1,0x7d,0xfb,0x34,0xeb,0x9b,0xf6,0x3d,0xd3,0xaf,0x52, + 0xe,0x2,0xe5,0xb,0x6f,0xb3,0x68,0x18,0xc8,0xa6,0x8f,0xf0,0xab,0xaf,0x12,0x2c, + 0x6f,0x23,0x5b,0x73,0xc8,0x5d,0xd3,0x8b,0x2a,0xc7,0xbd,0xec,0xaa,0x14,0xe9,0x95, + 0xb7,0x3c,0xeb,0x89,0x6f,0x6e,0xfb,0x9,0xc3,0xd1,0xee,0x9b,0xe1,0x7c,0xb,0x87, + 0xdf,0x4b,0xfb,0xbe,0x85,0xc3,0xef,0x15,0xe,0x17,0x1f,0xc2,0x9f,0xb,0xda,0x87, + 0xf5,0xf9,0xbb,0xff,0x7,0x8f,0xec,0x8e,0x2d, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/accept.svg + 0x0,0x0,0x23,0x7e, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x34,0x22,0xa,0x20, + 0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x32,0x22,0xa,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x34,0x36,0x22, + 0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f, + 0x63,0x62,0x61,0x73,0x65,0x3d,0x22,0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x70,0x6c,0x62, + 0x65,0x61,0x75,0x64,0x6f,0x69,0x6e,0x2f,0x53,0x46,0x4c,0x50,0x68,0x6f,0x6e,0x65, + 0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f,0x6e,0x65,0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f, + 0x6e,0x65,0x2d,0x67,0x74,0x6b,0x2f,0x70,0x69,0x78,0x6d,0x61,0x70,0x73,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e, + 0x61,0x6d,0x65,0x3d,0x22,0x61,0x63,0x63,0x65,0x70,0x74,0x2e,0x73,0x76,0x67,0x22, + 0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f,0x75,0x74, + 0x70,0x75,0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x6f, + 0x72,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75,0x74,0x70, + 0x75,0x74,0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6d,0x6f,0x64, + 0x69,0x66,0x69,0x65,0x64,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x3e,0xa,0x20,0x20, + 0x3c,0x64,0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x64, + 0x65,0x66,0x73,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c, + 0x6f,0x72,0x3a,0x23,0x30,0x30,0x38,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x32,0x34,0x33,0x35,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3a,0x23,0x30,0x30,0x38,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x32, + 0x34,0x33,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73, + 0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x32,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30, + 0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x32,0x34,0x20,0x3a, + 0x20,0x31,0x32,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64, + 0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x31,0x32,0x20,0x3a,0x20,0x38,0x20, + 0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x33,0x32,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x32,0x36,0x39,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f, + 0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x32,0x36, + 0x62,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, + 0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x32,0x37,0x31,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x32,0x36,0x62,0x30, + 0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x32,0x37,0x33,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x31,0x38,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x38,0x35,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22, + 0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x32, + 0x36,0x62,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x38,0x37,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x31,0x34,0x35, + 0x66,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x31,0x36,0x37,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x38,0x30,0x30,0x30,0x30,0x65, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x36,0x39,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x30,0x30,0x30,0x31,0x34,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x36,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x37,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x31,0x35,0x2e,0x36,0x33, + 0x30,0x33,0x39,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d, + 0x22,0x32,0x32,0x2e,0x38,0x37,0x34,0x32,0x30,0x38,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x35,0x2e,0x36,0x33,0x30,0x33,0x39,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x38,0x2e,0x35, + 0x33,0x30,0x35,0x33,0x31,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73, + 0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61, + 0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31, + 0x2e,0x32,0x35,0x36,0x35,0x32,0x31,0x2c,0x30,0x2c,0x30,0x2c,0x2d,0x31,0x2e,0x32, + 0x35,0x36,0x35,0x32,0x31,0x2c,0x2d,0x37,0x2e,0x38,0x35,0x34,0x33,0x31,0x39,0x2c, + 0x32,0x38,0x2e,0x37,0x37,0x33,0x33,0x30,0x39,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33,0x33,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x31,0x3d,0x22,0x32,0x2e,0x39,0x36,0x35,0x37,0x35,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x30,0x2e,0x38,0x30, + 0x30,0x38,0x34,0x38,0x35,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78, + 0x32,0x3d,0x22,0x33,0x32,0x2e,0x35,0x37,0x38,0x32,0x32,0x38,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x31,0x36,0x2e,0x37,0x33,0x39,0x33, + 0x39,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70, + 0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c, + 0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x70,0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66, + 0x66,0x66,0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72, + 0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f, + 0x77,0x3d,0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x31,0x36,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x78,0x3d,0x22, + 0x31,0x38,0x2e,0x38,0x37,0x33,0x39,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x79,0x3d,0x22,0x32,0x2e,0x37,0x35, + 0x36,0x38,0x37,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75,0x6e,0x69, + 0x74,0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x2d,0x6c,0x61, + 0x79,0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x33,0x32,0x70,0x78,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x33,0x32,0x70,0x78, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65, + 0x73,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f, + 0x78,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69, + 0x64,0x74,0x68,0x3d,0x22,0x31,0x33,0x33,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d, + 0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x39,0x32,0x32,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f, + 0x77,0x2d,0x78,0x3d,0x22,0x31,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79, + 0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67, + 0x72,0x69,0x64,0x3d,0x22,0x66,0x61,0x6c,0x73,0x65,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x67,0x75,0x69,0x64,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74, + 0x69,0x6f,0x6e,0x3d,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3d,0x22, + 0x31,0x35,0x2e,0x39,0x38,0x32,0x31,0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x33,0x31,0x34,0x36,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0x3e,0xa,0x20,0x20,0x3c,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x37,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72, + 0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d, + 0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72,0x65, + 0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70, + 0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69,0x74, + 0x79,0x70,0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f, + 0x72,0x6b,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44, + 0x46,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e, + 0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x61,0x6c,0x71,0x75, + 0x65,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61, + 0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61, + 0x79,0x65,0x72,0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72, + 0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x34,0x32,0x37,0x35,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e, + 0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30, + 0x2e,0x36,0x32,0x35,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65, + 0x6a,0x6f,0x69,0x6e,0x3a,0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a, + 0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x37,0x2e,0x33,0x34,0x31,0x37,0x31,0x39,0x35, + 0x2c,0x32,0x31,0x2e,0x39,0x30,0x32,0x37,0x30,0x35,0x20,0x4c,0x20,0x37,0x2e,0x33, + 0x34,0x31,0x37,0x31,0x39,0x35,0x2c,0x39,0x2e,0x34,0x35,0x35,0x33,0x30,0x32,0x33, + 0x20,0x4c,0x20,0x33,0x2e,0x32,0x39,0x37,0x32,0x39,0x35,0x35,0x2c,0x39,0x2e,0x34, + 0x35,0x35,0x33,0x30,0x32,0x33,0x20,0x4c,0x20,0x31,0x32,0x2e,0x32,0x35,0x30,0x30, + 0x30,0x31,0x2c,0x30,0x2e,0x30,0x33,0x31,0x34,0x30,0x31,0x34,0x32,0x20,0x4c,0x20, + 0x32,0x31,0x2e,0x32,0x30,0x32,0x37,0x30,0x37,0x2c,0x39,0x2e,0x34,0x35,0x35,0x33, + 0x30,0x32,0x33,0x20,0x4c,0x20,0x31,0x37,0x2e,0x31,0x35,0x38,0x32,0x38,0x32,0x2c, + 0x39,0x2e,0x34,0x35,0x35,0x33,0x30,0x32,0x33,0x20,0x4c,0x20,0x31,0x37,0x2e,0x31, + 0x35,0x38,0x32,0x38,0x32,0x2c,0x32,0x31,0x2e,0x39,0x30,0x32,0x37,0x30,0x35,0x20, + 0x4c,0x20,0x37,0x2e,0x33,0x34,0x31,0x37,0x31,0x39,0x35,0x2c,0x32,0x31,0x2e,0x39, + 0x30,0x32,0x37,0x30,0x35,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x74,0x34,0x32,0x36,0x32,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x67,0x32,0x31,0x38,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74, + 0x72,0x69,0x78,0x28,0x30,0x2e,0x38,0x37,0x35,0x33,0x35,0x36,0x35,0x2c,0x30,0x2c, + 0x30,0x2c,0x30,0x2e,0x38,0x37,0x35,0x34,0x36,0x35,0x32,0x2c,0x2d,0x31,0x31,0x2e, + 0x39,0x35,0x35,0x37,0x35,0x31,0x2c,0x32,0x33,0x2e,0x32,0x31,0x35,0x36,0x39,0x31, + 0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x66,0x69,0x6c,0x6c,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x34,0x34,0x39,0x36,0x38, + 0x35,0x35,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74, + 0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65, + 0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c, + 0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30, + 0x30,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68, + 0x3a,0x30,0x2e,0x36,0x35,0x35,0x37,0x33,0x39,0x36,0x31,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e,0x3a,0x6d,0x69,0x74,0x65, + 0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69, + 0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73, + 0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30, + 0x2e,0x34,0x34,0x39,0x36,0x38,0x35,0x35,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x34,0x31,0x2e,0x31,0x30,0x39,0x36, + 0x39,0x34,0x2c,0x2d,0x30,0x2e,0x34,0x31,0x38,0x31,0x37,0x32,0x32,0x39,0x20,0x43, + 0x20,0x34,0x30,0x2e,0x35,0x30,0x35,0x32,0x39,0x38,0x2c,0x30,0x2e,0x32,0x30,0x34, + 0x35,0x34,0x38,0x32,0x36,0x20,0x33,0x39,0x2e,0x30,0x34,0x30,0x38,0x36,0x37,0x2c, + 0x30,0x2e,0x37,0x37,0x36,0x33,0x35,0x33,0x34,0x36,0x20,0x33,0x37,0x2e,0x35,0x39, + 0x32,0x32,0x33,0x39,0x2c,0x30,0x2e,0x37,0x37,0x36,0x33,0x35,0x31,0x30,0x36,0x20, + 0x43,0x20,0x33,0x36,0x2e,0x31,0x30,0x32,0x30,0x38,0x39,0x2c,0x30,0x2e,0x37,0x37, + 0x36,0x33,0x35,0x31,0x30,0x36,0x20,0x33,0x34,0x2e,0x31,0x31,0x34,0x36,0x35,0x33, + 0x2c,0x30,0x2e,0x31,0x35,0x36,0x38,0x32,0x39,0x39,0x38,0x20,0x33,0x33,0x2e,0x35, + 0x33,0x32,0x36,0x35,0x39,0x2c,0x2d,0x30,0x2e,0x34,0x39,0x32,0x36,0x37,0x38,0x30, + 0x37,0x20,0x4c,0x20,0x33,0x33,0x2e,0x35,0x36,0x39,0x39,0x31,0x33,0x2c,0x2d,0x32, + 0x2e,0x30,0x30,0x33,0x31,0x37,0x32,0x36,0x20,0x4c,0x20,0x33,0x33,0x2e,0x35,0x36, + 0x39,0x39,0x31,0x33,0x2c,0x2d,0x33,0x2e,0x30,0x38,0x33,0x35,0x30,0x36,0x35,0x20, + 0x43,0x20,0x33,0x31,0x2e,0x30,0x32,0x37,0x34,0x31,0x34,0x2c,0x2d,0x33,0x2e,0x35, + 0x37,0x38,0x37,0x31,0x30,0x31,0x20,0x33,0x30,0x2e,0x39,0x39,0x37,0x30,0x31,0x34, + 0x2c,0x2d,0x33,0x2e,0x38,0x32,0x38,0x35,0x36,0x33,0x37,0x20,0x32,0x37,0x2e,0x35, + 0x32,0x35,0x36,0x32,0x33,0x2c,0x2d,0x33,0x2e,0x38,0x32,0x38,0x35,0x36,0x34,0x33, + 0x20,0x43,0x20,0x32,0x34,0x2e,0x30,0x35,0x34,0x32,0x33,0x33,0x2c,0x2d,0x33,0x2e, + 0x38,0x32,0x38,0x35,0x36,0x34,0x39,0x20,0x32,0x33,0x2e,0x38,0x33,0x30,0x37,0x37, + 0x37,0x2c,0x2d,0x33,0x2e,0x35,0x37,0x35,0x39,0x37,0x31,0x38,0x20,0x32,0x31,0x2e, + 0x32,0x39,0x30,0x31,0x37,0x2c,0x2d,0x33,0x2e,0x30,0x34,0x36,0x32,0x35,0x33,0x35, + 0x20,0x4c,0x20,0x32,0x31,0x2e,0x32,0x39,0x30,0x31,0x37,0x2c,0x2d,0x30,0x2e,0x33, + 0x34,0x33,0x36,0x36,0x36,0x35,0x20,0x43,0x20,0x32,0x30,0x2e,0x36,0x38,0x35,0x37, + 0x37,0x33,0x2c,0x30,0x2e,0x32,0x37,0x39,0x30,0x35,0x34,0x30,0x34,0x20,0x31,0x39, + 0x2e,0x32,0x32,0x31,0x33,0x34,0x33,0x2c,0x30,0x2e,0x38,0x37,0x36,0x30,0x39,0x38, + 0x34,0x33,0x20,0x31,0x37,0x2e,0x37,0x37,0x32,0x37,0x31,0x34,0x2c,0x30,0x2e,0x38, + 0x37,0x36,0x30,0x39,0x37,0x32,0x34,0x20,0x43,0x20,0x31,0x36,0x2e,0x32,0x38,0x32, + 0x35,0x36,0x34,0x2c,0x30,0x2e,0x38,0x37,0x36,0x30,0x39,0x37,0x32,0x34,0x20,0x31, + 0x34,0x2e,0x36,0x32,0x33,0x32,0x39,0x34,0x2c,0x30,0x2e,0x34,0x33,0x33,0x32,0x35, + 0x37,0x37,0x34,0x20,0x31,0x33,0x2e,0x39,0x31,0x35,0x30,0x38,0x33,0x2c,0x2d,0x30, + 0x2e,0x34,0x31,0x38,0x31,0x37,0x32,0x32,0x39,0x20,0x4c,0x20,0x31,0x34,0x2e,0x31, + 0x33,0x38,0x36,0x30,0x31,0x2c,0x2d,0x35,0x2e,0x37,0x36,0x34,0x36,0x34,0x30,0x38, + 0x20,0x43,0x20,0x31,0x38,0x2e,0x31,0x32,0x39,0x31,0x37,0x32,0x2c,0x2d,0x37,0x2e, + 0x33,0x31,0x38,0x37,0x38,0x31,0x34,0x20,0x32,0x32,0x2e,0x30,0x33,0x30,0x35,0x39, + 0x35,0x2c,0x2d,0x38,0x2e,0x33,0x39,0x37,0x30,0x37,0x36,0x37,0x20,0x32,0x37,0x2e, + 0x34,0x33,0x37,0x38,0x38,0x32,0x2c,0x2d,0x38,0x2e,0x35,0x35,0x38,0x36,0x30,0x37, + 0x37,0x20,0x43,0x20,0x33,0x32,0x2e,0x33,0x38,0x36,0x30,0x31,0x2c,0x2d,0x38,0x2e, + 0x34,0x35,0x30,0x38,0x33,0x33,0x20,0x33,0x36,0x2e,0x32,0x35,0x39,0x31,0x32,0x36, + 0x2c,0x2d,0x37,0x2e,0x37,0x30,0x35,0x33,0x31,0x36,0x31,0x20,0x34,0x30,0x2e,0x38, + 0x38,0x36,0x31,0x37,0x37,0x2c,0x2d,0x35,0x2e,0x38,0x37,0x36,0x33,0x39,0x39,0x34, + 0x20,0x4c,0x20,0x34,0x31,0x2e,0x31,0x30,0x39,0x36,0x39,0x34,0x2c,0x2d,0x30,0x2e, + 0x34,0x31,0x38,0x31,0x37,0x32,0x32,0x39,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x32,0x31, + 0x38,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64, + 0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73,0x3d, + 0x22,0x63,0x73,0x63,0x63,0x63,0x7a,0x63,0x63,0x73,0x63,0x63,0x63,0x63,0x63,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67, + 0x34,0x31,0x36,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61, + 0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30, + 0x2e,0x38,0x38,0x30,0x31,0x31,0x39,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x38,0x38, + 0x30,0x31,0x31,0x39,0x2c,0x2d,0x32,0x2e,0x31,0x31,0x30,0x32,0x31,0x37,0x34,0x2c, + 0x31,0x32,0x2e,0x31,0x34,0x32,0x33,0x34,0x32,0x29,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x75, + 0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x32,0x34,0x33,0x39,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73, + 0x3d,0x22,0x63,0x63,0x63,0x73,0x63,0x63,0x73,0x63,0x63,0x73,0x63,0x63,0x63,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61, + 0x74,0x68,0x33,0x31,0x35,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x3d,0x22,0x4d,0x20,0x31,0x36,0x2e,0x31,0x30,0x30,0x30,0x39,0x35,0x2c, + 0x34,0x2e,0x35,0x39,0x33,0x37,0x35,0x20,0x43,0x20,0x31,0x30,0x2e,0x39,0x34,0x36, + 0x32,0x38,0x39,0x2c,0x34,0x2e,0x37,0x34,0x37,0x37,0x30,0x36,0x37,0x20,0x37,0x2e, + 0x32,0x32,0x35,0x36,0x30,0x31,0x39,0x2c,0x35,0x2e,0x37,0x39,0x39,0x39,0x36,0x33, + 0x34,0x20,0x33,0x2e,0x34,0x32,0x32,0x30,0x39,0x38,0x33,0x2c,0x37,0x2e,0x32,0x38, + 0x31,0x32,0x35,0x20,0x4c,0x20,0x33,0x2e,0x32,0x33,0x34,0x35,0x39,0x38,0x33,0x2c, + 0x31,0x30,0x2e,0x32,0x32,0x37,0x36,0x37,0x39,0x20,0x43,0x20,0x33,0x2e,0x37,0x38, + 0x34,0x36,0x38,0x31,0x33,0x2c,0x31,0x30,0x2e,0x39,0x37,0x32,0x38,0x38,0x31,0x20, + 0x35,0x2e,0x30,0x31,0x33,0x36,0x35,0x33,0x33,0x2c,0x31,0x31,0x2e,0x35,0x30,0x38, + 0x39,0x32,0x39,0x20,0x36,0x2e,0x34,0x32,0x32,0x30,0x39,0x38,0x33,0x2c,0x31,0x31, + 0x2e,0x35,0x30,0x38,0x39,0x32,0x39,0x20,0x43,0x20,0x37,0x2e,0x37,0x39,0x31,0x32, + 0x39,0x38,0x33,0x2c,0x31,0x31,0x2e,0x35,0x30,0x38,0x39,0x32,0x39,0x20,0x38,0x2e, + 0x39,0x37,0x35,0x38,0x34,0x30,0x33,0x2c,0x31,0x31,0x2e,0x30,0x30,0x34,0x36,0x34, + 0x38,0x20,0x39,0x2e,0x35,0x34,0x37,0x30,0x39,0x38,0x33,0x2c,0x31,0x30,0x2e,0x32, + 0x39,0x30,0x31,0x37,0x39,0x20,0x4c,0x20,0x39,0x2e,0x35,0x34,0x37,0x30,0x39,0x38, + 0x33,0x2c,0x39,0x2e,0x31,0x38,0x37,0x35,0x20,0x43,0x20,0x31,0x31,0x2e,0x39,0x36, + 0x38,0x36,0x30,0x38,0x2c,0x38,0x2e,0x36,0x38,0x32,0x36,0x31,0x32,0x20,0x31,0x32, + 0x2e,0x38,0x36,0x32,0x32,0x35,0x38,0x2c,0x38,0x2e,0x34,0x33,0x37,0x35,0x20,0x31, + 0x36,0x2e,0x31,0x32,0x35,0x2c,0x38,0x2e,0x34,0x33,0x37,0x35,0x20,0x43,0x20,0x31, + 0x39,0x2e,0x34,0x37,0x39,0x35,0x37,0x37,0x2c,0x38,0x2e,0x34,0x33,0x37,0x35,0x30, + 0x30,0x31,0x20,0x32,0x30,0x2e,0x33,0x38,0x34,0x36,0x37,0x2c,0x38,0x2e,0x36,0x38, + 0x34,0x32,0x36,0x30,0x33,0x20,0x32,0x32,0x2e,0x38,0x30,0x37,0x39,0x38,0x32,0x2c, + 0x39,0x2e,0x31,0x35,0x36,0x32,0x35,0x20,0x4c,0x20,0x32,0x32,0x2e,0x38,0x30,0x37, + 0x39,0x38,0x32,0x2c,0x31,0x30,0x2e,0x31,0x36,0x35,0x31,0x37,0x39,0x20,0x43,0x20, + 0x32,0x33,0x2e,0x33,0x37,0x39,0x32,0x34,0x2c,0x31,0x30,0x2e,0x38,0x37,0x39,0x36, + 0x34,0x38,0x20,0x32,0x34,0x2e,0x35,0x36,0x33,0x37,0x38,0x31,0x2c,0x31,0x31,0x2e, + 0x33,0x38,0x33,0x39,0x32,0x39,0x20,0x32,0x35,0x2e,0x39,0x33,0x32,0x39,0x38,0x32, + 0x2c,0x31,0x31,0x2e,0x33,0x38,0x33,0x39,0x32,0x39,0x20,0x43,0x20,0x32,0x37,0x2e, + 0x33,0x34,0x31,0x34,0x32,0x37,0x2c,0x31,0x31,0x2e,0x33,0x38,0x33,0x39,0x32,0x39, + 0x20,0x32,0x38,0x2e,0x35,0x33,0x39,0x31,0x35,0x2c,0x31,0x30,0x2e,0x38,0x34,0x37, + 0x38,0x38,0x31,0x20,0x32,0x39,0x2e,0x30,0x38,0x39,0x32,0x33,0x32,0x2c,0x31,0x30, + 0x2e,0x31,0x30,0x32,0x36,0x37,0x39,0x20,0x4c,0x20,0x32,0x38,0x2e,0x39,0x30,0x31, + 0x37,0x33,0x32,0x2c,0x37,0x2e,0x31,0x35,0x36,0x32,0x35,0x20,0x43,0x20,0x32,0x34, + 0x2e,0x34,0x39,0x31,0x35,0x38,0x36,0x2c,0x35,0x2e,0x34,0x31,0x33,0x30,0x36,0x38, + 0x20,0x32,0x30,0x2e,0x38,0x31,0x36,0x32,0x36,0x36,0x2c,0x34,0x2e,0x36,0x39,0x36, + 0x34,0x37,0x32,0x35,0x20,0x31,0x36,0x2e,0x31,0x30,0x30,0x30,0x39,0x35,0x2c,0x34, + 0x2e,0x35,0x39,0x33,0x37,0x35,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33, + 0x39,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x66,0x35,0x36,0x30,0x30, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e, + 0x36,0x32,0x35,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69, + 0x6e,0x3a,0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d, + 0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e, + 0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70, + 0x65,0x73,0x3d,0x22,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x31, + 0x36,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22, + 0x4d,0x20,0x36,0x2e,0x34,0x30,0x37,0x35,0x34,0x31,0x34,0x2c,0x31,0x33,0x2e,0x30, + 0x31,0x39,0x32,0x39,0x33,0x20,0x43,0x20,0x37,0x2e,0x37,0x38,0x38,0x32,0x36,0x31, + 0x32,0x2c,0x31,0x33,0x2e,0x30,0x31,0x39,0x32,0x39,0x33,0x20,0x38,0x2e,0x39,0x38, + 0x33,0x39,0x33,0x36,0x2c,0x31,0x32,0x2e,0x36,0x31,0x30,0x34,0x38,0x39,0x20,0x39, + 0x2e,0x35,0x36,0x30,0x30,0x30,0x30,0x33,0x2c,0x31,0x32,0x2e,0x30,0x31,0x36,0x39, + 0x36,0x20,0x4c,0x20,0x39,0x2e,0x35,0x36,0x30,0x30,0x30,0x30,0x33,0x2c,0x31,0x30, + 0x2e,0x34,0x33,0x30,0x39,0x38,0x39,0x20,0x43,0x20,0x38,0x2e,0x38,0x32,0x33,0x31, + 0x39,0x31,0x39,0x2c,0x31,0x31,0x2e,0x31,0x30,0x39,0x32,0x38,0x35,0x20,0x37,0x2e, + 0x37,0x38,0x39,0x32,0x30,0x35,0x2c,0x31,0x31,0x2e,0x34,0x39,0x34,0x39,0x34,0x38, + 0x20,0x36,0x2e,0x34,0x30,0x37,0x35,0x34,0x31,0x34,0x2c,0x31,0x31,0x2e,0x34,0x39, + 0x34,0x39,0x34,0x38,0x20,0x43,0x20,0x34,0x2e,0x39,0x38,0x35,0x34,0x34,0x31,0x34, + 0x2c,0x31,0x31,0x2e,0x34,0x39,0x34,0x39,0x34,0x38,0x20,0x33,0x2e,0x39,0x38,0x38, + 0x31,0x32,0x37,0x36,0x2c,0x31,0x31,0x2e,0x31,0x33,0x30,0x31,0x39,0x20,0x33,0x2e, + 0x32,0x31,0x32,0x37,0x36,0x37,0x35,0x2c,0x31,0x30,0x2e,0x34,0x38,0x31,0x37,0x34, + 0x20,0x4c,0x20,0x33,0x2e,0x32,0x31,0x32,0x37,0x36,0x37,0x35,0x2c,0x31,0x31,0x2e, + 0x39,0x36,0x36,0x32,0x30,0x38,0x20,0x43,0x20,0x33,0x2e,0x37,0x36,0x37,0x34,0x37, + 0x38,0x36,0x2c,0x31,0x32,0x2e,0x35,0x38,0x35,0x32,0x36,0x39,0x20,0x34,0x2e,0x39, + 0x38,0x37,0x32,0x34,0x36,0x35,0x2c,0x31,0x33,0x2e,0x30,0x31,0x39,0x32,0x39,0x33, + 0x20,0x36,0x2e,0x34,0x30,0x37,0x35,0x34,0x31,0x34,0x2c,0x31,0x33,0x2e,0x30,0x31, + 0x39,0x32,0x39,0x33,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33,0x39,0x29, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x66,0x35,0x36,0x30,0x30,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x35,0x37, + 0x32,0x30,0x34,0x33,0x32,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e,0x3a, + 0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74, + 0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73, + 0x3d,0x22,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x31,0x34,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20, + 0x32,0x35,0x2e,0x39,0x36,0x37,0x35,0x33,0x32,0x2c,0x31,0x32,0x2e,0x39,0x34,0x34, + 0x36,0x36,0x39,0x20,0x43,0x20,0x32,0x37,0x2e,0x33,0x34,0x38,0x32,0x35,0x32,0x2c, + 0x31,0x32,0x2e,0x39,0x34,0x34,0x36,0x36,0x39,0x20,0x32,0x38,0x2e,0x35,0x34,0x33, + 0x39,0x32,0x37,0x2c,0x31,0x32,0x2e,0x35,0x33,0x35,0x38,0x36,0x35,0x20,0x32,0x39, + 0x2e,0x31,0x31,0x39,0x39,0x39,0x31,0x2c,0x31,0x31,0x2e,0x39,0x34,0x32,0x33,0x33, + 0x36,0x20,0x4c,0x20,0x32,0x39,0x2e,0x31,0x31,0x39,0x39,0x39,0x31,0x2c,0x31,0x30, + 0x2e,0x33,0x35,0x36,0x33,0x36,0x35,0x20,0x43,0x20,0x32,0x38,0x2e,0x33,0x38,0x33, + 0x31,0x38,0x33,0x2c,0x31,0x31,0x2e,0x30,0x33,0x34,0x36,0x36,0x31,0x20,0x32,0x37, + 0x2e,0x33,0x34,0x39,0x31,0x39,0x36,0x2c,0x31,0x31,0x2e,0x34,0x32,0x30,0x33,0x32, + 0x34,0x20,0x32,0x35,0x2e,0x39,0x36,0x37,0x35,0x33,0x32,0x2c,0x31,0x31,0x2e,0x34, + 0x32,0x30,0x33,0x32,0x34,0x20,0x43,0x20,0x32,0x34,0x2e,0x35,0x34,0x35,0x34,0x33, + 0x32,0x2c,0x31,0x31,0x2e,0x34,0x32,0x30,0x33,0x32,0x34,0x20,0x32,0x33,0x2e,0x35, + 0x34,0x38,0x31,0x31,0x38,0x2c,0x31,0x31,0x2e,0x30,0x35,0x35,0x35,0x36,0x36,0x20, + 0x32,0x32,0x2e,0x37,0x37,0x32,0x37,0x35,0x38,0x2c,0x31,0x30,0x2e,0x34,0x30,0x37, + 0x31,0x31,0x36,0x20,0x4c,0x20,0x32,0x32,0x2e,0x37,0x37,0x32,0x37,0x35,0x38,0x2c, + 0x31,0x31,0x2e,0x38,0x39,0x31,0x35,0x38,0x34,0x20,0x43,0x20,0x32,0x33,0x2e,0x33, + 0x32,0x37,0x34,0x36,0x39,0x2c,0x31,0x32,0x2e,0x35,0x31,0x30,0x36,0x34,0x35,0x20, + 0x32,0x34,0x2e,0x35,0x34,0x37,0x32,0x33,0x37,0x2c,0x31,0x32,0x2e,0x39,0x34,0x34, + 0x36,0x36,0x39,0x20,0x32,0x35,0x2e,0x39,0x36,0x37,0x35,0x33,0x32,0x2c,0x31,0x32, + 0x2e,0x39,0x34,0x34,0x36,0x36,0x39,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34, + 0x33,0x39,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x66,0x35,0x36,0x30, + 0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30, + 0x2e,0x35,0x37,0x32,0x30,0x34,0x33,0x32,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39, + 0x39,0x35,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f, + 0x69,0x6e,0x3a,0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d, + 0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f, + 0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79, + 0x70,0x65,0x73,0x3d,0x22,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34, + 0x32,0x34,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d, + 0x22,0x4d,0x20,0x36,0x2e,0x36,0x38,0x32,0x32,0x37,0x32,0x35,0x2c,0x31,0x31,0x2e, + 0x31,0x35,0x37,0x39,0x31,0x38,0x20,0x43,0x20,0x38,0x2e,0x30,0x36,0x32,0x39,0x39, + 0x32,0x33,0x2c,0x31,0x31,0x2e,0x31,0x35,0x37,0x39,0x31,0x38,0x20,0x38,0x2e,0x37, + 0x35,0x33,0x35,0x39,0x30,0x38,0x2c,0x31,0x30,0x2e,0x37,0x33,0x33,0x33,0x33,0x20, + 0x39,0x2e,0x33,0x32,0x39,0x36,0x35,0x35,0x31,0x2c,0x31,0x30,0x2e,0x31,0x33,0x39, + 0x38,0x30,0x31,0x20,0x4c,0x20,0x39,0x2e,0x38,0x39,0x37,0x38,0x36,0x35,0x39,0x2c, + 0x37,0x2e,0x34,0x38,0x30,0x35,0x34,0x33,0x34,0x20,0x43,0x20,0x39,0x2e,0x31,0x36, + 0x31,0x30,0x35,0x37,0x35,0x2c,0x38,0x2e,0x31,0x35,0x38,0x38,0x33,0x39,0x34,0x20, + 0x38,0x2e,0x31,0x32,0x37,0x30,0x37,0x30,0x36,0x2c,0x38,0x2e,0x35,0x34,0x34,0x35, + 0x30,0x32,0x34,0x20,0x36,0x2e,0x37,0x34,0x35,0x34,0x30,0x37,0x2c,0x38,0x2e,0x35, + 0x34,0x34,0x35,0x30,0x32,0x34,0x20,0x43,0x20,0x35,0x2e,0x33,0x32,0x33,0x33,0x30, + 0x37,0x2c,0x38,0x2e,0x35,0x34,0x34,0x35,0x30,0x32,0x34,0x20,0x34,0x2e,0x34,0x39, + 0x39,0x36,0x31,0x33,0x32,0x2c,0x38,0x2e,0x31,0x37,0x39,0x37,0x34,0x34,0x34,0x20, + 0x33,0x2e,0x37,0x32,0x34,0x32,0x35,0x33,0x31,0x2c,0x37,0x2e,0x35,0x33,0x31,0x32, + 0x39,0x34,0x34,0x20,0x4c,0x20,0x33,0x2e,0x34,0x38,0x37,0x34,0x39,0x38,0x36,0x2c, + 0x31,0x30,0x2e,0x31,0x30,0x34,0x38,0x33,0x33,0x20,0x43,0x20,0x34,0x2e,0x30,0x34, + 0x32,0x32,0x30,0x39,0x37,0x2c,0x31,0x30,0x2e,0x37,0x32,0x33,0x38,0x39,0x34,0x20, + 0x35,0x2e,0x32,0x36,0x31,0x39,0x37,0x37,0x36,0x2c,0x31,0x31,0x2e,0x31,0x35,0x37, + 0x39,0x31,0x38,0x20,0x36,0x2e,0x36,0x38,0x32,0x32,0x37,0x32,0x35,0x2c,0x31,0x31, + 0x2e,0x31,0x35,0x37,0x39,0x31,0x38,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34, + 0x33,0x39,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x35,0x37, + 0x32,0x30,0x34,0x33,0x32,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e,0x3a, + 0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74, + 0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3a,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73, + 0x3d,0x22,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x32,0x35,0x38, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20, + 0x32,0x35,0x2e,0x36,0x33,0x33,0x35,0x39,0x39,0x2c,0x31,0x31,0x2e,0x30,0x35,0x35, + 0x33,0x32,0x34,0x20,0x43,0x20,0x32,0x34,0x2e,0x32,0x35,0x32,0x38,0x37,0x39,0x2c, + 0x31,0x31,0x2e,0x30,0x35,0x35,0x33,0x32,0x34,0x20,0x32,0x33,0x2e,0x35,0x36,0x32, + 0x32,0x38,0x2c,0x31,0x30,0x2e,0x36,0x33,0x30,0x37,0x33,0x36,0x20,0x32,0x32,0x2e, + 0x39,0x38,0x36,0x32,0x31,0x36,0x2c,0x31,0x30,0x2e,0x30,0x33,0x37,0x32,0x30,0x37, + 0x20,0x4c,0x20,0x32,0x32,0x2e,0x34,0x31,0x38,0x30,0x30,0x35,0x2c,0x37,0x2e,0x33, + 0x37,0x37,0x39,0x34,0x39,0x37,0x20,0x43,0x20,0x32,0x33,0x2e,0x31,0x35,0x34,0x38, + 0x31,0x34,0x2c,0x38,0x2e,0x30,0x35,0x36,0x32,0x34,0x35,0x37,0x20,0x32,0x34,0x2e, + 0x31,0x38,0x38,0x38,0x30,0x31,0x2c,0x38,0x2e,0x34,0x34,0x31,0x39,0x30,0x38,0x37, + 0x20,0x32,0x35,0x2e,0x35,0x37,0x30,0x34,0x36,0x34,0x2c,0x38,0x2e,0x34,0x34,0x31, + 0x39,0x30,0x38,0x37,0x20,0x43,0x20,0x32,0x36,0x2e,0x39,0x39,0x32,0x35,0x36,0x34, + 0x2c,0x38,0x2e,0x34,0x34,0x31,0x39,0x30,0x38,0x37,0x20,0x32,0x37,0x2e,0x38,0x31, + 0x36,0x32,0x35,0x38,0x2c,0x38,0x2e,0x30,0x37,0x37,0x31,0x35,0x30,0x37,0x20,0x32, + 0x38,0x2e,0x35,0x39,0x31,0x36,0x31,0x38,0x2c,0x37,0x2e,0x34,0x32,0x38,0x37,0x30, + 0x30,0x37,0x20,0x4c,0x20,0x32,0x38,0x2e,0x38,0x32,0x38,0x33,0x37,0x33,0x2c,0x31, + 0x30,0x2e,0x30,0x30,0x32,0x32,0x33,0x39,0x20,0x43,0x20,0x32,0x38,0x2e,0x32,0x37, + 0x33,0x36,0x36,0x32,0x2c,0x31,0x30,0x2e,0x36,0x32,0x31,0x33,0x20,0x32,0x37,0x2e, + 0x30,0x35,0x33,0x38,0x39,0x34,0x2c,0x31,0x31,0x2e,0x30,0x35,0x35,0x33,0x32,0x34, + 0x20,0x32,0x35,0x2e,0x36,0x33,0x33,0x35,0x39,0x39,0x2c,0x31,0x31,0x2e,0x30,0x35, + 0x35,0x33,0x32,0x34,0x20,0x7a,0x20,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x33,0x39,0x29, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x35,0x37,0x32,0x30,0x34, + 0x33,0x32,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x35,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e,0x3a,0x6d,0x69,0x74, + 0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c, + 0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61, + 0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20, + 0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/history.svg + 0x0,0x0,0xf,0x9d, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x34,0x22,0xa,0x20, + 0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x32,0x22,0xa,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x34,0x36,0x22, + 0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f, + 0x63,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x68,0x69,0x73,0x74,0x6f,0x72,0x79,0x2e,0x73, + 0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e, + 0x3d,0x22,0x6f,0x72,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x22,0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x70, + 0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66, + 0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x63,0x6f, + 0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f,0x77,0x3d, + 0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x32,0x31,0x2e,0x34,0x38,0x30,0x31,0x39, + 0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x78,0x3d,0x22,0x31,0x2e,0x34,0x37,0x34,0x37,0x36,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x79,0x3d, + 0x22,0x31,0x31,0x2e,0x39,0x37,0x35,0x37,0x30,0x39,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65, + 0x6e,0x74,0x2d,0x75,0x6e,0x69,0x74,0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72, + 0x65,0x6e,0x74,0x2d,0x6c,0x61,0x79,0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69,0x64, + 0x3d,0x22,0x66,0x61,0x6c,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69, + 0x64,0x74,0x68,0x3d,0x22,0x31,0x36,0x30,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d, + 0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x39,0x32,0x36,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f, + 0x77,0x2d,0x78,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22, + 0x32,0x34,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x64,0x65,0x66,0x73,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x64,0x65,0x66,0x73,0x34,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x35, + 0x32,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x31,0x35,0x30, + 0x62,0x30,0x62,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x35,0x32,0x39,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x31,0x35,0x30,0x62,0x30, + 0x62,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30, + 0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x35,0x33,0x31,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30, + 0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30, + 0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x37,0x34,0x34,0x2e, + 0x30,0x39,0x34,0x34,0x38,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30, + 0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f, + 0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x33,0x37,0x32,0x2e,0x30,0x34,0x37,0x32,0x34, + 0x20,0x3a,0x20,0x33,0x35,0x30,0x2e,0x37,0x38,0x37,0x33,0x39,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72, + 0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x31,0x30,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x35,0x32,0x37,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x33,0x35,0x33,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x63,0x78,0x3d,0x22,0x31,0x31,0x2e,0x39,0x36,0x34,0x35,0x30,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x32,0x32,0x2e,0x33, + 0x34,0x37,0x33,0x31,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x78, + 0x3d,0x22,0x31,0x31,0x2e,0x39,0x36,0x34,0x35,0x30,0x39,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x66,0x79,0x3d,0x22,0x32,0x32,0x2e,0x33,0x34,0x37,0x33,0x31, + 0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d,0x22,0x30,0x2e,0x32, + 0x39,0x38,0x35,0x35,0x34,0x35,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72, + 0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30,0x2c,0x30,0x2c, + 0x32,0x2e,0x39,0x34,0x39,0x31,0x36,0x32,0x38,0x2c,0x30,0x2c,0x2d,0x34,0x33,0x2e, + 0x35,0x35,0x38,0x35,0x35,0x33,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75, + 0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x3c,0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x37,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72, + 0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d, + 0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72,0x65, + 0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70, + 0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69,0x74, + 0x79,0x70,0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f, + 0x72,0x6b,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44, + 0x46,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e, + 0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x61,0x6c,0x71,0x75, + 0x65,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61, + 0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61, + 0x79,0x65,0x72,0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23, + 0x65,0x66,0x65,0x62,0x65,0x37,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30, + 0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74, + 0x68,0x3a,0x30,0x2e,0x37,0x35,0x35,0x39,0x30,0x38,0x30,0x35,0x39,0x39,0x39,0x39, + 0x39,0x39,0x39,0x39,0x39,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74, + 0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e, + 0x3a,0x6d,0x69,0x74,0x65,0x72,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69, + 0x6e,0x65,0x63,0x61,0x70,0x3a,0x73,0x71,0x75,0x61,0x72,0x65,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x32,0x33,0x38, + 0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x63,0x78,0x3d,0x22,0x31,0x33,0x2e,0x33,0x38,0x34,0x36,0x31,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64, + 0x69,0x3a,0x63,0x79,0x3d,0x22,0x31,0x32,0x2e,0x34,0x36,0x31,0x35,0x33,0x38,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x72,0x78,0x3d,0x22,0x39,0x2e,0x37,0x34,0x30,0x38,0x39,0x30,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a, + 0x72,0x79,0x3d,0x22,0x38,0x2e,0x39,0x36,0x33,0x35,0x36,0x33,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x32,0x33,0x2e,0x31,0x32,0x35, + 0x35,0x30,0x35,0x2c,0x31,0x32,0x2e,0x34,0x36,0x31,0x35,0x33,0x38,0x20,0x41,0x20, + 0x39,0x2e,0x37,0x34,0x30,0x38,0x39,0x30,0x35,0x2c,0x38,0x2e,0x39,0x36,0x33,0x35, + 0x36,0x33,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x33,0x2e,0x36,0x34,0x33,0x37,0x32, + 0x34,0x34,0x2c,0x31,0x32,0x2e,0x34,0x36,0x31,0x35,0x33,0x38,0x20,0x41,0x20,0x39, + 0x2e,0x37,0x34,0x30,0x38,0x39,0x30,0x35,0x2c,0x38,0x2e,0x39,0x36,0x33,0x35,0x36, + 0x33,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x32,0x33,0x2e,0x31,0x32,0x35,0x35,0x30, + 0x35,0x2c,0x31,0x32,0x2e,0x34,0x36,0x31,0x35,0x33,0x38,0x20,0x7a,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d, + 0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2e,0x31,0x33,0x37,0x31,0x37,0x39, + 0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x32,0x34,0x39,0x33,0x34,0x36,0x32,0x2c,0x2d, + 0x33,0x2e,0x31,0x32,0x33,0x35,0x33,0x37,0x34,0x2c,0x2d,0x33,0x2e,0x35,0x34,0x34, + 0x34,0x38,0x34,0x39,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72, + 0x65,0x63,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65, + 0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x39,0x30,0x38,0x30,0x30,0x3b,0x66, + 0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x39,0x34, + 0x35,0x30,0x39,0x38,0x30,0x33,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x63,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x37,0x30, + 0x30,0x31,0x31,0x35,0x33,0x31,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69, + 0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61, + 0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x74,0x32,0x33,0x39,0x35,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x30, + 0x2e,0x35,0x34,0x38,0x37,0x35,0x36,0x37,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x31,0x30,0x2e,0x38,0x33,0x37, + 0x33,0x30,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x3d,0x22,0x31, + 0x31,0x2e,0x37,0x38,0x33,0x32,0x33,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x79,0x3d,0x22,0x31,0x2e,0x38,0x39,0x31,0x35,0x35,0x37,0x38,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x78,0x3d,0x22,0x30,0x2e,0x34,0x36,0x35,0x34, + 0x36,0x38,0x31,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x79,0x3d, + 0x22,0x30,0x2e,0x32,0x33,0x32,0x37,0x32,0x30,0x32,0x34,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x72,0x65,0x63,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x32,0x66, + 0x37,0x36,0x30,0x30,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x30,0x2e,0x39,0x34,0x35,0x30,0x39,0x38,0x30,0x33,0x39,0x39,0x39,0x39, + 0x39,0x39,0x39,0x39,0x37,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x39, + 0x31,0x65,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74, + 0x68,0x3a,0x30,0x2e,0x37,0x30,0x33,0x35,0x33,0x33,0x35,0x39,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74, + 0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63, + 0x74,0x32,0x33,0x39,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x77,0x69, + 0x64,0x74,0x68,0x3d,0x22,0x30,0x2e,0x36,0x39,0x38,0x37,0x39,0x35,0x38,0x36,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22, + 0x38,0x2e,0x35,0x39,0x33,0x37,0x31,0x39,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x3d,0x22,0x31,0x37,0x2e,0x31,0x32,0x32,0x34,0x38,0x34,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x3d,0x22,0x2d,0x36,0x2e,0x36,0x37,0x32, + 0x37,0x36,0x36,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x78,0x3d, + 0x22,0x30,0x2e,0x35,0x39,0x32,0x37,0x33,0x34,0x38,0x37,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x72,0x79,0x3d,0x22,0x30,0x2e,0x31,0x38,0x34,0x35,0x34,0x31, + 0x35,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73, + 0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x37, + 0x36,0x36,0x36,0x32,0x35,0x34,0x2c,0x30,0x2e,0x36,0x34,0x32,0x30,0x39,0x34,0x36, + 0x2c,0x2d,0x30,0x2e,0x36,0x38,0x33,0x30,0x32,0x33,0x33,0x2c,0x30,0x2e,0x37,0x33, + 0x30,0x33,0x39,0x36,0x36,0x2c,0x30,0x2c,0x30,0x29,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x74,0x72,0x61,0x6e, + 0x73,0x66,0x6f,0x72,0x6d,0x2d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2d,0x78,0x3d,0x22, + 0x30,0x2e,0x33,0x34,0x32,0x39,0x30,0x31,0x32,0x36,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x74,0x72,0x61,0x6e, + 0x73,0x66,0x6f,0x72,0x6d,0x2d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2d,0x79,0x3d,0x22, + 0x34,0x2e,0x38,0x33,0x38,0x37,0x30,0x31,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/hold.svg + 0x0,0x0,0x13,0xe5, + 0x0, + 0x0,0x72,0xe0,0x78,0x9c,0xed,0x5d,0x5d,0x73,0x22,0xc7,0x92,0x7d,0xf7,0xaf,0x60, + 0xf1,0x8b,0x27,0x16,0x9a,0xaa,0xac,0x6f,0x59,0x9a,0xfb,0x30,0xe,0x6f,0xdc,0x88, + 0x7b,0x63,0x37,0xd6,0x76,0xec,0xe3,0x6,0x82,0x46,0x62,0x8d,0x80,0x5,0x64,0x49, + 0xfe,0xf5,0x7b,0xb2,0x9a,0x86,0x6e,0x54,0x7c,0x69,0x0,0xcd,0x8c,0x77,0xec,0x7b, + 0x87,0xce,0xae,0xee,0xaa,0xca,0xca,0x3c,0x79,0x32,0xbb,0xbb,0x7c,0xfd,0xb7,0xe7, + 0x87,0x51,0xe3,0x8f,0x7c,0x36,0x1f,0x4e,0xc6,0x37,0x4d,0x99,0x89,0x66,0x23,0x1f, + 0xf7,0x26,0xfd,0xe1,0xf8,0xee,0xa6,0xf9,0xdb,0xaf,0x3f,0xb7,0x7d,0xb3,0x31,0x5f, + 0x74,0xc7,0xfd,0xee,0x68,0x32,0xce,0x6f,0x9a,0xe3,0x49,0xf3,0x6f,0x1f,0xbf,0xbb, + 0xfe,0x97,0x76,0xbb,0xf1,0x69,0x96,0x77,0x17,0x79,0xbf,0xf1,0x34,0x5c,0xdc,0x37, + 0xfe,0x3e,0xfe,0x7d,0xde,0xeb,0x4e,0xf3,0xc6,0xf,0xf7,0x8b,0xc5,0xf4,0xaa,0xd3, + 0x79,0x7a,0x7a,0xca,0x86,0x4b,0x61,0x36,0x99,0xdd,0x75,0x3e,0x34,0xda,0x6d,0x5c, + 0x39,0xff,0xe3,0xee,0xbb,0x46,0xa3,0x81,0x6e,0xc7,0xf3,0xab,0x7e,0xef,0xa6,0xb9, + 0x6c,0x3f,0x7d,0x9c,0x8d,0x62,0xbb,0x7e,0xaf,0x93,0x8f,0xf2,0x87,0x7c,0xbc,0x98, + 0x77,0x64,0x26,0x3b,0xcd,0x75,0xf3,0xde,0xba,0xf9,0x53,0x7e,0x9b,0xcd,0xf2,0xf9, + 0xe4,0x71,0xd6,0x2b,0x6e,0xdf,0xeb,0x55,0x5b,0xce,0xfa,0x83,0x75,0x53,0x8c,0xe4, + 0x49,0xc5,0x46,0x32,0x84,0xd0,0x11,0xd4,0x21,0x6a,0xa3,0x45,0x7b,0xfe,0x32,0x5e, + 0x74,0x9f,0xdb,0xe3,0xf9,0xf7,0x95,0x4b,0x31,0xc0,0xd4,0xa5,0x24,0x84,0xe8,0xe0, + 0xdc,0xba,0xe5,0x61,0xad,0xae,0x9e,0x47,0x50,0xc3,0xd6,0xc1,0xc4,0xb3,0xd5,0xde, + 0xa1,0xfa,0x29,0xfe,0xb7,0xba,0xa0,0x14,0x64,0xc5,0x5c,0x7,0xb8,0x32,0xcf,0xc6, + 0xf9,0xa2,0xf3,0xd3,0xaf,0x3f,0xad,0x4e,0xb6,0x45,0xd6,0x5f,0xf4,0x2b,0xb7,0x29, + 0x35,0x5f,0xeb,0xb7,0xb6,0x1c,0xe3,0xee,0x43,0x3e,0x9f,0x76,0x7b,0xf9,0xbc,0x53, + 0xca,0xe3,0xf5,0x4f,0xc3,0xfe,0xe2,0xfe,0xa6,0x49,0x3a,0x1e,0xdd,0xe7,0xc3,0xbb, + 0xfb,0xc5,0xea,0x70,0xd8,0xbf,0x69,0x62,0x76,0x14,0xf,0xca,0xce,0xaf,0x56,0xe6, + 0x23,0x32,0x55,0x9c,0x2a,0xef,0x58,0x3d,0xa5,0x4d,0x3c,0x55,0xb3,0xb5,0xda,0x6d, + 0xfa,0x93,0xde,0x6d,0x77,0x8e,0x21,0x77,0xee,0x27,0xf,0x79,0x67,0x3a,0xba,0xcd, + 0xbb,0x8f,0xfd,0xc9,0x70,0xdc,0xf9,0xe5,0xe7,0x7f,0xfc,0xc7,0x3d,0xcc,0xaf,0x33, + 0x1f,0x8c,0xa6,0xb5,0x1f,0xed,0xbb,0xc5,0xef,0x9d,0xe9,0xf0,0xf9,0xa1,0x3b,0x9d, + 0xbf,0xba,0x1b,0x4f,0x11,0xa,0x98,0x8c,0xfa,0x59,0xb9,0x24,0xab,0x81,0x4d,0x1e, + 0x17,0xd3,0xc7,0xc5,0x7f,0xe7,0xcf,0x8b,0x7c,0x5c,0x8c,0x7,0x4a,0xa9,0x68,0x28, + 0x9e,0xe6,0xcb,0xb2,0x9a,0x76,0x56,0xb7,0x7f,0xc0,0xff,0xd,0x86,0x39,0xf4,0xb1, + 0x98,0x3d,0xe6,0xcd,0x8f,0x38,0x79,0xdd,0xcf,0x7,0x73,0x6e,0x54,0xe8,0x89,0x8f, + 0x74,0x3c,0x81,0x53,0x58,0xe5,0xbc,0x3b,0xfb,0xb7,0x59,0xb7,0x3f,0x84,0x61,0x17, + 0x8d,0x8a,0x66,0xf5,0x33,0x9a,0x6c,0x58,0x5e,0x83,0xab,0xe6,0x8b,0xc9,0xb4,0x6c, + 0x8b,0xbe,0x17,0x2f,0x23,0xcc,0x87,0x85,0xed,0xde,0x64,0x34,0x99,0x5d,0x7d,0x2f, + 0x44,0xd7,0xde,0x8a,0x1f,0xa3,0x68,0x82,0xc5,0x1c,0x2e,0x5e,0xae,0xe4,0x8f,0xcd, + 0xf5,0x35,0x93,0xc1,0x60,0x9e,0x63,0xfd,0x44,0x45,0x16,0x17,0x11,0x57,0x68,0x72, + 0xb2,0xd9,0xe8,0x7c,0x5e,0x6f,0x22,0xd5,0x9b,0x4c,0xf7,0xa6,0x56,0xbd,0x5d,0x77, + 0xea,0xd3,0x3e,0x56,0x4b,0xd2,0xab,0x6d,0x5a,0x5a,0xf5,0x27,0xbd,0xd9,0xa3,0x88, + 0xf4,0x14,0x4d,0x42,0xa1,0x5b,0xb5,0x54,0xe9,0xcd,0xed,0x51,0x44,0xb2,0x37,0x13, + 0xcc,0x60,0x6b,0x6f,0x9f,0xad,0x25,0xeb,0x8e,0xb0,0x25,0xf,0xe8,0x12,0xf9,0x5b, + 0x6d,0x49,0xc2,0x6e,0x8f,0xb1,0xa5,0x5b,0x74,0x26,0xf5,0x5b,0x6d,0x49,0x56,0x2c, + 0xf7,0x38,0x2d,0x95,0xfe,0x8f,0x61,0x8c,0xf2,0x1e,0xee,0xdf,0x1d,0x3d,0x75,0x5f, + 0xe6,0xab,0x4e,0x22,0x1e,0x5f,0xdd,0xcf,0x72,0xc4,0x8f,0xef,0x13,0x56,0xb7,0xd3, + 0x28,0xd7,0x63,0x7d,0x96,0x18,0xb9,0xc8,0x8c,0xd3,0x61,0x7d,0xcd,0xb,0xb,0x29, + 0x93,0xd2,0x18,0x13,0xd6,0x4d,0xe9,0xa6,0x9,0xfc,0xb6,0x1e,0x8d,0x69,0x89,0x9f, + 0xb1,0x35,0xa5,0x5a,0xdf,0x2d,0x7b,0xfb,0x6d,0x3c,0x5c,0x20,0x2,0x3d,0xce,0xf3, + 0xd9,0x2f,0x8c,0xe2,0xff,0x3e,0xfe,0x6d,0x9e,0xbf,0x6a,0xf5,0xeb,0xac,0x3b,0x9e, + 0x23,0x64,0x3c,0x30,0x4c,0xe1,0xe7,0x8,0x1,0xfb,0x7,0x99,0x91,0x5,0xcc,0xc8, + 0x56,0x1b,0xe1,0x55,0x8,0x67,0xe8,0xc3,0x5a,0x99,0xef,0xa0,0xb6,0x60,0x6a,0x6a, + 0x53,0x32,0xb3,0x81,0x82,0xf5,0x75,0xbd,0xf1,0xa8,0x35,0x49,0x5b,0xd3,0x1b,0xa9, + 0xcc,0xe3,0x8f,0x35,0x75,0xad,0xa9,0x4c,0x19,0x53,0x51,0xe5,0x9,0x94,0x86,0x15, + 0xa,0xda,0x9,0xe9,0x5b,0xf8,0xe5,0xbd,0x91,0xc1,0xbf,0xab,0xd6,0x48,0xa8,0xba, + 0xb1,0x99,0xcc,0x6a,0x47,0xb2,0x6e,0x6d,0x94,0x39,0x41,0xd0,0x4f,0x5d,0x6b,0x52, + 0x67,0x42,0x2a,0xab,0x7c,0x5d,0x6b,0x6c,0xae,0x16,0xb7,0x38,0x50,0x6d,0xe7,0x9c, + 0x3c,0x47,0xc1,0x5d,0x93,0x37,0xb6,0x36,0x79,0x97,0x61,0x41,0xd8,0x7b,0xea,0x26, + 0x63,0xb2,0x20,0x49,0x79,0x5f,0x9b,0xbc,0x83,0x47,0x49,0xed,0xb5,0xac,0x4f,0x5e, + 0x66,0x26,0x38,0x45,0xe6,0x94,0x36,0x3,0xce,0x43,0x56,0x1a,0x98,0xc,0xd6,0xc1, + 0x62,0x6d,0xec,0x79,0x4d,0x66,0x9f,0xd6,0xac,0xf8,0xfc,0xd9,0x3d,0x74,0x17,0xb3, + 0xe1,0xf3,0xf,0xed,0x88,0x1e,0x8e,0xac,0x9,0x94,0xb7,0xa5,0xdb,0x38,0x92,0x2d, + 0x45,0x99,0x80,0xd,0xc7,0xb9,0x7b,0x58,0xa6,0xfa,0x50,0x5b,0x31,0x9c,0xb5,0x6, + 0x31,0xd3,0xd5,0x57,0x8c,0x32,0x4b,0x26,0x8,0xaa,0xad,0x98,0xcd,0xbc,0x72,0xde, + 0x7,0xb7,0xe9,0xe4,0x1,0x6c,0xdb,0xa8,0x77,0xf4,0x42,0xa2,0x25,0x2f,0x2e,0xa7, + 0x25,0x31,0x56,0xb2,0x2e,0xd8,0xda,0xb4,0x2c,0x54,0xe3,0xbd,0xab,0xf8,0x66,0xc4, + 0x2e,0x97,0x19,0x4b,0x75,0xe4,0x22,0xca,0x8c,0x24,0x23,0x4e,0x60,0x86,0xcb,0x85, + 0x42,0x60,0x51,0xec,0x3,0x2d,0xc1,0xff,0x94,0x7,0x2a,0x23,0xe3,0x45,0x50,0x90, + 0xf8,0xa0,0x43,0x90,0xfb,0xd,0x33,0x31,0x79,0xe7,0x8f,0xa0,0x17,0x83,0xf8,0x67, + 0x23,0xe0,0x1f,0xc8,0x2e,0x88,0xbc,0x38,0x8a,0x5d,0xc,0xf2,0x41,0x9e,0xbb,0x8d, + 0xce,0x30,0x55,0x25,0xbc,0x74,0x3e,0xd1,0x6b,0x8a,0x65,0xa0,0x57,0x3a,0x15,0x17, + 0xc3,0xbd,0xf4,0x11,0xca,0x92,0x7d,0xe6,0x47,0x6f,0xe4,0x62,0xe8,0xcb,0x1e,0xa5, + 0xad,0x54,0x6f,0x7,0x73,0x31,0xf4,0xe6,0x4f,0xa7,0xa5,0x20,0xf6,0xf1,0x7a,0xb4, + 0xa1,0x3d,0x8a,0x38,0x5c,0xa1,0x7b,0x79,0x3d,0xa9,0x90,0xca,0x22,0xf6,0xf1,0xfa, + 0x81,0x19,0xec,0xe8,0xed,0xf3,0xb5,0x64,0x2f,0xc5,0xeb,0xd1,0x97,0xbf,0x1c,0xaf, + 0x87,0xb6,0xbf,0x3c,0x5e,0x4f,0xaa,0x1a,0x8f,0xbe,0x50,0x90,0xf7,0xce,0x8,0x32, + 0x4b,0x90,0x2f,0xf,0x32,0x6b,0xad,0x13,0xc,0xf2,0xd2,0xb9,0x20,0xdc,0x5e,0x90, + 0xaf,0xc7,0xd5,0x3d,0x31,0x38,0x1d,0xaf,0x93,0xb1,0x7d,0x27,0x8f,0xe0,0x31,0xef, + 0xe4,0xb,0x87,0x69,0x27,0xb5,0x70,0xde,0x1e,0xb4,0xfe,0x35,0xde,0xb4,0xcd,0x90, + 0xf6,0xa8,0xee,0x68,0x22,0x78,0xdc,0xec,0xce,0xb5,0x32,0x49,0x73,0xbf,0xbc,0xd6, + 0xe,0x98,0xfc,0xab,0xec,0x64,0x4b,0x26,0x93,0xce,0x7a,0x92,0x19,0x52,0x72,0xf2, + 0xfe,0x78,0xc8,0x38,0x87,0xc9,0x24,0xf3,0xcd,0x37,0xa8,0xd,0x58,0xa3,0x8c,0x93, + 0xa6,0xa6,0x36,0xa4,0xd8,0x4a,0x5a,0xe7,0x37,0x4d,0x66,0xb3,0x29,0xeb,0x52,0x67, + 0x2a,0xb8,0x2a,0x58,0x25,0x1d,0x8d,0xbe,0xc,0xad,0xa5,0x4a,0x1b,0x6f,0x52,0x9a, + 0x7,0x3f,0xe,0x75,0x47,0x73,0xf0,0x3e,0x85,0x7f,0xcd,0xa6,0xd6,0x36,0xdb,0xca, + 0x58,0xdb,0x16,0x1a,0xd6,0x66,0x77,0x6b,0x4d,0x5c,0x4c,0x6b,0xa9,0xee,0xdd,0x56, + 0x16,0xb1,0x8e,0xc7,0x95,0x7a,0xcb,0xc1,0x5c,0x6b,0xb,0xe1,0x38,0x80,0x6b,0xc9, + 0x7d,0xd4,0xfc,0x70,0xc2,0x71,0x2a,0xae,0xa5,0x1c,0x1d,0xc1,0xb5,0xc8,0x7e,0xe, + 0x6f,0x57,0x44,0xc7,0xf1,0x76,0x9d,0xa4,0x99,0x87,0x72,0x2d,0xe4,0xae,0x27,0xd3, + 0x12,0x1d,0x60,0x4b,0x94,0x5a,0xdd,0x3d,0xb6,0xb4,0x45,0xa1,0x7,0xd8,0x92,0x4a, + 0x25,0x97,0x7b,0x6c,0x29,0xd5,0xdb,0x9b,0x6d,0xe9,0x9c,0x8c,0xf4,0xe8,0xda,0xe6, + 0xa9,0x4b,0x84,0xef,0x58,0x73,0x51,0x4a,0x1f,0x39,0xf9,0x37,0x87,0x8c,0x93,0x57, + 0xf1,0xdf,0x55,0x6d,0xf6,0x94,0x6a,0xdb,0xc9,0x4f,0x4e,0x5c,0xc6,0x7f,0xbf,0x9a, + 0x29,0xb4,0xe6,0x4f,0xa9,0xb5,0x5d,0x89,0xc0,0xa9,0xb,0xd9,0xef,0xa9,0x35,0x7d, + 0xd2,0x4a,0xf3,0xde,0xc,0xf1,0x6c,0x15,0x65,0x1e,0x55,0x77,0x74,0x52,0xd5,0x9, + 0x5d,0xa7,0xd2,0xf5,0x2e,0xa0,0xba,0xf5,0x50,0x7b,0xcf,0x18,0x54,0xc8,0xc8,0xd7, + 0x58,0x79,0xef,0xe5,0xa6,0x19,0x32,0x96,0xe9,0x4a,0xf5,0x79,0x90,0x6c,0x3b,0x48, + 0xb6,0x9d,0x45,0x54,0xf3,0x51,0x7c,0xe4,0x3a,0xcd,0xa7,0xb3,0xbc,0xdb,0xff,0x67, + 0xbe,0xb8,0x9f,0xf0,0xd8,0xf3,0x1,0xcf,0xff,0xa0,0xa,0x5,0x96,0xe,0x79,0x44, + 0x8b,0x32,0xad,0xb5,0x20,0x95,0xb7,0x65,0x5c,0xc9,0xca,0xd1,0xaa,0xd,0x83,0x84, + 0x30,0xda,0xb7,0x4c,0xe6,0xc8,0x91,0xde,0xff,0xa4,0x6d,0x7b,0xc7,0xb8,0x95,0xb1, + 0x86,0xa,0x23,0x6a,0xaf,0x8e,0xda,0xec,0x69,0x5a,0xc9,0xd0,0x22,0x9f,0x39,0x7, + 0xb6,0x10,0xde,0x92,0x29,0x78,0xa4,0x4c,0x30,0x18,0x59,0x8f,0x3,0x1c,0x68,0x95, + 0xa8,0x56,0xe,0x63,0xa0,0x85,0xd9,0xc2,0xb5,0xab,0x9,0xa6,0x4c,0xb5,0x4d,0xf8, + 0x13,0x94,0x74,0xb1,0x94,0xfc,0x3d,0x6b,0x40,0x88,0xc0,0x2e,0x18,0x77,0xd2,0x22, + 0x90,0xd6,0x87,0xe5,0xa6,0x67,0x2f,0x2,0x61,0x72,0xca,0x92,0xf,0xf4,0x55,0x54, + 0x81,0xb4,0x3e,0x2c,0x39,0xfd,0x26,0xab,0x40,0x5a,0x7d,0x29,0x55,0x20,0x89,0xc8, + 0x2f,0x30,0x63,0xf3,0x35,0x94,0x81,0xb4,0x3a,0xac,0x72,0x78,0x81,0x32,0x50,0x20, + 0x12,0xc1,0xdb,0xaf,0xa2,0xe,0xa4,0xd5,0x61,0xe8,0x7e,0xa6,0x3a,0x90,0xa6,0xad, + 0x8f,0x71,0x57,0xd9,0xb4,0x4e,0x66,0xd3,0xe7,0xaa,0x3,0x69,0x95,0x7a,0xc2,0xf7, + 0xbe,0x75,0x20,0x4d,0x97,0xab,0x3,0xe9,0x4a,0x65,0xe6,0xfc,0x75,0x20,0x40,0xf8, + 0xe9,0xb4,0x24,0xf7,0xd7,0x81,0x74,0xb2,0xca,0x77,0xae,0x3a,0x10,0x8,0xd7,0xb7, + 0x5b,0x7,0xd2,0x95,0xd3,0x7f,0xb9,0x3a,0x90,0xf6,0x27,0x7d,0x59,0xeb,0x84,0x75, + 0x20,0xa6,0x77,0x8e,0xac,0xb6,0x75,0xa5,0x51,0x16,0x74,0x30,0xf2,0x5d,0x5f,0x58, + 0xd2,0xfe,0x35,0x23,0xff,0xff,0x2a,0xd0,0xbe,0x7a,0x86,0xf6,0x27,0x7d,0x1,0x77, + 0x5f,0x15,0x8,0xea,0xd1,0xc2,0x2b,0xbf,0xc1,0x30,0x2c,0x6c,0x4d,0x18,0x5f,0x2f, + 0x65,0xb8,0x8c,0x82,0xf2,0xc2,0x6d,0x9a,0x9a,0x94,0xca,0x99,0x77,0x2d,0x2,0xe9, + 0x70,0xe8,0x9b,0xa4,0xc7,0xa4,0x88,0x5f,0x4c,0x11,0xe8,0x80,0x5a,0x47,0xf1,0x36, + 0xc6,0xf6,0xa2,0x46,0x79,0xab,0xc3,0x8a,0x2a,0xbb,0x75,0x97,0xac,0xe9,0xa4,0xcb, + 0x3f,0xe9,0x52,0x51,0xba,0xac,0x94,0x2e,0x41,0xbd,0xae,0x5b,0x69,0x61,0xe4,0x41, + 0x46,0x53,0x2b,0x7f,0x7d,0x85,0x25,0x8a,0xd3,0xbf,0xa6,0x22,0xb5,0xbc,0x70,0x75, + 0xe7,0xd5,0xbb,0xce,0x5b,0xca,0xc9,0xe9,0xd2,0x73,0xb2,0x4c,0xfd,0x66,0xbc,0xfb, + 0xc,0xad,0x5d,0xae,0xae,0x93,0xfc,0xa8,0x60,0x4b,0xc8,0x4a,0x87,0xb7,0x64,0x28, + 0x3c,0xf7,0xb,0x20,0x49,0xad,0x5d,0xee,0x9d,0x83,0xf4,0x7,0x2c,0x5b,0x1f,0x94, + 0xa5,0xe9,0x54,0x8a,0x79,0x9d,0xf9,0x15,0x90,0x94,0xda,0x2e,0xf8,0x5a,0xd0,0xb9, + 0xea,0x5c,0x9f,0x31,0xf9,0xcb,0x95,0x75,0x12,0xdd,0x2b,0x7b,0xb1,0xcc,0x1b,0x7d, + 0x1d,0x97,0x79,0x6f,0x49,0x14,0x77,0x27,0x9c,0x95,0xde,0x4e,0x96,0x79,0xe3,0x5e, + 0x7b,0xab,0x38,0x60,0x84,0x6f,0xa8,0xe2,0xbc,0x35,0xf3,0x96,0xfc,0xe6,0xcc,0x6e, + 0x45,0x1c,0x5e,0xca,0x38,0x99,0x96,0xdc,0x31,0x6f,0xe1,0x7f,0xd6,0x9b,0xd3,0x92, + 0xdf,0xaf,0xba,0xd8,0x9b,0xd3,0xe8,0xed,0xad,0x6f,0xe1,0x9f,0x2f,0xdb,0x94,0xb5, + 0x37,0xdc,0x92,0xe5,0xd0,0x2d,0xa5,0xd3,0x74,0x99,0x35,0x59,0x92,0x3d,0x53,0xea, + 0xff,0x7e,0x39,0xba,0xac,0xbd,0x4d,0x99,0xac,0xbd,0x6f,0xa9,0xd3,0x27,0x4b,0xfa, + 0xc9,0xea,0xff,0xb9,0x52,0xff,0x77,0xd5,0xda,0xc6,0xa7,0x58,0x7f,0xa1,0xf,0x22, + 0x65,0xed,0x4d,0xf7,0x13,0xe7,0xc1,0x27,0xb4,0x99,0x2f,0xeb,0x83,0x48,0x59,0x4d, + 0x6b,0xbe,0xea,0xa,0xc5,0xc5,0x55,0xa7,0xc9,0x99,0x57,0xde,0x76,0xd0,0x2b,0xf, + 0xc5,0xeb,0x11,0x5e,0xd8,0xcd,0x97,0xe4,0x6c,0x66,0x9d,0x13,0xc1,0x9d,0x6e,0x49, + 0x90,0x6f,0x51,0x90,0xaa,0x7c,0xf3,0xa3,0x38,0x68,0xc3,0xab,0x85,0xb5,0xc2,0xb7, + 0x54,0xc8,0x1c,0x40,0x6b,0xff,0x57,0x31,0xbb,0x2a,0x3d,0x7,0x7e,0x77,0x73,0xdc, + 0x94,0xd2,0x1f,0x9,0x25,0x3f,0x27,0x4a,0x7f,0x78,0x94,0xfc,0x48,0x29,0xf9,0xda, + 0xee,0x85,0xb3,0xc1,0x6f,0xa6,0x68,0x53,0x7b,0x57,0xfd,0x5b,0xf8,0xb6,0xe8,0xc, + 0x35,0xa1,0xa4,0xd6,0xfe,0xca,0xdf,0x16,0x1d,0x58,0xe7,0xfb,0x6a,0xbe,0x2d,0x3a, + 0x7d,0x45,0x2c,0xa9,0xb5,0x6f,0xed,0xdb,0xa2,0xd3,0x17,0xc4,0x92,0x6a,0x7b,0xdf, + 0x8f,0x8b,0xc4,0xd6,0x44,0x7b,0xfd,0x89,0x86,0xb8,0xe8,0xc7,0x45,0xe2,0xcb,0xfb, + 0xb8,0x88,0x3f,0xae,0xbe,0xd4,0xa6,0x0,0x4a,0x1c,0xb7,0x85,0xc2,0x96,0x6f,0xd8, + 0x77,0xab,0xb0,0xd2,0xdb,0x9,0xb7,0x4e,0x8,0x5b,0xb,0x80,0x95,0xcf,0xd4,0xf5, + 0xf1,0xb6,0xf4,0xe6,0x4d,0x1,0x28,0xa4,0x2c,0x77,0x5f,0x69,0x2b,0xbd,0xcb,0xc2, + 0xa9,0x36,0xfb,0xe2,0x7,0x6b,0xfb,0x36,0x29,0x13,0x3a,0xb5,0x49,0xd9,0x1e,0x2d, + 0xa5,0x37,0xee,0xd8,0xbf,0x23,0x9a,0xd0,0xe1,0x78,0x25,0xd,0x7a,0x83,0xdb,0xde, + 0xed,0xc6,0x92,0xec,0xd4,0xd1,0x75,0x87,0x37,0xda,0x8b,0xbf,0x56,0x9b,0xf3,0xf1, + 0xc6,0x7f,0xfd,0x3f,0x86,0xf9,0xd3,0x77,0xab,0x21,0xf1,0xce,0x82,0xcb,0xae,0xa7, + 0xdd,0xbb,0x3c,0x76,0x7,0x34,0x2c,0x26,0xb7,0x3c,0x71,0x3b,0x99,0xf5,0xf3,0x59, + 0x79,0xca,0xc6,0x3f,0xb5,0x53,0xcb,0x11,0xdd,0xac,0xf6,0x2e,0xac,0x60,0x26,0xdf, + 0x75,0x75,0x5e,0xa4,0xcf,0xcf,0xef,0xbb,0xfd,0xc9,0x13,0x82,0xe4,0xe6,0xc9,0x3f, + 0x27,0x93,0x7,0xe6,0x16,0x9e,0x7c,0xdc,0x95,0x6f,0xe3,0x34,0x3f,0x85,0x6d,0x5b, + 0xd0,0x2e,0x15,0x94,0x7b,0x75,0x12,0xfd,0x21,0x24,0x81,0x95,0x38,0x50,0xdb,0xcd, + 0xb3,0xfd,0x49,0xef,0x91,0xf7,0xd2,0x6c,0x3f,0x16,0xa1,0x69,0xfa,0xfc,0xea,0xfa, + 0xc7,0xd9,0x8c,0x1b,0x8c,0xba,0x2f,0x39,0xe6,0x1d,0xff,0x2a,0x47,0xb0,0xdc,0xc, + 0x52,0xd1,0xea,0xb2,0x72,0x43,0xc8,0x8a,0x68,0x7e,0x3f,0x79,0xba,0x7b,0x1c,0xf6, + 0xf3,0xf9,0x72,0x33,0xc4,0x8d,0xe,0xe2,0xb9,0xf6,0xed,0xed,0xe4,0x39,0x7d,0xfe, + 0x69,0x38,0x86,0x56,0xda,0xcb,0xbe,0xa4,0x58,0xd1,0xa4,0xcd,0x16,0x65,0xdf,0x36, + 0xbc,0xd2,0xd0,0xb2,0x5,0x7a,0x30,0x5b,0x4e,0x41,0x4b,0xba,0xdc,0x5a,0x71,0x6d, + 0x29,0x71,0x6c,0xa5,0x45,0x4e,0x66,0x6c,0x54,0xdd,0x45,0xdc,0xe,0xf2,0x1e,0x47, + 0x7f,0x4e,0x70,0x38,0x5a,0x59,0xec,0x74,0x32,0x1f,0x16,0x27,0x7d,0x26,0xb8,0xa0, + 0xa6,0xeb,0x21,0x38,0xde,0xc,0x2c,0xaf,0xf2,0x5d,0xe5,0x1,0x1d,0xfd,0x91,0xcf, + 0x16,0xc3,0x5e,0xb2,0x1b,0x66,0xda,0x9e,0xb6,0x75,0x53,0x96,0x97,0xaf,0x3b,0xaf, + 0xd,0x3f,0xca,0x1f,0xf2,0x45,0xb7,0xdf,0x5d,0x74,0xd7,0x5e,0x50,0x4a,0xca,0x7d, + 0x1,0xaf,0x67,0xfd,0xc1,0xd5,0x7f,0xfe,0xf4,0xf3,0xca,0x97,0x7b,0xbd,0xab,0xff, + 0x9a,0xcc,0x7e,0x5f,0xfb,0x28,0x37,0xe8,0xde,0x4e,0x1e,0xa1,0xf6,0x15,0xbc,0xa0, + 0x5d,0xbf,0x77,0xc5,0xfc,0xa8,0xbb,0xf8,0x38,0x7c,0x80,0x61,0xf3,0x96,0xa7,0xff, + 0xfa,0xfc,0x30,0x82,0x33,0xae,0x4e,0xd4,0x1a,0x2f,0x5e,0xa6,0xf9,0xfa,0xa6,0xc5, + 0x6d,0xcb,0xed,0x5b,0x93,0x5b,0xc0,0xf6,0x7b,0xf,0x43,0xbe,0xa8,0xf3,0xcb,0x62, + 0x38,0x1a,0xfd,0x9d,0x3b,0xa9,0x62,0x4e,0x67,0x39,0xd0,0x12,0x17,0x2a,0xf3,0xb8, + 0xee,0x94,0xb3,0x8c,0x47,0x77,0x1b,0xe6,0x30,0xea,0xde,0xe6,0xa3,0x9b,0xe6,0xa7, + 0xee,0xe8,0x7f,0x1f,0xf3,0xc6,0x2b,0x43,0xba,0x9b,0x4d,0x1e,0xa7,0xf,0x93,0x7e, + 0xbe,0xf4,0x84,0xe6,0x5a,0x79,0x4b,0xcf,0x58,0x76,0x39,0xed,0x2e,0xee,0xcb,0x19, + 0x2d,0x81,0x6c,0xbd,0xd3,0x10,0xb2,0x6,0x8b,0xb0,0xe5,0x7e,0x1c,0x60,0xf0,0xbc, + 0xcf,0x23,0xff,0x89,0x7,0x95,0x40,0x33,0x5f,0xcc,0x26,0xbf,0xe7,0xab,0xb3,0xc5, + 0x61,0xe1,0x6,0x57,0xbc,0x5d,0xaa,0x4,0x39,0x26,0x5f,0xca,0xa1,0x8e,0x7c,0x36, + 0x1a,0xe2,0xaf,0x2b,0x5d,0xca,0xfa,0x5d,0x20,0xca,0x6c,0xd6,0x7d,0xb9,0x1a,0x4f, + 0xc6,0x79,0x29,0x5d,0xe3,0x66,0x39,0x3e,0xc,0xfe,0x9f,0xd,0x2,0x46,0x28,0xaf, + 0x8,0xf9,0x70,0xa6,0x85,0xd2,0xc2,0xeb,0xc6,0x3f,0x1a,0x30,0x31,0x29,0x82,0xd, + 0x2d,0xd,0x53,0xd3,0xca,0x59,0x5b,0x15,0x4a,0xbe,0x46,0x1a,0x17,0x1a,0x9f,0x1a, + 0xc8,0x87,0xac,0xd,0x4e,0xb8,0x16,0xf8,0x67,0x7c,0xe7,0xc8,0xb1,0xc,0x9,0xa2, + 0xf3,0x2e,0xb6,0xd4,0xc8,0x96,0x20,0x53,0x99,0xf1,0xa0,0x69,0xf1,0x6a,0xa5,0x9d, + 0x73,0x8a,0xaf,0x46,0xe2,0x4,0xd6,0xac,0x35,0x4b,0xbd,0xd1,0xd6,0x3a,0x96,0x91, + 0x35,0x4a,0xc8,0x16,0x9f,0xd5,0x5a,0x2b,0xc3,0x32,0x13,0x42,0x10,0x68,0x87,0xf4, + 0x82,0x54,0xf0,0xcb,0xab,0x83,0xd2,0x46,0x58,0x96,0x6,0xf8,0x9e,0x22,0xee,0x27, + 0x80,0x1b,0x2b,0x19,0x65,0x3a,0x40,0x61,0x3c,0x1e,0x87,0x86,0x21,0xb6,0xd3,0x9a, + 0x8c,0xb1,0x7c,0xb5,0xc9,0xc,0x9,0x63,0x63,0x4b,0xc1,0xfb,0x56,0x69,0x96,0xe1, + 0xa,0x21,0x88,0xfb,0x56,0xc8,0x5c,0x45,0x94,0x61,0xe0,0x5a,0x52,0x1c,0xa3,0x0, + 0x89,0x91,0x85,0x32,0x2,0x58,0xa0,0xd3,0x5b,0xa4,0x16,0x69,0x22,0x9,0x61,0x9, + 0x52,0x12,0x19,0xef,0x55,0x5,0xa9,0xce,0xbc,0xb6,0xb8,0x57,0xa8,0x49,0x43,0x66, + 0x30,0x50,0x22,0xe2,0x51,0x5,0x8c,0x55,0x80,0xde,0x43,0x8a,0xa6,0x1e,0x8b,0xcd, + 0x32,0xc,0xf,0xa9,0x0,0xb7,0xb4,0xfc,0xa8,0x4,0x32,0x8f,0x94,0xd3,0xaa,0x40, + 0x90,0x21,0xaf,0xb2,0xd2,0xc6,0xab,0x5d,0x11,0x2c,0x3c,0xaf,0x86,0x72,0x64,0x44, + 0x60,0x19,0x16,0xd8,0xfa,0x38,0x52,0x24,0x2b,0xc4,0x2b,0xe4,0xa0,0x77,0xb4,0xf4, + 0x71,0xf4,0xa0,0xfb,0x14,0x35,0x2,0x0,0x33,0xe4,0x3,0x4f,0x1e,0x69,0x99,0x72, + 0x9a,0xbb,0x16,0x4a,0x41,0xa3,0x51,0x86,0x6c,0x38,0x48,0x96,0x5,0x29,0xbd,0x97, + 0x7c,0x71,0xb0,0x2,0xab,0x81,0x8b,0x29,0xda,0x77,0xd0,0x96,0xa5,0x46,0x63,0xe6, + 0x36,0x1a,0x97,0x7,0x26,0x5,0x1e,0x8e,0xb7,0xc1,0x68,0x17,0x65,0xd2,0x23,0x79, + 0x89,0x43,0x24,0xe0,0x3a,0x1b,0xdc,0xda,0xc,0xd3,0x52,0x58,0x19,0x61,0x9a,0xde, + 0xd7,0xa4,0x6b,0x93,0xfd,0xb3,0x51,0x3,0x43,0x76,0x43,0xc5,0xb5,0xff,0x15,0xe4, + 0x26,0x1c,0x33,0x7a,0x21,0xc0,0xe5,0x87,0xef,0x37,0xa9,0x25,0xe9,0xf,0xdb,0xdc, + 0x52,0xf6,0x6d,0xd7,0xe,0xce,0xef,0x96,0xb8,0x67,0x10,0x58,0xeb,0x16,0x6c,0xdc, + 0x7,0x87,0x24,0x90,0xcd,0x4b,0x73,0xa1,0x4f,0x60,0x35,0xf0,0x3,0x3e,0xa7,0x49, + 0xd7,0xa4,0xd0,0x9d,0x95,0xe,0x16,0x5c,0x38,0xa6,0x24,0x12,0x8a,0x58,0x6a,0xf8, + 0x63,0x31,0x15,0x9d,0xd0,0x3a,0x29,0xa3,0xcc,0x82,0xfb,0x8b,0x28,0x13,0xd0,0xa2, + 0xd2,0x85,0x3,0x6b,0xa9,0x42,0xe1,0x5a,0xb0,0x28,0x55,0x38,0xbb,0xd6,0x12,0xd, + 0x1a,0xf8,0xe5,0xa4,0xc3,0xba,0x46,0xe7,0x40,0xe6,0x4,0x93,0xc7,0x2f,0x98,0xc, + 0xa8,0x2f,0xcb,0x2,0x9a,0xe9,0xe5,0xd5,0x80,0x3a,0x5f,0x38,0xa1,0xf6,0x98,0x80, + 0xe7,0x7e,0x94,0x75,0xde,0x44,0x27,0x34,0xca,0x78,0x19,0x81,0x82,0xb4,0xf1,0xb4, + 0x74,0xc1,0x68,0xec,0x71,0xe4,0x81,0x8b,0x97,0xb1,0x1f,0x2b,0x60,0x7c,0xec,0x57, + 0x8a,0xb,0x51,0x11,0x51,0x22,0xca,0x44,0x11,0x4,0x2a,0x8a,0x14,0xd7,0x5e,0x5c, + 0xe1,0x80,0xa,0x93,0xd,0x61,0x8b,0x14,0x3e,0xf,0xec,0x80,0xed,0xb3,0x34,0x20, + 0xbd,0x86,0xf5,0x32,0xca,0x69,0x45,0x9a,0xa1,0xab,0x2a,0xd,0x99,0x44,0x38,0xf7, + 0xce,0x14,0x6e,0xc9,0x2f,0xe0,0xb3,0xaf,0x82,0x2e,0x93,0xf1,0xec,0x2c,0x68,0x7, + 0x94,0x42,0x33,0x3,0x7a,0x42,0x51,0x24,0x8d,0x87,0x8e,0xd8,0x77,0xb9,0x7e,0x22, + 0x4d,0xe1,0x93,0xec,0xe6,0x46,0x41,0x1a,0x60,0xc1,0xc8,0xd1,0x1b,0x5c,0x87,0x55, + 0x36,0xa2,0x21,0x1c,0x43,0x7b,0xcb,0x8b,0xe3,0x32,0xe0,0x8d,0x95,0x2a,0xaa,0x9c, + 0xbc,0xc,0x4b,0x8f,0x36,0xd0,0x70,0xe1,0x80,0x2,0x43,0xd4,0xdc,0xd,0xae,0x20, + 0x1d,0x25,0x46,0x59,0xe3,0x78,0x78,0xca,0x6a,0x12,0x4b,0xe7,0xb3,0xce,0xea,0xc2, + 0x25,0xa1,0x3d,0x30,0x47,0x96,0x4a,0xb2,0x1,0x77,0x84,0xc,0xca,0xd7,0x2e,0x2e, + 0xb7,0x86,0x1b,0x4a,0x15,0x8d,0xcd,0x9,0xef,0x79,0x76,0x30,0x3a,0x80,0x86,0x2b, + 0xf0,0x69,0x69,0x82,0x69,0x29,0xd6,0x4e,0x1a,0x41,0xda,0xd6,0xa4,0x6b,0x73,0x4d, + 0xb8,0xa4,0xe4,0xdd,0x1e,0x56,0x2e,0x79,0x57,0xa3,0x2f,0xd0,0x7f,0xa2,0xe6,0x90, + 0x8e,0xcb,0x8d,0xc6,0x22,0x59,0xc1,0x52,0x1c,0x77,0x88,0xa4,0xe5,0x22,0x3b,0xb4, + 0x20,0xc9,0x7c,0x58,0xa7,0x3f,0x77,0x6b,0xaa,0x91,0xbc,0x9c,0xc3,0x4,0x60,0x5c, + 0xea,0x16,0x6e,0x84,0xa8,0x63,0x60,0xd8,0x1f,0x2a,0x89,0xc9,0xde,0x41,0x95,0x33, + 0xe1,0xf7,0x45,0x2a,0x44,0xe7,0xae,0x4a,0x71,0x96,0x73,0xd5,0xd5,0x54,0xf1,0xa0, + 0x5b,0x6f,0x19,0xb4,0xe3,0x80,0x65,0x9c,0x63,0x48,0x20,0x40,0x2,0x22,0xe7,0x87, + 0x4a,0xe7,0x9b,0xdd,0xd7,0xc1,0xaf,0x2,0x44,0x9b,0x84,0x63,0xcd,0x5a,0x34,0x2, + 0x27,0xf0,0xda,0x34,0xeb,0xf7,0x59,0xbc,0xae,0xac,0xa3,0x2d,0xa8,0x82,0xf3,0xc4, + 0x15,0x44,0x67,0xbc,0x40,0x88,0x88,0x3f,0xa4,0x33,0xb2,0x55,0x9c,0x86,0x13,0x5b, + 0xe0,0xb6,0x9,0x86,0x2c,0x3c,0x5c,0xc1,0xfc,0x9,0x39,0x61,0x4d,0xd1,0x6b,0x3d, + 0xf1,0xe6,0xc9,0x1f,0x6b,0x27,0x6a,0x40,0xbe,0x9a,0xd3,0x8a,0xe9,0x82,0xa2,0x31, + 0x3f,0x44,0xce,0xd1,0x9b,0xf7,0x7a,0xbd,0x3f,0x7b,0xf1,0xaf,0x5e,0xaf,0xb9,0x79, + 0x49,0x69,0x92,0x54,0x2d,0x75,0x95,0x7f,0x22,0x4,0x6b,0x59,0xd0,0x1d,0x1d,0x47, + 0x8e,0x91,0x38,0xc0,0x1c,0xbc,0x4a,0x8b,0xe8,0x91,0x81,0x3f,0x4d,0xc6,0xd0,0x8d, + 0xe6,0xe0,0xa9,0x18,0x17,0x84,0xb7,0x8e,0x27,0xec,0x2c,0xa8,0x8,0xfc,0x42,0xc1, + 0x77,0x1,0x69,0x2a,0x94,0x42,0x29,0x38,0xcc,0x2a,0x8b,0x1b,0x13,0x42,0x7b,0x55, + 0xac,0x22,0x67,0xc2,0xea,0xb1,0xe9,0x1a,0xeb,0x29,0x0,0x33,0x15,0x23,0x25,0xef, + 0x9f,0x1a,0x87,0x10,0x8,0xba,0x15,0xec,0x84,0x2c,0x87,0x37,0xf3,0x83,0x2b,0x6, + 0x5,0x85,0xa1,0xd9,0xba,0x58,0x71,0xe0,0x5,0x33,0x62,0x0,0x52,0x9c,0x6,0x3a, + 0x5d,0xd8,0x35,0x3,0x1a,0xd0,0xaa,0x1,0xc5,0x7,0xd0,0xb6,0x42,0x8,0x26,0x60, + 0x98,0xa4,0xf1,0x83,0x24,0x42,0x2c,0x51,0x2b,0xa1,0x66,0x9e,0x45,0x1a,0x38,0xa3, + 0x49,0x55,0xc4,0xa1,0xc1,0x25,0x5d,0x5,0x3c,0x72,0xc5,0x5d,0x4d,0x60,0x50,0x45, + 0x68,0x26,0xb0,0x97,0x28,0x13,0xda,0x12,0xa0,0xa6,0x8,0xd8,0x4b,0x29,0x62,0x3b, + 0xe8,0xa0,0x8d,0xc3,0xa2,0xa2,0xba,0xe9,0x78,0xc6,0x4,0xce,0x3,0xce,0xa0,0xb, + 0xaa,0x23,0xd1,0x28,0x3e,0x38,0x3,0xf8,0xfb,0x2,0x19,0x9d,0x3,0x8c,0xe9,0x52, + 0xe8,0x88,0xe1,0xd,0x20,0x4a,0x1e,0xc3,0xad,0x89,0x99,0x8f,0x92,0xa2,0xc0,0x42, + 0x8d,0x0,0x61,0x22,0x62,0x46,0x52,0x8,0x8d,0xd4,0x96,0x32,0x46,0x4e,0x7e,0x48, + 0xe,0x10,0x6f,0x9b,0xcc,0x31,0xb3,0x12,0xbe,0xe0,0x41,0x12,0x44,0xc7,0x11,0x7f, + 0x10,0xae,0xa4,0x77,0x5e,0xea,0x6,0x41,0xd3,0x8a,0x77,0x66,0x6f,0xb5,0x3d,0x7, + 0x23,0xfe,0xfe,0x92,0x15,0xa6,0xf9,0x29,0x15,0xb1,0xd0,0x18,0xdc,0xa,0x31,0x4, + 0x1a,0x8f,0xf1,0x8f,0x6f,0xb,0xa8,0xe6,0x7e,0x15,0x2f,0x3a,0x1,0x6c,0x61,0xfc, + 0xb8,0xa7,0xe3,0xaf,0xc3,0xad,0x64,0x53,0x42,0x88,0x92,0xac,0x43,0xc3,0x53,0x40, + 0xd4,0xe1,0x80,0x9e,0xb6,0xbc,0xa,0x9e,0x6e,0xf8,0xf2,0x9a,0xa5,0xac,0xbd,0xfa, + 0xa8,0xac,0xc2,0x2,0x41,0x54,0xb0,0x65,0xb3,0x36,0xf3,0xa1,0xff,0x99,0xc,0xc7, + 0x57,0x91,0xc7,0x1c,0x4f,0x6a,0x58,0x5a,0x94,0x76,0xae,0x76,0x1,0xca,0x3a,0x73, + 0x8b,0x9e,0xdd,0xb9,0xdb,0x85,0x5b,0x69,0xbc,0xd1,0xa2,0x58,0x12,0xc1,0x4f,0xb9, + 0xf8,0x4d,0xfa,0xd6,0xfa,0x57,0xf5,0x3c,0x73,0x1b,0xa8,0x11,0x51,0x1d,0x4b,0x6, + 0xbb,0x5,0x1d,0x4e,0x23,0xe,0xe2,0xf6,0x41,0x88,0x93,0xd4,0x7c,0x8a,0x4c,0x6a, + 0xaf,0xb6,0x92,0x49,0xc,0xe,0x1e,0xff,0x6a,0x35,0xc8,0x5c,0x62,0x21,0x64,0x1a, + 0xf6,0xf8,0x83,0x12,0x98,0x48,0x88,0x1c,0x33,0xa8,0x82,0xfd,0xf0,0xa3,0x21,0xfe, + 0x4a,0x1d,0x32,0x87,0xdc,0x4d,0xc0,0xf4,0xc1,0x6a,0xe0,0x7b,0x42,0x32,0xa7,0x72, + 0xc8,0xcd,0xac,0xd2,0xd,0x84,0xcd,0xf8,0x85,0xad,0x6a,0x31,0xe7,0x41,0xf4,0x65, + 0x50,0xca,0x8,0x39,0x1a,0xcb,0xa4,0x88,0x69,0x4c,0x4c,0x1b,0x55,0x86,0x74,0xcb, + 0x7a,0x19,0xa5,0x91,0xed,0xc9,0x86,0x89,0x4f,0xd6,0x8c,0x8a,0x4,0xc8,0x70,0xea, + 0x13,0x1a,0x76,0x75,0xc7,0xb5,0xec,0x13,0xfa,0x76,0x70,0xa5,0xba,0xd4,0xe3,0x36, + 0xc6,0x83,0x44,0xc4,0xa4,0x93,0x5f,0x28,0xf3,0xd,0x4e,0xac,0x9c,0x28,0xfb,0x66, + 0x8,0x62,0xaf,0x5f,0x4b,0x41,0xdd,0x96,0xf4,0x8e,0x13,0x19,0xcf,0xcf,0xff,0x99, + 0xd5,0x91,0x95,0xc4,0x1c,0x16,0x24,0xb,0x4c,0xf,0x22,0xcd,0x6a,0x60,0xc5,0x90, + 0x29,0x8f,0x22,0x25,0xd4,0xbc,0x2f,0x81,0x5b,0x8a,0xc0,0x5,0x19,0xd3,0x90,0x75, + 0x58,0x17,0x6f,0xc3,0x5b,0x6b,0x2b,0xc6,0xd,0x80,0x76,0xf0,0x14,0x89,0xa2,0x8d, + 0x3a,0x59,0xcb,0x30,0x2e,0x69,0x8d,0x8c,0x3a,0x1,0xa2,0x2a,0x17,0x28,0x32,0x33, + 0xef,0x2,0x4f,0x80,0x98,0xda,0x3,0x60,0x64,0x41,0x67,0x15,0x4f,0x94,0xb8,0xe2, + 0x47,0xf1,0xe2,0x95,0xec,0x13,0x23,0x11,0xb8,0xbb,0x26,0x57,0x6d,0xc9,0x1b,0x51, + 0x84,0x22,0x2f,0xf0,0xc8,0xc7,0xa1,0x63,0x42,0x9c,0x82,0xba,0x8a,0xac,0x0,0x51, + 0xc8,0x46,0x8d,0xa0,0x21,0x2b,0x7,0x52,0xb7,0x1c,0x63,0x4,0x7d,0x8d,0x6b,0x11, + 0xa3,0xd,0x30,0x88,0x3d,0x86,0x67,0xe7,0x91,0x15,0x58,0xe6,0x7e,0x36,0x70,0x1a, + 0x6a,0x12,0xe6,0x92,0xc0,0xa9,0x55,0xb0,0xd5,0xe6,0x75,0xb0,0x4d,0x6,0xef,0x18, + 0xb7,0x8b,0x7f,0x7b,0x1b,0x38,0x71,0x2,0x8f,0x34,0x47,0x7a,0xa4,0x71,0x8,0xf4, + 0xc8,0x10,0xde,0xd1,0x2d,0xe1,0x8,0xc8,0x21,0x38,0x88,0x73,0xaa,0x84,0xdc,0x20, + 0xa8,0xc2,0x11,0x7c,0x34,0xd7,0x8a,0x14,0x6b,0x89,0xe5,0x57,0x45,0xf6,0x24,0x5, + 0xd2,0x2f,0xb6,0x78,0xcb,0xb8,0xaf,0x62,0xca,0x80,0x54,0xd5,0x16,0x6e,0x50,0xa, + 0x39,0x54,0xc2,0x21,0xd8,0x8e,0x3c,0x2,0xbc,0x92,0x41,0xc6,0x4,0xa,0x51,0x8, + 0xd1,0x3e,0xf6,0x12,0x0,0xa9,0x31,0x31,0xe1,0x9a,0x8a,0xaf,0xe,0x67,0x25,0x3, + 0x35,0x42,0xd7,0x46,0xd7,0xa5,0x8,0xbd,0x30,0x3c,0xf8,0x7d,0xbc,0x21,0xf8,0x75, + 0x60,0x48,0x60,0x81,0x8b,0x86,0xa9,0x11,0xde,0x74,0x81,0x13,0xa5,0x90,0x9d,0x11, + 0x9,0xad,0x2f,0x70,0xc2,0x2,0x71,0x8a,0x5c,0xd0,0x78,0x90,0xc6,0x10,0x7b,0x41, + 0xa8,0xb7,0xa6,0x32,0xe9,0x94,0x7a,0x76,0x1b,0xe2,0x26,0x9f,0xdd,0x65,0x88,0x67, + 0x30,0x41,0xf7,0xf5,0x99,0x20,0x3,0xf,0xd6,0x47,0xc5,0xe2,0x58,0x40,0xa,0x63, + 0x57,0xc0,0x3,0x1a,0x56,0x95,0x32,0xf0,0x68,0x40,0x90,0x6b,0x15,0x2f,0x99,0x7a, + 0x10,0x3e,0x20,0x8f,0xe4,0xff,0xb6,0x55,0x51,0x35,0x62,0x36,0x19,0x13,0xc7,0xb5, + 0x14,0xd0,0x9,0xac,0x2b,0xa8,0xa1,0x67,0x8,0x93,0x5,0xbe,0xb,0x50,0x69,0x70, + 0xa5,0xd8,0xf,0xec,0xd2,0x16,0xe9,0xb1,0x80,0x2e,0xaa,0x23,0x5a,0xc9,0x22,0x72, + 0x19,0xd0,0xf2,0x9a,0x14,0xd8,0xa,0xa2,0x2e,0x65,0x2c,0x78,0x9,0x90,0xf,0x6b, + 0x19,0x85,0x99,0x56,0x9a,0x58,0x2c,0x83,0xf9,0x48,0x69,0xb,0x6c,0x2e,0xa5,0x32, + 0xf3,0x8c,0x80,0x7a,0x89,0xcd,0xe0,0xd0,0x36,0xd6,0x39,0x98,0xb0,0x6b,0x53,0xf4, + 0xe3,0x48,0xb9,0xea,0xcc,0x13,0x3a,0xda,0x6d,0x87,0xee,0x7d,0xed,0x30,0x6c,0xb3, + 0xc3,0xaa,0xb1,0x7c,0x41,0x46,0x68,0x39,0x3e,0x13,0x22,0x4f,0x84,0x13,0x3,0x1e, + 0xe0,0x23,0x6a,0x9,0xb,0x72,0x47,0xaa,0x22,0xf5,0xc8,0x3c,0x95,0x9,0x22,0x2e, + 0xaf,0x53,0xf8,0x3,0xc8,0x43,0xe0,0x4,0xd9,0x8d,0xd6,0x26,0x55,0xf0,0xb1,0x68, + 0x8b,0x90,0x68,0xb5,0xc6,0xe2,0xb6,0x98,0xed,0x3,0x11,0xa3,0x15,0x79,0x5e,0x70, + 0xa4,0x2a,0x1c,0x13,0x81,0x60,0x8,0xb8,0xba,0xc1,0x79,0x1,0x88,0xbf,0xb0,0x2d, + 0x36,0x70,0xcd,0xd5,0xf,0xc,0xc8,0xc1,0xd8,0x84,0xab,0x88,0x3e,0x81,0xca,0x28, + 0xde,0x6b,0xb2,0x2a,0xe4,0x70,0xa,0x8a,0xd,0xcb,0xf0,0xbc,0x9f,0x11,0x17,0xb6, + 0x19,0xdd,0x48,0x13,0x17,0xab,0x91,0x78,0x29,0x30,0x1a,0x5d,0x20,0xa1,0xe6,0x22, + 0x11,0x63,0x1e,0xc7,0x68,0xcd,0xe9,0x3,0x63,0xab,0x88,0x54,0x28,0x16,0xda,0x61, + 0x75,0x1e,0xa9,0x82,0xc9,0x80,0xfd,0xc1,0x2d,0xb1,0xb5,0x98,0x76,0x4a,0x41,0xbb, + 0x2d,0x30,0xbc,0xab,0x5,0x6,0xf9,0x95,0x59,0x20,0xf1,0x4b,0xad,0x30,0xac,0xb0, + 0x84,0x92,0x15,0xe8,0x0,0x3,0x41,0xdb,0x2a,0x52,0x6,0x1d,0x50,0x48,0xbf,0xac, + 0xb6,0x3a,0x15,0x31,0x7,0xb,0xcb,0x15,0x2a,0x7e,0xe3,0x54,0x61,0x36,0xae,0xc0, + 0x1c,0xa4,0x79,0x0,0x7e,0xb6,0x40,0xe7,0x10,0x38,0x5d,0x81,0x39,0x92,0x41,0x4b, + 0xb7,0xb8,0x2e,0x6f,0x19,0x2b,0xb8,0x1b,0xe9,0x3d,0xec,0x96,0x49,0xa7,0x96,0xb0, + 0x6e,0xc7,0x3,0x32,0x8e,0x9,0x6f,0x45,0x86,0xab,0x2d,0x12,0xfc,0x98,0x1d,0x57, + 0x5a,0xba,0x48,0xe0,0x22,0xa7,0x45,0xa6,0x8a,0x94,0xd8,0x45,0xac,0xe,0x48,0x46, + 0x3d,0xfa,0xd6,0x98,0x80,0x28,0x46,0xc4,0x3c,0xc0,0x2b,0x17,0xc9,0x1,0x3c,0x82, + 0x62,0x55,0x18,0x52,0xc2,0x2c,0x6c,0x51,0x3f,0x26,0x2e,0x1d,0x3a,0x2e,0x41,0xc2, + 0x16,0xab,0xd3,0x4e,0x28,0x68,0xa7,0x5,0xda,0xd7,0x9a,0x3e,0xdc,0x2,0x6b,0x69, + 0x63,0xe5,0x60,0xf5,0x73,0xf9,0x23,0xfe,0x75,0xcd,0x8f,0x24,0x3f,0x7e,0xf7,0x7f, + 0xef,0xf0,0xeb,0x1e, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/sflphone_notif.svg + 0x0,0x0,0x52,0xb8, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x35,0x38,0x37,0x35,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73, + 0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x34,0x36,0x22,0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e, + 0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x73,0x66,0x6c,0x70, + 0x68,0x6f,0x6e,0x65,0x5f,0x74,0x72,0x61,0x79,0x34,0x2e,0x73,0x76,0x67,0x22,0xa, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f,0x75,0x74,0x70, + 0x75,0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x6f,0x72, + 0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75,0x74,0x70,0x75, + 0x74,0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22,0x3e, + 0xa,0x20,0x20,0x3c,0x64,0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x64,0x65,0x66,0x73,0x35,0x38,0x37,0x37,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x30,0x33,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x30,0x35,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x30,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a, + 0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36, + 0x38,0x36,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74, + 0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66, + 0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x38,0x38, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63, + 0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x34,0x36,0x37,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61, + 0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x33,0x38,0x35,0x39,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74, + 0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66, + 0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x36,0x31, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66, + 0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x36,0x33,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c, + 0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x35,0x38,0x35,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c, + 0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x35,0x38,0x35,0x34,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e, + 0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x36,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x34,0x37,0x36,0x2e,0x33,0x31,0x32,0x35,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x34,0x33,0x39,0x2e, + 0x30,0x32,0x39,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d, + 0x22,0x34,0x37,0x37,0x2e,0x33,0x31,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x79,0x32,0x3d,0x22,0x35,0x31,0x34,0x2e,0x34,0x32,0x31,0x38,0x38,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65, + 0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f, + 0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d, + 0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74, + 0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22, + 0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x35,0x30,0x30,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f, + 0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x35,0x30,0x30,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c, + 0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69, + 0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x36,0x32,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74, + 0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73, + 0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x36,0x39, + 0x38,0x2e,0x33,0x38,0x35,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x79,0x31,0x3d,0x22,0x32,0x34,0x35,0x2e,0x35,0x34,0x37,0x32,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x37,0x30,0x32,0x2e,0x38,0x31,0x39, + 0x36,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39, + 0x37,0x37,0x2e,0x37,0x38,0x33,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x39,0x39,0x33,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x34,0x39,0x39,0x35,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69, + 0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x37,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x36,0x34,0x30, + 0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66, + 0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d,0x22,0x39,0x31,0x2e,0x39,0x36,0x34, + 0x32,0x30,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d, + 0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x38,0x30, + 0x39,0x37,0x30,0x38,0x36,0x2c,0x30,0x2c,0x39,0x39,0x2e,0x31,0x34,0x31,0x38,0x34, + 0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61, + 0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65, + 0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64, + 0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70, + 0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30, + 0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a, + 0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d, + 0x22,0x37,0x34,0x34,0x2e,0x30,0x39,0x34,0x34,0x38,0x20,0x3a,0x20,0x35,0x32,0x36, + 0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73, + 0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x33,0x37,0x32,0x2e, + 0x30,0x34,0x37,0x32,0x34,0x20,0x3a,0x20,0x33,0x35,0x30,0x2e,0x37,0x38,0x37,0x33, + 0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x35,0x38,0x38, + 0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x35, + 0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x37,0x33, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x33,0x35,0x32, + 0x2e,0x31,0x39,0x34,0x39,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x31,0x3d,0x22,0x34,0x35,0x31,0x2e,0x35,0x35,0x32,0x38,0x39,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x30,0x36,0x2e,0x33,0x34,0x30, + 0x33,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x36, + 0x35,0x38,0x2e,0x33,0x39,0x35,0x39,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22, + 0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54, + 0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x6c, + 0x61,0x74,0x65,0x28,0x2d,0x33,0x2e,0x38,0x32,0x36,0x38,0x31,0x39,0x36,0x2c,0x2d, + 0x31,0x2e,0x37,0x33,0x39,0x34,0x36,0x33,0x34,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72, + 0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x32, + 0x34,0x32,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69, + 0x67,0x69,0x6e,0x3d,0x22,0x33,0x37,0x32,0x2e,0x30,0x34,0x37,0x32,0x34,0x20,0x3a, + 0x20,0x33,0x35,0x30,0x2e,0x37,0x38,0x37,0x33,0x39,0x20,0x3a,0x20,0x31,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x76,0x70,0x5f,0x7a,0x3d,0x22,0x37,0x34,0x34,0x2e,0x30,0x39,0x34,0x34,0x38,0x20, + 0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20, + 0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x35, + 0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79, + 0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72, + 0x73,0x70,0x33,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69, + 0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65, + 0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x32,0x34,0x33,0x37,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70, + 0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x31, + 0x36,0x38,0x2e,0x35,0x20,0x3a,0x20,0x31,0x30,0x39,0x2e,0x33,0x33,0x33,0x33,0x33, + 0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x33,0x33,0x37,0x20, + 0x3a,0x20,0x31,0x36,0x34,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d, + 0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76, + 0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x36,0x34,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64, + 0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68, + 0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x34,0x36,0x37,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x31,0x3d,0x22,0x2d,0x32,0x30,0x2e,0x36,0x35,0x37,0x39,0x32,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x32,0x34,0x34,0x2e, + 0x34,0x31,0x33,0x35,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32, + 0x3d,0x22,0x31,0x38,0x34,0x2e,0x35,0x37,0x39,0x31,0x33,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x37,0x38,0x39,0x2e,0x36,0x31,0x34,0x36, + 0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61, + 0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x70,0x72,0x65,0x61,0x64,0x4d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61, + 0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38, + 0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x39,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32,0x2e, + 0x39,0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x31,0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30,0x32, + 0x38,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22, + 0x39,0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x31,0x34,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55, + 0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f, + 0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x70,0x72, + 0x65,0x61,0x64,0x4d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x2d,0x32,0x30,0x2e,0x36, + 0x35,0x37,0x39,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31, + 0x3d,0x22,0x2d,0x32,0x34,0x34,0x2e,0x34,0x31,0x33,0x35,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x38,0x34,0x2e,0x35,0x37,0x39, + 0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x37, + 0x38,0x39,0x2e,0x36,0x31,0x34,0x36,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68, + 0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x35,0x32,0x39,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75, + 0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72, + 0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28, + 0x31,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x38,0x30,0x39,0x37,0x30,0x38,0x36,0x2c, + 0x30,0x2c,0x39,0x39,0x2e,0x31,0x34,0x31,0x38,0x34,0x29,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33, + 0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x78,0x3d,0x22, + 0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x79, + 0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x72,0x3d,0x22,0x39,0x31,0x2e,0x39,0x36,0x34,0x32,0x30,0x33, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74, + 0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65, + 0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31, + 0x3d,0x22,0x36,0x39,0x38,0x2e,0x33,0x38,0x35,0x32,0x35,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x32,0x34,0x35,0x2e,0x35,0x34,0x37,0x32, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x37,0x30,0x32, + 0x2e,0x38,0x31,0x39,0x36,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x32,0x3d,0x22,0x39,0x37,0x37,0x2e,0x37,0x38,0x33,0x30,0x32,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c, + 0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69, + 0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74, + 0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73, + 0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32, + 0x2e,0x39,0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x79,0x31,0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30, + 0x32,0x38,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x39,0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32,0x2e,0x39, + 0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31, + 0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30,0x32,0x38, + 0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39, + 0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f, + 0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x36,0x34,0x35, + 0x33,0x39,0x30,0x37,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x36,0x34,0x35,0x33,0x39, + 0x30,0x37,0x2c,0x30,0x2e,0x38,0x36,0x35,0x31,0x33,0x33,0x37,0x2c,0x30,0x2e,0x34, + 0x33,0x35,0x32,0x38,0x32,0x38,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72, + 0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x33,0x38,0x30,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x33,0x38,0x30,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78, + 0x31,0x3d,0x22,0x31,0x32,0x2e,0x36,0x36,0x33,0x34,0x34,0x33,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x38,0x2e,0x35,0x33,0x30,0x31,0x38, + 0x32,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x34, + 0x31,0x2e,0x38,0x35,0x38,0x36,0x35,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x79,0x32,0x3d,0x22,0x35,0x37,0x2e,0x35,0x33,0x33,0x32,0x37,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55, + 0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f, + 0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22, + 0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2e,0x30,0x30,0x35,0x34,0x35,0x31,0x38, + 0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x30,0x30,0x35,0x34,0x35,0x31,0x38,0x2c,0x2d, + 0x34,0x2e,0x37,0x31,0x36,0x35,0x31,0x30,0x36,0x65,0x2d,0x33,0x2c,0x2d,0x30,0x2e, + 0x34,0x33,0x34,0x35,0x36,0x38,0x32,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c, + 0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x70,0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66, + 0x66,0x66,0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72, + 0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x67,0x72, + 0x69,0x64,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30,0x30, + 0x30,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x67,0x75,0x69,0x64,0x65,0x74,0x6f, + 0x6c,0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x63, + 0x65,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f,0x77,0x3d, + 0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x34,0x2e,0x36,0x35,0x32,0x37,0x36,0x37, + 0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x78,0x3d,0x22,0x33,0x32,0x2e,0x38,0x36,0x39,0x31,0x30,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x79, + 0x3d,0x22,0x35,0x39,0x2e,0x36,0x34,0x31,0x33,0x31,0x36,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d, + 0x65,0x6e,0x74,0x2d,0x75,0x6e,0x69,0x74,0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72, + 0x72,0x65,0x6e,0x74,0x2d,0x6c,0x61,0x79,0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65, + 0x72,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69, + 0x64,0x3d,0x22,0x66,0x61,0x6c,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77, + 0x69,0x64,0x74,0x68,0x3d,0x22,0x31,0x39,0x31,0x38,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77, + 0x2d,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x31,0x30,0x36,0x38,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e, + 0x64,0x6f,0x77,0x2d,0x78,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79, + 0x3d,0x22,0x37,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67, + 0x75,0x69,0x64,0x65,0x73,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65, + 0x2d,0x62,0x62,0x6f,0x78,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x3c,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x35,0x38,0x38, + 0x30,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x61,0x62, + 0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61,0x67,0x65, + 0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d,0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72, + 0x6d,0x61,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63, + 0x3a,0x74,0x79,0x70,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x72,0x64,0x66,0x3a,0x72,0x65,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64, + 0x63,0x2f,0x64,0x63,0x6d,0x69,0x74,0x79,0x70,0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c, + 0x49,0x6d,0x61,0x67,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x49,0x63,0xc3,0xb4, + 0x6e,0x65,0x20,0x53,0x46,0x4c,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x64,0x61, + 0x74,0x65,0x3e,0x32,0x30,0x30,0x39,0x2d,0x30,0x34,0x2d,0x32,0x39,0x3c,0x2f,0x64, + 0x63,0x3a,0x64,0x61,0x74,0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x64,0x63,0x3a,0x63,0x72,0x65,0x61,0x74,0x6f,0x72,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64, + 0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x4a,0xc3,0xa9,0x72,0xc3,0xb4,0x6d,0x65, + 0x20,0x4f,0x75,0x66,0x65,0x6c,0x6c,0x61,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74, + 0x6c,0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f, + 0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x64,0x63,0x3a,0x63,0x72,0x65,0x61,0x74,0x6f,0x72,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x72,0x69,0x67,0x68, + 0x74,0x73,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63, + 0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x28, + 0x63,0x29,0x20,0x32,0x30,0x30,0x39,0x20,0x53,0x61,0x76,0x6f,0x69,0x72,0x2d,0x66, + 0x61,0x69,0x72,0x65,0x20,0x4c,0x69,0x6e,0x75,0x78,0x20,0x69,0x6e,0x63,0x2e,0x3c, + 0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x63,0x3a,0x72,0x69, + 0x67,0x68,0x74,0x73,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64, + 0x63,0x3a,0x73,0x75,0x62,0x6a,0x65,0x63,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x42,0x61,0x67,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a, + 0x6c,0x69,0x3e,0x73,0x66,0x6c,0x20,0x69,0x63,0x6f,0x6e,0x3c,0x2f,0x72,0x64,0x66, + 0x3a,0x6c,0x69,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x72,0x64,0x66,0x3a,0x42,0x61,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x64,0x63,0x3a,0x73,0x75,0x62,0x6a,0x65,0x63,0x74,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa, + 0x20,0x20,0x3c,0x2f,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20,0x20, + 0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x69,0x72,0x63,0x6c,0x65,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72, + 0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d, + 0x22,0x74,0x72,0x61,0x6e,0x73,0x6c,0x61,0x74,0x65,0x28,0x2d,0x31,0x38,0x32,0x2e, + 0x31,0x35,0x39,0x37,0x33,0x2c,0x2d,0x34,0x32,0x38,0x2e,0x38,0x30,0x37,0x36,0x33, + 0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64, + 0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x67,0x35,0x38,0x36,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72, + 0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28, + 0x30,0x2e,0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e, + 0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c,0x2d,0x38,0x36,0x2e,0x31,0x30,0x33,0x30, + 0x37,0x34,0x2c,0x31,0x34,0x38,0x2e,0x30,0x31,0x35,0x31,0x37,0x29,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22, + 0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x39,0x39,0x35,0x39,0x35,0x36,0x36, + 0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x32,0x32,0x30,0x32,0x31,0x31,0x37,0x2c,0x31, + 0x2e,0x36,0x38,0x36,0x31,0x30,0x34,0x33,0x2c,0x2d,0x31,0x33,0x36,0x2e,0x35,0x33, + 0x31,0x32,0x35,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64, + 0x3d,0x22,0x4d,0x20,0x36,0x30,0x32,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20,0x41,0x20, + 0x39,0x32,0x2e,0x35,0x2c,0x37,0x35,0x2e,0x35,0x20,0x30,0x20,0x31,0x20,0x31,0x20, + 0x34,0x31,0x37,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20,0x41,0x20,0x39,0x32,0x2e,0x35, + 0x2c,0x37,0x35,0x2e,0x35,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x36,0x30,0x32,0x2c, + 0x35,0x34,0x34,0x2e,0x35,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x37, + 0x35,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d,0x22,0x39,0x32,0x2e,0x35,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x63,0x79,0x3d,0x22,0x35,0x34,0x34,0x2e,0x35,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a, + 0x63,0x78,0x3d,0x22,0x35,0x30,0x39,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39,0x38,0x37, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65, + 0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x32,0x35,0x32,0x62,0x3b,0x66, + 0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69, + 0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d, + 0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x39,0x32,0x30,0x30,0x38,0x35, + 0x33,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x31,0x34,0x30,0x36,0x35,0x33,0x37,0x2c, + 0x2d,0x31,0x36,0x38,0x2e,0x35,0x31,0x36,0x38,0x33,0x2c,0x2d,0x36,0x36,0x2e,0x34, + 0x30,0x36,0x35,0x35,0x37,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x3d,0x22,0x4d,0x20,0x38,0x32,0x37,0x2c,0x35,0x32,0x31,0x20,0x41,0x20, + 0x39,0x30,0x2e,0x35,0x2c,0x37,0x33,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x36,0x34, + 0x36,0x2c,0x35,0x32,0x31,0x20,0x41,0x20,0x39,0x30,0x2e,0x35,0x2c,0x37,0x33,0x20, + 0x30,0x20,0x31,0x20,0x31,0x20,0x38,0x32,0x37,0x2c,0x35,0x32,0x31,0x20,0x7a,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d, + 0x22,0x39,0x30,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d,0x22,0x35,0x32,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68, + 0x34,0x39,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e, + 0x38,0x33,0x30,0x36,0x34,0x35,0x31,0x35,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72, + 0x6c,0x28,0x23,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x35,0x32,0x39,0x37,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a, + 0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x75, + 0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x35,0x32,0x39,0x39,0x29,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77, + 0x69,0x64,0x74,0x68,0x3a,0x32,0x2e,0x39,0x32,0x38,0x33,0x39,0x39,0x33,0x32,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69, + 0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61, + 0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79, + 0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x67, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67, + 0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x33, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x42,0x67,0x20,0x6c,0x6f,0x67,0x6f,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70, + 0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66, + 0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x36,0x66,0x38,0x32,0x3b,0x66,0x69,0x6c,0x6c, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x66,0x69,0x6c,0x6c,0x2d, + 0x72,0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x62,0x37,0x64,0x66,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x31,0x2e,0x30,0x34,0x35,0x36,0x36, + 0x39,0x37,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x63,0x61,0x70,0x3a,0x72,0x6f,0x75,0x6e, + 0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69, + 0x6e,0x3a,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d, + 0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e, + 0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x30,0x2e,0x39,0x34,0x31,0x31,0x37,0x36,0x34,0x37,0x3b,0x64,0x69,0x73,0x70, + 0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x31,0x30,0x2e,0x35,0x35,0x31,0x31,0x34, + 0x2c,0x36,0x32,0x2e,0x30,0x33,0x33,0x36,0x39,0x35,0x20,0x4c,0x20,0x31,0x30,0x2e, + 0x35,0x34,0x35,0x38,0x37,0x32,0x2c,0x35,0x39,0x2e,0x36,0x33,0x31,0x38,0x32,0x31, + 0x20,0x4c,0x20,0x31,0x31,0x2e,0x33,0x32,0x39,0x36,0x35,0x36,0x2c,0x36,0x33,0x2e, + 0x35,0x33,0x33,0x36,0x36,0x20,0x4c,0x20,0x31,0x31,0x2e,0x33,0x32,0x31,0x30,0x38, + 0x38,0x2c,0x35,0x39,0x2e,0x36,0x33,0x30,0x36,0x32,0x31,0x20,0x4c,0x20,0x31,0x32, + 0x2e,0x36,0x32,0x31,0x34,0x35,0x38,0x2c,0x36,0x33,0x2e,0x34,0x33,0x31,0x35,0x38, + 0x35,0x20,0x4c,0x20,0x31,0x32,0x2e,0x36,0x31,0x31,0x35,0x38,0x34,0x2c,0x35,0x38, + 0x2e,0x39,0x32,0x38,0x30,0x37,0x34,0x20,0x4c,0x20,0x31,0x33,0x2e,0x36,0x35,0x37, + 0x37,0x32,0x32,0x2c,0x36,0x34,0x2e,0x36,0x33,0x30,0x39,0x31,0x34,0x20,0x4c,0x20, + 0x31,0x33,0x2e,0x38,0x39,0x37,0x30,0x31,0x39,0x2c,0x35,0x35,0x2e,0x39,0x32,0x33, + 0x37,0x33,0x35,0x20,0x4c,0x20,0x31,0x34,0x2e,0x36,0x39,0x36,0x31,0x38,0x33,0x2c, + 0x36,0x36,0x2e,0x38,0x33,0x31,0x30,0x32,0x39,0x20,0x4c,0x20,0x31,0x35,0x2e,0x39, + 0x35,0x39,0x30,0x30,0x38,0x2c,0x35,0x33,0x2e,0x35,0x31,0x38,0x36,0x35,0x33,0x20, + 0x4c,0x20,0x31,0x36,0x2e,0x32,0x35,0x32,0x33,0x31,0x31,0x2c,0x36,0x39,0x2e,0x34, + 0x33,0x30,0x36,0x36,0x32,0x20,0x4c,0x20,0x31,0x37,0x2e,0x32,0x35,0x38,0x32,0x37, + 0x39,0x2c,0x35,0x36,0x2e,0x38,0x31,0x39,0x32,0x32,0x37,0x20,0x4c,0x20,0x31,0x38, + 0x2e,0x30,0x35,0x32,0x38,0x31,0x38,0x2c,0x36,0x35,0x2e,0x36,0x32,0x34,0x38,0x38, + 0x34,0x20,0x4c,0x20,0x31,0x38,0x2e,0x35,0x35,0x31,0x38,0x34,0x34,0x2c,0x35,0x37, + 0x2e,0x35,0x31,0x37,0x37,0x37,0x20,0x4c,0x20,0x31,0x39,0x2e,0x33,0x34,0x37,0x39, + 0x31,0x38,0x2c,0x36,0x37,0x2e,0x30,0x32,0x33,0x39,0x37,0x35,0x20,0x4c,0x20,0x31, + 0x39,0x2e,0x38,0x33,0x33,0x35,0x34,0x36,0x2c,0x35,0x32,0x2e,0x38,0x31,0x32,0x31, + 0x31,0x32,0x20,0x4c,0x20,0x32,0x31,0x2e,0x34,0x32,0x34,0x38,0x32,0x33,0x2c,0x37, + 0x31,0x2e,0x34,0x32,0x34,0x32,0x31,0x20,0x4c,0x20,0x32,0x30,0x2e,0x38,0x35,0x36, + 0x34,0x31,0x2c,0x34,0x37,0x2e,0x39,0x30,0x36,0x36,0x38,0x35,0x20,0x4c,0x20,0x32, + 0x33,0x2e,0x37,0x36,0x30,0x35,0x37,0x35,0x2c,0x37,0x36,0x2e,0x30,0x32,0x34,0x31, + 0x38,0x38,0x20,0x4c,0x20,0x32,0x32,0x2e,0x39,0x32,0x34,0x31,0x30,0x32,0x2c,0x34, + 0x38,0x2e,0x31,0x30,0x33,0x36,0x33,0x39,0x20,0x4c,0x20,0x32,0x35,0x2e,0x33,0x31, + 0x32,0x30,0x39,0x37,0x2c,0x37,0x36,0x2e,0x35,0x32,0x32,0x31,0x37,0x31,0x20,0x4c, + 0x20,0x32,0x34,0x2e,0x32,0x31,0x33,0x39,0x32,0x35,0x2c,0x34,0x37,0x2e,0x31,0x30, + 0x30,0x38,0x35,0x37,0x20,0x4c,0x20,0x32,0x35,0x2e,0x38,0x31,0x34,0x32,0x30,0x34, + 0x2c,0x36,0x39,0x2e,0x38,0x31,0x36,0x31,0x35,0x35,0x20,0x4c,0x20,0x32,0x36,0x2e, + 0x32,0x39,0x39,0x31,0x37,0x37,0x2c,0x35,0x35,0x2e,0x33,0x30,0x34,0x30,0x34,0x36, + 0x20,0x4c,0x20,0x32,0x37,0x2e,0x31,0x30,0x35,0x37,0x39,0x2c,0x36,0x39,0x2e,0x36, + 0x31,0x33,0x39,0x39,0x38,0x20,0x4c,0x20,0x32,0x38,0x2e,0x31,0x30,0x30,0x35,0x34, + 0x36,0x2c,0x35,0x31,0x2e,0x38,0x39,0x38,0x35,0x39,0x35,0x20,0x4c,0x20,0x32,0x38, + 0x2e,0x31,0x33,0x33,0x34,0x38,0x36,0x2c,0x36,0x36,0x2e,0x39,0x31,0x30,0x32,0x38, + 0x32,0x20,0x4c,0x20,0x32,0x39,0x2e,0x33,0x38,0x33,0x38,0x30,0x32,0x2c,0x34,0x37, + 0x2e,0x38,0x39,0x33,0x34,0x37,0x35,0x20,0x4c,0x20,0x32,0x39,0x2e,0x31,0x37,0x34, + 0x37,0x39,0x2c,0x37,0x30,0x2e,0x34,0x31,0x31,0x34,0x32,0x34,0x20,0x4c,0x20,0x33, + 0x30,0x2e,0x34,0x32,0x32,0x36,0x39,0x2c,0x35,0x30,0x2e,0x32,0x39,0x33,0x37,0x34, + 0x33,0x20,0x4c,0x20,0x33,0x30,0x2e,0x39,0x39,0x35,0x39,0x32,0x36,0x2c,0x37,0x36, + 0x2e,0x30,0x31,0x32,0x39,0x37,0x37,0x20,0x4c,0x20,0x33,0x32,0x2e,0x34,0x37,0x39, + 0x36,0x31,0x38,0x2c,0x34,0x35,0x2e,0x35,0x38,0x36,0x38,0x37,0x36,0x20,0x4c,0x20, + 0x33,0x32,0x2e,0x38,0x31,0x30,0x32,0x35,0x39,0x2c,0x37,0x38,0x2e,0x35,0x31,0x32, + 0x31,0x33,0x20,0x4c,0x20,0x33,0x34,0x2e,0x30,0x32,0x32,0x35,0x38,0x33,0x2c,0x34, + 0x32,0x2e,0x31,0x38,0x31,0x38,0x32,0x31,0x20,0x4c,0x20,0x33,0x34,0x2e,0x36,0x32, + 0x33,0x36,0x39,0x39,0x2c,0x38,0x30,0x2e,0x36,0x31,0x30,0x39,0x35,0x34,0x20,0x4c, + 0x20,0x33,0x35,0x2e,0x35,0x36,0x37,0x35,0x32,0x39,0x2c,0x33,0x39,0x2e,0x36,0x37, + 0x37,0x34,0x36,0x39,0x20,0x4c,0x20,0x33,0x36,0x2e,0x31,0x37,0x37,0x34,0x34,0x2c, + 0x38,0x32,0x2e,0x31,0x30,0x39,0x37,0x20,0x4c,0x20,0x33,0x36,0x2e,0x38,0x35,0x36, + 0x37,0x30,0x38,0x2c,0x33,0x38,0x2e,0x33,0x37,0x34,0x34,0x35,0x37,0x20,0x4c,0x20, + 0x33,0x38,0x2e,0x32,0x35,0x30,0x31,0x36,0x35,0x2c,0x38,0x34,0x2e,0x36,0x30,0x38, + 0x34,0x36,0x35,0x20,0x4c,0x20,0x33,0x38,0x2e,0x31,0x35,0x39,0x32,0x37,0x37,0x2c, + 0x34,0x33,0x2e,0x31,0x37,0x36,0x31,0x39,0x36,0x20,0x4c,0x20,0x33,0x39,0x2e,0x32, + 0x37,0x35,0x32,0x32,0x36,0x2c,0x38,0x30,0x2e,0x37,0x30,0x33,0x38,0x33,0x32,0x20, + 0x4c,0x20,0x33,0x39,0x2e,0x37,0x32,0x30,0x30,0x33,0x2c,0x34,0x37,0x2e,0x38,0x37, + 0x37,0x34,0x35,0x38,0x20,0x4c,0x20,0x34,0x30,0x2e,0x35,0x35,0x37,0x36,0x30,0x31, + 0x2c,0x37,0x36,0x2e,0x32,0x39,0x38,0x33,0x39,0x35,0x20,0x4c,0x20,0x34,0x31,0x2e, + 0x30,0x32,0x32,0x35,0x38,0x39,0x2c,0x35,0x32,0x2e,0x36,0x37,0x39,0x32,0x20,0x4c, + 0x20,0x34,0x32,0x2e,0x33,0x36,0x31,0x31,0x36,0x33,0x2c,0x37,0x33,0x2e,0x38,0x39, + 0x33,0x37,0x32,0x20,0x4c,0x20,0x34,0x32,0x2e,0x35,0x37,0x35,0x32,0x32,0x31,0x2c, + 0x35,0x33,0x2e,0x36,0x37,0x37,0x35,0x37,0x34,0x20,0x4c,0x20,0x34,0x33,0x2e,0x33, + 0x39,0x34,0x31,0x32,0x36,0x2c,0x37,0x33,0x2e,0x35,0x39,0x31,0x38,0x39,0x20,0x4c, + 0x20,0x34,0x34,0x2e,0x31,0x32,0x38,0x30,0x37,0x32,0x2c,0x35,0x34,0x2e,0x37,0x37, + 0x36,0x30,0x33,0x31,0x20,0x4c,0x20,0x34,0x35,0x2e,0x31,0x39,0x37,0x34,0x37,0x37, + 0x2c,0x37,0x31,0x2e,0x30,0x38,0x37,0x31,0x34,0x38,0x20,0x4c,0x20,0x34,0x34,0x2e, + 0x36,0x34,0x36,0x34,0x32,0x2c,0x35,0x35,0x2e,0x34,0x37,0x35,0x37,0x37,0x37,0x20, + 0x4c,0x20,0x34,0x36,0x2e,0x37,0x34,0x36,0x31,0x35,0x37,0x2c,0x37,0x30,0x2e,0x32, + 0x38,0x34,0x31,0x31,0x35,0x20,0x4c,0x20,0x34,0x36,0x2e,0x32,0x30,0x31,0x34,0x36, + 0x32,0x2c,0x35,0x37,0x2e,0x35,0x37,0x35,0x30,0x31,0x33,0x20,0x4c,0x20,0x34,0x37, + 0x2e,0x37,0x36,0x36,0x33,0x38,0x37,0x2c,0x36,0x34,0x2e,0x31,0x37,0x37,0x37,0x35, + 0x33,0x20,0x4c,0x20,0x34,0x38,0x2e,0x31,0x35,0x37,0x33,0x37,0x34,0x2c,0x33,0x33, + 0x2e,0x35,0x35,0x39,0x36,0x34,0x34,0x20,0x4c,0x20,0x34,0x39,0x2e,0x35,0x37,0x34, + 0x37,0x38,0x36,0x2c,0x36,0x33,0x2e,0x39,0x37,0x34,0x37,0x39,0x38,0x20,0x4c,0x20, + 0x34,0x39,0x2e,0x37,0x33,0x37,0x30,0x34,0x34,0x2c,0x32,0x39,0x2e,0x30,0x35,0x37, + 0x31,0x39,0x32,0x20,0x4c,0x20,0x35,0x30,0x2e,0x36,0x30,0x38,0x38,0x34,0x38,0x2c, + 0x36,0x34,0x2e,0x31,0x37,0x33,0x33,0x35,0x32,0x20,0x4c,0x20,0x35,0x32,0x2e,0x30, + 0x37,0x32,0x31,0x34,0x36,0x2c,0x33,0x33,0x2e,0x33,0x36,0x32,0x32,0x32,0x34,0x20, + 0x4c,0x20,0x35,0x32,0x2e,0x32,0x33,0x37,0x39,0x35,0x37,0x2c,0x38,0x32,0x2e,0x32, + 0x30,0x35,0x34,0x35,0x20,0x4c,0x20,0x35,0x33,0x2e,0x36,0x31,0x38,0x34,0x30,0x34, + 0x2c,0x33,0x31,0x2e,0x34,0x35,0x35,0x39,0x39,0x33,0x20,0x4c,0x20,0x35,0x34,0x2e, + 0x32,0x36,0x39,0x36,0x30,0x34,0x2c,0x38,0x33,0x2e,0x38,0x30,0x31,0x32,0x31,0x20, + 0x4c,0x20,0x35,0x34,0x2e,0x37,0x30,0x34,0x33,0x30,0x37,0x2c,0x32,0x38,0x2e,0x35, + 0x34,0x36,0x31,0x36,0x39,0x20,0x4c,0x20,0x35,0x36,0x2e,0x35,0x36,0x39,0x37,0x33, + 0x31,0x2c,0x38,0x39,0x2e,0x39,0x39,0x32,0x35,0x32,0x31,0x20,0x4c,0x20,0x35,0x36, + 0x2e,0x32,0x33,0x33,0x36,0x35,0x31,0x2c,0x32,0x37,0x2e,0x38,0x34,0x33,0x32,0x35, + 0x20,0x4c,0x20,0x35,0x38,0x2e,0x31,0x30,0x36,0x30,0x35,0x38,0x2c,0x39,0x32,0x2e, + 0x34,0x37,0x35,0x30,0x38,0x38,0x20,0x4c,0x20,0x35,0x38,0x2e,0x32,0x33,0x37,0x36, + 0x31,0x35,0x2c,0x32,0x35,0x2e,0x37,0x33,0x34,0x33,0x39,0x33,0x20,0x4c,0x20,0x35, + 0x39,0x2e,0x34,0x36,0x32,0x30,0x31,0x38,0x2c,0x39,0x34,0x2e,0x38,0x37,0x31,0x33, + 0x34,0x36,0x20,0x4c,0x20,0x35,0x39,0x2e,0x33,0x30,0x38,0x38,0x30,0x32,0x2c,0x32, + 0x35,0x2e,0x30,0x32,0x39,0x32,0x35,0x31,0x20,0x4c,0x20,0x36,0x30,0x2e,0x39,0x39, + 0x37,0x37,0x35,0x31,0x2c,0x39,0x37,0x2e,0x30,0x38,0x30,0x36,0x35,0x34,0x20,0x4c, + 0x20,0x36,0x30,0x2e,0x38,0x35,0x39,0x32,0x33,0x37,0x2c,0x32,0x35,0x2e,0x30,0x32, + 0x36,0x38,0x34,0x37,0x20,0x4c,0x20,0x36,0x33,0x2e,0x33,0x34,0x38,0x30,0x30,0x35, + 0x2c,0x39,0x39,0x2e,0x33,0x38,0x31,0x31,0x35,0x36,0x20,0x4c,0x20,0x36,0x33,0x2e, + 0x34,0x39,0x33,0x31,0x32,0x38,0x2c,0x34,0x37,0x2e,0x37,0x34,0x30,0x35,0x34,0x32, + 0x20,0x4c,0x20,0x36,0x34,0x2e,0x34,0x33,0x32,0x35,0x38,0x35,0x2c,0x39,0x35,0x2e, + 0x38,0x36,0x39,0x31,0x32,0x20,0x4c,0x20,0x36,0x34,0x2e,0x32,0x37,0x36,0x30,0x33, + 0x32,0x2c,0x35,0x31,0x2e,0x32,0x34,0x32,0x30,0x37,0x31,0x20,0x4c,0x20,0x36,0x36, + 0x2e,0x36,0x38,0x35,0x31,0x30,0x32,0x2c,0x39,0x38,0x2e,0x31,0x38,0x30,0x33,0x34, + 0x32,0x20,0x4c,0x20,0x36,0x35,0x2e,0x35,0x37,0x30,0x39,0x31,0x31,0x2c,0x35,0x32, + 0x2e,0x35,0x34,0x31,0x30,0x38,0x34,0x20,0x4c,0x20,0x36,0x36,0x2e,0x35,0x36,0x33, + 0x37,0x38,0x31,0x2c,0x39,0x38,0x2e,0x32,0x37,0x35,0x33,0x32,0x34,0x20,0x4c,0x20, + 0x36,0x34,0x2e,0x39,0x39,0x33,0x37,0x32,0x37,0x2c,0x32,0x35,0x2e,0x30,0x32,0x30, + 0x34,0x34,0x33,0x20,0x4c,0x20,0x36,0x39,0x2e,0x30,0x36,0x34,0x39,0x39,0x39,0x2c, + 0x39,0x36,0x2e,0x31,0x36,0x32,0x37,0x36,0x20,0x4c,0x20,0x36,0x36,0x2e,0x30,0x32, + 0x39,0x39,0x38,0x34,0x2c,0x32,0x36,0x2e,0x32,0x31,0x39,0x37,0x37,0x35,0x20,0x4c, + 0x20,0x37,0x30,0x2e,0x33,0x37,0x33,0x35,0x30,0x33,0x2c,0x39,0x34,0x2e,0x37,0x35, + 0x36,0x31,0x31,0x38,0x20,0x4c,0x20,0x36,0x38,0x2e,0x34,0x33,0x36,0x32,0x37,0x32, + 0x2c,0x32,0x37,0x2e,0x33,0x31,0x38,0x30,0x38,0x34,0x20,0x4c,0x20,0x37,0x32,0x2e, + 0x36,0x37,0x37,0x36,0x31,0x38,0x2c,0x39,0x33,0x2e,0x38,0x35,0x30,0x30,0x38,0x36, + 0x20,0x4c,0x20,0x37,0x32,0x2e,0x32,0x33,0x34,0x33,0x35,0x32,0x2c,0x32,0x37,0x2e, + 0x34,0x31,0x31,0x31,0x20,0x43,0x20,0x37,0x32,0x2e,0x32,0x33,0x34,0x33,0x35,0x32, + 0x2c,0x32,0x37,0x2e,0x34,0x31,0x31,0x31,0x20,0x37,0x33,0x2e,0x39,0x34,0x30,0x34, + 0x32,0x32,0x2c,0x39,0x38,0x2e,0x33,0x36,0x33,0x39,0x38,0x31,0x20,0x37,0x34,0x2e, + 0x34,0x35,0x36,0x31,0x34,0x32,0x2c,0x39,0x37,0x2e,0x38,0x36,0x32,0x37,0x38,0x34, + 0x20,0x43,0x20,0x37,0x34,0x2e,0x39,0x37,0x31,0x38,0x34,0x37,0x2c,0x39,0x37,0x2e, + 0x33,0x36,0x31,0x35,0x39,0x32,0x20,0x37,0x35,0x2e,0x35,0x39,0x35,0x31,0x35,0x33, + 0x2c,0x32,0x38,0x2e,0x31,0x30,0x36,0x34,0x34,0x31,0x20,0x37,0x35,0x2e,0x35,0x39, + 0x35,0x31,0x35,0x33,0x2c,0x32,0x38,0x2e,0x31,0x30,0x36,0x34,0x34,0x31,0x20,0x4c, + 0x20,0x37,0x35,0x2e,0x37,0x33,0x39,0x38,0x31,0x31,0x2c,0x39,0x34,0x2e,0x30,0x34, + 0x36,0x36,0x36,0x36,0x20,0x4c,0x20,0x37,0x36,0x2e,0x38,0x39,0x30,0x39,0x32,0x33, + 0x2c,0x32,0x39,0x2e,0x38,0x30,0x35,0x37,0x36,0x35,0x20,0x4c,0x20,0x37,0x37,0x2e, + 0x30,0x34,0x39,0x36,0x32,0x34,0x2c,0x39,0x33,0x2e,0x32,0x34,0x32,0x32,0x35,0x20, + 0x4c,0x20,0x37,0x38,0x2e,0x31,0x38,0x34,0x32,0x36,0x2c,0x33,0x30,0x2e,0x34,0x30, + 0x34,0x32,0x33,0x31,0x20,0x4c,0x20,0x37,0x38,0x2e,0x33,0x33,0x38,0x38,0x31,0x32, + 0x2c,0x39,0x31,0x2e,0x39,0x34,0x35,0x37,0x31,0x32,0x20,0x4c,0x20,0x38,0x30,0x2e, + 0x30,0x30,0x30,0x33,0x34,0x34,0x2c,0x33,0x33,0x2e,0x37,0x30,0x34,0x30,0x30,0x32, + 0x20,0x4c,0x20,0x38,0x30,0x2e,0x33,0x38,0x31,0x39,0x39,0x2c,0x38,0x39,0x2e,0x38, + 0x38,0x36,0x36,0x35,0x38,0x20,0x4c,0x20,0x38,0x32,0x2e,0x30,0x37,0x31,0x37,0x35, + 0x38,0x2c,0x33,0x35,0x2e,0x36,0x30,0x32,0x32,0x37,0x38,0x20,0x4c,0x20,0x38,0x32, + 0x2e,0x31,0x39,0x38,0x35,0x2c,0x38,0x34,0x2e,0x34,0x36,0x34,0x33,0x36,0x32,0x20, + 0x4c,0x20,0x38,0x33,0x2e,0x34,0x30,0x39,0x32,0x36,0x36,0x2c,0x33,0x38,0x2e,0x35, + 0x30,0x35,0x39,0x39,0x39,0x20,0x4c,0x20,0x38,0x34,0x2e,0x34,0x39,0x34,0x31,0x39, + 0x34,0x2c,0x37,0x30,0x2e,0x38,0x31,0x30,0x32,0x35,0x20,0x4c,0x20,0x38,0x35,0x2e, + 0x34,0x38,0x32,0x32,0x32,0x39,0x2c,0x34,0x31,0x2e,0x31,0x30,0x38,0x33,0x34,0x35, + 0x20,0x4c,0x20,0x38,0x36,0x2e,0x33,0x30,0x30,0x36,0x32,0x33,0x2c,0x36,0x39,0x2e, + 0x37,0x30,0x33,0x36,0x35,0x31,0x20,0x4c,0x20,0x38,0x38,0x2e,0x33,0x31,0x32,0x38, + 0x32,0x32,0x2c,0x34,0x34,0x2e,0x36,0x30,0x39,0x36,0x33,0x37,0x20,0x4c,0x20,0x38, + 0x39,0x2e,0x34,0x30,0x31,0x35,0x30,0x36,0x2c,0x37,0x38,0x2e,0x36,0x31,0x37,0x35, + 0x34,0x38,0x20,0x4c,0x20,0x38,0x39,0x2e,0x38,0x39,0x30,0x35,0x35,0x37,0x2c,0x34, + 0x38,0x2e,0x31,0x32,0x36,0x39,0x35,0x32,0x20,0x4c,0x20,0x39,0x31,0x2e,0x32,0x34, + 0x35,0x30,0x34,0x35,0x2c,0x37,0x36,0x2e,0x36,0x30,0x35,0x35,0x31,0x20,0x4c,0x20, + 0x39,0x31,0x2e,0x36,0x36,0x33,0x33,0x32,0x33,0x2c,0x34,0x39,0x2e,0x35,0x31,0x35, + 0x33,0x32,0x37,0x20,0x4c,0x20,0x39,0x33,0x2e,0x30,0x34,0x36,0x32,0x31,0x35,0x2c, + 0x37,0x33,0x2e,0x31,0x30,0x30,0x35,0x36,0x31,0x20,0x4c,0x20,0x39,0x33,0x2e,0x35, + 0x31,0x34,0x35,0x35,0x35,0x2c,0x35,0x31,0x2e,0x30,0x31,0x32,0x34,0x35,0x38,0x20, + 0x4c,0x20,0x39,0x35,0x2e,0x35,0x36,0x34,0x35,0x39,0x34,0x2c,0x36,0x39,0x2e,0x39, + 0x30,0x30,0x30,0x32,0x33,0x20,0x4c,0x20,0x39,0x35,0x2e,0x33,0x35,0x30,0x34,0x32, + 0x38,0x2c,0x35,0x34,0x2e,0x34,0x31,0x33,0x34,0x35,0x32,0x20,0x4c,0x20,0x39,0x37, + 0x2e,0x31,0x37,0x36,0x33,0x30,0x33,0x2c,0x37,0x31,0x2e,0x30,0x39,0x34,0x33,0x35, + 0x31,0x20,0x4c,0x20,0x39,0x37,0x2e,0x34,0x32,0x31,0x31,0x39,0x2c,0x35,0x36,0x2e, + 0x30,0x31,0x32,0x36,0x37,0x31,0x20,0x4c,0x20,0x31,0x30,0x30,0x2e,0x31,0x37,0x32, + 0x38,0x31,0x2c,0x36,0x38,0x2e,0x30,0x39,0x35,0x35,0x38,0x31,0x20,0x4c,0x20,0x31, + 0x30,0x30,0x2e,0x32,0x36,0x35,0x33,0x37,0x2c,0x35,0x36,0x2e,0x38,0x30,0x33,0x30, + 0x32,0x32,0x20,0x4c,0x20,0x31,0x30,0x32,0x2e,0x33,0x33,0x34,0x37,0x34,0x2c,0x36, + 0x38,0x2e,0x35,0x39,0x38,0x34,0x38,0x39,0x20,0x4c,0x20,0x31,0x30,0x32,0x2e,0x34, + 0x31,0x34,0x31,0x35,0x2c,0x35,0x38,0x2e,0x33,0x30,0x30,0x32,0x37,0x36,0x20,0x4c, + 0x20,0x31,0x30,0x34,0x2e,0x31,0x35,0x33,0x36,0x38,0x2c,0x36,0x34,0x2e,0x32,0x37, + 0x39,0x39,0x37,0x20,0x4c,0x20,0x31,0x30,0x34,0x2e,0x35,0x35,0x31,0x38,0x35,0x2c, + 0x35,0x34,0x2e,0x37,0x37,0x37,0x37,0x38,0x39,0x20,0x4c,0x20,0x31,0x30,0x35,0x2e, + 0x32,0x38,0x39,0x30,0x34,0x2c,0x36,0x36,0x2e,0x30,0x38,0x35,0x34,0x39,0x39,0x20, + 0x4c,0x20,0x31,0x30,0x35,0x2e,0x39,0x37,0x33,0x31,0x2c,0x36,0x30,0x2e,0x31,0x38, + 0x39,0x37,0x39,0x34,0x20,0x43,0x20,0x31,0x30,0x35,0x2e,0x39,0x37,0x33,0x31,0x2c, + 0x36,0x30,0x2e,0x31,0x38,0x39,0x37,0x39,0x34,0x20,0x31,0x30,0x37,0x2e,0x30,0x37, + 0x33,0x32,0x36,0x2c,0x36,0x33,0x2e,0x37,0x37,0x32,0x37,0x31,0x33,0x20,0x31,0x30, + 0x37,0x2e,0x30,0x37,0x32,0x31,0x36,0x2c,0x36,0x33,0x2e,0x32,0x37,0x32,0x33,0x32, + 0x32,0x20,0x43,0x20,0x31,0x30,0x37,0x2e,0x30,0x37,0x31,0x30,0x35,0x2c,0x36,0x32, + 0x2e,0x37,0x37,0x31,0x39,0x33,0x37,0x20,0x31,0x30,0x38,0x2e,0x35,0x37,0x38,0x37, + 0x2c,0x36,0x31,0x2e,0x30,0x38,0x32,0x39,0x34,0x33,0x20,0x31,0x30,0x38,0x2e,0x33, + 0x31,0x38,0x32,0x38,0x2c,0x36,0x30,0x2e,0x31,0x38,0x32,0x36,0x33,0x36,0x20,0x43, + 0x20,0x31,0x30,0x38,0x2e,0x30,0x35,0x37,0x39,0x31,0x2c,0x35,0x39,0x2e,0x32,0x38, + 0x32,0x33,0x34,0x32,0x20,0x31,0x30,0x39,0x2e,0x34,0x31,0x35,0x36,0x31,0x2c,0x36, + 0x32,0x2e,0x34,0x37,0x35,0x31,0x30,0x33,0x20,0x31,0x30,0x39,0x2e,0x34,0x31,0x35, + 0x36,0x31,0x2c,0x36,0x32,0x2e,0x34,0x37,0x35,0x31,0x30,0x33,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39,0x32, + 0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73,0x3d,0x22,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x73,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f, + 0x67,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d, + 0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6c,0x61,0x79,0x65,0x72,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x48,0x61, + 0x6e,0x64,0x73,0x65,0x74,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e, + 0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x2e,0x30,0x37,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66, + 0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30,0x38,0x29,0x3b,0x66,0x69,0x6c, + 0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c, + 0x2d,0x72,0x75,0x6c,0x65,0x3a,0x6e,0x6f,0x6e,0x7a,0x65,0x72,0x6f,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x31,0x32,0x2e,0x32,0x39,0x36,0x39,0x39,0x39, + 0x39,0x33,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c, + 0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61, + 0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x64,0x69, + 0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x35,0x39,0x2e,0x31,0x35,0x31, + 0x39,0x38,0x35,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x43,0x20, + 0x33,0x30,0x2e,0x39,0x36,0x37,0x35,0x33,0x36,0x2c,0x38,0x2e,0x32,0x34,0x39,0x34, + 0x33,0x33,0x20,0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31,0x2c,0x33,0x31,0x2e, + 0x33,0x35,0x34,0x36,0x37,0x35,0x20,0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31, + 0x2c,0x35,0x39,0x2e,0x37,0x31,0x30,0x33,0x38,0x38,0x20,0x43,0x20,0x38,0x2e,0x33, + 0x32,0x37,0x34,0x36,0x34,0x31,0x2c,0x36,0x38,0x2e,0x32,0x32,0x32,0x30,0x36,0x35, + 0x20,0x31,0x30,0x2e,0x33,0x37,0x35,0x34,0x39,0x35,0x2c,0x37,0x36,0x2e,0x32,0x34, + 0x36,0x39,0x38,0x33,0x20,0x31,0x33,0x2e,0x39,0x39,0x34,0x38,0x30,0x32,0x2c,0x38, + 0x33,0x2e,0x33,0x34,0x37,0x38,0x32,0x33,0x20,0x43,0x20,0x31,0x33,0x2e,0x31,0x30, + 0x37,0x38,0x33,0x34,0x2c,0x37,0x39,0x2e,0x35,0x33,0x36,0x36,0x36,0x32,0x20,0x31, + 0x32,0x2e,0x36,0x34,0x33,0x35,0x31,0x35,0x2c,0x37,0x35,0x2e,0x35,0x36,0x38,0x36, + 0x37,0x37,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35,0x31,0x35,0x2c,0x37,0x31,0x2e, + 0x34,0x38,0x38,0x37,0x36,0x39,0x20,0x43,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35, + 0x31,0x35,0x2c,0x34,0x32,0x2e,0x36,0x38,0x32,0x39,0x36,0x34,0x20,0x33,0x36,0x2e, + 0x30,0x31,0x33,0x35,0x31,0x39,0x2c,0x31,0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x33, + 0x20,0x36,0x34,0x2e,0x38,0x31,0x39,0x33,0x32,0x32,0x2c,0x31,0x39,0x2e,0x32,0x39, + 0x32,0x37,0x39,0x33,0x20,0x43,0x20,0x38,0x35,0x2e,0x31,0x31,0x30,0x35,0x31,0x36, + 0x2c,0x31,0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x32,0x20,0x31,0x30,0x32,0x2e,0x36, + 0x39,0x37,0x30,0x36,0x2c,0x33,0x30,0x2e,0x39,0x30,0x34,0x38,0x34,0x31,0x20,0x31, + 0x31,0x31,0x2e,0x33,0x32,0x37,0x37,0x39,0x2c,0x34,0x37,0x2e,0x38,0x33,0x31,0x31, + 0x36,0x35,0x20,0x43,0x20,0x31,0x30,0x35,0x2e,0x39,0x34,0x35,0x34,0x2c,0x32,0x34, + 0x2e,0x37,0x34,0x33,0x36,0x35,0x36,0x20,0x38,0x35,0x2e,0x32,0x32,0x32,0x33,0x31, + 0x31,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x36,0x30,0x2e,0x35, + 0x30,0x33,0x32,0x37,0x32,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20, + 0x43,0x20,0x36,0x30,0x2e,0x30,0x35,0x33,0x31,0x38,0x2c,0x37,0x2e,0x35,0x33,0x34, + 0x35,0x38,0x30,0x39,0x20,0x35,0x39,0x2e,0x35,0x39,0x39,0x33,0x35,0x36,0x2c,0x37, + 0x2e,0x35,0x32,0x33,0x32,0x33,0x34,0x32,0x20,0x35,0x39,0x2e,0x31,0x35,0x31,0x39, + 0x38,0x35,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x7a,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34, + 0x36,0x37,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74, + 0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74, + 0x68,0x33,0x37,0x36,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d, + 0x22,0x4d,0x20,0x38,0x38,0x2e,0x39,0x30,0x36,0x38,0x37,0x34,0x2c,0x39,0x34,0x2e, + 0x30,0x36,0x33,0x33,0x35,0x39,0x20,0x43,0x20,0x38,0x38,0x2e,0x35,0x35,0x39,0x39, + 0x33,0x35,0x2c,0x39,0x34,0x2e,0x39,0x37,0x37,0x35,0x35,0x36,0x20,0x38,0x34,0x2e, + 0x39,0x36,0x36,0x30,0x32,0x33,0x2c,0x39,0x38,0x2e,0x33,0x37,0x36,0x20,0x38,0x33, + 0x2e,0x32,0x38,0x39,0x32,0x31,0x35,0x2c,0x39,0x39,0x2e,0x33,0x37,0x35,0x34,0x38, + 0x31,0x20,0x4c,0x20,0x38,0x31,0x2e,0x34,0x33,0x35,0x35,0x36,0x2c,0x31,0x30,0x30, + 0x2e,0x34,0x38,0x30,0x33,0x37,0x20,0x4c,0x20,0x37,0x33,0x2e,0x38,0x30,0x38,0x37, + 0x38,0x35,0x2c,0x39,0x30,0x2e,0x35,0x34,0x31,0x32,0x30,0x37,0x20,0x4c,0x20,0x36, + 0x36,0x2e,0x31,0x38,0x32,0x30,0x30,0x33,0x2c,0x38,0x30,0x2e,0x36,0x30,0x32,0x30, + 0x35,0x33,0x20,0x4c,0x20,0x36,0x37,0x2e,0x34,0x39,0x34,0x37,0x39,0x31,0x2c,0x37, + 0x39,0x2e,0x32,0x34,0x31,0x32,0x34,0x31,0x20,0x43,0x20,0x36,0x38,0x2e,0x37,0x37, + 0x39,0x35,0x34,0x34,0x2c,0x37,0x37,0x2e,0x39,0x30,0x39,0x34,0x37,0x36,0x20,0x37, + 0x32,0x2e,0x36,0x33,0x34,0x35,0x31,0x36,0x2c,0x37,0x35,0x2e,0x33,0x32,0x32,0x34, + 0x39,0x37,0x20,0x37,0x33,0x2e,0x38,0x38,0x37,0x36,0x37,0x31,0x2c,0x37,0x34,0x2e, + 0x39,0x35,0x31,0x31,0x32,0x38,0x20,0x43,0x20,0x37,0x34,0x2e,0x34,0x33,0x31,0x37, + 0x34,0x35,0x2c,0x37,0x34,0x2e,0x37,0x38,0x39,0x38,0x38,0x38,0x20,0x37,0x35,0x2e, + 0x35,0x32,0x38,0x31,0x33,0x39,0x2c,0x37,0x36,0x2e,0x30,0x37,0x38,0x33,0x36,0x31, + 0x20,0x38,0x31,0x2e,0x37,0x38,0x32,0x39,0x39,0x39,0x2c,0x38,0x34,0x2e,0x32,0x32, + 0x39,0x36,0x35,0x31,0x20,0x43,0x20,0x38,0x35,0x2e,0x37,0x37,0x37,0x39,0x32,0x38, + 0x2c,0x38,0x39,0x2e,0x34,0x33,0x35,0x38,0x30,0x39,0x20,0x38,0x38,0x2e,0x39,0x38, + 0x33,0x36,0x37,0x39,0x2c,0x39,0x33,0x2e,0x38,0x36,0x30,0x39,0x38,0x31,0x20,0x38, + 0x38,0x2e,0x39,0x30,0x36,0x38,0x37,0x34,0x2c,0x39,0x34,0x2e,0x30,0x36,0x33,0x33, + 0x35,0x39,0x20,0x7a,0x20,0x4d,0x20,0x35,0x30,0x2e,0x37,0x33,0x33,0x32,0x39,0x2c, + 0x34,0x34,0x2e,0x34,0x37,0x37,0x32,0x37,0x31,0x20,0x43,0x20,0x35,0x30,0x2e,0x34, + 0x34,0x36,0x36,0x32,0x37,0x2c,0x34,0x35,0x2e,0x32,0x33,0x32,0x36,0x33,0x36,0x20, + 0x34,0x35,0x2e,0x39,0x31,0x31,0x33,0x38,0x2c,0x34,0x39,0x2e,0x30,0x39,0x38,0x39, + 0x37,0x20,0x34,0x34,0x2e,0x34,0x33,0x33,0x33,0x33,0x31,0x2c,0x34,0x39,0x2e,0x38, + 0x34,0x38,0x30,0x33,0x34,0x20,0x4c,0x20,0x34,0x33,0x2e,0x30,0x39,0x30,0x34,0x37, + 0x34,0x2c,0x35,0x30,0x2e,0x35,0x32,0x38,0x35,0x36,0x39,0x20,0x4c,0x20,0x33,0x35, + 0x2e,0x35,0x37,0x33,0x35,0x34,0x35,0x2c,0x34,0x30,0x2e,0x35,0x35,0x35,0x39,0x31, + 0x34,0x20,0x4c,0x20,0x32,0x38,0x2e,0x30,0x35,0x36,0x36,0x30,0x38,0x2c,0x33,0x30, + 0x2e,0x35,0x38,0x33,0x32,0x35,0x34,0x20,0x4c,0x20,0x33,0x30,0x2e,0x36,0x34,0x34, + 0x37,0x35,0x2c,0x32,0x38,0x2e,0x34,0x34,0x38,0x33,0x39,0x37,0x20,0x43,0x20,0x33, + 0x32,0x2e,0x30,0x36,0x38,0x32,0x33,0x33,0x2c,0x32,0x37,0x2e,0x32,0x37,0x34,0x32, + 0x32,0x33,0x20,0x33,0x33,0x2e,0x39,0x33,0x34,0x39,0x32,0x34,0x2c,0x32,0x36,0x2e, + 0x30,0x32,0x33,0x37,0x35,0x38,0x20,0x33,0x34,0x2e,0x37,0x39,0x32,0x39,0x34,0x39, + 0x2c,0x32,0x35,0x2e,0x36,0x36,0x39,0x35,0x37,0x38,0x20,0x4c,0x20,0x33,0x36,0x2e, + 0x33,0x35,0x32,0x39,0x39,0x36,0x2c,0x32,0x35,0x2e,0x30,0x32,0x35,0x36,0x31,0x39, + 0x20,0x4c,0x20,0x34,0x33,0x2e,0x36,0x33,0x33,0x34,0x35,0x39,0x2c,0x33,0x34,0x2e, + 0x35,0x31,0x33,0x34,0x35,0x38,0x20,0x43,0x20,0x34,0x38,0x2e,0x35,0x31,0x34,0x38, + 0x38,0x36,0x2c,0x34,0x30,0x2e,0x38,0x37,0x34,0x38,0x39,0x36,0x20,0x35,0x30,0x2e, + 0x38,0x35,0x34,0x34,0x30,0x33,0x2c,0x34,0x34,0x2e,0x31,0x35,0x38,0x31,0x33,0x38, + 0x20,0x35,0x30,0x2e,0x37,0x33,0x33,0x32,0x39,0x2c,0x34,0x34,0x2e,0x34,0x37,0x37, + 0x32,0x37,0x31,0x20,0x7a,0x20,0x4d,0x20,0x38,0x30,0x2e,0x30,0x38,0x36,0x35,0x32, + 0x32,0x2c,0x31,0x30,0x31,0x2e,0x34,0x30,0x35,0x37,0x34,0x20,0x43,0x20,0x38,0x30, + 0x2e,0x30,0x33,0x38,0x32,0x39,0x34,0x2c,0x31,0x30,0x31,0x2e,0x35,0x33,0x32,0x36, + 0x31,0x20,0x37,0x39,0x2e,0x31,0x39,0x37,0x39,0x34,0x36,0x2c,0x31,0x30,0x32,0x2e, + 0x30,0x34,0x33,0x30,0x35,0x20,0x37,0x38,0x2e,0x32,0x31,0x39,0x30,0x38,0x34,0x2c, + 0x31,0x30,0x32,0x2e,0x35,0x34,0x30,0x30,0x35,0x20,0x43,0x20,0x37,0x30,0x2e,0x35, + 0x32,0x36,0x36,0x30,0x39,0x2c,0x31,0x30,0x36,0x2e,0x34,0x34,0x35,0x38,0x33,0x20, + 0x35,0x38,0x2e,0x31,0x36,0x33,0x31,0x31,0x38,0x2c,0x31,0x30,0x31,0x2e,0x38,0x34, + 0x38,0x31,0x35,0x20,0x34,0x36,0x2e,0x35,0x32,0x33,0x37,0x31,0x38,0x2c,0x39,0x30, + 0x2e,0x37,0x35,0x33,0x33,0x34,0x36,0x20,0x43,0x20,0x34,0x32,0x2e,0x34,0x30,0x33, + 0x39,0x36,0x33,0x2c,0x38,0x36,0x2e,0x38,0x32,0x36,0x33,0x33,0x38,0x20,0x33,0x33, + 0x2e,0x39,0x30,0x35,0x35,0x37,0x31,0x2c,0x37,0x36,0x2e,0x33,0x30,0x36,0x35,0x35, + 0x39,0x20,0x33,0x30,0x2e,0x35,0x34,0x38,0x33,0x31,0x39,0x2c,0x37,0x30,0x2e,0x39, + 0x37,0x38,0x30,0x39,0x35,0x20,0x43,0x20,0x32,0x34,0x2e,0x30,0x36,0x39,0x35,0x31, + 0x31,0x2c,0x36,0x30,0x2e,0x36,0x39,0x35,0x32,0x36,0x34,0x20,0x32,0x31,0x2e,0x30, + 0x32,0x32,0x37,0x31,0x38,0x2c,0x35,0x32,0x2e,0x30,0x36,0x32,0x32,0x35,0x33,0x20, + 0x32,0x31,0x2e,0x31,0x31,0x32,0x35,0x32,0x32,0x2c,0x34,0x34,0x2e,0x32,0x34,0x32, + 0x30,0x30,0x32,0x20,0x43,0x20,0x32,0x31,0x2e,0x31,0x36,0x38,0x35,0x36,0x38,0x2c, + 0x33,0x39,0x2e,0x33,0x36,0x31,0x35,0x31,0x33,0x20,0x32,0x32,0x2e,0x37,0x37,0x30, + 0x33,0x35,0x34,0x2c,0x33,0x35,0x2e,0x32,0x34,0x33,0x35,0x33,0x39,0x20,0x32,0x35, + 0x2e,0x36,0x34,0x32,0x36,0x37,0x38,0x2c,0x33,0x32,0x2e,0x35,0x39,0x35,0x35,0x33, + 0x36,0x20,0x4c,0x20,0x32,0x36,0x2e,0x36,0x32,0x37,0x35,0x36,0x34,0x2c,0x33,0x31, + 0x2e,0x36,0x38,0x37,0x35,0x36,0x33,0x20,0x4c,0x20,0x33,0x34,0x2e,0x31,0x38,0x32, + 0x36,0x34,0x2c,0x34,0x31,0x2e,0x33,0x38,0x36,0x32,0x35,0x33,0x20,0x4c,0x20,0x34, + 0x31,0x2e,0x37,0x33,0x37,0x37,0x32,0x32,0x2c,0x35,0x31,0x2e,0x30,0x38,0x34,0x39, + 0x34,0x34,0x20,0x4c,0x20,0x34,0x31,0x2e,0x31,0x32,0x36,0x36,0x37,0x32,0x2c,0x35, + 0x32,0x2e,0x31,0x34,0x33,0x33,0x34,0x33,0x20,0x43,0x20,0x34,0x30,0x2e,0x32,0x38, + 0x32,0x36,0x35,0x32,0x2c,0x35,0x33,0x2e,0x36,0x30,0x35,0x32,0x34,0x33,0x20,0x34, + 0x30,0x2e,0x34,0x33,0x35,0x33,0x32,0x31,0x2c,0x35,0x35,0x2e,0x35,0x32,0x32,0x36, + 0x30,0x35,0x20,0x34,0x31,0x2e,0x36,0x32,0x38,0x30,0x33,0x37,0x2c,0x35,0x38,0x2e, + 0x34,0x33,0x39,0x39,0x20,0x43,0x20,0x34,0x33,0x2e,0x31,0x32,0x34,0x39,0x34,0x39, + 0x2c,0x36,0x32,0x2e,0x31,0x30,0x31,0x32,0x32,0x37,0x20,0x35,0x35,0x2e,0x30,0x30, + 0x31,0x31,0x31,0x36,0x2c,0x37,0x37,0x2e,0x35,0x37,0x30,0x33,0x34,0x33,0x20,0x35, + 0x38,0x2e,0x31,0x38,0x37,0x32,0x39,0x34,0x2c,0x38,0x30,0x2e,0x30,0x30,0x38,0x39, + 0x30,0x33,0x20,0x43,0x20,0x36,0x30,0x2e,0x36,0x39,0x31,0x31,0x30,0x38,0x2c,0x38, + 0x31,0x2e,0x39,0x32,0x35,0x32,0x31,0x31,0x20,0x36,0x32,0x2e,0x32,0x33,0x31,0x34, + 0x33,0x37,0x2c,0x38,0x32,0x2e,0x34,0x38,0x34,0x36,0x35,0x31,0x20,0x36,0x34,0x2e, + 0x30,0x38,0x32,0x37,0x32,0x37,0x2c,0x38,0x32,0x2e,0x31,0x35,0x30,0x30,0x39,0x39, + 0x20,0x4c,0x20,0x36,0x35,0x2e,0x33,0x39,0x33,0x36,0x37,0x33,0x2c,0x38,0x31,0x2e, + 0x39,0x31,0x33,0x31,0x39,0x32,0x20,0x4c,0x20,0x37,0x32,0x2e,0x37,0x38,0x33,0x39, + 0x34,0x31,0x2c,0x39,0x31,0x2e,0x35,0x34,0x34,0x31,0x33,0x37,0x20,0x43,0x20,0x37, + 0x36,0x2e,0x38,0x34,0x38,0x35,0x38,0x39,0x2c,0x39,0x36,0x2e,0x38,0x34,0x31,0x31, + 0x35,0x39,0x20,0x38,0x30,0x2e,0x31,0x33,0x34,0x37,0x35,0x35,0x2c,0x31,0x30,0x31, + 0x2e,0x32,0x37,0x38,0x38,0x37,0x20,0x38,0x30,0x2e,0x30,0x38,0x36,0x35,0x32,0x32, + 0x2c,0x31,0x30,0x31,0x2e,0x34,0x30,0x35,0x37,0x34,0x20,0x7a,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x2e,0x33,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66, + 0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x66,0x69,0x6c,0x6c, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x63,0x38,0x32, + 0x37,0x30,0x39,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20, + 0x39,0x32,0x2e,0x35,0x31,0x38,0x30,0x36,0x36,0x2c,0x39,0x30,0x2e,0x34,0x35,0x32, + 0x31,0x36,0x37,0x20,0x43,0x20,0x39,0x32,0x2e,0x31,0x37,0x31,0x31,0x32,0x37,0x2c, + 0x39,0x31,0x2e,0x33,0x36,0x36,0x33,0x36,0x34,0x20,0x38,0x38,0x2e,0x35,0x37,0x37, + 0x32,0x31,0x35,0x2c,0x39,0x34,0x2e,0x37,0x36,0x34,0x38,0x30,0x38,0x20,0x38,0x36, + 0x2e,0x39,0x30,0x30,0x34,0x30,0x37,0x2c,0x39,0x35,0x2e,0x37,0x36,0x34,0x32,0x38, + 0x39,0x20,0x4c,0x20,0x38,0x35,0x2e,0x30,0x34,0x36,0x37,0x35,0x32,0x2c,0x39,0x36, + 0x2e,0x38,0x36,0x39,0x31,0x38,0x31,0x20,0x4c,0x20,0x37,0x37,0x2e,0x34,0x31,0x39, + 0x39,0x37,0x36,0x2c,0x38,0x36,0x2e,0x39,0x33,0x30,0x30,0x31,0x35,0x20,0x4c,0x20, + 0x36,0x39,0x2e,0x37,0x39,0x33,0x31,0x39,0x34,0x2c,0x37,0x36,0x2e,0x39,0x39,0x30, + 0x38,0x36,0x31,0x20,0x4c,0x20,0x37,0x31,0x2e,0x31,0x30,0x35,0x39,0x38,0x33,0x2c, + 0x37,0x35,0x2e,0x36,0x33,0x30,0x30,0x35,0x20,0x43,0x20,0x37,0x32,0x2e,0x33,0x39, + 0x30,0x37,0x33,0x36,0x2c,0x37,0x34,0x2e,0x32,0x39,0x38,0x32,0x38,0x35,0x20,0x37, + 0x36,0x2e,0x32,0x34,0x35,0x37,0x30,0x37,0x2c,0x37,0x31,0x2e,0x37,0x31,0x31,0x33, + 0x30,0x35,0x20,0x37,0x37,0x2e,0x34,0x39,0x38,0x38,0x36,0x32,0x2c,0x37,0x31,0x2e, + 0x33,0x33,0x39,0x39,0x33,0x37,0x20,0x43,0x20,0x37,0x38,0x2e,0x30,0x34,0x32,0x39, + 0x33,0x36,0x2c,0x37,0x31,0x2e,0x31,0x37,0x38,0x36,0x39,0x37,0x20,0x37,0x39,0x2e, + 0x31,0x33,0x39,0x33,0x33,0x2c,0x37,0x32,0x2e,0x34,0x36,0x37,0x31,0x37,0x20,0x38, + 0x35,0x2e,0x33,0x39,0x34,0x31,0x39,0x31,0x2c,0x38,0x30,0x2e,0x36,0x31,0x38,0x34, + 0x36,0x20,0x43,0x20,0x38,0x39,0x2e,0x33,0x38,0x39,0x31,0x31,0x39,0x2c,0x38,0x35, + 0x2e,0x38,0x32,0x34,0x36,0x31,0x38,0x20,0x39,0x32,0x2e,0x35,0x39,0x34,0x38,0x37, + 0x2c,0x39,0x30,0x2e,0x32,0x34,0x39,0x37,0x39,0x20,0x39,0x32,0x2e,0x35,0x31,0x38, + 0x30,0x36,0x36,0x2c,0x39,0x30,0x2e,0x34,0x35,0x32,0x31,0x36,0x37,0x20,0x7a,0x20, + 0x4d,0x20,0x35,0x34,0x2e,0x33,0x34,0x34,0x34,0x38,0x31,0x2c,0x34,0x30,0x2e,0x38, + 0x36,0x36,0x30,0x38,0x20,0x43,0x20,0x35,0x34,0x2e,0x30,0x35,0x37,0x38,0x31,0x39, + 0x2c,0x34,0x31,0x2e,0x36,0x32,0x31,0x34,0x34,0x34,0x20,0x34,0x39,0x2e,0x35,0x32, + 0x32,0x35,0x37,0x31,0x2c,0x34,0x35,0x2e,0x34,0x38,0x37,0x37,0x37,0x38,0x20,0x34, + 0x38,0x2e,0x30,0x34,0x34,0x35,0x32,0x33,0x2c,0x34,0x36,0x2e,0x32,0x33,0x36,0x38, + 0x34,0x32,0x20,0x4c,0x20,0x34,0x36,0x2e,0x37,0x30,0x31,0x36,0x36,0x36,0x2c,0x34, + 0x36,0x2e,0x39,0x31,0x37,0x33,0x37,0x37,0x20,0x4c,0x20,0x33,0x39,0x2e,0x31,0x38, + 0x34,0x37,0x33,0x35,0x2c,0x33,0x36,0x2e,0x39,0x34,0x34,0x37,0x32,0x33,0x20,0x4c, + 0x20,0x33,0x31,0x2e,0x36,0x36,0x37,0x38,0x2c,0x32,0x36,0x2e,0x39,0x37,0x32,0x30, + 0x36,0x33,0x20,0x4c,0x20,0x33,0x34,0x2e,0x32,0x35,0x35,0x39,0x34,0x31,0x2c,0x32, + 0x34,0x2e,0x38,0x33,0x37,0x32,0x30,0x35,0x20,0x43,0x20,0x33,0x35,0x2e,0x36,0x37, + 0x39,0x34,0x32,0x35,0x2c,0x32,0x33,0x2e,0x36,0x36,0x33,0x30,0x33,0x32,0x20,0x33, + 0x37,0x2e,0x35,0x34,0x36,0x31,0x31,0x35,0x2c,0x32,0x32,0x2e,0x34,0x31,0x32,0x35, + 0x36,0x36,0x20,0x33,0x38,0x2e,0x34,0x30,0x34,0x31,0x34,0x31,0x2c,0x32,0x32,0x2e, + 0x30,0x35,0x38,0x33,0x38,0x37,0x20,0x4c,0x20,0x33,0x39,0x2e,0x39,0x36,0x34,0x31, + 0x38,0x38,0x2c,0x32,0x31,0x2e,0x34,0x31,0x34,0x34,0x32,0x37,0x20,0x4c,0x20,0x34, + 0x37,0x2e,0x32,0x34,0x34,0x36,0x35,0x2c,0x33,0x30,0x2e,0x39,0x30,0x32,0x32,0x36, + 0x37,0x20,0x43,0x20,0x35,0x32,0x2e,0x31,0x32,0x36,0x30,0x37,0x38,0x2c,0x33,0x37, + 0x2e,0x32,0x36,0x33,0x37,0x30,0x36,0x20,0x35,0x34,0x2e,0x34,0x36,0x35,0x35,0x39, + 0x34,0x2c,0x34,0x30,0x2e,0x35,0x34,0x36,0x39,0x34,0x36,0x20,0x35,0x34,0x2e,0x33, + 0x34,0x34,0x34,0x38,0x31,0x2c,0x34,0x30,0x2e,0x38,0x36,0x36,0x30,0x38,0x20,0x7a, + 0x20,0x4d,0x20,0x38,0x33,0x2e,0x36,0x39,0x37,0x37,0x31,0x33,0x2c,0x39,0x37,0x2e, + 0x37,0x39,0x34,0x35,0x35,0x20,0x43,0x20,0x38,0x33,0x2e,0x36,0x34,0x39,0x34,0x38, + 0x36,0x2c,0x39,0x37,0x2e,0x39,0x32,0x31,0x34,0x31,0x37,0x20,0x38,0x32,0x2e,0x38, + 0x30,0x39,0x31,0x33,0x37,0x2c,0x39,0x38,0x2e,0x34,0x33,0x31,0x38,0x35,0x32,0x20, + 0x38,0x31,0x2e,0x38,0x33,0x30,0x32,0x37,0x36,0x2c,0x39,0x38,0x2e,0x39,0x32,0x38, + 0x38,0x36,0x31,0x20,0x43,0x20,0x37,0x34,0x2e,0x31,0x33,0x37,0x38,0x30,0x31,0x2c, + 0x31,0x30,0x32,0x2e,0x38,0x33,0x34,0x36,0x34,0x20,0x36,0x31,0x2e,0x37,0x37,0x34, + 0x33,0x30,0x38,0x2c,0x39,0x38,0x2e,0x32,0x33,0x36,0x39,0x35,0x37,0x20,0x35,0x30, + 0x2e,0x31,0x33,0x34,0x39,0x30,0x39,0x2c,0x38,0x37,0x2e,0x31,0x34,0x32,0x31,0x35, + 0x34,0x20,0x43,0x20,0x34,0x36,0x2e,0x30,0x31,0x35,0x31,0x35,0x34,0x2c,0x38,0x33, + 0x2e,0x32,0x31,0x35,0x31,0x34,0x36,0x20,0x33,0x37,0x2e,0x35,0x31,0x36,0x37,0x36, + 0x32,0x2c,0x37,0x32,0x2e,0x36,0x39,0x35,0x33,0x36,0x37,0x20,0x33,0x34,0x2e,0x31, + 0x35,0x39,0x35,0x31,0x31,0x2c,0x36,0x37,0x2e,0x33,0x36,0x36,0x39,0x30,0x34,0x20, + 0x43,0x20,0x32,0x37,0x2e,0x36,0x38,0x30,0x37,0x30,0x32,0x2c,0x35,0x37,0x2e,0x30, + 0x38,0x34,0x30,0x37,0x33,0x20,0x32,0x34,0x2e,0x36,0x33,0x33,0x39,0x31,0x2c,0x34, + 0x38,0x2e,0x34,0x35,0x31,0x30,0x36,0x32,0x20,0x32,0x34,0x2e,0x37,0x32,0x33,0x37, + 0x31,0x34,0x2c,0x34,0x30,0x2e,0x36,0x33,0x30,0x38,0x31,0x20,0x43,0x20,0x32,0x34, + 0x2e,0x37,0x37,0x39,0x37,0x36,0x2c,0x33,0x35,0x2e,0x37,0x35,0x30,0x33,0x32,0x31, + 0x20,0x32,0x36,0x2e,0x33,0x38,0x31,0x35,0x34,0x36,0x2c,0x33,0x31,0x2e,0x36,0x33, + 0x32,0x33,0x34,0x38,0x20,0x32,0x39,0x2e,0x32,0x35,0x33,0x38,0x36,0x39,0x2c,0x32, + 0x38,0x2e,0x39,0x38,0x34,0x33,0x34,0x36,0x20,0x4c,0x20,0x33,0x30,0x2e,0x32,0x33, + 0x38,0x37,0x35,0x35,0x2c,0x32,0x38,0x2e,0x30,0x37,0x36,0x33,0x37,0x31,0x20,0x4c, + 0x20,0x33,0x37,0x2e,0x37,0x39,0x33,0x38,0x33,0x32,0x2c,0x33,0x37,0x2e,0x37,0x37, + 0x35,0x30,0x36,0x33,0x20,0x4c,0x20,0x34,0x35,0x2e,0x33,0x34,0x38,0x39,0x31,0x33, + 0x2c,0x34,0x37,0x2e,0x34,0x37,0x33,0x37,0x35,0x34,0x20,0x4c,0x20,0x34,0x34,0x2e, + 0x37,0x33,0x37,0x38,0x36,0x33,0x2c,0x34,0x38,0x2e,0x35,0x33,0x32,0x31,0x35,0x32, + 0x20,0x43,0x20,0x34,0x33,0x2e,0x38,0x39,0x33,0x38,0x34,0x34,0x2c,0x34,0x39,0x2e, + 0x39,0x39,0x34,0x30,0x35,0x32,0x20,0x34,0x34,0x2e,0x30,0x34,0x36,0x35,0x31,0x33, + 0x2c,0x35,0x31,0x2e,0x39,0x31,0x31,0x34,0x31,0x34,0x20,0x34,0x35,0x2e,0x32,0x33, + 0x39,0x32,0x32,0x39,0x2c,0x35,0x34,0x2e,0x38,0x32,0x38,0x37,0x30,0x39,0x20,0x43, + 0x20,0x34,0x36,0x2e,0x37,0x33,0x36,0x31,0x34,0x2c,0x35,0x38,0x2e,0x34,0x39,0x30, + 0x30,0x33,0x35,0x20,0x35,0x38,0x2e,0x36,0x31,0x32,0x33,0x30,0x37,0x2c,0x37,0x33, + 0x2e,0x39,0x35,0x39,0x31,0x35,0x32,0x20,0x36,0x31,0x2e,0x37,0x39,0x38,0x34,0x38, + 0x35,0x2c,0x37,0x36,0x2e,0x33,0x39,0x37,0x37,0x31,0x31,0x20,0x43,0x20,0x36,0x34, + 0x2e,0x33,0x30,0x32,0x33,0x2c,0x37,0x38,0x2e,0x33,0x31,0x34,0x30,0x32,0x20,0x36, + 0x35,0x2e,0x38,0x34,0x32,0x36,0x32,0x39,0x2c,0x37,0x38,0x2e,0x38,0x37,0x33,0x34, + 0x36,0x20,0x36,0x37,0x2e,0x36,0x39,0x33,0x39,0x31,0x38,0x2c,0x37,0x38,0x2e,0x35, + 0x33,0x38,0x39,0x30,0x37,0x20,0x4c,0x20,0x36,0x39,0x2e,0x30,0x30,0x34,0x38,0x36, + 0x35,0x2c,0x37,0x38,0x2e,0x33,0x30,0x32,0x20,0x4c,0x20,0x37,0x36,0x2e,0x33,0x39, + 0x35,0x31,0x33,0x32,0x2c,0x38,0x37,0x2e,0x39,0x33,0x32,0x39,0x34,0x35,0x20,0x43, + 0x20,0x38,0x30,0x2e,0x34,0x35,0x39,0x37,0x38,0x31,0x2c,0x39,0x33,0x2e,0x32,0x32, + 0x39,0x39,0x36,0x38,0x20,0x38,0x33,0x2e,0x37,0x34,0x35,0x39,0x34,0x37,0x2c,0x39, + 0x37,0x2e,0x36,0x36,0x37,0x36,0x38,0x32,0x20,0x38,0x33,0x2e,0x36,0x39,0x37,0x37, + 0x31,0x33,0x2c,0x39,0x37,0x2e,0x37,0x39,0x34,0x35,0x35,0x20,0x7a,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x32, + 0x31,0x38,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22, + 0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x36,0x30,0x31,0x38,0x36,0x35,0x32, + 0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x36,0x30,0x31,0x38,0x36,0x35,0x32,0x2c,0x2d, + 0x31,0x30,0x36,0x2e,0x34,0x36,0x32,0x34,0x33,0x2c,0x2d,0x32,0x35,0x32,0x2e,0x36, + 0x37,0x34,0x37,0x36,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x67,0x33,0x37,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66, + 0x66,0x66,0x66,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x30,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61, + 0x74,0x68,0x33,0x37,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x3d,0x22,0x4d,0x20,0x33,0x32,0x34,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35, + 0x37,0x36,0x2e,0x31,0x30,0x35,0x39,0x32,0x20,0x43,0x20,0x33,0x32,0x34,0x2e,0x30, + 0x32,0x39,0x39,0x36,0x2c,0x35,0x37,0x37,0x2e,0x36,0x32,0x34,0x38,0x36,0x20,0x33, + 0x31,0x38,0x2e,0x30,0x35,0x38,0x36,0x37,0x2c,0x35,0x38,0x33,0x2e,0x32,0x37,0x31, + 0x33,0x38,0x20,0x33,0x31,0x35,0x2e,0x32,0x37,0x32,0x36,0x35,0x2c,0x35,0x38,0x34, + 0x2e,0x39,0x33,0x32,0x30,0x32,0x20,0x4c,0x20,0x33,0x31,0x32,0x2e,0x31,0x39,0x32, + 0x38,0x2c,0x35,0x38,0x36,0x2e,0x37,0x36,0x37,0x38,0x20,0x4c,0x20,0x32,0x39,0x39, + 0x2e,0x35,0x32,0x30,0x39,0x2c,0x35,0x37,0x30,0x2e,0x32,0x35,0x33,0x38,0x36,0x20, + 0x4c,0x20,0x32,0x38,0x36,0x2e,0x38,0x34,0x38,0x39,0x39,0x2c,0x35,0x35,0x33,0x2e, + 0x37,0x33,0x39,0x39,0x34,0x20,0x4c,0x20,0x32,0x38,0x39,0x2e,0x30,0x33,0x30,0x31, + 0x39,0x2c,0x35,0x35,0x31,0x2e,0x34,0x37,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x39, + 0x31,0x2e,0x31,0x36,0x34,0x38,0x31,0x2c,0x35,0x34,0x39,0x2e,0x32,0x36,0x36,0x32, + 0x32,0x20,0x32,0x39,0x37,0x2e,0x35,0x36,0x39,0x38,0x35,0x2c,0x35,0x34,0x34,0x2e, + 0x39,0x36,0x37,0x39,0x35,0x20,0x32,0x39,0x39,0x2e,0x36,0x35,0x31,0x39,0x37,0x2c, + 0x35,0x34,0x34,0x2e,0x33,0x35,0x30,0x39,0x32,0x20,0x43,0x20,0x33,0x30,0x30,0x2e, + 0x35,0x35,0x35,0x39,0x35,0x2c,0x35,0x34,0x34,0x2e,0x30,0x38,0x33,0x30,0x32,0x20, + 0x33,0x30,0x32,0x2e,0x33,0x37,0x37,0x36,0x31,0x2c,0x35,0x34,0x36,0x2e,0x32,0x32, + 0x33,0x38,0x32,0x20,0x33,0x31,0x32,0x2e,0x37,0x37,0x30,0x30,0x37,0x2c,0x35,0x35, + 0x39,0x2e,0x37,0x36,0x37,0x32,0x20,0x43,0x20,0x33,0x31,0x39,0x2e,0x34,0x30,0x37, + 0x36,0x35,0x2c,0x35,0x36,0x38,0x2e,0x34,0x31,0x37,0x32,0x34,0x20,0x33,0x32,0x34, + 0x2e,0x37,0x33,0x34,0x30,0x31,0x2c,0x35,0x37,0x35,0x2e,0x37,0x36,0x39,0x36,0x37, + 0x20,0x33,0x32,0x34,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x36,0x2e,0x31,0x30, + 0x35,0x39,0x32,0x20,0x7a,0x20,0x4d,0x20,0x32,0x36,0x31,0x2e,0x31,0x38,0x30,0x39, + 0x33,0x2c,0x34,0x39,0x33,0x2e,0x37,0x31,0x38,0x35,0x36,0x20,0x43,0x20,0x32,0x36, + 0x30,0x2e,0x37,0x30,0x34,0x36,0x34,0x2c,0x34,0x39,0x34,0x2e,0x39,0x37,0x33,0x36, + 0x20,0x32,0x35,0x33,0x2e,0x31,0x36,0x39,0x33,0x32,0x2c,0x35,0x30,0x31,0x2e,0x33, + 0x39,0x37,0x35,0x32,0x20,0x32,0x35,0x30,0x2e,0x37,0x31,0x33,0x35,0x34,0x2c,0x35, + 0x30,0x32,0x2e,0x36,0x34,0x32,0x30,0x39,0x20,0x4c,0x20,0x32,0x34,0x38,0x2e,0x34, + 0x38,0x32,0x33,0x38,0x2c,0x35,0x30,0x33,0x2e,0x37,0x37,0x32,0x38,0x20,0x4c,0x20, + 0x32,0x33,0x35,0x2e,0x39,0x39,0x32,0x39,0x39,0x2c,0x34,0x38,0x37,0x2e,0x32,0x30, + 0x33,0x32,0x32,0x20,0x4c,0x20,0x32,0x32,0x33,0x2e,0x35,0x30,0x33,0x35,0x39,0x2c, + 0x34,0x37,0x30,0x2e,0x36,0x33,0x33,0x36,0x33,0x20,0x4c,0x20,0x32,0x32,0x37,0x2e, + 0x38,0x30,0x33,0x37,0x39,0x2c,0x34,0x36,0x37,0x2e,0x30,0x38,0x36,0x35,0x36,0x20, + 0x43,0x20,0x32,0x33,0x30,0x2e,0x31,0x36,0x38,0x39,0x31,0x2c,0x34,0x36,0x35,0x2e, + 0x31,0x33,0x35,0x36,0x37,0x20,0x32,0x33,0x33,0x2e,0x32,0x37,0x30,0x34,0x32,0x2c, + 0x34,0x36,0x33,0x2e,0x30,0x35,0x38,0x30,0x32,0x20,0x32,0x33,0x34,0x2e,0x36,0x39, + 0x36,0x30,0x33,0x2c,0x34,0x36,0x32,0x2e,0x34,0x36,0x39,0x35,0x35,0x20,0x4c,0x20, + 0x32,0x33,0x37,0x2e,0x32,0x38,0x38,0x30,0x35,0x2c,0x34,0x36,0x31,0x2e,0x33,0x39, + 0x39,0x36,0x31,0x20,0x4c,0x20,0x32,0x34,0x39,0x2e,0x33,0x38,0x34,0x35,0x35,0x2c, + 0x34,0x37,0x37,0x2e,0x31,0x36,0x33,0x36,0x37,0x20,0x43,0x20,0x32,0x35,0x37,0x2e, + 0x34,0x39,0x35,0x30,0x35,0x2c,0x34,0x38,0x37,0x2e,0x37,0x33,0x33,0x32,0x31,0x20, + 0x32,0x36,0x31,0x2e,0x33,0x38,0x32,0x31,0x36,0x2c,0x34,0x39,0x33,0x2e,0x31,0x38, + 0x38,0x33,0x32,0x20,0x32,0x36,0x31,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x39, + 0x33,0x2e,0x37,0x31,0x38,0x35,0x36,0x20,0x7a,0x20,0x4d,0x20,0x33,0x30,0x39,0x2e, + 0x39,0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x38,0x2e,0x33,0x30,0x35,0x33,0x20,0x43, + 0x20,0x33,0x30,0x39,0x2e,0x38,0x37,0x31,0x32,0x34,0x2c,0x35,0x38,0x38,0x2e,0x35, + 0x31,0x36,0x30,0x39,0x20,0x33,0x30,0x38,0x2e,0x34,0x37,0x35,0x2c,0x35,0x38,0x39, + 0x2e,0x33,0x36,0x34,0x31,0x38,0x20,0x33,0x30,0x36,0x2e,0x38,0x34,0x38,0x36,0x32, + 0x2c,0x35,0x39,0x30,0x2e,0x31,0x38,0x39,0x39,0x36,0x20,0x43,0x20,0x32,0x39,0x34, + 0x2e,0x30,0x36,0x37,0x35,0x36,0x2c,0x35,0x39,0x36,0x2e,0x36,0x37,0x39,0x34,0x31, + 0x20,0x32,0x37,0x33,0x2e,0x35,0x32,0x35,0x36,0x2c,0x35,0x38,0x39,0x2e,0x30,0x34, + 0x30,0x33,0x36,0x20,0x32,0x35,0x34,0x2e,0x31,0x38,0x36,0x37,0x32,0x2c,0x35,0x37, + 0x30,0x2e,0x36,0x30,0x36,0x33,0x33,0x20,0x43,0x20,0x32,0x34,0x37,0x2e,0x33,0x34, + 0x31,0x37,0x34,0x2c,0x35,0x36,0x34,0x2e,0x30,0x38,0x31,0x36,0x20,0x32,0x33,0x33, + 0x2e,0x32,0x32,0x31,0x36,0x35,0x2c,0x35,0x34,0x36,0x2e,0x36,0x30,0x32,0x39,0x37, + 0x20,0x32,0x32,0x37,0x2e,0x36,0x34,0x33,0x35,0x37,0x2c,0x35,0x33,0x37,0x2e,0x37, + 0x34,0x39,0x37,0x32,0x20,0x43,0x20,0x32,0x31,0x36,0x2e,0x38,0x37,0x39,0x30,0x32, + 0x2c,0x35,0x32,0x30,0x2e,0x36,0x36,0x34,0x37,0x38,0x20,0x32,0x31,0x31,0x2e,0x38, + 0x31,0x36,0x37,0x37,0x2c,0x35,0x30,0x36,0x2e,0x33,0x32,0x31,0x30,0x32,0x20,0x32, + 0x31,0x31,0x2e,0x39,0x36,0x35,0x39,0x38,0x2c,0x34,0x39,0x33,0x2e,0x33,0x32,0x37, + 0x36,0x36,0x20,0x43,0x20,0x32,0x31,0x32,0x2e,0x30,0x35,0x39,0x31,0x2c,0x34,0x38, + 0x35,0x2e,0x32,0x31,0x38,0x37,0x32,0x20,0x32,0x31,0x34,0x2e,0x37,0x32,0x30,0x34, + 0x37,0x2c,0x34,0x37,0x38,0x2e,0x33,0x37,0x36,0x37,0x20,0x32,0x31,0x39,0x2e,0x34, + 0x39,0x32,0x38,0x34,0x2c,0x34,0x37,0x33,0x2e,0x39,0x37,0x37,0x30,0x34,0x20,0x4c, + 0x20,0x32,0x32,0x31,0x2e,0x31,0x32,0x39,0x32,0x33,0x2c,0x34,0x37,0x32,0x2e,0x34, + 0x36,0x38,0x34,0x34,0x20,0x4c,0x20,0x32,0x33,0x33,0x2e,0x36,0x38,0x32,0x2c,0x34, + 0x38,0x38,0x2e,0x35,0x38,0x32,0x38,0x33,0x20,0x4c,0x20,0x32,0x34,0x36,0x2e,0x32, + 0x33,0x34,0x37,0x38,0x2c,0x35,0x30,0x34,0x2e,0x36,0x39,0x37,0x32,0x32,0x20,0x4c, + 0x20,0x32,0x34,0x35,0x2e,0x32,0x31,0x39,0x35,0x32,0x2c,0x35,0x30,0x36,0x2e,0x34, + 0x35,0x35,0x37,0x35,0x20,0x43,0x20,0x32,0x34,0x33,0x2e,0x38,0x31,0x37,0x31,0x38, + 0x2c,0x35,0x30,0x38,0x2e,0x38,0x38,0x34,0x37,0x20,0x32,0x34,0x34,0x2e,0x30,0x37, + 0x30,0x38,0x34,0x2c,0x35,0x31,0x32,0x2e,0x30,0x37,0x30,0x34,0x20,0x32,0x34,0x36, + 0x2e,0x30,0x35,0x32,0x35,0x34,0x2c,0x35,0x31,0x36,0x2e,0x39,0x31,0x37,0x34,0x39, + 0x20,0x43,0x20,0x32,0x34,0x38,0x2e,0x35,0x33,0x39,0x36,0x36,0x2c,0x35,0x32,0x33, + 0x2e,0x30,0x30,0x30,0x37,0x39,0x20,0x32,0x36,0x38,0x2e,0x32,0x37,0x31,0x39,0x33, + 0x2c,0x35,0x34,0x38,0x2e,0x37,0x30,0x32,0x37,0x35,0x20,0x32,0x37,0x33,0x2e,0x35, + 0x36,0x35,0x37,0x37,0x2c,0x35,0x35,0x32,0x2e,0x37,0x35,0x34,0x34,0x32,0x20,0x43, + 0x20,0x32,0x37,0x37,0x2e,0x37,0x32,0x35,0x38,0x36,0x2c,0x35,0x35,0x35,0x2e,0x39, + 0x33,0x38,0x33,0x37,0x20,0x32,0x38,0x30,0x2e,0x32,0x38,0x35,0x31,0x32,0x2c,0x35, + 0x35,0x36,0x2e,0x38,0x36,0x37,0x38,0x38,0x20,0x32,0x38,0x33,0x2e,0x33,0x36,0x31, + 0x30,0x34,0x2c,0x35,0x35,0x36,0x2e,0x33,0x31,0x32,0x30,0x32,0x20,0x4c,0x20,0x32, + 0x38,0x35,0x2e,0x35,0x33,0x39,0x31,0x38,0x2c,0x35,0x35,0x35,0x2e,0x39,0x31,0x38, + 0x34,0x20,0x4c,0x20,0x32,0x39,0x37,0x2e,0x38,0x31,0x38,0x31,0x32,0x2c,0x35,0x37, + 0x31,0x2e,0x39,0x32,0x30,0x32,0x33,0x20,0x43,0x20,0x33,0x30,0x34,0x2e,0x35,0x37, + 0x31,0x35,0x34,0x2c,0x35,0x38,0x30,0x2e,0x37,0x32,0x31,0x32,0x34,0x20,0x33,0x31, + 0x30,0x2e,0x30,0x33,0x31,0x35,0x31,0x2c,0x35,0x38,0x38,0x2e,0x30,0x39,0x34,0x35, + 0x31,0x20,0x33,0x30,0x39,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x38,0x2e, + 0x33,0x30,0x35,0x33,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x30,0x2e,0x33,0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a, + 0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x30,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66, + 0x66,0x66,0x66,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22, + 0x4d,0x20,0x33,0x33,0x30,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x30,0x2e,0x31, + 0x30,0x35,0x39,0x32,0x20,0x43,0x20,0x33,0x33,0x30,0x2e,0x30,0x32,0x39,0x39,0x36, + 0x2c,0x35,0x37,0x31,0x2e,0x36,0x32,0x34,0x38,0x36,0x20,0x33,0x32,0x34,0x2e,0x30, + 0x35,0x38,0x36,0x37,0x2c,0x35,0x37,0x37,0x2e,0x32,0x37,0x31,0x33,0x38,0x20,0x33, + 0x32,0x31,0x2e,0x32,0x37,0x32,0x36,0x35,0x2c,0x35,0x37,0x38,0x2e,0x39,0x33,0x32, + 0x30,0x32,0x20,0x4c,0x20,0x33,0x31,0x38,0x2e,0x31,0x39,0x32,0x38,0x2c,0x35,0x38, + 0x30,0x2e,0x37,0x36,0x37,0x38,0x20,0x4c,0x20,0x33,0x30,0x35,0x2e,0x35,0x32,0x30, + 0x39,0x2c,0x35,0x36,0x34,0x2e,0x32,0x35,0x33,0x38,0x36,0x20,0x4c,0x20,0x32,0x39, + 0x32,0x2e,0x38,0x34,0x38,0x39,0x39,0x2c,0x35,0x34,0x37,0x2e,0x37,0x33,0x39,0x39, + 0x34,0x20,0x4c,0x20,0x32,0x39,0x35,0x2e,0x30,0x33,0x30,0x31,0x39,0x2c,0x35,0x34, + 0x35,0x2e,0x34,0x37,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x39,0x37,0x2e,0x31,0x36, + 0x34,0x38,0x31,0x2c,0x35,0x34,0x33,0x2e,0x32,0x36,0x36,0x32,0x32,0x20,0x33,0x30, + 0x33,0x2e,0x35,0x36,0x39,0x38,0x35,0x2c,0x35,0x33,0x38,0x2e,0x39,0x36,0x37,0x39, + 0x35,0x20,0x33,0x30,0x35,0x2e,0x36,0x35,0x31,0x39,0x37,0x2c,0x35,0x33,0x38,0x2e, + 0x33,0x35,0x30,0x39,0x32,0x20,0x43,0x20,0x33,0x30,0x36,0x2e,0x35,0x35,0x35,0x39, + 0x35,0x2c,0x35,0x33,0x38,0x2e,0x30,0x38,0x33,0x30,0x32,0x20,0x33,0x30,0x38,0x2e, + 0x33,0x37,0x37,0x36,0x31,0x2c,0x35,0x34,0x30,0x2e,0x32,0x32,0x33,0x38,0x32,0x20, + 0x33,0x31,0x38,0x2e,0x37,0x37,0x30,0x30,0x37,0x2c,0x35,0x35,0x33,0x2e,0x37,0x36, + 0x37,0x32,0x20,0x43,0x20,0x33,0x32,0x35,0x2e,0x34,0x30,0x37,0x36,0x35,0x2c,0x35, + 0x36,0x32,0x2e,0x34,0x31,0x37,0x32,0x34,0x20,0x33,0x33,0x30,0x2e,0x37,0x33,0x34, + 0x30,0x31,0x2c,0x35,0x36,0x39,0x2e,0x37,0x36,0x39,0x36,0x37,0x20,0x33,0x33,0x30, + 0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x30,0x2e,0x31,0x30,0x35,0x39,0x32,0x20, + 0x7a,0x20,0x4d,0x20,0x32,0x36,0x37,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x38, + 0x37,0x2e,0x37,0x31,0x38,0x35,0x36,0x20,0x43,0x20,0x32,0x36,0x36,0x2e,0x37,0x30, + 0x34,0x36,0x34,0x2c,0x34,0x38,0x38,0x2e,0x39,0x37,0x33,0x36,0x20,0x32,0x35,0x39, + 0x2e,0x31,0x36,0x39,0x33,0x32,0x2c,0x34,0x39,0x35,0x2e,0x33,0x39,0x37,0x35,0x32, + 0x20,0x32,0x35,0x36,0x2e,0x37,0x31,0x33,0x35,0x34,0x2c,0x34,0x39,0x36,0x2e,0x36, + 0x34,0x32,0x30,0x39,0x20,0x4c,0x20,0x32,0x35,0x34,0x2e,0x34,0x38,0x32,0x33,0x38, + 0x2c,0x34,0x39,0x37,0x2e,0x37,0x37,0x32,0x38,0x20,0x4c,0x20,0x32,0x34,0x31,0x2e, + 0x39,0x39,0x32,0x39,0x39,0x2c,0x34,0x38,0x31,0x2e,0x32,0x30,0x33,0x32,0x32,0x20, + 0x4c,0x20,0x32,0x32,0x39,0x2e,0x35,0x30,0x33,0x35,0x39,0x2c,0x34,0x36,0x34,0x2e, + 0x36,0x33,0x33,0x36,0x33,0x20,0x4c,0x20,0x32,0x33,0x33,0x2e,0x38,0x30,0x33,0x37, + 0x39,0x2c,0x34,0x36,0x31,0x2e,0x30,0x38,0x36,0x35,0x36,0x20,0x43,0x20,0x32,0x33, + 0x36,0x2e,0x31,0x36,0x38,0x39,0x31,0x2c,0x34,0x35,0x39,0x2e,0x31,0x33,0x35,0x36, + 0x37,0x20,0x32,0x33,0x39,0x2e,0x32,0x37,0x30,0x34,0x32,0x2c,0x34,0x35,0x37,0x2e, + 0x30,0x35,0x38,0x30,0x32,0x20,0x32,0x34,0x30,0x2e,0x36,0x39,0x36,0x30,0x33,0x2c, + 0x34,0x35,0x36,0x2e,0x34,0x36,0x39,0x35,0x35,0x20,0x4c,0x20,0x32,0x34,0x33,0x2e, + 0x32,0x38,0x38,0x30,0x35,0x2c,0x34,0x35,0x35,0x2e,0x33,0x39,0x39,0x36,0x31,0x20, + 0x4c,0x20,0x32,0x35,0x35,0x2e,0x33,0x38,0x34,0x35,0x35,0x2c,0x34,0x37,0x31,0x2e, + 0x31,0x36,0x33,0x36,0x37,0x20,0x43,0x20,0x32,0x36,0x33,0x2e,0x34,0x39,0x35,0x30, + 0x35,0x2c,0x34,0x38,0x31,0x2e,0x37,0x33,0x33,0x32,0x31,0x20,0x32,0x36,0x37,0x2e, + 0x33,0x38,0x32,0x31,0x36,0x2c,0x34,0x38,0x37,0x2e,0x31,0x38,0x38,0x33,0x32,0x20, + 0x32,0x36,0x37,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x38,0x37,0x2e,0x37,0x31, + 0x38,0x35,0x36,0x20,0x7a,0x20,0x4d,0x20,0x33,0x31,0x35,0x2e,0x39,0x35,0x31,0x33, + 0x37,0x2c,0x35,0x38,0x32,0x2e,0x33,0x30,0x35,0x33,0x20,0x43,0x20,0x33,0x31,0x35, + 0x2e,0x38,0x37,0x31,0x32,0x34,0x2c,0x35,0x38,0x32,0x2e,0x35,0x31,0x36,0x30,0x39, + 0x20,0x33,0x31,0x34,0x2e,0x34,0x37,0x35,0x2c,0x35,0x38,0x33,0x2e,0x33,0x36,0x34, + 0x31,0x38,0x20,0x33,0x31,0x32,0x2e,0x38,0x34,0x38,0x36,0x32,0x2c,0x35,0x38,0x34, + 0x2e,0x31,0x38,0x39,0x39,0x36,0x20,0x43,0x20,0x33,0x30,0x30,0x2e,0x30,0x36,0x37, + 0x35,0x36,0x2c,0x35,0x39,0x30,0x2e,0x36,0x37,0x39,0x34,0x31,0x20,0x32,0x37,0x39, + 0x2e,0x35,0x32,0x35,0x36,0x2c,0x35,0x38,0x33,0x2e,0x30,0x34,0x30,0x33,0x36,0x20, + 0x32,0x36,0x30,0x2e,0x31,0x38,0x36,0x37,0x32,0x2c,0x35,0x36,0x34,0x2e,0x36,0x30, + 0x36,0x33,0x33,0x20,0x43,0x20,0x32,0x35,0x33,0x2e,0x33,0x34,0x31,0x37,0x34,0x2c, + 0x35,0x35,0x38,0x2e,0x30,0x38,0x31,0x36,0x20,0x32,0x33,0x39,0x2e,0x32,0x32,0x31, + 0x36,0x35,0x2c,0x35,0x34,0x30,0x2e,0x36,0x30,0x32,0x39,0x37,0x20,0x32,0x33,0x33, + 0x2e,0x36,0x34,0x33,0x35,0x37,0x2c,0x35,0x33,0x31,0x2e,0x37,0x34,0x39,0x37,0x32, + 0x20,0x43,0x20,0x32,0x32,0x32,0x2e,0x38,0x37,0x39,0x30,0x32,0x2c,0x35,0x31,0x34, + 0x2e,0x36,0x36,0x34,0x37,0x38,0x20,0x32,0x31,0x37,0x2e,0x38,0x31,0x36,0x37,0x37, + 0x2c,0x35,0x30,0x30,0x2e,0x33,0x32,0x31,0x30,0x32,0x20,0x32,0x31,0x37,0x2e,0x39, + 0x36,0x35,0x39,0x38,0x2c,0x34,0x38,0x37,0x2e,0x33,0x32,0x37,0x36,0x36,0x20,0x43, + 0x20,0x32,0x31,0x38,0x2e,0x30,0x35,0x39,0x31,0x2c,0x34,0x37,0x39,0x2e,0x32,0x31, + 0x38,0x37,0x32,0x20,0x32,0x32,0x30,0x2e,0x37,0x32,0x30,0x34,0x37,0x2c,0x34,0x37, + 0x32,0x2e,0x33,0x37,0x36,0x37,0x20,0x32,0x32,0x35,0x2e,0x34,0x39,0x32,0x38,0x34, + 0x2c,0x34,0x36,0x37,0x2e,0x39,0x37,0x37,0x30,0x34,0x20,0x4c,0x20,0x32,0x32,0x37, + 0x2e,0x31,0x32,0x39,0x32,0x33,0x2c,0x34,0x36,0x36,0x2e,0x34,0x36,0x38,0x34,0x34, + 0x20,0x4c,0x20,0x32,0x33,0x39,0x2e,0x36,0x38,0x32,0x2c,0x34,0x38,0x32,0x2e,0x35, + 0x38,0x32,0x38,0x33,0x20,0x4c,0x20,0x32,0x35,0x32,0x2e,0x32,0x33,0x34,0x37,0x38, + 0x2c,0x34,0x39,0x38,0x2e,0x36,0x39,0x37,0x32,0x32,0x20,0x4c,0x20,0x32,0x35,0x31, + 0x2e,0x32,0x31,0x39,0x35,0x32,0x2c,0x35,0x30,0x30,0x2e,0x34,0x35,0x35,0x37,0x35, + 0x20,0x43,0x20,0x32,0x34,0x39,0x2e,0x38,0x31,0x37,0x31,0x38,0x2c,0x35,0x30,0x32, + 0x2e,0x38,0x38,0x34,0x37,0x20,0x32,0x35,0x30,0x2e,0x30,0x37,0x30,0x38,0x34,0x2c, + 0x35,0x30,0x36,0x2e,0x30,0x37,0x30,0x34,0x20,0x32,0x35,0x32,0x2e,0x30,0x35,0x32, + 0x35,0x34,0x2c,0x35,0x31,0x30,0x2e,0x39,0x31,0x37,0x34,0x39,0x20,0x43,0x20,0x32, + 0x35,0x34,0x2e,0x35,0x33,0x39,0x36,0x36,0x2c,0x35,0x31,0x37,0x2e,0x30,0x30,0x30, + 0x37,0x39,0x20,0x32,0x37,0x34,0x2e,0x32,0x37,0x31,0x39,0x33,0x2c,0x35,0x34,0x32, + 0x2e,0x37,0x30,0x32,0x37,0x35,0x20,0x32,0x37,0x39,0x2e,0x35,0x36,0x35,0x37,0x37, + 0x2c,0x35,0x34,0x36,0x2e,0x37,0x35,0x34,0x34,0x32,0x20,0x43,0x20,0x32,0x38,0x33, + 0x2e,0x37,0x32,0x35,0x38,0x36,0x2c,0x35,0x34,0x39,0x2e,0x39,0x33,0x38,0x33,0x37, + 0x20,0x32,0x38,0x36,0x2e,0x32,0x38,0x35,0x31,0x32,0x2c,0x35,0x35,0x30,0x2e,0x38, + 0x36,0x37,0x38,0x38,0x20,0x32,0x38,0x39,0x2e,0x33,0x36,0x31,0x30,0x34,0x2c,0x35, + 0x35,0x30,0x2e,0x33,0x31,0x32,0x30,0x32,0x20,0x4c,0x20,0x32,0x39,0x31,0x2e,0x35, + 0x33,0x39,0x31,0x38,0x2c,0x35,0x34,0x39,0x2e,0x39,0x31,0x38,0x34,0x20,0x4c,0x20, + 0x33,0x30,0x33,0x2e,0x38,0x31,0x38,0x31,0x32,0x2c,0x35,0x36,0x35,0x2e,0x39,0x32, + 0x30,0x32,0x33,0x20,0x43,0x20,0x33,0x31,0x30,0x2e,0x35,0x37,0x31,0x35,0x34,0x2c, + 0x35,0x37,0x34,0x2e,0x37,0x32,0x31,0x32,0x34,0x20,0x33,0x31,0x36,0x2e,0x30,0x33, + 0x31,0x35,0x31,0x2c,0x35,0x38,0x32,0x2e,0x30,0x39,0x34,0x35,0x31,0x20,0x33,0x31, + 0x35,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x32,0x2e,0x33,0x30,0x35,0x33, + 0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x39,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66, + 0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x30,0x39,0x29,0x3b,0x66,0x69,0x6c, + 0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x64,0x3d,0x22,0x4d,0x20,0x33,0x39,0x2e,0x39,0x36,0x31,0x39,0x39,0x31,0x2c,0x32, + 0x31,0x2e,0x34,0x30,0x32,0x35,0x38,0x37,0x20,0x4c,0x20,0x33,0x38,0x2e,0x33,0x39, + 0x30,0x39,0x37,0x32,0x2c,0x32,0x32,0x2e,0x30,0x36,0x32,0x34,0x31,0x35,0x20,0x43, + 0x20,0x33,0x37,0x2e,0x35,0x33,0x32,0x39,0x34,0x37,0x2c,0x32,0x32,0x2e,0x34,0x31, + 0x36,0x35,0x39,0x34,0x20,0x33,0x35,0x2e,0x36,0x36,0x36,0x39,0x36,0x37,0x2c,0x32, + 0x33,0x2e,0x36,0x35,0x33,0x32,0x33,0x34,0x20,0x33,0x34,0x2e,0x32,0x34,0x33,0x34, + 0x38,0x34,0x2c,0x32,0x34,0x2e,0x38,0x32,0x37,0x34,0x30,0x37,0x20,0x4c,0x20,0x33, + 0x31,0x2e,0x36,0x36,0x37,0x30,0x31,0x34,0x2c,0x32,0x36,0x2e,0x39,0x36,0x33,0x39, + 0x39,0x32,0x20,0x4c,0x20,0x33,0x39,0x2e,0x31,0x37,0x36,0x34,0x38,0x32,0x2c,0x33, + 0x36,0x2e,0x39,0x35,0x35,0x36,0x36,0x39,0x20,0x4c,0x20,0x34,0x33,0x2e,0x31,0x36, + 0x36,0x38,0x36,0x38,0x2c,0x34,0x32,0x2e,0x32,0x33,0x34,0x32,0x39,0x20,0x43,0x20, + 0x34,0x34,0x2e,0x38,0x33,0x33,0x34,0x39,0x33,0x2c,0x33,0x39,0x2e,0x30,0x30,0x37, + 0x36,0x34,0x38,0x20,0x34,0x36,0x2e,0x38,0x34,0x34,0x38,0x31,0x32,0x2c,0x33,0x36, + 0x2e,0x30,0x33,0x37,0x39,0x32,0x33,0x20,0x34,0x39,0x2e,0x31,0x30,0x35,0x33,0x31, + 0x38,0x2c,0x33,0x33,0x2e,0x33,0x34,0x32,0x33,0x32,0x36,0x20,0x43,0x20,0x34,0x38, + 0x2e,0x35,0x30,0x31,0x37,0x33,0x31,0x2c,0x33,0x32,0x2e,0x35,0x34,0x35,0x37,0x35, + 0x38,0x20,0x34,0x37,0x2e,0x39,0x36,0x32,0x37,0x38,0x38,0x2c,0x33,0x31,0x2e,0x38, + 0x31,0x38,0x34,0x36,0x32,0x20,0x34,0x37,0x2e,0x32,0x35,0x31,0x35,0x31,0x36,0x2c, + 0x33,0x30,0x2e,0x38,0x39,0x31,0x35,0x33,0x38,0x20,0x4c,0x20,0x33,0x39,0x2e,0x39, + 0x36,0x31,0x39,0x39,0x31,0x2c,0x32,0x31,0x2e,0x34,0x30,0x32,0x35,0x38,0x37,0x20, + 0x7a,0x20,0x4d,0x20,0x33,0x30,0x2e,0x32,0x35,0x33,0x30,0x39,0x37,0x2c,0x32,0x38, + 0x2e,0x30,0x36,0x33,0x37,0x30,0x35,0x20,0x4c,0x20,0x32,0x39,0x2e,0x32,0x34,0x37, + 0x36,0x34,0x35,0x2c,0x32,0x38,0x2e,0x39,0x37,0x34,0x38,0x39,0x35,0x20,0x43,0x20, + 0x32,0x36,0x2e,0x33,0x37,0x35,0x33,0x32,0x32,0x2c,0x33,0x31,0x2e,0x36,0x32,0x32, + 0x38,0x39,0x37,0x20,0x32,0x34,0x2e,0x37,0x37,0x39,0x31,0x35,0x37,0x2c,0x33,0x35, + 0x2e,0x37,0x35,0x31,0x33,0x36,0x35,0x20,0x32,0x34,0x2e,0x37,0x32,0x33,0x31,0x31, + 0x33,0x2c,0x34,0x30,0x2e,0x36,0x33,0x31,0x38,0x35,0x32,0x20,0x43,0x20,0x32,0x34, + 0x2e,0x36,0x33,0x33,0x33,0x30,0x39,0x2c,0x34,0x38,0x2e,0x34,0x35,0x32,0x31,0x30, + 0x34,0x20,0x32,0x37,0x2e,0x36,0x37,0x30,0x34,0x31,0x35,0x2c,0x35,0x37,0x2e,0x30, + 0x38,0x37,0x37,0x35,0x35,0x20,0x33,0x34,0x2e,0x31,0x34,0x39,0x32,0x32,0x33,0x2c, + 0x36,0x37,0x2e,0x33,0x37,0x30,0x35,0x38,0x34,0x20,0x43,0x20,0x33,0x35,0x2e,0x30, + 0x33,0x36,0x35,0x30,0x36,0x2c,0x36,0x38,0x2e,0x37,0x37,0x38,0x38,0x33,0x36,0x20, + 0x33,0x36,0x2e,0x33,0x30,0x31,0x33,0x39,0x36,0x2c,0x37,0x30,0x2e,0x35,0x34,0x34, + 0x37,0x35,0x37,0x20,0x33,0x37,0x2e,0x37,0x33,0x31,0x31,0x34,0x35,0x2c,0x37,0x32, + 0x2e,0x34,0x36,0x30,0x36,0x38,0x34,0x20,0x43,0x20,0x33,0x37,0x2e,0x35,0x31,0x38, + 0x39,0x35,0x31,0x2c,0x37,0x30,0x2e,0x35,0x31,0x32,0x32,0x36,0x20,0x33,0x37,0x2e, + 0x33,0x38,0x35,0x35,0x32,0x31,0x2c,0x36,0x38,0x2e,0x35,0x33,0x35,0x30,0x37,0x31, + 0x20,0x33,0x37,0x2e,0x33,0x38,0x35,0x35,0x32,0x31,0x2c,0x36,0x36,0x2e,0x35,0x32, + 0x32,0x32,0x33,0x34,0x20,0x43,0x20,0x33,0x37,0x2e,0x33,0x38,0x35,0x35,0x32,0x31, + 0x2c,0x35,0x38,0x2e,0x32,0x39,0x32,0x32,0x38,0x20,0x33,0x39,0x2e,0x31,0x39,0x32, + 0x34,0x36,0x31,0x2c,0x35,0x30,0x2e,0x35,0x32,0x36,0x33,0x37,0x32,0x20,0x34,0x32, + 0x2e,0x34,0x31,0x32,0x37,0x37,0x39,0x2c,0x34,0x33,0x2e,0x37,0x34,0x32,0x34,0x36, + 0x38,0x20,0x4c,0x20,0x33,0x37,0x2e,0x37,0x39,0x33,0x39,0x38,0x35,0x2c,0x33,0x37, + 0x2e,0x37,0x37,0x32,0x35,0x39,0x38,0x20,0x4c,0x20,0x33,0x30,0x2e,0x32,0x35,0x33, + 0x30,0x39,0x37,0x2c,0x32,0x38,0x2e,0x30,0x36,0x33,0x37,0x30,0x35,0x20,0x7a,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68, + 0x33,0x37,0x39,0x38,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa, + 0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/history2.svg + 0x0,0x0,0x22,0x75, + 0x0, + 0x0,0xa7,0x13,0x78,0x9c,0xad,0x5d,0x5b,0x73,0x5b,0xb9,0x91,0x7e,0xce,0xfc,0xa, + 0xae,0xe6,0x25,0x53,0x4b,0x51,0xb8,0x5f,0x14,0x7b,0x52,0xb6,0x65,0x4d,0x4d,0x15, + 0x53,0x9b,0xda,0x49,0xb2,0x8f,0x2e,0x59,0xa2,0x6d,0x66,0x64,0x51,0x45,0xd1,0x63, + 0x7b,0x7e,0xfd,0x76,0x3,0xd,0xe0,0x0,0x24,0x31,0x3c,0xf1,0x71,0x6a,0x22,0x7e, + 0x0,0xba,0x1,0x1c,0x7c,0xb8,0x35,0xd0,0xe7,0x3c,0xfb,0xeb,0x97,0x8f,0xf7,0xb3, + 0xdf,0x56,0xdb,0xa7,0xf5,0xe6,0xe1,0xf9,0x19,0x5f,0xb0,0xb3,0xd9,0xea,0xe1,0x76, + 0x73,0xb7,0x7e,0x78,0xff,0xfc,0xec,0x9f,0xff,0xb8,0x3e,0x77,0x67,0xb3,0xa7,0xdd, + 0xcd,0xc3,0xdd,0xcd,0xfd,0xe6,0x61,0xf5,0xfc,0xec,0x61,0x73,0xf6,0xd7,0x1f,0xbf, + 0x7b,0xf6,0x5f,0xe7,0xe7,0xb3,0x9f,0x56,0xf,0xab,0xed,0xcd,0x6e,0xb3,0xbd,0x9c, + 0xbd,0xb8,0xdb,0xbc,0x5d,0xcd,0x7e,0xbe,0xbf,0xff,0xf4,0xb4,0xb,0x41,0x33,0x2e, + 0x17,0x6c,0xc1,0xe6,0xb3,0x5f,0xfe,0xf5,0xd3,0xec,0xf5,0x97,0xc7,0xcd,0x76,0x37, + 0xfb,0xfb,0xfd,0xa7,0xf7,0xe7,0x3f,0x3f,0xcc,0x16,0x21,0xf0,0x5f,0x31,0xcf,0xcb, + 0x99,0x59,0x30,0x36,0x7b,0xf9,0x69,0x7d,0x7f,0x37,0xe3,0xca,0x2b,0xf7,0xc3,0x6c, + 0x76,0x7e,0xe,0x59,0x3c,0xfd,0xf6,0xfe,0xbb,0xd9,0x6c,0x6,0xe5,0x7b,0x78,0xba, + 0xbc,0xbb,0x7d,0x7e,0xf6,0x61,0xb7,0x7b,0xbc,0xbc,0xb8,0x78,0xfc,0xb4,0xbd,0x5f, + 0x6c,0xb6,0xef,0x2f,0xee,0x6e,0x2f,0x56,0xf7,0xab,0x8f,0xab,0x87,0xdd,0xd3,0x5, + 0x5f,0xf0,0x8b,0xb3,0x92,0xfc,0xb6,0x24,0xbf,0xdd,0xae,0x6e,0x76,0xeb,0xdf,0x56, + 0xb7,0x9b,0x8f,0x1f,0x37,0xf,0x4f,0x41,0xf2,0xe1,0xe9,0xfb,0x41,0xe2,0xed,0xdd, + 0xbb,0x9c,0xfa,0xf3,0xe7,0xcf,0x8b,0xcf,0x32,0x24,0xe2,0xde,0xfb,0xb,0x26,0x2e, + 0x84,0x38,0x87,0x14,0xe7,0x4f,0x5f,0x1f,0x76,0x37,0x5f,0xce,0x6b,0x51,0x28,0xe3, + 0x21,0x51,0xc1,0x18,0xbb,0x80,0xb8,0x92,0xf2,0xb4,0x54,0x97,0x5f,0xee,0xd7,0xf, + 0xbf,0x1e,0x2d,0x4c,0x88,0x1d,0xe6,0xe,0xcd,0xf4,0x8,0xff,0x65,0x81,0x14,0xb0, + 0x78,0xda,0x7c,0xda,0xde,0xae,0xde,0x81,0xe4,0x6a,0xf1,0xb0,0xda,0x5d,0x5c,0xfd, + 0xe3,0x2a,0x47,0x9e,0xb3,0xc5,0xdd,0xee,0x6e,0xa0,0x6,0x94,0x3e,0xdd,0xde,0x3c, + 0xae,0xaa,0x7c,0x53,0x60,0x7c,0x5e,0x37,0x1f,0x57,0x4f,0x8f,0x37,0xb7,0xab,0xa7, + 0x8b,0x14,0x1e,0xe4,0x2b,0xde,0x4,0x85,0xcf,0xcf,0xd8,0xe3,0x97,0xf0,0xf3,0x6b, + 0xf9,0xf9,0x79,0x7d,0xb7,0xfb,0xf0,0xfc,0x4c,0x88,0x80,0x3e,0xac,0xd6,0xef,0x3f, + 0xec,0x32,0xfc,0x6d,0xbd,0xfa,0xfc,0x72,0x83,0x82,0x33,0x36,0xe3,0xc2,0xe1,0x7f, + 0x21,0x62,0xf5,0x70,0xf3,0xf6,0x7e,0x75,0xfe,0xf6,0xe6,0xf6,0xd7,0xf7,0xdb,0xcd, + 0xa7,0x87,0x3b,0x20,0xdf,0xea,0xf3,0xac,0x4d,0x6,0x75,0xb8,0xc,0x65,0x7b,0x7e, + 0xf6,0xb8,0x5d,0x3d,0xad,0xb6,0xbf,0xc5,0xb2,0xad,0x21,0x3d,0x3c,0xdc,0x98,0x49, + 0xaa,0xfb,0x65,0x2e,0x31,0x5b,0xc8,0x18,0x95,0x2a,0x34,0x8c,0x52,0xa6,0x96,0xba, + 0xdb,0xdc,0xe2,0x23,0x80,0x7,0xb4,0x7e,0x2,0x72,0x7f,0x15,0x8b,0xd4,0x6c,0x59, + 0x7a,0xf3,0x69,0xf7,0xf8,0x69,0xf7,0x66,0xf5,0x65,0xb7,0x7a,0x88,0x6a,0xe0,0xc1, + 0xd,0x9e,0x62,0x88,0x46,0xb1,0x1c,0x76,0xf6,0xe3,0xb3,0x8f,0xab,0xdd,0xcd,0xdd, + 0xcd,0xee,0x26,0x95,0x37,0x61,0x3,0x65,0xfb,0xf1,0x19,0xb0,0xee,0xf2,0x7f,0xaf, + 0xae,0x7f,0x7c,0x76,0x7b,0x7b,0xf9,0x7f,0x9b,0xed,0xaf,0x98,0xa,0xff,0x61,0xf8, + 0xcd,0x5b,0xd0,0xf8,0xfc,0xc,0x52,0xdd,0xdd,0x5e,0x42,0x3b,0x7f,0xbc,0xd9,0xfd, + 0xb8,0xfe,0x78,0xf3,0x7e,0x85,0x84,0xfa,0x6f,0x78,0x26,0xcf,0x2e,0x4a,0x4,0xa6, + 0xd9,0x7d,0x7d,0x5c,0x25,0x5,0x51,0x5,0x3c,0xac,0xc0,0x92,0x83,0x1d,0xeb,0xee, + 0xf6,0xe3,0x1a,0x45,0x2e,0x7e,0xd9,0xad,0xef,0xef,0x7f,0x46,0xcd,0x67,0xb3,0x8b, + 0x1f,0x9f,0x5d,0x50,0x59,0xe0,0x57,0x2e,0xde,0x45,0x2a,0xf6,0x8f,0xcf,0xf2,0x13, + 0xc3,0xc7,0x75,0x87,0x4d,0x5b,0x3d,0xa4,0xcf,0xeb,0x87,0xbb,0xcd,0xe7,0xf3,0xc4, + 0x0,0x2b,0x9a,0x26,0xa0,0x78,0xe2,0x8b,0x51,0x4d,0xf4,0x23,0x94,0xe2,0xe9,0xc3, + 0xd,0x24,0x1,0xf6,0xec,0x47,0x6d,0x80,0x5,0x50,0x68,0x6c,0xc0,0xc8,0xc6,0xf7, + 0x9f,0xd6,0x77,0xab,0xdd,0xe6,0x1e,0x46,0xa9,0x7,0xac,0x27,0xcf,0x11,0x5b,0xc8, + 0xe1,0x40,0xf8,0xe6,0xed,0xbf,0x57,0xb7,0xbb,0x43,0x31,0x6f,0x37,0xdb,0xbb,0xd5, + 0x36,0xe7,0xc0,0xab,0xe0,0xdb,0xcd,0xfd,0x66,0xfb,0xfc,0xec,0x7b,0x13,0xfe,0x85, + 0x8,0x2c,0x4f,0xa,0x7e,0x17,0xfe,0x65,0x52,0xbe,0xbd,0x79,0x8a,0xc,0x7d,0xfa, + 0xb0,0xf9,0x8c,0x25,0x79,0x7e,0xf6,0xee,0xe6,0x9e,0xc2,0x72,0x85,0x7e,0xdf,0x6c, + 0x3e,0x3e,0x3f,0x93,0xb,0xa7,0xbd,0xb4,0xba,0x8e,0xbb,0xfd,0x82,0xf,0xa7,0x9, + 0xfb,0xba,0x1f,0x46,0x8f,0x13,0xfb,0xd6,0xc1,0x8,0x10,0x11,0xad,0x9a,0x4f,0xdb, + 0x2d,0xc,0xa8,0xe7,0xf7,0x37,0x5f,0x57,0x5b,0xea,0x40,0xd0,0xee,0xdf,0x3d,0xbb, + 0x5b,0xbd,0x7b,0x4a,0x35,0xc0,0xdf,0xa,0xa8,0x57,0x9e,0x3e,0x74,0x9d,0x47,0x78, + 0x72,0x30,0xcc,0x56,0xfd,0x6,0x19,0xf4,0xfc,0xac,0x4e,0x26,0xef,0x9a,0x6e,0xf7, + 0xf8,0x26,0x74,0x7e,0x98,0x8,0x14,0xfc,0x1f,0xdf,0x8b,0xfd,0x1a,0x63,0x39,0x8c, + 0x96,0xf0,0x87,0xed,0xc5,0xff,0xe,0xcd,0x1,0xe3,0xc1,0x61,0x79,0xca,0xf2,0x7c, + 0xb3,0x5d,0xbf,0x5f,0x3f,0xe0,0x23,0x82,0x34,0x4a,0x2c,0x42,0x4b,0xd9,0x92,0x1e, + 0x6a,0x35,0xa8,0x84,0x91,0x2a,0xd6,0xfa,0xdd,0xfa,0x7e,0xb7,0xda,0xa6,0x14,0x3f, + 0xdd,0x7c,0x7a,0x7a,0x5a,0xdf,0x3c,0xbc,0x79,0x79,0xff,0x69,0x7b,0x86,0xd1,0xab, + 0x14,0x84,0x21,0x31,0xe3,0xe7,0x67,0xbf,0x84,0x6e,0xf5,0xd3,0xf6,0xe6,0xf1,0xc3, + 0xfa,0x36,0xb6,0xf4,0xee,0xee,0x6a,0xf5,0xdb,0x1a,0xe6,0xa1,0x30,0x58,0xe6,0x2c, + 0x6b,0x79,0x1b,0xf3,0xbc,0x88,0x99,0xe2,0x2f,0x7c,0xd0,0xf0,0xf7,0x7d,0x4a,0xbf, + 0xc4,0x56,0x79,0xc3,0xe1,0xd9,0x7f,0xf7,0xa7,0x67,0xb7,0xeb,0xed,0xed,0x7d,0x78, + 0xde,0x91,0xf,0xb,0x2e,0x22,0x4f,0x2,0x15,0xe4,0x42,0xb0,0x38,0x40,0x42,0x33, + 0x1a,0xbe,0x30,0x14,0xf9,0xb4,0xfb,0x7a,0xf,0x6d,0x42,0x4c,0xbe,0x64,0xb,0xfd, + 0x97,0x98,0xdf,0x25,0xf4,0xfe,0x3f,0x7f,0x5f,0x55,0xf1,0x87,0x5c,0xd0,0x98,0x17, + 0x67,0xf5,0xb0,0xd8,0xe4,0x5b,0xc2,0xeb,0x2,0xe4,0xf0,0xed,0x97,0xba,0x28,0x39, + 0xfc,0x6b,0xe,0x8f,0x4f,0xe0,0xfd,0x7e,0xa5,0xc5,0xa1,0x3a,0x8b,0xba,0xce,0x7c, + 0xe1,0xa8,0xab,0xd4,0x75,0x1e,0xd4,0x40,0x1e,0xa8,0x81,0x38,0x52,0x83,0xa2,0x6e, + 0x4c,0xd,0x6,0xf,0x19,0x1e,0xec,0xfd,0xe5,0xf7,0xec,0x4e,0x72,0x7b,0x77,0xbc, + 0x66,0x32,0xd4,0xc,0xa6,0xf6,0xd5,0xcd,0x16,0x48,0x73,0xb7,0x86,0xfe,0x97,0x52, + 0xc0,0x42,0xe9,0xe7,0xab,0x37,0xfc,0xd,0x8d,0x5a,0x31,0xf2,0x9f,0xf,0xeb,0x1d, + 0x2c,0x28,0x3e,0xc1,0x5c,0xf7,0xb,0x4e,0x7c,0xff,0xf3,0xf0,0x4f,0x1a,0x3d,0xbe, + 0xf0,0x50,0xc,0xe5,0x7d,0x2c,0xc7,0x57,0x8e,0x43,0x8,0x15,0xea,0x8b,0x68,0x22, + 0x5,0x76,0x1c,0x20,0x0,0xe6,0xff,0xa7,0x67,0x30,0xb1,0x3d,0x86,0x31,0xf0,0xdd, + 0xbb,0xa7,0xd5,0x2e,0xd,0x19,0x54,0x13,0x8c,0x3c,0xf,0xe3,0xd9,0xe5,0xf7,0xfc, + 0x95,0x95,0x57,0xbe,0xcc,0xb1,0x10,0xc5,0x23,0x75,0xf,0x68,0xe1,0xc7,0xb4,0xbc, + 0xd6,0xd7,0xee,0xfa,0xba,0xd6,0xe2,0xa3,0x96,0x67,0x17,0xf5,0xc3,0x38,0xd0,0xf0, + 0x7c,0x51,0x35,0x7b,0x69,0x75,0xed,0x17,0x7b,0x8d,0x2e,0xf8,0x81,0x46,0x4f,0x1a, + 0xda,0x26,0x3f,0xd4,0xe2,0x45,0x69,0xd5,0xe0,0x83,0xe0,0x41,0x7b,0x87,0x6e,0x94, + 0xda,0xed,0x87,0xe3,0xcd,0xae,0xfe,0xb0,0xd9,0xc5,0x98,0x66,0x87,0xc2,0x48,0xce, + 0xe0,0x7f,0xb9,0xe1,0x15,0x2c,0x63,0x8c,0x63,0x4c,0xe4,0xd6,0x6f,0xd2,0x60,0xfb, + 0x73,0xb3,0xd0,0x42,0x88,0x91,0x14,0xb8,0xe,0xff,0xaa,0xc6,0xa3,0xbe,0x7b,0x48, + 0xcb,0x42,0xf3,0xa3,0x34,0xe0,0xd7,0xf6,0xc5,0x95,0xaa,0x35,0x1d,0x25,0x13,0x68, + 0x32,0x46,0x1e,0x53,0x25,0xb4,0x7d,0x7d,0xa5,0x6b,0x55,0xfe,0xb8,0x2a,0x23,0xed, + 0xd1,0x52,0x49,0xe5,0x5c,0x43,0x71,0xc9,0x8f,0xab,0xb2,0xfc,0x78,0xa9,0xd4,0xb5, + 0x77,0x57,0xaf,0x6b,0x55,0xf2,0xb8,0x2a,0xc7,0xa0,0x2f,0x1d,0x51,0x65,0xe5,0x4b, + 0xf6,0xda,0xd4,0xaa,0x3a,0x4f,0xdd,0x79,0xee,0x8f,0xa9,0x7a,0x21,0x5e,0xbd,0xbe, + 0xe6,0xb5,0xaa,0xce,0x63,0xf7,0x4e,0x1d,0x55,0x75,0xf5,0xf2,0x5a,0x5c,0x5f,0xd5, + 0xaa,0x8e,0x3e,0xf6,0x31,0xc3,0x81,0xe2,0xc7,0x87,0x83,0xc7,0x9b,0xdd,0x7,0x4c, + 0xb,0x49,0xff,0x36,0xe3,0xb0,0xd7,0x74,0x76,0x2e,0xfd,0x82,0x33,0x33,0x5b,0xc2, + 0x4a,0x41,0xce,0x15,0x9b,0xbd,0x4a,0x3f,0x8c,0x59,0x58,0x25,0xe6,0x9c,0xdb,0x19, + 0x74,0x70,0x58,0x4d,0x85,0x9f,0xaf,0x66,0x92,0x81,0x40,0xc,0x57,0xd0,0xef,0xe7, + 0x1e,0x6,0x70,0xe5,0xe2,0x6f,0xc3,0x30,0x21,0x24,0xa,0x48,0xa0,0x6a,0x91,0x4, + 0x24,0x4,0x25,0x4d,0xe1,0xf7,0xab,0x99,0xd3,0x30,0x87,0x98,0x88,0x38,0xd3,0xd0, + 0xf3,0x40,0xaf,0x83,0x14,0xb2,0x29,0xdd,0xef,0x65,0xb9,0x1,0x55,0x50,0xb2,0x37, + 0x7c,0x88,0xde,0xf0,0x61,0xc2,0xf0,0x91,0x3,0xdf,0x2b,0x13,0xfb,0x30,0x3e,0xa4, + 0x9b,0xfb,0xc3,0x3,0x8a,0x8c,0x3,0xa,0x8d,0x7f,0x4e,0xca,0x32,0x86,0xc2,0x1c, + 0x68,0x4c,0x19,0x45,0x61,0xf3,0xce,0x98,0xa5,0xa1,0xa3,0x3f,0x0,0x61,0xae,0x7, + 0x39,0xa3,0x99,0x3e,0xd6,0xda,0x86,0x79,0xf7,0x5a,0xd6,0xad,0x9d,0x38,0x33,0x82, + 0x34,0x42,0x69,0xf6,0xa2,0x66,0xb1,0xce,0xdd,0xf4,0xa2,0x7e,0x12,0x21,0x6c,0x6f, + 0x16,0xd9,0x7f,0x6,0xf5,0x23,0x80,0x5d,0x77,0x33,0x99,0xe8,0x43,0x2b,0x88,0xa2, + 0xa8,0x9e,0x4e,0x8a,0xc6,0x7a,0x3e,0xa9,0x74,0xd7,0x73,0x4a,0x1d,0x75,0x98,0x18, + 0x92,0x88,0xf1,0xa7,0xc8,0x8c,0x43,0xf4,0xd0,0xd,0x3d,0x34,0xd1,0xa3,0x5d,0xc6, + 0x6b,0x47,0xd,0x58,0x1e,0x4d,0xe1,0x8b,0xaa,0xf8,0x62,0x8e,0x2e,0xb5,0x74,0xe8, + 0xb,0x7,0x9f,0xcb,0xde,0x4a,0xa9,0xb7,0xb2,0x3a,0xa4,0x27,0x3c,0x94,0x18,0x9e, + 0x1a,0x36,0xae,0x8a,0xe1,0x17,0x30,0x31,0x4c,0x6d,0x68,0x16,0xb9,0xfc,0xb0,0x5d, + 0xbd,0x83,0xcd,0x56,0x55,0xf2,0xd,0xec,0xe9,0xdf,0xdd,0xe3,0x76,0xf1,0xb7,0xf5, + 0xd3,0xfa,0xed,0x7d,0xb1,0xc,0x80,0xa8,0xe1,0x7b,0xcf,0xf8,0xfb,0x1b,0x71,0x27, + 0xde,0xbd,0xfb,0x4b,0x92,0xbb,0x1c,0x8a,0xe5,0x6d,0xd4,0xd7,0xf4,0x83,0xf6,0xa9, + 0xc9,0x12,0x91,0xb6,0xb5,0x88,0xa9,0xac,0xb7,0xf7,0xeb,0xc7,0xbf,0xd3,0x58,0x55, + 0x9e,0xab,0x7e,0x43,0xf,0xfd,0x1b,0x2b,0xa0,0xaa,0x15,0xfd,0x54,0x65,0xbe,0x48, + 0x85,0xe,0xa8,0xb7,0x40,0x31,0x23,0xd7,0xa5,0x6,0x3a,0x6c,0x5e,0x9e,0xf0,0x76, + 0x61,0x5a,0x62,0xc3,0xc2,0x44,0x61,0xf4,0x91,0xc1,0x65,0xc4,0xba,0xc4,0xd8,0xa3, + 0xe3,0xa,0x8c,0xe6,0xca,0xba,0xa3,0x33,0x12,0xbf,0xe6,0xad,0xae,0xe3,0x63,0x14, + 0x5b,0x8,0x79,0x7c,0x11,0x70,0xa5,0x5e,0xbf,0x6c,0x74,0x59,0xde,0xd1,0x25,0x3b, + 0x63,0xe7,0x6b,0x9,0xf3,0x6d,0xa3,0x4b,0x76,0x74,0x69,0x51,0xf3,0xa4,0x7a,0x5e, + 0xf2,0xda,0xb7,0xba,0x74,0x47,0x97,0x15,0x46,0x1c,0xd5,0xf5,0xea,0xfa,0x75,0xab, + 0xeb,0xf8,0xb3,0x3f,0x3a,0xa6,0x1f,0x68,0x42,0x9b,0x97,0x13,0xfb,0x2b,0x81,0x6a, + 0x4c,0x7,0xde,0x9e,0xe3,0xb4,0xa,0x1c,0x2c,0x83,0xa5,0x7e,0xf3,0xc3,0xd1,0x51, + 0x4c,0x1e,0x19,0xc5,0xca,0x70,0xef,0xe,0xef,0x1d,0xe,0xf,0x6b,0xf2,0x3f,0x1a, + 0xd6,0x3a,0x3,0xbd,0x49,0x3,0x7d,0xbf,0x1f,0xda,0x91,0x1b,0x5,0xa6,0xf8,0xb1, + 0x7e,0x58,0xc5,0x4e,0xd9,0xf,0x9d,0xea,0xf6,0x43,0x79,0x9c,0xef,0x57,0xd7,0xb6, + 0xd5,0x65,0x7a,0xfd,0xd0,0xb1,0xa3,0x1c,0x7d,0xcd,0xf6,0xfa,0x8e,0x73,0xbd,0x7e, + 0xc8,0x8e,0xf7,0x69,0xe8,0x87,0xb2,0xd1,0xe5,0x59,0x47,0x97,0xf2,0xea,0x78,0xdf, + 0x91,0xd7,0x2f,0x5a,0x5d,0xa2,0xd7,0xf,0x99,0x35,0x23,0xfa,0xa1,0x3f,0xfe,0xec, + 0xc7,0xf4,0x43,0x6f,0x7a,0xfd,0x30,0x2d,0xc9,0xfb,0xbd,0x30,0x2e,0xd8,0x99,0xc5, + 0x5,0xd3,0x5c,0xf1,0x85,0x87,0xc5,0xf7,0x72,0x6,0x3d,0x7,0x96,0xdc,0x62,0xa1, + 0xf1,0x77,0xe8,0x5d,0xb0,0x2a,0xd7,0x40,0x3c,0x5c,0xa5,0x23,0x3f,0x45,0xc2,0x1c, + 0x1a,0x18,0x56,0xea,0x62,0x21,0x94,0x27,0x10,0xbb,0x5d,0x58,0xee,0x23,0x94,0x7a, + 0xa1,0x19,0xcf,0x62,0xa8,0x34,0xa9,0xc4,0xdf,0xb0,0x56,0x87,0x3f,0x29,0xc6,0xfb, + 0x85,0x13,0x72,0x2e,0xe4,0xc2,0x1b,0xdd,0x96,0xab,0x5e,0xab,0x7b,0xd7,0xeb,0xa9, + 0xf6,0x8f,0x97,0x64,0xae,0x59,0x92,0xe1,0x3e,0x3c,0x3c,0xb9,0x61,0x90,0xa4,0xae, + 0xd6,0xeb,0xee,0x6e,0x4c,0x77,0xb7,0xb0,0x11,0xb4,0x26,0x2d,0x28,0x43,0x87,0xb7, + 0xb,0xe9,0x65,0xa,0xc1,0x4e,0xdf,0xa4,0x81,0x10,0x8f,0x3b,0x19,0xd,0x41,0xb1, + 0x38,0x23,0xba,0xfe,0x81,0xa5,0x3d,0xec,0x7b,0x12,0xff,0x46,0x10,0xf0,0x25,0x87, + 0x2d,0xaa,0x6a,0x14,0x95,0xce,0x7a,0x80,0x82,0xcd,0xb6,0x30,0xd4,0xca,0xce,0x39, + 0x6c,0xbc,0x8c,0x83,0x76,0xb7,0x48,0x8f,0x8c,0x8d,0x87,0x1a,0x72,0xdc,0xa4,0x19, + 0x23,0x6,0x88,0x29,0x1,0x69,0x13,0xb6,0xb,0x25,0x44,0x96,0x34,0x40,0xb,0x93, + 0xf5,0x46,0x4,0x7a,0xd1,0xa6,0x66,0x72,0xac,0x80,0x5,0xbc,0xcc,0x92,0x84,0x92, + 0xde,0x82,0x31,0xd7,0x24,0x19,0x4b,0x54,0x97,0x77,0xd9,0xe0,0x9a,0x8c,0x9c,0xb3, + 0x1e,0x1b,0x5d,0x99,0x37,0x90,0x89,0x35,0xc7,0xb8,0x38,0x81,0x63,0x7e,0xd4,0xd2, + 0xce,0x60,0xf5,0x1a,0x8e,0x9,0x47,0x63,0x54,0x58,0xde,0xd5,0x29,0x22,0xc3,0x34, + 0xd4,0x6b,0x12,0x7e,0x71,0x3d,0x11,0xbf,0xb8,0x1d,0xc1,0xaf,0x50,0x27,0x85,0x6d, + 0xa9,0x5d,0xe0,0xc,0x6c,0xfb,0x85,0x4c,0xd8,0x28,0xa0,0x83,0xf,0x2d,0x6f,0x5d, + 0x46,0xc0,0xa,0xed,0x31,0x2d,0x61,0x3,0xe3,0x8d,0xcb,0x92,0x66,0x21,0xa5,0xca, + 0x7a,0x23,0x7a,0x85,0xd8,0x98,0x12,0x6b,0x81,0xe,0x36,0x4b,0x12,0xca,0x7a,0x9, + 0x53,0xae,0x24,0x49,0x25,0xaa,0xca,0xbb,0x6c,0x70,0xcb,0xaf,0xee,0x6,0xd4,0xf7, + 0xf8,0x25,0xf8,0x9,0xfc,0xe2,0x6c,0xd4,0x20,0xa6,0xb1,0x7e,0x43,0x76,0x19,0x58, + 0xd5,0xe,0x47,0xb0,0x41,0x2,0x24,0x97,0x5a,0x30,0xc1,0x25,0xd,0xb0,0xdf,0x4a, + 0x2f,0xa1,0x26,0xa2,0x97,0x30,0x63,0x86,0x2f,0xb4,0x22,0xcd,0x5,0x1e,0x46,0xe3, + 0xc0,0xa1,0x16,0x4e,0x11,0x82,0xdf,0x12,0x66,0x29,0x18,0x18,0xbc,0x56,0x3,0x14, + 0xe9,0x92,0xb0,0x5b,0x58,0xae,0x48,0xe,0x80,0x60,0x8e,0x54,0x12,0x80,0x94,0x40, + 0x0,0xeb,0x73,0xa4,0x1,0x1e,0x98,0x28,0xa7,0x33,0xca,0x5a,0x33,0xe,0x79,0x46, + 0x49,0x2a,0xce,0xa0,0xa0,0xcb,0xa,0x35,0x9c,0x12,0xdd,0x19,0x14,0x18,0xd1,0x21, + 0x95,0x64,0xa7,0x90,0x6a,0xd4,0x41,0x89,0xf5,0xc8,0xa2,0x66,0xd4,0xf2,0x82,0xf, + 0x58,0x55,0xa7,0x88,0xc4,0x12,0x4e,0x9a,0x49,0x68,0x95,0xcd,0xc0,0xdf,0x4a,0x2b, + 0xa9,0xc7,0xd0,0xa,0xeb,0xe4,0xe6,0x2,0x26,0x22,0x17,0x1a,0x16,0x16,0xfc,0x2c, + 0x63,0xeb,0x70,0xf1,0x34,0x17,0x7c,0xa1,0xad,0xcf,0x8,0x8d,0x79,0x38,0xba,0x14, + 0x2c,0xa5,0x4f,0x92,0x40,0x9,0x27,0x45,0xd2,0x4b,0x8,0x56,0x59,0x30,0x67,0xaa, + 0x8c,0x1,0x59,0x2d,0x93,0x64,0x41,0x51,0x6f,0xc2,0x31,0x57,0x92,0x4c,0x25,0xaa, + 0xca,0xbb,0x6c,0x70,0xc3,0x30,0x69,0xbb,0xc,0xe3,0x5d,0x86,0xf9,0x53,0x18,0x36, + 0xea,0x4c,0xc6,0x1,0x9f,0xb8,0x1b,0xf0,0xb,0xfa,0x96,0x76,0x92,0xce,0x5f,0x90, + 0x61,0x55,0xa,0xe4,0x97,0x5e,0x30,0x2d,0x71,0x7,0x33,0x5,0xc3,0x94,0x98,0x88, + 0x61,0x4a,0x8d,0x60,0x58,0xa8,0x13,0xc,0xe,0x38,0xf9,0xa0,0x99,0x1d,0x30,0xcc, + 0xfc,0x9,0x3b,0xb3,0xb0,0x5e,0x22,0xe2,0xb0,0x2,0x4a,0x8,0xd6,0xec,0x8a,0x63, + 0x5a,0xc2,0x30,0x3d,0xc2,0xea,0x29,0x49,0xaa,0x85,0x82,0xe5,0x78,0xd2,0x1b,0x11, + 0xa4,0x5,0x36,0xaa,0x1c,0x89,0xfb,0x56,0x9d,0x5,0x9,0x65,0xb5,0x84,0x29,0xd3, + 0x28,0x48,0xe5,0xa9,0x4a,0xbb,0x6c,0x70,0xc3,0x2f,0x65,0xba,0xfc,0x12,0x3d,0x7e, + 0x29,0x77,0xa,0xbf,0xe4,0x18,0x7e,0x21,0x5b,0x18,0xaf,0x46,0x30,0x18,0x9f,0xa5, + 0x28,0xeb,0xae,0x26,0x5,0x86,0x98,0x85,0x10,0x8e,0x33,0x35,0x9,0xc3,0xb2,0xb9, + 0xfd,0x5b,0x19,0xa6,0xe5,0x8,0x86,0x85,0x5a,0x89,0x39,0x6c,0xf1,0x60,0x4a,0x85, + 0xe6,0x85,0x51,0x59,0x3a,0x99,0xb0,0x97,0x61,0xdd,0x2c,0x5,0xc,0x14,0x3,0x0, + 0xcf,0x1,0x93,0x12,0xe6,0x20,0xc1,0xb3,0x60,0xd8,0xff,0x64,0xb5,0x11,0xbd,0x42, + 0x6c,0x4,0xcf,0xb1,0x40,0x1e,0x51,0x24,0x9,0x65,0xbd,0x19,0x63,0xa6,0x24,0x48, + 0xe5,0xa9,0x4a,0xbb,0x6c,0x70,0xc3,0x30,0xdd,0x3f,0x50,0x96,0x3d,0x86,0x69,0x7b, + 0xa,0xc3,0xd4,0x28,0x86,0x41,0x6f,0x30,0xcc,0xd,0x18,0x86,0x17,0x6,0x7c,0xd8, + 0x19,0x66,0x8e,0xd5,0x69,0x22,0xc7,0x3c,0xb3,0x76,0x12,0x86,0x19,0x36,0x11,0xc3, + 0x8c,0x18,0xc3,0x30,0xac,0xd3,0x5c,0xe2,0x68,0x84,0x93,0x19,0x40,0xa9,0x78,0xc2, + 0x1e,0xd7,0xde,0x1a,0x91,0x70,0x26,0x23,0x4d,0xc3,0x5d,0xc1,0x4c,0xd9,0x2c,0xa9, + 0x60,0xc8,0x11,0x49,0x6d,0x4,0x90,0x14,0x97,0xde,0x39,0xe,0xc6,0x28,0x58,0x61, + 0x5,0x39,0x37,0x40,0xa4,0x95,0x30,0xe6,0x69,0x93,0x20,0x15,0x67,0x58,0xd6,0x65, + 0xd,0x1b,0x76,0xd5,0x96,0xe0,0x3d,0x76,0xa9,0x1e,0xbb,0x8c,0x39,0x85,0x5d,0x7a, + 0xc,0xbb,0x38,0x13,0xf0,0xac,0xcc,0x80,0x5c,0x78,0x15,0x87,0xb3,0x1,0xb9,0xea, + 0x24,0xc8,0x2d,0x7,0xe3,0x3d,0xac,0xfd,0xa7,0x59,0x83,0x15,0x8b,0xfe,0x37,0xb2, + 0x6b,0x60,0xce,0xff,0x63,0x76,0x51,0xa5,0xe6,0x4a,0xe3,0x6e,0x2d,0x58,0xae,0xc4, + 0x42,0xf0,0x1c,0xc0,0x19,0x87,0x45,0xb8,0x98,0x2b,0x85,0xfb,0xb7,0x21,0x64,0x4a, + 0x86,0xe4,0x14,0x20,0x61,0xdf,0xc8,0x8b,0xb4,0x8,0x66,0xab,0xac,0x3d,0xc2,0x70, + 0xc,0xe,0xbb,0x23,0x5b,0xe2,0xd1,0xda,0x35,0x90,0x26,0x58,0xb4,0xe7,0x80,0x98, + 0x3b,0x49,0xa7,0xb2,0x55,0x65,0x5f,0xb6,0x1,0xd,0xe3,0x6c,0xf7,0x84,0x9b,0xeb, + 0x1e,0xe3,0xac,0x3e,0x85,0x71,0xa3,0xe,0xa1,0x60,0xde,0x83,0xce,0x26,0x2b,0xc6, + 0x79,0xce,0xcc,0x60,0x49,0x56,0x27,0x41,0xc6,0xf9,0x5,0xd7,0x46,0x25,0xd3,0xdc, + 0x37,0x32,0xce,0xba,0x89,0x18,0xe7,0xd8,0x28,0xc6,0x61,0xa5,0xf4,0x5c,0x79,0x5a, + 0x3c,0x85,0x46,0x16,0x32,0x5,0x84,0x46,0x86,0x65,0x8f,0x72,0xf0,0x38,0xe4,0x10, + 0x8a,0x30,0x0,0xe6,0x0,0xd8,0x79,0x5b,0x51,0xa4,0x6d,0xb0,0x4d,0x65,0xed,0x96, + 0x4c,0x6d,0x78,0x5,0x82,0x1b,0x5d,0xe2,0x71,0x18,0x1b,0x48,0x13,0x2c,0xda,0x73, + 0x80,0xe7,0xa2,0x48,0xa7,0xb2,0x55,0x65,0x5f,0xb6,0x1,0xd,0xe3,0x9c,0xe8,0x32, + 0xce,0xf4,0x18,0xe7,0xd4,0x29,0x8c,0x1b,0x75,0xdc,0x82,0x95,0xa9,0x19,0x27,0xa1, + 0xae,0x7c,0xc8,0x37,0xbd,0xc7,0x37,0xef,0xfc,0x34,0xb3,0xa7,0xb3,0x53,0xb1,0xcd, + 0x8f,0x62,0x9b,0xe,0xd,0xa4,0xe5,0xc2,0xb2,0xc8,0x7,0x15,0xf8,0x42,0x1,0x8, + 0x91,0x4d,0x1a,0xef,0x88,0xaa,0x2,0x5,0xcc,0x6a,0x92,0x92,0x87,0x0,0xe,0x3, + 0x11,0x2f,0xd2,0x1c,0x7,0xa2,0xa2,0x3d,0x42,0x4c,0x6e,0x2,0x5f,0x72,0xbc,0x9, + 0x6c,0xca,0xd2,0x4,0x8b,0x76,0xa,0x48,0xb9,0x93,0x74,0x2a,0x5b,0x55,0xf6,0x65, + 0x1b,0xd0,0xb0,0xcd,0xef,0x5f,0x22,0x18,0xb2,0xcd,0xf6,0xd8,0xe6,0x4f,0x31,0xf6, + 0xf3,0x51,0xd6,0x7e,0xac,0x8c,0xa6,0xf3,0xaf,0x40,0x36,0xe8,0x29,0x56,0xf3,0x6a, + 0x42,0x1d,0xa4,0x8,0x18,0x96,0xb7,0x32,0xd,0xb5,0xdf,0x48,0x37,0x3f,0x95,0xa1, + 0xdf,0x8f,0x31,0xf4,0xc7,0x2a,0x1,0x3f,0x5c,0x6e,0x61,0xbd,0x70,0x8e,0xa7,0x0, + 0x84,0xd2,0x1a,0x84,0xcc,0xfa,0x2,0xd1,0x68,0x9a,0x46,0xab,0x10,0x80,0x2b,0x37, + 0x5b,0xa4,0xd1,0xe0,0x2a,0x8b,0xf6,0x8,0x5f,0x85,0x53,0x22,0x2e,0x64,0x89,0x47, + 0x6b,0xa4,0x2d,0xd2,0x4,0x8b,0x76,0xa,0x48,0xb9,0x93,0x74,0x2a,0x5b,0x55,0xf6, + 0x65,0x1b,0x50,0xd3,0x4d,0xb0,0xae,0xd9,0x9f,0xf7,0xec,0xfe,0x82,0x9d,0x62,0xf7, + 0xe7,0xa3,0xc,0xff,0x58,0x58,0xc5,0x87,0xbb,0x3,0x83,0x67,0xa6,0xa2,0x62,0x5b, + 0x49,0x40,0xeb,0x39,0x6d,0xdc,0x24,0x74,0x13,0x6c,0x22,0xbb,0xbf,0x60,0x63,0xec, + 0xfe,0xa1,0x4e,0x62,0x6e,0x1c,0x59,0xd0,0x2,0x5f,0x12,0x44,0x20,0xbc,0x9e,0x1b, + 0x1b,0x6c,0x59,0x19,0x1a,0x32,0x75,0xd,0x2,0xd0,0x12,0x46,0xb2,0x1a,0xb7,0xc, + 0x59,0x71,0x44,0x91,0x39,0x4c,0x95,0x58,0x50,0xa9,0x54,0x91,0xcc,0x30,0x69,0xa6, + 0x80,0x94,0x73,0x14,0x4e,0xc5,0x1a,0x96,0x79,0xd9,0xe0,0x96,0x64,0x5d,0xdb,0x3f, + 0xef,0x19,0xff,0x5,0x3f,0xc5,0xf8,0x2f,0x46,0x19,0xff,0xc3,0x0,0xec,0x6,0xe6, + 0x7f,0x1,0x3d,0x8,0x56,0x20,0xd5,0xa0,0x36,0x4c,0x12,0x2,0x60,0xbd,0x22,0xdd, + 0x24,0xc7,0x97,0x82,0x4f,0x64,0xff,0x87,0x35,0xfa,0xd8,0x49,0xd4,0xe9,0xb9,0x15, + 0xb0,0xd6,0x4f,0x73,0xa8,0x49,0x38,0x4c,0x91,0x86,0x23,0x82,0x6e,0x50,0x20,0x1f, + 0x4e,0xa1,0x18,0xc0,0x40,0x48,0x16,0x61,0x16,0xe,0x8a,0xb2,0x6e,0x46,0xe7,0x46, + 0xc8,0x7,0xe8,0x5,0x25,0x1e,0xb6,0x8f,0x7c,0x20,0x4d,0x90,0xf,0xa6,0xd0,0x10, + 0x90,0x72,0x27,0x69,0x2a,0xda,0xb0,0xe0,0xcb,0x6,0x37,0x5c,0xe3,0xdd,0x33,0x1, + 0xd1,0x3b,0x13,0x10,0xe2,0x94,0x33,0x1,0x31,0xea,0x4c,0x80,0x56,0x1e,0x15,0xd7, + 0x7c,0x72,0x53,0x4b,0xbb,0x83,0x66,0x40,0x53,0x30,0xe4,0xb1,0x49,0x96,0x6b,0x42, + 0x4c,0x74,0x24,0x20,0xc4,0x98,0x23,0x81,0x58,0x27,0x37,0xb7,0x36,0x9e,0x35,0x61, + 0xe7,0xb1,0x3e,0x61,0x44,0xc2,0xab,0xb9,0xc5,0x81,0xa6,0x82,0xf1,0x64,0x28,0x7, + 0xe8,0x70,0xe0,0x94,0x85,0x61,0x9c,0x63,0xbe,0xe8,0x8e,0x30,0xe,0x80,0x4c,0x95, + 0xe8,0xb8,0xb8,0xca,0xc2,0x4,0x8b,0xf2,0x1c,0x10,0x33,0x8f,0xc2,0x54,0xb0,0x61, + 0xb1,0x97,0xd,0x6e,0x78,0x26,0xba,0x27,0x3,0xa2,0x77,0x32,0x20,0xc4,0x29,0x27, + 0x3,0x62,0xd4,0xc9,0x0,0x4e,0x83,0x35,0xcf,0xdc,0xc2,0x1a,0x3d,0xdc,0x15,0x88, + 0x96,0x67,0x50,0x75,0xc3,0x26,0x31,0x7b,0x8,0x39,0xd1,0xc1,0x80,0x90,0x63,0xe, + 0x6,0xa8,0x4e,0x73,0xc7,0x61,0x25,0xed,0x93,0x1d,0xc3,0xe7,0x0,0x84,0x38,0x37, + 0x2,0x8c,0xa3,0xa,0x41,0x86,0xc3,0x7,0x25,0xc7,0x0,0xeb,0x69,0x54,0x8a,0xd2, + 0x0,0xe3,0x98,0x15,0xb5,0x13,0x8c,0xc4,0x64,0x8a,0x97,0x78,0x19,0xa9,0x94,0xa4, + 0x23,0x1c,0x68,0xa7,0x80,0x94,0x7b,0x94,0xce,0x65,0xab,0xca,0xbe,0x6c,0x3,0x1a, + 0xba,0xc9,0xee,0x41,0x81,0xe8,0x1d,0x14,0x8,0x79,0xca,0x41,0x81,0x18,0x77,0x50, + 0x60,0x71,0x91,0x90,0xc9,0x26,0xf1,0x3e,0x8b,0x52,0x95,0x5,0xb7,0x9a,0x3c,0xf1, + 0xb0,0x77,0x12,0x73,0x87,0x50,0x13,0x1d,0x10,0x8,0x35,0xea,0x80,0x20,0x54,0x68, + 0xee,0x19,0x5d,0xbb,0x9,0x56,0xd8,0x4,0x83,0x81,0x56,0xcd,0x9d,0x5f,0x68,0x69, + 0x32,0x72,0x64,0x2c,0x2b,0x58,0x78,0x47,0x82,0xce,0x2,0xd1,0x78,0xd2,0x4a,0x28, + 0x9a,0x6f,0x6d,0xc6,0xc1,0x42,0xab,0xb3,0x60,0x46,0xa4,0x96,0x30,0x65,0x1a,0x25, + 0x53,0x81,0xaa,0xd2,0x2e,0x1b,0xdc,0x30,0x4b,0x75,0xf,0x8,0x44,0xef,0x80,0x40, + 0xa8,0x53,0xe,0x8,0xc4,0xb8,0x3,0x2,0x55,0x1f,0x71,0x2,0xb5,0xbc,0x32,0xae, + 0x50,0x4b,0xd5,0x7,0x9c,0xb8,0x2c,0x15,0x4a,0x4c,0x72,0xbe,0x29,0xf4,0x44,0x67, + 0x3,0x42,0x8f,0x3a,0x1b,0x88,0x77,0x77,0x7c,0x32,0x6e,0xe0,0x21,0x52,0x42,0xf8, + 0x7,0xe6,0x42,0x8f,0xa6,0x5,0x91,0x51,0xb2,0x3c,0x24,0xcc,0xc3,0x8,0x14,0xe5, + 0x78,0xd8,0x26,0x26,0x9d,0x9c,0x36,0x8d,0x1e,0xa6,0x3d,0xe9,0x72,0x6c,0xbc,0xa9, + 0x93,0xe4,0x8,0x65,0xad,0x84,0x29,0x4f,0x92,0xa4,0xf2,0x54,0x65,0x5d,0x36,0xb8, + 0xa1,0x96,0xee,0x9e,0xe,0x88,0xde,0xe9,0x80,0xd0,0xa7,0x9c,0xe,0x88,0x51,0xa7, + 0x3,0xe8,0x8e,0x25,0xdc,0xf0,0xec,0x49,0x72,0x1c,0xa1,0xd5,0xc0,0x58,0xdb,0xa4, + 0x21,0x82,0x39,0xc5,0xa6,0x59,0xf9,0xeb,0x89,0x8e,0x7,0x84,0x19,0x73,0x3c,0x10, + 0x2a,0x5,0x8d,0x14,0xc6,0xd,0xbe,0x60,0x2c,0xfc,0x86,0xe1,0x0,0xed,0x2,0xd0, + 0xda,0xca,0xab,0x8c,0x34,0xdd,0x7d,0x2d,0x18,0x9a,0x22,0x4b,0xa1,0xf3,0x5a,0x56, + 0xa7,0xa2,0xab,0x5a,0xb8,0x3b,0xeb,0x52,0x1c,0xac,0xc9,0xb5,0xca,0x62,0x19,0xb9, + 0x94,0x34,0x60,0xca,0x92,0x4,0xed,0xa0,0x80,0xcb,0xc1,0xef,0x86,0x4d,0xa6,0xef, + 0xdb,0xd6,0xb3,0xfc,0xb,0x73,0x8a,0xe5,0x5f,0x8c,0xb2,0xfc,0xc3,0x48,0xcc,0x98, + 0xac,0xd8,0x84,0x87,0x4d,0x66,0x78,0xf,0xb6,0x49,0x13,0xd8,0xe4,0x16,0x10,0x30, + 0xcd,0x5c,0x68,0x26,0x32,0xfd,0xb,0x3b,0xc6,0xf4,0x1f,0x2a,0x25,0xe6,0x68,0xe7, + 0x63,0x2a,0x5e,0xc7,0xc0,0x33,0x6f,0xc2,0xe,0xa6,0x3b,0x9c,0x89,0xe2,0xbc,0x94, + 0x50,0x9a,0xb5,0xa,0x16,0xde,0x26,0x49,0x1f,0xe7,0x3b,0xd2,0xeb,0xd3,0x6c,0x8, + 0xd8,0x88,0x8c,0x61,0xa2,0xe3,0xc2,0x65,0xc9,0x8c,0x48,0x2f,0x61,0xca,0x35,0x4a, + 0xa6,0x12,0x55,0xe5,0x5d,0x36,0xb8,0x21,0x99,0xed,0x1a,0xfb,0x45,0xcf,0xd8,0x2f, + 0xec,0x29,0xc6,0x7e,0x31,0xca,0xd8,0xf,0x6b,0x4b,0x5d,0x5f,0x84,0x95,0xe1,0xcc, + 0x2d,0x33,0xac,0x49,0x10,0x18,0xe6,0xa1,0x5b,0xe9,0x69,0xd6,0xf5,0x76,0x22,0x73, + 0xbf,0xb0,0x63,0xcc,0xfd,0xa1,0x52,0x7a,0x8e,0xfb,0xaf,0xb8,0xae,0xb7,0x2e,0xd8, + 0xeb,0x53,0x80,0x75,0x61,0x5f,0x86,0x10,0xd,0xee,0x19,0x4a,0xba,0x38,0x9b,0x3, + 0x44,0x98,0xdf,0xb2,0xb4,0x8,0x93,0x5f,0xd6,0x2e,0x68,0x6e,0x84,0x15,0x3b,0x37, + 0x2a,0x7,0x0,0x44,0x6b,0x7e,0x92,0xce,0x30,0x69,0xcf,0x1,0x31,0xf7,0x2c,0x4d, + 0x65,0xab,0xcb,0xbe,0x6c,0x3,0x1a,0xbe,0xb9,0xae,0xb9,0x5f,0xf4,0xcc,0xfd,0xc2, + 0x9d,0x62,0xee,0x17,0xe3,0x2e,0xf7,0x7,0xc3,0x75,0xc5,0x37,0x74,0x7b,0x30,0x6e, + 0xe0,0xf4,0xdf,0xa4,0x21,0xca,0xc1,0x9e,0x67,0x92,0x1b,0x40,0xc2,0x4d,0x64,0xf2, + 0x17,0x6e,0xd4,0xdd,0x7e,0xac,0x94,0x9d,0xc7,0x9d,0xa,0xdd,0x7a,0xb5,0xba,0x4, + 0x58,0x15,0xbd,0x3f,0x58,0xb8,0xa8,0x5a,0xa0,0xa6,0x23,0xa3,0x1c,0xa0,0x82,0xd1, + 0x3e,0x4b,0x87,0xbb,0xb3,0x45,0xbb,0x22,0x93,0x3f,0x4,0x78,0x3f,0x88,0x37,0xe1, + 0x1e,0x64,0x96,0x4e,0x30,0x6b,0x4f,0x1,0x94,0x7b,0x92,0xa6,0xb2,0xd5,0x65,0x5f, + 0xb6,0x1,0xd,0xe5,0x7c,0xd7,0xe4,0x2f,0xba,0x26,0x7f,0x7f,0x8a,0xc9,0x5f,0x8c, + 0x32,0xf9,0x5b,0xdc,0x2f,0xab,0x86,0x72,0x9a,0xf9,0xb2,0xe4,0x6f,0x52,0x10,0xe1, + 0xac,0x15,0x93,0xdc,0xc6,0x16,0x7e,0x2a,0xa3,0xbf,0x1f,0x63,0xf4,0xf,0x95,0xc2, + 0x61,0x1,0xf,0x73,0x74,0xf4,0x10,0x41,0x83,0x6a,0xa,0x0,0x88,0xe6,0xd6,0x78, + 0xba,0xc3,0xb,0xc,0x4c,0x88,0xc9,0x63,0x40,0x38,0x5b,0x2a,0xd2,0xa1,0x73,0x16, + 0xed,0x11,0x6,0x9f,0x12,0xc1,0x6,0xf1,0xc1,0xc8,0x90,0xa5,0x33,0x4c,0xda,0x73, + 0x40,0xcc,0x3d,0x4b,0xc7,0xb2,0x35,0x65,0x5f,0xb6,0x1,0x2d,0xe1,0xba,0xe6,0x7f, + 0xd1,0x33,0xff,0xe7,0x1b,0xf7,0x5d,0xc2,0xc9,0x51,0xe6,0x7f,0x74,0x53,0x70,0xda, + 0xd5,0x84,0x33,0x76,0xb0,0xc7,0x6c,0x52,0x10,0xe1,0xbc,0xf4,0x93,0x10,0x4e,0xb2, + 0x89,0xcc,0xff,0x92,0x8d,0x31,0xff,0x87,0x4a,0x99,0x39,0x2e,0x40,0xe3,0x65,0x31, + 0x74,0x12,0x31,0x25,0x0,0x3d,0x48,0x2,0xa1,0x60,0x79,0x24,0x5d,0x81,0x96,0x2e, + 0x78,0xe4,0x0,0xbc,0x8,0x66,0x8b,0xb4,0x81,0x5,0x99,0x2c,0xda,0x23,0xc,0x4e, + 0x26,0x96,0xd,0xe2,0x61,0x97,0x3e,0x10,0x26,0x94,0x75,0x13,0xa6,0xac,0x93,0x28, + 0x15,0xac,0x2e,0xf8,0xb2,0xd,0xa8,0xd9,0x26,0x59,0xf7,0x0,0x40,0xf6,0xe,0x0, + 0x24,0x3f,0xe5,0x0,0x40,0x8e,0x3a,0x0,0xd0,0xb8,0xc5,0x14,0x3,0xef,0xd8,0xe0, + 0x2c,0x57,0x2e,0xd4,0x56,0xf1,0xe4,0x28,0xc7,0xb4,0x9e,0xe6,0xba,0x86,0xe4,0x13, + 0xd9,0xff,0x25,0x1f,0x63,0xff,0x8f,0x75,0x8a,0x8e,0x66,0xd8,0xbc,0x9a,0xe1,0x25, + 0xea,0x84,0x1,0x41,0xab,0x27,0x97,0xb5,0x82,0xa2,0x65,0x2d,0xe1,0xe8,0xee,0x96, + 0x24,0x4d,0x58,0xe7,0x27,0xbd,0x86,0x56,0xfd,0x1a,0x5f,0x87,0x51,0x62,0xf1,0x25, + 0x6c,0x45,0x92,0x50,0xd6,0x9b,0x71,0xc8,0x15,0x25,0x65,0x2e,0x51,0x55,0xde,0x65, + 0x83,0x1b,0x7e,0xf1,0xae,0xe1,0x5f,0xf6,0xc,0xff,0x92,0x9f,0x62,0xf8,0x97,0xe3, + 0x5e,0xd3,0x64,0xd0,0xe7,0xbb,0xe2,0x57,0xe5,0x28,0x57,0xc5,0x4f,0xeb,0x26,0x27, + 0xc5,0x44,0x56,0x7f,0x29,0xc6,0x58,0xfd,0x43,0x8d,0x4c,0x71,0x93,0xd3,0x1a,0x5d, + 0x4b,0x13,0xd6,0x68,0x79,0x88,0xfe,0x6a,0x3e,0x81,0x74,0x73,0x82,0x60,0xbc,0x57, + 0x91,0xc4,0xe2,0xc9,0x50,0x52,0x9a,0xce,0x89,0x0,0x87,0x25,0x16,0xc5,0xda,0x45, + 0x91,0xb,0xbf,0xb3,0xca,0x80,0x28,0x37,0x92,0xa1,0x82,0x54,0xc5,0x5c,0x36,0xb8, + 0x21,0x95,0xe8,0x9a,0xf7,0x65,0xcf,0xbc,0x2f,0xc5,0x29,0xe6,0x7d,0x39,0xca,0xbc, + 0xaf,0xc2,0x1d,0x0,0x55,0x7b,0x32,0x19,0xe1,0x8b,0x85,0xbf,0x49,0x11,0x89,0xe5, + 0xa0,0x1b,0x4e,0xe3,0x22,0x27,0xe5,0x44,0x66,0x7e,0x29,0xc7,0x98,0xf9,0x63,0xad, + 0x82,0xb3,0x59,0x68,0x5d,0x15,0xae,0x46,0x24,0xac,0x74,0xb0,0xe4,0x7,0x97,0x35, + 0x39,0x40,0x71,0x49,0x9f,0x30,0xba,0xbb,0xc9,0x28,0xe9,0x92,0x2b,0x1c,0xe9,0xcd, + 0x8e,0x72,0x2a,0x5c,0xa9,0xc8,0xb1,0xe1,0xd2,0x44,0x96,0x24,0x94,0xf5,0x66,0x1c, + 0x72,0x8d,0x92,0xa9,0x44,0x55,0x79,0x97,0xd,0x6e,0x38,0x26,0xbb,0x86,0x7e,0xd9, + 0x33,0xf4,0x4b,0x79,0x8a,0xa1,0x5f,0x8e,0x32,0xf4,0x2b,0x81,0x17,0xca,0xf7,0xbc, + 0xe5,0x94,0x1b,0x58,0x63,0x9b,0x34,0xe4,0x2f,0x27,0x98,0x98,0xc6,0x8f,0x5c,0xaa, + 0x89,0xec,0xfd,0x52,0x8d,0xb1,0xf7,0xc7,0x5a,0x15,0x8f,0x39,0xc0,0xdc,0xca,0x84, + 0x15,0x87,0x19,0xca,0x25,0xdf,0xb5,0x84,0xd0,0xb3,0x2d,0x30,0x27,0x63,0xa0,0x57, + 0x94,0x14,0xd1,0x27,0x4e,0x25,0xbd,0x84,0x20,0x2d,0x5e,0xb1,0x55,0x39,0x56,0xe2, + 0xc1,0x49,0x96,0xcc,0x88,0xf4,0x12,0xa6,0x5c,0x51,0xb2,0x94,0xa8,0x2a,0xef,0xb2, + 0xc1,0xd,0xcb,0x54,0xd7,0xe6,0x2f,0x7b,0x36,0x7f,0xa9,0x4e,0xb1,0xf9,0xcb,0x51, + 0x36,0x7f,0xf4,0x85,0x28,0x4,0x43,0x77,0x39,0x2b,0x6,0x6,0xda,0x12,0x9d,0x7c, + 0xe5,0x84,0x9b,0xe6,0x5e,0xb6,0x54,0x13,0x99,0xfa,0xa5,0x1e,0x63,0xea,0xc7,0xa, + 0x15,0x4f,0x39,0x29,0x83,0xb9,0x95,0x30,0x20,0x7c,0xc3,0x5c,0x70,0x5a,0x93,0x19, + 0x69,0xda,0xe,0x24,0x8c,0x57,0x63,0x79,0x96,0x8c,0xce,0x70,0x51,0x6b,0xf2,0x93, + 0x93,0xf8,0x6e,0x3a,0x9e,0xe3,0x74,0x78,0x17,0x46,0x92,0x23,0x94,0xb5,0x12,0xa6, + 0x3c,0x49,0x92,0xca,0x33,0x28,0xeb,0xb2,0x42,0xd,0xa7,0x74,0xd7,0xf2,0x2f,0x7b, + 0x96,0x7f,0xa9,0x4f,0xb1,0xfc,0xcb,0x51,0x96,0x7f,0x81,0xdb,0x16,0x33,0xa0,0x95, + 0xc7,0x71,0x6b,0x48,0xab,0x2a,0x5,0xf9,0xc8,0x19,0xaf,0xa6,0xf1,0xc2,0x94,0x7a, + 0x22,0xb3,0xbf,0x34,0x63,0xcc,0xfe,0xa1,0x4e,0xb6,0xf8,0xc8,0x9,0xdc,0xca,0x99, + 0x84,0x5,0x6e,0xf3,0x38,0xb9,0xab,0x65,0x10,0x93,0x85,0xdf,0xf8,0x6a,0x22,0x1f, + 0x85,0x6c,0xf4,0x80,0xd3,0x59,0x25,0xa3,0xe3,0x21,0x81,0xfb,0xbf,0x12,0x1b,0xb6, + 0x77,0x59,0x92,0x90,0x88,0xe9,0xe2,0x6f,0xf4,0x8a,0x8b,0x52,0x2e,0x17,0xa4,0x2a, + 0xe6,0xb2,0xc1,0xd,0xb1,0x4c,0xd7,0xda,0x2f,0x7b,0xd6,0x7e,0x69,0x4e,0xb1,0xf6, + 0xcb,0x51,0xd6,0x7e,0x3c,0xeb,0xb6,0x95,0xef,0xa5,0x64,0xb2,0x18,0x5e,0x87,0xd1, + 0x71,0xb8,0x32,0xb0,0x1b,0xf1,0xd3,0xac,0xe5,0xcd,0x44,0x96,0x7e,0x69,0xc6,0x58, + 0xfa,0x63,0x95,0xf0,0x75,0x98,0xc6,0xf9,0xf8,0x6,0x4d,0xa0,0x77,0xc2,0xf0,0xc7, + 0xa1,0x63,0x2d,0xec,0xc3,0x9c,0xcc,0x8,0x1a,0xdf,0xe0,0xc2,0x28,0x61,0x58,0x35, + 0x28,0x99,0x25,0x2d,0x5e,0xd3,0xcc,0x7a,0x23,0x2,0xbd,0x30,0x6d,0xe6,0x38,0x98, + 0x34,0x99,0x8c,0x72,0x22,0xa3,0xa4,0x35,0x61,0xcc,0x53,0x91,0x5c,0x2c,0x4d,0x5d, + 0xd6,0x65,0x83,0x1b,0x66,0xd9,0xae,0x5d,0x5f,0xf6,0xec,0xfa,0xd2,0x9e,0x62,0xd7, + 0x97,0xa3,0xec,0xfa,0x38,0x56,0x6b,0x97,0x99,0x15,0x7d,0x2e,0xb,0xb3,0x86,0xd1, + 0xd9,0xdd,0x52,0x4c,0xe3,0xd2,0xb,0x9b,0x9e,0x89,0x98,0x65,0xc7,0x18,0xf4,0x43, + 0x95,0x6c,0xf1,0xb8,0x14,0x12,0xdf,0x6f,0x92,0x30,0x20,0xd8,0xd7,0x45,0xef,0x47, + 0x97,0x51,0xf2,0x8d,0x2c,0x98,0x29,0x93,0x25,0xa3,0x57,0x65,0xd2,0x9b,0x5c,0x2e, + 0x61,0xa6,0x63,0xb6,0xc4,0xe2,0xcd,0x54,0x91,0x25,0x33,0x22,0xbd,0x84,0x29,0x57, + 0x92,0xa4,0x12,0x55,0xe5,0x5d,0x36,0xb8,0x61,0x97,0xeb,0x9a,0xf0,0x65,0xcf,0x84, + 0x2f,0xdd,0x29,0x26,0x7c,0x39,0xee,0xd6,0x3e,0x1e,0xff,0xc8,0x32,0x21,0xa2,0xd7, + 0x25,0x37,0x43,0x97,0xde,0x2a,0x5,0x39,0x5d,0xa,0x67,0x27,0x5a,0x6a,0xb9,0x89, + 0x2c,0xf8,0xd2,0x8d,0xba,0xb6,0x1f,0xea,0x34,0xf0,0xb9,0x74,0x78,0x5e,0x98,0xdd, + 0x1a,0x1d,0x76,0xa9,0xec,0xf3,0x98,0x11,0xb,0xef,0xf,0x48,0x98,0x3c,0x26,0x49, + 0x52,0x84,0x17,0x3e,0x25,0xbd,0x82,0x5e,0x7,0x5,0x9d,0x15,0x8d,0xef,0x84,0x5, + 0xb,0x96,0x79,0x92,0x4c,0x28,0xe9,0xd,0x38,0xe7,0x1a,0x24,0x55,0x2e,0x51,0x55, + 0xde,0x65,0x83,0x5b,0x86,0xf5,0xdf,0x17,0xdb,0xb5,0xd9,0xfb,0x53,0x6c,0xf6,0x6a, + 0xdc,0x95,0x7d,0xb,0x4b,0x2,0x55,0x31,0xcc,0xd,0x2f,0x5a,0x54,0xf1,0xe4,0x62, + 0x69,0xdd,0x44,0xaf,0xbd,0x90,0x7e,0x2a,0x83,0xbd,0x1f,0x75,0x5f,0x1f,0xeb,0x34, + 0xf4,0xb0,0xb4,0xb,0xa1,0x8b,0x13,0xa3,0xc1,0xf7,0x48,0x27,0x7,0xc7,0x4,0xc8, + 0xfd,0x31,0x42,0x72,0x8e,0x24,0x31,0x1b,0x49,0x40,0x4a,0x6d,0x21,0xad,0xf2,0x25, + 0xb6,0xb8,0x54,0xe,0xbd,0x29,0x21,0x13,0x5f,0x9c,0x29,0x51,0x42,0xe5,0x62,0x54, + 0x85,0x5c,0x36,0xb8,0x21,0x55,0xff,0x8d,0x77,0xaa,0x67,0x9a,0x57,0xec,0x14,0xd3, + 0xbc,0x1a,0x77,0x37,0xdf,0x34,0xa4,0x92,0xb,0xe3,0x65,0xe5,0x6,0x62,0xf6,0x68, + 0x85,0xa7,0x40,0xd3,0xd0,0xa,0x1d,0x80,0x27,0xa1,0x95,0x62,0xa3,0x2e,0xe7,0x9b, + 0xd0,0x42,0xc5,0x95,0xd2,0x4,0x7e,0x24,0x6f,0x45,0xb4,0x8a,0x46,0x4f,0x46,0x99, + 0x40,0xf6,0x73,0x8c,0x30,0x5e,0x1a,0x4c,0x62,0x3c,0xdc,0x9c,0x27,0x9d,0x9c,0xee, + 0xfb,0xdb,0x40,0x2a,0x8a,0xb3,0x81,0x3d,0x49,0x8c,0x50,0xd6,0x49,0x98,0x32,0xb4, + 0xe1,0xfd,0x75,0xa9,0x2c,0x55,0x49,0x97,0xd,0x6e,0x5e,0x7c,0xce,0xba,0x66,0x79, + 0xd5,0x33,0xcb,0xe7,0xcb,0x7d,0x7d,0x6e,0x8d,0xbb,0x8f,0xaf,0x71,0xb4,0x1e,0x70, + 0xb,0xd6,0x7,0x86,0xb3,0xa1,0x5b,0xf8,0x30,0x45,0xf2,0x9b,0xd4,0x66,0x12,0x47, + 0x36,0xc5,0x27,0xb2,0xcc,0x2b,0x3e,0xea,0x3e,0x3e,0x56,0xc9,0x46,0x4f,0x43,0x15, + 0x9,0x23,0xbc,0x49,0x98,0xab,0xf0,0x2a,0x1e,0x1d,0x5f,0x25,0x97,0x50,0xf6,0x6a, + 0x24,0x4c,0x4e,0x8f,0x24,0x19,0xcd,0xef,0x49,0x6f,0x76,0xe2,0x30,0xe1,0x4a,0x6a, + 0x8a,0xb5,0xe1,0x5e,0x7d,0x92,0x24,0x94,0xf5,0x12,0xa6,0x5c,0x51,0x32,0x97,0xb0, + 0x2e,0xef,0xb2,0xc1,0xd,0xc1,0x78,0xd7,0x44,0xaf,0x7a,0x26,0x7a,0xc5,0x4f,0x31, + 0xd1,0xab,0x51,0x26,0x7a,0x8e,0x5f,0xb9,0x63,0x3,0x82,0xa1,0xa3,0xa4,0x16,0x43, + 0x82,0xd,0x53,0x64,0x4f,0xc9,0x69,0x1c,0x73,0x61,0xed,0x31,0x11,0xc1,0xc4,0x18, + 0xfb,0x3c,0x37,0xd1,0xc3,0x90,0x46,0x23,0xe9,0x78,0xc2,0x40,0x1f,0x67,0x4d,0xf4, + 0x55,0x74,0x19,0x65,0x57,0xc6,0x8c,0xd1,0xf6,0x19,0x24,0xa3,0x17,0xa4,0xa,0x2a, + 0x35,0x19,0x4c,0xe1,0x89,0xe1,0x6b,0x76,0x52,0xc,0xde,0x7d,0xd0,0x59,0x28,0x23, + 0x52,0x49,0x98,0x32,0x24,0x49,0x2a,0x4c,0x2e,0xe6,0x72,0xf0,0xbb,0xe1,0x53,0xff, + 0x4b,0x2f,0xaa,0x67,0x8e,0x57,0xe2,0x14,0x73,0xbc,0x1a,0x65,0x8e,0xf,0xa7,0x5b, + 0xc3,0x35,0x3c,0xf4,0x1b,0x98,0xee,0x9b,0xc9,0x50,0xca,0x21,0x9f,0xf0,0x3d,0x1e, + 0x93,0xac,0xe0,0x95,0x9c,0xc8,0x10,0xaf,0xe4,0x18,0x43,0x7c,0xac,0x51,0xf4,0x23, + 0xe4,0x34,0x15,0xf2,0x8c,0x71,0xba,0x8b,0x3e,0x88,0xc1,0xab,0x9f,0x10,0x4f,0xde, + 0x3d,0x84,0x59,0x7c,0xd1,0x2f,0x49,0x92,0xb7,0x23,0xe9,0xcd,0xce,0x90,0x38,0x18, + 0x95,0xd8,0xe8,0x8d,0x91,0x24,0x9,0x65,0xbd,0x84,0x29,0x57,0x92,0xa4,0x12,0x55, + 0xe5,0x5d,0x36,0xb8,0xfd,0x12,0x48,0xd7,0x10,0xaf,0x7a,0x86,0x78,0x25,0x4f,0x31, + 0xc4,0xab,0x71,0xaf,0xe6,0x9,0x13,0x7d,0xc5,0xaf,0xda,0xf,0x72,0x18,0x3f,0xb1, + 0x1b,0xa4,0x92,0x13,0xd9,0xe2,0x95,0x1a,0xf5,0x56,0x9e,0x81,0x7,0x24,0xde,0x74, + 0x4e,0x6e,0x86,0xb8,0x8c,0x91,0xd1,0x3,0x51,0xe,0x10,0xbd,0xc,0x80,0x30,0xf9, + 0x2f,0x46,0x39,0xf2,0x6d,0x1c,0x7a,0x3d,0xe2,0x15,0xe7,0x1c,0xe1,0xc3,0xc7,0x62, + 0x92,0xc,0xa1,0xac,0x31,0xe3,0x90,0x5f,0x14,0x8c,0x25,0x19,0xf8,0x3a,0x1e,0x76, + 0x73,0x54,0xfd,0xf,0xca,0xa8,0x9e,0xe9,0x5d,0xa9,0x53,0x4c,0xef,0x6a,0x9c,0xe9, + 0x9d,0x35,0xb3,0x5e,0xe3,0xe5,0x58,0xc5,0x4f,0xec,0xe4,0xa8,0xd4,0x44,0x76,0x77, + 0xa5,0x47,0xbd,0x69,0xc7,0x87,0x15,0x72,0xf1,0x71,0xf4,0x68,0xf,0xcf,0x6e,0x84, + 0xe,0x77,0x28,0xd9,0xc7,0x90,0x10,0x4b,0xb,0xb0,0x88,0x83,0x87,0xa2,0x4a,0x92, + 0xc9,0x7d,0x31,0xea,0xcd,0xde,0x8d,0xf0,0xe8,0x90,0x18,0x11,0xa,0x1e,0x39,0x13, + 0x5,0x9,0x65,0xb5,0x9,0xc7,0x4c,0xa3,0x60,0x2a,0x4f,0x55,0xda,0x65,0x83,0x1b, + 0x72,0xe9,0xae,0xf9,0x5d,0xf5,0xcc,0xef,0x4a,0x9f,0x62,0x7e,0x57,0xa3,0xcc,0xef, + 0xc1,0xe4,0x56,0xdd,0x7a,0x40,0xbf,0x46,0xe1,0xcb,0xc7,0xc,0x9a,0x14,0xc9,0xb5, + 0xd1,0xf3,0x69,0x36,0x84,0x7a,0x22,0x1b,0xbc,0xd2,0x63,0x6c,0xf0,0xd1,0xf8,0x1b, + 0xbd,0x3,0x65,0xb2,0x94,0xfa,0x84,0xc9,0x16,0x1a,0xfc,0xc,0xb3,0xa5,0x34,0x7b, + 0x21,0x16,0xc,0xcb,0xf5,0x24,0x49,0xfe,0x8b,0xa4,0x37,0x7b,0x37,0x6,0x7b,0x67, + 0x89,0x45,0x5b,0x68,0x91,0xcc,0x88,0xf4,0x12,0xa6,0x5c,0xa3,0x64,0x2a,0x51,0x55, + 0xde,0x65,0x83,0x1b,0x8a,0x1d,0xf8,0x26,0xcf,0x90,0x62,0x3d,0x3b,0xbc,0x32,0xa7, + 0xd8,0xe1,0xd5,0x38,0x3b,0xbc,0x6d,0xbe,0xa5,0xc8,0xd0,0x7d,0xce,0xf,0x56,0xed, + 0x55,0x8a,0xec,0xdf,0x38,0xcd,0xfb,0x4d,0x94,0x99,0xc8,0x14,0xaf,0xcc,0x28,0x53, + 0x3c,0xde,0x91,0xca,0xde,0x8d,0xb0,0x51,0xc1,0x97,0xe1,0x10,0x16,0xe1,0x7a,0x5a, + 0xf2,0x35,0x4c,0x28,0x59,0x7,0x12,0x46,0xdb,0x81,0xc8,0x92,0xf1,0xad,0x4c,0x51, + 0x6b,0x7a,0x65,0x13,0x4c,0x4,0x3c,0xf9,0x3b,0x5a,0x44,0x78,0xea,0x9c,0xe4,0x8, + 0x65,0xad,0x84,0x29,0x4f,0x92,0xa4,0xf2,0xc,0xca,0xba,0xac,0x50,0x43,0x2c,0xdb, + 0x35,0xc1,0xab,0x9e,0x9,0x5e,0xd9,0x53,0x4c,0xf0,0x6a,0x94,0x9,0x1e,0x88,0x64, + 0x3d,0x63,0x83,0xaf,0x35,0xee,0xfb,0x36,0x36,0x69,0x26,0xf6,0x6d,0x54,0x76,0x22, + 0x2b,0xbc,0xb2,0x63,0xac,0xf0,0xa1,0x52,0xd1,0xb5,0x11,0xbf,0xa6,0x67,0x39,0xfe, + 0xc6,0x33,0x39,0xa3,0x93,0x9f,0x61,0x42,0xc9,0xb,0xb1,0x60,0xf4,0x51,0x4c,0x52, + 0xc1,0x7d,0x91,0xb4,0x91,0x67,0x23,0x3c,0x42,0x95,0x63,0xf0,0x13,0x1e,0x45,0x28, + 0x23,0x97,0x52,0x6,0x1c,0x33,0x24,0x39,0x5b,0xa,0xb7,0x2c,0x3f,0x5b,0x1e,0x75, + 0xd,0xed,0xaa,0x67,0x68,0x57,0xee,0x14,0x43,0xbb,0x1e,0x65,0x68,0x97,0x78,0xa9, + 0xc3,0x14,0x12,0xed,0xb9,0x34,0xe,0x13,0x4c,0xec,0xcf,0xa8,0xdc,0x44,0x76,0x76, + 0xe5,0xc6,0xd8,0xd9,0x43,0x8d,0x6c,0xf1,0x67,0x94,0x32,0xdc,0x51,0x20,0x8c,0xfe, + 0x4f,0x5e,0x24,0xcf,0xc2,0x84,0xd2,0x3c,0x55,0x30,0x7a,0x25,0xca,0xf8,0xa6,0x12, + 0xf2,0x58,0x24,0xbd,0xd9,0x9f,0x11,0xf,0x5,0xa5,0xc9,0xb1,0xe1,0x55,0xd2,0x59, + 0x32,0x23,0x9f,0xae,0xd8,0x4,0x4c,0xb9,0xea,0x70,0x2f,0x22,0x95,0xa8,0x2a,0xef, + 0xb2,0xc1,0xd,0xbd,0x5c,0xd7,0xe4,0xae,0xbb,0x26,0x77,0x7f,0x8a,0xc9,0x5d,0x8f, + 0x32,0xb9,0x2b,0x91,0xbf,0x68,0x75,0xc0,0x99,0x71,0x18,0x3b,0xb1,0x27,0xa3,0xf2, + 0x53,0x19,0xdb,0xfd,0x18,0x63,0x7b,0xac,0xd1,0xc0,0x93,0x11,0x2,0xd0,0x6c,0x9e, + 0x2,0x14,0x8f,0x9f,0x85,0x21,0x5f,0xc2,0xc,0x93,0xaf,0x61,0xe,0x88,0xbe,0x88, + 0x59,0x3a,0x7a,0x2a,0x66,0xed,0xc9,0x93,0x11,0x4f,0x5,0xfd,0x20,0x5e,0x86,0xc5, + 0x77,0x96,0x4e,0x30,0x6b,0x4f,0x1,0x94,0x7b,0x92,0xa6,0xb2,0xd5,0x65,0x5f,0xb6, + 0x1,0xd,0xd3,0x7c,0xd7,0x0,0xaf,0xbb,0x6,0x78,0x7f,0x8a,0x1,0x5e,0x8f,0x32, + 0xc0,0x2b,0x5b,0x7f,0x95,0x6c,0xdf,0x8f,0xb1,0x4a,0x31,0xb1,0x17,0x23,0xbe,0x10, + 0x71,0x12,0xba,0x69,0x36,0xc6,0x0,0x1f,0xaa,0x24,0x6,0x5e,0x8c,0x2a,0xbc,0x95, + 0x2d,0x61,0x15,0x8e,0x1c,0xb2,0x1b,0x61,0x86,0xc9,0xcd,0x30,0x7,0x44,0x37,0xc4, + 0x24,0x1c,0x7d,0x14,0xb3,0xee,0xe4,0xc3,0x88,0x27,0x85,0x66,0x10,0xef,0xe2,0x97, + 0x62,0x92,0x70,0x82,0x59,0x79,0xa,0xa0,0xcc,0x6d,0xfc,0x94,0x4c,0x2a,0x5a,0x5d, + 0xf2,0x65,0x1b,0x50,0x93,0x4d,0xb3,0xae,0x31,0x5e,0xf7,0x8c,0xf1,0x9a,0x9d,0x62, + 0x8c,0xd7,0xa3,0x8c,0xf1,0x1a,0xbf,0xd7,0xaa,0x54,0xc7,0x87,0xb1,0x49,0x31,0xb1, + 0xf,0x23,0x7e,0xf,0x7b,0x1a,0xba,0xf1,0x31,0xe6,0xf8,0x58,0xa9,0x81,0xf,0x23, + 0x4,0x8,0x5e,0x2,0x34,0xab,0xbc,0x8,0x33,0x4c,0x5e,0x86,0x39,0x20,0x7a,0x21, + 0x6,0x69,0x99,0x7d,0x14,0xb3,0xf6,0xe4,0xc3,0xa8,0x71,0x54,0x2b,0x3e,0x8c,0x0, + 0xc3,0xa5,0xfa,0x24,0x9d,0x60,0xd6,0x9e,0x2,0x28,0xf7,0x24,0x4d,0x65,0xab,0xcb, + 0xbe,0x6c,0x3,0x1a,0xc2,0xf1,0xae,0xb5,0x5e,0xf7,0xac,0xf5,0x9a,0x9f,0x62,0xad, + 0xd7,0xa3,0xac,0xf5,0xf1,0xe8,0x6b,0xc8,0xb6,0xca,0x81,0x71,0x18,0x3d,0xb1,0xf7, + 0xa2,0x16,0x13,0x99,0xea,0xb5,0x18,0x63,0xaa,0x8f,0x35,0x1a,0x78,0x2f,0xea,0x60, + 0xec,0xcc,0x1,0x3a,0x58,0x42,0xb3,0xb,0x61,0x86,0xc9,0xc3,0x30,0x7,0x44,0x7, + 0xc4,0x20,0x2d,0xb3,0x77,0x62,0xd6,0x9e,0xbc,0x17,0xd1,0x95,0x27,0x90,0x85,0xe2, + 0xc3,0xe7,0xb0,0x8a,0x74,0x82,0x59,0x7b,0x38,0x6d,0x2c,0xb9,0xa3,0xf4,0xa0,0x6c, + 0x75,0xd9,0x97,0x6d,0x40,0x43,0x35,0xd1,0x35,0xdc,0xeb,0xd6,0x70,0x7f,0xfc,0xfb, + 0x80,0x81,0x76,0x7d,0xd2,0x8d,0x32,0xe1,0x87,0xaf,0x2c,0xf7,0x3e,0xb8,0x5b,0xdd, + 0x95,0xe0,0xe1,0xeb,0x89,0xf1,0x83,0x84,0xdf,0x46,0xb8,0xfc,0x21,0xe1,0x6f,0xa2, + 0x5b,0x3a,0x62,0x3a,0xf8,0xf5,0xf7,0xcd,0xfd,0xd7,0xf7,0x9b,0x7,0x4c,0xff,0xb8, + 0x59,0x3f,0xe0,0x33,0x30,0x2c,0x98,0x4e,0x39,0xe7,0xf8,0x95,0xc8,0x84,0x18,0x5e, + 0x39,0x56,0x33,0x53,0x16,0x5e,0x43,0x58,0xa7,0x8d,0xa8,0xb4,0x6d,0xcc,0x43,0xcb, + 0xae,0xd1,0x53,0x67,0x8b,0x7a,0xbf,0xe1,0xc6,0x7e,0x29,0x19,0x4a,0x34,0x34,0xe, + 0x70,0x28,0x31,0x93,0xb6,0x69,0xbc,0xca,0x34,0xc0,0xf1,0xed,0x75,0x52,0x4d,0xd0, + 0x80,0xf9,0x73,0x52,0xdf,0xd8,0x80,0xf6,0x3f,0x69,0x40,0x11,0xdf,0x78,0x95,0x1a, + 0x25,0x7c,0xbd,0x53,0xec,0xfd,0xae,0x53,0x11,0xda,0x6f,0xba,0xee,0x5e,0x5d,0x9b, + 0xd3,0x9a,0x6e,0xe4,0xdb,0xde,0xd1,0x19,0xda,0x1e,0xe9,0x73,0x55,0xec,0x94,0x7d, + 0x2e,0xfb,0x33,0x7d,0x5b,0x93,0xa5,0xcf,0x3c,0x9d,0xd8,0x64,0xd8,0x9f,0xa4,0xf, + 0x1f,0x60,0xe5,0xe1,0x45,0xea,0x4,0x39,0x5e,0xc9,0x9e,0x61,0x87,0x62,0x78,0xc8, + 0xde,0xc0,0x26,0x71,0x84,0x7b,0x6d,0xd7,0xff,0xd2,0x92,0xb6,0xa7,0xb5,0xdd,0xb8, + 0x77,0xa7,0xe3,0x12,0x96,0xe9,0x61,0xb7,0xab,0x5b,0xaf,0x8e,0x9f,0xb4,0xfd,0xfc, + 0x24,0xed,0x97,0x5c,0x8f,0x4e,0x6d,0x3f,0xb1,0xb0,0xc2,0xe5,0x16,0x21,0xc4,0x3, + 0x82,0x3e,0x25,0x61,0x4e,0x6c,0x50,0x9d,0xf2,0x48,0xd3,0xf5,0xdd,0x7f,0x74,0x32, + 0xb5,0x1e,0x9c,0x3,0xfd,0x1f,0xcf,0x81,0xe3,0xbe,0x4c,0xa,0x1b,0x72,0xe7,0x8b, + 0x81,0xc,0x7,0x91,0xe1,0x28,0xa,0x91,0x6d,0x83,0xda,0x29,0x1a,0x34,0x1f,0xd, + 0x7d,0x63,0x83,0xfa,0x4e,0x83,0x56,0x36,0x7b,0x58,0xa2,0xc0,0x12,0x47,0x61,0xa7, + 0x92,0xd1,0x12,0x2e,0x84,0x99,0xab,0x30,0x40,0xc6,0x73,0x3d,0x65,0xc3,0x55,0x76, + 0x25,0xc3,0x39,0x9f,0x5b,0x18,0xa6,0xe6,0xd2,0x86,0xd7,0xea,0x6,0xec,0xe5,0x5c, + 0xc2,0x9e,0x4f,0x61,0xf2,0x5a,0xdd,0xef,0xb3,0xbf,0xcd,0x50,0x52,0x4,0xf,0x7c, + 0x8d,0xfa,0x1,0x1a,0x1e,0x7d,0x17,0x75,0xd8,0xfe,0x41,0x46,0x3e,0x38,0x69,0x8, + 0x23,0xa2,0xed,0x41,0xb1,0xe0,0xc9,0x26,0x5d,0x30,0xa7,0x42,0x46,0x32,0xba,0xf3, + 0x6b,0x1d,0xe5,0x8b,0xba,0xa1,0x7e,0xdc,0x9d,0x5a,0x11,0x53,0x58,0x15,0xf7,0xa7, + 0x3a,0x38,0xcb,0xa2,0xa,0x15,0xdf,0xa0,0x22,0x14,0x8f,0x79,0x84,0xd3,0x6,0x58, + 0xcc,0xb9,0x54,0x6,0x6d,0xd0,0xa8,0x6b,0xb8,0x19,0xe4,0x41,0x2a,0x31,0x17,0xcc, + 0x5f,0x9a,0xb9,0x83,0x8d,0x33,0xa3,0x6a,0x3b,0xa1,0xe6,0xe,0x96,0x8d,0x52,0xd0, + 0x1d,0x6b,0xce,0xf1,0xcc,0xb,0x24,0xe9,0x31,0x2a,0x48,0xf,0x5b,0x13,0xe5,0xe9, + 0xb9,0x18,0x87,0xc7,0xa3,0x4a,0x6a,0x7a,0x8c,0x45,0x1f,0xe6,0xe0,0xf1,0xd5,0x18, + 0x36,0x3e,0x39,0x41,0x2f,0x25,0xf6,0x50,0xca,0xf0,0xa4,0x1d,0x5,0x70,0xa6,0x4a, + 0x53,0x78,0x7c,0xd6,0xb1,0xa5,0x74,0x84,0x1a,0xbf,0xa6,0x3,0xab,0x91,0xf8,0x2a, + 0xd0,0x81,0x3a,0xcc,0x0,0xca,0x62,0x9c,0x8e,0x4f,0x5a,0xc7,0xef,0xd5,0x71,0x5c, + 0xfa,0x42,0xc9,0x5,0xea,0x77,0xe8,0x66,0x44,0x4f,0x3a,0xbc,0x3e,0xd,0x7a,0xb0, + 0x19,0xb4,0x4,0x96,0x3d,0x7e,0x7f,0x4f,0xdb,0x80,0x2b,0x7d,0x21,0x7,0x3c,0x27, + 0x16,0xf1,0xb9,0xea,0x28,0x21,0x1d,0xda,0xc2,0x17,0x2e,0x5c,0x63,0x9,0x39,0x28, + 0x6a,0x88,0x41,0x9,0x72,0xd3,0x39,0x1c,0x1f,0x62,0x3b,0x90,0xfc,0x40,0x5f,0x78, + 0x48,0xb8,0xa0,0x16,0xe1,0xb1,0x52,0x95,0x81,0x15,0x73,0x7,0xe3,0x89,0x4c,0x8f, + 0x88,0x19,0x59,0x9a,0x21,0x3c,0x44,0xa5,0x4a,0xbb,0xe1,0x63,0x61,0xa6,0xb4,0x43, + 0xa5,0xb0,0x59,0x9f,0xf7,0x8f,0x14,0xb5,0xef,0xd,0x47,0xf1,0x5,0x23,0xcd,0x8b, + 0x59,0x4,0x76,0x15,0xad,0xf0,0x9d,0x75,0xf8,0x2e,0x14,0x19,0x58,0x6,0x3b,0x14, + 0xc3,0x11,0x30,0x21,0xc2,0xdd,0x46,0x78,0x54,0x90,0x92,0xc1,0x83,0x82,0xdd,0x86, + 0x64,0x61,0xcb,0xea,0xf1,0xdd,0xa8,0x78,0x5f,0x51,0xaa,0xb0,0xd,0x71,0xc8,0x9, + 0xc4,0x2e,0xbc,0xb3,0x0,0x5f,0x41,0x5,0x0,0x69,0xa1,0xb1,0x39,0xe8,0xba,0x25, + 0x8f,0xbb,0x5d,0x8f,0xae,0x1,0x26,0x5c,0x19,0x9,0x3b,0x77,0x5,0x44,0x55,0xb0, + 0x2f,0x12,0x71,0xeb,0x1d,0xbf,0xf,0xa5,0x71,0xab,0xc,0x6b,0xa4,0xe0,0x62,0x20, + 0x83,0xa4,0x82,0xed,0xb6,0xb,0xee,0x8,0xc1,0x65,0x4b,0xeb,0x70,0xb7,0xe,0x3b, + 0xa8,0x37,0x98,0xf,0xb3,0x81,0x5f,0x2e,0x6e,0x94,0xb4,0xe5,0xe8,0xac,0xe0,0x42, + 0xcb,0x57,0x55,0x6d,0x1f,0xeb,0xfe,0xb6,0xe7,0xfb,0x77,0xef,0x1c,0x33,0xb4,0x7a, + 0xfc,0x8e,0x36,0xd0,0x79,0x24,0x66,0xd8,0x5b,0xf3,0x40,0x8c,0x7b,0x2a,0x5f,0x5e, + 0x7b,0xe1,0xd4,0x42,0xd4,0x97,0x89,0x28,0x2d,0xe6,0x87,0x6a,0xb4,0xd9,0x5f,0x10, + 0x3c,0x6c,0x1e,0x56,0x7f,0x79,0xda,0x6d,0x37,0xbf,0xae,0x52,0xde,0x4,0xcf,0x3f, + 0xaf,0xef,0x76,0x1f,0x2e,0x45,0x82,0xa8,0xe1,0xf6,0xe6,0xf1,0x72,0xbb,0xf9,0xf4, + 0x70,0x37,0xc,0xfc,0x37,0x4c,0x85,0x31,0xb4,0x43,0x2,0xde,0x7c,0xb8,0x5d,0x9b, + 0x68,0xff,0xfc,0x43,0x23,0x81,0x19,0x75,0x96,0xa3,0xf1,0xee,0x8b,0x73,0x83,0xaf, + 0xb7,0xe0,0x6a,0x97,0x73,0x3d,0x38,0x13,0x6c,0xd2,0xe0,0x24,0xa6,0x81,0xfa,0xcc, + 0x32,0x55,0xe5,0xf4,0x8f,0xed,0xcd,0xc3,0xd3,0xbb,0xcd,0xf6,0xe3,0xf3,0xb3,0x8f, + 0x37,0xbb,0xed,0xfa,0xcb,0x9f,0x83,0xf7,0x9b,0x99,0x9f,0xa3,0x8f,0x9,0x73,0xf3, + 0xfc,0x27,0x86,0x72,0xb4,0x48,0xe0,0x2b,0xe,0xb0,0x47,0x31,0xfd,0x3,0x59,0x40, + 0x4e,0x9e,0x3,0x61,0x17,0xfc,0xe2,0x95,0xaf,0x27,0x2f,0x5b,0xc,0x6,0x7b,0x7a, + 0x16,0xcc,0x6b,0x7b,0x54,0x99,0xd3,0xfa,0xe5,0xab,0x46,0x99,0xea,0x28,0x13,0xb2, + 0xbe,0x9a,0x52,0x29,0xbb,0x32,0xec,0xc5,0x75,0xa3,0xcc,0x74,0x94,0xc1,0x0,0x7f, + 0x74,0x8e,0xd6,0xd7,0x46,0xbd,0x78,0xd9,0x28,0x73,0x1d,0x65,0x56,0xd4,0xab,0xa1, + 0xa1,0x32,0xee,0xd9,0x2b,0xdb,0x94,0x2c,0x7f,0xd4,0xeb,0x90,0x8d,0xa5,0x19,0x87, + 0x3c,0xf4,0x70,0xe8,0x9d,0x78,0x63,0x47,0xc5,0x37,0x8c,0xa1,0x39,0x2e,0xec,0x89, + 0xe4,0xcc,0xc0,0xf8,0xf,0x63,0xd,0x2e,0x71,0x60,0x18,0x30,0x30,0xb8,0x18,0x8b, + 0x8,0x5d,0x42,0x60,0x6a,0xf4,0xf8,0x26,0xb,0xbc,0xd,0x1b,0xbd,0xed,0x60,0xe2, + 0x97,0xc2,0x23,0xf6,0x30,0x82,0xc3,0x5c,0x5,0x33,0x2f,0x0,0x58,0xed,0x22,0xc0, + 0x18,0x98,0x2e,0x82,0x7f,0x6e,0x5,0x5f,0x21,0xe4,0xe1,0x6,0x2e,0x64,0x86,0xc0, + 0xe0,0xb5,0x5d,0xe8,0xbc,0x30,0xd5,0x80,0x4e,0xd,0xa3,0x3a,0x20,0xc3,0x70,0xa2, + 0xc1,0x4f,0x93,0x73,0x8d,0x3,0x1c,0x2c,0x1e,0xe3,0x4b,0xa4,0xa0,0xe0,0xe1,0xf6, + 0xb6,0x72,0x58,0x5e,0xf4,0xe,0x85,0xda,0x70,0x18,0xe0,0xea,0xba,0x2d,0x1b,0xdc, + 0x8c,0x44,0xfd,0xf,0x7e,0x99,0x72,0x66,0xf6,0xc7,0xfd,0x75,0xd4,0xe1,0x18,0xbe, + 0xb6,0xd4,0x94,0xa5,0x25,0xce,0xd1,0xb2,0xfa,0x92,0xdc,0x30,0x1,0x1e,0x60,0xe0, + 0x21,0xa1,0xb1,0x7f,0xd8,0x4f,0x61,0x2e,0x14,0xd8,0x4f,0x2d,0x3e,0xbe,0xfc,0x27, + 0x86,0xf2,0xf0,0x65,0x51,0x58,0x81,0xc0,0xa8,0xae,0xb9,0x9c,0xa4,0x9f,0x16,0x77, + 0xbc,0x9,0xfa,0xe9,0xc0,0x25,0xef,0xdb,0xfb,0xe9,0xe0,0xa3,0x63,0xdf,0xde,0x4f, + 0x3d,0x9f,0xb0,0x9f,0xe6,0xe3,0xc9,0x3f,0xee,0xa7,0x1e,0x5f,0xd4,0x10,0x16,0x5c, + 0x86,0xe3,0x4,0x1c,0x5e,0x2,0x8e,0xd0,0xe3,0x67,0x64,0x65,0xf8,0x76,0x22,0xac, + 0xbe,0x60,0x39,0x8d,0x48,0xd9,0xe0,0x32,0xcd,0x4,0x2e,0xd,0xa1,0x2f,0x33,0x1e, + 0x7a,0x22,0xd7,0xc1,0x88,0xea,0xc3,0x42,0x29,0x5c,0x62,0x47,0xc0,0x60,0xe1,0x61, + 0x6c,0x58,0x66,0x69,0x5c,0xd0,0x87,0xb,0xf5,0x22,0x2c,0xfb,0x60,0x2a,0x7,0x82, + 0x84,0x8e,0xea,0xe9,0xc5,0x47,0x4a,0x86,0xaf,0x5,0x9,0x19,0xa6,0x7d,0xe9,0xc2, + 0x9d,0x7a,0x3,0x5d,0x3c,0x2c,0x3d,0x10,0x70,0xe7,0xe2,0x1b,0x9d,0x71,0x70,0x80, + 0x12,0x32,0x83,0x3,0xb,0x60,0x8d,0x2b,0xc8,0xd8,0xc9,0xf1,0x2d,0xd0,0xf8,0xd, + 0x70,0x14,0x15,0x88,0xc,0x94,0x10,0x10,0x9e,0x58,0x2e,0x9b,0xca,0x36,0x1d,0xd5, + 0x77,0x8d,0xf2,0x26,0x1f,0x39,0x1e,0x37,0x91,0xc6,0x8b,0x7b,0xc3,0xa9,0x98,0xdc, + 0xe9,0xfb,0xdd,0x7a,0xd4,0x49,0xa4,0xc1,0xad,0xcb,0xc0,0xf9,0x5a,0xf,0xcc,0x6e, + 0xc3,0xa8,0x38,0xf7,0x72,0x97,0xbf,0x52,0x79,0x72,0x27,0x74,0x2f,0x5f,0xa8,0x2b, + 0x53,0x11,0xa,0x87,0x8d,0x63,0xec,0x3c,0xca,0x72,0xfe,0x52,0xbe,0x7e,0xd1,0xea, + 0xe9,0x12,0xf3,0x76,0xbd,0xbd,0xbd,0xf,0x4b,0xb2,0xdb,0x2f,0xa9,0x3a,0x9e,0x8e, + 0xbd,0x6e,0xbf,0x86,0x1d,0xb1,0x70,0x2c,0x85,0x6c,0x61,0xcc,0x5a,0x28,0x83,0x9e, + 0x9b,0x65,0xc8,0x88,0x2a,0xc,0x5d,0xda,0x7d,0xda,0xdc,0xad,0x1f,0xe1,0xbf,0xcb, + 0x7d,0x7d,0x25,0x6a,0x4f,0x71,0x8e,0xda,0x7e,0x69,0xb3,0x28,0x51,0x5f,0xf7,0xa2, + 0x8e,0xf0,0x46,0x9c,0xc0,0x1b,0xd9,0xf0,0xc6,0xd0,0xa9,0xe2,0x33,0x7c,0x3a,0x37, + 0xf7,0x47,0x78,0x43,0x87,0x8a,0xa1,0x6e,0xb0,0x9,0x32,0x34,0x7a,0x61,0x85,0x70, + 0x81,0xee,0x45,0x7a,0x4c,0xd0,0x21,0xa1,0x63,0xa6,0x82,0xf6,0x79,0x36,0x92,0x2c, + 0xd7,0xe1,0x5f,0xdd,0xc8,0xbc,0x37,0x94,0xb1,0xe6,0xf0,0xab,0x52,0x66,0xae,0x5f, + 0xec,0x29,0x93,0x1d,0x65,0x5c,0x9a,0xa3,0xf4,0xbb,0xba,0x7a,0xfd,0x7a,0x4f,0x59, + 0x6f,0x2e,0x11,0x4a,0x1e,0x1d,0xfe,0x5f,0xea,0x2b,0xbf,0xa7,0xac,0x37,0x97,0xc0, + 0xf0,0xef,0x8e,0x29,0xb3,0x57,0x2f,0xaf,0xf6,0x94,0xf5,0xe6,0x12,0xcd,0x8e,0xcf, + 0x25,0xd2,0xf8,0xbd,0x92,0x89,0x5e,0x3,0xc0,0x16,0x4a,0x1d,0xed,0xb2,0xca,0xd9, + 0x3d,0x65,0xbd,0x6,0x70,0xfc,0xf8,0x33,0x63,0xd7,0x4e,0xef,0x29,0xeb,0x35,0x80, + 0x37,0x47,0xe7,0x72,0x29,0xfd,0x7e,0xc1,0xb2,0x11,0xeb,0xa2,0xee,0x26,0x87,0xc7, + 0x12,0xe8,0x1f,0x8c,0x89,0x6a,0x2c,0x29,0x3d,0x44,0xe,0x37,0x74,0x34,0x86,0x8, + 0x7f,0x70,0xc,0x19,0xe8,0xd9,0x1b,0x43,0xbc,0xd8,0x1f,0x40,0xb2,0xea,0x6a,0xec, + 0x28,0xa1,0x47,0x86,0xd,0x79,0x60,0xd8,0xb8,0x78,0xfa,0xed,0xfd,0x8f,0xff,0xf, + 0x25,0x9f,0xc3,0x69, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/user-group-properties.svgz + 0x0,0x1,0x65,0xdf, + 0x1f, + 0x8b,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xec,0x7d,0x6d,0x73,0xdc,0xc8,0x91, + 0xe6,0xf7,0xfd,0x15,0x3a,0xfa,0x8b,0x15,0xd1,0x9d,0xcc,0xf7,0x17,0xd9,0xb3,0x1b, + 0x5e,0x7b,0xbd,0xe1,0x88,0xbb,0xd8,0x8b,0x3b,0x3b,0xe2,0xbe,0x4d,0x50,0x64,0x53, + 0xe2,0x9a,0x43,0xea,0x48,0xca,0xa3,0xd9,0x5f,0xbf,0xe8,0xd6,0xb,0x55,0xc5,0x9e, + 0x26,0x48,0x2,0xec,0xf1,0x8c,0xd9,0x31,0x23,0x34,0x90,0x40,0x21,0x9f,0x27,0x33, + 0xab,0x32,0xab,0x80,0xfe,0xed,0xbf,0x7c,0xf8,0xee,0xfc,0xc5,0xdf,0x56,0x57,0xd7, + 0x67,0x97,0x17,0xdf,0x1c,0x10,0xe0,0xc1,0x8b,0xd5,0xc5,0xf1,0xe5,0xc9,0xd9,0xc5, + 0x9b,0x6f,0xe,0xfe,0xf2,0xe7,0x3f,0x2e,0xf3,0xe0,0xc5,0xf5,0xcd,0xd1,0xc5,0xc9, + 0xd1,0xf9,0xe5,0xc5,0xea,0x9b,0x83,0x8b,0xcb,0x83,0x7f,0xf9,0xe7,0x7f,0xfa,0xed, + 0xff,0x58,0x2e,0x5f,0xfc,0xfe,0x6a,0x75,0x74,0xb3,0x3a,0x79,0xf1,0xfd,0xd9,0xcd, + 0xdb,0x17,0x7f,0xba,0xf8,0xeb,0xf5,0xf1,0xd1,0xbb,0xd5,0x8b,0x5f,0xbf,0xbd,0xb9, + 0x79,0xf7,0xea,0xf0,0xf0,0xfb,0xef,0xbf,0x87,0xb3,0x4f,0x3b,0xe1,0xf2,0xea,0xcd, + 0xe1,0xcb,0x17,0xcb,0xe5,0x70,0xe6,0xf5,0xdf,0xde,0xfc,0xd3,0x8b,0x17,0x2f,0x86, + 0x66,0x2f,0xae,0x5f,0x9d,0x7d,0x73,0xf0,0x49,0xfc,0xe2,0x1a,0x8e,0x4e,0x2e,0x5f, + 0xaf,0xe0,0xf8,0xf2,0xbb,0xc3,0xdf,0xad,0xb7,0xfe,0x74,0x7e,0xfe,0xfe,0xfa,0xe6, + 0xea,0xe8,0xe6,0xf2,0xea,0x90,0x10,0xf0,0xf0,0xe0,0xf6,0xbc,0x93,0xe3,0x2f,0x27, + 0xbe,0x7b,0x7f,0x75,0xbe,0xb9,0xfe,0xc9,0xf1,0xe1,0xea,0x7c,0xf5,0xdd,0xea,0xe2, + 0xe6,0xfa,0x90,0x80,0xbe,0x16,0x3f,0xbe,0x15,0x3f,0x5e,0xdf,0xf4,0xd9,0xdf,0x56, + 0x43,0x33,0xdf,0x5d,0xe,0x8d,0xe,0x67,0xe,0x6d,0xff,0xea,0x2b,0xe1,0xab,0x93, + 0xd3,0x41,0xfa,0x56,0x89,0xef,0x65,0x23,0x44,0x55,0x75,0x88,0x7c,0xc8,0xbc,0x1c, + 0x24,0x96,0xd7,0x3f,0x5c,0xdc,0x1c,0x7d,0x58,0xb6,0xa7,0xe,0xba,0x6d,0x3b,0x95, + 0x11,0xf1,0x70,0x38,0x76,0x2b,0x39,0x4e,0xea,0xd5,0x87,0xf3,0x1,0xc1,0x1f,0xbd, + 0x99,0xcd,0xd1,0xaf,0x5b,0x1f,0x58,0x7b,0x37,0xfc,0xf7,0xe5,0x84,0xcf,0x3b,0xe0, + 0xfa,0xf2,0xfd,0xd5,0xf1,0xea,0x74,0x38,0x73,0x5,0x17,0xab,0x9b,0xc3,0x3f,0xfc, + 0xf9,0xf,0x5f,0xe,0x2e,0x11,0x4e,0x6e,0x4e,0xbe,0xba,0xcc,0x67,0xd2,0x9a,0x76, + 0x1b,0x26,0x2f,0x8e,0xbe,0x5b,0x5d,0xbf,0x3b,0x3a,0x5e,0x5d,0x1f,0x7e,0xde,0xbf, + 0x3e,0x7f,0x30,0x84,0x93,0x9b,0xb7,0x83,0x11,0x71,0x6e,0xbe,0xbe,0x5d,0x9d,0xbd, + 0x79,0x7b,0x73,0xfb,0xfd,0xec,0xe4,0x9b,0x83,0x41,0x3f,0x12,0x8c,0xcd,0xf7,0xcf, + 0x77,0xf0,0xea,0x8b,0xf9,0x21,0x8,0x6f,0xe,0x7d,0xbe,0xec,0xd7,0x87,0xd4,0xd7, + 0x87,0x1a,0x5b,0x6d,0x2f,0x73,0x72,0x79,0xfc,0xfa,0xe8,0x7a,0xb8,0xef,0xc3,0xb7, + 0x97,0xdf,0xad,0xe,0xff,0xf3,0xe8,0xaf,0x97,0xaf,0xf,0x4f,0x56,0x7f,0x3b,0xfc, + 0xeb,0xc9,0xea,0xf0,0xfa,0xea,0x78,0xfd,0xef,0x5a,0xe0,0xf0,0xea,0xfd,0xc5,0xcd, + 0xd9,0x20,0xf1,0xee,0xec,0xf8,0xfa,0xf0,0xf2,0xc3,0xf,0x6f,0x56,0x17,0x87,0x43, + 0x73,0xe7,0x47,0xaf,0xcf,0x57,0x87,0x47,0xc7,0x37,0xc3,0xe5,0xaf,0xef,0x5c,0x7a, + 0x50,0x7a,0xb8,0xf4,0xfb,0xeb,0xd5,0xd5,0xf2,0xcd,0xd5,0xe5,0xfb,0x77,0xcb,0x77, + 0x57,0x97,0xef,0x56,0x57,0x37,0x67,0xab,0x6b,0x18,0xb4,0xfa,0xaf,0xf6,0xbe,0x2f, + 0xdf,0xdf,0xbc,0x7b,0x7f,0xf3,0xed,0xea,0xc3,0xcd,0xea,0xe2,0xe3,0xed,0xe,0xc0, + 0xdd,0xa2,0xf8,0xf1,0xf0,0xe6,0x3c,0x68,0x20,0x5c,0x5d,0xac,0x6f,0x62,0xf9,0xfa, + 0xe8,0xf8,0xaf,0xeb,0x56,0x2e,0x6,0xc8,0x2e,0x56,0xdf,0xb7,0xd7,0x5e,0x7d,0x78, + 0x77,0x79,0x75,0xb3,0x3c,0x3d,0x3b,0x1f,0xa4,0xbf,0xfb,0xac,0xef,0xa0,0xcd,0xc5, + 0x80,0xf8,0xd5,0xe5,0x4e,0xb5,0xe,0xb7,0x2b,0xf0,0xee,0xe2,0xcd,0xd6,0x36,0x3e, + 0x9c,0xbc,0x1b,0xcc,0x89,0x12,0xb7,0x1e,0xfd,0xe1,0xcb,0xd1,0x7f,0x1e,0xe,0xff, + 0xf6,0x64,0x75,0x7a,0xbd,0x16,0xfb,0xc8,0xf4,0xfa,0x1b,0x9,0xd6,0xe6,0xd8,0x70, + 0xf4,0xcb,0xc9,0x43,0x9b,0xd7,0xef,0x56,0xc7,0x6b,0x27,0xdc,0x1c,0xf9,0x1a,0xe7, + 0x9b,0x1f,0xd6,0x76,0xd7,0x8a,0xca,0x47,0xe3,0x7c,0xd1,0x98,0xc5,0xbb,0x6f,0x3f, + 0xc,0x36,0xf1,0xe2,0xd5,0xb,0xd7,0xe1,0x7f,0xb4,0x55,0xe2,0x87,0x8f,0x12,0x84, + 0xb8,0xfe,0x7,0xb7,0xca,0xfc,0xd7,0xc6,0x3c,0xef,0x5e,0xa7,0xbf,0x85,0xe5,0xe5, + 0xd5,0xd9,0x9b,0xb3,0x81,0xc6,0x8d,0x9c,0x32,0xf8,0xfa,0x2f,0xda,0x73,0x6,0xad, + 0xbf,0x52,0x8e,0xcd,0x87,0xd8,0x79,0xf8,0x49,0xfd,0xc1,0x57,0x57,0x47,0x57,0xff, + 0x7e,0x75,0x74,0x72,0x36,0x44,0xa8,0xaf,0x4f,0x69,0x8f,0x14,0x33,0x6f,0x20,0xdb, + 0x9c,0x75,0x7d,0x73,0xf9,0x6e,0xbd,0x7d,0x2b,0xbd,0xde,0x53,0xcc,0x7a,0x70,0xbb, + 0xfb,0xf2,0xf4,0xf4,0x7a,0x35,0xf8,0x19,0x7e,0xb5,0xef,0xfa,0xe6,0x87,0xf3,0xd5, + 0x47,0xe9,0xe5,0xf1,0xe5,0xf9,0xe5,0xd5,0xab,0x5f,0x9d,0x1e,0x9d,0xe2,0xca,0x7e, + 0xb3,0xd9,0x75,0x39,0x78,0xef,0xd9,0xcd,0xf,0xaf,0xe8,0x37,0xc3,0x1d,0x36,0xad, + 0xed,0xbe,0x44,0xac,0xe2,0xc4,0xfb,0x4b,0x6c,0xbb,0x15,0xe0,0x22,0x61,0x24,0x3b, + 0xd8,0x7a,0xfb,0xde,0x37,0xbb,0x55,0x2a,0xb7,0x5c,0x99,0x76,0x2b,0xb9,0x3a,0x3d, + 0x3e,0x3d,0x3a,0xfe,0x51,0x25,0x7f,0x7b,0xd8,0xa2,0xbd,0x9d,0x9c,0xde,0x6,0x86, + 0x6b,0x9f,0xaf,0x8e,0x87,0xc6,0x8f,0xce,0xbf,0x3f,0xfa,0xe1,0xfa,0xe0,0xc7,0xd9, + 0x13,0x51,0x3b,0x18,0x8f,0x27,0x6e,0xfe,0xc6,0xe0,0xb9,0x5,0x46,0x11,0x8d,0x41, + 0xb1,0xa7,0xb5,0x86,0xdb,0x5a,0xa3,0xed,0xad,0xd5,0x33,0xc2,0x48,0xf2,0x0,0x18, + 0x4f,0x37,0x7f,0x8f,0x86,0x91,0xac,0x81,0x71,0x5c,0x6b,0x8f,0x86,0x91,0xe2,0xf9, + 0x60,0xe4,0x7c,0x3e,0x18,0x39,0x9f,0x13,0x46,0xce,0xe7,0x84,0xd1,0x9f,0x11,0x46, + 0x7f,0x56,0x18,0xfd,0x39,0x61,0x2c,0x7a,0xb6,0xd8,0xc8,0x25,0xcf,0x18,0x1b,0xb9, + 0xec,0xe1,0x30,0x6e,0x47,0x29,0x38,0xe9,0xbe,0xfe,0x3f,0x38,0x65,0x6b,0xa7,0x8b, + 0x1f,0xff,0xe,0x1e,0x6e,0x9f,0x9f,0x4f,0xed,0x40,0xdb,0xde,0xb8,0x6d,0xc3,0xe5, + 0xf1,0x8d,0xdf,0xde,0xf7,0xa3,0x30,0x7c,0xf3,0xe9,0xfb,0x9f,0xaf,0x8e,0x2e,0xae, + 0x87,0x1c,0xe7,0xbb,0x6f,0xe,0xbe,0x3b,0xba,0xb9,0x3a,0xfb,0xf0,0x6b,0x2,0x14, + 0xa2,0x94,0x5,0xe,0x1f,0x2,0x44,0x13,0x8c,0x5,0x19,0x81,0xb1,0xe8,0xc2,0x1c, + 0xcc,0x39,0xf2,0xe5,0x97,0x5b,0xfe,0x81,0x7,0x45,0x44,0xc0,0xa5,0xf2,0xcb,0xce, + 0xf,0xc3,0xce,0x10,0x28,0x49,0x55,0xbf,0x15,0xa5,0x6f,0xe,0x96,0xa,0xae,0xa9, + 0x42,0x72,0x2b,0x3c,0xec,0x4e,0x2,0x67,0x4d,0xb3,0x83,0xfe,0x16,0xff,0x72,0x71, + 0x76,0x73,0xfd,0x31,0x89,0xf8,0xbf,0xeb,0xfc,0xe9,0x3f,0x2e,0xfe,0x72,0xbd,0xda, + 0xe1,0x32,0x54,0x5a,0x5f,0xe,0x6f,0xd2,0xbd,0x57,0x6f,0xaf,0x56,0x43,0x7a,0xfa, + 0xab,0x2d,0x11,0xea,0x3e,0xd7,0x1c,0xd0,0x7d,0x56,0x1c,0x8d,0x80,0x84,0xd9,0x1b, + 0x20,0xad,0x40,0x9d,0x8a,0xab,0x5,0x92,0x2,0x8a,0xd2,0xa2,0x5,0x32,0x4,0x22, + 0x45,0xb1,0xa6,0x0,0xd2,0xff,0x6e,0x81,0xc4,0x4,0x41,0xcb,0x6a,0x80,0xcc,0x2, + 0xa4,0x24,0xcb,0xe,0x48,0x1,0x2f,0x67,0xf3,0xd6,0x22,0x19,0xca,0x10,0x73,0x12, + 0x20,0x65,0x76,0x20,0x1b,0xed,0x3,0x2a,0x2,0xcb,0x1a,0xed,0xbd,0x80,0x5c,0x18, + 0x3b,0xed,0x11,0x8a,0xc4,0x44,0xb0,0x5a,0x3b,0x52,0x28,0x2a,0x8b,0x3a,0x78,0xa, + 0x45,0x54,0x62,0x6b,0x8a,0x22,0x82,0xe2,0xe5,0x4,0x48,0xca,0x48,0xdf,0xce,0x9f, + 0x9c,0x49,0xa6,0x83,0xa8,0x5b,0xb5,0xbe,0x5d,0x6,0x98,0x2a,0x2a,0xd,0x29,0x49, + 0xa0,0x66,0x11,0xdc,0x50,0x52,0x1,0x88,0x92,0x6a,0x53,0xe0,0x38,0xce,0xb5,0x85, + 0x1e,0x82,0xe3,0xfa,0xac,0xa3,0xf3,0x1e,0xc7,0xab,0xc1,0x20,0xb,0x22,0xb1,0xec, + 0x56,0x9f,0xd3,0xa1,0xd0,0xe0,0x2,0x51,0x21,0xe6,0xb7,0x7b,0x87,0x2,0x45,0x10, + 0xa4,0x8,0xd6,0x2d,0xd1,0xc7,0x5b,0x65,0x8f,0x1b,0xd9,0xfb,0x49,0xb,0x50,0x47, + 0xcf,0x5a,0x2d,0x79,0xb1,0x44,0xa0,0xa4,0xcc,0x58,0x20,0x84,0xa1,0xe5,0x2,0x81, + 0x8b,0x9d,0x78,0x41,0x15,0x80,0x45,0xb4,0x20,0x31,0x8,0xe3,0x7a,0x8c,0xd5,0xb6, + 0x40,0x50,0x89,0x4c,0x80,0xf6,0x5e,0xac,0xb6,0x14,0x2c,0x4a,0x8a,0xda,0x40,0xa, + 0x54,0x1a,0xc5,0xd1,0x58,0x6d,0x30,0x54,0xb8,0x62,0x6b,0xb5,0xa6,0xa0,0x89,0x14, + 0x34,0x81,0xd5,0x72,0x8c,0xc3,0x51,0xed,0xe7,0x63,0xb5,0x2c,0x86,0x91,0x5f,0xac, + 0x16,0x8b,0x37,0x56,0xcb,0x91,0xc9,0x1b,0xb3,0x25,0xf4,0x58,0xa8,0x2,0x65,0x85, + 0x2f,0x22,0x21,0x82,0xd1,0x9e,0x6e,0xb6,0x8c,0x92,0xb3,0x9b,0xed,0x4f,0x35,0x42, + 0x32,0x8a,0xcf,0xae,0xfc,0xce,0xe6,0xb1,0xcd,0x68,0x9e,0x90,0x9e,0xec,0xce,0x7a, + 0xfa,0x5c,0x85,0x51,0xf8,0xe9,0xd9,0xf4,0x8e,0xc6,0x69,0x77,0xe3,0xba,0x3b,0xa3, + 0xe9,0xfd,0x75,0x1c,0xd1,0x23,0xa2,0xe3,0x26,0x2c,0x22,0x50,0x45,0x22,0xf,0x9b, + 0xc5,0x90,0x4c,0xee,0xb7,0x8e,0x74,0xb5,0x71,0xe8,0x22,0x66,0xac,0x26,0x24,0x10, + 0x19,0x4,0x96,0x34,0x11,0xe1,0xae,0xe8,0xf1,0xad,0x28,0x7d,0xb5,0xb7,0x91,0xdd, + 0xe5,0x8e,0x3c,0xce,0x1d,0xb9,0xe8,0x29,0x16,0x39,0x1e,0xcd,0x8d,0xd3,0x9a,0x41, + 0xa1,0x3a,0xb5,0x19,0x4b,0x2,0x15,0x9b,0x37,0xa9,0xdf,0xad,0x68,0x97,0xf8,0x31, + 0x6,0x17,0xed,0xaa,0x82,0x14,0xd6,0x28,0xd5,0xb,0xe7,0x70,0x46,0xf,0xc5,0x7, + 0x15,0x61,0xf4,0x64,0x54,0x59,0x64,0x9b,0x3,0x78,0xe8,0x76,0xef,0xeb,0xa5,0x72, + 0xab,0x5b,0xdb,0xc1,0xb8,0x5b,0xeb,0x2b,0xfd,0x33,0x68,0x47,0xdb,0xb5,0xd3,0x99, + 0x6a,0x67,0xbd,0x59,0xf4,0xfc,0xed,0xa0,0xb7,0x4,0xf,0x9e,0x1c,0x46,0x6e,0xd6, + 0x9b,0xe7,0xc3,0xdc,0xfe,0xaf,0xf9,0x63,0xf0,0x13,0x5b,0x2c,0xcd,0x1,0x37,0xdb, + 0x2f,0x1b,0x9b,0x27,0xe4,0xc6,0x31,0x88,0xda,0xca,0x9,0x21,0x37,0x3e,0xe6,0x6, + 0x25,0x9c,0xea,0x8f,0x1f,0xfc,0xe1,0x82,0x16,0xcb,0x75,0x8c,0x5b,0x4a,0x41,0x55, + 0xda,0x82,0x14,0x1,0x91,0xab,0x1d,0xef,0x2d,0x25,0x5,0xaa,0xa2,0x4d,0x1d,0x97, + 0x2c,0x60,0xe4,0xd4,0x94,0x20,0x6e,0x85,0x5b,0x8f,0x5e,0xa6,0x2,0x22,0x2b,0xca, + 0x93,0x7b,0x61,0x9,0xba,0xb7,0xb0,0x27,0x41,0xb2,0xd3,0xea,0xbf,0x7f,0x7b,0x76, + 0xb3,0x1a,0x53,0x13,0xbd,0xdf,0xef,0x24,0xc8,0x46,0xb4,0x35,0xc2,0x39,0x9e,0xdf, + 0xb,0x24,0x68,0x57,0x8c,0xcd,0xe2,0x18,0xc9,0xd7,0x18,0x6b,0x43,0x8,0xc9,0x24, + 0xcf,0xc5,0xf2,0x76,0x13,0x7,0x13,0x4,0x63,0x76,0x37,0x5e,0xb8,0x0,0x9b,0x79, + 0xf2,0xcb,0xce,0x7a,0x3e,0x9a,0xa5,0xf7,0x35,0x1a,0x82,0x12,0x22,0x6e,0xed,0x52, + 0xd,0xb0,0xdc,0x52,0x1b,0x23,0xbe,0x95,0xbe,0x85,0x79,0x98,0xf9,0xbf,0x59,0x5d, + 0x3d,0xa8,0x14,0xff,0xf1,0x94,0x10,0x8a,0x5b,0x1b,0x3c,0x5d,0xfd,0xfb,0xd1,0xfb, + 0xeb,0xeb,0xb3,0xa3,0x8b,0x7f,0x3d,0x7f,0xbf,0xb9,0xdc,0xee,0xb,0x36,0xd6,0x72, + 0xf2,0x87,0xd5,0xdf,0xce,0x8e,0x6e,0x36,0x4b,0x1b,0x18,0x32,0xd1,0xb2,0xa2,0xb, + 0x93,0x6d,0x3,0x21,0xf4,0xf5,0xc,0xe2,0xc7,0x3b,0xfa,0xf4,0xed,0xf8,0xfc,0xec, + 0xdd,0xff,0x3e,0xba,0x79,0xfb,0xf9,0xfc,0xcf,0xdf,0xef,0x77,0xb2,0xcf,0x92,0x46, + 0x5f,0x4f,0xd2,0x1c,0x9f,0x5d,0x1d,0x9f,0xaf,0x86,0x6f,0xfd,0x2,0x83,0xab,0x61, + 0xdc,0x22,0x7e,0xb0,0xed,0xc8,0x87,0x1f,0x3b,0xb2,0x1e,0xeb,0x14,0x6f,0x3d,0xb2, + 0x3e,0x47,0x5,0xaa,0xb2,0xaa,0x77,0xa6,0xd,0xe8,0xe7,0xaf,0x86,0xe5,0x49,0xbf, + 0xee,0xcc,0xd7,0xc8,0xe3,0xe5,0x6f,0xd6,0x47,0x6f,0xbd,0xf8,0xab,0xb3,0xaf,0xba, + 0x1b,0x59,0xdf,0x59,0x2,0x22,0x21,0xa2,0x7e,0xb5,0xff,0xc7,0x5a,0xbf,0x73,0xbf, + 0x83,0xd2,0xfd,0x5,0x6e,0xf1,0xdb,0x20,0x65,0xe4,0xf6,0x15,0x37,0x9f,0x41,0x7d, + 0xe0,0xe0,0x42,0xb9,0xfc,0xbe,0x10,0xa7,0x5c,0xf9,0xf0,0xb5,0xb,0x88,0xa7,0xa7, + 0x77,0x3a,0xfb,0xfb,0x63,0x9c,0xca,0xf6,0x51,0xfb,0x7d,0x8d,0xb9,0xf5,0x8d,0x3d, + 0x57,0x90,0xeb,0xd1,0xdc,0x5,0x76,0xf0,0xb8,0x20,0xd7,0xc4,0x24,0xe1,0x4,0x62, + 0xd5,0x6c,0x7b,0x6d,0x46,0x48,0x22,0x6b,0xfb,0x6e,0x11,0x87,0x4a,0x8c,0x68,0x8b, + 0x7f,0x1,0x61,0xa5,0x26,0xcf,0xd7,0x83,0x53,0x1b,0x29,0x89,0x1,0xf1,0xb9,0xfb, + 0x6f,0x8d,0xc0,0x7b,0x8d,0x3b,0x82,0xef,0x59,0x9f,0x62,0x5b,0xc,0xf9,0x71,0x1d, + 0xb8,0x46,0xe8,0xee,0xc6,0x5e,0x9f,0x9e,0xda,0xb8,0xf1,0xed,0xb8,0x3c,0x75,0x52, + 0xeb,0x8e,0xc0,0x1d,0x19,0x62,0x16,0xe3,0x58,0xca,0x76,0x85,0xc3,0x3e,0x18,0x9e, + 0x6e,0x15,0x3a,0x6d,0x85,0x36,0x1,0xf8,0x97,0x65,0xdd,0x56,0x96,0xf7,0x59,0xb7, + 0x95,0xdf,0x1b,0xa6,0xf3,0x78,0x22,0xeb,0xb6,0x72,0xbe,0xaf,0xb1,0xd7,0xa3,0x5c, + 0x69,0xf,0xa1,0xdb,0xca,0x72,0xe7,0xf8,0x94,0x7c,0x24,0x63,0x4f,0xb2,0xb6,0xce, + 0x58,0x1c,0x88,0x51,0x4c,0x7b,0xcb,0x22,0xc0,0x2a,0xee,0xac,0xd0,0x1c,0xc4,0xc2, + 0x98,0x3a,0x93,0xd,0x1,0x62,0x95,0x47,0x94,0x1,0xad,0xf2,0x1,0x95,0x7,0xb6, + 0xf5,0xe7,0x91,0xcb,0x3f,0xd8,0x71,0x84,0x89,0xb1,0xa3,0x8f,0xa8,0x3c,0x8c,0xbc, + 0xb5,0xa1,0xbd,0x39,0xb4,0x83,0xb0,0xed,0xa,0xe6,0xd0,0xe0,0xc,0xab,0x69,0x68, + 0x7b,0x6b,0x3c,0xd5,0xfa,0x16,0x11,0xb6,0x7b,0xd3,0x60,0xe1,0xd8,0xcd,0xf4,0xf8, + 0x75,0x57,0x23,0x12,0x61,0xe1,0xda,0xd,0xc4,0xf8,0x75,0x57,0xd3,0xa1,0x44,0xf4, + 0x10,0x67,0x39,0x59,0x7f,0x1e,0xbf,0x0,0x52,0xc6,0xa0,0x44,0x35,0xc2,0x59,0x46, + 0x1a,0xde,0xf3,0xd9,0xae,0x62,0xd5,0x74,0xac,0xe0,0x53,0x17,0x2,0x22,0x78,0x8a, + 0x9a,0xb0,0x8f,0xa7,0x7,0x9f,0x75,0x7d,0x2a,0xc6,0x64,0x70,0x71,0x3c,0x1d,0x2e, + 0x33,0x14,0xab,0x90,0xd1,0x70,0x71,0x3c,0x27,0x5c,0x1c,0x13,0xc2,0x65,0x75,0x6f, + 0x64,0x64,0xa7,0x9,0x22,0x63,0x8b,0xec,0x8,0xe7,0x67,0x97,0xdd,0x88,0x8c,0x5f, + 0x53,0x39,0x21,0x5c,0xcf,0xb8,0x9c,0xd4,0xe4,0x41,0x46,0x45,0xb2,0xfe,0x3c,0xda, + 0xa8,0xcc,0x9e,0x71,0x55,0xae,0xd8,0xf3,0x2d,0x6e,0x96,0x78,0x4e,0xdf,0x94,0x9a, + 0xce,0xd8,0xf8,0x19,0x51,0xe2,0x87,0xa1,0x74,0xb4,0x5a,0x7f,0x1e,0xd9,0x3f,0xa, + 0x73,0x3d,0xa3,0xb1,0x51,0x3c,0x57,0xe,0x20,0x4c,0xf5,0xe4,0x31,0x39,0x3e,0x0, + 0x46,0x9a,0xce,0xd8,0x30,0x9e,0xcf,0xd8,0xf0,0x59,0x51,0xa2,0xc9,0x50,0x62,0xb6, + 0x87,0xa0,0xf4,0x5a,0x4b,0xf9,0xe8,0xb1,0xf9,0x24,0xdb,0xc3,0x50,0x5a,0xe9,0xc9, + 0xf1,0x71,0x8d,0xa8,0x4d,0x6c,0x6d,0xcc,0xf7,0x50,0x8f,0x13,0x2e,0xda,0x51,0x8f, + 0x53,0xf4,0x68,0x2a,0x6d,0x63,0x97,0x84,0x9c,0x7e,0x18,0xbd,0xd2,0xe4,0xaa,0x91, + 0x9c,0x60,0x95,0xcb,0xee,0xda,0xca,0x80,0xf1,0x7c,0x68,0xa,0xca,0xe,0x34,0xc9, + 0xa4,0xe,0xa6,0x5b,0xed,0x13,0xe0,0x62,0x4c,0xb9,0x5a,0x52,0x2c,0x96,0x4,0x52, + 0x28,0x18,0xc3,0xb7,0x5c,0x30,0x38,0x26,0x92,0x6e,0xd6,0xdc,0x11,0x90,0x14,0xc6, + 0x5a,0x4e,0x16,0x1,0xec,0x31,0x80,0xd5,0xd5,0x4f,0xc1,0x23,0x5c,0x5a,0x56,0x3, + 0xd4,0x99,0xc3,0x1b,0x56,0xb7,0xc8,0x9e,0xb6,0xb2,0xb7,0xb4,0x6a,0x80,0x95,0x51, + 0xc5,0xbc,0x98,0xb3,0xed,0xc4,0x5c,0x69,0x32,0xcc,0x97,0x4,0x46,0x28,0x6b,0x78, + 0x95,0x38,0x64,0xb5,0x94,0xd,0xbc,0x1e,0x1b,0x78,0x75,0xb1,0x2c,0x20,0x42,0x66, + 0x5d,0x1f,0xc9,0x0,0x34,0xe6,0x45,0x80,0x4a,0xfa,0x33,0x63,0xee,0xb3,0x62,0xce, + 0x56,0xbb,0x31,0x9f,0x70,0x22,0x1e,0xd2,0x44,0xd5,0x17,0x2,0x25,0x64,0x52,0x83, + 0x19,0xfb,0x62,0x69,0x50,0x1c,0x41,0xb6,0x31,0x7e,0x4,0xb2,0xc8,0xc5,0xd2,0x19, + 0x50,0x89,0x6c,0x41,0x6,0x68,0x6c,0x1d,0xe4,0x5a,0x80,0x44,0x15,0xd4,0x40,0xce, + 0xe0,0xa1,0x82,0x91,0xd,0xe4,0x77,0x65,0x4f,0x5b,0xd9,0x5b,0xc8,0x9,0x82,0xd5, + 0xa9,0xee,0x54,0x47,0x27,0x86,0x9c,0x76,0x2d,0x2c,0x36,0xc3,0x47,0x4c,0xb,0xaa, + 0x3,0x1a,0x45,0xf7,0x80,0x93,0x0,0x56,0x55,0x65,0xdc,0xca,0xf2,0x56,0x59,0x5e, + 0x23,0x22,0x65,0x69,0x35,0x6e,0x61,0x91,0x9,0x64,0x50,0xe9,0x82,0xa,0xc4,0xd8, + 0xf3,0xe5,0xbc,0x66,0x1a,0xbb,0xc3,0xb1,0xc9,0x94,0x66,0xea,0x48,0xae,0x8b,0x25, + 0xaf,0xb7,0x50,0x7d,0x63,0xa7,0xe,0x96,0xc2,0x59,0x8d,0x99,0x72,0x81,0x4,0x69, + 0xfd,0x22,0xcd,0xd4,0xa7,0xeb,0x1,0x81,0xb3,0x4a,0xd6,0xb1,0x80,0x88,0xb5,0x74, + 0x83,0xb8,0x1,0x29,0x46,0xe4,0xe6,0xb,0x1,0x57,0x60,0x2c,0x96,0xea,0x10,0x1c, + 0xb4,0x20,0x6,0x94,0xaa,0x7c,0x39,0x93,0x1b,0xcc,0x8b,0xad,0xd8,0x6e,0x6c,0x6b, + 0x4a,0x6c,0x2b,0xd0,0x73,0xdd,0xbd,0x65,0x22,0xea,0xa6,0x47,0x6b,0xb6,0xbf,0x48, + 0x68,0x0,0x6a,0xc8,0x6,0x5c,0xc2,0x64,0xe9,0xc0,0x4d,0xd0,0x4a,0x73,0x6e,0xc0, + 0x45,0x48,0x22,0x43,0x2d,0x6f,0xd1,0x4d,0x8,0xe1,0x60,0xe9,0xd1,0x75,0xb,0xf6, + 0x9a,0x37,0x5a,0x60,0xec,0x8c,0x16,0xce,0xd3,0xc2,0xbb,0xb1,0x4b,0xb0,0xa2,0x30, + 0xfb,0x14,0x2c,0xc2,0x50,0xc5,0x9b,0x60,0xa1,0x1,0xe8,0x1a,0xf2,0xb3,0xc,0x16, + 0x14,0x3b,0xd,0xda,0x6d,0x7a,0xc4,0x5,0x22,0x15,0x5d,0x37,0x88,0x37,0x5f,0xbe, + 0x88,0xdc,0x42,0xbe,0x3d,0x5a,0x24,0x14,0xa9,0x47,0x34,0x6,0xcd,0x50,0x41,0x85, + 0x42,0xbd,0x3d,0x17,0x9,0x22,0x77,0xf6,0x6c,0xa6,0xa9,0x73,0xf,0xd2,0xd8,0x76, + 0xdb,0xf3,0xdc,0xe1,0x22,0x0,0xd3,0x92,0x6a,0x3d,0x32,0x46,0xd0,0x4c,0xff,0x4, + 0xae,0x84,0xe8,0x82,0x12,0x2a,0x2c,0xf9,0xae,0x3d,0x63,0x65,0x6a,0x63,0xcf,0x9, + 0x5a,0x26,0xc4,0xdc,0xda,0x73,0x80,0x4,0x66,0x66,0x63,0xcf,0xe,0x11,0x48,0x5e, + 0xd1,0x2c,0xec,0x80,0xa,0x43,0x45,0x9b,0x37,0x15,0x21,0xda,0x89,0x78,0x4c,0xd7, + 0xf9,0x39,0x30,0x67,0x28,0x6d,0x32,0x3c,0x81,0x64,0x43,0xe1,0x35,0xd0,0xa,0x85, + 0x4c,0xb9,0xc6,0x1f,0x21,0x2a,0x9d,0x68,0x13,0x3a,0x1c,0x6d,0x60,0x27,0x0,0xc3, + 0x99,0x5a,0xcc,0xcb,0xc0,0xd0,0xd2,0xb8,0xc1,0xdc,0xa,0xac,0xc8,0x30,0x1a,0xcc, + 0xef,0xca,0x9e,0x36,0xb2,0x6d,0x2a,0x12,0xea,0x8a,0x3a,0x27,0xe6,0xcc,0xb6,0x3b, + 0x6a,0x27,0x4e,0x68,0xe5,0xc6,0x48,0x61,0x8b,0x84,0x94,0x52,0x8f,0xd,0xf8,0x8, + 0xa9,0x22,0x46,0xb,0x12,0x88,0xcc,0x85,0x19,0x70,0x78,0xc4,0x80,0xb6,0x79,0x40, + 0x56,0x6f,0xe1,0xc,0x4e,0x61,0xd2,0x46,0x6c,0x62,0x4,0x57,0xfa,0xda,0x96,0xb7, + 0xca,0x9e,0x36,0xb2,0x8d,0x85,0x2b,0x7a,0x66,0xee,0x13,0x6c,0xf,0xfb,0x7,0xd8, + 0xcf,0x15,0x4d,0x3c,0xe2,0x27,0x19,0x4d,0xb2,0x40,0x4d,0xcd,0xaa,0x85,0x1c,0x11, + 0x42,0x3d,0xbe,0x2,0x77,0xab,0xec,0x69,0x23,0xbb,0x2d,0x9a,0xec,0xb3,0xcf,0xf4, + 0xf8,0x25,0xf6,0x99,0xfb,0x1c,0x3,0x7a,0xd2,0xe4,0x63,0x40,0x5c,0xe0,0x3e,0x6, + 0x7b,0xfb,0x4c,0x5e,0x3c,0x65,0xe,0x18,0x7f,0x19,0x59,0x8a,0xd8,0x6e,0xb,0xb5, + 0x9f,0x7b,0xda,0xbd,0xcf,0x8a,0x91,0x67,0x4c,0x5e,0x31,0xc2,0x5,0xee,0xa1,0x34, + 0xb4,0xc7,0x4a,0xa7,0x67,0x4d,0x5f,0xe9,0xc4,0x5,0xfe,0xa3,0xa4,0x39,0x60,0x5b, + 0x13,0xf4,0x50,0x3b,0x4a,0xe4,0x73,0xd9,0xe3,0x3e,0x27,0x88,0xbc,0x64,0xf2,0x9, + 0xa2,0xc6,0x1e,0xf7,0x3c,0x13,0xb4,0xcf,0x49,0x66,0x2f,0x9b,0x10,0xdb,0xaa,0x2a, + 0xd2,0xc5,0x32,0x20,0x95,0x5c,0x7d,0xdd,0x7,0x19,0xb8,0x3b,0xc6,0x66,0x8c,0xca, + 0x80,0x9a,0x82,0xfe,0x69,0xa6,0x99,0x95,0x59,0x3e,0xd,0x64,0x2d,0x49,0x2c,0x7e, + 0x39,0x33,0xcd,0x5e,0xf1,0x8f,0x99,0xe6,0x89,0x31,0x67,0xab,0xdc,0x81,0x39,0x3b, + 0x6a,0xa3,0x2b,0x19,0x4,0x7,0x46,0x34,0xba,0x5a,0x2,0x66,0x79,0x46,0xa3,0xeb, + 0x5d,0xd9,0xd3,0xad,0xb2,0x57,0x1b,0x6f,0x27,0x95,0x72,0x1b,0x35,0xc8,0x48,0x26, + 0xd7,0x5c,0x10,0x68,0xa0,0xd9,0x27,0xcf,0x88,0x22,0xd6,0xf5,0x36,0x3b,0x28,0x7a, + 0xad,0xf9,0x24,0xc8,0x24,0xcb,0x61,0x4b,0xdd,0x20,0x90,0xa7,0x59,0xc3,0xb2,0x61, + 0xc7,0xba,0x94,0xda,0x41,0xab,0xca,0x1b,0x4,0x96,0x6c,0xd,0x4e,0x77,0xa5,0x8e, + 0x1b,0xa9,0x5d,0x6a,0xb,0xa8,0x3b,0xb9,0x2f,0x96,0xe,0xa2,0x1e,0x29,0x6b,0x65, + 0x3,0x30,0x50,0x8b,0xd6,0xdb,0x2,0x5e,0x26,0xca,0xb,0x4a,0x2,0x52,0x5a,0x2c, + 0x39,0x2,0x90,0x93,0x9e,0xfe,0xa6,0x27,0x31,0xaa,0x51,0x3e,0x8c,0x31,0xc9,0x8b, + 0xb5,0xd4,0x1b,0x78,0xab,0x20,0x42,0x2b,0xa8,0x83,0x57,0x21,0x8d,0x4d,0x1a,0x90, + 0xef,0xca,0x1e,0x37,0xb2,0x63,0xa2,0xb2,0x59,0x6d,0xec,0xe6,0xcb,0x16,0x82,0xbb, + 0x73,0xf0,0xed,0x86,0x12,0x70,0x8a,0xd7,0x42,0x18,0xc2,0x5c,0x64,0x12,0x90,0x7d, + 0x14,0xc8,0x24,0x35,0xeb,0x5b,0xe0,0xf8,0xf3,0x8,0x7e,0x41,0x5c,0xe0,0xe4,0x35, + 0xd8,0x12,0x3,0x67,0x44,0xf7,0xee,0xb7,0x80,0x70,0x4a,0xcd,0xee,0x9d,0xb,0xa, + 0x64,0x95,0x2e,0xed,0xd3,0xd0,0x28,0xe0,0xa9,0x5a,0xed,0x3,0x74,0x52,0x80,0x95, + 0x99,0xf9,0xf4,0x77,0x81,0x18,0xc9,0x38,0xfc,0xb4,0x1e,0x6d,0xa4,0xd3,0xe5,0x4a, + 0xa9,0xa9,0xf6,0x9,0x69,0x25,0x9,0xd6,0xc5,0x32,0x11,0x5c,0x1d,0x79,0x1d,0xb2, + 0x80,0xb,0xf5,0x65,0xfb,0xf8,0x2c,0x64,0xb4,0x81,0x47,0x14,0x4c,0xb1,0xf4,0xce, + 0x2c,0x2,0x1a,0x96,0x35,0x61,0x7a,0x8b,0xec,0x71,0x23,0xbb,0xcb,0x32,0x91,0x47, + 0x21,0xab,0xe5,0x53,0xb8,0xbf,0x9,0x88,0x89,0xa2,0x36,0xba,0x2e,0x8d,0x81,0x22, + 0x44,0xb2,0xd,0x3,0x84,0x4,0x51,0x4d,0xd,0x7a,0xab,0xf0,0x71,0x23,0xfc,0x64, + 0x6f,0xd5,0xf0,0x71,0x98,0xb8,0xcf,0x6c,0x6d,0xfb,0x41,0x6e,0x3b,0x26,0x3c,0x3d, + 0x26,0xe3,0x97,0x78,0x93,0xd6,0x3,0x16,0x2f,0xe7,0x6a,0xfd,0x79,0xec,0x12,0x6f, + 0x32,0x7a,0xd8,0x53,0x17,0xb9,0xfe,0x3c,0xf6,0x79,0x2,0x32,0x99,0x6c,0x21,0x3c, + 0x49,0x3d,0xdb,0x23,0x3e,0xa4,0x5b,0x51,0xea,0xa5,0x9c,0xb7,0x5d,0x10,0x14,0xdd, + 0x4a,0xf4,0x31,0x4f,0x44,0x81,0x27,0x8b,0x71,0xe9,0xd3,0x9f,0x8a,0x44,0xd0,0xc, + 0x71,0x75,0xde,0xaa,0x36,0xa8,0x9,0x97,0x7,0x6f,0xd5,0xdf,0x75,0x8c,0xfe,0x96, + 0x53,0x3d,0x5,0x8a,0x20,0x4e,0x48,0x98,0x3c,0x85,0xe2,0x64,0xe4,0xac,0x66,0xdb, + 0x15,0xf,0x74,0x54,0x29,0xdf,0xae,0x38,0x3e,0xe3,0x4f,0x5,0x90,0x4e,0xe7,0x1e, + 0x18,0xcf,0xf7,0x50,0x12,0x46,0x8c,0x30,0xf,0x2c,0xd9,0x6e,0x78,0x6c,0x15,0x18, + 0x35,0xd3,0x13,0xdc,0x98,0xb6,0xdd,0x2a,0xb3,0x38,0x92,0xee,0x69,0x95,0xd6,0x9f, + 0x27,0x3d,0xa1,0xbc,0x3a,0x5a,0x7f,0xc6,0x40,0xb,0x89,0x4c,0x15,0x49,0x5b,0x31, + 0xce,0x78,0x50,0xb3,0x27,0xa7,0xeb,0xcf,0x63,0x3,0x35,0x46,0x3d,0xec,0x31,0x93, + 0x3d,0xbc,0x3b,0x74,0xc6,0xc7,0x3f,0x76,0x3e,0xec,0x82,0x38,0xfd,0xeb,0x49,0xc7, + 0xfb,0xb5,0xba,0xdf,0xfb,0x20,0xb0,0xfa,0x23,0x5e,0xa3,0xb5,0x92,0xa3,0x13,0xc4, + 0x47,0x38,0x98,0x6,0x3e,0xe6,0x15,0x9,0xab,0xd7,0x66,0x7d,0xa0,0x36,0xa6,0x90, + 0x22,0x99,0xee,0x41,0x60,0xad,0x11,0x70,0xd5,0xdc,0x70,0x8d,0xbf,0x4,0x82,0x95, + 0x32,0x72,0xe6,0xf6,0x10,0x41,0x6c,0xdb,0xfc,0xd5,0x24,0x27,0x68,0x5a,0x23,0xd9, + 0x31,0x63,0x7b,0xd3,0x3f,0xd6,0xb2,0x4e,0xd0,0xb2,0x60,0x54,0xd0,0xf6,0x76,0x7f, + 0xa4,0x59,0x1e,0x61,0x9a,0x26,0x7e,0xef,0x7b,0x53,0xc6,0xdf,0x24,0x29,0x9,0xaa, + 0xe8,0x18,0xa7,0x30,0xdc,0xed,0x14,0xe3,0x9b,0x9d,0xf8,0x7,0xea,0x46,0x97,0x16, + 0x76,0x8d,0x2d,0x78,0x9a,0x89,0x99,0xbe,0x4e,0xb3,0xe4,0x0,0xd9,0x4c,0x24,0x14, + 0x41,0x31,0xe7,0xcb,0x9d,0x45,0x96,0xbe,0x22,0xb3,0xb3,0x7c,0xd3,0xd7,0x7a,0x66, + 0x9d,0x3,0xd0,0xf2,0x5d,0xf9,0x25,0x72,0x1d,0xcc,0x5b,0x81,0x71,0x2,0xde,0x94, + 0xfc,0x8,0xc1,0x54,0x90,0x5e,0xde,0x53,0x2d,0x39,0x1e,0x5f,0x85,0xe9,0x2b,0x36, + 0x7d,0x65,0x67,0x56,0x64,0x49,0x6a,0x27,0xb2,0x63,0x9f,0xe3,0x9b,0xaa,0x80,0xba, + 0x24,0x32,0x8,0x56,0x5f,0x2c,0x37,0xda,0x67,0x44,0x3,0xf5,0xc8,0xf2,0x6e,0x5f, + 0xa,0xde,0x5e,0x36,0x6e,0x4a,0xcb,0xb3,0xc2,0x8c,0x61,0xbb,0x61,0xd6,0x71,0x30, + 0x4f,0x3b,0x25,0xc0,0xa,0x24,0x1c,0x3,0xd4,0xea,0xe0,0x2e,0xdc,0x43,0x6d,0xd, + 0xc8,0xf7,0x4c,0x67,0xf4,0x93,0x1e,0xd,0xbc,0xf3,0x2e,0x67,0xeb,0xe1,0x6d,0xf, + 0x73,0xa1,0x34,0x81,0xcf,0x4,0x38,0x45,0xc2,0xda,0xb8,0xe7,0x8,0x98,0xd8,0xfd, + 0x86,0x96,0x0,0x92,0x7,0x6b,0x13,0xf5,0x14,0x21,0xd4,0x9c,0x73,0x1c,0x6b,0x7b, + 0xd4,0x5d,0xd2,0x1f,0xf3,0x88,0xa2,0x19,0x98,0xa2,0x20,0xb7,0x8,0x55,0x1,0x96, + 0x50,0x3d,0x4,0xa2,0xfd,0x2a,0xcf,0x3f,0x4d,0xe5,0x47,0x2d,0x4a,0xf1,0x2,0x53, + 0x92,0x5a,0x2c,0xd5,0x80,0x32,0xab,0x9b,0x67,0x31,0x2,0xca,0xfe,0x8d,0xeb,0x52, + 0x60,0x42,0xdc,0x9a,0x76,0x64,0xa3,0x60,0x23,0xf4,0xa4,0xc9,0x15,0xca,0xd0,0x1a, + 0xc3,0x14,0xa5,0x7b,0x3e,0x3a,0x7f,0xfb,0x9,0x6a,0xed,0xcf,0xab,0x35,0x36,0xfa, + 0x72,0x36,0x8a,0x5a,0x80,0x35,0xaa,0x72,0x4e,0xa2,0xa3,0x6e,0xd7,0xf1,0xff,0xfd, + 0xaf,0xff,0xf9,0xa7,0x3f,0x7c,0xcb,0xdf,0xfe,0x7c,0xe8,0xf4,0xd0,0x9f,0x3d,0x9d, + 0xae,0x75,0x5f,0xe6,0x4e,0xe9,0x76,0x4f,0x4a,0xf5,0xc7,0x3f,0xfe,0xdb,0xef,0x10, + 0xc7,0xbf,0x66,0xb6,0xbf,0xbc,0xdc,0x77,0xf9,0xdf,0xff,0x1e,0x71,0x82,0x17,0xcb, + 0xee,0x19,0x6b,0x8b,0xdd,0xae,0xb3,0xf7,0x89,0x66,0x84,0x30,0xad,0xcd,0x22,0x52, + 0x28,0x2b,0xc9,0xcd,0xc8,0x10,0x17,0x8,0x85,0x16,0xc1,0x8b,0x0,0x37,0xe4,0xb0, + 0x5,0x21,0x64,0x24,0x46,0x33,0xe7,0x9c,0x50,0x9e,0xd4,0xd,0xac,0x85,0x0,0xd5, + 0xd0,0xac,0x19,0x1f,0xb2,0x43,0x99,0x12,0x36,0xcf,0xb9,0x6d,0x91,0x3d,0x6e,0x64, + 0x77,0x3d,0x5c,0x56,0x39,0x2e,0xf8,0x5a,0x79,0x4c,0xe2,0xad,0x84,0x8,0xc9,0x12, + 0xdd,0x82,0x6,0x4a,0x20,0xa6,0xf2,0x26,0x4c,0xdd,0xa,0xb7,0xd1,0x2a,0x14,0x92, + 0x31,0x30,0x9e,0x6e,0x5e,0x56,0x11,0x63,0x0,0x60,0xc1,0x89,0x57,0x84,0xf4,0x23, + 0x14,0x2,0xd,0x54,0xf2,0xd5,0xd2,0x16,0xd8,0xe,0x4e,0x4,0x41,0x95,0x28,0xad, + 0xf5,0xbe,0x80,0xa0,0xea,0x17,0xd2,0x6,0x64,0x12,0xa1,0x36,0x88,0x35,0xa2,0x4f, + 0x6,0x4c,0x7e,0xd1,0x16,0xa3,0x94,0x35,0xd6,0x62,0x7e,0xa6,0xfa,0xe3,0xac,0xfa, + 0xef,0xbf,0xcf,0x69,0xf0,0x9b,0x6f,0xb8,0x56,0xe,0x88,0xc8,0x8d,0x7a,0x99,0x80, + 0xd8,0x65,0x4b,0xbd,0x37,0x97,0x4f,0xa2,0xa2,0xef,0x52,0x91,0xa6,0xd2,0xd1,0x80, + 0x4b,0x5a,0x15,0x63,0xbd,0xab,0xd3,0x50,0x5a,0xd,0x6d,0x12,0xd,0x75,0xa7,0x86, + 0x34,0x91,0x86,0xa,0x96,0x6e,0xad,0x8a,0xde,0xec,0x9b,0x53,0x47,0xde,0xa9,0x23, + 0x4e,0xa7,0xa3,0xb8,0xdf,0xd1,0x51,0xcc,0x3b,0x1d,0x19,0x44,0x35,0x5a,0x45,0x15, + 0x44,0x65,0x1a,0xb7,0xc4,0x5d,0xda,0xd6,0xb7,0x93,0xfc,0xe2,0xac,0x14,0x98,0xa5, + 0xf5,0xf3,0xbe,0xc,0x82,0xdd,0xc2,0x3e,0x42,0x1e,0xf7,0x48,0xc,0x2e,0x74,0x82, + 0x9f,0x30,0x66,0xf1,0x9d,0x61,0x29,0x27,0xd5,0xff,0xa7,0xa8,0xfe,0xce,0x90,0x15, + 0xf,0x51,0x7f,0xb8,0xc5,0xd5,0xd9,0x9b,0x8b,0xff,0x78,0xfd,0x9f,0xc3,0xe1,0xaf, + 0x1b,0x6d,0xe,0xdc,0xea,0xfb,0x76,0xd8,0xf9,0xb6,0x99,0x25,0xfb,0xfe,0xec,0xe4, + 0xe6,0xed,0xd7,0x3b,0x7e,0x68,0xba,0xaa,0xaf,0xbf,0x5c,0xad,0xfe,0xff,0xfb,0xb3, + 0xab,0xd5,0xc9,0xbf,0x7d,0xb8,0x59,0x5d,0x5c,0x9f,0x5d,0x5e,0xc,0x7a,0xbf,0xbd, + 0xb9,0x79,0xf7,0xea,0xf0,0xf0,0xe2,0x1a,0x8e,0x4e,0x2e,0x5f,0xaf,0xe0,0xf8,0xf2, + 0xbb,0xc3,0xdf,0xad,0xb7,0xfe,0x74,0x7e,0xfe,0xfe,0x7a,0xc0,0xee,0xe6,0xf2,0xea, + 0x90,0x10,0xf0,0xf0,0x36,0xd3,0x3c,0x7b,0xf5,0xee,0xcd,0xe9,0xff,0x59,0x9d,0xe, + 0xdf,0xb7,0xc1,0xb0,0xb9,0xd0,0xb7,0x67,0xb7,0xe7,0x7f,0x3b,0x88,0x7f,0x95,0xeb, + 0x35,0xaa,0x4d,0xeb,0x6,0x4f,0x66,0x97,0xd5,0x63,0xf,0xb6,0x3d,0xb7,0x4e,0xb6, + 0xd3,0x60,0xff,0xee,0x87,0x11,0x2c,0x15,0x3f,0xeb,0x51,0x4,0x4b,0xd9,0xcf,0x7c, + 0x10,0xc1,0x52,0xf2,0x8b,0x19,0x43,0xb0,0x14,0xed,0x1e,0x42,0xfc,0x7d,0xa6,0x2c, + 0x9c,0xe6,0xf7,0x56,0x24,0x79,0xc6,0x72,0xa4,0x3e,0x4f,0x2d,0x72,0x67,0x61,0xc2, + 0xe3,0xc1,0x13,0x54,0x5b,0xc9,0xe9,0xc9,0x6b,0x99,0xed,0x91,0xe8,0xc1,0x7a,0xdc, + 0xef,0xe0,0xf6,0x78,0x5a,0x79,0xf5,0xb0,0x6f,0x41,0xef,0xa1,0x8d,0xe1,0x8f,0x34, + 0x16,0xd3,0xf1,0x90,0xee,0xf9,0x93,0xe4,0xa1,0x5f,0xb2,0x9b,0x47,0x39,0x86,0x89, + 0xf4,0xc0,0x67,0x63,0x22,0x3d,0xf8,0x1f,0x8b,0x5b,0xb7,0x8f,0xa6,0xd2,0x7d,0x8f, + 0x8b,0x5b,0x15,0x47,0xfc,0x46,0x2c,0x3e,0x62,0xb5,0xe6,0xeb,0xf3,0xa3,0xe3,0xbf, + 0x3e,0xfc,0x17,0x62,0x69,0x7b,0x38,0x7d,0x68,0x53,0xf8,0x5c,0x2b,0xf8,0xfa,0x8, + 0xb1,0x3,0x69,0x4a,0x99,0xf2,0x7d,0x14,0xcb,0x48,0x50,0x4b,0xa7,0x85,0x3b,0x24, + 0x51,0xfb,0x4b,0xf0,0x63,0x66,0x48,0xb9,0x15,0xea,0x27,0x5c,0x27,0x5a,0x8f,0xd3, + 0xd7,0x18,0x77,0x41,0xc4,0x61,0xcf,0x10,0x63,0x7,0xbd,0xf6,0x67,0x5,0x1c,0x31, + 0xa9,0x15,0xf8,0x27,0x23,0x58,0x2a,0xb5,0xb,0x40,0xe6,0xb7,0x82,0x5b,0x51,0x47, + 0x40,0xc4,0xfe,0xb5,0x5b,0x44,0x10,0xe9,0xd1,0xd0,0xf3,0x59,0xb6,0x1d,0x2a,0x6a, + 0x40,0x55,0x1a,0xd2,0x98,0x58,0xbc,0x69,0x8a,0xe2,0x53,0x48,0xae,0xf5,0x1f,0x2f, + 0x64,0xbd,0xe1,0x58,0x8b,0xd8,0x6c,0x68,0xe8,0xcb,0x27,0x8f,0x3e,0x4d,0x71,0x67, + 0x61,0x4a,0xa6,0x19,0x55,0x53,0x12,0x14,0x95,0x56,0xb,0x5e,0x4,0x88,0xa4,0x54, + 0x4b,0x5c,0x41,0x3a,0x4a,0xb5,0x69,0x44,0x18,0x70,0x14,0x57,0x4c,0x50,0x8c,0x44, + 0xc1,0xfb,0x47,0xdc,0x28,0xf7,0xc,0xba,0x73,0xf3,0xf7,0xc8,0x41,0x37,0xa3,0xe8, + 0xee,0xcb,0xff,0xeb,0xe6,0x6f,0xda,0x35,0x0,0x94,0xc,0xcc,0x88,0x3d,0xd,0xa, + 0x85,0xe5,0xd4,0xd2,0xa0,0x20,0x49,0x51,0xd9,0xd0,0xe0,0x1,0x18,0x34,0x11,0xd, + 0x2c,0x23,0x68,0x60,0x9b,0x95,0x6,0x8e,0x3d,0xd0,0xe0,0x1,0x5c,0xc8,0x5d,0x28, + 0x31,0x3,0xcc,0xd2,0xea,0x69,0x28,0x51,0x47,0x6a,0x69,0x60,0x8,0x91,0xac,0x9c, + 0x82,0x6,0xf2,0x11,0x34,0x50,0xce,0x4b,0x3,0xee,0x81,0x86,0x30,0x70,0x27,0xaa, + 0x8e,0x86,0x4,0xb7,0x88,0x96,0x5,0x84,0x22,0x64,0xe4,0x7e,0x1,0x6d,0xa1,0x4f, + 0xe2,0xa,0x58,0x63,0x38,0xa0,0x59,0x39,0x20,0xd9,0x7,0x7,0x4,0xd6,0x4f,0x90, + 0x93,0x16,0x84,0x60,0x4b,0x81,0x17,0xa8,0x67,0xa2,0xf4,0xbd,0xaa,0x3b,0xd9,0x34, + 0x8e,0x80,0x3c,0x82,0x4,0xd4,0x59,0x49,0x40,0xdf,0x47,0x3c,0x52,0x40,0x4b,0x69, + 0x49,0x90,0x0,0xa4,0xea,0x48,0x8,0x70,0x72,0xee,0x49,0x40,0xb0,0x8,0xab,0x7a, + 0x3a,0x9,0x54,0x65,0xf7,0x92,0x40,0x55,0x31,0x23,0x9,0x54,0x55,0xfb,0x20,0x21, + 0x21,0x88,0x7b,0x12,0x1c,0xdc,0xb5,0xe5,0x40,0x41,0x93,0xab,0xe3,0x40,0x18,0x54, + 0xd4,0x91,0xa6,0xe0,0x20,0x73,0xc,0x7,0x38,0x2f,0x7,0xbc,0x9f,0x8e,0x59,0xb3, + 0xb8,0xe5,0x80,0x1d,0x4c,0xad,0x4b,0xc0,0xa,0xdc,0xb0,0xba,0xe,0x81,0x12,0x2, + 0xc3,0x26,0xa1,0x80,0x46,0x50,0x90,0x32,0x2b,0x5,0x69,0xfb,0xa0,0x80,0x21,0x34, + 0xfb,0x21,0x2a,0x19,0x30,0xa1,0xf5,0x49,0x70,0x79,0x66,0xcb,0x0,0x82,0xa,0xf1, + 0x14,0xc,0x84,0x8e,0x60,0x20,0x7c,0x56,0x6,0x22,0xf7,0xc0,0x80,0x31,0x58,0x79, + 0xd7,0x25,0x23,0x1,0xf3,0xdd,0x34,0x97,0x95,0xa8,0xaa,0xa1,0x20,0x21,0x3d,0xa8, + 0xa6,0xe9,0xd,0x3c,0x46,0x90,0xe0,0x35,0x2f,0x9,0xb4,0xf,0x12,0x8,0xd2,0xb4, + 0x8d,0x44,0xe5,0xc0,0x2c,0x52,0xde,0xbb,0x81,0x97,0x66,0x97,0x21,0x30,0xa0,0x4b, + 0x4d,0xc5,0x2,0x8e,0x61,0x81,0x67,0x65,0xc1,0x75,0x1f,0x2c,0x28,0xb0,0x55,0x75, + 0xc1,0xc8,0x19,0xd0,0x99,0xaa,0xa7,0x21,0x29,0xfa,0x1e,0xc1,0xd,0x9c,0x91,0x70, + 0x92,0x88,0x64,0x32,0x82,0x6,0xb3,0x59,0x69,0xb0,0xd8,0x7,0xd,0x1,0x25,0xaa, + 0x1d,0xb,0x4,0x2a,0xa2,0x2d,0x9,0x6,0x29,0x91,0x5d,0xd1,0xc2,0xa,0x44,0x3c, + 0xa7,0xf1,0x5,0xf5,0x11,0x24,0x68,0xce,0x4b,0x2,0xee,0x87,0x4,0x51,0xe9,0x93, + 0x65,0x7,0x54,0x64,0x6a,0x59,0x10,0x20,0x51,0x69,0x39,0x20,0x48,0xc1,0x89,0xc6, + 0xa7,0x52,0x63,0x38,0xa0,0x59,0x39,0xd0,0x7d,0x64,0xcb,0x5a,0xa0,0x2e,0xd6,0x65, + 0xcb,0xc,0x61,0x6c,0x5d,0x38,0x72,0xc0,0x70,0xef,0x3c,0x41,0xb,0xc4,0x2d,0x26, + 0xe1,0x80,0x47,0x70,0x20,0x3a,0x2b,0x7,0xe2,0xfb,0xe0,0xc0,0x80,0xb3,0x1f,0x1e, + 0x89,0x81,0xb,0xb7,0xc,0x30,0x94,0x10,0xf5,0xc,0x8,0x70,0xb8,0x4e,0xd3,0x21, + 0xf0,0x98,0x5c,0x99,0xe7,0xcd,0x95,0xb9,0xf6,0xc1,0x81,0x80,0x9,0x5a,0xc7,0x1, + 0x1,0x79,0x76,0x24,0x20,0x30,0xde,0x19,0xa2,0x4a,0x40,0x4a,0xd6,0x34,0x24,0x50, + 0x8e,0x21,0x1,0xe7,0x25,0x81,0xf7,0x33,0x44,0xa5,0x32,0xa6,0x8e,0x5,0x81,0x6c, + 0x43,0x91,0x3a,0x48,0xb1,0xf7,0x3,0xd4,0x2,0xcc,0xd0,0x49,0x18,0x18,0x93,0x2b, + 0xd3,0xbc,0xb9,0x32,0xd9,0x7e,0x42,0x11,0x72,0x64,0xd7,0x27,0x33,0x42,0xb0,0x53, + 0xcb,0x81,0x81,0x94,0xb5,0x4,0x10,0x60,0x89,0x4c,0x41,0x0,0x8e,0x49,0x95,0x71, + 0xde,0x54,0x19,0x73,0x1f,0x4,0x28,0x4,0xf6,0xf5,0x22,0x72,0x10,0x2d,0x6d,0xf1, + 0x67,0x70,0x45,0xec,0xe2,0x10,0x29,0x70,0xe2,0x14,0x14,0x64,0x8d,0x48,0x94,0xb3, + 0x6a,0x5e,0xa,0x68,0x3f,0x14,0x70,0x46,0x4f,0x1,0x42,0x15,0x4a,0x43,0x81,0x14, + 0x98,0xb9,0x75,0x14,0x38,0xb0,0x55,0x4e,0xc2,0x0,0x8e,0x61,0x60,0xd6,0x24,0x39, + 0x4b,0xf7,0xc3,0x40,0xb9,0xb7,0x4,0xa0,0x83,0x93,0x57,0x4b,0x80,0x82,0x52,0x6a, + 0x47,0xc0,0x52,0xa0,0x4,0x3,0x91,0xa6,0x20,0x21,0x65,0x4,0x9,0x69,0xb3,0x92, + 0x90,0xfb,0x48,0x91,0x25,0x80,0xcb,0xbb,0x7a,0x91,0x0,0x85,0x12,0x4a,0x4f,0x43, + 0x64,0x12,0x52,0x4b,0x43,0x81,0x88,0x54,0x95,0x4f,0x41,0x43,0xf8,0x8,0x1a,0x22, + 0xe7,0xa5,0x61,0x1f,0x49,0x32,0x1b,0x18,0x7b,0x9f,0x24,0x17,0x28,0x72,0x37,0x2a, + 0x62,0x1,0xf5,0xe8,0xa,0x15,0x31,0xd1,0xf3,0x76,0x94,0x5e,0x63,0x18,0xa0,0x59, + 0x19,0x88,0x7d,0xa4,0xc8,0x14,0x10,0x4d,0x66,0xf0,0xa5,0x98,0xaa,0x2d,0xfe,0x4, + 0xac,0x18,0x2d,0xfe,0x6,0x52,0x88,0x55,0x93,0x30,0xc0,0x23,0x18,0x70,0x9d,0x95, + 0x1,0xf7,0x7d,0x30,0xa0,0x60,0x54,0xd1,0x52,0xa0,0x6,0xcc,0x92,0x2d,0x5,0xc, + 0xa4,0x5d,0x1c,0x32,0x86,0x54,0xe5,0x29,0x8,0x30,0x1b,0x41,0x80,0xc5,0xac,0x4, + 0x58,0xed,0x83,0x0,0x6,0x8f,0xd4,0x8e,0x0,0x4,0xf,0xed,0x9e,0x49,0x2a,0x10, + 0x2d,0xea,0x57,0x54,0x88,0xda,0x24,0x4,0x68,0x8e,0x21,0x0,0xe7,0x25,0x80,0xf7, + 0x41,0x40,0x2,0x69,0xf2,0x9d,0x32,0x1d,0x6a,0x7a,0x4b,0x80,0x3,0x46,0x47,0x80, + 0x14,0x54,0x94,0x4d,0x42,0x0,0x8d,0x20,0x40,0x65,0x56,0x2,0xd4,0xf6,0x41,0x0, + 0x81,0x84,0x64,0x97,0x17,0x7,0x90,0x47,0xb6,0x4,0x24,0xa4,0x6,0xb7,0x4,0x28, + 0xb8,0x12,0xe1,0x24,0x3e,0x20,0x3a,0x82,0x2,0xf1,0x59,0x29,0x90,0xdc,0x53,0x2f, + 0xa0,0x44,0x1d,0x5,0xe,0xa4,0x46,0xd,0x5,0x5,0x51,0x7d,0x61,0x42,0x4a,0x6a, + 0x9a,0x5e,0x98,0xc7,0xe4,0xc5,0x5c,0xf3,0xe2,0xbf,0x8f,0xbc,0x18,0xd,0xd2,0x3b, + 0xf8,0x49,0xc0,0x28,0xa3,0xf5,0x0,0x1,0x43,0xd3,0x9e,0x1,0x72,0xc1,0x89,0x18, + 0xc0,0x31,0xc,0xcc,0x9b,0x17,0xb3,0xee,0x83,0x81,0x84,0x60,0x96,0x8e,0x2,0x6, + 0x8d,0xe0,0xce,0x3,0x88,0x82,0xaa,0x2f,0xe,0x31,0x64,0xf0,0x24,0x59,0x31,0x8d, + 0xc9,0x8a,0x69,0xde,0xac,0x98,0x62,0x1f,0x14,0x8,0x10,0x56,0xbf,0x94,0x85,0xa1, + 0x90,0xa5,0xf5,0x2,0x86,0x2a,0xf7,0x9e,0x80,0xc8,0x9a,0x84,0x0,0x1c,0x93,0xf, + 0x63,0xce,0x4b,0x0,0xee,0x83,0x0,0x6,0x4c,0x6c,0x9,0xa8,0x2,0x17,0xf4,0xbe, + 0x13,0x40,0xa2,0xea,0x4a,0xd4,0x1,0x6c,0x38,0xd1,0x22,0x96,0xa8,0x1a,0xc3,0xc1, + 0xbc,0x19,0x31,0xee,0x21,0x23,0xae,0x82,0x4c,0xf4,0xaa,0x96,0x4,0x2,0x72,0x4d, + 0xec,0xdc,0x0,0xa1,0x2,0xb9,0x5b,0x49,0xc4,0xa6,0x3a,0x9,0x3,0x23,0x32,0xe2, + 0xa8,0x59,0x33,0xe2,0x28,0xdf,0xb,0x3,0x42,0x18,0x1d,0x3,0x59,0xa0,0x11,0x5e, + 0xd5,0x30,0xe0,0x50,0x42,0x2d,0x1,0x4b,0x86,0x42,0xaa,0x69,0x2a,0xa4,0x91,0x36, + 0x82,0x84,0x8c,0x59,0x49,0xc8,0xda,0x3,0x9,0x9,0xcc,0xee,0x48,0x2d,0x9,0xa, + 0x24,0xc1,0x1d,0x9,0xa,0x68,0x28,0xd8,0x97,0x48,0x9,0x1,0xa5,0x26,0x61,0x21, + 0x72,0xc,0xb,0x38,0x2f,0xb,0xbc,0x8f,0xe,0x81,0x0,0x2b,0xb5,0x25,0x1,0xa1, + 0x24,0xa2,0xda,0xd4,0x6c,0x29,0xe0,0xc9,0x74,0x87,0x5,0x16,0x48,0xe5,0x9c,0x84, + 0x5,0x1a,0xc1,0x42,0xc8,0xac,0x2c,0x84,0xed,0xc1,0x17,0x8,0x4a,0xab,0xef,0x12, + 0x88,0x13,0x10,0xb9,0x9b,0xb4,0x1,0x31,0xaf,0xbe,0x40,0xa1,0x84,0x54,0x93,0x50, + 0xe0,0x3a,0x82,0x2,0xf7,0x59,0x29,0xf0,0xdc,0x3,0x5,0x1,0xe6,0xc5,0x95,0x1d, + 0x5,0x5,0x65,0xd5,0xfa,0x81,0x82,0x71,0x64,0xef,0x7,0x1c,0x90,0x4e,0x31,0xcd, + 0xd8,0xc8,0x62,0x4,0xb,0x56,0xf3,0xb2,0x40,0x7b,0x60,0xc1,0x41,0xdd,0xfc,0xe, + 0xb,0xa,0x68,0x4c,0x2d,0xd,0x1,0xc1,0x62,0x77,0xb2,0xb4,0x82,0x74,0x4e,0xa4, + 0x49,0x68,0xc0,0x31,0x34,0xf0,0xac,0x34,0x98,0xee,0x81,0x6,0x4,0x2e,0xa1,0x9e, + 0x6,0x52,0x10,0xcd,0xae,0x57,0x70,0x20,0xcd,0x8e,0x83,0x98,0xe8,0x39,0x4c,0xa, + 0x95,0x11,0xc,0xa8,0xcd,0xca,0x80,0xc6,0x1e,0x18,0x60,0x10,0xa,0x2b,0xbf,0x53, + 0xad,0xc0,0x20,0x6b,0x19,0x28,0x8,0x23,0xeb,0xe3,0x11,0x21,0x20,0xf2,0x24,0x79, + 0x82,0xf8,0x8,0x12,0x24,0xe7,0x25,0x61,0xf,0xd9,0x72,0x6,0x68,0x2a,0xb5,0x14, + 0xa0,0x82,0x78,0x49,0x4b,0x41,0x42,0x59,0x22,0x22,0x77,0xe9,0x72,0x71,0x50,0x4d, + 0xd3,0x31,0x73,0x8d,0x21,0x81,0x66,0x25,0x41,0x64,0xf,0x24,0x24,0x68,0x5,0x77, + 0x24,0x10,0x90,0xf4,0x91,0x88,0x8,0x8,0xa3,0xb,0x45,0x60,0x22,0x31,0x9,0xfe, + 0x63,0x92,0x65,0x9e,0x37,0x59,0x66,0xdf,0x8b,0x13,0x78,0x46,0xdf,0x25,0x97,0x3, + 0x7,0x31,0x72,0x47,0x81,0x82,0x24,0x49,0x9b,0x20,0x18,0x44,0x45,0x21,0xf2,0x14, + 0x34,0xd0,0x98,0x74,0x99,0xe6,0x4d,0x97,0xa9,0xf6,0x40,0x3,0x3,0x39,0x71,0x9f, + 0x2e,0x3b,0x84,0xaa,0xf7,0x99,0x5a,0x40,0x71,0x52,0x55,0xf6,0x2b,0xbb,0x44,0x35, + 0x26,0xaa,0x5b,0x60,0x8e,0x21,0x2,0xe7,0x25,0x82,0xf7,0x40,0x84,0x81,0x9a,0x68, + 0x55,0x4f,0x4,0x96,0x51,0xe7,0xd,0x5,0x42,0x5e,0x2d,0x9,0x94,0xe0,0x61,0x32, + 0x11,0x9,0x63,0x12,0x66,0x9c,0x37,0x61,0x46,0xdb,0x3,0x9,0xa,0xa9,0xc5,0x15, + 0x7d,0xdd,0x42,0xa5,0x18,0x3b,0x1a,0xd8,0xc0,0x2b,0xb9,0xf3,0x5,0x4,0xc2,0xd4, + 0x9,0x48,0xf0,0x1a,0x91,0x32,0x7b,0xcd,0x9a,0x32,0x7b,0xed,0x21,0x65,0x8e,0x82, + 0x14,0xe9,0x53,0xe6,0x20,0x40,0x9,0xa9,0xba,0xe3,0xb,0x51,0xc5,0xd5,0x79,0x3, + 0x27,0x58,0x19,0x4f,0x41,0x43,0xc6,0x8,0x1a,0xb2,0xe6,0xa5,0x81,0xf6,0xd2,0x33, + 0x24,0x67,0xdf,0x33,0x90,0x4,0x64,0x16,0xf7,0x21,0x9,0x81,0xcc,0x5b,0x5f,0x50, + 0x85,0x42,0xcd,0x49,0x38,0xc0,0x31,0x1c,0xf0,0xac,0x1c,0xa4,0xee,0xc5,0x15,0xa4, + 0xa8,0xea,0xee,0x53,0x68,0xaa,0x1c,0xbd,0x2b,0x4,0x60,0xb0,0x34,0x1c,0xc8,0x7f, + 0x73,0xf7,0x6d,0x4b,0x72,0x1c,0x49,0x76,0xbf,0xd2,0x36,0x7a,0x59,0x9a,0x65,0xb9, + 0xfc,0x72,0xfc,0x46,0x9a,0x1e,0x66,0xc9,0x19,0xbd,0x50,0x66,0xfa,0x3,0x19,0x45, + 0x82,0x4b,0xec,0x72,0x9,0x1a,0xc1,0x59,0x69,0xf4,0xf5,0xaa,0xcc,0x6a,0xa0,0x2a, + 0xb2,0x6b,0xa,0xc9,0x66,0x16,0x1a,0xcb,0x36,0xc0,0x1a,0x75,0x10,0x51,0x91,0xee, + 0x27,0x3c,0x3c,0xdc,0xc3,0x33,0xb3,0xa8,0xb3,0x7c,0xf,0xe,0xd2,0x36,0x70,0x90, + 0x7e,0x57,0xe,0x32,0x5f,0xc0,0xe,0x84,0x50,0x82,0x15,0x3,0x46,0x6a,0xec,0x2b, + 0x87,0xc0,0x14,0xe2,0x39,0x12,0x20,0x24,0x66,0xfb,0xb8,0xe5,0x88,0xd8,0x40,0x41, + 0xd4,0x7d,0x29,0xe0,0x17,0xa1,0xc0,0x15,0xc2,0xf2,0xa4,0xd0,0xb,0x2c,0xb1,0x22, + 0x21,0x48,0x3b,0x9e,0x24,0xef,0xbc,0x38,0xf6,0x21,0xc1,0x7b,0xb,0x9,0x72,0x57, + 0x12,0xc2,0x5e,0x60,0x2d,0x4a,0x72,0xb,0x66,0x7b,0x72,0x17,0x54,0x3d,0x89,0xd7, + 0x34,0x49,0xe3,0x69,0x99,0x5,0x4b,0xc6,0x2e,0x14,0xe8,0x6,0xa,0x1c,0x77,0xa5, + 0xc0,0xe3,0x5,0x28,0x60,0x72,0x13,0xac,0x29,0x60,0xa3,0x2e,0xf7,0x27,0xbb,0xd3, + 0x16,0x5e,0xdf,0x8d,0x99,0xe4,0x30,0xec,0x53,0x69,0x11,0xf0,0xd,0x34,0x20,0xef, + 0x4a,0x3,0x5e,0x20,0x66,0x8e,0x22,0x33,0xc8,0x3a,0x75,0x51,0x64,0x30,0x74,0xad, + 0x78,0x0,0x31,0x1c,0x2b,0x1e,0x9c,0x3a,0x6c,0xa7,0xa3,0xfe,0xb0,0xda,0xc2,0x3, + 0xdf,0x97,0x7,0x7d,0x1,0x1e,0x92,0xcc,0x4b,0xd7,0x15,0x2f,0x46,0xce,0xaa,0xbd, + 0xf6,0xb,0x4a,0xa9,0xe5,0xa3,0x73,0x26,0x88,0xef,0x65,0xd,0x26,0x1b,0x58,0x30, + 0xbb,0x2b,0xb,0xe6,0x2f,0xc0,0x82,0x51,0x85,0xd4,0xd3,0x82,0xb,0xa8,0x80,0xf5, + 0x89,0x35,0xa4,0x3d,0x3d,0xeb,0x7,0x49,0xa,0x76,0x32,0x7,0xc5,0x6,0x22,0xf4, + 0xbe,0x71,0xb3,0xd6,0xb,0x10,0xd1,0x24,0x6d,0xbd,0x26,0xc2,0xa9,0xc0,0xd5,0x39, + 0x12,0x1,0x21,0x2b,0xb5,0x35,0x11,0xb,0x3f,0x6e,0xfb,0x58,0x84,0x6c,0x89,0x9c, + 0xa5,0xef,0x4b,0x84,0xbc,0x0,0x11,0x42,0xac,0x62,0x2b,0x22,0x12,0x84,0x8c,0x27, + 0x16,0x61,0x4a,0xa6,0x96,0x4f,0x92,0x79,0x15,0x95,0xbb,0x90,0xc0,0x5b,0x48,0xb8, + 0x6f,0xe8,0x2c,0x78,0x1,0x12,0x9c,0x8a,0x5,0x5d,0x6b,0x12,0x5a,0xb8,0xd6,0xce, + 0x1,0xa0,0x44,0xc8,0xda,0x1a,0xcc,0x29,0x2c,0x76,0xa1,0x81,0xb7,0x44,0xcf,0x7c, + 0xdf,0xe8,0x99,0x5f,0x20,0x7a,0xf6,0xa2,0xd6,0x27,0x3e,0x3a,0x8c,0xf4,0x49,0x19, + 0x98,0x93,0x8a,0x1b,0x3f,0x4d,0xa8,0x16,0x3c,0x76,0x59,0x91,0xbc,0x37,0x4,0xd0, + 0xde,0x75,0x5f,0x16,0xf8,0x5,0x8c,0x41,0x29,0xaa,0x92,0x75,0x15,0x40,0x2b,0x49, + 0x9a,0xac,0x6c,0xc1,0x49,0xec,0x89,0x67,0x10,0x90,0xb9,0xca,0x1e,0x24,0x54,0x6f, + 0x21,0xe1,0xae,0x1,0xb4,0xb7,0xbd,0x88,0x29,0xf8,0xd3,0xf2,0x60,0x11,0x21,0xb7, + 0x27,0xb,0xd2,0x95,0xb3,0x85,0x24,0x33,0xf6,0xee,0xda,0x85,0x4,0xdd,0x40,0x42, + 0xe1,0xae,0x24,0x54,0xbc,0x0,0x9,0x4a,0xc5,0xe9,0x5d,0x4f,0xf,0xfe,0xd3,0xd6, + 0x2b,0x52,0x92,0xb1,0x47,0xd7,0x68,0x9,0x42,0x1c,0xec,0x7b,0x90,0x90,0xbe,0x81, + 0x84,0xcc,0xbb,0x92,0x90,0xfd,0x2,0x24,0x30,0x55,0x5,0xb3,0xae,0x3,0xb7,0xc2, + 0x9a,0x82,0x22,0xe6,0x15,0x1,0xa0,0x76,0xe5,0x9d,0xec,0x20,0x6a,0xb,0x5,0x7c, + 0x5f,0xa,0x5e,0x20,0x76,0x46,0x53,0x89,0xe9,0x9a,0x2,0xa1,0xf0,0x7c,0xb2,0x47, + 0x85,0x92,0x47,0xd8,0xfa,0x90,0x8d,0x29,0x55,0xa5,0xf7,0x62,0x42,0x36,0x30,0x11, + 0x76,0x57,0x26,0xc2,0x5f,0xc0,0x18,0x84,0xa0,0x8e,0xee,0x75,0xd8,0x26,0xa9,0xbc, + 0xf6,0xb,0x1e,0x4,0xad,0x58,0x33,0xa1,0x4a,0x51,0xfb,0x78,0x67,0xc7,0x6,0x1a, + 0x3c,0xee,0x4a,0x83,0xd7,0xb,0x18,0x44,0x92,0x4b,0xf9,0x3a,0x68,0x73,0x72,0xe9, + 0x19,0x1d,0x69,0x0,0x79,0x56,0xb0,0xae,0x68,0x8,0xf2,0xcc,0xd8,0x83,0x6,0xe4, + 0x6,0x1a,0xd0,0xf7,0xa5,0x41,0x5e,0x80,0x6,0x25,0xe7,0xaa,0x15,0xd,0x11,0xa4, + 0xbd,0xe2,0x0,0x41,0x5c,0x78,0x62,0x7,0xc6,0x52,0xbb,0x10,0xc0,0x5b,0x8,0xd0, + 0xbb,0x12,0x0,0xbc,0x0,0x1,0x4e,0x2e,0x58,0x85,0x6b,0x4e,0x56,0xc0,0xba,0xf6, + 0x22,0x9c,0xd8,0x34,0x47,0xa,0xe0,0x24,0x61,0xc2,0xbb,0x2c,0x46,0x66,0x1b,0x48, + 0x30,0xbf,0x2b,0x9,0x96,0x2f,0x40,0x2,0x13,0x14,0x3e,0x90,0xe0,0x4e,0x26,0xed, + 0x4f,0x17,0x22,0x43,0x3c,0xa9,0xc8,0x6b,0xa,0x6b,0xdf,0x27,0x68,0xd6,0x2d,0x41, + 0xb3,0xd6,0x7d,0x49,0x78,0x81,0xa0,0xf9,0x20,0x49,0xdd,0x3d,0xb2,0x20,0x25,0xd4, + 0x5d,0x2b,0x1a,0xca,0xe7,0x96,0xe8,0x18,0x68,0x18,0xda,0xde,0x7e,0x13,0x20,0x4f, + 0x87,0xf7,0xef,0xff,0xbb,0x78,0x2b,0xa0,0x58,0xcd,0x1f,0x30,0x29,0x9a,0xba,0x43, + 0x3f,0xfb,0xfd,0x84,0x36,0xf8,0xfa,0x9b,0x0,0x7f,0x39,0xbe,0xec,0xcf,0x14,0xd8, + 0xed,0x9d,0xf0,0xc1,0xc4,0xcc,0xa3,0xfe,0x6c,0xd1,0x8,0xb3,0x7c,0xcc,0x17,0x29, + 0x1e,0x8c,0x5c,0x3d,0x52,0x5f,0x1d,0xb0,0x87,0x6,0xd,0x77,0x7a,0x97,0xe2,0x9e, + 0xaf,0x8c,0x1c,0x99,0x18,0xd7,0xf3,0x24,0x38,0x24,0xaf,0x70,0x10,0x58,0xdf,0xc, + 0x9b,0x94,0xdc,0x6d,0xbf,0x5f,0x6d,0xa1,0x95,0xb7,0xf4,0x76,0xc7,0x59,0x87,0x45, + 0x2f,0x5b,0x66,0x5d,0x81,0x3a,0xdc,0x58,0x77,0x91,0xd7,0x6f,0xc9,0x2b,0xfb,0xc8, + 0x7b,0x70,0x18,0x99,0xab,0xc8,0xc8,0x31,0x9c,0xba,0xb,0xb9,0x72,0x18,0xa6,0x24, + 0x3c,0x34,0x96,0xa1,0xf1,0x96,0xa5,0xa,0xf3,0x9f,0xe3,0x6f,0xe5,0x60,0x2,0xd7, + 0xa4,0x1,0xa3,0x6e,0x7c,0xb6,0x8b,0xd6,0xec,0xba,0xd6,0x7e,0x7e,0xf3,0xe3,0xdf, + 0xff,0xe5,0xcd,0x4f,0xa6,0x6d,0xbb,0x2d,0x51,0xde,0x4f,0x97,0x78,0x4,0x79,0xb3, + 0xc,0xbb,0x9d,0x2b,0x2d,0x8f,0x98,0x30,0x53,0x5b,0x3c,0x43,0xe8,0xd3,0xc,0xc0, + 0xff,0xfa,0x90,0x67,0xd5,0xf,0x3d,0xd5,0xfd,0xcf,0xf8,0x92,0xff,0x82,0xe7,0xf9, + 0x55,0xd5,0xf,0xc4,0xf,0x7f,0x5d,0x7e,0x76,0xf0,0xaa,0xdb,0x5e,0xff,0x2b,0x49, + 0x2,0xe9,0xe9,0xd0,0x30,0x82,0xb6,0xcc,0xd3,0xe9,0xde,0xee,0x64,0x3b,0x5b,0xf6, + 0x61,0xb6,0x44,0xef,0xc8,0x96,0xe0,0x99,0x6c,0x31,0xe5,0x33,0xf8,0xba,0xe6,0x3a, + 0x6,0x35,0xe,0xa,0x1f,0x74,0x3d,0xb0,0xf2,0x2c,0x5d,0xeb,0x7,0x75,0x2d,0xfd, + 0x1,0xcb,0x8,0x69,0xfb,0xf2,0xaf,0xcf,0xdc,0x71,0x76,0x7f,0xe0,0xcb,0xab,0xf3, + 0x2b,0xb9,0xaa,0x6b,0x71,0xd8,0x6,0x36,0x59,0x6e,0x8f,0x90,0x7f,0xfe,0x33,0xbe, + 0xca,0xab,0x23,0x58,0xaa,0x6e,0x19,0xc1,0x6e,0x8f,0xd0,0xf5,0xcf,0xfd,0x17,0xbe, + 0x3a,0x42,0x68,0xe6,0x96,0x11,0xfc,0xf6,0x8,0x5f,0xea,0x57,0xfe,0x97,0x2f,0xaf, + 0x8e,0xd0,0xdc,0xb5,0x65,0x84,0xf,0x90,0xfc,0x95,0x7c,0xf5,0xd7,0xbf,0xca,0x3e, + 0x2b,0xd4,0xcb,0x6f,0x20,0x1e,0xf7,0x5,0x1f,0x9e,0xfb,0x55,0xb7,0xd5,0xa2,0x5f, + 0xe6,0xf1,0xcf,0x73,0xe7,0x3e,0x3f,0xd7,0xb0,0x48,0x7c,0xcb,0xf7,0x6f,0x5a,0x24, + 0x77,0xe0,0x74,0x87,0xad,0xcc,0x7d,0x37,0x59,0xdb,0x67,0xc6,0xb8,0xf7,0xd9,0x30, + 0x41,0xf4,0x8e,0x8b,0xe3,0x87,0x8e,0x5,0xff,0xb2,0xfc,0x7c,0x24,0x2,0x65,0x92, + 0x99,0x3f,0x94,0x91,0xc0,0x30,0x1d,0x92,0x85,0x60,0x1c,0x23,0x81,0xfb,0x7,0xf3, + 0xdb,0xc9,0x3b,0x7,0xd6,0x1b,0x98,0x4b,0xdc,0x6f,0xb,0x21,0x19,0xcf,0x5c,0x4e, + 0x99,0xd4,0xb7,0x7c,0x7f,0x3d,0x7b,0x8b,0x52,0xfe,0x8c,0xc9,0x71,0x35,0x84,0xb0, + 0x66,0xfb,0x60,0x70,0xf0,0x21,0x1e,0xac,0xd9,0xaf,0x2a,0xf9,0xa6,0x7c,0xbc,0xfc, + 0x7c,0xb1,0x40,0x6f,0x8e,0x93,0xe1,0xf5,0xaf,0x7f,0xff,0x5c,0xbe,0xf8,0xb0,0xe2, + 0xac,0x39,0xaf,0xd9,0xcb,0x6f,0x1f,0x8d,0xbf,0x78,0x86,0x1a,0x6f,0xe8,0xe9,0x7a, + 0x28,0x36,0x7e,0x7,0xb4,0xe3,0x46,0x48,0x7,0xcd,0xad,0xd9,0x83,0xf1,0x4d,0xc7, + 0x45,0xa2,0x58,0x9d,0x8,0x8b,0x32,0x95,0x88,0xd7,0x18,0x6,0x58,0x50,0x17,0x67, + 0xe,0x36,0x5f,0x49,0xe9,0xd,0xb7,0xb3,0x4a,0xbe,0x7f,0xfd,0xe3,0xaf,0xaf,0x7e, + 0x79,0xd7,0xe8,0x87,0x57,0xaf,0xff,0xe5,0x87,0x59,0xcf,0xc4,0x6a,0x10,0xf5,0x73, + 0xf7,0xe5,0x78,0x93,0x45,0x92,0x43,0xf3,0x8c,0xff,0x9f,0xd7,0xdf,0xfd,0xfa,0xc3, + 0xdc,0x21,0xcc,0xd1,0xb8,0x58,0x22,0x96,0xe,0x26,0x99,0x48,0xd3,0x41,0x1b,0xa7, + 0x31,0x3d,0x4,0xbf,0x61,0x56,0x7e,0xff,0xea,0xbf,0x7f,0xf3,0xb7,0xb7,0x6f,0x5f, + 0x7f,0xf3,0xd3,0x3f,0xff,0xf8,0xb7,0x5f,0xc6,0x19,0x33,0xfe,0x9f,0x87,0x8c,0x56, + 0xfd,0xdd,0x57,0xaf,0xfe,0xe3,0xf5,0x37,0xbf,0xbe,0x7e,0xf3,0xd3,0x6c,0x57,0xdc, + 0xaa,0x39,0x94,0x5a,0x6c,0x8,0x98,0xff,0xeb,0xe9,0x9a,0xaf,0xce,0x98,0x4d,0x4c, + 0xe,0x3c,0x88,0x19,0x99,0xe4,0xb8,0xf6,0x56,0x91,0x97,0xd6,0x9a,0x5e,0x56,0xf2, + 0x4,0x74,0xdc,0x53,0x29,0xb5,0x59,0xaa,0xdd,0x98,0x65,0x1e,0x8c,0x2d,0x93,0xd5, + 0xc,0x71,0xc7,0xfc,0xdc,0x41,0x96,0xcc,0x9c,0x4c,0x62,0x4c,0xa5,0xe2,0x31,0x67, + 0x76,0x6b,0x74,0x46,0x22,0x4e,0x9c,0x6,0x1b,0x34,0xa2,0x41,0x50,0x68,0x61,0xd4, + 0x88,0x4,0x99,0xb1,0x3f,0x79,0xab,0x96,0x9b,0x60,0x87,0x77,0xa,0xb9,0xf7,0x26, + 0xbd,0xb9,0xe7,0x4e,0x7a,0xbb,0x7d,0x91,0xfb,0xab,0xe8,0xa6,0xf0,0xa5,0x7b,0xb, + 0x3f,0xae,0x32,0xe3,0x1a,0xe0,0xc9,0xf7,0x59,0x3,0x3c,0xf5,0xd6,0x1a,0xc0,0xa9, + 0x19,0x5e,0xb0,0x67,0xae,0x2,0xb7,0x85,0xa,0xbd,0x93,0x50,0x81,0x1b,0x42,0x95, + 0x4,0xab,0xfa,0x73,0x25,0xba,0x1d,0x2,0x82,0xbc,0x34,0x1b,0xe3,0xec,0x33,0x90, + 0xa8,0x39,0x9e,0x78,0xa4,0x44,0x89,0x8e,0xb3,0xcf,0x40,0x26,0xea,0xbd,0xed,0xf4, + 0x42,0xba,0xa2,0x74,0x59,0x3a,0xce,0x9f,0xe,0x12,0x35,0x7f,0x60,0x4c,0x7,0x25, + 0x44,0x39,0xca,0x3f,0xdb,0xc1,0xe2,0xb5,0xb6,0xb9,0x75,0xf8,0x6f,0x98,0xf4,0x73, + 0xaf,0x6f,0x7e,0x5c,0x6b,0xf3,0x97,0x59,0x41,0x14,0x52,0x97,0x54,0x7d,0x7f,0x74, + 0xaf,0x1d,0x94,0xdd,0x1e,0x75,0x46,0x8f,0x3e,0x54,0x25,0x48,0x52,0x2f,0x88,0xff, + 0xf6,0xd4,0xd6,0x4b,0x3a,0xec,0x8c,0x2e,0x6d,0x95,0xaa,0xa2,0xb0,0x49,0xc5,0x26, + 0x8a,0xc8,0x9a,0x98,0x8c,0x51,0xe6,0x39,0x1d,0x40,0x96,0xed,0xe1,0xf6,0xea,0xa0, + 0x47,0x5c,0xaa,0x3c,0xe4,0x88,0xab,0x15,0x75,0x66,0xd7,0x54,0x64,0x11,0xd6,0xb0, + 0xe7,0x68,0x7d,0x54,0x88,0xbb,0xc6,0xc6,0xcd,0x94,0xec,0xa2,0x75,0x26,0x37,0x19, + 0x55,0xae,0xc4,0x95,0x89,0x18,0x55,0xce,0x41,0x19,0x1,0x1b,0x55,0xe,0x32,0xe9, + 0xcc,0x5a,0xa9,0x5c,0x8,0x69,0xe5,0xdb,0x54,0xe,0x35,0xa8,0x4c,0xcb,0x95,0xb8, + 0xa9,0xcf,0xae,0x50,0x66,0xce,0x1b,0x47,0x10,0xd,0xe9,0x9c,0xf5,0xad,0x4d,0x9d, + 0x3a,0xbb,0xca,0x0,0x45,0x17,0xe7,0x3e,0xa,0xc7,0x36,0x85,0xbb,0xdd,0x71,0x9a, + 0x1b,0x45,0x47,0xa8,0x8f,0x3a,0x87,0x90,0x98,0x40,0x7,0x9d,0x8f,0x6d,0x17,0x74, + 0x68,0xbb,0x45,0xe7,0x9a,0xde,0x56,0xcb,0xa6,0xc3,0x23,0xa2,0x39,0x26,0x26,0x69, + 0xd5,0xe8,0x9e,0x75,0x6e,0xda,0x9c,0x31,0x1d,0x34,0x98,0xca,0x34,0x7d,0x92,0x66, + 0xca,0x82,0xea,0x2e,0x2a,0xd7,0x4d,0x2a,0xb7,0xd8,0x65,0x65,0x69,0x52,0x2d,0x6b, + 0x7f,0xa2,0xf2,0x74,0x76,0xc3,0xa8,0x72,0x77,0x2,0x33,0x2e,0x94,0x7b,0xb5,0xed, + 0xb7,0x43,0xdb,0xd,0x2a,0x7f,0x3c,0x89,0x75,0xcf,0x36,0xb5,0xe9,0x20,0x19,0xc4, + 0x66,0x8e,0x9,0x42,0x0,0xb8,0x7c,0x17,0xcd,0xf2,0xc7,0x9c,0xcc,0xba,0xa8,0x65, + 0x3d,0x97,0x95,0x24,0x43,0x58,0x47,0xc5,0x1a,0x93,0x27,0xc6,0xf5,0x63,0x6c,0x7b, + 0x42,0x87,0xb6,0xdb,0x15,0xdb,0x1a,0xa5,0x2d,0x97,0x8a,0xd,0x4a,0x20,0x44,0x7a, + 0xf,0xc5,0xca,0x36,0x67,0x18,0xc2,0x77,0xc,0x1b,0x98,0xda,0xcd,0xa3,0x7c,0x11, + 0xfa,0xfc,0xc9,0xa8,0xdb,0xcd,0xc4,0x26,0xa7,0x8c,0x50,0x6e,0x1d,0x43,0x89,0x72, + 0x6a,0xd7,0x96,0x5e,0xe5,0x25,0xc9,0x9a,0x43,0xc7,0xcc,0x56,0x36,0xb5,0xf4,0x78, + 0x4b,0xf8,0x45,0xdb,0x1d,0x36,0x16,0xb2,0xc9,0xc5,0xb9,0x62,0x9b,0x2e,0x6f,0xc7, + 0xec,0x5a,0x99,0xe2,0xb2,0x8a,0xd9,0x5,0x56,0x9e,0x1e,0x4f,0x43,0x76,0xb6,0x30, + 0x13,0x5f,0x85,0xec,0x2c,0x25,0xe1,0x89,0x6b,0x21,0x3b,0xdc,0xee,0xb3,0xb3,0x85, + 0xfb,0xcd,0x9d,0xad,0x70,0x4a,0xeb,0x3d,0x36,0xeb,0xd0,0x7b,0x89,0xa4,0xb7,0x44, + 0x62,0x8f,0x4a,0x28,0xe4,0x39,0x32,0x7d,0x4c,0x9b,0xda,0x1e,0xa1,0x1a,0xc8,0x50, + 0xcc,0x39,0xc6,0x8,0x4e,0xe5,0x85,0xd6,0xd1,0xf2,0x28,0x4b,0x3a,0xd6,0xaf,0xbd, + 0x70,0xf2,0x74,0xe4,0x2d,0x93,0x82,0xe4,0xdd,0xb3,0x1a,0x43,0xdc,0xed,0x24,0xda, + 0x3a,0x86,0xdd,0x69,0x54,0xe6,0x6d,0x83,0x4c,0x1a,0x64,0xdd,0x91,0x83,0x48,0x8, + 0x4a,0x2e,0x6c,0xdc,0x20,0x32,0x7b,0xa,0xe7,0x3b,0x7e,0xd0,0x6,0x9b,0x96,0x34, + 0x9a,0x87,0x37,0x8e,0x98,0x5a,0x98,0xeb,0x1e,0x41,0x8f,0x39,0xdf,0x7f,0x9d,0x1f, + 0xef,0xf6,0x82,0x88,0xa7,0xae,0x42,0xc8,0x22,0xa9,0x8e,0x55,0x8,0x9,0x21,0x81, + 0x78,0xaf,0x42,0x48,0xa5,0xea,0x70,0xdb,0x41,0x78,0x93,0x4d,0xb,0x33,0x7,0xfe, + 0x80,0xc2,0x6b,0x6f,0x12,0xde,0xd8,0x7e,0x83,0xf0,0xdf,0xfe,0xf8,0xfa,0xe7,0xff, + 0xf9,0xcd,0xaf,0x3f,0x5c,0xe,0xfc,0xe,0x73,0xbb,0x58,0xc,0xdf,0x81,0x57,0xaf, + 0xfb,0xbc,0xd4,0xfe,0x7c,0x6c,0xb2,0xca,0xf6,0x2f,0x8b,0xf6,0x8f,0x9f,0xff,0xf4, + 0xe6,0xa7,0x57,0x5f,0xcc,0xff,0x3a,0x1f,0x29,0x9c,0x3e,0xfe,0xf2,0xb7,0x1f,0x5f, + 0x7d,0xfe,0xea,0x3f,0x5e,0xfd,0xf4,0xe6,0xbb,0xef,0x8e,0xa7,0x0,0xbf,0xbc,0xf9, + 0xb7,0x57,0x9f,0xff,0xed,0x97,0x1f,0xff,0xe9,0x89,0x60,0xda,0x9f,0x3d,0xfe,0xff, + 0x61,0xf1,0x86,0x9f,0xcb,0xcf,0xff,0xf7,0x1d,0x30,0xb7,0x3d,0x4a,0xfa,0xf9,0xff, + 0xfe,0xdb,0xaf,0xbf,0x5e,0x62,0xff,0xfa,0xe6,0xf5,0x4f,0x9f,0xff,0xfb,0xeb,0xe3, + 0xf2,0xfb,0x88,0x8e,0xa3,0x1f,0xf1,0xd3,0x58,0x8f,0x7e,0xc5,0xce,0x9b,0xb1,0xf9, + 0xe7,0xa8,0x8c,0xff,0xf1,0x20,0xcd,0x64,0x48,0xe8,0x54,0x4c,0xf0,0x87,0x2f,0x1f, + 0xa4,0x92,0x20,0x5a,0x58,0x90,0x2a,0xce,0x3e,0x62,0x4a,0xe,0xa4,0x4e,0x25,0x94, + 0x40,0x17,0x1e,0x24,0x9b,0xd4,0x2d,0x72,0x2a,0x23,0x36,0xd1,0xb9,0xf3,0xc,0x66, + 0x75,0x63,0x6a,0x27,0x98,0x1b,0xfc,0x84,0x89,0x95,0x4f,0xc2,0x49,0x51,0x59,0xb9, + 0x60,0xa2,0x15,0x39,0x89,0x34,0xd5,0x63,0xe7,0x56,0x4a,0x51,0xf1,0x49,0xd4,0xa8, + 0xb8,0x1d,0xf,0xca,0x49,0x6e,0x81,0x23,0x4,0x92,0x4a,0x7f,0x50,0x49,0x2a,0x24, + 0xf4,0x1d,0x34,0x77,0x55,0x2d,0xe2,0xca,0x90,0x8b,0x76,0x50,0xca,0x68,0x3d,0x7d, + 0x9b,0xaa,0x66,0x3d,0xa8,0x7,0x69,0xa1,0x75,0x1e,0x76,0xee,0xe6,0x4e,0xa9,0xde, + 0x58,0x2e,0x4d,0xc0,0xe6,0xb,0x16,0xe6,0x21,0x53,0x83,0xcc,0xcb,0x2d,0x96,0x7e, + 0xe2,0xdd,0x3a,0x95,0x92,0x3e,0xca,0xaa,0xae,0x64,0xe1,0xb9,0xa8,0x2e,0x33,0x35, + 0x1f,0x14,0x45,0x6c,0xd2,0x3d,0x43,0xd6,0x96,0xd6,0x47,0xcc,0x89,0x3b,0xa1,0xd3, + 0xbb,0xbd,0x9d,0xce,0x9d,0x1,0x2a,0x11,0xcf,0xa9,0x95,0x2c,0x94,0x3b,0x16,0x4c, + 0x94,0x67,0x3d,0x81,0x4a,0xcc,0x4f,0x42,0x80,0x7b,0xb9,0xe0,0x78,0x2f,0xac,0x81, + 0x44,0x5a,0xfc,0x8,0x26,0x89,0xa3,0x8e,0xd,0x35,0x48,0xc5,0x70,0xc2,0xd4,0x5a, + 0xe3,0x41,0xa5,0x4e,0xc,0x2d,0x9d,0xdb,0x8e,0x9d,0xbf,0x5e,0x83,0x1c,0xb3,0x2c, + 0xb,0xca,0x19,0x5c,0x27,0x54,0x2c,0xe5,0xa4,0xe8,0xee,0xc6,0x82,0x55,0xb7,0xf8, + 0x82,0xa5,0x2a,0x74,0xd5,0x3b,0xc9,0x81,0xea,0x55,0x4b,0x8b,0xca,0x58,0x7d,0xa3, + 0xb4,0xc8,0xe5,0xd8,0x5f,0xaf,0x51,0x3b,0xc9,0xc8,0x4d,0x6a,0x62,0x75,0x29,0xf, + 0xb,0x99,0x7a,0xd4,0x85,0xdc,0xd2,0x46,0x6c,0x18,0x15,0x24,0x3d,0x37,0x84,0xe1, + 0x42,0x93,0xd2,0x4c,0x61,0xa6,0x8b,0xc2,0xab,0x15,0x8d,0x27,0x93,0xff,0xff,0xfd, + 0x69,0xdc,0x3e,0xcd,0xf6,0xee,0x36,0x96,0xf7,0xbd,0xf9,0xee,0xf5,0xcf,0xc7,0xbf, + 0x9f,0x1f,0xd,0xfa,0xd5,0xaf,0x7f,0xff,0xf9,0xd5,0xdb,0xe3,0x92,0xf2,0xed,0xb7, + 0x6f,0x8f,0x7f,0xdf,0xfd,0xba,0xd8,0x1b,0xbd,0x5b,0x57,0x3e,0xb4,0xe3,0x33,0xe9, + 0xfb,0xec,0xf8,0x4c,0xe5,0xc6,0x8e,0xcf,0x4c,0xb2,0xdc,0xf0,0xc7,0xc8,0xcf,0x46, + 0xbb,0xd6,0xb2,0x4f,0x79,0xff,0xe1,0x20,0x8b,0x1d,0xb2,0xf8,0x74,0x28,0xa,0xf3, + 0xd4,0xb4,0x1d,0x36,0x2a,0x9a,0xb6,0x35,0x3b,0xbb,0x97,0xbb,0xd2,0xe8,0x5d,0xdc, + 0xd5,0xe8,0x9f,0xae,0xfa,0xa2,0x59,0x47,0x5b,0x9d,0xd9,0xe2,0xf9,0xf6,0x74,0x5c, + 0x6b,0x7,0x85,0x24,0x48,0x9b,0xe8,0x84,0x26,0xb8,0xb1,0xcc,0xcb,0x27,0x8a,0xa, + 0x10,0x8e,0xc9,0x83,0xd4,0x98,0xfd,0xc1,0x95,0x82,0xa3,0x43,0xa7,0x64,0x8a,0xe, + 0x76,0x79,0x40,0x93,0x34,0xa7,0xd4,0x94,0x41,0xea,0xc5,0x9e,0xa7,0xce,0x69,0x29, + 0x1d,0x53,0x26,0x19,0x67,0x79,0xcd,0xc3,0x74,0x3,0x2e,0x33,0x56,0x5d,0x29,0x3d, + 0x63,0xa9,0x2c,0x92,0x53,0x16,0x49,0x98,0x38,0xe6,0xde,0x4c,0x56,0x19,0x96,0x53, + 0x9,0x71,0x7b,0x89,0x3d,0x98,0x90,0xab,0x9b,0x2c,0x3e,0xb3,0x20,0x55,0x78,0x50, + 0xa3,0x70,0x4f,0xab,0xa9,0x40,0x59,0x5c,0x5e,0xcb,0xba,0x46,0x69,0x88,0xc0,0x54, + 0x41,0xa,0xed,0xb4,0x7,0x49,0x2,0xc3,0x53,0xa6,0x66,0x8a,0xcc,0xae,0x23,0x16, + 0xe4,0x16,0xd1,0x3a,0x2d,0xb,0x5c,0x68,0xce,0x57,0x2e,0x46,0x55,0x9d,0xa5,0x93, + 0x30,0x93,0x6a,0x45,0x3f,0x8,0x53,0xbb,0x73,0xdb,0x24,0xa2,0xe4,0x2a,0x89,0xab, + 0xd8,0xd7,0xf,0xcb,0x3f,0xbd,0x43,0x8f,0x28,0xc8,0x34,0x16,0x6d,0x68,0x51,0xaa, + 0xb0,0x63,0xf1,0x93,0x8e,0x90,0x7c,0x70,0xa6,0x68,0xf6,0x7a,0xe7,0x4e,0x43,0xeb, + 0x21,0x40,0x6e,0x92,0x71,0x86,0x8e,0x9d,0xb3,0xc8,0x52,0xdb,0xfa,0x2,0x15,0x66, + 0xb2,0xf4,0x19,0x52,0x42,0x46,0xe0,0x41,0x66,0x71,0x92,0xbb,0x26,0x11,0x23,0xf5, + 0xe4,0xe5,0x7a,0xa4,0x48,0xb8,0x60,0x47,0x54,0x8,0xae,0x2a,0xb3,0x8c,0x8f,0x28, + 0x2e,0x50,0x11,0x27,0x5d,0x78,0xec,0x26,0xf1,0x96,0xe5,0x3b,0x95,0x3c,0x58,0x7d, + 0x6a,0xa1,0x8e,0x48,0xf4,0xd2,0x5b,0x28,0x5a,0x67,0x76,0x9a,0x82,0xb,0x9e,0xf, + 0xc2,0x45,0x16,0xaa,0x35,0x95,0x93,0xa4,0x1,0x33,0xe6,0x4,0x88,0xca,0x54,0x46, + 0x29,0x62,0x76,0xec,0xdc,0x49,0x9e,0x12,0x8b,0xa7,0xce,0x54,0x73,0x3c,0x54,0x51, + 0x72,0x9b,0xd6,0x7b,0xb6,0x8f,0x98,0x90,0x65,0x94,0xc6,0x30,0x2f,0x8a,0xc9,0x5d, + 0xb3,0x6b,0xca,0x24,0xcf,0xb4,0x88,0x87,0x6c,0x32,0xb0,0x44,0x4e,0x19,0x14,0xc6, + 0xc,0x5d,0x30,0x46,0x48,0xcc,0x18,0x37,0x37,0xe6,0xa1,0xb3,0x49,0x5b,0xb8,0x97, + 0x96,0x22,0x52,0x9d,0xb,0x56,0x88,0xe8,0x5,0xb3,0x28,0x2c,0x50,0x8a,0xb4,0x2d, + 0x90,0x67,0x56,0xcf,0x9d,0x9d,0x1a,0xe8,0x19,0x65,0x72,0x3,0xbb,0xcf,0x2d,0x43, + 0x9d,0xab,0x67,0xb,0x91,0x76,0x68,0xcf,0x17,0xce,0x50,0xef,0xbe,0xb0,0xa5,0xaf, + 0x67,0x62,0xd5,0xb8,0x3d,0x26,0x4f,0x12,0x8e,0x52,0x39,0xa2,0x57,0xec,0xee,0xba, + 0x7f,0xd4,0x94,0xd,0xfe,0xf1,0xed,0xf1,0xef,0xe9,0xd7,0xd,0x17,0xf9,0xe9,0x25, + 0x10,0x84,0x95,0xd8,0xcd,0x7d,0x43,0xea,0x4e,0x22,0x8,0x1e,0x9c,0xd7,0x53,0x77, + 0x37,0xfd,0x89,0x6d,0x3a,0x6,0x9,0xf,0xdd,0x27,0x83,0xc0,0x4e,0xd5,0xb0,0x1e, + 0xc4,0xea,0x45,0xd6,0xf5,0xc9,0x7d,0x1a,0xa5,0xa9,0x20,0xd7,0xe5,0x1e,0x90,0xce, + 0xd8,0x72,0xe2,0x71,0xf8,0x47,0x24,0x89,0x26,0xc1,0x85,0x65,0x52,0x6a,0x76,0x67, + 0xcb,0x1d,0x9c,0xb3,0xf4,0x36,0xe7,0xec,0x66,0x7b,0x66,0x8b,0xb7,0xb,0x1d,0x54, + 0x59,0x95,0x83,0xd0,0xf7,0x21,0x67,0xf,0x65,0x7e,0xdc,0xac,0x44,0x26,0xb9,0xa6, + 0xc,0xa2,0x67,0x93,0x33,0xb4,0x57,0xe6,0x26,0x42,0xc6,0x2a,0x3d,0x88,0x9e,0x41, + 0x5c,0x55,0xc0,0xef,0x9b,0x97,0x4e,0xe,0xab,0xdc,0x77,0x5e,0x56,0x7f,0xda,0xf3, + 0xd2,0xa9,0xd5,0x6d,0x90,0xf9,0x1e,0xcc,0xec,0xa1,0xc9,0xdc,0x73,0x52,0xee,0xee, + 0x7a,0xa0,0x26,0xcd,0x32,0xb8,0x9e,0x4f,0xd6,0xc0,0x33,0xef,0x36,0x2b,0x5f,0xde, + 0x8d,0xef,0xaf,0xf1,0xdb,0xba,0xb4,0x4f,0x78,0x5e,0x82,0x2c,0x23,0xbd,0x72,0xd0, + 0xe5,0x27,0x6a,0xe1,0x61,0x7f,0xd8,0x59,0xb9,0xbf,0xbe,0x6f,0x6a,0xd2,0x7b,0xef, + 0x39,0xf9,0xe9,0xa7,0x7d,0x2c,0x41,0x91,0xc2,0xb9,0x6f,0xda,0x47,0xd0,0x1f,0x3b, + 0xed,0x23,0xf0,0x8f,0x95,0xf6,0x11,0xf4,0xa7,0x93,0xf6,0x39,0x8,0x82,0x2a,0x24, + 0x64,0xc8,0xfb,0x1c,0x61,0x27,0x58,0x94,0x9e,0x13,0x3f,0x47,0x4c,0x28,0xd2,0x3a, + 0xce,0x99,0x9f,0x53,0x43,0x6e,0x56,0x19,0x52,0x3f,0xb,0xec,0xb0,0xb4,0x73,0xee, + 0xe7,0x34,0x96,0x56,0x20,0xcf,0xc9,0x9f,0x13,0xe8,0xc1,0x25,0x43,0x94,0x7f,0x10, + 0x37,0xaa,0x36,0xed,0x8b,0xf4,0xcf,0x41,0x42,0x29,0xdd,0x43,0x2e,0xf2,0x3f,0x7, + 0x49,0xa6,0x50,0x97,0x1e,0x12,0x40,0x47,0xd8,0xc8,0x11,0x1a,0xe7,0xc,0xd0,0xc, + 0x6,0x55,0x86,0xf9,0x39,0x5,0x34,0x83,0x49,0x9,0xa8,0xd,0x39,0xa0,0xc7,0x9c, + 0xa6,0x8,0xce,0x49,0xa0,0x19,0x34,0x32,0xf5,0xba,0xc8,0xf8,0x5c,0x7,0xbf,0x9e, + 0x61,0xa1,0x74,0x74,0xc,0x79,0xa0,0x83,0x84,0x93,0x7b,0x57,0x5e,0x24,0x82,0xe, + 0x2,0x23,0x6f,0x36,0x5c,0x24,0x78,0xe,0xa2,0x4d,0x89,0x96,0x31,0x17,0x74,0x10, + 0x71,0x6a,0xce,0xae,0xcb,0xb6,0x6d,0xd4,0xec,0xac,0xb8,0x48,0x7,0x1d,0x66,0xc1, + 0xb8,0x1b,0x18,0xf2,0x41,0x87,0xc,0x92,0x54,0x34,0x86,0x84,0xd0,0x3b,0xb8,0x2e, + 0xe1,0x43,0x36,0x71,0x5a,0x2,0x17,0x29,0xa1,0xc3,0x2c,0x98,0x72,0x24,0x86,0x9c, + 0xd0,0xa1,0x94,0xbc,0xca,0x1d,0x17,0x49,0xa1,0x43,0x39,0xb5,0x54,0x0,0x17,0x59, + 0xa1,0x43,0x15,0x95,0x75,0xa,0x2e,0xd3,0x42,0x87,0xe,0x4a,0x6e,0x63,0x5c,0x24, + 0x86,0xe,0xc2,0x4e,0x9e,0x12,0xef,0xe7,0xc1,0x8c,0x89,0x52,0x33,0xd6,0x53,0x46, + 0x8c,0x52,0x4b,0xec,0x9c,0x19,0x9a,0x41,0x50,0x83,0x33,0xce,0xa9,0xa1,0x47,0x30, + 0xc3,0x64,0xc8,0xd,0x9d,0xe0,0xea,0xb2,0x73,0x72,0xe8,0x11,0xec,0x50,0x3f,0x67, + 0x87,0x16,0x6,0x98,0x3b,0x87,0xf4,0xd0,0xc,0x17,0x99,0xf9,0x90,0x1f,0x5a,0xfa, + 0x87,0x7b,0xd9,0x39,0x41,0x74,0xba,0x54,0xb5,0x32,0x1d,0x32,0x44,0x7,0x31,0x26, + 0x46,0x77,0xe,0x29,0xa2,0xc1,0x46,0x6f,0xe6,0x88,0x4,0xb9,0x4f,0x8e,0xe8,0xf6, + 0x31,0x8a,0x40,0xee,0x73,0x8c,0x22,0xb0,0x1b,0xc7,0x28,0x69,0x2e,0xc1,0x5e,0x3b, + 0x1c,0xa3,0xec,0x92,0x5d,0x80,0xb6,0xca,0xe4,0xc4,0x6c,0x16,0x22,0xeb,0xfb,0x5a, + 0x9a,0x52,0xd8,0xd7,0xaf,0xf4,0x34,0x2e,0xa9,0xb1,0x22,0x26,0x84,0x12,0xa5,0x90, + 0x71,0x27,0x6c,0xc4,0x48,0xf3,0xf8,0xfd,0xfe,0x94,0x7b,0x5b,0xbd,0x47,0xb5,0xbc, + 0xe8,0x2e,0xf,0x54,0xa2,0x1,0xde,0x9a,0x5,0xb8,0x93,0xc2,0x6f,0xaa,0xb2,0xe2, + 0x13,0x55,0xe5,0x18,0x7a,0x4,0xb1,0xab,0x66,0xd7,0x6a,0x56,0x36,0x75,0x8b,0x7b, + 0x8d,0x79,0xd6,0x26,0x8f,0x92,0x8c,0x41,0x4b,0x4d,0x6c,0x16,0x1a,0x31,0x68,0x9, + 0x4e,0xe9,0xc2,0x22,0x3b,0x4c,0xcb,0x8c,0x3f,0x7e,0xf0,0xb1,0x5d,0xe3,0x17,0x6d, + 0x47,0x8d,0x2b,0xb5,0xab,0x9a,0xde,0xd4,0x65,0xe8,0xbe,0xe1,0xc7,0x6d,0xf,0xc0, + 0xce,0xf7,0xf1,0x0,0xec,0xfa,0xf,0x3d,0x80,0x90,0x4b,0x77,0xf7,0x33,0xd7,0xff, + 0xdb,0x45,0xde,0x4a,0x0,0xaa,0x62,0xa8,0xf2,0x6,0x27,0xb1,0x47,0xc8,0x50,0xe5, + 0x6d,0xa,0x52,0x58,0xd,0x45,0xde,0xd6,0x41,0xdc,0xea,0x7d,0x46,0x1f,0x9b,0x5a, + 0xe7,0xcc,0xe8,0x86,0x89,0x58,0x9c,0x6c,0xd2,0xd3,0x21,0xa8,0x2c,0xd1,0x92,0xaf, + 0xe,0x36,0x9,0x89,0x49,0x77,0xea,0x7c,0x6b,0x8e,0x90,0x15,0x20,0x6e,0xd3,0x41, + 0x2c,0xa9,0x2d,0x22,0xa6,0x83,0x73,0x10,0xc0,0xb6,0xc7,0xad,0x22,0x6c,0xba,0xc9, + 0x2a,0xbb,0x77,0xb,0xbe,0x58,0xeb,0x59,0xc1,0xd7,0xed,0x9d,0xce,0xdb,0xe5,0x67, + 0xde,0xe6,0x5c,0xdb,0x2a,0xb1,0xf1,0x93,0x1a,0x2d,0x2d,0x12,0xb5,0xc4,0x54,0x14, + 0xea,0xca,0xb6,0x9c,0x93,0x2a,0x93,0x8a,0x9b,0x1e,0xd1,0xb2,0x54,0xf,0x5b,0x4e, + 0x3f,0x39,0xc4,0x73,0x12,0x90,0x19,0xda,0xfc,0x41,0x38,0xa9,0xb2,0xbb,0x26,0x15, + 0x72,0x8d,0xc4,0xd2,0x9b,0x41,0x61,0xad,0x36,0x69,0x51,0xb9,0xaa,0xc5,0x82,0xc1, + 0xcc,0x65,0x32,0xa7,0xf4,0xf2,0x8e,0xa5,0x37,0xbb,0xe5,0x4,0xa7,0x14,0x45,0xd7, + 0xdc,0x59,0x98,0x4,0x28,0x99,0x3c,0x9,0xee,0x16,0x7d,0xc4,0x9c,0xac,0xb8,0xa6, + 0x0,0x29,0x17,0x77,0x1d,0xa1,0xa2,0x50,0xf1,0x98,0xa2,0x88,0xc5,0x10,0xba,0x5c, + 0xb7,0x50,0xb4,0x49,0x4e,0x29,0x14,0xca,0x52,0x7e,0xc4,0x9c,0x42,0x33,0x64,0x4a, + 0x23,0xe1,0xb4,0x8c,0xb3,0xd4,0x33,0xc6,0xda,0xc9,0x58,0x7a,0x17,0xa9,0x4b,0xc4, + 0x19,0x5d,0x30,0x98,0x48,0x9f,0x30,0x87,0x9f,0x7a,0x7b,0x54,0xf8,0xd8,0xdb,0x84, + 0x38,0x90,0x75,0x39,0x8e,0x81,0xba,0x5b,0xe5,0xf2,0x7a,0xac,0x88,0x93,0x4b,0xc7, + 0x2b,0x87,0x90,0x89,0xf8,0x20,0x23,0x92,0xba,0x9d,0x75,0xf2,0x79,0x40,0x8f,0xb6, + 0x23,0xd6,0x14,0x56,0xb1,0x52,0x9a,0x33,0x35,0x1c,0x98,0xb5,0x8b,0xc5,0x40,0x8e, + 0x98,0x12,0xbb,0x89,0x5f,0xb2,0x80,0xa2,0x12,0xc5,0x48,0x17,0x9c,0xc2,0xb8,0xe4, + 0x92,0x58,0xb,0x42,0x26,0xfb,0x79,0x2,0x9c,0xc5,0xbe,0x98,0x2a,0x5f,0x5f,0x9b, + 0x40,0xf3,0x3e,0x7d,0x4b,0x8e,0xe0,0xa9,0x11,0xbe,0x5c,0x8e,0xe0,0x19,0xa7,0xc6, + 0x1b,0x9d,0xe1,0xc1,0x48,0x5a,0x3d,0x6b,0xf5,0xd6,0x3e,0x7,0x69,0x55,0x63,0xdc, + 0x7f,0x28,0x95,0x74,0xe6,0xfa,0xe5,0x1b,0x42,0x16,0xda,0x7d,0xd3,0x1b,0x4a,0x6c, + 0xf3,0x86,0x52,0x5b,0xd6,0xb0,0xe7,0x3a,0x8f,0x59,0xda,0xb2,0x7e,0xe2,0x3c,0x84, + 0x3d,0x65,0xf0,0x1e,0x63,0xdb,0x5,0x1d,0xda,0x6e,0xf1,0x1e,0x11,0x19,0x9c,0x3e, + 0x31,0x49,0xaa,0x28,0xf7,0x74,0x60,0x52,0x4b,0x69,0x9f,0xc1,0x96,0xd6,0x2a,0x9d, + 0xe,0x6e,0xd4,0x58,0xa,0x3a,0xe,0x56,0x42,0x1a,0xa8,0xdf,0xef,0x36,0xd0,0xdb, + 0x4e,0x83,0x5b,0x55,0xef,0xa7,0x72,0x6b,0xa5,0x74,0xab,0x1a,0x55,0x6e,0x4c,0xc, + 0x30,0x7e,0x83,0xc3,0xce,0x7b,0x38,0x6c,0x65,0x32,0x44,0xfa,0xae,0xe,0x1b,0xbd, + 0xed,0xe8,0xd8,0x4,0xbd,0x93,0xc3,0x46,0x57,0x7e,0x6c,0x87,0x8d,0xae,0x7e,0xe2, + 0xb0,0xe1,0x94,0x62,0xe1,0xa3,0xc3,0xb6,0xa4,0x62,0x57,0x5b,0xad,0xd7,0xe1,0x82, + 0xba,0x5c,0xd7,0xd5,0x9,0xd1,0xd5,0xa3,0x7,0x50,0x25,0xd5,0x16,0x9c,0x5d,0xc5, + 0x82,0xb1,0x1a,0xf4,0xd2,0x61,0x2b,0x28,0x60,0x21,0xa3,0xf3,0xd1,0xa4,0x34,0xa4, + 0x5e,0x7a,0x6c,0x53,0xea,0xe4,0x94,0x4b,0x77,0x66,0x41,0x2a,0x82,0x1c,0x1d,0x9f, + 0x35,0x69,0x19,0xd7,0xa5,0x8b,0x84,0x91,0x4a,0xba,0x9e,0x5d,0xe9,0x59,0xee,0xd1, + 0xe9,0xc2,0xa9,0x20,0x9e,0x17,0xa8,0x20,0x88,0x55,0xe4,0xec,0xb1,0x17,0x48,0xbc, + 0x3c,0x56,0x9d,0x8b,0xc2,0x11,0x83,0xc7,0x76,0x25,0xaf,0x16,0xbd,0xbc,0x1c,0x77, + 0x8a,0xe0,0xb4,0xf1,0xc2,0xbd,0xa8,0x59,0xd0,0x97,0x22,0x86,0x93,0x17,0xda,0x2e, + 0x3d,0x76,0x24,0xa9,0x96,0xd7,0xa8,0xb4,0x28,0x72,0x73,0xf3,0x4b,0x8f,0x1d,0x4d, + 0x1,0xe3,0xb8,0xa4,0x21,0x82,0xc0,0x6a,0x32,0x12,0x16,0x46,0xaa,0x9c,0x83,0xcb, + 0x76,0x10,0x47,0x74,0x9c,0xa7,0xc0,0x59,0xee,0xd1,0x65,0x8f,0x53,0xe8,0xf9,0x2e, + 0x1b,0xdd,0xf2,0xf2,0x2e,0x7b,0x7b,0x12,0xf,0x5d,0xf7,0xb9,0xfb,0xd,0x5d,0xb7, + 0xee,0x7e,0xb,0x6f,0x93,0x88,0xfd,0x6b,0xa1,0xef,0x7f,0xc7,0xd6,0xfa,0x29,0xad, + 0x4c,0x8e,0xd6,0x8,0x99,0xe,0x30,0x52,0x15,0xe4,0xe,0x4f,0xfd,0x45,0x7b,0x6e, + 0x4d,0x31,0xed,0xb6,0x9e,0xbb,0x3d,0x77,0x3d,0x3f,0x77,0x3a,0xcc,0xd0,0x7f,0xfb, + 0xd3,0x3c,0xb5,0xb7,0x19,0xd0,0x53,0xb9,0x3f,0x9d,0x73,0xb1,0x0,0xb1,0xa6,0xc4, + 0x74,0x30,0x50,0xc2,0x22,0xe7,0xc,0xbf,0x83,0xac,0xca,0xec,0x12,0x45,0x50,0xd7, + 0xdc,0x50,0x8b,0x8a,0xa5,0x67,0xc8,0x28,0xcb,0x20,0x47,0x4c,0x28,0xba,0x5b,0xe7, + 0xce,0x60,0xa,0x4d,0x3f,0xb6,0x14,0x50,0xb4,0xb4,0xf4,0x8c,0x29,0xc4,0x97,0xb2, + 0x79,0x4d,0x44,0x1f,0x21,0xa5,0x50,0x6e,0x59,0x8e,0x59,0xeb,0xb1,0x48,0x54,0xa9, + 0xb8,0x30,0x63,0xc2,0xcc,0xb9,0x60,0xa0,0xb2,0x8e,0x98,0x98,0xb4,0xd2,0xdf,0x61, + 0x1d,0x38,0x62,0x7,0x10,0x2b,0x4e,0xe3,0x3a,0x13,0xac,0x50,0xf3,0x6,0x84,0x2c, + 0x15,0x55,0xf,0x1e,0x14,0x99,0x36,0x63,0x41,0xac,0xca,0xf0,0x87,0x8,0x52,0x59, + 0x3a,0xcb,0x29,0xce,0x5b,0x44,0x8e,0x24,0x2b,0xcb,0x13,0x9a,0x1a,0xe8,0x63,0xcb, + 0xa2,0x80,0xb5,0x1f,0xb1,0xa6,0xe0,0xf6,0xee,0x87,0x68,0x2,0xeb,0xa2,0x7,0x26, + 0xf7,0x38,0xf5,0x4e,0xa1,0x64,0x38,0x8e,0xa8,0x11,0x8c,0x1d,0xfd,0x90,0x4a,0x51, + 0x9c,0x33,0x16,0xa4,0x69,0xea,0x47,0xcc,0xc8,0xac,0x63,0xee,0xdd,0x54,0x96,0xd0, + 0xa5,0xb7,0x52,0x49,0x65,0x9f,0x5a,0xb2,0xc8,0xdc,0x52,0xa8,0x1d,0x66,0x8b,0x6e, + 0x53,0x38,0x4f,0x98,0xf8,0xbb,0xb1,0x8d,0xdf,0x8d,0xcd,0x54,0x9d,0xdd,0xcb,0x55, + 0x56,0x88,0xc8,0xd2,0xd2,0x39,0x1f,0xaf,0x5c,0x25,0xf8,0xf1,0x1b,0x59,0xe5,0x24, + 0x61,0xbf,0x93,0x3b,0x8b,0xb4,0x3,0xb5,0xb0,0xa5,0x69,0x86,0x7e,0x28,0xa5,0xb2, + 0xc8,0x98,0xd9,0xa,0x2c,0x54,0x97,0x3d,0xb2,0xc5,0xc4,0x1c,0xb6,0xb0,0x55,0x4e, + 0x95,0x27,0x4c,0xd5,0x39,0x67,0x2f,0x55,0x49,0x1c,0x26,0x4b,0xd7,0x32,0x13,0xef, + 0x19,0xea,0xd6,0xb6,0x65,0x84,0x96,0x4e,0x3e,0x62,0xa0,0xb6,0x8e,0x18,0x67,0x4e, + 0x29,0x35,0x34,0x75,0xd1,0x83,0x18,0x30,0x4b,0xd2,0x4,0x2f,0x9d,0xa7,0x22,0x93, + 0x5a,0x2d,0x9a,0x5,0x45,0x54,0xcc,0x98,0x92,0xc3,0x13,0x8b,0x24,0x20,0xb0,0xf2, + 0x9,0x8d,0x84,0xe4,0xa2,0xef,0x2,0xa7,0x2c,0x58,0x9a,0xb0,0x2f,0x58,0x44,0xbc, + 0x6b,0x67,0x62,0xb1,0xf4,0x36,0x72,0x67,0xe4,0x82,0x76,0x67,0x9c,0x5a,0x9e,0x94, + 0x68,0x46,0x6a,0xc1,0x71,0x22,0x35,0x2b,0xb0,0x60,0x56,0x1c,0xf6,0x48,0x81,0x6, + 0x6b,0x2f,0xf6,0xa2,0xae,0xa5,0x3d,0x4f,0x28,0x37,0x33,0xb9,0xb4,0xa1,0x0,0xa1, + 0xbd,0x7,0xec,0xeb,0x6b,0x36,0x78,0xf5,0xd8,0xb,0xed,0x3e,0xc3,0x37,0xf7,0x96, + 0xdf,0x9e,0x4e,0xbe,0xde,0xbe,0xff,0xf5,0x1c,0x97,0x69,0xb8,0x93,0xcb,0xb4,0xb8, + 0xe5,0x32,0x3b,0x14,0xed,0xfe,0x91,0xef,0x17,0x6f,0x16,0xbc,0x7f,0xf0,0x4,0xbb, + 0x86,0xc5,0x64,0x94,0xae,0x5d,0x6e,0x53,0x12,0x83,0x5d,0xb4,0x9f,0x95,0x14,0x77, + 0x72,0x14,0xec,0xc9,0xab,0x75,0x5c,0xbd,0x4d,0x47,0x4f,0xad,0xa4,0x9c,0xbe,0x4a, + 0x3,0x38,0x53,0x84,0x87,0xe6,0x2d,0x4f,0x5a,0xbd,0xd9,0x93,0xee,0xf1,0xc,0x6, + 0x41,0xf0,0x93,0x47,0x30,0x70,0x1a,0xb3,0xeb,0xd3,0x47,0x30,0x48,0x57,0x75,0x3d, + 0x79,0x4,0x43,0x37,0xd0,0x8a,0x6b,0x8f,0x4d,0x44,0xc5,0x9d,0xe6,0x5f,0xc5,0xad, + 0xf9,0xa7,0x9a,0x8d,0x62,0xbd,0xcb,0x96,0xed,0x60,0x46,0x99,0x1c,0xb5,0x7a,0x76, + 0x0,0x7,0x49,0x56,0xac,0xea,0xb3,0x98,0x9,0x2c,0xba,0x2a,0x64,0x62,0xa1,0x10, + 0xec,0x50,0xa5,0x89,0xc2,0xb6,0xe4,0x77,0xc6,0xa6,0xc4,0xd1,0x7f,0x3a,0xe9,0x79, + 0xab,0xf4,0x7b,0xed,0x3c,0xcb,0xe2,0xa3,0x67,0x12,0xca,0x6a,0xbd,0xdd,0x53,0x51, + 0x72,0xf1,0xb4,0x21,0x93,0xa0,0xc,0x42,0x78,0xc8,0x65,0x18,0xd9,0x4e,0x82,0x2c, + 0x4c,0xa2,0xef,0xc3,0xcd,0x16,0x6a,0x6e,0xf5,0x49,0xfa,0x22,0x30,0xad,0xa2,0x10, + 0x86,0x4d,0x1a,0x8f,0x21,0xec,0x82,0x81,0x85,0x87,0x4c,0x42,0xb,0x71,0x94,0xc4, + 0x18,0x14,0x37,0x4e,0xdb,0xb1,0xcb,0x4c,0x42,0x37,0x39,0x80,0xbc,0x8,0xb3,0x95, + 0x95,0xa,0x36,0xc6,0xe3,0xca,0x4e,0x1d,0xdd,0x7e,0x11,0xb9,0x2b,0x37,0x75,0xa2, + 0x2e,0x22,0xfc,0xb3,0xd8,0x43,0x2e,0x60,0x46,0x3,0xde,0x7e,0x46,0x17,0xac,0xb4, + 0xf2,0x9c,0x48,0x58,0xa0,0x8e,0xa,0x5d,0x75,0x76,0x72,0x6e,0xe4,0x30,0x4c,0x93, + 0xb,0x70,0x79,0x35,0xaa,0x14,0x10,0xf6,0xf1,0xba,0xd5,0xa9,0xad,0xab,0x2e,0x5, + 0x34,0xa5,0x84,0x71,0x5d,0xe4,0x11,0xd4,0x40,0x90,0x90,0x31,0x8f,0xa0,0xe6,0x94, + 0x8,0x8b,0x8b,0x3c,0x82,0x5a,0x50,0xa5,0xb5,0x5e,0x90,0xa0,0x66,0xe4,0xe9,0x32, + 0xb0,0xa5,0xc6,0x64,0x16,0x7e,0x41,0xab,0xaa,0x10,0x4b,0xa5,0x9d,0xe9,0x3f,0xb, + 0x3d,0x64,0x11,0xce,0x7a,0xdc,0x98,0x45,0xd8,0xe5,0x61,0x6,0x28,0xf0,0xea,0x61, + 0x6,0x4a,0xc9,0xcb,0x8f,0xff,0xf6,0x58,0x68,0xf9,0xf0,0xe3,0xeb,0xe3,0xaf,0xcf, + 0xf1,0xe,0xfb,0xee,0x9b,0xb7,0x3f,0x7c,0xf3,0xcb,0x2f,0xdf,0xfc,0x7d,0xb9,0xd8, + 0x2d,0x4f,0x3f,0x40,0x19,0x7f,0xf6,0x8c,0xbd,0x55,0x19,0xdf,0xc9,0xb7,0xd9,0xad, + 0x13,0x65,0x94,0x73,0x7b,0xdc,0xe1,0xf1,0x42,0xc8,0xd6,0xfb,0x48,0x94,0x8d,0x5b, + 0xbb,0x45,0x74,0x4a,0xd7,0x3e,0xde,0x7a,0xfb,0x1b,0x6b,0x74,0xe2,0xe7,0x55,0xed, + 0x80,0x2c,0xb9,0x56,0x29,0x1b,0x90,0x36,0xcb,0xfa,0xd9,0xb6,0x66,0x64,0x52,0x6e, + 0xe3,0x4e,0x50,0xa8,0x5,0xde,0x76,0xcb,0xb3,0x65,0x62,0x77,0xcf,0xf6,0xe9,0xdf, + 0x94,0xf,0x32,0x61,0xd4,0xbe,0x37,0xe5,0x23,0x3,0x1f,0xb9,0x3a,0x1b,0x19,0x7c, + 0xd7,0xea,0xec,0x51,0xba,0x4f,0x27,0xb,0xa5,0x62,0x84,0xae,0xae,0xa1,0x38,0x5b, + 0x5,0xd4,0x6a,0x99,0xe7,0xda,0x6c,0x95,0xa2,0xa8,0x8,0xbb,0x28,0xcd,0x56,0x71, + 0xd2,0x64,0x1b,0x6e,0xca,0x5f,0x3a,0x97,0x44,0x5d,0xdc,0x94,0xbf,0x60,0x9c,0x10, + 0x3d,0xd7,0x65,0x2f,0x43,0x67,0x77,0xd6,0x50,0x63,0xab,0x1c,0x84,0x48,0xbb,0x28, + 0xca,0x96,0x4e,0xa,0x46,0xd7,0x45,0x4d,0xb6,0x54,0x53,0x9a,0x63,0xa8,0xc8,0x96, + 0xa,0x2a,0x81,0xd9,0xe5,0x2d,0xf9,0x65,0x84,0x82,0xe2,0xf2,0x96,0xfc,0x52,0xa, + 0x9,0x8b,0xf1,0x96,0xfc,0x6c,0xea,0x68,0xf8,0xe5,0x2d,0xf9,0x99,0xc4,0x86,0x8c, + 0x73,0xdd,0xf5,0x55,0xec,0xeb,0x23,0x5a,0x14,0xec,0x61,0x43,0x29,0xb6,0x34,0xa8, + 0x98,0x53,0x2f,0x2a,0xb1,0x55,0x82,0x32,0x59,0xfd,0xa2,0xb8,0x5a,0x8d,0x29,0x44, + 0x60,0x43,0x1d,0xb6,0x2,0x4,0xd7,0xb8,0x6c,0x18,0x41,0x70,0xf7,0xbc,0x28,0xc2, + 0xd6,0x59,0x1c,0xe7,0xf0,0xa1,0x6,0x5b,0x6b,0xee,0x53,0x32,0x54,0x60,0xbf,0x3, + 0x2f,0x51,0x2d,0x21,0xad,0x28,0xbf,0xa8,0xbf,0xd6,0x59,0x1a,0xeb,0xd6,0xa1,0xfc, + 0x5a,0x33,0x29,0x53,0xf9,0xb2,0xfa,0x5a,0x13,0x4,0x48,0xfb,0x45,0xf1,0xb5,0xa6, + 0x90,0x2b,0x57,0x5d,0xd6,0x5e,0x6b,0x18,0x85,0x8b,0xf6,0x45,0xe9,0xb5,0x3a,0x28, + 0xab,0xba,0x2f,0x4a,0xaf,0x15,0x49,0xf0,0x40,0x8f,0xd3,0x2,0x41,0x61,0x8a,0xb8, + 0xa8,0xbc,0x56,0x38,0x41,0xba,0xec,0x5c,0x78,0xbd,0x60,0x56,0xd0,0x1a,0xea,0xae, + 0x17,0x34,0x39,0xe3,0x5c,0x76,0x7d,0xc2,0x2,0x66,0xe7,0xaa,0xeb,0x5,0x72,0xae, + 0x18,0x8a,0xae,0x15,0x4a,0xac,0x88,0x38,0xd7,0x5c,0x2f,0x2d,0x93,0x91,0x7e,0x51, + 0x72,0xad,0x48,0x12,0x55,0x8d,0xa1,0xe2,0x7a,0x66,0xd6,0x84,0x43,0x87,0x82,0xeb, + 0x2b,0x66,0x77,0x3d,0xf1,0x94,0xa1,0x77,0xa9,0xb7,0x1e,0x13,0xb,0xd2,0x80,0x60, + 0xfd,0x3e,0x86,0x4e,0xe5,0xe8,0xba,0xf2,0x70,0x47,0x8d,0xd6,0x6a,0x5d,0x65,0x16, + 0xc4,0x10,0x40,0xc8,0xb5,0xc4,0x42,0x7a,0xdc,0x69,0xab,0xe2,0xf5,0xf,0xb7,0x2a, + 0x4a,0xc1,0x15,0x15,0x7e,0x8f,0x7a,0x3e,0x50,0xb6,0x8d,0x8f,0x6c,0xad,0x24,0x36, + 0xcb,0xf5,0x53,0xb6,0x2d,0xa9,0x13,0xb8,0x8,0x43,0xaf,0xb6,0xfd,0x76,0x68,0xbb, + 0x29,0x83,0x56,0x10,0x8d,0x9a,0x66,0xdd,0x67,0x22,0xa2,0x27,0x26,0x20,0xb,0xa1, + 0x93,0x12,0xca,0xd0,0xbc,0xe4,0xac,0x9b,0x5a,0x9a,0x65,0x3a,0x9c,0xb2,0xc4,0xea, + 0xbd,0x43,0x59,0x40,0xf2,0xb6,0x54,0x86,0x7b,0xec,0x91,0xfc,0x52,0xce,0x2a,0x5f, + 0x67,0xbf,0x84,0xad,0xa1,0x79,0x25,0xfb,0xc5,0xf0,0xc2,0x3a,0xf9,0xe5,0xaa,0xad, + 0x2c,0x7d,0x6d,0x8e,0x46,0xdf,0x69,0x8e,0x46,0xd7,0x8d,0xed,0xb4,0xa3,0x2b,0xd8, + 0xfa,0x1e,0x11,0x42,0x14,0xee,0x24,0x52,0xc5,0x2d,0x91,0xa2,0xb4,0xe0,0x1f,0x39, + 0x42,0x38,0x3f,0xb3,0xf8,0xb9,0x91,0x82,0x50,0x54,0xae,0x9f,0x31,0x2a,0xa0,0x44, + 0x57,0xac,0x22,0x85,0x20,0x96,0x58,0xef,0xa8,0x85,0xba,0x3c,0xe4,0xd6,0xe6,0x36, + 0x7c,0xe3,0x23,0x90,0x5d,0xf7,0xb0,0x1a,0x86,0xb0,0xc7,0xda,0x6a,0x58,0xd9,0x35, + 0xeb,0xa9,0xd5,0x98,0x73,0x71,0xf8,0x7a,0x65,0x4f,0x7,0x9b,0xfa,0x35,0xab,0xf1, + 0x7b,0x59,0x8d,0xdf,0xb4,0x9a,0xd0,0xf4,0x2c,0xb5,0xdd,0x96,0xf6,0x8d,0xf3,0xe5, + 0xfe,0xcb,0xf2,0x6d,0x17,0x13,0x64,0x90,0xea,0x58,0xb9,0x98,0x22,0xad,0xb6,0xb1, + 0xe4,0x6f,0x6c,0xbb,0xa0,0x43,0xdb,0x1b,0x4b,0xbb,0xc7,0x3d,0x96,0xf6,0x7f,0xff, + 0xe6,0xed,0xbf,0x5d,0xe,0x3a,0x7f,0x86,0xe3,0x4c,0xf3,0xc,0x6c,0x8c,0xba,0xb6, + 0x6f,0x88,0xae,0xa7,0x68,0xdd,0x9f,0x54,0x67,0x27,0x8,0x75,0x3a,0x2b,0xf,0x27, + 0x84,0x16,0x4e,0x8f,0x64,0x2a,0x9,0xd3,0x23,0xea,0x4d,0xa2,0x61,0x81,0x87,0x6c, + 0x32,0x83,0xc7,0x11,0x84,0x53,0x30,0x67,0x3e,0x64,0x90,0x80,0xc1,0x33,0xc6,0x4, + 0x66,0x7b,0xec,0x9e,0x12,0x36,0xb7,0xb4,0x26,0x48,0x65,0x61,0x6,0x59,0xa5,0x79, + 0x6,0x8b,0x2a,0xc2,0xc,0xf3,0xf0,0x19,0x8e,0x47,0x30,0xa4,0xf9,0xf1,0x74,0xbc, + 0xb9,0xbd,0x67,0xd4,0xa9,0x32,0xe7,0xa1,0xbc,0x29,0xd4,0x6c,0x1,0x83,0x44,0x80, + 0xee,0x7,0x57,0xd2,0x77,0xfd,0x95,0x60,0xe2,0x73,0x7f,0x34,0xb9,0x41,0x75,0x46, + 0x85,0x38,0xe0,0x8a,0x7,0x4,0x41,0x39,0xe4,0x8,0x6a,0x50,0x4b,0x96,0xc6,0xc3, + 0x22,0x48,0x8b,0xcf,0x20,0x28,0xe5,0x24,0x3e,0x8c,0xc4,0x60,0x73,0x53,0x49,0xea, + 0xca,0x5e,0x6a,0xa,0xac,0x4f,0x92,0x6,0xa1,0xc1,0x57,0xa1,0xaf,0x1f,0x20,0x54, + 0x7e,0xfa,0x46,0x50,0x71,0x2c,0x17,0xe4,0x49,0xcc,0x2,0xf3,0xc9,0xa8,0xc4,0x22, + 0x1e,0x32,0xc9,0xa1,0x19,0x3e,0x81,0x20,0x2a,0xf1,0xd0,0x7c,0x62,0xe2,0x8c,0xcc, + 0x75,0xee,0x46,0x50,0xbf,0xc0,0x44,0x8d,0xba,0x4b,0x30,0xe9,0xe3,0x37,0x89,0xf5, + 0xc2,0x81,0x1c,0xb9,0x3a,0xd,0xb8,0x14,0x60,0x31,0x79,0x66,0x1f,0xc1,0x7c,0xbc, + 0xb4,0x2f,0xdf,0x83,0x7a,0x6,0xc5,0x92,0x2a,0x5c,0x1f,0x8f,0xe9,0x2b,0x7b,0xc6, + 0x9c,0xac,0x97,0x2f,0x54,0x7f,0xaf,0x13,0x31,0x90,0x67,0xf5,0xac,0xa9,0x3c,0xa9, + 0xf,0x47,0x50,0x8,0xe1,0x86,0x45,0xfd,0x8b,0xa2,0x75,0xa9,0xa,0x4c,0x83,0xc4, + 0x11,0xb4,0xf7,0x9c,0x88,0xa,0x59,0xc6,0x82,0x26,0x89,0xc0,0x59,0x1e,0x44,0x8c, + 0xb8,0xba,0xfb,0x4c,0x74,0x3c,0x8,0x7,0xe9,0xdc,0x7f,0x98,0x13,0xc2,0x4e,0x8, + 0xcb,0x65,0x4a,0x49,0x44,0x76,0x1e,0x31,0x90,0xe9,0xdc,0x1b,0x4c,0xec,0xea,0x76, + 0xc2,0xb4,0x23,0x62,0x1,0xdd,0x17,0x2,0x4e,0x68,0x81,0xf5,0x84,0x5a,0x74,0xd7, + 0x9,0xcc,0x62,0x39,0x81,0x62,0x91,0x8f,0xfd,0xc3,0xb1,0x80,0x67,0xd5,0xb1,0x90, + 0xb8,0x3,0xcb,0xdc,0x4f,0x57,0x35,0x5f,0x9a,0x7a,0x87,0x9d,0x8c,0xc4,0x2b,0xd, + 0xcb,0x65,0xb6,0x4a,0xc4,0x85,0x3d,0x7d,0x3d,0x73,0xab,0xac,0xcb,0xdc,0xf7,0x22, + 0x3b,0x91,0x74,0xcd,0xf6,0x9e,0x59,0x25,0xe7,0xfe,0x69,0x14,0xb6,0xcf,0x6b,0xd9, + 0x87,0x62,0x8,0x67,0xe2,0xb6,0x74,0x8c,0x35,0xc6,0x46,0x5,0x8b,0xd0,0x61,0x8d, + 0x7f,0xb4,0x89,0x18,0xd7,0xf8,0xb1,0xed,0x82,0xe,0x6d,0xb7,0xbf,0xf9,0x21,0x3a, + 0x1,0xb5,0x89,0x8f,0xbc,0x80,0x44,0xdb,0xb0,0x43,0x8c,0xe0,0xae,0xfb,0xde,0x81, + 0x77,0x7b,0xbf,0xeb,0xda,0x77,0xda,0x8c,0x98,0xdc,0xba,0x6f,0xd8,0xb5,0x4b,0xe5, + 0x2e,0x5b,0x78,0x57,0xbf,0x93,0x48,0x9a,0x1f,0x4b,0xa4,0x71,0x4f,0x1a,0x99,0x21, + 0x51,0xab,0x3d,0xa9,0x59,0x15,0x17,0xe4,0xca,0x9e,0x34,0xb8,0x19,0xb1,0xde,0x93, + 0x16,0xc3,0xd5,0xae,0x96,0x31,0x20,0xef,0x34,0xd,0x50,0x72,0xe3,0xa8,0xc7,0x44, + 0x1d,0x6d,0x77,0x50,0x99,0x6,0xab,0xcb,0x93,0xe0,0xd7,0x58,0xd4,0xd3,0xaf,0x4, + 0xbf,0x56,0x66,0xd2,0xeb,0xe8,0x37,0x5a,0xc2,0x1b,0x57,0x55,0x66,0x79,0x27,0x95, + 0x59,0xdf,0xda,0xc6,0x73,0x74,0x55,0xc6,0xcb,0x6e,0xe3,0xf7,0x7f,0xb9,0xd3,0xb, + 0xbc,0xaa,0xea,0xea,0xfa,0x6b,0x29,0xbb,0xbe,0x23,0xea,0xf6,0x34,0x85,0x54,0xa7, + 0xdb,0x6a,0x9a,0x2a,0x37,0x2a,0xe3,0x5a,0x8e,0x26,0x38,0xbc,0x73,0x3d,0x4d,0x8b, + 0x4d,0xbb,0x3c,0xaf,0xcd,0x53,0xf3,0x3b,0x99,0xb6,0xc5,0xad,0x15,0xbe,0x80,0x28, + 0x73,0xb9,0x4b,0x85,0x12,0x54,0x29,0x2c,0x56,0xaf,0x3b,0x87,0x28,0x65,0xf9,0xea, + 0xe5,0x26,0x60,0xa6,0xc2,0x78,0x7,0xf7,0xd0,0xf6,0x77,0x1e,0xbe,0x59,0x20,0xb6, + 0xdd,0xec,0x13,0xbb,0xbc,0xfb,0x8a,0x29,0x3b,0x54,0x2a,0x47,0xf3,0xb0,0x4e,0x92, + 0x4c,0xcd,0xc1,0x3c,0x8c,0x8d,0x52,0x1a,0x36,0x98,0xc7,0xd8,0x76,0x41,0x87,0xb6, + 0x5b,0xf7,0x40,0x4a,0x9e,0x51,0xc9,0x3a,0xc1,0x48,0xcc,0x5c,0x30,0x1d,0x42,0x83, + 0xb4,0xa3,0x77,0x48,0x98,0x5a,0x88,0x6d,0x52,0x6d,0x59,0xfe,0x61,0x55,0x7b,0xb0, + 0x54,0xf2,0xe9,0xd0,0xce,0x94,0xbb,0xe9,0x55,0xf6,0xd6,0xeb,0x6d,0x7b,0xf5,0xa2, + 0xd0,0x40,0x8d,0xf6,0x1a,0x42,0xeb,0x67,0x9,0x9f,0xdb,0xc6,0xca,0x5e,0x41,0x10, + 0xaf,0xf8,0xfd,0xf6,0xea,0xda,0x5b,0x84,0x7,0xc7,0x3e,0xc2,0x5b,0x32,0x79,0xb2, + 0xf4,0x20,0xbc,0xa9,0x53,0x46,0xcb,0x20,0xbb,0x75,0x51,0x39,0x56,0xb2,0x9b,0x82, + 0xc2,0xd9,0x7a,0x7,0xd9,0x85,0x37,0x11,0x8f,0x6d,0xd1,0xc5,0x7f,0xae,0x85,0xda, + 0x59,0xef,0xb6,0x50,0xef,0xf9,0xc2,0x7a,0x53,0xce,0xdb,0xd6,0xdb,0x7f,0xda,0x6f, + 0xd7,0x36,0x8f,0x26,0x78,0x8c,0x69,0xc5,0x3b,0x6a,0x79,0x99,0xa1,0x90,0x96,0xe6, + 0x74,0xc8,0x22,0x51,0x31,0xff,0x6c,0x58,0xd0,0xd0,0xc4,0x22,0x9d,0x63,0x6c,0xad, + 0x14,0x9,0xe3,0x1c,0x8f,0xf3,0xc6,0xb6,0xb,0x7a,0xd9,0x76,0xd8,0xf9,0x51,0x2a, + 0x42,0xda,0x5e,0x56,0xbd,0x79,0x67,0xf5,0xa,0x53,0xd8,0x92,0xcd,0x2a,0x27,0x15, + 0xe,0x79,0x29,0xed,0x8e,0x9a,0x19,0x6c,0xe7,0x19,0x2f,0x70,0xbb,0xa1,0x8f,0x63, + 0x87,0x1f,0xe7,0xdb,0xf3,0x3a,0x60,0x8a,0x49,0x88,0x2d,0xba,0xe3,0xb3,0xf5,0x1d, + 0x4,0x9d,0x82,0xca,0x61,0x5d,0x48,0xa5,0x50,0xf3,0x95,0xf3,0x28,0x27,0xb7,0x50, + 0x3b,0x37,0xd5,0xa1,0xe9,0x9a,0xc0,0xdb,0x49,0xf2,0xb7,0xbf,0xbe,0xf9,0x79,0xdc, + 0xec,0xce,0x48,0x20,0x2e,0x43,0xb1,0x37,0xdf,0x7f,0xff,0xf6,0xd5,0x51,0x5a,0x5e, + 0xa7,0xd9,0x4e,0xad,0xf,0x47,0x75,0xbc,0xf9,0xe5,0xf3,0xff,0xf2,0xfd,0xf2,0xf3, + 0xc5,0x2,0x9d,0x33,0x6a,0xb3,0xce,0x6f,0x8f,0x66,0xe6,0x7c,0x65,0x34,0xf9,0xed, + 0xa3,0xf1,0x17,0x17,0x5b,0xea,0x91,0xc8,0x81,0xf7,0x5d,0xad,0xca,0x10,0x37,0x77, + 0xc9,0x82,0x6d,0xa4,0x7c,0x42,0xb3,0x68,0x6d,0x27,0xfb,0xae,0x42,0xe6,0xb7,0xf5, + 0xa5,0x3b,0xae,0x42,0xe0,0xe,0x97,0x49,0xc8,0x44,0x39,0x7d,0x3a,0x8,0x19,0xa7, + 0x36,0x8e,0x10,0x4,0x75,0x7a,0x9b,0x8c,0xb5,0x44,0xce,0x3b,0x78,0x32,0xf1,0xf2, + 0x51,0xad,0x28,0x42,0x97,0xc7,0xe8,0xb4,0x99,0x4a,0xc4,0x19,0x1d,0xa3,0x87,0x2f, + 0x4a,0xd3,0x5c,0x29,0xf6,0xf1,0xa5,0x61,0xd1,0xbf,0x7d,0x1,0xa,0x24,0x3e,0x6c, + 0xae,0x19,0x1f,0xcf,0x5c,0x3,0x59,0xbf,0xdd,0x5c,0xff,0x3f,0x7b,0xd7,0xb6,0x1c, + 0xb9,0x8d,0x64,0x7f,0xc5,0xe1,0xb7,0x8e,0x60,0x65,0xe4,0xfd,0xb2,0x6f,0xe3,0xb6, + 0xfd,0xe4,0xfd,0x86,0x9,0xb5,0x5a,0x8e,0x8d,0xd8,0x8d,0xf1,0x86,0x67,0xf6,0x65, + 0xbe,0x7e,0xc5,0xaa,0x96,0x4b,0x60,0x97,0x49,0x8a,0x26,0x8b,0x92,0xba,0xba,0xfc, + 0x60,0xa1,0x50,0x0,0x71,0x70,0x12,0x9,0x82,0xc9,0x3c,0x6c,0xfd,0x67,0xb6,0xb9, + 0xee,0xe8,0x4,0x71,0x45,0xfa,0x15,0x5b,0x64,0x7d,0x71,0x82,0x2c,0x2a,0x76,0x14, + 0xd2,0xcc,0xe0,0xc2,0xec,0xe,0x51,0x60,0x4e,0xee,0xaf,0xdd,0xb,0xba,0x26,0x4d, + 0x93,0x30,0xe5,0x9a,0x24,0x4c,0x7b,0x39,0x9,0xef,0x1e,0xfa,0xcf,0xa0,0xb7,0x5d, + 0x48,0xc8,0x36,0x4a,0x42,0xcc,0x2d,0xd7,0x40,0x4,0x2d,0x36,0xe6,0xe,0xc1,0x44, + 0x90,0x4f,0xb1,0x85,0x5e,0x65,0xc7,0x27,0x3a,0xc9,0x9a,0x17,0x28,0x89,0x95,0xa9, + 0xd,0x25,0x13,0xb4,0x4c,0x88,0xb9,0xa5,0x64,0x80,0x4,0x66,0x66,0x43,0x49,0x87, + 0x8,0x24,0xaf,0x78,0x4e,0x49,0x81,0xa,0x43,0x45,0x5b,0x44,0xc9,0x6c,0x29,0xb9, + 0x80,0x67,0x23,0x7c,0x6d,0xc9,0x56,0x38,0xa4,0xe4,0x82,0xbd,0xc9,0x18,0x5f,0xdb, + 0xde,0x78,0x7,0x4a,0xca,0x14,0x25,0x7d,0x35,0x4a,0x1e,0x8,0x8c,0x50,0x3a,0x6, + 0x57,0xe2,0x90,0x87,0x83,0xf4,0x8e,0x99,0x3c,0x30,0xf2,0xe1,0xa0,0xdd,0xa1,0x80, + 0x8,0x99,0xb5,0xff,0x26,0x3,0xb0,0x27,0x6b,0x80,0x4a,0xfa,0x70,0xb1,0x14,0x5, + 0x8f,0x70,0xa9,0x86,0x99,0x1,0xea,0xcc,0xe1,0x75,0xe6,0xe0,0xc5,0xba,0xbf,0xb6, + 0x75,0xcf,0xcc,0xd4,0x0,0x2b,0xa3,0xf2,0x25,0xcc,0x2c,0x9b,0x5e,0x2c,0x2b,0xd6, + 0x59,0x2c,0x11,0x3c,0x45,0x4d,0xd8,0x67,0xad,0x9a,0x55,0x6b,0xed,0xb4,0xf7,0xa0, + 0x28,0xca,0x38,0x45,0x75,0x35,0x8a,0x22,0x54,0x55,0x91,0x76,0x87,0x80,0x54,0x72, + 0xf5,0x9e,0x8a,0x6,0xee,0x8e,0x51,0x3d,0x47,0x19,0x50,0x53,0xf0,0xb1,0x9c,0x7b, + 0xf2,0xb2,0x32,0xcb,0x91,0xaf,0x1,0x96,0x24,0x16,0x57,0xe5,0x69,0x6c,0xba,0x65, + 0x47,0xcb,0xd1,0x2d,0x3b,0xae,0xb9,0x65,0xc7,0x34,0x11,0xeb,0x8,0x90,0x84,0xb4, + 0x7a,0x70,0x11,0x4b,0x2d,0xfa,0xa2,0x2c,0x41,0xed,0x88,0xa,0x3c,0xfc,0x14,0x55, + 0x93,0x52,0x3a,0xb8,0x13,0x22,0x2,0x61,0x97,0xc1,0x3b,0x5b,0x16,0x20,0x29,0x55, + 0xed,0x79,0x24,0x29,0x68,0x89,0x9,0x9d,0xeb,0xf2,0xb3,0xba,0xb,0xec,0xdf,0x50, + 0x26,0xed,0xdf,0xd0,0x5e,0x6e,0xff,0x75,0x17,0x8e,0x38,0xb5,0x59,0x1a,0x6d,0xe2, + 0x41,0xee,0x3e,0x23,0xce,0xf1,0x83,0x80,0xc5,0xc5,0x28,0x7e,0xc9,0x45,0x19,0xc6, + 0x8c,0xd5,0xc6,0xb0,0x2e,0xb6,0x6c,0xa8,0x42,0x31,0xb9,0xea,0xdc,0x7f,0xe6,0xfb, + 0x5,0x3b,0x43,0x23,0xba,0xd8,0x6b,0x91,0x5,0x49,0xda,0xf7,0x33,0x0,0x5a,0xd4, + 0xad,0xbc,0x7c,0x69,0xfd,0x54,0xd9,0xf7,0xb6,0xff,0x86,0x14,0x2d,0xc7,0x97,0xd6, + 0xf5,0xee,0x8a,0x1c,0x3c,0xd4,0xf9,0xb8,0x70,0x3a,0x28,0x12,0x3b,0x7f,0x59,0x44, + 0x45,0x51,0x31,0x4e,0xb7,0xe6,0xea,0xdd,0x29,0xf5,0x40,0x70,0x77,0x48,0x5,0x71, + 0x24,0x19,0xac,0xa9,0x7d,0x53,0xe6,0x9a,0xed,0x33,0x70,0x83,0xf0,0xe2,0x68,0xd7, + 0x54,0x72,0x60,0xa,0x19,0x4,0x50,0xb9,0x2,0x29,0x71,0xd2,0x60,0x4d,0xd,0x75, + 0x45,0x59,0x62,0xfb,0xe4,0xd3,0xb6,0x4f,0x39,0xdf,0xf6,0xdb,0xfb,0xe7,0x29,0x5e, + 0x2e,0x68,0xe2,0xb2,0x85,0x5e,0x34,0x7a,0xc6,0x39,0x76,0xc0,0x7c,0xb1,0xc9,0xb0, + 0x15,0x7,0xd8,0x76,0xa8,0x2f,0x37,0x3c,0x44,0xc4,0xd7,0x60,0x78,0x6c,0x35,0x6a, + 0x78,0x56,0xb9,0xe6,0x71,0x84,0x33,0x9b,0x76,0x4,0xe9,0xe4,0xa7,0x14,0x4e,0x1e, + 0x4e,0x1d,0x27,0x84,0x6,0x4a,0x47,0x96,0xe,0xa2,0xda,0x1d,0xc8,0xc5,0x41,0x83, + 0x5b,0x8b,0x23,0x83,0xe0,0xc0,0x88,0xc6,0xe2,0x2c,0x1,0xb3,0x3c,0xa3,0xb5,0xb8, + 0xb6,0x6e,0x5f,0xda,0xd6,0x3d,0x5b,0x1c,0x83,0x93,0x4a,0xb9,0x2d,0xb1,0x38,0x8e, + 0x69,0x8b,0xe3,0x5,0xc7,0xd9,0x9f,0xb4,0x94,0xef,0x96,0x10,0x52,0xe8,0xe5,0x84, + 0x7c,0xd0,0xcf,0xf7,0xf7,0x35,0xe8,0x6d,0x7,0x3e,0xb2,0xc5,0x38,0x1f,0x7d,0x45, + 0x3e,0x9a,0xa3,0x7b,0x75,0x4,0x2e,0xae,0xd6,0xbb,0x0,0x85,0x14,0x39,0xe5,0xcf, + 0x24,0xd7,0xcc,0x8e,0xc2,0x19,0xa4,0x7a,0x42,0x46,0x41,0x68,0xb4,0x84,0x54,0x6, + 0xa7,0xb0,0xc1,0xfb,0xc,0xc4,0x8,0xae,0xd4,0xe4,0xde,0xbd,0x54,0xf7,0xd7,0xa6, + 0x6e,0x73,0x30,0xa1,0xe8,0x99,0xb9,0xed,0xe3,0xb8,0xa2,0x71,0xa8,0x75,0x3d,0xa8, + 0x9f,0x9e,0xc3,0x55,0x24,0x72,0x87,0x5d,0x31,0x24,0x7f,0x75,0xf2,0xe8,0x2,0x45, + 0xcc,0x58,0x2d,0x9a,0x64,0x10,0x58,0x34,0x70,0xa8,0xa,0xa8,0xde,0xdc,0xa4,0x5c, + 0xac,0xfb,0xfb,0xb3,0x66,0x97,0x98,0xb7,0xd8,0xfc,0x63,0x9e,0x4f,0xff,0x73,0x77, + 0xff,0xdf,0x3,0x1b,0x9a,0x7b,0xc6,0x63,0xd2,0x6c,0x69,0x17,0x74,0x85,0x73,0xf, + 0x78,0x4c,0x6a,0xc4,0xb2,0x77,0xa2,0x9b,0x88,0xbf,0x62,0xba,0xb5,0x75,0x87,0x74, + 0x93,0x5,0x6c,0x9b,0x40,0xf3,0x32,0x1d,0x89,0x51,0xeb,0x5a,0xc7,0x8e,0xc4,0x68, + 0xb4,0xf5,0xb9,0x63,0xdb,0x9d,0x8c,0xf3,0x72,0xbe,0xdd,0xb2,0x56,0x5c,0xb,0x27, + 0xd6,0xaa,0x69,0xb7,0x4c,0x44,0x9a,0x97,0x37,0xbb,0x13,0x9e,0xf9,0xbe,0xff,0xfc, + 0xa5,0x9d,0xf7,0x3d,0xf5,0x9f,0x41,0x13,0x73,0xe7,0x85,0xd,0x69,0xad,0x69,0x71, + 0x1b,0xd2,0x77,0xc1,0x2e,0x79,0xf6,0x8a,0x6a,0x34,0x63,0x5a,0x94,0x9c,0x2e,0xdf, + 0x30,0x60,0x46,0x11,0x4f,0xec,0xe3,0xab,0xff,0x7c,0x75,0x24,0x1a,0x19,0x88,0x52, + 0x2f,0x9b,0x25,0x92,0xfe,0xb3,0xf4,0xd4,0xde,0x4c,0xd7,0x9b,0x25,0xe7,0xe9,0x3d, + 0xad,0xeb,0xcb,0xf7,0xb4,0xf9,0xd0,0x7f,0x96,0xec,0x69,0xdd,0x17,0x1c,0x1c,0x67, + 0xff,0x19,0xf4,0xb6,0x43,0x88,0x6,0x31,0x6a,0x8d,0xad,0xea,0x5a,0x82,0x6b,0x1e, + 0x1d,0xbb,0x16,0xf3,0x53,0xba,0x52,0x25,0x92,0xe8,0xe,0x6c,0xe,0xe5,0x16,0xd2, + 0xb9,0x43,0x6,0xaa,0xd,0xf,0x2d,0xd1,0x14,0x3c,0xa4,0x8d,0x8c,0x3c,0x18,0x98, + 0x3b,0x22,0xb6,0xa7,0x96,0x7,0x62,0x43,0x70,0xab,0x6c,0x8e,0x2d,0x85,0xb4,0x0, + 0x39,0xfb,0x75,0x7c,0x3f,0x38,0x7d,0xcd,0xbd,0x84,0x81,0x93,0x8,0xd7,0xc3,0xe1, + 0x84,0xa8,0x81,0x96,0x16,0x7d,0x39,0x77,0x77,0x1,0x2b,0x4d,0xeb,0xc8,0x20,0x45, + 0x1d,0xeb,0x8d,0x82,0x2a,0x2c,0x36,0x81,0x69,0x5e,0x1d,0x53,0x7,0x41,0xb,0x19, + 0x60,0x7a,0x60,0x72,0x3,0xa1,0x41,0xfc,0x32,0x63,0x6,0x94,0xa8,0xb4,0x98,0xba, + 0xa,0xa0,0x63,0xd1,0x20,0x83,0x2,0x13,0x4,0x31,0x6f,0x8a,0x29,0x4d,0xf1,0x54, + 0xf1,0x95,0xf0,0xd4,0xd1,0x80,0x82,0x95,0x1b,0x48,0x25,0xc5,0xc0,0x95,0x73,0x40, + 0x53,0x74,0x86,0x62,0xe1,0x16,0xd2,0xa8,0x2,0xa7,0xbd,0x69,0xaa,0xfc,0x4a,0x20, + 0xcd,0x84,0x40,0xd3,0xca,0x41,0xe2,0x5a,0x42,0x70,0xb,0x6d,0x21,0x15,0x73,0xf0, + 0xe0,0x1c,0x40,0xca,0xa2,0x90,0xc4,0xb6,0xe5,0x39,0x0,0x6b,0x8d,0x1d,0xb9,0xf4, + 0x90,0xea,0x66,0x90,0x16,0x84,0xa3,0xa,0xd,0x20,0x3d,0x78,0x82,0x17,0x51,0xd, + 0x2,0x74,0xf,0x46,0x5,0x62,0x35,0x10,0x1c,0xa4,0x60,0x5,0xe5,0xe6,0x96,0xed, + 0x62,0xe5,0x5f,0x7,0x95,0xcf,0x67,0xee,0x75,0xac,0xaa,0x7b,0xc6,0x3f,0x63,0x95, + 0xad,0xf9,0x1c,0xd3,0xd3,0xe2,0x8f,0x0,0x68,0x2e,0xaa,0x53,0xdc,0x33,0x69,0xe8, + 0x11,0xec,0x84,0xcc,0xd4,0x6f,0x27,0xbe,0x1c,0xab,0x72,0x6d,0x7c,0x6d,0x80,0x6f, + 0x20,0x70,0x92,0x7b,0x8f,0x6f,0x1,0x56,0xd9,0xe,0xf8,0xee,0x14,0x69,0x4c,0x88, + 0xb4,0xe2,0x2e,0x36,0x12,0x99,0x9f,0xf8,0x9b,0x52,0xc8,0xdc,0xb1,0x2,0x97,0x5a, + 0x77,0x20,0x2a,0x48,0xd,0x7b,0x8f,0x11,0xc8,0x84,0xa8,0x2b,0xf2,0x94,0x14,0x4d, + 0xa4,0x3b,0xa9,0x74,0x66,0x8f,0x1d,0xa0,0x45,0x50,0x74,0xfd,0x77,0x1a,0xa8,0x9d, + 0x17,0x14,0xe3,0x51,0x2,0x25,0x10,0xd8,0xdd,0xb7,0xb,0x41,0xde,0x73,0x5,0x20, + 0xc4,0x58,0x11,0x59,0xb3,0x24,0xf1,0xa7,0x15,0x20,0xcb,0x89,0xbb,0x83,0x2b,0x50, + 0x85,0xc7,0x69,0x85,0x75,0x63,0x7e,0x4f,0x2b,0x2c,0xdb,0x38,0xbe,0x44,0x5b,0x32, + 0x17,0x41,0x2a,0xb5,0xb4,0x43,0x50,0x21,0xf6,0xe8,0x5c,0x41,0x18,0xb1,0x7a,0xb4, + 0x15,0x18,0x2d,0x76,0x8,0x1c,0xdd,0x29,0xec,0x89,0x90,0x62,0xc5,0xf5,0x36,0x23, + 0x49,0xa4,0x43,0x48,0xaa,0xe0,0xec,0xd1,0x4e,0xf2,0x50,0xea,0x8b,0x92,0x44,0xb5, + 0x23,0x26,0x20,0x16,0xed,0xe,0xa4,0xc,0x12,0xcc,0x5b,0xc6,0x3d,0xed,0x16,0x6d, + 0x42,0xc8,0x6b,0xde,0x44,0x28,0xa2,0xf8,0xf1,0xa6,0xc1,0x80,0xa2,0xa8,0xbe,0xec, + 0x76,0x1,0x53,0xd,0xeb,0xb4,0xc,0x2b,0x6b,0x47,0x45,0x40,0x84,0xfd,0x77,0x99, + 0x40,0xc8,0xba,0x43,0xbc,0xc9,0x4e,0x81,0x6,0x84,0xbc,0xea,0x93,0xdd,0xc,0x97, + 0xec,0x8,0xc,0xfd,0xa4,0x86,0xd5,0x97,0x89,0x68,0xc7,0x2,0x6c,0x59,0xd4,0x91, + 0x60,0x40,0x64,0xf6,0x64,0x56,0x81,0xac,0xda,0x21,0xd6,0x60,0xa7,0xc7,0xe8,0x84, + 0x5c,0x2b,0xa2,0xcd,0xce,0xc1,0x1d,0x81,0xb0,0xa2,0xd8,0x51,0x5c,0xd,0x91,0xa2, + 0x3a,0x22,0x50,0x47,0xb7,0x8e,0xd4,0x10,0x98,0xad,0x7,0x3b,0x12,0x8a,0xf8,0xfd, + 0x3c,0x47,0x97,0x29,0xa7,0x28,0xf6,0xad,0x86,0xae,0xef,0x16,0x8b,0x4d,0x28,0x71, + 0xb,0xc6,0xde,0xe3,0x39,0x3e,0xa1,0xd4,0xfb,0x8b,0x1b,0x99,0x16,0xe1,0x36,0xa8, + 0x74,0x8a,0xd6,0xdf,0x16,0x2,0x6,0x97,0x71,0x7b,0x30,0x25,0xe,0x56,0x1c,0x8d, + 0x6b,0xb9,0x54,0xf9,0xbe,0xa9,0x3c,0x8b,0xa9,0x6a,0xe1,0xe8,0xfc,0x5,0xb7,0x48, + 0x16,0x92,0x93,0xea,0xa3,0x86,0x97,0x76,0x94,0x90,0x8c,0x1e,0x7f,0x3d,0x99,0x89, + 0xb1,0xdb,0x2c,0xc2,0x58,0x4c,0x67,0x6c,0xba,0x21,0x7c,0x9,0x61,0xca,0x58,0x1d, + 0xe1,0xf9,0x8f,0x81,0x8f,0x1a,0x7b,0x2f,0x8,0x32,0xb8,0xbb,0x8f,0xcf,0xf7,0xb, + 0x1f,0xd6,0x6b,0x7a,0xef,0x2f,0x16,0xf4,0xb6,0xe4,0x61,0xb9,0xa6,0xe7,0x5a,0xf, + 0xcb,0x35,0x93,0x5f,0x80,0xd2,0x1d,0xde,0xd1,0x9d,0x2d,0x46,0x29,0xf5,0x2f,0x7, + 0xe4,0xd0,0x7c,0x94,0xd2,0x57,0x44,0x29,0x5f,0x80,0xd2,0x83,0x3c,0xf0,0x83,0x2f, + 0x8b,0xa4,0xd3,0xac,0x19,0x71,0xe2,0x9a,0xc5,0xe3,0xd1,0x38,0xf3,0x43,0x52,0x10, + 0x4c,0x89,0xc2,0x35,0xe6,0x5,0x7c,0xb4,0x6d,0x2d,0xe6,0x70,0xe9,0xba,0xa1,0xc, + 0xa3,0x67,0xd,0xe9,0xd7,0x8a,0xdb,0x11,0xca,0xbc,0x1e,0x8c,0x42,0x85,0xeb,0x91, + 0xbc,0xea,0x5,0x28,0xf1,0x3,0xdf,0xf1,0xa7,0xa5,0x4b,0x41,0x21,0xcd,0x60,0x79, + 0xa1,0x5c,0x64,0xb9,0x88,0x56,0x98,0xf8,0x38,0xd9,0xf5,0x5e,0x4b,0xef,0xfe,0x52, + 0xe8,0x99,0x7d,0xb2,0xb2,0xbb,0x39,0x83,0x4,0xf7,0xd0,0xc,0xcf,0xcb,0xa3,0xb5, + 0x17,0x75,0xeb,0x9f,0xbc,0xfc,0x6e,0xe9,0xc2,0x57,0x18,0xab,0x71,0xa2,0xb0,0xbe, + 0x5f,0x70,0xdd,0xcb,0x38,0x41,0x74,0x4d,0x94,0x48,0x76,0x48,0x77,0x43,0xa1,0x63, + 0xb,0x15,0xdb,0x7a,0x21,0x15,0xc,0x66,0x55,0x91,0xfe,0x94,0x19,0x30,0x39,0x8, + 0xa9,0x4b,0x3,0x74,0xab,0xcc,0xee,0xa0,0x99,0x1,0xe2,0x16,0x83,0x10,0x95,0xa, + 0x8,0x65,0xf7,0xc1,0xc3,0xff,0x92,0x80,0xca,0xb4,0x73,0x65,0x6e,0x2a,0x37,0xf, + 0xff,0xb3,0xc,0x94,0x69,0xdb,0x8,0x95,0xf4,0x51,0x34,0x5d,0x57,0x44,0x53,0x8a, + 0x22,0x35,0x9f,0xd0,0xf4,0x50,0x22,0xef,0xbc,0xc0,0x8,0x31,0x8e,0x68,0x5a,0x82, + 0x57,0xd,0xc0,0x24,0x14,0x28,0xc6,0xe2,0x1,0x98,0xac,0x50,0x1a,0xd2,0x80,0x79, + 0xa9,0x32,0x1f,0x91,0x2f,0xc0,0x4c,0xdf,0x17,0xcd,0x15,0x73,0x18,0x30,0xb8,0x45, + 0x91,0xd8,0x11,0xce,0x3,0x3,0xa7,0x3a,0xa9,0x75,0x7,0xe5,0x80,0xc,0x64,0xeb, + 0x54,0xcd,0x40,0x22,0x69,0x26,0xa0,0x82,0x50,0x49,0x3c,0xf,0x50,0xd,0x60,0xdb, + 0x38,0x80,0x8a,0x3,0x47,0x0,0xd5,0xa2,0x6c,0x6,0x56,0xc,0x16,0x9a,0x29,0xed, + 0xb8,0x98,0x81,0x4,0x7,0x2,0x94,0x26,0x10,0x1a,0x18,0xad,0xd1,0x85,0x83,0x90, + 0x79,0xcd,0x3c,0x3c,0xda,0x75,0xf0,0x3c,0x73,0xa5,0xdb,0x16,0xa2,0x69,0xad,0x23, + 0x74,0xc8,0xb0,0xe,0x3f,0x5c,0x56,0xb8,0x9c,0x16,0xb2,0xbc,0xa8,0x83,0x59,0xcc, + 0xad,0xd6,0xca,0x5,0xe9,0x94,0x62,0x1d,0x4a,0xa7,0x1c,0xbc,0x20,0x92,0xd8,0xba, + 0xc4,0x47,0x89,0x88,0x43,0x20,0x48,0x12,0x99,0x76,0x89,0xc7,0xbf,0x32,0xfa,0xaf, + 0x40,0x3,0x45,0xe4,0x5c,0x42,0x80,0xce,0xf6,0xdd,0x2f,0x7f,0x94,0xf4,0x90,0x95, + 0x84,0x3d,0x36,0x72,0x2e,0x12,0x30,0x2e,0x8f,0xe7,0xcd,0x12,0xeb,0xb3,0x4e,0x89, + 0xb5,0x6f,0xa3,0x0,0x4b,0xe2,0xf8,0x67,0xff,0xfb,0x4,0x2d,0x49,0xf5,0x53,0xe5, + 0x4,0xec,0xff,0xe9,0xf3,0xf6,0xf2,0xdc,0xdf,0xe3,0xcf,0xf3,0xe9,0x7a,0x8e,0x3f, + 0x3e,0x5f,0xee,0xb3,0x96,0x12,0xcf,0xbd,0x24,0x3e,0xfe,0xa8,0x19,0xf8,0xbf,0xbf, + 0x9b,0xa7,0x58,0x31,0x64,0x64,0xc9,0x50,0xb1,0xe2,0x49,0x9f,0xe2,0x69,0x17,0xde, + 0x4a,0x30,0xf,0x5,0x2a,0x7e,0xff,0xed,0xff,0xfe,0xf1,0x79,0xa8,0x50,0xd1,0x96, + 0xce,0x97,0x5e,0xee,0x4b,0x4f,0x1b,0x94,0xff,0x20,0xc0,0x8c,0xa8,0xaa,0xbc,0xa0, + 0x23,0x3a,0xa5,0xc1,0x33,0xa2,0x45,0xb8,0x9b,0x69,0x2f,0x73,0x14,0xd3,0x26,0xb8, + 0xd5,0x5a,0xb0,0x6d,0xdc,0x11,0xca,0x38,0x5a,0xd9,0xba,0x37,0x55,0x48,0x64,0xb1, + 0x41,0x18,0x10,0x41,0x96,0xa2,0x7b,0x33,0xae,0x73,0xe5,0xd6,0xbd,0x9,0x82,0x27, + 0xfa,0x1b,0x70,0x3,0xb2,0xb7,0x1b,0x98,0x7f,0x8c,0x5f,0xa6,0xa6,0x47,0xd9,0x26, + 0x61,0xa0,0xe4,0xe2,0x4e,0xc0,0xe5,0xf8,0xf9,0xb0,0x2d,0x85,0x28,0xc6,0x41,0xe4, + 0xaf,0x28,0x44,0x14,0x85,0x34,0xc0,0x27,0xa0,0x48,0xa8,0x6,0x14,0x12,0x88,0xc0, + 0x92,0x6a,0x29,0x44,0x5,0x28,0x94,0xaf,0x61,0x2b,0x41,0xa1,0xe3,0xc3,0xd7,0xcd, + 0x6f,0x9a,0xc8,0x12,0x58,0xa3,0xa2,0xdf,0xe6,0x33,0x1,0x47,0xea,0x76,0x37,0x4d, + 0xeb,0x6e,0x35,0xc4,0x5f,0x26,0xa6,0xdd,0x7b,0xa9,0x37,0xe8,0x27,0x5b,0xbd,0x6d, + 0x45,0x40,0xcd,0xcc,0xee,0x28,0x2d,0x2c,0x1,0x58,0xa6,0xfa,0xf8,0x17,0x8b,0x82, + 0xf7,0x5f,0x10,0x81,0x68,0x90,0xfb,0xb3,0x22,0x5,0x61,0xef,0xe5,0xb3,0x9e,0x57, + 0x23,0x60,0x2b,0xb4,0xbe,0x50,0xd,0x84,0x33,0x4f,0xb1,0x44,0x45,0x1c,0xf2,0x58, + 0x2a,0x4a,0x7d,0x29,0x3e,0x2f,0xfd,0xf8,0x58,0xaa,0xc0,0x49,0x5a,0xcf,0x4a,0x45, + 0x1d,0x3c,0x7b,0x76,0x11,0x15,0x98,0x9b,0x79,0x53,0xe6,0x60,0xe9,0xf4,0xd8,0xd3, + 0xb9,0xf4,0x7c,0x4d,0x1f,0x9b,0xaa,0x4f,0xd7,0x7e,0xee,0xa6,0x9e,0x5d,0x48,0xf5, + 0x17,0x7b,0x86,0xe0,0xbc,0x63,0x6a,0x37,0x98,0x92,0x17,0xf6,0xd,0xfb,0x79,0x42, + 0xc5,0xc6,0xa2,0x4,0xd,0xc4,0x84,0x5b,0x47,0x78,0x10,0x1,0x2f,0xcb,0xc1,0x9b, + 0x32,0x1c,0x2,0xe6,0x45,0xd6,0x1a,0x14,0xf3,0x9,0xfa,0x79,0xb,0xc4,0xa6,0x4f, + 0x9e,0x55,0x47,0x43,0x88,0xd4,0xb4,0x7d,0x2a,0xac,0x83,0xc8,0x9d,0xf6,0x85,0x6e, + 0x6d,0x63,0x75,0xda,0xb8,0x91,0x9c,0x17,0xf7,0x92,0x4a,0x11,0xf9,0x94,0x5f,0x95, + 0xd1,0x4c,0xb3,0x3b,0xb0,0x21,0x48,0xa0,0x74,0x6a,0xc0,0x18,0xc9,0x1f,0xde,0x2, + 0x78,0x3e,0x6,0x9e,0xf2,0x18,0x78,0xca,0xb,0xc0,0xb3,0x52,0xca,0xaa,0xaf,0xc0, + 0xb,0x4,0x26,0xc2,0xec,0x84,0x21,0xc4,0xbd,0xf2,0x4d,0xc0,0x97,0x63,0xf0,0xb1, + 0x8f,0xc1,0xc7,0xbe,0x0,0xbe,0x70,0x26,0x12,0x7a,0x82,0xcf,0x4a,0xd0,0xa5,0x3b, + 0x70,0x22,0x94,0x25,0x79,0x47,0x5,0x6c,0x89,0xe2,0x6f,0x1,0x3e,0xc7,0x31,0xf8, + 0x8,0xc7,0xe0,0x23,0x7c,0x31,0x7c,0xc,0x14,0xa6,0xce,0xfe,0x4,0x5f,0x25,0x5a, + 0x64,0x77,0x10,0xc,0x50,0x62,0x93,0x2e,0x0,0xa9,0x94,0xc9,0x5e,0x0,0xdf,0x72, + 0x41,0x68,0x4f,0x60,0x45,0x2b,0xee,0x54,0x1,0x49,0x98,0xf3,0x43,0xb3,0xe,0x17, + 0x8,0x7b,0xbb,0xef,0x74,0x1,0xad,0xb2,0x76,0x6d,0x8f,0x2,0x96,0x92,0xc6,0xd, + 0xb4,0x15,0x97,0xb,0x79,0x68,0x69,0x4e,0xbd,0x17,0xae,0x65,0x13,0xef,0x80,0x87, + 0xfc,0x4d,0x7e,0xba,0x98,0x7d,0x74,0xce,0xf3,0x2c,0xe3,0xf1,0xd6,0x53,0x7e,0xa0, + 0x9f,0xed,0x52,0xeb,0x40,0x52,0x3a,0xab,0xb,0x1d,0xef,0xe2,0x87,0x8f,0x3f,0xfa, + 0xcf,0x1f,0x2f,0x76,0x21,0x9e,0x35,0xab,0xb,0x1f,0xef,0xc2,0xad,0x7e,0xfe,0xe9, + 0xa7,0x8b,0x5d,0x18,0x62,0xcc,0xea,0x22,0xa7,0x1e,0x64,0xbb,0xff,0xfc,0xf3,0x85, + 0x2e,0x16,0x25,0x7b,0x98,0xbe,0xfb,0x3b,0x20,0xb8,0x31,0x77,0x7,0xb1,0x2,0x65, + 0xc7,0xea,0xe,0xa2,0x8,0x2e,0xc9,0xd1,0x72,0xfd,0x60,0x28,0x40,0xea,0xd,0xdb, + 0xc5,0x14,0x3c,0x6d,0x40,0x77,0xc7,0x93,0xfc,0x5d,0xc3,0xf7,0xa7,0xaa,0x2b,0x10, + 0xde,0x71,0x9a,0xf0,0xce,0x13,0x7c,0x91,0x1f,0xab,0x47,0x7a,0x19,0xe1,0x7d,0x82, + 0x8d,0x41,0x7f,0xcb,0x3f,0x21,0xbc,0xa6,0xcb,0xac,0x2e,0x26,0xd8,0xc8,0x1f,0xe3, + 0xf1,0xbf,0x8b,0x5d,0x44,0x65,0xce,0xea,0x22,0x17,0x77,0x51,0xb3,0x3a,0x88,0x89, + 0x55,0xe7,0xc7,0x9f,0x7e,0xfa,0x61,0x1,0xdd,0xd7,0x57,0x6d,0x6c,0x8d,0x82,0x4e, + 0xf6,0xc0,0x18,0xd2,0xdb,0x43,0x38,0x54,0x7a,0x44,0x23,0xcb,0x28,0xa,0x14,0xd5, + 0x46,0x46,0x1f,0x94,0xdb,0xfd,0x9a,0x98,0x42,0x1a,0xf9,0x98,0xc4,0x62,0x5,0x4f, + 0xb3,0x39,0x26,0xf8,0x66,0x92,0x3f,0x7c,0x5c,0xcc,0xe6,0x98,0xa0,0x5a,0xe2,0xf, + 0x32,0x39,0x4d,0xcd,0xb0,0x76,0x99,0xa6,0xdc,0x76,0x9a,0x66,0x78,0xd9,0xc4,0x2d, + 0xa7,0x29,0xf9,0x8d,0x4d,0x13,0x90,0x5b,0x3e,0x9b,0x2b,0x81,0x8,0xcb,0x71,0x93, + 0x4a,0x6d,0xe7,0x4a,0xb4,0xda,0xb9,0x42,0x3,0xe4,0x90,0xd1,0xb9,0x4a,0x9d,0x31, + 0x57,0x13,0xa4,0xd7,0x4f,0x21,0x77,0x9f,0x87,0x61,0x18,0x8b,0xe7,0x2e,0x57,0x9b, + 0xbb,0xc5,0x31,0x2f,0x15,0xd3,0xa8,0xd4,0x15,0x73,0x62,0x1a,0xe2,0x66,0x39,0x31, + 0x17,0x82,0x64,0x38,0x9d,0xa6,0xdb,0x10,0xed,0xb5,0xa7,0xea,0xe5,0x12,0x53,0xc3, + 0xf8,0xfe,0xe2,0xe5,0xc7,0xac,0xb9,0xa9,0x8b,0x2d,0xab,0x89,0x7b,0xa0,0x6e,0x93, + 0xb7,0xd7,0x90,0x68,0xab,0xbc,0xbd,0xcb,0x39,0x41,0x33,0x38,0x41,0xb,0x38,0xf1, + 0x59,0xef,0xe8,0xeb,0xb0,0xd5,0xa,0xd7,0x40,0xab,0x79,0x70,0xc5,0x12,0xe9,0x86, + 0xfb,0x20,0xde,0x10,0xae,0x9a,0x86,0x8b,0xe9,0xd,0x67,0xba,0x37,0x64,0x99,0x33, + 0x39,0x6c,0xd7,0xcf,0x74,0x6f,0xc8,0xb1,0x43,0xa6,0x7b,0x43,0xae,0xa5,0x99,0xee, + 0xb7,0x63,0xa2,0xd0,0xb,0xa2,0x3c,0x93,0xfe,0x42,0x7c,0xb4,0xa1,0xc8,0xcb,0x5e, + 0x95,0xb0,0x99,0xbd,0xd1,0xe5,0xde,0x6c,0x45,0x94,0x62,0xda,0x5e,0xa5,0x76,0x50, + 0xa6,0x31,0x54,0xda,0x41,0x3,0x72,0x2,0x2e,0x95,0x6b,0xe5,0x30,0x35,0x54,0xbb, + 0x5e,0xaa,0x57,0x43,0x8d,0x15,0x51,0x9a,0xe1,0x4,0x6c,0xda,0x9,0xcc,0xf7,0xf5, + 0xd3,0xbd,0x2d,0x90,0xe2,0x30,0xea,0x3f,0xdb,0x2d,0x50,0x4e,0xd3,0x28,0xf9,0x22, + 0x5,0xbd,0xa5,0x28,0xf9,0x2,0x5,0xbd,0x68,0x7a,0xdb,0x0,0xa5,0x98,0x46,0xe9, + 0x9a,0xda,0xb4,0x86,0xb1,0xd9,0xba,0xb4,0x7f,0xce,0xef,0xd0,0x78,0xef,0x29,0xe6, + 0x37,0x85,0x73,0xf0,0x75,0xe8,0xaa,0xfa,0xe4,0x61,0xc6,0x92,0x47,0x58,0x9,0xd2, + 0x2,0x5d,0xad,0x3b,0x30,0x83,0x69,0x52,0x55,0x77,0x28,0x6,0x73,0xae,0x68,0x5f, + 0x7e,0x38,0x61,0x41,0x24,0x83,0xf0,0xbb,0x82,0xaa,0x4c,0x8a,0x36,0xb,0x57,0x40, + 0x58,0x88,0xb7,0xc1,0xe5,0x25,0x50,0x55,0x4a,0xb2,0x63,0x8e,0xc,0xc3,0xb0,0x15, + 0xd1,0x2c,0x2c,0xb4,0xea,0x81,0x94,0x62,0x3a,0x4a,0x90,0x83,0x33,0xb3,0x91,0x75, + 0x1,0x16,0xee,0x1a,0xdc,0x11,0x62,0x41,0x1e,0x1f,0x93,0x64,0x12,0x88,0x93,0xda, + 0x4e,0x89,0x32,0x1a,0xb0,0xb6,0x49,0x1,0x33,0x5c,0x7c,0x63,0xdd,0x94,0xd,0xe9, + 0x5a,0xf1,0x14,0x79,0x58,0x95,0x59,0xd4,0x21,0x90,0xa2,0x4a,0x65,0x67,0x20,0x2c, + 0xac,0xd2,0xe7,0x72,0x68,0xf9,0x1b,0x6,0xa9,0x89,0xcc,0xc3,0x2c,0x72,0x89,0x4a, + 0x2c,0x2d,0x7f,0x9,0xd4,0xd8,0x72,0x90,0x46,0x2e,0x0,0x35,0x58,0x69,0x4b,0x38, + 0x43,0x5c,0x47,0x57,0x3,0xb3,0xd7,0x1,0xa7,0x43,0x60,0x9a,0x68,0x3,0x67,0xa, + 0x8,0x5b,0x70,0xb5,0x70,0x22,0x58,0x94,0x31,0x35,0x70,0x66,0x0,0x99,0x5a,0xee, + 0x2a,0x32,0x18,0x16,0x6b,0x66,0xcc,0xc9,0xb0,0x2a,0xed,0x8,0x28,0x24,0x94,0xb4, + 0x3b,0x20,0x98,0xba,0x9d,0x50,0x75,0x26,0x41,0xa5,0x2e,0x9,0x3c,0x5d,0xdd,0x3a, + 0xe,0xc8,0x52,0x8d,0xcd,0x12,0x6e,0x6d,0x89,0xad,0x25,0xfb,0x38,0xb6,0xb5,0x2a, + 0x55,0x8b,0x31,0xf9,0x4c,0x55,0x91,0xb2,0x9e,0xaa,0x98,0xe2,0xfd,0xd2,0x5a,0x80, + 0x12,0x5a,0xda,0xcb,0xbe,0xd,0xf1,0x54,0x28,0x8e,0x92,0x6,0xcf,0xa3,0xcf,0x73, + 0x44,0xd7,0x16,0x50,0x44,0x70,0x73,0x6c,0x7d,0x57,0x5f,0x19,0x8d,0x43,0x74,0xc7, + 0x98,0x78,0x9,0xa7,0x5,0x51,0xe1,0x7,0x62,0x48,0xa,0xb3,0x6c,0xc6,0x7f,0x4e, + 0x36,0xd3,0xd8,0x2a,0x3,0x5,0xa7,0x78,0x33,0xfc,0x73,0xdd,0x1d,0x53,0x2e,0x85, + 0xcb,0xf7,0x37,0xb1,0xe0,0x95,0xbd,0x77,0x31,0x8f,0x33,0x6e,0x4d,0x77,0xe3,0x94, + 0xcc,0x7f,0x84,0x67,0x39,0xb,0x7b,0x46,0xc7,0xa,0x84,0x89,0xd2,0x69,0x40,0x95, + 0xa4,0x6a,0x6b,0xbe,0x22,0x20,0xca,0x12,0xed,0xce,0x93,0x28,0x20,0x25,0xab,0xb5, + 0x5e,0x56,0x50,0xc3,0xaa,0x41,0xfc,0x38,0x6,0x88,0x19,0xd5,0x9e,0x9,0x60,0xc3, + 0xd7,0x74,0x35,0x1e,0xc2,0x84,0xd9,0x11,0x18,0x65,0x49,0x69,0x4f,0x5f,0x43,0x2c, + 0x63,0xe9,0x8,0xbc,0x38,0x35,0xb3,0xa3,0x4,0xf,0xf3,0xc8,0xee,0xd0,0x43,0xe3, + 0x66,0x6e,0x9b,0x65,0x81,0xdd,0xd6,0xdb,0xa8,0x4c,0xac,0x8d,0xeb,0x7a,0x9b,0x10, + 0xa4,0x67,0xde,0x26,0x22,0xb9,0x43,0xe0,0x44,0xaf,0x8e,0x0,0x5d,0x2d,0x2b,0xbe, + 0x72,0x35,0xc5,0xc0,0xec,0x34,0x58,0x6a,0x4d,0x81,0xa8,0x54,0xb2,0x1,0xb3,0x1c, + 0x2c,0x2a,0xcb,0x86,0xae,0x9b,0x8c,0x28,0xf7,0xcc,0xa8,0x1b,0x41,0x2b,0xbe,0x39, + 0xc2,0x8e,0x48,0x29,0x5f,0xb0,0xe4,0x30,0x56,0xad,0xe3,0xbb,0xcd,0x56,0xa8,0xd8, + 0xff,0xaf,0x81,0x92,0x49,0xf2,0xb7,0x93,0xb6,0x3c,0x42,0x56,0xcd,0x59,0x8c,0x2e, + 0x4f,0x8,0x53,0x86,0x10,0x53,0xc7,0x4,0xce,0x54,0x92,0xdd,0x41,0x8,0xd2,0x95, + 0x33,0xbe,0x25,0x80,0x6d,0x4d,0x80,0xb5,0xac,0x48,0xcf,0x8,0x7b,0xf6,0x1c,0xa6, + 0x12,0x60,0x45,0xa5,0xee,0xc0,0x2,0x26,0x96,0xa1,0x3b,0x40,0xbc,0xcf,0x6,0xdf, + 0xb0,0x7c,0xc1,0x76,0xd4,0x12,0x42,0x25,0x68,0x70,0x90,0x94,0xa0,0x44,0xd2,0x86, + 0x87,0x9e,0xeb,0xb6,0x9b,0x71,0x32,0xf0,0x4c,0x67,0xda,0xd1,0xe1,0x18,0x56,0xb6, + 0xe3,0x32,0x40,0xc,0x1c,0x88,0xad,0x64,0x82,0x3a,0x56,0x34,0xe3,0xba,0x54,0x97, + 0x4f,0x99,0x80,0xcd,0xc2,0xeb,0x15,0xbc,0x5b,0x28,0x82,0x63,0x83,0x27,0xc4,0x76, + 0xf0,0x5,0xd5,0xff,0xf3,0x66,0xf0,0xc5,0x50,0x21,0x98,0xd2,0xe,0x3e,0x40,0x45, + 0x55,0x7,0xb7,0xac,0x6,0x18,0x25,0xf9,0x1a,0xc6,0xee,0x3e,0x3e,0x76,0x6f,0x77, + 0x50,0x1,0xec,0x4a,0x4a,0xcd,0xd8,0x99,0x20,0x24,0xd5,0xa2,0x19,0xfb,0xb9,0x6e, + 0x73,0x7b,0x85,0x20,0x16,0xec,0xf5,0xea,0x7,0x2f,0x12,0x33,0x6d,0x7e,0x4b,0x88, + 0xa6,0x5f,0xbd,0x20,0x27,0x60,0xeb,0xf0,0xc3,0xae,0x58,0x25,0xce,0xc6,0x6a,0xfe, + 0x98,0xe8,0xc3,0x56,0xd0,0xee,0x6a,0x54,0x84,0x6f,0x82,0x57,0x11,0xbb,0xf3,0xca, + 0x88,0x78,0x55,0x5e,0x85,0x81,0x9e,0x74,0x18,0xde,0x23,0xb5,0x44,0x6a,0x5d,0xb8, + 0xac,0x40,0xa8,0x37,0x44,0x60,0x7b,0xa7,0x80,0xe9,0xd,0xb0,0xe1,0xbd,0xc6,0xb8, + 0x41,0xfa,0xaa,0x80,0x1,0xdb,0xc3,0x81,0x2f,0xe0,0x15,0x6,0xa6,0xa9,0xe4,0xd, + 0x5e,0x47,0xfb,0xd,0xcf,0x6,0x2e,0x67,0x50,0xf7,0x92,0x6c,0xe0,0xd2,0x80,0xe0, + 0x4a,0xa3,0x7d,0xe1,0xca,0xeb,0xc0,0xe5,0x2,0x14,0x8a,0x5a,0x3,0xb1,0x3e,0x50, + 0x94,0xf4,0x6,0xae,0xa7,0xaa,0xdc,0xc0,0xe5,0x4,0x19,0x54,0xfb,0x92,0x8b,0x7, + 0xaf,0xff,0x13,0x14,0x3a,0x5b,0x3b,0x26,0x1,0x23,0x14,0x69,0x7,0x25,0xa,0x19, + 0x46,0x18,0xcd,0xa0,0xda,0xba,0xf3,0x27,0xe1,0x9f,0xff,0xfb,0xfb,0xc3,0xdd,0xe7, + 0xff,0x7c,0xf8,0xd7,0x7f,0xfd,0xf6,0x78,0x95,0x8f,0x43,0xe9,0x47,0x3a,0x33,0x57, + 0x11,0x82,0x74,0xf8,0x61,0x5f,0x18,0x57,0xb5,0x51,0x73,0x88,0x7e,0x44,0xa3,0xe0, + 0x6c,0x34,0x6f,0xbb,0xee,0x3d,0x78,0x5,0xdb,0x6d,0x89,0xf1,0x4d,0xc2,0x28,0x78, + 0x63,0xe3,0x1a,0x30,0xf2,0x8d,0x8d,0x6b,0xc0,0xa8,0x37,0x18,0xff,0x7a,0xc0,0x83, + 0xa1,0xec,0x7c,0x1e,0x3a,0x73,0x7e,0xca,0x81,0xdc,0x8d,0x79,0xe5,0xf4,0x9d,0x46, + 0x4a,0x13,0x39,0xb5,0xfe,0x34,0xb,0xa5,0x59,0xfc,0x59,0x16,0xca,0x3e,0xed,0x55, + 0x9b,0x5a,0x2b,0x57,0x48,0xad,0xb5,0x3c,0x89,0xd6,0xc1,0x15,0x8c,0x90,0x83,0x3b, + 0x42,0x38,0x25,0xb,0x75,0x3,0x33,0xb6,0xcc,0x53,0x51,0x8a,0xd9,0x63,0xa1,0x83, + 0x19,0x6a,0x76,0x44,0x40,0x21,0x8c,0xf5,0x58,0x16,0xc0,0x45,0xc6,0xdc,0x17,0xd6, + 0x53,0xfa,0xd1,0x54,0x60,0x3f,0xb6,0xc8,0x9,0x79,0x6a,0x32,0xd,0x92,0x29,0xd4, + 0x3b,0x41,0x50,0x9,0xa2,0x6a,0xa,0x19,0xca,0x8b,0x84,0x9e,0xff,0x5a,0x14,0x4c, + 0xe8,0xd4,0xa6,0x25,0x24,0x73,0x4,0x77,0x8e,0x6d,0x1f,0x69,0xa0,0xfe,0x55,0x2f, + 0x19,0x80,0x82,0xe9,0xd5,0x14,0x16,0x98,0x73,0x66,0xd3,0x4b,0x11,0x1c,0xfb,0x68, + 0x46,0x83,0x9,0x58,0xf2,0x7,0x1a,0xc1,0xa5,0x28,0x1d,0x61,0x81,0x9b,0x31,0x3f, + 0x16,0xa,0x50,0x85,0x14,0x35,0x85,0x4,0x2e,0xc6,0x71,0x6e,0xe0,0xd8,0xae,0xfc, + 0xc1,0xd0,0x64,0x70,0xfb,0x82,0x12,0x21,0x78,0x45,0xc4,0xa0,0xb7,0x2,0x12,0x73, + 0xe3,0x6a,0x1a,0x6,0x47,0x71,0xc5,0xa6,0xd0,0x0,0x95,0x8c,0xa9,0x9a,0xde,0x88, + 0xa0,0x38,0x98,0xf3,0x34,0xb0,0xbe,0x4d,0x12,0xd0,0x4c,0xaf,0x3c,0x3,0x70,0x2e, + 0x3b,0x23,0x75,0xfe,0xe9,0x19,0xd3,0xfe,0x3a,0xe5,0x89,0x1f,0x8e,0x4d,0xfb,0xa7, + 0xe9,0x69,0x7b,0x38,0x4f,0xe4,0xb9,0xec,0x3c,0xe3,0xe7,0x1f,0x3f,0x31,0xe3,0x97, + 0x66,0x18,0x4f,0x1c,0xfa,0xd8,0x8e,0x18,0x44,0x35,0xc2,0x1b,0x6c,0x9e,0xa,0x1b, + 0x1c,0x4f,0xbf,0x1f,0x60,0x2e,0x1,0xa2,0x27,0x6c,0xce,0x13,0xd4,0xf6,0xc5,0x20, + 0x55,0xa2,0x75,0xa4,0xb6,0x21,0x4b,0x1d,0x27,0x58,0xc5,0x8c,0x8e,0x7d,0x85,0x88, + 0x51,0x7d,0x6d,0x2b,0xff,0xfe,0xee,0xd1,0x80,0x44,0x40,0x4e,0xd4,0xc,0x5,0xb2, + 0x2f,0x8d,0x8a,0x2,0x86,0x52,0x52,0x17,0x2,0x52,0x1e,0xe9,0x8f,0x85,0x6,0x58, + 0x49,0x96,0x5d,0x1c,0x71,0x52,0x7d,0x76,0xa5,0xe7,0xb2,0xfe,0xe7,0x1,0x2c,0x3d, + 0x7e,0xcf,0x6b,0x26,0xb0,0x65,0xba,0x34,0x4d,0x16,0x20,0x21,0x3f,0xef,0xfd,0x97, + 0x4b,0xd7,0x74,0x39,0x3d,0x9c,0x91,0xca,0xdc,0xf4,0xb3,0xed,0xbf,0x7f,0x8e,0xe4, + 0xa3,0xdd,0xe1,0xf1,0x1d,0xa9,0xad,0xe8,0xf5,0x5b,0xaf,0xb2,0x99,0x87,0x5b,0xd9, + 0x5d,0x45,0xeb,0xae,0x96,0x4e,0xeb,0x65,0x9a,0xd4,0xcd,0x71,0xdc,0x1c,0xc7,0xcd, + 0x71,0x7c,0xeb,0x8e,0x63,0x72,0xe7,0xeb,0xf2,0x5a,0x77,0xbe,0xaf,0xca,0x5d,0x19, + 0xbd,0x3d,0x77,0xb5,0x69,0x4,0x94,0x85,0x8d,0xea,0xc,0x9a,0x4c,0x29,0x22,0xde, + 0xcf,0xd0,0x5a,0x1c,0x15,0x66,0x6c,0x35,0x1c,0xf7,0x50,0x5a,0xec,0x11,0x5e,0x5b, + 0x17,0xcd,0xc2,0xae,0xa6,0x8b,0x66,0x11,0x57,0xd4,0x45,0xb3,0xa8,0xeb,0xc9,0xcb, + 0x89,0xfb,0x8b,0xde,0x74,0xcf,0xc8,0x58,0xa,0xa3,0x1c,0xb5,0x1f,0x17,0xf4,0xb6, + 0x4,0x46,0xd5,0xe0,0xb5,0xde,0x4e,0x16,0xd5,0xbc,0x9a,0x1e,0xa7,0x46,0x5d,0x4f, + 0x8f,0x53,0xd4,0xf8,0x8a,0x64,0xa3,0xb8,0x96,0xcd,0xaa,0xa6,0x5c,0xd1,0x66,0x85, + 0x69,0x35,0xb2,0x71,0xe0,0xb5,0x64,0x4d,0x85,0x83,0xaf,0x27,0x6b,0x2a,0x1c,0xba, + 0x1e,0x4a,0xe8,0x57,0x92,0x35,0x15,0xc6,0x19,0x89,0x30,0x85,0xc9,0xdf,0xb4,0xac, + 0xa9,0x30,0xe1,0x6a,0xb3,0x43,0xa1,0xd7,0xd2,0xe3,0x14,0xa,0x9f,0x31,0x3d,0x94, + 0xfc,0x1e,0xf4,0x38,0x85,0x49,0xaf,0xa7,0x34,0x29,0x14,0x2b,0xca,0x35,0x8b,0x5d, + 0x4d,0x8f,0x33,0x25,0xae,0x87,0x92,0xa6,0xd4,0x8,0x4a,0xfb,0xc8,0x13,0x9,0x87, + 0x7f,0xb3,0x12,0x7d,0xc2,0x69,0xdf,0xb2,0x44,0x9f,0xd1,0xb4,0x44,0x9f,0xd1,0x4d, + 0xa2,0xef,0x26,0xd1,0xf7,0x46,0x24,0xfa,0x5a,0x9c,0x6f,0x12,0x7d,0xb3,0xd3,0x11, + 0x8,0xd6,0x7b,0x96,0xe8,0x13,0x8a,0xd1,0xd1,0xb3,0x7c,0xcb,0xea,0x72,0x46,0x75, + 0x53,0x97,0xfb,0x53,0x2f,0x29,0xe2,0x71,0x53,0x97,0xbb,0xa9,0xcb,0x7d,0xbd,0x37, + 0x12,0xf1,0x7a,0x4d,0xea,0x72,0xc6,0xb2,0x99,0xba,0xdc,0x4d,0x63,0xe9,0x9,0xe5, + 0xa4,0xc9,0x14,0x94,0xbe,0x9d,0xc0,0x52,0x6e,0xac,0xae,0x44,0xb8,0xb5,0xb6,0x92, + 0x71,0x6d,0xad,0xad,0x64,0x42,0x37,0x6d,0xa5,0x97,0x13,0xfd,0xd7,0xdf,0x7f,0xfb, + 0xc7,0xbf,0xfe,0x4e,0x7f,0x9f,0xa2,0x37,0xe3,0x86,0x7a,0x4a,0x26,0xb6,0xb1,0x9e, + 0x12,0xeb,0xc6,0x6a,0x4a,0xec,0x9b,0x6a,0x29,0x71,0xde,0x94,0x94,0x4e,0x12,0x3d, + 0x3,0x7f,0xcc,0x1a,0x34,0x83,0xbe,0xc2,0xdb,0x29,0xf3,0x88,0xde,0xe4,0x93,0x2e, + 0xce,0x8d,0xb2,0xe6,0x9c,0xb9,0xc9,0xd,0x55,0x93,0xf0,0xa6,0x99,0xd4,0x6a,0x26, + 0xb5,0xc6,0x93,0x35,0x63,0x82,0x54,0xaf,0x28,0x95,0xe4,0xbb,0xb,0x25,0x99,0xd6, + 0x24,0x22,0x66,0x74,0x3d,0xa1,0x24,0x35,0x93,0x57,0x26,0x94,0xa4,0x91,0xd3,0x20, + 0x45,0xd1,0x1b,0x16,0x4a,0xd2,0xa8,0x39,0x42,0x8d,0x51,0xb6,0x83,0x50,0x92,0x46, + 0xc5,0x6b,0x13,0x4a,0xa,0x71,0x9d,0xe2,0x44,0x88,0xfb,0xe,0x42,0x49,0x21,0x9e, + 0xaf,0x4d,0x28,0x49,0xd0,0x72,0xd2,0x35,0xa2,0xe3,0x1b,0x16,0x4a,0x12,0xf4,0x39, + 0xcf,0xdf,0x31,0xf0,0xfa,0x42,0x49,0x82,0x9e,0x3b,0x8,0x25,0x9,0x3a,0xbf,0x3a, + 0xa1,0xa4,0x64,0xbf,0x9a,0x50,0x52,0x72,0x5e,0x51,0x28,0x29,0x65,0xbd,0xc0,0x15, + 0x67,0x99,0xb4,0x57,0x67,0xdb,0x41,0x28,0x49,0x9c,0xe3,0xb5,0x9,0x25,0xa9,0x85, + 0x5d,0x4b,0x28,0x49,0x2d,0xe2,0x7a,0x42,0x49,0x6a,0x51,0x6b,0xa1,0xc4,0xc5,0x3c, + 0x45,0x2a,0x2e,0xd6,0xeb,0x9,0x25,0x71,0xb1,0xbf,0x3a,0xa1,0x24,0x95,0x69,0x9, + 0x46,0x15,0xbb,0xa2,0x50,0x92,0x4a,0xbc,0x36,0xa1,0x24,0xb5,0x8c,0xe9,0x1b,0x97, + 0xbc,0xa2,0x50,0x92,0x5a,0x6d,0x2f,0x94,0xb4,0x57,0x4a,0x1a,0xb5,0xaa,0x5b,0xda, + 0xa8,0xd9,0x59,0x2a,0xd4,0xd1,0x6f,0x59,0x2a,0xd6,0x80,0xb1,0x6e,0x30,0xae,0x0, + 0x23,0xd1,0x7b,0x81,0x71,0xd5,0xc0,0x7,0x33,0xb9,0xa5,0x0,0xb9,0xbd,0xc9,0x7d, + 0x7b,0x93,0xfb,0xf6,0x26,0xf7,0xbb,0x4d,0x1,0x22,0x66,0xf6,0x1e,0x52,0x80,0x88, + 0x59,0x7c,0xdb,0x29,0x40,0xc4,0xac,0x36,0x4b,0x1,0x22,0xe6,0x37,0xc7,0x71,0x73, + 0x1c,0x37,0xc7,0xf1,0xcd,0x3b,0x8e,0x5b,0xa,0x90,0x75,0xdc,0x95,0xcb,0x2d,0x5, + 0xc8,0xb,0x52,0x80,0x88,0xe5,0xff,0xb3,0x77,0xb5,0xbd,0x8d,0x1c,0xc9,0xf9,0xaf, + 0x18,0xfe,0x94,0x5,0xc8,0x72,0xbd,0xbf,0x38,0x9f,0xc,0xfb,0xc,0x1c,0x70,0x87, + 0x4,0xf9,0x94,0x6f,0xb,0xad,0x56,0x3a,0x6f,0xe2,0xd8,0xce,0x9d,0xf,0xc9,0xe5, + 0xd7,0x47,0x23,0xad,0x56,0xea,0x11,0x3d,0xd3,0x9a,0x1d,0xe,0x45,0xef,0xae,0x60, + 0x8b,0xa4,0x8a,0x6c,0xd6,0xd3,0x4f,0x57,0x75,0x57,0x57,0x77,0xd1,0xe7,0x2b,0x40, + 0x66,0x48,0x40,0x92,0xe0,0x95,0xc4,0x3b,0xa,0x40,0xa9,0x14,0x6e,0x93,0x2b,0x9, + 0xc7,0x75,0xdb,0x1a,0x56,0x98,0x37,0xd4,0x21,0xc4,0x8f,0x4f,0x17,0x16,0xa4,0xc3, + 0xdd,0x3f,0xea,0x5f,0x2f,0xff,0x72,0x8e,0x47,0x73,0xe8,0xc,0x2a,0xe6,0xa8,0x6, + 0x2a,0x23,0x8c,0x2,0xb,0xa9,0x8d,0x96,0x51,0x10,0x2b,0xa4,0x45,0xb3,0x79,0x5f, + 0x20,0x95,0x6d,0x15,0x3d,0x83,0xc7,0xc5,0x73,0xbd,0xc2,0xa5,0x55,0xb5,0xda,0xe, + 0x65,0xbf,0x13,0xf2,0x3e,0xa3,0x92,0x4,0x82,0x2c,0x3e,0x1c,0xfa,0x5a,0x3,0x20, + 0xed,0x3,0xc8,0x71,0x15,0x80,0xca,0x1,0x91,0x54,0x46,0x7c,0x20,0xf0,0x24,0x1c, + 0xf1,0x9e,0x1b,0x98,0xfc,0x3d,0x94,0x7c,0x1a,0x98,0x78,0x53,0x98,0x8,0x13,0x90, + 0xb0,0x3,0x25,0x47,0x30,0x29,0x41,0x69,0xc0,0x6a,0x44,0xbb,0xb0,0x22,0x5e,0xb, + 0x29,0xec,0x43,0xa,0x79,0x16,0xa9,0x39,0xcf,0x36,0xf8,0x5,0x6c,0x7d,0x87,0xb7, + 0x1e,0x46,0xb1,0xf1,0x43,0xa9,0xad,0xb7,0x52,0xed,0x3,0x88,0x54,0x97,0x81,0xd3, + 0x7e,0x6f,0x65,0xcd,0xc3,0xe0,0xfc,0xfb,0x9f,0xff,0xf4,0xc7,0xef,0x5e,0xeb,0xeb, + 0x75,0xc8,0x53,0xc0,0x49,0xee,0x2d,0x7b,0x12,0xdb,0x40,0xae,0x81,0x88,0x9b,0x8e, + 0xcc,0xae,0x40,0x28,0xbb,0x64,0x67,0x9c,0x78,0x39,0x4d,0xd4,0x7b,0x7,0xd4,0x2a, + 0x34,0xd1,0x86,0x26,0x84,0xd8,0xf2,0xc4,0x5f,0x1a,0x4f,0xfa,0xac,0x32,0xa,0x7e, + 0x42,0x8c,0xd9,0xd8,0x4,0x27,0x18,0xca,0xe8,0x50,0x71,0x38,0x70,0xaa,0x4a,0x36, + 0xc8,0xdc,0x8b,0xb6,0xfe,0x4a,0x41,0x94,0xaa,0x68,0x8a,0x3a,0x37,0xdf,0xee,0xc7, + 0x61,0x63,0x15,0xa5,0x24,0x65,0x87,0x50,0xce,0x84,0x25,0x6b,0x18,0x62,0xed,0x35, + 0xc4,0xf1,0xe9,0x70,0x48,0xb2,0xaf,0x32,0x27,0xf1,0x27,0x84,0x49,0xb7,0x25,0xfe, + 0x84,0x30,0xd1,0x6d,0x31,0x41,0x85,0x44,0x1f,0xa5,0x4a,0xec,0x9d,0x41,0x59,0xd3, + 0x47,0x69,0x15,0xe,0x81,0xa9,0x23,0x73,0xb3,0x27,0x81,0xb0,0x10,0x91,0x65,0xae, + 0x6a,0x39,0x54,0xbc,0xc5,0x94,0x66,0xfb,0x25,0x32,0xb,0x6e,0xb2,0x44,0xee,0xff, + 0x92,0xcb,0x17,0xd2,0x93,0x7a,0x72,0xf6,0x2e,0x91,0x37,0xd2,0xf3,0xf4,0xde,0x77, + 0x1a,0x2f,0x3f,0x82,0x5f,0xed,0xbf,0x9c,0xe,0x6b,0xc1,0xe5,0x50,0xdc,0x42,0x66, + 0x1,0xd6,0x20,0xcb,0xd9,0xa0,0x3f,0xba,0xc3,0x71,0x49,0x3a,0x5e,0x5e,0xe4,0x38, + 0x1d,0xef,0xe0,0x1d,0x6d,0x44,0x87,0xb3,0xf4,0xfa,0xd3,0xf1,0xfe,0xe7,0x87,0x9b, + 0xd8,0x73,0xdb,0x16,0x1e,0x6e,0x4a,0xb6,0xbb,0x2d,0x14,0x5,0x3f,0xf2,0xb6,0x50, + 0x84,0x88,0x42,0x76,0xe6,0xde,0xbb,0x4,0x51,0x78,0xc3,0x1b,0x17,0x51,0xf4,0x79, + 0x70,0x36,0x4,0x6b,0xd8,0x37,0xc1,0xce,0x96,0xbd,0xcb,0xcd,0xb9,0xf0,0x7c,0xea, + 0xa9,0x70,0xd6,0x34,0xaf,0xbf,0xff,0xfe,0xf,0xdf,0x20,0x2e,0x3c,0x84,0xcb,0x35, + 0x9b,0x56,0x7a,0xd1,0x79,0x90,0x60,0xb5,0x84,0x5c,0x44,0xeb,0xa7,0xe9,0x9b,0x1f, + 0x2f,0x2e,0xff,0x73,0xd9,0x35,0xa4,0xda,0x5c,0x91,0xb0,0xa8,0x29,0xec,0x24,0xa6, + 0x22,0xd6,0x19,0x11,0x53,0x83,0x7c,0xfe,0x9c,0x22,0xe5,0x12,0x83,0xbb,0x8c,0xa8, + 0x1a,0x8c,0xf3,0x6,0xb7,0xc7,0x6c,0x9c,0x57,0x37,0x60,0x47,0x37,0xf0,0x3c,0x30, + 0x6b,0x75,0x2,0xe9,0x29,0x3a,0x61,0xa,0x21,0xd4,0x17,0x3f,0xf3,0x68,0x2d,0x74, + 0xb,0x28,0xfa,0xa2,0x99,0x46,0xfb,0xe9,0xdf,0x7e,0xfb,0x5b,0x9f,0x9e,0xeb,0x4e, + 0x2e,0xa6,0x16,0x55,0xf5,0x7a,0x92,0xc9,0xc8,0xb,0xfa,0xa9,0x14,0xe4,0xc9,0xcc, + 0x1a,0x19,0x44,0x35,0xda,0x95,0xba,0x83,0x89,0x79,0xd3,0x6b,0xa5,0x60,0xe2,0x3, + 0xbe,0xab,0xeb,0x4a,0x38,0xa3,0x2c,0x2e,0x51,0xd6,0x46,0x7a,0xca,0x13,0x15,0xd3, + 0xed,0x89,0x8a,0xe9,0x76,0x14,0x15,0x69,0x52,0x45,0xaf,0x3c,0x82,0x8a,0x1,0x5c, + 0xd2,0x6a,0x68,0xc3,0x4b,0x47,0x51,0x90,0x67,0x14,0xf4,0x25,0xa,0xfa,0x48,0x41, + 0x6d,0x15,0x4c,0x40,0x44,0x6e,0x35,0xf4,0xdb,0xd7,0xfa,0x13,0x26,0xfa,0x55,0x8c, + 0xd7,0x53,0xf1,0x7c,0xef,0x2d,0x78,0xdf,0x6c,0x3b,0x10,0x72,0xb3,0x2b,0x41,0xc4, + 0x20,0xa8,0xf1,0x38,0x2f,0x82,0xa4,0xc0,0x2c,0xed,0x18,0x3a,0xe5,0x8c,0x4e,0x7c, + 0x64,0x9d,0xea,0x41,0xa9,0x9b,0xf5,0xfa,0xd5,0xbb,0xbf,0xfc,0xf4,0x2f,0x6f,0xfe, + 0xe3,0xe6,0xbb,0x7f,0x10,0xbd,0xfa,0xef,0xbf,0xbf,0xfb,0xeb,0xd5,0xdb,0x3f,0xfc, + 0xef,0xaf,0x57,0x3f,0xfd,0xed,0xdd,0xcf,0x3f,0xdd,0x34,0xfd,0xc3,0xaf,0xbf,0xfe, + 0xf2,0xf5,0x57,0x5f,0xfd,0xf4,0x37,0xb8,0x78,0xfb,0xf3,0x9b,0x2b,0xb8,0xfc,0xf9, + 0xbf,0xbe,0xfa,0x66,0x78,0xf4,0xc7,0x1f,0x7f,0xfc,0xfb,0x4d,0xea,0xd1,0xc5,0xaf, + 0x3f,0xff,0xf5,0x2b,0x42,0xc0,0xaf,0x1e,0x34,0x7f,0xec,0x54,0xfe,0xf1,0xf8,0xc9, + 0x6d,0x3a,0xd4,0x63,0xa7,0xf0,0xc3,0xcd,0x97,0xf8,0x61,0x70,0x13,0xd,0x30,0xcd, + 0x97,0x53,0xaf,0x47,0x3e,0xec,0xdd,0xd7,0xbf,0xfc,0xe5,0xfa,0xdf,0xae,0xae,0xef, + 0xc5,0x47,0x38,0xdf,0x7e,0xc7,0xd7,0xef,0x1e,0xbe,0xda,0xeb,0x1b,0xf1,0x47,0x7e, + 0xa4,0xf9,0xe4,0xd5,0x87,0xe5,0xcc,0xa8,0xcc,0xdc,0xc0,0xdd,0x1f,0xf3,0x84,0xd, + 0xb,0xd6,0xb4,0x86,0x4b,0xec,0xce,0x3e,0x14,0x92,0x31,0x30,0x46,0xf6,0x7,0x21, + 0x59,0x62,0x14,0xc2,0xa5,0x4,0x62,0xaa,0xd6,0x99,0x3c,0x8,0x9f,0x56,0x7d,0xfd, + 0x3d,0xab,0x4f,0x56,0x1e,0xd3,0xfa,0xf3,0x12,0x82,0x7,0x4,0x55,0xe8,0x28,0x26, + 0xf,0x99,0xd4,0xba,0xa0,0x56,0xf4,0x41,0x79,0x41,0x50,0x25,0x4a,0xeb,0x3d,0x74, + 0xa9,0x81,0x4a,0x7e,0xb5,0x1f,0xf2,0x33,0x4e,0xcb,0x17,0x3c,0x3d,0x5f,0x5a,0x2f, + 0xb7,0x3a,0x5f,0x26,0x1d,0x5e,0x64,0xe3,0xca,0xd8,0xa1,0x4c,0xc7,0xe,0x4d,0x8, + 0x50,0xd,0xed,0x41,0x83,0xeb,0x83,0xb2,0xd7,0xad,0xec,0x83,0xf7,0x4b,0x28,0x4f, + 0x32,0xe9,0x4a,0x74,0xc,0xd3,0x8a,0xdc,0xed,0x19,0xca,0x4a,0x92,0x86,0xe3,0xb9, + 0xb8,0x43,0x28,0xb4,0x8,0xde,0x5,0xb8,0x21,0x87,0xed,0x8,0x21,0x23,0x71,0x41, + 0xc2,0xe3,0x56,0xde,0x26,0xfc,0x84,0xde,0x66,0xf2,0x8b,0xe1,0x39,0xaf,0x7a,0x3d, + 0xf8,0x88,0xab,0x5e,0xf,0xdd,0xfe,0xd4,0x3b,0xa5,0x7b,0x4e,0x72,0xc9,0x73,0x89, + 0xa1,0x92,0x2,0x13,0x1a,0xed,0xa6,0xb5,0x6,0xea,0x41,0xa8,0xe9,0x3e,0x23,0xa0, + 0xc,0x3b,0xc1,0xa8,0xf1,0xcd,0x47,0xcd,0xf6,0x9d,0xa9,0xa7,0xef,0xcc,0xed,0x95, + 0xe6,0x53,0x28,0xdd,0x39,0x25,0xf1,0x2,0x53,0x92,0xda,0xed,0xd5,0x80,0x32,0x2b, + 0x5e,0x6d,0xbe,0xfc,0xe4,0x4c,0x59,0xad,0x3c,0x0,0x1,0x97,0x67,0xda,0xdd,0x81, + 0x1,0x2,0x95,0x52,0x8c,0x1b,0xf5,0x4,0xc4,0xdd,0x38,0x77,0x7b,0x4b,0x50,0x43, + 0x16,0x79,0xd5,0x2e,0x67,0x39,0x41,0xc2,0x49,0xda,0x45,0xad,0x32,0xb8,0xfa,0xe1, + 0x45,0x6d,0x33,0x2f,0x78,0xfa,0xfe,0xeb,0x47,0xef,0xdf,0x3c,0x50,0xc1,0x99,0xbe, + 0x64,0x51,0xcf,0x4,0xa4,0xe8,0xdc,0xa2,0x20,0x6,0xa1,0xcc,0x87,0x50,0x18,0x81, + 0x30,0x7e,0xfb,0x75,0xf3,0xf6,0xbe,0x53,0x16,0x16,0x10,0xe5,0x6e,0x3b,0x1,0x31, + 0xe5,0x8a,0x78,0x75,0xd2,0x31,0x1c,0xd8,0xe9,0x85,0x16,0xf,0xba,0x33,0xb2,0x78, + 0xc2,0x39,0x59,0xeb,0x44,0xed,0x65,0x4e,0xff,0x44,0xd5,0xcf,0x78,0xfa,0x27,0xaa, + 0x79,0xbc,0xe9,0x9f,0xa8,0x4d,0xdc,0x5d,0x37,0x93,0x91,0x6d,0xde,0x8c,0xf6,0xf0, + 0xd6,0x24,0x44,0x6b,0x4b,0xc2,0x5b,0x83,0x13,0xdc,0xb3,0x3c,0xda,0xed,0x9,0xa, + 0x25,0xc5,0x72,0x47,0xe0,0xe8,0xce,0x2a,0x83,0x85,0x47,0x20,0x64,0x67,0xdf,0x89, + 0x16,0x50,0x6,0xe9,0xa,0x49,0xdb,0xa1,0xb6,0x42,0x26,0xdc,0xa7,0x6,0x9b,0x84, + 0xd1,0x6a,0xb0,0xf5,0x17,0x60,0xad,0x67,0x5d,0xfd,0xf7,0xf6,0xfa,0xda,0x65,0x71, + 0x99,0xda,0xda,0xf0,0xea,0x3f,0xe1,0xda,0xb0,0x0,0x37,0x3b,0x6e,0x75,0x83,0xa2, + 0xb0,0xf3,0x96,0x30,0xba,0x2e,0x31,0x6d,0x87,0x3,0x47,0x8a,0xcd,0x30,0xd4,0x6c, + 0x6f,0x43,0x47,0x60,0xd2,0x7c,0x3c,0x4d,0x32,0x3,0xd2,0xec,0x8a,0x0,0x55,0xd4, + 0xfd,0x39,0xd7,0xa,0xb6,0x1d,0x89,0x0,0x22,0xf2,0x8e,0x11,0x32,0x9c,0x3b,0x47, + 0xe8,0x47,0x7a,0xa0,0xe0,0xef,0x48,0xbe,0x3b,0x4,0x24,0x66,0x47,0x0,0x2,0x41, + 0xcc,0x64,0xba,0x9,0xb1,0x6f,0xbe,0xa5,0x6f,0xf,0x37,0xa1,0x3d,0x4d,0x38,0x95, + 0x4e,0x37,0x81,0xdf,0x97,0x61,0x1e,0x6e,0xc2,0x7b,0x9a,0x8,0x8b,0xb9,0x26,0x30, + 0x7f,0xc3,0x99,0x62,0x7e,0xbc,0xab,0x46,0x8c,0xdf,0x98,0x8,0x60,0xe1,0x6c,0xbd, + 0x80,0xd5,0xd6,0x18,0x3a,0xb5,0xc6,0x10,0xe7,0xfa,0x72,0xdd,0x4a,0x11,0x4,0x24, + 0x29,0xc5,0xb5,0xdb,0x93,0xf8,0xcd,0xff,0x8c,0xc1,0x98,0x45,0xdb,0xc5,0x5a,0xeb, + 0x1d,0xf,0x3b,0xcf,0xd6,0xb7,0x36,0x8e,0xf7,0x63,0x4f,0x81,0xf,0x5f,0x4c,0x19, + 0x10,0x55,0xf3,0xd5,0x97,0xeb,0xcc,0xaa,0x6b,0x2a,0xb5,0x9b,0x99,0x97,0x4c,0x5e, + 0x29,0xa,0x28,0x98,0x75,0x54,0x66,0x50,0x20,0x2c,0x7d,0x94,0x7f,0x1e,0x2,0x95, + 0x18,0xd4,0xcc,0x67,0xdd,0x40,0x35,0x89,0x86,0x91,0xff,0xf2,0x52,0xbd,0xd8,0xc2, + 0x66,0x6f,0xb4,0xb5,0x88,0xe3,0xa5,0x82,0xb2,0x45,0x6d,0x92,0xa,0xda,0x8e,0xea, + 0x7e,0xae,0xa2,0x0,0x59,0xec,0xf6,0xa2,0x50,0x56,0xaf,0xa6,0x66,0xbd,0x18,0xd4, + 0xc,0x32,0x23,0xa8,0x2a,0x6b,0x3d,0x5c,0x35,0x31,0x0,0x22,0x40,0x44,0x5f,0xc9, + 0x31,0x1,0x59,0x7f,0x41,0x8e,0xb6,0x1b,0x94,0xf5,0xa3,0x4d,0x2e,0xb9,0x5c,0xb8, + 0x77,0xa4,0xba,0x33,0xaf,0x55,0xff,0x43,0x54,0xe7,0xef,0xf9,0x56,0x5d,0x70,0xd9, + 0x70,0xe8,0xf0,0xb3,0xe0,0xce,0x78,0xd5,0x15,0xae,0xf7,0x6e,0x5a,0xeb,0x24,0x74, + 0x1b,0x36,0x4b,0x70,0xe1,0x94,0xd6,0xac,0x4b,0x42,0x91,0xa2,0xf7,0x6,0x92,0x78, + 0xa7,0xaf,0x26,0x63,0x56,0x97,0x7,0xdb,0xba,0x9c,0x68,0x6b,0xc1,0xb2,0x48,0x51, + 0x26,0xc3,0x78,0xcb,0x57,0x93,0x2d,0x64,0xa,0x5a,0x16,0xd1,0x42,0x46,0xf4,0xb1, + 0x60,0x55,0x8b,0xd6,0x7d,0x33,0x2d,0x5a,0x44,0x6b,0xe0,0x44,0x53,0x38,0xe5,0x31, + 0x96,0x8f,0x5a,0xc5,0xe7,0xbc,0x29,0x58,0xb5,0xc0,0xee,0x75,0x78,0xa8,0xdf,0x68, + 0xcc,0x57,0xbb,0x65,0x5d,0x7c,0xb6,0x20,0x89,0x49,0x2c,0x28,0x48,0x82,0x56,0x38, + 0x61,0x8a,0xa6,0x5a,0x5b,0x50,0x2c,0xe3,0xd2,0xaf,0xfc,0x69,0x6b,0x67,0x94,0x2d, + 0x6f,0x4a,0x3c,0xdb,0x11,0x4a,0x3a,0x6b,0xff,0x49,0x57,0xaa,0xca,0x65,0x4a,0x3e, + 0xd3,0x5a,0xe,0x94,0xdd,0x32,0x63,0xde,0xce,0x3b,0x78,0x6c,0x6b,0x4,0x8f,0x2f, + 0xdd,0x19,0xb1,0x63,0x7a,0x64,0x6a,0xb8,0x8,0xf8,0x76,0xc5,0x31,0xbd,0x3a,0x69, + 0x57,0x32,0xd3,0xab,0x9e,0xe5,0x47,0xcd,0xd4,0xb2,0x77,0xf5,0x76,0x26,0x21,0xe1, + 0xf1,0x32,0x7b,0x8,0x11,0x23,0x18,0x45,0x5a,0xac,0x10,0x2,0x56,0x93,0xed,0x43, + 0xc0,0xc2,0xf1,0x8c,0xd8,0xe5,0x9b,0x8b,0x8f,0x8,0x1,0xab,0x13,0x6e,0x58,0xfd, + 0x5,0x2b,0x56,0x2b,0x29,0x24,0x52,0xcf,0x40,0xe9,0xf2,0xcd,0xf5,0x75,0x5d,0x2e, + 0x44,0x49,0x44,0xe9,0x59,0x28,0xb9,0x5d,0x52,0xd0,0xb2,0x53,0x82,0x22,0x2a,0x6b, + 0x81,0xa4,0x8e,0xf4,0x1c,0x90,0xf8,0xea,0xcd,0xc5,0x9b,0xa5,0x54,0x22,0x94,0x67, + 0x81,0x14,0xf4,0x16,0xe5,0x72,0x29,0x95,0x1c,0x57,0xb,0x83,0x8b,0x18,0x7d,0xba, + 0x61,0x70,0x31,0x39,0x76,0x18,0x5c,0xcc,0x8e,0x1d,0x6,0x17,0x8b,0x63,0x87,0xc1, + 0xc5,0xea,0x88,0x61,0x70,0xf1,0xde,0x2a,0xac,0xeb,0x87,0xc1,0xc7,0x96,0xd5,0x47, + 0x57,0xf6,0xb1,0xc0,0x28,0x79,0xc3,0xdb,0x79,0x1f,0x23,0xb4,0x89,0x1b,0xe1,0xdd, + 0xe9,0xbc,0x1b,0xc7,0xf8,0xc5,0x6d,0xcd,0xd0,0xfb,0x6,0x53,0x94,0x13,0xc1,0x14, + 0x7d,0x5f,0x6d,0x5,0x0,0x56,0xeb,0x8c,0x53,0xc0,0x74,0xcc,0x1d,0x23,0x1c,0xf2, + 0xe7,0x79,0x19,0x52,0xd6,0x20,0x45,0x28,0xc0,0x42,0x12,0x27,0x7,0x2c,0xe8,0x2c, + 0x79,0xb5,0xb5,0x9,0xe,0xe9,0x83,0x69,0x5,0x43,0x7d,0xcc,0xe4,0x3a,0xd7,0x98, + 0x56,0xd3,0x5a,0x5,0x42,0x47,0xa,0x88,0x83,0xb9,0x57,0xd8,0x68,0xf9,0xac,0x23, + 0x3d,0x4a,0x80,0xaa,0xaa,0xf7,0xe0,0xd4,0x69,0x95,0xee,0x34,0xad,0x6b,0x43,0x73, + 0x8a,0xd1,0x5e,0x9f,0xfa,0x68,0x7f,0x7a,0xb9,0xf0,0x24,0x37,0x92,0x9a,0x5e,0xf, + 0x5,0x14,0xf5,0xd1,0x81,0x72,0x7,0x32,0xe5,0xd1,0x85,0x6b,0x61,0x50,0x16,0x84, + 0x6d,0xc,0x2e,0x5,0x58,0x2c,0x85,0x5f,0xec,0x44,0x23,0xe5,0x5,0x52,0x24,0x11, + 0xc6,0x1e,0x94,0xd,0x50,0x4b,0x68,0x4b,0xb2,0x38,0x4e,0x93,0xc5,0xc6,0x17,0xea, + 0x59,0x56,0x56,0x8c,0xeb,0xe2,0xa1,0x8a,0xb0,0x34,0x6c,0xf1,0x80,0x90,0x2a,0x1f, + 0x39,0x3,0x50,0xb3,0xc2,0x5e,0xb2,0x6c,0xef,0x16,0x33,0xce,0xd9,0x2d,0xf6,0x77, + 0x6c,0x4d,0xdf,0x2e,0xda,0xde,0x44,0xda,0x9a,0x81,0x84,0x92,0x12,0xa9,0x46,0x1f, + 0x72,0x8,0xc3,0xb0,0x4e,0x73,0x3c,0x7d,0x8b,0xe9,0x71,0xa1,0x29,0x9b,0x84,0xa6, + 0x6c,0xd,0x15,0xc6,0x46,0x36,0xac,0x85,0x56,0x81,0xc3,0x32,0x9f,0x5,0xed,0xe6, + 0xc3,0x41,0x89,0x17,0xd,0x7,0xcc,0xc9,0xc1,0x40,0x3c,0xae,0x1,0x2,0x46,0x69, + 0xd9,0x6d,0x80,0x11,0xd2,0x9,0xd5,0xe5,0xfd,0x12,0x86,0x40,0xc5,0x29,0x3d,0x5e, + 0x9d,0x74,0x50,0x55,0x27,0xf9,0x17,0xea,0x9,0xe4,0x24,0x8d,0xb6,0xd,0xea,0xcc, + 0x2,0xc2,0x41,0xdc,0x60,0x6f,0x2,0x91,0x4a,0x26,0x23,0x7b,0xe4,0xe0,0xd6,0xd2, + 0xcc,0x2,0x38,0x8a,0x85,0xa7,0x89,0x7d,0xd4,0x92,0x3b,0xaa,0x35,0x9d,0xf0,0xd0, + 0x86,0x56,0x82,0x1,0x19,0x73,0x74,0x4,0xcd,0x1d,0x44,0xd5,0x1e,0xc9,0x5e,0x1f, + 0x94,0xbd,0x6e,0x65,0x1f,0x9c,0xae,0x63,0x57,0xdc,0xd5,0x92,0x9c,0xd3,0x76,0x4, + 0xe1,0x11,0x1e,0xc3,0x1,0xf4,0x3d,0x83,0x57,0x3a,0x6b,0xd,0xcf,0x10,0x32,0x23, + 0x2b,0x79,0x27,0x4,0xc5,0x94,0xea,0x3b,0x83,0x52,0x2a,0x2c,0x7d,0xb1,0x91,0x19, + 0xc5,0xcf,0x91,0x99,0x2e,0x98,0xea,0xf3,0xbc,0x72,0x99,0x8f,0x55,0xb2,0x63,0xa5, + 0xdd,0xf6,0x75,0xc9,0x29,0x57,0x60,0x4a,0xb9,0xb1,0x9b,0x98,0x36,0xe8,0xc7,0x71, + 0x22,0x5d,0x9b,0xf7,0x13,0x3c,0x6d,0x9,0xfd,0xd2,0xb7,0xf1,0x99,0x65,0xa6,0xba, + 0xcd,0xe7,0x6c,0x87,0x3b,0x98,0x7c,0x5,0x98,0xce,0x2a,0x23,0x26,0x64,0x69,0x46, + 0xcc,0xf9,0x2b,0xcf,0xcc,0xb8,0x81,0xf2,0xdd,0x5f,0x72,0x7d,0x88,0xa6,0x7a,0xde, + 0x28,0x56,0x53,0xfe,0xd3,0x32,0xa7,0xa2,0x1e,0x9f,0xcd,0x69,0xf,0x4c,0xb6,0x81, + 0x39,0x6d,0x42,0x3b,0x53,0xb1,0x8a,0x36,0xae,0x31,0x8e,0x7f,0x1c,0xbb,0x70,0xd, + 0xa9,0x6e,0x68,0x68,0xe7,0x42,0x7c,0x74,0x2f,0xd0,0x6,0x9,0xd7,0xb8,0xcc,0xdf, + 0x3f,0xf,0x8d,0xf9,0xa1,0x41,0xa9,0x1b,0xc,0x8d,0xf1,0xa6,0xe0,0x40,0x85,0xce, + 0x9d,0x34,0x1a,0xc9,0x2d,0x67,0x44,0x99,0xf4,0xee,0x1a,0x6e,0xe0,0x64,0x57,0x84, + 0x66,0x4a,0x69,0xef,0x57,0xfa,0x9c,0x47,0xbb,0x8b,0x7c,0x1e,0xed,0xf3,0xa3,0x3d, + 0x88,0x37,0x85,0xa9,0xcd,0x78,0x69,0xd1,0xb2,0x35,0xd1,0x6a,0x13,0x75,0xd6,0x3, + 0xcc,0x8a,0x3f,0xf3,0xaa,0x3,0xa6,0xb0,0x23,0xc1,0xb4,0x4d,0xe4,0x70,0xc5,0xce, + 0x98,0x82,0x49,0x73,0x86,0x4d,0x9b,0xf8,0x9d,0xe5,0x86,0x7a,0x3a,0x58,0x19,0x78, + 0x4a,0xe,0xac,0x9c,0x2,0xde,0xa6,0x96,0x8f,0x13,0xd0,0xdb,0x1c,0xf5,0xa9,0x2e, + 0xf7,0xf2,0xd9,0x73,0xd8,0x5e,0xd9,0x93,0x33,0xbe,0xb0,0xa6,0x54,0x20,0x76,0xa6, + 0x8b,0x1f,0xce,0x35,0xef,0x6a,0x82,0x3b,0xd3,0xc5,0xf,0xe7,0x9a,0x77,0x35,0xd1, + 0x99,0x2e,0x7e,0x38,0xd7,0xbc,0xaf,0x9,0xef,0xce,0x19,0x6f,0x9b,0xa0,0xd5,0x8e, + 0xed,0xbb,0xc6,0x3c,0x5d,0xb4,0xe,0x52,0x61,0xc1,0x89,0x92,0xe,0x54,0xdc,0xe8, + 0xa0,0xc6,0xb,0x4e,0x94,0xac,0x76,0xe2,0x88,0x91,0x67,0x51,0x62,0xd4,0x7e,0x94, + 0xda,0xc3,0x49,0xb,0x50,0x62,0xf4,0x49,0x94,0xfa,0xf,0x27,0xad,0x6,0x92,0x47, + 0xce,0x53,0x29,0xb1,0x1f,0xa4,0xf6,0x9c,0xdb,0x12,0x2a,0x25,0x2f,0xbd,0x1,0xe2, + 0x68,0x54,0x52,0xad,0x59,0xbf,0x34,0xb,0xa3,0x1a,0xf5,0xc3,0xd8,0x96,0x56,0x5c, + 0x0,0xa3,0x9a,0xf4,0xc3,0xd8,0xb6,0xd6,0xd,0xe3,0xc9,0xb6,0x3c,0xb3,0xff,0xe8, + 0xf9,0xf2,0x3b,0x95,0xd6,0xdf,0x4e,0xdd,0x7e,0x5b,0x3d,0x85,0xcf,0xfc,0x8a,0xac, + 0xcb,0x1f,0xdf,0xfd,0xf2,0xaf,0x17,0xbf,0xfe,0x70,0xff,0xe7,0xfb,0xe7,0xf3,0xab, + 0x8f,0x7b,0x49,0xa9,0xc7,0xb5,0x29,0x7f,0x19,0x3e,0xeb,0x61,0xc,0xfc,0xfc,0xf6, + 0xdd,0x2f,0x37,0xff,0x7d,0xfd,0xd3,0xcf,0x6f,0xaf,0x7e,0xfd,0xc7,0x2f,0x57,0x37, + 0x1f,0x79,0x79,0xff,0x6f,0x74,0xee,0x6b,0x78,0xa7,0x14,0xc6,0xa3,0x97,0x6f,0x5e, + 0xfd,0xf3,0x17,0x84,0xbb,0xfa,0xe2,0xdb,0x2f,0xa,0x54,0xeb,0xe6,0x51,0xed,0x86, + 0x47,0xc3,0x6f,0xc2,0x2f,0xfe,0x34,0xfc,0xa2,0x1c,0xfe,0x3c,0xfc,0x6,0x33,0x7e, + 0x2f,0x48,0x54,0xc3,0x3b,0x89,0xea,0x46,0x88,0x90,0x41,0x30,0x6e,0x45,0x32,0x86, + 0x4f,0x23,0x1c,0x60,0x4d,0xb3,0xf,0xaf,0x11,0xca,0xed,0x63,0x15,0xfb,0xf0,0x98, + 0x82,0x87,0x77,0xf,0xcf,0xf0,0xf6,0x4d,0x72,0xd7,0xf8,0xdd,0xdb,0x8d,0x77,0xb7, + 0x8f,0x76,0x77,0x4d,0xdc,0xfc,0xfa,0xbf,0x2f,0x9e,0x8e,0xff,0xeb,0x9b,0xaa,0x41, + 0x5f,0xff,0xfd,0xaf,0x3f,0xfe,0xd3,0xb8,0x1e,0x75,0x61,0xbd,0xfa,0xe7,0xe1,0xaf, + 0xf,0x86,0xe7,0x91,0x25,0xb8,0x47,0x77,0xdb,0xdb,0xba,0xa5,0xb0,0xce,0xe0,0xb6, + 0xee,0xde,0x8b,0xb9,0x27,0xaa,0x55,0xad,0x66,0x59,0x9f,0x1e,0x9e,0x9d,0xc,0x7f, + 0x6,0x8d,0xaa,0xbf,0x81,0x8d,0x6f,0x91,0x70,0x4c,0xa9,0xf6,0x18,0x43,0x2b,0x36, + 0x58,0x42,0xa,0xc0,0x40,0xd2,0x97,0x9a,0x9b,0x8c,0xac,0x33,0x65,0xef,0xdb,0x1a, + 0xf9,0x33,0x5,0xf5,0xdb,0xea,0xfb,0xbd,0x14,0xed,0xaf,0xaf,0xbf,0xbd,0xeb,0x40, + 0x6e,0xa3,0x16,0x7b,0xd5,0x86,0xed,0xa9,0xd,0xcf,0xf7,0x8a,0xd,0xc3,0xab,0xb1, + 0xe8,0x8c,0x2f,0x1d,0x92,0xa7,0x65,0xb7,0x27,0xc1,0x91,0xe7,0x81,0xe3,0x2d,0x38, + 0x84,0xd8,0xa0,0xa3,0xeb,0xa3,0x73,0xca,0xa4,0x2c,0x74,0x6c,0xa7,0x50,0x4,0x9e, + 0x84,0xed,0xb1,0x18,0x47,0x30,0x29,0x69,0xca,0x49,0x36,0xa2,0x6d,0x4e,0x33,0x12, + 0xae,0x8a,0x52,0x12,0x8,0xb1,0xed,0xf0,0xa4,0x59,0xce,0x98,0xb6,0xb6,0x52,0xc8, + 0xe2,0x83,0x5a,0x4d,0xf,0x38,0x78,0x85,0x8b,0x8d,0x32,0xd1,0x78,0x1e,0xfb,0x72, + 0x40,0x24,0x15,0x3d,0x2d,0x4c,0xb5,0x9,0x4c,0xfc,0x1e,0xa7,0x96,0xa9,0xe5,0x2d, + 0x4c,0x7a,0x27,0xd4,0x3a,0xbc,0xe0,0x93,0x2,0x54,0xb2,0xc6,0x39,0x8b,0xc5,0xc7, + 0x58,0x12,0xdb,0x1,0x5b,0xc0,0x49,0xee,0x7a,0x5a,0x4c,0xe2,0x93,0xc3,0xc4,0x94, + 0x26,0x2d,0x33,0xa3,0x7d,0xc6,0x64,0x9c,0xea,0xf2,0x79,0xec,0x3c,0xe5,0x9,0xd5, + 0x67,0x4c,0xc6,0x7f,0xe6,0x4f,0x90,0x27,0x84,0x35,0x3d,0x76,0x62,0x49,0x7d,0x31, + 0x35,0x48,0xca,0x20,0x1d,0xf9,0x59,0xc0,0x64,0xae,0x6c,0xd4,0x3e,0x24,0xfc,0xfe, + 0xfc,0xb4,0x9a,0xa1,0x9c,0x6e,0x52,0xfc,0x74,0x13,0x6f,0x8a,0x3e,0x82,0xa3,0x49, + 0x31,0x62,0xa3,0xbd,0x79,0xa3,0x76,0x3d,0x99,0x2,0x77,0xaf,0xa4,0x37,0xe,0xc9, + 0x8,0xe6,0xd1,0x43,0x32,0x94,0x9,0xe8,0xea,0xb6,0xdb,0x2b,0x81,0x12,0x2a,0xd2, + 0x4b,0x8,0xc9,0x4c,0xc,0xd,0x43,0x9d,0xdb,0x12,0x50,0x43,0x3f,0xb8,0x17,0x89, + 0x77,0xff,0x16,0xdc,0x7a,0x7d,0xff,0xd6,0xf9,0x1d,0x2,0x3d,0xbc,0xd7,0x4a,0xcb, + 0x1b,0xc7,0xa6,0xf1,0xee,0xd,0x83,0x1e,0x56,0x50,0xa2,0xf2,0x1d,0x29,0x3e,0x3c, + 0xd9,0x13,0x82,0x14,0x66,0xde,0x3e,0xb2,0x74,0xed,0xbd,0x9c,0xad,0x5d,0xe0,0x20, + 0x10,0x3b,0x72,0xbb,0x16,0x32,0x85,0x4a,0x41,0x97,0xd6,0x30,0x7,0x14,0x31,0x12, + 0x8f,0x13,0x72,0x45,0x38,0x34,0xa7,0x92,0xf7,0xc5,0xb3,0xaf,0x76,0xb2,0xf3,0x1a, + 0xd9,0x42,0x1a,0x60,0x65,0x54,0xa3,0x3c,0x15,0x50,0x67,0xe,0x6f,0x6b,0x7,0x8a, + 0x82,0x47,0xb8,0x54,0x33,0x74,0x9e,0xca,0x5e,0x36,0xb2,0xf3,0xdd,0xb6,0x27,0x30, + 0xa2,0x70,0xdf,0xed,0x1d,0xd2,0x2d,0x94,0xae,0xf6,0xb2,0x53,0xa0,0xc,0xe,0x1a, + 0xa,0x51,0xef,0xb,0x88,0xd0,0xc5,0x87,0x3f,0x64,0x0,0x21,0xa5,0xee,0x2,0xc2, + 0x53,0xec,0xe3,0x53,0x8e,0x48,0xa3,0xef,0xc8,0x84,0xb0,0xad,0x81,0xba,0x80,0xa2, + 0x67,0x66,0x6b,0x58,0x18,0xc1,0x95,0x32,0x1b,0xd0,0x95,0xc1,0x29,0x4c,0xa8,0x1, + 0xfd,0xa9,0xec,0x65,0x23,0xdb,0x33,0x56,0x8c,0x91,0xc2,0x76,0x9,0x29,0xa5,0xef, + 0xf,0xd2,0x22,0xa4,0x8a,0x18,0xed,0x48,0x20,0x32,0x77,0x84,0x5,0xc4,0x78,0xbb, + 0x7f,0xa3,0x6,0xc2,0xb2,0x6,0xd8,0xee,0x5d,0x14,0x67,0x8b,0x95,0x28,0x1e,0xea, + 0x8a,0xda,0xa0,0x6d,0x5,0x56,0x64,0xd8,0x9a,0xfc,0x32,0x30,0xb4,0x34,0x6e,0xd0, + 0x7e,0x2a,0x7b,0xd9,0xc8,0xce,0xa3,0xed,0xc0,0x9c,0xa1,0x74,0xb,0xb2,0x40,0xb2, + 0xa1,0xf0,0xd5,0x5e,0x77,0xa,0x85,0x4c,0x39,0xd0,0x1a,0x21,0x2a,0x9d,0x68,0xe7, + 0x9,0x85,0x2a,0xb2,0x33,0xd0,0x12,0xf4,0x55,0x20,0xe7,0x3e,0x7e,0x13,0xad,0xc3, + 0xef,0xa,0x43,0x45,0x6b,0x20,0x77,0x88,0x40,0xf2,0x6a,0x21,0xd7,0x0,0x9,0xcc, + 0xcc,0x6,0xf2,0x4,0x2d,0x13,0x62,0x6e,0x9,0x5e,0x80,0x58,0x99,0xda,0x39,0x45, + 0x8,0xf4,0xc1,0xea,0x43,0x26,0xa2,0xea,0x0,0x72,0x0,0xa6,0x25,0xd5,0x80,0x3d, + 0x82,0x66,0x7a,0xec,0x1c,0x12,0x5d,0x53,0x87,0x9e,0x51,0xd3,0xa2,0x35,0x0,0x37, + 0xeb,0x2,0x9c,0x79,0x9d,0x73,0x11,0xc,0x66,0x9a,0x3a,0xa,0x41,0x69,0x42,0x91, + 0x20,0xb6,0xe1,0x3c,0x86,0xa,0x2a,0x94,0x66,0x7,0xe7,0x4e,0x56,0x3d,0xa2,0x1b, + 0xdb,0x18,0x0,0xb,0x34,0x1d,0xa0,0x25,0xdf,0x35,0x4f,0xee,0x45,0x1c,0x92,0xc8, + 0xde,0x7b,0x61,0x62,0xaf,0x25,0xe0,0xb6,0x7a,0x93,0x1a,0xf5,0x81,0x4b,0xab,0x18, + 0x10,0x82,0x60,0x75,0xaa,0x76,0x1e,0xc8,0xe0,0xa1,0x82,0x31,0x32,0xd7,0x5,0x48, + 0x54,0xd1,0x98,0xeb,0x3,0xb2,0x97,0xad,0x6c,0x3f,0xe2,0xa,0x46,0x42,0x62,0xb7, + 0x20,0x3b,0xb8,0x69,0xe4,0xf0,0x24,0x76,0x8,0x64,0x91,0xf,0x80,0x7,0x8,0x22, + 0xd1,0x2a,0xee,0x51,0xb3,0xf,0x70,0x8c,0x95,0xd8,0x2c,0x6e,0xc1,0x5e,0x63,0x36, + 0x87,0x70,0x70,0x3b,0xd7,0xc2,0x5b,0x7d,0x51,0xcb,0xc7,0x74,0xd6,0x4a,0x73,0x5e, + 0x6c,0x2a,0x9a,0xc7,0xf7,0x12,0xe,0x51,0x6e,0x2c,0x77,0x7c,0x66,0xb6,0x35,0xe8, + 0xac,0x9d,0xb6,0x42,0x6c,0x2d,0x74,0xcb,0xd2,0x46,0xe0,0x3a,0xa0,0x51,0xa8,0x37, + 0xe0,0xa,0x60,0x55,0x55,0x46,0x83,0x6d,0x23,0x3b,0x8f,0x6d,0x56,0xdd,0xe0,0x65, + 0x80,0xa2,0x5c,0x74,0x4b,0x5c,0x3,0x74,0x26,0xcb,0xc6,0x54,0x4,0x90,0x16,0xd9, + 0xba,0xa6,0x42,0xb9,0xf,0x5b,0xa3,0xdf,0x8b,0xa9,0x40,0x48,0x47,0x72,0xdd,0xed, + 0x19,0x12,0xa3,0xf2,0xbd,0xa9,0xd0,0xc,0x97,0x7c,0x6c,0x2a,0x58,0xc1,0x50,0x93, + 0xd6,0xb5,0x15,0x52,0x7d,0x88,0x87,0x9c,0x25,0x9b,0xa3,0xd2,0x7c,0xa7,0x50,0xa5, + 0xe5,0x71,0x8b,0xed,0xfe,0x20,0x9d,0xf7,0x24,0x2,0x24,0x4a,0xeb,0x12,0x5a,0xfc, + 0x13,0x24,0xb4,0x89,0xaa,0xef,0x4,0x32,0x2a,0x99,0xee,0x41,0x4f,0x61,0x74,0x7d, + 0xcc,0xe8,0x3d,0x91,0x41,0x91,0xae,0x4d,0x69,0xe9,0xc4,0xbc,0x3e,0xaf,0xc9,0xd7, + 0x5b,0x93,0x73,0x6c,0xb3,0x26,0x6f,0x51,0x8f,0x13,0xa2,0x4e,0xbb,0x0,0xb,0xb1, + 0xf0,0x5b,0x52,0xef,0x9,0x24,0xd4,0x6c,0xa0,0x78,0xee,0x18,0x1c,0x13,0x49,0x6f, + 0xd7,0x90,0x1,0x5e,0xa1,0x36,0xcc,0xfc,0x6,0xcc,0xd9,0xc3,0x7d,0x15,0xcc,0xad, + 0xf,0x73,0x94,0xdf,0xa5,0x75,0x61,0xa4,0xfa,0x60,0x5d,0x28,0x5c,0x6c,0x64,0x5d, + 0x1c,0xc8,0x7d,0x78,0x14,0x60,0xee,0x26,0xab,0x60,0xde,0x6d,0x5d,0xce,0xdb,0x61, + 0xa6,0x70,0xd8,0x7,0x87,0x69,0xc8,0x75,0xc0,0x61,0x4a,0xe,0xf0,0x32,0x82,0x45, + 0x11,0xad,0xe1,0x30,0x99,0x3e,0xed,0x19,0x20,0x12,0xfb,0xfd,0x14,0x30,0x84,0xb1, + 0x46,0x53,0xc0,0xb0,0x44,0x5a,0x97,0xd1,0xd4,0x3d,0x5,0x3c,0xef,0x5,0xd,0xb3, + 0x96,0xde,0x62,0x7b,0x90,0xd0,0x1,0x8a,0x2c,0x12,0xeb,0xf2,0x99,0xa2,0x97,0xcf, + 0x67,0xbc,0x16,0x1f,0xcc,0x31,0x12,0x3b,0xcb,0x30,0xbb,0xd8,0x3f,0x7e,0xf2,0x41, + 0x22,0x80,0x88,0x55,0xdf,0x9b,0xb,0x67,0xcb,0x55,0xe0,0x5d,0x61,0x31,0x7e,0xbe, + 0xb1,0x25,0x24,0x8e,0xf,0xb1,0x25,0x45,0x31,0x7f,0x6c,0x2d,0x2,0xd0,0x35,0x30, + 0x56,0xb6,0x16,0xd2,0x1b,0x5c,0x3a,0xef,0x50,0xa9,0x97,0x58,0xde,0x99,0x8b,0xe6, + 0xc9,0xbd,0xc8,0x3d,0xba,0x2b,0x9b,0x8b,0xee,0x58,0xe9,0x39,0x46,0xfe,0xfb,0x4d, + 0x8,0x1,0x89,0x6,0xbf,0xdf,0x6a,0xd1,0x4c,0xf7,0x1a,0x20,0x2f,0x37,0x1c,0xfe, + 0x2c,0xe0,0x65,0xb8,0x4a,0xec,0x1f,0x6b,0x41,0xec,0xff,0xfc,0xf7,0xb7,0xf2,0x6e, + 0x69,0x42,0xa0,0x61,0x1a,0xc3,0xe,0xb,0x41,0x66,0x5,0xe9,0xc3,0xf6,0x16,0xeb, + 0xce,0xb,0x88,0x59,0x65,0x67,0xa0,0x19,0xe8,0xbe,0xa,0xe4,0xb1,0x60,0x7f,0xeb, + 0xcc,0xf7,0x6f,0xa9,0x52,0x68,0x57,0xa0,0xc4,0xc9,0x7e,0xbf,0x7f,0x5b,0x26,0xa6, + 0x77,0xfb,0xb7,0x1a,0xbc,0x23,0x32,0xa0,0x4c,0x7e,0xbf,0x83,0x4b,0x2b,0xc1,0x6d, + 0x1b,0xec,0xe0,0xae,0x7b,0x5b,0x2b,0x55,0x24,0xf2,0xcd,0xc3,0x62,0x48,0x1e,0x70, + 0x68,0x6e,0x9f,0x16,0x28,0x62,0xc6,0x6a,0xbb,0x94,0xc,0x2,0x4b,0x9a,0x1e,0x7d, + 0x2a,0x7a,0xf9,0x20,0x4a,0x8f,0x5e,0x6d,0x64,0x27,0xd0,0x34,0xee,0xbd,0xb2,0x90, + 0x8e,0x51,0x5b,0x5c,0x43,0x66,0x13,0x90,0x34,0x6c,0xc1,0xd1,0x6e,0x2d,0xe5,0x8b, + 0xe7,0x9f,0x49,0x56,0x8d,0x5,0xc5,0xfd,0xaf,0xf4,0xed,0xe5,0x65,0x8d,0x5a,0x5b, + 0xad,0xe2,0xa6,0x7a,0xcc,0x83,0xe4,0xd5,0xf,0x52,0x9b,0x20,0xb5,0x8,0x24,0x7a, + 0x3e,0x48,0x6c,0xc3,0xcf,0xb1,0xce,0xbf,0xab,0x9a,0xcf,0xa3,0x64,0xb9,0x25,0x4a, + 0x8e,0xcf,0x47,0xe9,0xe2,0x6a,0xf8,0x19,0xb5,0xb6,0x22,0x4a,0xaa,0xf3,0x28,0xa9, + 0x6f,0x77,0x9,0x80,0xaa,0xe6,0xf3,0x51,0x22,0x19,0x7e,0x8e,0xc7,0x25,0xc9,0x16, + 0xa5,0x5,0x79,0x86,0x66,0x28,0x56,0x21,0xdd,0xc5,0x6e,0x55,0x71,0xc,0x57,0x7, + 0xe2,0x4b,0x8b,0xdd,0xaa,0xf2,0x8a,0x70,0xf1,0x3c,0xa9,0x44,0x27,0x80,0x58,0x84, + 0x6c,0x17,0xbb,0xc4,0x5f,0xda,0x4d,0x1d,0xaa,0xdc,0x61,0xa9,0x38,0xd7,0x82,0xcb, + 0x53,0xd4,0x84,0xbd,0xf,0x2e,0x7c,0x79,0x70,0x51,0x75,0xc0,0x45,0xcf,0x87,0x8b, + 0xdf,0xe,0x3f,0xdd,0x26,0xab,0xdf,0xea,0x1d,0xcc,0x97,0xb6,0x83,0xa3,0x90,0x65, + 0xbe,0x57,0x48,0x8b,0xd7,0xb9,0x27,0x85,0xd6,0xec,0x15,0xf9,0x48,0x13,0x49,0xfd, + 0x96,0x91,0x6c,0xc3,0x8a,0xf2,0x4a,0xb1,0x16,0x4a,0xcc,0x19,0x5f,0xae,0x60,0xd1, + 0x7b,0x50,0x62,0xae,0x9a,0xe7,0x12,0xb,0xc6,0x41,0x7a,0xaa,0x84,0x2d,0xbe,0x78, + 0x67,0x7d,0x5,0xc1,0x92,0x15,0x7,0x3f,0x7c,0x50,0x87,0x1e,0x4d,0x95,0xea,0xe0, + 0x27,0x87,0xab,0xe,0x30,0x2c,0xd0,0x16,0xb4,0x12,0xa5,0x98,0x8f,0x66,0x25,0x32, + 0xec,0xb0,0xc6,0xd2,0xa5,0xb1,0x1c,0xfc,0xd0,0xa2,0x64,0x2f,0xe6,0xd,0x35,0xee, + 0xef,0xe8,0x72,0xd4,0xa4,0xe4,0x43,0x6a,0x2b,0x45,0x87,0xda,0x5c,0xb4,0xd1,0x35, + 0x52,0xfd,0x3,0x5f,0x98,0xe6,0x9c,0x16,0xb,0xcb,0x82,0x8b,0xdd,0x64,0xf8,0xe9, + 0x74,0x5a,0x6d,0x6b,0xb6,0xd8,0xb5,0xaf,0xef,0x44,0xfa,0xf,0x92,0xcc,0xc3,0xe8, + 0xba,0xdd,0xa2,0x8e,0xc5,0x5f,0xdc,0x84,0x92,0x25,0x6b,0x1e,0xa5,0xa2,0x69,0x94, + 0x4e,0x6f,0xf2,0x55,0x7e,0xc3,0xf8,0x95,0xf4,0x74,0x4c,0xd9,0x61,0x47,0xe2,0x96, + 0x49,0x7c,0x22,0xe7,0x6,0xac,0x81,0x96,0xc9,0x87,0x55,0xe,0x67,0x89,0x8a,0x38, + 0xa4,0xf6,0xc4,0xdc,0x70,0x89,0xfd,0x3e,0xdc,0x7e,0x64,0xaa,0x93,0x1e,0x6e,0x9f, + 0xba,0x60,0x8f,0x79,0x47,0xd6,0xef,0x14,0xd7,0xd5,0xb8,0xdf,0xc1,0x2a,0xd1,0x76, + 0x8b,0x6f,0x96,0xaa,0xd5,0x6,0xbf,0xa2,0xcc,0xe,0x7e,0x45,0x5b,0xb0,0x3c,0x4a, + 0x2f,0x5a,0x62,0x22,0x15,0x17,0x84,0x50,0x95,0x2f,0xde,0x8a,0xac,0xe3,0x69,0xfa, + 0xf,0x56,0x2a,0x33,0xb8,0x38,0x51,0xbb,0x1f,0x4b,0xc,0x91,0x56,0xed,0x7e,0xac, + 0x22,0x42,0xaa,0x59,0x3e,0xc8,0x52,0x23,0x3b,0x71,0xae,0x5a,0xb0,0xef,0x24,0xbb, + 0xcb,0x46,0x17,0x67,0xf,0x5f,0xf2,0xfd,0xc1,0xe9,0x7c,0xdd,0x40,0x62,0xa,0xe6, + 0x3c,0xaa,0x0,0x8f,0xc,0x98,0xda,0xc0,0xf1,0x44,0x8e,0x6,0x39,0x82,0x54,0xce, + 0xbe,0xf3,0xee,0x2,0x41,0x85,0xe4,0x3b,0x76,0x40,0x11,0x22,0x7e,0x35,0xc7,0x64, + 0x52,0x5d,0x40,0x64,0xd4,0xeb,0xb,0x1a,0x51,0xab,0x67,0xd9,0x7d,0xf8,0xe0,0x33, + 0x51,0xce,0x50,0xf9,0x22,0x2f,0xdf,0xd6,0x82,0xf6,0x16,0x4,0x42,0xdf,0x5c,0x5c, + 0xd1,0xf5,0x75,0xef,0xce,0xc3,0xba,0xc4,0xa9,0x96,0x38,0x8e,0x90,0xac,0xfc,0x84, + 0x38,0xa5,0x21,0xd,0x73,0x9e,0x8,0xd2,0x9d,0x20,0x61,0xea,0xf1,0x98,0x63,0xb2, + 0x1d,0x73,0xcc,0xb6,0x65,0x8e,0xc5,0x59,0x31,0xa7,0xb0,0x65,0x8e,0x24,0x4,0xe6, + 0xd8,0xe4,0x10,0x24,0x37,0xb5,0xd9,0xe,0x8,0xde,0xdd,0xc8,0x61,0x5a,0x51,0x71, + 0x3c,0xea,0x38,0x6f,0x47,0x1d,0xd7,0x6d,0xa9,0xe3,0x7e,0x5e,0xd4,0xa1,0x96,0x3a, + 0x8c,0x40,0x5a,0xd5,0x50,0x87,0xb,0xc8,0xd,0xb1,0xe1,0xce,0x53,0x49,0xba,0x93, + 0x54,0xb6,0xaa,0xe3,0x71,0x27,0x68,0x3b,0xee,0x84,0x6c,0xcb,0x1d,0x12,0x94,0xf3, + 0x62,0x8f,0x8c,0xd8,0xa3,0x60,0x62,0xdc,0xb2,0x27,0x1,0x85,0xa3,0xe5,0xce,0x58, + 0x6e,0x78,0x2d,0x20,0x31,0x8f,0xca,0x9d,0xac,0xed,0xb8,0x53,0xb4,0x35,0x77,0xe8, + 0xcc,0xb8,0xa3,0x7,0xe6,0xc9,0xf2,0xc4,0xf6,0x30,0x84,0x54,0xc3,0x9e,0x43,0x92, + 0x74,0x2b,0xa9,0x55,0x76,0x3c,0xf6,0x54,0x6e,0xc7,0x1e,0x12,0x8a,0xcd,0xf9,0x53, + 0xe7,0xc5,0x1f,0x6b,0xf9,0x23,0x5,0x64,0x9c,0x38,0xb2,0x3e,0x1,0x89,0xd2,0x2c, + 0x3c,0x1b,0xc9,0x86,0x3f,0x61,0xc1,0xc7,0xb4,0x3f,0x24,0xcc,0x5b,0x72,0x88,0xb7, + 0x9d,0xfb,0x30,0xd1,0x79,0x31,0xc8,0x9f,0x2e,0xb8,0x84,0x68,0x6c,0x7f,0x34,0xda, + 0xbb,0x61,0xef,0xe5,0x5a,0xf6,0x10,0xb8,0x84,0x1f,0x91,0x3d,0x4c,0xbe,0x19,0x77, + 0x98,0x72,0x5b,0xe6,0x30,0x9e,0x17,0x73,0xb2,0x65,0xe,0x33,0xb0,0x45,0x8c,0x7d, + 0x57,0x42,0x94,0x69,0x33,0x6f,0x3e,0x28,0x4b,0xb7,0xb2,0x1c,0x19,0xc7,0xe4,0x8f, + 0xe8,0x76,0xfc,0x11,0xdf,0x96,0x3f,0x92,0xe7,0xc5,0x9f,0x1a,0xf1,0x87,0x80,0x38, + 0x10,0x69,0xcc,0x9f,0xa2,0xe6,0x10,0x4b,0x23,0xd9,0xb2,0x27,0xf1,0xff,0xb9,0xfb, + 0xb2,0x1d,0x47,0x8e,0x24,0xdb,0x5f,0x29,0xe8,0x69,0xa,0x88,0x30,0xd8,0xbe,0x68, + 0x9e,0xba,0xd5,0xdd,0x83,0x1,0x34,0xc0,0x7d,0xbc,0x6f,0x83,0xac,0x5c,0xae,0xea, + 0x8e,0x46,0x12,0xb4,0xcc,0xf6,0xf5,0xc3,0x8,0x32,0x95,0x74,0x66,0x14,0x19,0x8c, + 0x64,0x90,0xd9,0x22,0x25,0x54,0xe6,0x49,0xf7,0x30,0x77,0xf3,0xe3,0xe6,0x6e,0xe6, + 0x4b,0x18,0x23,0xad,0xc7,0x1e,0x95,0xeb,0xb1,0x47,0xed,0xba,0xec,0xd1,0xbf,0xaf, + 0x70,0xf,0x21,0xbe,0x72,0xda,0xbd,0x48,0xf,0xe9,0x53,0x80,0xac,0xad,0xf9,0x69, + 0xd2,0xb6,0x4,0x2a,0xad,0x55,0x87,0x2f,0xe3,0xeb,0x11,0xc8,0xae,0x3c,0xf1,0x31, + 0xff,0x3b,0x23,0xd0,0x61,0xd4,0x47,0xc0,0x59,0xec,0xb5,0xfd,0x61,0xa7,0xc6,0xfe, + 0x34,0x29,0x1b,0xfa,0xa0,0x95,0xaf,0x69,0x7f,0x9c,0xae,0x47,0x1f,0x97,0xeb,0xd2, + 0xc7,0xed,0xef,0x8c,0x3e,0xfc,0xca,0xfe,0x88,0x53,0x4c,0x84,0xd,0x89,0xb3,0xb1, + 0x3f,0x4d,0xda,0x36,0x70,0x88,0x4e,0xb6,0x26,0x81,0x2,0xaf,0x47,0xa0,0xe0,0xeb, + 0x12,0x28,0x74,0x29,0x81,0xd6,0x3a,0x63,0xe3,0x62,0x3d,0x69,0x2e,0xdc,0x8d,0x34, + 0xbd,0x53,0x4b,0x87,0xef,0xe4,0xae,0xbf,0x56,0x1d,0x15,0xc9,0x47,0x5e,0x89,0xbb, + 0x5c,0x1a,0x7e,0x41,0xda,0x94,0xf6,0x17,0xaa,0x72,0xbc,0x2a,0x5d,0x48,0xc0,0xcc, + 0x4e,0x9e,0xf6,0x6d,0x55,0x3d,0xab,0x3b,0xb7,0xd7,0xac,0xb3,0x27,0x64,0x5,0xce, + 0xb9,0xcf,0xa6,0x80,0x1d,0x31,0x72,0xbc,0xf7,0x14,0x37,0x5f,0x87,0x10,0xf4,0x20, + 0x1b,0x80,0xc,0x60,0x8f,0x60,0xeb,0x12,0x41,0xbc,0xa,0xe3,0x63,0xeb,0x34,0x2b, + 0x94,0x24,0x45,0x35,0x96,0x83,0x18,0x2c,0xa5,0x8e,0xbe,0x9f,0x2c,0xd3,0xb2,0xf, + 0xcb,0x15,0xce,0xcb,0x19,0x57,0xf6,0xae,0x74,0x49,0x9a,0xe2,0xf8,0x99,0x45,0xd3, + 0xf0,0xc5,0x34,0x6d,0xa5,0xcd,0xa2,0x69,0xe4,0x65,0x69,0x1a,0x5,0x51,0x42,0x7c, + 0x82,0xa5,0xad,0xa6,0x17,0xb0,0xd4,0x9,0x8a,0x91,0x84,0x67,0x90,0x34,0x21,0xd3, + 0x39,0xc4,0x5f,0x48,0xaa,0x96,0x15,0xa6,0x3,0x60,0x2,0x2c,0xea,0x3e,0x92,0x94, + 0xdd,0x28,0xac,0x25,0x29,0x93,0x80,0x13,0x51,0x4b,0xd2,0x24,0x28,0x8f,0xc8,0x13, + 0x24,0xf5,0x3e,0xcc,0x56,0x20,0xa9,0x8a,0x47,0x1f,0x8e,0x97,0x24,0xe9,0xd3,0xf8, + 0x99,0x47,0x52,0x5c,0x4c,0xd2,0x56,0xda,0x3c,0x92,0xf2,0xa5,0x6d,0xa9,0x2a,0xa4, + 0xba,0xc6,0x71,0x96,0xb6,0xaa,0x5e,0x64,0x4b,0x25,0x0,0xb1,0x94,0x2e,0x62,0x4b, + 0x29,0xad,0xbe,0x68,0x4b,0x7b,0x2e,0x28,0xf2,0x4a,0x6f,0x8d,0xa9,0xa,0x44,0x50, + 0x1c,0xa7,0xa9,0xf6,0xa2,0x6b,0xb0,0xd4,0xd5,0x7a,0x93,0x1b,0xd,0xf8,0xae,0xd7, + 0x1c,0xf0,0xdd,0x97,0x90,0xb4,0x3d,0x29,0xde,0xbc,0x2a,0x50,0x58,0x81,0x5,0xb3, + 0xbd,0xaf,0x4e,0x18,0x2a,0xd9,0xd2,0x67,0x51,0xb7,0xd5,0xff,0xf4,0x7b,0x68,0xe6, + 0xf1,0xba,0xbd,0x92,0x6,0x41,0xb,0x55,0x5f,0xc0,0x6d,0x81,0x1d,0x28,0x5c,0x6d, + 0x19,0xd9,0xb1,0xa,0x25,0xf9,0xd5,0xc4,0xc1,0x4a,0x50,0xb4,0x39,0xcc,0x4f,0x1, + 0x61,0xe5,0x18,0x47,0x4e,0xdd,0x67,0x1a,0xf7,0x86,0xb2,0x2,0xad,0x85,0x2a,0xfa, + 0x34,0xba,0x91,0xf1,0xb5,0xbc,0xa6,0xf1,0x75,0xbc,0xb0,0xf1,0xa5,0x2a,0xa0,0xe4, + 0x3a,0x31,0x45,0x68,0x55,0xbd,0xc0,0xf8,0x36,0x82,0x4e,0xdf,0xa8,0x56,0x8e,0xa6, + 0xb9,0xbb,0x4b,0xa2,0x22,0x22,0xb2,0xeb,0x15,0xc1,0xb9,0x9c,0x3b,0x62,0x10,0x63, + 0xf1,0x83,0xf9,0x6b,0x82,0x64,0x28,0xe7,0xe1,0x1b,0x89,0x1c,0x39,0xd1,0x8f,0xdb, + 0x5c,0xec,0x99,0x72,0x2d,0x76,0x96,0xdd,0x8a,0x9c,0x7c,0x4d,0x72,0x9a,0xde,0x9c, + 0x9c,0x65,0x37,0xe2,0xa6,0x29,0x44,0x96,0xd7,0x97,0xb8,0x59,0xa0,0x21,0x62,0xb4, + 0x80,0x9b,0x9a,0xbd,0xe2,0x6a,0xdc,0x24,0xbd,0x15,0x39,0xd5,0xaf,0x49,0x4e,0xcd, + 0x9b,0x93,0x93,0xf4,0x56,0xec,0xf4,0x84,0xd2,0xa,0x7d,0x66,0xa7,0xbd,0x62,0x27, + 0x67,0xa5,0xeb,0x12,0x76,0x7a,0xaf,0x54,0x6b,0xb0,0x53,0x42,0x7a,0xe3,0x3c,0x83, + 0x7c,0x77,0x34,0x7c,0x67,0x91,0x4f,0xde,0x3e,0x6c,0x3f,0xc4,0xf0,0x9d,0x47,0x75, + 0x9c,0x3e,0x99,0x43,0x42,0xe9,0xc9,0x83,0xd8,0x55,0x7a,0x18,0x5f,0x7a,0x16,0x8c, + 0x1,0x45,0x7e,0x70,0x55,0xb6,0x80,0x94,0xf2,0xa9,0x58,0x58,0xdb,0xaa,0xb,0xe6, + 0xb9,0xc1,0xa0,0x5e,0x65,0xf6,0x82,0x36,0x65,0x6a,0x6e,0xc,0x43,0x24,0x67,0xa9, + 0xa3,0x53,0x52,0xd5,0x5e,0xd4,0x56,0xa1,0x6e,0x69,0x5f,0xc6,0xeb,0xc4,0xa4,0x64, + 0x89,0xbb,0xbf,0x5c,0xda,0x74,0xa0,0xbc,0x44,0xd1,0xad,0x74,0xad,0x50,0x98,0xe8, + 0xea,0xd4,0x6d,0x28,0x75,0x94,0xba,0x6d,0xab,0xbe,0xb,0xea,0x72,0x5f,0x8e,0x6b, + 0x59,0x5d,0xb6,0x58,0xc7,0xea,0x32,0x5f,0xd3,0xea,0xb2,0xde,0xc4,0xea,0xb2,0x5f, + 0x9c,0xba,0x9,0x44,0x64,0x74,0x68,0x76,0x4d,0x2c,0x54,0x67,0x9b,0x5d,0xb6,0x38, + 0x97,0xbb,0x93,0x72,0xee,0x9b,0x42,0xcd,0x9b,0x95,0x94,0x84,0x46,0xd7,0xe3,0x90, + 0xc7,0x2d,0x3a,0x4,0xca,0xe1,0xdb,0x11,0x38,0x25,0x6d,0x6f,0x4c,0x4,0xc2,0xf1, + 0xa7,0x28,0xa0,0x44,0xf7,0x8f,0xb,0x3a,0x6,0xf6,0x69,0xbc,0x9a,0x23,0xc7,0x7a, + 0xa3,0xc9,0x32,0x5d,0x75,0xb2,0x4c,0x79,0x7b,0x4f,0x8e,0x75,0x8d,0xc9,0xf2,0xfc, + 0x18,0x6f,0x24,0x48,0x56,0x65,0x74,0x7d,0x21,0x8,0x32,0x71,0x1e,0x4c,0x9b,0x3, + 0xa2,0x8a,0xe8,0x20,0xe0,0xa0,0x80,0x86,0xc1,0x79,0x74,0xda,0x2c,0xd9,0xbb,0xd4, + 0x5a,0x3c,0x95,0x9b,0x39,0x75,0x84,0x57,0xe5,0x29,0xdf,0x9c,0xa7,0xa2,0x76,0x63, + 0x9e,0x1a,0x24,0x32,0xb9,0x7d,0x99,0xa7,0x9,0xa2,0x11,0xa5,0xaf,0x78,0xaa,0x6c, + 0x5a,0xc7,0x79,0xea,0xbd,0xae,0x13,0xb6,0x15,0xe1,0xbe,0xe4,0x56,0x3c,0x45,0xbd, + 0x26,0x4f,0xd1,0x2f,0xcc,0xd3,0x71,0xf4,0x75,0xf,0x9e,0xc5,0xd3,0x56,0xd5,0xf3, + 0x79,0xda,0x8,0xba,0xec,0xfe,0x3,0x64,0xab,0xc3,0x35,0x33,0x83,0x64,0xcc,0x50, + 0x6e,0x78,0x4a,0x1,0x1e,0x8a,0x6c,0xc7,0x79,0xaa,0x3d,0xf9,0x6a,0xe3,0xbe,0xdd, + 0x2a,0x82,0xeb,0x95,0x57,0xe5,0xe9,0xed,0x97,0x17,0xac,0xec,0xbd,0x8c,0xfb,0x89, + 0x40,0x14,0x12,0x34,0x3d,0xec,0x2f,0x59,0x67,0x10,0xee,0x23,0xd6,0x1b,0xf6,0x53, + 0x6f,0x45,0x53,0xbe,0x22,0x4d,0xbd,0xf4,0xf6,0xc3,0x7e,0xea,0x1f,0x6f,0x15,0x4c, + 0xb0,0x4f,0x5c,0xcd,0x88,0xd2,0x8d,0xb8,0x99,0x7e,0x4d,0x6e,0xe6,0x3b,0x58,0x67, + 0xf8,0xe3,0xad,0x81,0x71,0xf6,0xe9,0xb8,0x16,0x33,0x5d,0xe2,0x56,0xdc,0xc4,0xab, + 0x72,0xf3,0xf6,0xee,0x92,0x4b,0xfc,0xf1,0xd6,0xc0,0xd8,0x7b,0xe6,0x58,0x8d,0x9d, + 0xec,0x37,0x62,0x67,0xe8,0x35,0xd9,0x19,0x7e,0x7b,0x76,0xb2,0xbf,0xd3,0x51,0xbd, + 0xa0,0xd8,0x2c,0x6c,0x9,0x3b,0xb5,0x77,0x5c,0xd1,0x76,0xca,0x8d,0xd8,0xe9,0x79, + 0x55,0x76,0xe2,0x3b,0xb0,0x9d,0xf2,0x3e,0x47,0xf6,0x40,0xc0,0xa,0xcb,0x25,0xe4, + 0xe4,0x9e,0x59,0xd7,0x22,0x67,0x26,0xde,0x8a,0x9c,0x57,0x75,0x88,0xfc,0xf6,0xe, + 0x51,0x26,0xbe,0xcf,0x81,0x3d,0x10,0xcc,0x32,0x70,0xd1,0xb4,0x13,0x7b,0x8a,0xd5, + 0xd8,0xc9,0x99,0x37,0x62,0xa7,0x5d,0xd5,0x25,0xb2,0xdb,0xbb,0x44,0x9c,0xf9,0x3e, + 0x7,0xf6,0x40,0x20,0xb4,0x58,0xe4,0xae,0x53,0xf6,0x92,0xab,0x4d,0x3b,0x43,0xf4, + 0x56,0xec,0xc4,0xab,0xb2,0xf3,0xf6,0x4e,0x51,0x88,0xbe,0x5b,0x97,0x3d,0x45,0xd, + 0x65,0x9,0x3b,0xbd,0xf7,0x5a,0x8d,0x9d,0x76,0x33,0x97,0x5d,0xaf,0xea,0x14,0xe9, + 0xed,0x9d,0x22,0x93,0xf8,0xe3,0x8d,0xec,0xa4,0x7d,0xd2,0x6a,0xec,0x54,0xbc,0xd5, + 0xc8,0x2e,0x79,0x55,0x76,0xde,0xde,0x29,0x52,0x7c,0xbf,0x23,0xfb,0x72,0x76,0x72, + 0x9f,0x9c,0x6b,0xb1,0x53,0x9c,0x6f,0xc5,0xce,0xab,0x7a,0x45,0xf2,0xe,0x96,0x89, + 0x9c,0xdf,0xad,0xcb,0x4e,0x25,0x1e,0xbc,0x84,0x9d,0xd8,0xe7,0x7a,0x5b,0xec,0xe4, + 0x56,0xd1,0x4e,0xbe,0xaa,0x53,0xc4,0xb7,0x77,0x8a,0x4a,0xfc,0x8f,0x37,0xb0,0x63, + 0xf6,0x22,0xab,0xb1,0xd3,0x50,0x6f,0xc5,0x4e,0xbc,0x2a,0x3b,0x6f,0xef,0x14,0x19, + 0xea,0x3b,0xd9,0x58,0xd7,0x6c,0x4,0x39,0xbd,0xaf,0xce,0x40,0x23,0x42,0xe2,0x38, + 0x4d,0xbd,0xe7,0x5c,0x27,0x28,0x9f,0xd6,0x97,0xe2,0x19,0x2c,0xb4,0x18,0xbe,0xb3, + 0x58,0x48,0x4b,0x6,0xf0,0xe5,0xd2,0x74,0xfa,0xec,0x89,0x39,0xaa,0x94,0x2f,0x10, + 0x3b,0x8b,0xfc,0x74,0x69,0x9f,0x8b,0x5d,0x80,0x94,0xc5,0x8f,0x93,0xbf,0x6d,0xc0, + 0x5,0xe4,0x6f,0x4,0xbd,0x8d,0xfc,0x49,0xa0,0x82,0x41,0xfe,0xa5,0x1b,0x2e,0x2c, + 0xa0,0x9c,0x9,0xab,0x21,0x3f,0x11,0x38,0x95,0x5a,0x1e,0x27,0xbf,0xf6,0x99,0xeb, + 0x5c,0xc4,0xc2,0xd9,0x9b,0xdb,0x6d,0x6e,0xb,0x72,0xbc,0xe6,0x6d,0x41,0x8e,0xb9, + 0xc2,0x39,0x13,0x76,0x34,0x69,0xcf,0x99,0x10,0x44,0x32,0x26,0xcf,0x21,0x6f,0xdb, + 0x0,0xf3,0xcf,0x99,0x4c,0xca,0xb9,0x6f,0xa,0x35,0x83,0xd2,0x4,0x54,0x51,0xa5, + 0x23,0x9d,0x89,0x46,0xf3,0xdd,0x39,0x1,0x8a,0x24,0x75,0x7d,0x84,0x81,0x54,0x1c, + 0x9c,0x2a,0x21,0x8b,0xb2,0xb4,0xa3,0xa7,0x4a,0x90,0x7b,0xae,0x5a,0x85,0xb0,0xa4, + 0x7d,0x85,0x7c,0xb5,0xe,0x43,0x56,0x98,0x33,0x1c,0x61,0x3f,0x5f,0x9c,0x8f,0x6, + 0x49,0x6c,0x87,0x47,0xf6,0x50,0x3d,0xeb,0x38,0x1b,0x5b,0xed,0x2e,0x61,0xe3,0xa1, + 0x98,0xfb,0xa6,0x44,0xa7,0xb9,0xd8,0xb,0x4,0x92,0xf0,0x96,0x8c,0xa,0x2a,0x81, + 0xce,0x5d,0x4f,0xaa,0x4,0x51,0x5d,0xcf,0x1a,0x10,0xa6,0x2d,0x1d,0x9,0x82,0x32, + 0x4e,0x90,0x11,0x7b,0x49,0x5c,0x8b,0x8c,0x2a,0xb4,0xa,0x19,0xad,0xf4,0x8a,0x64, + 0xb4,0xf2,0x77,0x49,0x46,0x15,0xba,0x5,0x19,0xa7,0xb9,0x98,0x6c,0x80,0x62,0xb6, + 0x9c,0x8b,0x51,0xd9,0x87,0xae,0xe3,0x6d,0x99,0xf5,0x24,0x7e,0xce,0x65,0x54,0x38, + 0x7c,0x67,0xb1,0x23,0xaf,0xca,0xc5,0xe9,0xd,0xa8,0x80,0xa6,0xa5,0x86,0x7e,0x96, + 0xd8,0xfb,0x87,0xe1,0x3b,0x4f,0x6c,0x4e,0x8a,0x25,0x49,0xe4,0xe6,0xf8,0xeb,0x5c, + 0xdd,0xce,0xec,0xe7,0x78,0xe9,0xd9,0x73,0x10,0x94,0x6,0x9e,0x38,0xa4,0xdd,0xf2, + 0xe6,0x12,0xb7,0x6c,0xb5,0x17,0xf,0x82,0x32,0x3a,0x5a,0xad,0x33,0xb5,0x6e,0xa7, + 0xf1,0x6a,0xc0,0x52,0xd2,0x4,0xe7,0xe,0x4b,0x30,0x3d,0xb7,0x8e,0xf2,0x5e,0x64, + 0x95,0x9b,0x38,0x49,0xb2,0x57,0xca,0xdb,0xcc,0xad,0x2d,0xf2,0x8a,0x73,0x6b,0xcb, + 0xb,0x93,0xd8,0x10,0xa2,0xd4,0xed,0x44,0xf8,0xa3,0xd5,0xf4,0x2,0xf,0xd0,0xa, + 0x9c,0x4c,0x2a,0x67,0xb3,0xb4,0x58,0x5b,0x96,0x26,0xf3,0x0,0x98,0x80,0x3a,0xab, + 0xd3,0xc8,0x52,0x66,0x2e,0x69,0x1d,0x40,0x66,0x3,0x42,0xf4,0xd6,0x1,0xec,0x5, + 0xc1,0xcd,0x23,0xfc,0x38,0x4b,0xb5,0xe7,0x90,0xb5,0x58,0x5a,0x2e,0xb7,0x62,0x29, + 0x5f,0x93,0xa5,0xa1,0x17,0x66,0xa9,0x43,0x94,0x67,0xd8,0x6c,0x96,0x96,0xcb,0xfb, + 0x66,0x29,0x99,0x42,0xa0,0xe9,0x32,0x96,0x72,0xcf,0xca,0x6b,0xb1,0x54,0x2c,0x6e, + 0xc4,0x52,0xf7,0x6b,0xb2,0xd4,0xf3,0xb2,0x2c,0xf5,0x82,0x8c,0x24,0x95,0xd9,0x2c, + 0x15,0x8b,0x5,0x2c,0x55,0x87,0xac,0x12,0xa2,0x6b,0xb0,0x94,0xa0,0xb8,0x38,0x5b, + 0x96,0x1a,0x83,0x89,0x31,0x9e,0x60,0x29,0xf6,0x52,0xb8,0xda,0x88,0x2f,0x74,0x2b, + 0x96,0xe2,0x55,0x59,0xca,0x17,0x66,0x69,0x2,0x19,0x95,0xf0,0xfc,0x11,0x5f,0x68, + 0x1,0x4b,0x93,0x80,0x2,0x51,0xf5,0xa,0x2c,0xd,0x3,0xc,0x57,0x69,0x59,0xaa, + 0x1,0xca,0x85,0x62,0x47,0x59,0x9a,0xd9,0xb3,0xae,0xc1,0x52,0x29,0x3f,0xc7,0x4b, + 0xac,0x47,0x7d,0x98,0x45,0x40,0xa9,0xb,0x1c,0x30,0xb0,0xe4,0x4f,0x33,0xa5,0x2d, + 0x3b,0x60,0x30,0x5f,0x4b,0xa6,0xa7,0x95,0xbf,0x4a,0xc5,0xcc,0x57,0x51,0x23,0x7e, + 0x41,0x5a,0xae,0xaa,0xc6,0x88,0x73,0xc8,0xf6,0xc8,0xc3,0x77,0x8e,0x96,0x22,0x2e, + 0xb0,0x71,0xcb,0x87,0xef,0x2c,0x69,0x89,0xeb,0x6a,0x49,0x64,0x1d,0x2d,0x89,0x5d, + 0x2f,0x70,0x23,0x21,0xb1,0xae,0x96,0xf8,0xa2,0xb,0x55,0xaa,0xf2,0x20,0x35,0xab, + 0x62,0x1c,0x47,0xd4,0xb8,0x5c,0x1a,0x7e,0x41,0x5a,0xad,0xaa,0x46,0x77,0xbc,0xec, + 0xc,0x85,0xcd,0x6d,0x8e,0x1a,0x8f,0x1f,0xf2,0x59,0x2e,0xd,0xbf,0x20,0x4d,0x57, + 0x55,0xa3,0xa8,0x9e,0x43,0x36,0x2a,0x7c,0x9a,0x65,0xff,0x45,0x2f,0xe1,0x6d,0x88, + 0x86,0xce,0x93,0xb6,0xae,0xfd,0x67,0x95,0x8b,0xf6,0xd9,0x62,0x9e,0x37,0x8c,0xb2, + 0x1e,0x33,0x7d,0xcb,0xa5,0xe1,0x17,0xa4,0xc5,0xba,0x6a,0x24,0x3b,0x43,0x4b,0x1e, + 0x94,0x33,0xb5,0x44,0x6f,0xb7,0x6c,0xf1,0x49,0x6a,0x96,0x96,0x94,0x6c,0x5d,0x2d, + 0x91,0xcb,0x79,0x9b,0xc9,0xec,0x71,0x56,0x27,0x21,0xbf,0xc4,0x30,0xfa,0x78,0xff, + 0x80,0xb3,0xa4,0x85,0x4c,0x49,0x3,0xb6,0x33,0x5,0x3e,0x48,0xcd,0x14,0x48,0x93, + 0x2,0xcf,0x95,0x77,0xaf,0x7e,0x37,0x4f,0x9d,0x8b,0x68,0x70,0xff,0xfd,0xe7,0x9f, + 0xfe,0xcf,0xdd,0xaf,0xdf,0x3d,0x67,0x7d,0xfe,0xfd,0xf4,0x4b,0xfe,0x9e,0x53,0xa, + 0xf3,0x5e,0x37,0xfa,0x69,0x83,0xbc,0xaa,0xd1,0xd3,0xe7,0xef,0xbf,0xff,0xfa,0x87, + 0x1f,0x7f,0x78,0xfc,0xc7,0xe1,0xa7,0xbd,0x8a,0x8c,0xbf,0xfe,0xfc,0xdb,0xf7,0x8f, + 0x5f,0x3f,0xfe,0xc7,0xe3,0xf,0x3f,0x3e,0xc,0x6b,0x4a,0x3f,0xff,0xf8,0x6f,0x8f, + 0x5f,0xff,0xf6,0xf3,0xf7,0xff,0x70,0xb8,0xa8,0xc2,0x5c,0x1f,0x77,0x7f,0xef,0xff, + 0xf3,0xf3,0xc3,0xaf,0xdf,0x7d,0x4d,0xe0,0x38,0x7e,0xf8,0x19,0x1f,0xb2,0x6c,0xac, + 0xe1,0xd7,0x9f,0x7e,0xfb,0xf5,0xd7,0x7d,0xec,0xff,0xff,0xf8,0xf9,0x87,0xaf,0xff, + 0xfd,0xf3,0xaf,0x8f,0x3f,0x3f,0xa3,0xe3,0x2f,0xdf,0x7f,0xde,0xfc,0xf3,0xb5,0x3e, + 0x63,0xf,0x77,0xbf,0x7c,0x77,0xf7,0xf3,0xcf,0x77,0xff,0x3d,0x16,0x76,0x87,0xb6, + 0xc5,0xdd,0x64,0xda,0x16,0x6e,0xfb,0xb3,0x30,0xd1,0xc7,0x3d,0xbd,0x6f,0xf4,0xf2, + 0x2f,0x1f,0x24,0x5,0x4c,0xc5,0xa4,0xd3,0x48,0x10,0xf4,0xf8,0xf0,0xcd,0x14,0xd8, + 0x42,0x1c,0x66,0xaf,0x21,0xb5,0x31,0x6f,0x40,0x78,0x16,0x8f,0x28,0xa,0xa1,0x7f, + 0x90,0x12,0x40,0xf4,0x18,0x30,0x3,0x51,0xd1,0xd,0x64,0xa0,0x94,0x43,0x66,0xf, + 0x88,0xe7,0xcc,0x15,0x10,0x12,0x9c,0x1b,0x14,0x41,0xab,0x4c,0x3f,0x28,0x22,0x20, + 0x52,0x75,0xaa,0x4,0x56,0x2c,0x5b,0xc9,0x5c,0x62,0x32,0x62,0x5a,0xca,0xbb,0x42, + 0xb3,0x56,0xe5,0xe,0x94,0xd2,0x2d,0x46,0x2c,0xfa,0x92,0x70,0x80,0xc8,0xf3,0x20, + 0xaf,0x3b,0xa8,0x5,0xfb,0x4e,0x8,0x8a,0x6f,0xb0,0x4,0x2f,0x51,0x7e,0x2e,0xb, + 0x6d,0x4,0x7,0x1,0x12,0x73,0xb6,0xa5,0xe,0x1,0xe5,0xf4,0x6d,0xed,0x6c,0xd4, + 0x4d,0x24,0x78,0x16,0xc6,0x4e,0xb,0x95,0xb9,0x91,0xcc,0x50,0x94,0xad,0xbe,0x5e, + 0xa3,0xd6,0x42,0xa3,0xfa,0x1b,0xa8,0x69,0x26,0x64,0x66,0x6e,0x9b,0x89,0xd8,0xd2, + 0x76,0x50,0xc5,0x4e,0x9,0x42,0xf8,0x2a,0xaf,0x8,0x73,0x3c,0x27,0x34,0x1e,0x31, + 0x55,0xf1,0x98,0x6e,0xf6,0x1d,0xf4,0x3f,0x1f,0xe,0xba,0xf4,0x4f,0xdb,0x8e,0x15, + 0x7b,0xdd,0xf7,0xb9,0xbf,0x9d,0xc,0xfa,0x48,0x14,0x14,0x3a,0xce,0xbb,0x93,0x97, + 0x69,0xc1,0x55,0x67,0xa3,0xc,0x77,0xcc,0x26,0x34,0xa3,0x81,0x50,0x6a,0xdc,0xde, + 0xf,0xa1,0xa2,0x90,0x1e,0x47,0x77,0xe3,0x9,0xf3,0xac,0x8d,0x4d,0x7f,0xcc,0xba, + 0xb,0xcd,0xa9,0xfb,0x5,0xd,0x76,0xd0,0xc,0x83,0x3d,0x6d,0x83,0xc3,0x3e,0xbe, + 0xcd,0x88,0x47,0x1c,0x1a,0xf1,0x9f,0xfe,0x6b,0xbe,0xf5,0x9e,0x67,0x93,0x5d,0x5e, + 0xd9,0x64,0xe6,0x2,0x65,0xf6,0xad,0x95,0x11,0xcc,0xfc,0xf0,0xcd,0x8,0x1a,0x71, + 0x6d,0xc0,0x20,0x60,0x2e,0xd7,0xf,0x2c,0x2,0xa4,0x84,0x3,0xe6,0xc0,0xac,0x9e, + 0x1b,0xc,0x21,0xdc,0x55,0x36,0x58,0x40,0x89,0x6c,0x33,0xb,0xa8,0xa9,0x51,0xa7, + 0x29,0x40,0xe5,0xba,0xc9,0x8c,0x9,0x44,0xe2,0x35,0x62,0x88,0xaa,0xb9,0xc1,0x2, + 0x84,0xb3,0xa4,0x33,0xcc,0xdf,0x25,0x53,0x82,0x73,0x61,0x75,0x46,0x2,0x4a,0x41, + 0xbc,0x2d,0x62,0x28,0xca,0x6,0x33,0x28,0x29,0xf2,0x8d,0xe4,0x82,0x32,0xa9,0x1, + 0x73,0x60,0x32,0xb4,0xf,0xdf,0x1e,0xa2,0xea,0x32,0x3c,0x52,0x11,0x48,0xc9,0x63, + 0x7,0xaa,0xc8,0x88,0x9,0xa7,0xfa,0x2e,0x7b,0x6a,0x8c,0x98,0x91,0xeb,0xde,0x23, + 0x77,0xb9,0x83,0x34,0xf5,0x39,0x65,0xd8,0x88,0x15,0x31,0x3e,0x8b,0x51,0xe6,0xd, + 0x46,0x40,0x84,0x94,0x2f,0xa2,0xbf,0x7d,0x1,0xdb,0x47,0xda,0x68,0xf6,0x31,0xf7, + 0xeb,0xe3,0xc,0x2a,0x86,0xb4,0x5f,0xef,0x10,0x8,0x31,0xca,0x46,0x41,0xc1,0x50, + 0x86,0xca,0xfb,0x9a,0xb4,0x0,0xc7,0xb2,0xda,0xd7,0xb8,0x21,0x70,0x85,0x67,0xd3, + 0x34,0x1a,0x50,0x2c,0x28,0xfb,0x6d,0x68,0x4,0x66,0x44,0xfc,0xd2,0xd6,0x23,0xe6, + 0x4a,0x2a,0x2f,0xa4,0xd8,0xab,0x4c,0x3,0x3e,0x6b,0xbc,0x1,0x5f,0x71,0xea,0x4b, + 0x86,0x3c,0x64,0xae,0x21,0x6f,0xac,0x87,0x2b,0x70,0x56,0xca,0xbc,0x3d,0x27,0x8b, + 0x56,0x41,0x45,0xc,0xc2,0x42,0x6d,0xde,0x1b,0x95,0xfb,0x32,0x60,0x36,0x29,0xea, + 0xf0,0x60,0x2b,0x36,0x6,0x54,0x98,0xe7,0xcb,0xe3,0xa9,0x79,0xfc,0x11,0x3,0x18, + 0x4b,0xb7,0x61,0xb7,0xfa,0x32,0x64,0x48,0xa6,0xb0,0x79,0xc6,0x5f,0x97,0xe9,0xab, + 0xc0,0x28,0xed,0xcd,0xfa,0x52,0xb,0x28,0xcc,0xe0,0x3,0x7d,0x25,0x38,0x73,0xca, + 0x71,0x7d,0xc5,0x2d,0xf4,0x45,0xf6,0x77,0xab,0xaf,0xba,0xee,0x0,0xeb,0xa6,0xed, + 0x0,0x7b,0xe8,0x20,0xb0,0x82,0xa2,0xb3,0x75,0x26,0x4,0xee,0x42,0x35,0x4c,0x1f, + 0xc9,0xc1,0xa3,0x9c,0x36,0xa8,0x3,0x8a,0x44,0x7d,0x10,0x14,0x60,0x91,0x1,0xa, + 0x50,0xc1,0xd2,0xd,0xc4,0x60,0x9d,0x39,0x1,0x7a,0xa9,0x8e,0x19,0x19,0x90,0xd8, + 0x75,0x83,0x1a,0x88,0x97,0xd7,0x46,0x4,0x1,0xa3,0x84,0x6f,0xb0,0x80,0x64,0xb3, + 0xfc,0x20,0x82,0x40,0x3c,0xe4,0xcd,0x17,0xa1,0x9c,0x60,0x91,0xde,0x99,0x39,0xb0, + 0x54,0xd6,0x8,0x89,0xa0,0x48,0x67,0x2a,0xa0,0xc5,0x18,0x53,0x25,0xde,0xd8,0xba, + 0x4d,0x4d,0x34,0xe0,0x75,0x45,0x74,0xbb,0xa1,0xbd,0x3a,0x53,0x5,0x2d,0xc7,0xda, + 0x60,0xc,0x69,0x11,0xa3,0x1c,0xe5,0x28,0xd9,0x40,0x4,0xa2,0x12,0x7,0x5,0x32, + 0x4,0x76,0xad,0xda,0x2f,0xb8,0x15,0xa8,0x39,0xd1,0x7e,0x5,0x3d,0xa1,0x3c,0xa3, + 0x51,0xc5,0x88,0xb2,0x98,0xdb,0xbe,0xc2,0xb6,0xa7,0x50,0x49,0x5f,0xf4,0x3a,0x51, + 0xee,0xc1,0x74,0x1f,0x99,0x7,0xb5,0x7b,0x4e,0xc5,0x2d,0x67,0xcf,0x83,0x46,0x67, + 0xf2,0x92,0x73,0x9e,0xa9,0x21,0xc6,0xcd,0xf7,0x8b,0xff,0xe3,0xc3,0xe7,0x9f,0x36, + 0xff,0x6f,0x44,0x3f,0x3c,0xfe,0xfa,0xdf,0x3f,0x3d,0x6e,0x88,0x7b,0xbf,0xfb,0x4c, + 0x8c,0x44,0x27,0x37,0x1e,0x8b,0x8,0x44,0x60,0xb5,0x2f,0x1e,0xd5,0x8,0x20,0x6e, + 0x5f,0x27,0x33,0x1a,0x7c,0x51,0xc9,0x59,0x36,0x45,0x54,0x17,0xec,0x44,0xd6,0x8a, + 0x2d,0x19,0x9b,0x33,0x14,0x2,0x3c,0xb2,0x69,0xd6,0x11,0xd,0x46,0xe3,0xc0,0xe8, + 0x7a,0x5,0x44,0x14,0x91,0x1c,0x16,0x9f,0x19,0x3c,0x45,0x55,0x63,0xf8,0x5,0x21, + 0x31,0xd,0xb9,0xeb,0x93,0x81,0x5d,0x31,0xb8,0x23,0x27,0x50,0xa9,0xa8,0x8f,0x4d, + 0xc7,0x7f,0x4d,0x8e,0xb,0x38,0x33,0xe7,0xea,0xd2,0x17,0xbc,0x8f,0xb8,0x95,0xd1, + 0xe,0xe6,0x4e,0x74,0x70,0x9,0xba,0x23,0x1,0x63,0x4a,0x1c,0x33,0xb6,0xee,0x7e, + 0x5d,0x63,0x1b,0x3c,0xe5,0xcd,0xb4,0xbd,0x23,0x58,0xa6,0x3b,0xf7,0xf3,0x4a,0xdc, + 0xec,0xbe,0xbc,0x5b,0x72,0x6a,0xbb,0x33,0x82,0xdd,0x2c,0x0,0x15,0x64,0xaf,0x9c, + 0x1d,0x25,0x6,0xda,0x86,0x59,0xc2,0xa1,0x1c,0x85,0x36,0xb6,0x51,0x9,0x41,0xc, + 0x9d,0x3a,0x4d,0x84,0xe2,0x44,0xf9,0xa0,0x18,0xe0,0x19,0x96,0x1b,0x4c,0x21,0xcb, + 0xc2,0x37,0x98,0x0,0x8b,0x89,0x6f,0xb0,0x84,0x74,0xd1,0x61,0xb2,0x3b,0xe4,0xb6, + 0x4a,0xd2,0x4e,0x2b,0x81,0xb2,0x7c,0x8b,0x6e,0xa7,0xa8,0xba,0x9b,0x7e,0x3b,0xdb, + 0x80,0x4e,0xc8,0x1f,0xcc,0xeb,0x69,0xfb,0xb4,0x24,0xde,0xa1,0xe8,0xa0,0x4c,0x32, + 0x6f,0x9a,0x1c,0xbc,0x64,0x1a,0xa3,0xa4,0x60,0x52,0x29,0xed,0x9c,0xa4,0x10,0xc2, + 0xcd,0xbc,0x75,0xfa,0x93,0xc0,0x53,0xe3,0xa8,0xd3,0x1f,0x36,0x6b,0xe3,0xe9,0x1f, + 0xb3,0xf2,0xc9,0x7e,0x19,0x3,0xa9,0xa,0xca,0x1c,0x35,0xab,0xf2,0x65,0xba,0xc8, + 0x40,0x26,0x8,0xa5,0x45,0x5b,0x79,0x15,0xb0,0xd0,0xe2,0xb6,0xf2,0x16,0x20,0xe4, + 0x41,0xc7,0x2a,0x5f,0x8e,0xd7,0x35,0x90,0xe5,0x7c,0x7c,0x36,0x6a,0x9,0x48,0x29, + 0xda,0xa9,0x24,0x54,0x58,0xd9,0x38,0xf,0xb,0xb0,0xa,0x8d,0x4e,0x15,0x81,0x25, + 0xcd,0x47,0x8c,0xb9,0x9c,0x37,0x18,0x3,0x59,0x60,0x6e,0x30,0x83,0x12,0x4b,0x19, + 0x31,0x55,0xcf,0x21,0xb3,0x16,0x64,0x84,0xd,0x99,0x5,0x12,0x45,0x75,0x83,0x19, + 0x28,0xbb,0xe,0x58,0x42,0x99,0xb9,0x6d,0xa7,0x80,0x96,0x6c,0x9d,0x1a,0x81,0x6, + 0x21,0x8d,0xb9,0x11,0x24,0x25,0x78,0x83,0x32,0x60,0x88,0x6d,0x52,0x4a,0x82,0xb2, + 0xa,0x75,0xaa,0x5,0xa9,0x61,0x39,0x62,0x96,0x64,0xdb,0x27,0x7a,0xa9,0xc8,0x2e, + 0x37,0xa,0x45,0x76,0x2a,0x1,0xe9,0x64,0xb1,0xc1,0x12,0x30,0xa9,0x6c,0x83,0x31, + 0xb0,0x73,0xc6,0x58,0x6d,0xf,0x1c,0x6a,0x2d,0xc0,0x4e,0x12,0x43,0x66,0x47,0x20, + 0x2e,0xf6,0x11,0x35,0x29,0xb6,0x31,0x61,0x98,0x2a,0x6f,0x30,0x87,0xf0,0x8,0x9a, + 0xd2,0xd9,0x97,0x27,0x90,0xbb,0xed,0x5e,0xef,0x6a,0xbe,0x58,0xae,0xa7,0xec,0xf1, + 0x2f,0xbf,0xdc,0xdf,0xff,0x32,0x61,0x90,0x2f,0xc6,0x4c,0x45,0xa9,0xa3,0xcc,0x54, + 0xda,0x1e,0x2e,0x1b,0x29,0xa8,0x12,0x36,0x8e,0x62,0xa,0x5e,0x59,0x3e,0x82,0x4e, + 0xe6,0x31,0x62,0x22,0xa9,0x3,0x26,0x10,0x26,0xa1,0x23,0xa6,0xe8,0x63,0x66,0x3, + 0x21,0x7e,0xce,0xac,0x98,0xc4,0x5b,0xd0,0xcc,0x68,0x8b,0x9,0xe7,0xe,0x2b,0x75, + 0xdd,0x61,0x31,0xe6,0xdd,0x17,0xac,0x65,0xfa,0xcc,0x69,0xb6,0x1c,0xb,0x58,0xe1, + 0xbe,0x4d,0x98,0xc9,0x35,0x3c,0xcf,0xa1,0xc8,0x8b,0x47,0x2c,0x84,0xd5,0x87,0xdc, + 0xac,0xc0,0x12,0x36,0xf0,0xd7,0x41,0xd4,0x2a,0x36,0x58,0x0,0x62,0x79,0x8e,0x9c, + 0x26,0x41,0xd5,0x11,0x1b,0xbb,0x83,0x41,0x8e,0x65,0x1e,0x11,0x49,0xdb,0xb1,0x3c, + 0x4d,0x89,0x36,0x98,0x80,0x21,0xc9,0x76,0xc1,0x5,0x93,0x32,0x26,0x94,0x75,0x8e, + 0x47,0xa3,0xa8,0xf2,0xae,0x3c,0x1a,0x45,0xa5,0x93,0xc,0x5d,0xec,0xcf,0xa8,0x0, + 0x22,0x32,0xb5,0xfe,0x8c,0x6,0x64,0x55,0x52,0xeb,0xd1,0xa8,0x81,0x9,0x99,0xcf, + 0x1b,0x64,0xdc,0x97,0x78,0x34,0x5a,0x40,0x88,0x42,0xfb,0x1e,0x8d,0x8f,0xad,0xe8, + 0x38,0xef,0x8a,0x1b,0xe7,0xa0,0xd1,0x45,0x1,0x51,0x31,0xc7,0xea,0x7a,0x84,0x50, + 0x45,0xb,0xe9,0x10,0x44,0x83,0x33,0xb3,0x33,0x49,0x10,0xc6,0xc1,0xf5,0xa1,0x20, + 0x20,0xac,0xe2,0x63,0xce,0x8c,0xa2,0x9e,0x33,0x51,0x69,0x33,0x9f,0xaf,0x88,0x5e, + 0xa8,0x20,0xd8,0xf,0x9a,0x40,0x1c,0xb2,0x24,0x67,0x29,0x82,0x2a,0x15,0xbd,0xc3, + 0xae,0x37,0x60,0x73,0x31,0x7b,0xec,0xa5,0xeb,0x7f,0xff,0x43,0xaf,0xc6,0x50,0x69, + 0xb5,0x49,0x90,0x60,0x5c,0xcc,0xed,0x89,0x53,0x41,0x30,0x16,0x3a,0xaa,0x14,0xae, + 0x73,0xb6,0x16,0xde,0x3d,0xd1,0xd3,0x9c,0x3d,0x71,0x8a,0x42,0x6f,0xde,0x13,0xe1, + 0x4f,0xf5,0xf0,0xa0,0xf3,0xa4,0xc9,0x89,0x2d,0x3,0x6d,0xb5,0x2f,0xd5,0xc6,0xd5, + 0x34,0xae,0x11,0x54,0x95,0x35,0x4d,0x40,0x4,0x88,0x7,0x27,0xe,0xfe,0xef,0xbf, + 0x7c,0xfb,0xcf,0x7f,0xf9,0x57,0xfb,0xd7,0x33,0x14,0x9f,0xf8,0x67,0xf9,0xdb,0xdf, + 0x26,0xab,0x5e,0x3a,0x7d,0x2e,0xd5,0xce,0xd3,0x75,0xfd,0x89,0xfe,0x86,0xd3,0x2, + 0x7c,0x52,0x80,0x90,0x9f,0x25,0x41,0x33,0xf3,0x2f,0x7f,0x9a,0x92,0x40,0x54,0x93, + 0x12,0x1c,0xb9,0xce,0x12,0x21,0x12,0xf9,0xcd,0x37,0x93,0x22,0x98,0x26,0x45,0xa4, + 0x12,0x9f,0x25,0x82,0xbf,0x89,0xcd,0x7f,0x93,0x22,0x90,0x17,0x70,0xf0,0x2,0x93, + 0x8f,0xc0,0xd4,0x39,0xab,0xa0,0xe3,0xf1,0x8d,0x9b,0x4e,0xde,0xda,0x39,0x51,0x70, + 0x97,0xa3,0xe7,0x8d,0x1d,0x31,0x6e,0x7e,0x10,0x7e,0xf9,0x21,0x87,0x7f,0xe3,0xe5, + 0xdf,0x61,0x45,0x6a,0x62,0x6c,0xd,0x4c,0x3f,0x35,0x6c,0x2e,0xef,0xdf,0x44,0xc, + 0x82,0x1a,0x4d,0x2f,0x27,0xe4,0xd6,0xc8,0x16,0x98,0xa5,0xd5,0x44,0x17,0xcf,0x73, + 0xba,0xf8,0xa7,0xf8,0x94,0x9f,0x66,0xd9,0xd6,0xb7,0x5b,0xd6,0xbf,0x7e,0x33,0x7c, + 0xa7,0x9e,0x1d,0xd3,0xc6,0x24,0xd3,0x8,0xf5,0xbc,0xde,0xf8,0xb7,0x3f,0xd,0xdf, + 0x29,0x21,0xd3,0xdd,0x9d,0x2d,0x28,0x49,0xe3,0x3c,0x21,0xe3,0x67,0x42,0x88,0xd1, + 0xb4,0xd5,0x42,0x22,0xe2,0x88,0xcb,0xd4,0xc4,0x64,0x52,0x88,0x9,0xc9,0x79,0xed, + 0xf1,0xe7,0x2f,0xb4,0x87,0xd9,0x17,0xcc,0x96,0xd6,0x79,0x2,0xe8,0xaf,0xfc,0x57, + 0x99,0x12,0x10,0xb3,0x8c,0xd6,0xc2,0x2d,0x97,0x84,0x8c,0x67,0xbd,0xfb,0x9c,0x87, + 0xef,0x8c,0x3e,0x40,0xc8,0x58,0xd7,0x3b,0xbb,0x40,0xc8,0x44,0x97,0xd8,0x94,0xd8, + 0xee,0x5e,0xc9,0xfa,0x6a,0x96,0xd9,0x6f,0xad,0xfb,0xc9,0xe0,0xe3,0x2f,0xe3,0xff, + 0xcf,0x9f,0x2f,0x86,0x8b,0xf5,0xc9,0x9e,0x72,0x7e,0xb8,0xb8,0xf2,0x8e,0x3f,0x3d, + 0xad,0xbe,0xe3,0x25,0xe5,0x75,0x10,0xd8,0x5,0xc2,0x3a,0x15,0x83,0x9d,0x3,0xeb, + 0xc,0x1a,0xcc,0x34,0x62,0x96,0x86,0xbe,0xc1,0x8,0x82,0x9c,0x62,0x8c,0x6d,0x38, + 0x12,0xc9,0x88,0x8d,0x19,0xe3,0xf7,0x8c,0x4,0x1e,0xb8,0xc3,0x14,0x3d,0x78,0x83, + 0x21,0x64,0xb0,0xd1,0x18,0x0,0xd1,0xa,0xaf,0x11,0x8b,0xe2,0xac,0x11,0x33,0x2e, + 0xa5,0x9d,0x58,0x54,0x2d,0x1a,0x3,0x44,0x26,0xc4,0xb4,0xc1,0xc,0xca,0x90,0x7c, + 0xf4,0x86,0x13,0x49,0x37,0xb9,0x23,0xc0,0x94,0xb3,0x46,0x4c,0x2b,0xc9,0x87,0xdc, + 0x59,0x80,0x2a,0x18,0x23,0x4a,0x15,0xec,0x1f,0xb4,0x4,0xd4,0xb8,0x86,0x94,0x4, + 0xcc,0x19,0xb2,0xc1,0x14,0x82,0x72,0x57,0x46,0xf3,0xc1,0x75,0x1e,0x41,0xf3,0xf0, + 0x2d,0x86,0x6c,0x23,0x22,0x55,0xb9,0xab,0x8a,0x68,0xc5,0x88,0x71,0x53,0xdf,0x1, + 0x48,0x49,0xd9,0x57,0x4a,0x9,0x18,0x47,0xd4,0xbe,0xf2,0x8a,0x81,0x1b,0xd,0x67, + 0x41,0x8a,0xcb,0xa0,0xcd,0x2,0xa2,0x70,0xdd,0x60,0x9,0xac,0x9c,0xdb,0xea,0x47, + 0xb8,0x6c,0x24,0x46,0x8e,0x41,0x4,0xdc,0x15,0xd3,0x3,0xc2,0x82,0x6a,0x4,0x45, + 0x73,0xc8,0xe6,0xa,0x2e,0x6c,0xb4,0x7b,0x94,0x4,0x1d,0xb4,0xe8,0xb8,0xfe,0xaa, + 0x56,0x40,0x6c,0xdb,0x46,0x78,0x7e,0x9c,0x9,0x78,0x52,0xd,0x32,0x10,0xc,0xd, + 0xf3,0x83,0x6a,0x80,0x7b,0x60,0x8c,0xa5,0xf0,0x40,0xac,0xd,0x46,0x50,0xbf,0x47, + 0x48,0xf8,0x39,0xdc,0xa0,0x1,0x89,0x94,0xbb,0x12,0x1a,0xf,0xb9,0x6d,0xac,0xfc, + 0xae,0x9,0x89,0x1c,0x69,0x83,0x25,0x84,0x63,0xf0,0x28,0x85,0x4c,0xc7,0xc6,0x1e, + 0x51,0x43,0x92,0xb1,0xd8,0xc5,0xa1,0x36,0x96,0x11,0x89,0x30,0xc6,0x52,0xba,0x96, + 0x4c,0x14,0x7b,0xac,0x4c,0x5,0xa8,0x67,0x6c,0xf1,0xe7,0x26,0xc,0x30,0xa6,0xca, + 0x11,0x8b,0x12,0xe4,0x2d,0xe6,0x95,0x3a,0x62,0x25,0x6e,0xb5,0xc3,0xd8,0x46,0xb9, + 0x58,0xdb,0xf6,0x30,0x24,0x88,0x40,0x8b,0xb1,0x8c,0x1e,0xc4,0xb4,0xc1,0x1c,0xa4, + 0x6a,0x57,0x17,0xd6,0xf2,0xfc,0x60,0x44,0xdb,0xe2,0xa8,0x40,0x79,0xee,0xf2,0x3a, + 0x68,0x91,0xfa,0x98,0xe,0xb1,0x9c,0xc7,0xe7,0x25,0x55,0xe9,0xf8,0x3c,0x2e,0x51, + 0x9f,0x28,0xf4,0x17,0xf6,0x0,0x15,0x7d,0x79,0xca,0xb5,0xed,0xc6,0xfb,0xe6,0x6e, + 0x8b,0xc8,0xfe,0xce,0x86,0xef,0x1e,0x3f,0xff,0xbf,0xef,0x6,0xf3,0x9,0xec,0x92, + 0xfb,0xef,0xb0,0x1b,0x9c,0x2a,0x4,0x12,0x2a,0xa1,0xd4,0xdf,0xe1,0xd1,0xda,0xc, + 0xe9,0x51,0xc9,0x39,0xf6,0xf6,0x44,0x8e,0xe9,0x91,0x31,0x49,0x3c,0xce,0xb9,0x4c, + 0xe5,0xe9,0xf1,0x9f,0xee,0x7e,0xfb,0xe5,0x97,0xcf,0x77,0x3f,0xfc,0xf9,0xfb,0xdf, + 0x7e,0x6e,0xab,0xd9,0xfe,0x4d,0x38,0xad,0x31,0xa2,0xf,0x7f,0x79,0xfc,0x8f,0xcf, + 0x77,0xbf,0x7e,0xfe,0xf1,0x87,0xad,0x97,0x92,0xe5,0xec,0xa3,0x29,0x3f,0x21,0x7d, + 0x4f,0x6d,0x5b,0xad,0x34,0xc3,0xe9,0x79,0xf3,0xd4,0x36,0x5a,0x9f,0xe0,0xec,0x9a, + 0x7,0x7,0xee,0x77,0xbd,0xa2,0x8d,0xf7,0xef,0xd2,0x7a,0xb3,0xfb,0x44,0x49,0x41, + 0xc9,0xf2,0xd8,0xd1,0x78,0xc5,0x98,0xb5,0x36,0xa3,0xe8,0xb1,0xc6,0x75,0x6a,0xe8, + 0xb,0x2f,0x78,0x68,0xbd,0xd9,0xe9,0xb3,0x1a,0xc7,0xbd,0xef,0x87,0x8a,0x4f,0xaf, + 0xee,0x58,0x1d,0xaa,0x70,0x4a,0x5a,0x4c,0xce,0x1a,0xce,0x97,0x86,0xff,0xf8,0x96, + 0x99,0x86,0xa2,0xcb,0x2a,0x33,0x8d,0x31,0xb0,0xbe,0xfd,0x67,0xca,0x3b,0x53,0x74, + 0x7b,0xbd,0xa2,0x8b,0x40,0x6e,0x19,0xbb,0x71,0x23,0xa4,0xc6,0xad,0xfd,0x5,0xc5, + 0x82,0x3e,0xa2,0x62,0x62,0xbc,0xc1,0x1c,0xa2,0x52,0x72,0x6f,0xe0,0x90,0x32,0x28, + 0xb2,0x8c,0xbd,0xb1,0x4a,0x4a,0xc1,0x25,0x31,0xf7,0x6,0x34,0x29,0x81,0x4c,0x46, + 0x7d,0x19,0xf8,0x46,0xec,0x39,0x6f,0x3c,0xe7,0x4d,0x87,0x14,0xb6,0x9d,0x1d,0xc4, + 0xca,0x1c,0x77,0xe7,0xb3,0x27,0xca,0xef,0x25,0xb4,0xd,0x86,0xe0,0xbb,0x52,0x3b, + 0xe4,0x36,0xaf,0x7,0xa4,0x2a,0xda,0x18,0xce,0xe6,0xcc,0x21,0x9d,0x2b,0xf8,0x76, + 0xd5,0xc5,0x18,0xac,0x4c,0x62,0x83,0x9,0x44,0xe1,0x90,0xd7,0xf4,0xf7,0xbc,0x4, + 0x2c,0x92,0xd5,0xa9,0x13,0x24,0x87,0xf9,0xb8,0x12,0xa3,0xdb,0xf2,0x5,0x81,0xb3, + 0x4d,0x20,0xdf,0x6e,0xb0,0x82,0xda,0x61,0xf2,0x5c,0x8b,0x30,0x30,0x47,0x97,0x4e, + 0x93,0x81,0x33,0xc8,0x76,0xda,0x33,0x1c,0x30,0x1a,0xa4,0xee,0x6b,0x7e,0x87,0x7c, + 0xb3,0xd,0xbf,0x8b,0x7,0xbd,0xa4,0x52,0x85,0x8,0x22,0xda,0x7b,0x96,0x3a,0x82, + 0x36,0x32,0xbf,0x1d,0xa7,0x52,0xd5,0x94,0xed,0x9b,0x9,0x6c,0x1c,0x31,0x2b,0xd2, + 0xf6,0xea,0xa9,0xe6,0x60,0xda,0xea,0x43,0xcd,0x20,0x90,0x35,0xf7,0xf4,0x36,0xfc, + 0xa4,0x19,0x5e,0x7b,0xfa,0x55,0xad,0x57,0xed,0x30,0x8e,0x6a,0x2e,0x41,0x7b,0xed, + 0xa5,0x22,0xa0,0x55,0xbc,0xd7,0xac,0xca,0xe,0xda,0x36,0xff,0x16,0xd3,0x6a,0xe6, + 0x8c,0x6c,0xe0,0x25,0xee,0xfb,0xd3,0x23,0x56,0xd0,0x3,0xd6,0x29,0x33,0x20,0x32, + 0xeb,0xfe,0xc,0x89,0x11,0x14,0xd3,0x73,0x3b,0x43,0x4a,0x62,0x9f,0xe2,0x7b,0x33, + 0xae,0x4e,0x4d,0xca,0x6f,0x15,0xa2,0x99,0x1a,0xd7,0xcf,0x3e,0xf7,0x5a,0x71,0xca, + 0x8,0x8b,0x54,0x9d,0x6d,0x84,0x77,0xaa,0x39,0xdf,0x8,0x8b,0xe2,0x2,0x23,0xfc, + 0xf4,0xb0,0xf9,0x3e,0x4e,0x48,0x9b,0x36,0xc2,0x17,0x1a,0xc8,0x25,0x10,0x2c,0x90, + 0xaa,0x5d,0xb8,0x67,0x83,0xf0,0xa2,0x66,0x1c,0x97,0x4a,0x48,0xd3,0x83,0x71,0x5c, + 0x58,0xc1,0xd,0xa5,0x8e,0xad,0xdb,0xab,0xcc,0xdb,0x66,0xa0,0xb2,0xc2,0x95,0x62, + 0x33,0x1f,0x7b,0xb2,0x51,0xc5,0x16,0x50,0x68,0xfc,0x2c,0xa1,0x90,0xc4,0x2,0xa, + 0x8d,0x9f,0x4b,0x8e,0xe3,0xa2,0xbc,0x3c,0x62,0xd0,0x4e,0xe2,0x55,0x5e,0xc5,0x63, + 0x5,0x5,0x2,0x59,0xbc,0x1b,0xb9,0x45,0x19,0xfa,0xe1,0xdb,0x11,0x35,0x36,0xcb, + 0x4e,0x72,0x1c,0x65,0xb4,0x46,0xd4,0x81,0x22,0x58,0x3b,0x89,0x4,0x21,0x76,0x1b, + 0x50,0x22,0xd0,0x44,0x1b,0x50,0x7,0x53,0xcd,0x1c,0xd1,0x82,0x72,0x4b,0xde,0xa0, + 0x5,0x54,0x6e,0x32,0xa0,0x1c,0x20,0x85,0xaa,0x9d,0x24,0x82,0x13,0x6e,0xa5,0xc9, + 0x38,0x96,0x73,0x8e,0x4f,0xc8,0x4a,0x95,0x11,0x2d,0x28,0x25,0x3b,0x40,0x55,0xc0, + 0x4d,0xb2,0x3a,0x49,0x6,0x64,0x2d,0x1f,0x51,0x3,0xab,0x1c,0x9e,0x5b,0x8,0x64, + 0xee,0xb9,0x43,0x95,0xc9,0x87,0xba,0x19,0xa8,0x55,0x3d,0xa3,0x11,0xc6,0xb4,0x41, + 0x3,0x14,0xd5,0xb6,0xd2,0x2,0xaa,0x2,0x75,0x7c,0xae,0x44,0x1a,0xd,0x28,0x27, + 0xa8,0x11,0x6d,0x40,0x7,0x2c,0x4c,0x1e,0x41,0x2,0x33,0xcf,0x2d,0xca,0x1e,0xbe, + 0xd3,0x2,0xb1,0xd7,0xa0,0x31,0x2,0xa1,0x48,0x1b,0xd0,0x9,0xed,0xe,0xe3,0xc0, + 0xcc,0x13,0xa6,0x8,0x61,0x47,0x82,0x33,0x38,0x7e,0xde,0xd9,0x50,0x90,0x12,0x6f, + 0xef,0xe8,0x29,0x4b,0xc6,0xa,0x7a,0xd4,0x7,0x5d,0xd0,0xd1,0x53,0x97,0x8c,0x15, + 0xa3,0xb4,0xd9,0x1d,0xfd,0x94,0xa7,0x9c,0x32,0xe5,0x29,0x93,0x8a,0x4,0xd1,0x81, + 0xa7,0x8c,0x41,0x9e,0x66,0x36,0xe1,0x2a,0xb,0xa5,0x23,0xf2,0x81,0xab,0x4c,0x56, + 0x82,0x88,0x2b,0x79,0xca,0x29,0xc7,0x3c,0x65,0x42,0x73,0x64,0xcf,0x37,0x78,0xca, + 0xff,0x7e,0xf7,0xcb,0xbf,0xed,0xab,0x6c,0xf8,0x5d,0x38,0x5f,0x78,0x36,0x0,0x6f, + 0xf7,0x6c,0x7e,0xd9,0x7d,0xee,0xef,0x27,0x3,0x20,0x59,0x53,0xfb,0x54,0xcd,0x83, + 0xbc,0x13,0x67,0x8,0xc6,0x31,0xe2,0x87,0xa,0x51,0xb8,0xc5,0x8a,0xcd,0x47,0xf7, + 0x25,0xb2,0xd4,0x36,0x50,0x82,0xe5,0xd6,0x2d,0x61,0x70,0xc7,0xa2,0x4e,0xc2,0xc0, + 0x44,0x68,0xf4,0x4b,0xa,0x34,0x94,0xb6,0xb6,0xcd,0x49,0x85,0x46,0xac,0x24,0xa9, + 0x93,0x22,0x40,0x2f,0x19,0x9e,0x47,0x90,0x9a,0x4a,0x9d,0x22,0x42,0xaa,0xf9,0x90, + 0xb7,0x4,0xc2,0x32,0xa4,0x53,0x42,0x70,0xa6,0x94,0xed,0x31,0x69,0x71,0xcf,0x4e, + 0x19,0x21,0x8a,0x69,0xb7,0x3b,0x96,0x65,0xc8,0xcc,0xa,0x1a,0xbb,0x32,0x3b,0xb0, + 0x4a,0xe,0x60,0x40,0x59,0xe0,0xce,0x71,0x20,0x76,0x1b,0x31,0x61,0x2f,0x7e,0xa9, + 0xf0,0x88,0xb1,0x51,0xda,0x90,0x9b,0x18,0xbc,0xb8,0xf6,0xd0,0x11,0x4b,0x2f,0xdb, + 0x42,0x1a,0x31,0x64,0x16,0x40,0x54,0x3f,0xcc,0x3c,0x5a,0x66,0x8a,0x46,0x4c,0x81, + 0x70,0x62,0x53,0x1c,0x66,0x10,0xcd,0x83,0x72,0xb3,0x81,0x89,0x91,0xee,0x57,0x50, + 0x8,0x92,0x4,0x6b,0x5f,0x11,0x22,0x10,0x2c,0xad,0xc6,0x54,0xc,0x5c,0x24,0x74, + 0x4f,0xb5,0x2a,0xe,0x58,0xe1,0xb2,0xd7,0x2,0x2a,0xc,0x45,0x7,0x4d,0xa5,0x5c, + 0x10,0xc9,0xe2,0x7b,0x6d,0x3a,0x96,0x21,0x89,0xf9,0xa5,0xe9,0x9f,0xeb,0xbc,0xc7, + 0x90,0x6f,0x27,0x68,0x33,0x39,0x26,0x34,0x9e,0xc0,0xf4,0x31,0xe,0x2e,0xfa,0xf8, + 0x1e,0xdc,0x86,0xa1,0xff,0x1d,0x59,0x7d,0x1d,0x97,0x4c,0x99,0x41,0x55,0x33,0xbd, + 0xd9,0xb3,0x34,0xf6,0xd,0x29,0xd4,0x17,0x74,0x63,0xb2,0x94,0x18,0x54,0x58,0x5e, + 0xd2,0xde,0x4f,0xa6,0xbd,0x6f,0xd2,0xce,0x38,0x38,0xb1,0x7d,0xa9,0x5,0xa8,0x94, + 0xa5,0x55,0x87,0x20,0x26,0x66,0x22,0x5d,0x4f,0xa1,0xe0,0x9e,0x52,0x1f,0xe7,0xed, + 0x7f,0x3a,0x76,0x80,0x62,0xee,0x1b,0x9a,0x38,0x6a,0x9d,0x90,0x99,0x9e,0x8e,0x88, + 0xb9,0x2f,0x18,0x60,0xef,0x9e,0xf0,0xd1,0xe6,0xe,0xb0,0xd3,0x8f,0x88,0xc7,0x78, + 0xf0,0xc3,0x47,0x4c,0xaf,0xa7,0x16,0x91,0xc8,0xe4,0xfd,0x44,0x91,0x73,0xc2,0x70, + 0x5e,0xe7,0x8f,0xea,0x8f,0x4f,0xf7,0x4f,0x77,0xf7,0x13,0x55,0x5c,0x3e,0x7d,0xf, + 0xb4,0x85,0xd3,0xf7,0x69,0x7b,0x80,0x10,0x5a,0xe8,0xe2,0xf6,0x65,0xc3,0x10,0x58, + 0x1f,0xdf,0xcd,0x96,0xf,0x51,0x1a,0xd7,0x99,0xb0,0x76,0x11,0x23,0x91,0x82,0x10, + 0x8f,0xea,0x94,0x1c,0x92,0x43,0x7c,0x83,0x19,0x18,0x66,0x6c,0x77,0x2e,0x23,0x93, + 0x6e,0xf2,0xe1,0x76,0xbd,0x68,0x17,0xf3,0x19,0x1,0x42,0xb1,0x6d,0x8c,0x2e,0x43, + 0x23,0x37,0xf9,0x4,0x3c,0x48,0xc7,0xd0,0x90,0x51,0x16,0x7f,0x10,0xb6,0x31,0x9f, + 0x26,0xe0,0x2e,0x7c,0xc6,0xa,0xfc,0x82,0xec,0xe,0x2b,0xa,0xa7,0xef,0x67,0xc3, + 0x82,0x2c,0xd7,0x78,0x79,0xfa,0x88,0x71,0x53,0x4,0x52,0xd0,0x22,0xd6,0xbd,0x62, + 0x12,0x2,0xbb,0x30,0xed,0xd7,0x6,0x13,0x62,0x57,0xe5,0x5d,0x9,0xac,0x53,0xa, + 0x40,0xa1,0xed,0xef,0xad,0x4e,0xa6,0xd7,0x5c,0x2,0x63,0xf9,0xa1,0xb8,0xb3,0x6f, + 0x80,0xb3,0x93,0x56,0x43,0xdc,0x96,0x58,0x8d,0x7a,0x7c,0x78,0xc4,0x99,0x56,0x63, + 0xfe,0x23,0x10,0x12,0x2d,0xcc,0x24,0xbf,0x60,0x3e,0xa6,0x2c,0x87,0x7,0xce,0xf0, + 0x7,0xbe,0xf0,0xb2,0xfd,0xd9,0xd5,0x9c,0xef,0xf,0xcc,0x37,0xea,0xac,0xf6,0xf6, + 0x75,0x10,0xd6,0x38,0xbf,0xfd,0x1e,0xef,0xef,0xbd,0xe,0xe3,0x27,0x33,0xec,0x2f, + 0xeb,0x22,0xfb,0xfb,0x40,0x9f,0xe8,0x40,0xd8,0xe5,0x94,0x68,0x72,0x1,0x25,0xda, + 0x92,0x20,0x14,0x3f,0xe4,0xa7,0x4f,0xb,0x16,0x93,0x78,0x7a,0xaf,0xce,0x1c,0x69, + 0xeb,0x71,0xb1,0xe8,0xb4,0x96,0x4a,0x16,0x50,0x2d,0x3e,0x79,0xea,0x2,0xaa,0x95, + 0x2d,0xa0,0x9a,0xe7,0xa3,0xd3,0x6a,0x4a,0x12,0xbf,0x40,0x87,0x15,0x5f,0xd2,0x61, + 0xed,0xee,0x31,0xe2,0x7c,0x2d,0xca,0xa2,0x9,0xd3,0xd8,0x64,0xab,0x69,0xd1,0x44, + 0x4e,0x2a,0xc9,0xc4,0x2f,0x13,0x15,0x46,0x20,0xe3,0xe0,0xe0,0x9c,0xd3,0x33,0x4d, + 0xf2,0x32,0xe1,0x61,0xba,0xa0,0xba,0xcc,0xdf,0x4e,0x3a,0xb3,0x5c,0xa0,0xcf,0x78, + 0xcc,0x87,0x25,0xab,0xe5,0xe6,0x38,0x5f,0x8d,0xad,0xb4,0xd5,0x58,0xe7,0x84,0x6f, + 0x57,0xa3,0x13,0x5f,0x51,0x8d,0x4e,0xfa,0xfe,0xd4,0x68,0x7c,0x1,0x35,0x9a,0x5e, + 0x53,0x8d,0xe6,0xef,0x4e,0x8d,0xe1,0xf9,0x76,0x35,0x46,0xe0,0xf9,0x6a,0xbc,0x97, + 0xba,0x8b,0xfb,0x5,0x6a,0x44,0x39,0xa3,0x53,0xb7,0xd2,0x56,0x53,0x63,0xce,0x98, + 0xb5,0xe4,0x92,0x59,0x8b,0x86,0xdc,0xe1,0xd3,0x9b,0x1c,0x9c,0x50,0x31,0xc4,0x79, + 0x61,0x91,0xaf,0x26,0xcb,0x5d,0x33,0x5a,0x25,0x97,0x4c,0x93,0xf4,0x41,0x88,0x62, + 0xb5,0x11,0xab,0xca,0xda,0x56,0x59,0x10,0x81,0x9a,0xd2,0xd3,0x94,0x96,0xaa,0xe2, + 0xb4,0x96,0xc,0x11,0x27,0x15,0xaf,0x38,0x7e,0xe8,0xab,0x5,0x1,0xae,0x43,0xb1, + 0xb,0x62,0x50,0xc7,0x5a,0xae,0x2d,0x3e,0x5f,0xaa,0x71,0xc,0x29,0xcf,0x39,0x27, + 0xa8,0x77,0x9f,0x82,0x17,0x36,0x8e,0x21,0x4f,0xb8,0xe6,0xe7,0x4e,0xdf,0x67,0x2b, + 0x89,0x2f,0xa7,0xa4,0x19,0xe1,0x56,0x5b,0x14,0x6e,0x9d,0x7e,0xf1,0xce,0xdb,0xdf, + 0xdd,0x3,0x1e,0x2e,0x2e,0x6e,0xf3,0xd,0x8c,0x61,0xf0,0x9c,0xae,0x33,0xfd,0x9a, + 0xaa,0x25,0xd5,0xbc,0x58,0xf3,0xf0,0x59,0xaf,0xf1,0xcf,0xc7,0xe1,0xbb,0x94,0xc3, + 0xac,0x7c,0x5e,0x5c,0x2b,0x87,0xef,0x61,0xd5,0xe7,0x92,0x98,0x55,0x2f,0xa6,0x25, + 0xc1,0xb7,0x47,0x46,0x4c,0x70,0x41,0x64,0xe4,0x6e,0xfc,0xcc,0x34,0x98,0xad,0xb4, + 0x98,0x4f,0xb6,0x56,0xda,0x6a,0x64,0xb3,0xf0,0xb7,0xab,0xd1,0x62,0x81,0xff,0xe5, + 0x2a,0x82,0xb9,0x40,0x8d,0x96,0x78,0x21,0x35,0x2e,0x78,0x31,0xf4,0x11,0x35,0xcd, + 0x5b,0x41,0xc3,0x38,0xf6,0x6a,0x65,0xc1,0x99,0x77,0x64,0xce,0xba,0x74,0x6d,0x90, + 0x46,0xda,0xe1,0xf0,0x5,0xb2,0xf2,0xa4,0xed,0x2d,0x4,0x9c,0x1c,0x5d,0x1f,0x9, + 0xc4,0x24,0xf6,0xb1,0x5d,0x9e,0x2c,0x40,0xa2,0xa,0x6a,0x96,0x32,0x19,0x3c,0x54, + 0x70,0xaf,0xa1,0x9f,0x26,0xd3,0x3e,0x35,0x69,0xdb,0xf7,0x4a,0xb3,0x3a,0x95,0xc, + 0x4a,0xbf,0x9d,0x7a,0x69,0x65,0xf5,0x12,0x82,0x8b,0x93,0x77,0x7d,0x1a,0x30,0xa1, + 0xd3,0xad,0xb4,0xdb,0x68,0xe6,0x32,0xda,0x15,0x3d,0xfa,0x4e,0x42,0xae,0xb,0x90, + 0x77,0x53,0xba,0xef,0x1f,0xff,0x1,0xa1,0x5c,0x85,0xb5,0x23,0x40,0xf1,0x2a,0x1f, + 0xb4,0xd8,0xbc,0x58,0xb7,0x82,0x34,0xdb,0x3b,0xa2,0x82,0xc1,0x59,0xec,0xe0,0x7c, + 0x49,0x1a,0x98,0x38,0xcb,0x4b,0x52,0xde,0x4b,0xba,0xaa,0xbe,0x58,0xec,0xb8,0xbe, + 0x2e,0xc9,0x46,0xc5,0x72,0xa3,0x8e,0x40,0x88,0x31,0xac,0xeb,0x9,0x4,0x83,0x6b, + 0xd0,0xa1,0x92,0x26,0x7a,0x67,0xe,0x52,0xe4,0xd1,0xf5,0xce,0x20,0x64,0x69,0xad, + 0x5a,0x35,0x41,0x2b,0xcd,0xb9,0x51,0x2b,0x42,0x12,0x19,0x6a,0x79,0xa3,0x57,0x4d, + 0x8,0xe1,0x38,0x50,0x2c,0x83,0xb8,0x5,0x7b,0x9d,0xbf,0xd,0x20,0x39,0xed,0xd4, + 0x50,0x93,0x9c,0x71,0xbd,0xd,0xb5,0xc9,0xb9,0x20,0xc0,0xcc,0x36,0x7c,0x67,0x8f, + 0xd8,0x37,0x33,0x86,0x9c,0x97,0x1c,0x6b,0x8a,0x2d,0xb2,0x76,0xc6,0x90,0x45,0xc5, + 0xc6,0x3b,0x60,0x32,0xb8,0x30,0xbb,0x3e,0xa,0xcc,0xc9,0xfd,0xba,0xd6,0x70,0x9, + 0x9,0x23,0x4e,0x93,0x30,0xea,0xaa,0x24,0xa4,0x5,0xf3,0x9d,0xc7,0xe1,0x7b,0x20, + 0xed,0x26,0x24,0x64,0x3b,0x4a,0xc2,0xb0,0x35,0x6d,0x20,0x82,0x16,0x1b,0x73,0x87, + 0x60,0x22,0xc8,0xd9,0x69,0x81,0x7a,0x95,0x75,0xbd,0x29,0x24,0x6b,0x4e,0x50,0x12, + 0x2b,0x53,0x1b,0x4a,0x26,0x68,0x99,0x10,0x73,0x4b,0xc9,0x0,0x9,0xcc,0xcc,0x86, + 0x92,0xe,0x11,0x48,0x5e,0xb1,0x4f,0x49,0x81,0xa,0x43,0x45,0x5b,0x42,0x49,0xaf, + 0x96,0x92,0x33,0x78,0xb6,0xd0,0x21,0x4c,0xe,0x5a,0x70,0x37,0xc1,0x42,0x87,0x30, + 0x39,0xe4,0x6,0x94,0x94,0x13,0x94,0xf4,0xb8,0x18,0x25,0x7b,0x2,0x23,0x94,0x8e, + 0xc1,0x95,0x38,0x64,0xbc,0x19,0x8b,0x80,0x3c,0x30,0xf2,0xb1,0xd7,0xae,0x2f,0x20, + 0x42,0x66,0x1d,0xfe,0x92,0x1,0x38,0x90,0x35,0x40,0x25,0xfd,0xd0,0x58,0x8a,0x82, + 0x47,0xb8,0x54,0xc3,0xcc,0x0,0x75,0xe6,0xf0,0x17,0xf4,0x69,0x32,0xed,0xd3,0x64, + 0xda,0x9f,0x47,0x12,0x5b,0x19,0x95,0x2f,0x62,0x26,0x9d,0x36,0x96,0x2e,0x97,0x5a, + 0xec,0xf4,0x14,0x35,0x61,0x9f,0x65,0x35,0xdd,0xd6,0x3b,0xb,0xb3,0x3e,0x45,0x51, + 0x8e,0x52,0xd4,0xea,0x62,0x14,0x45,0xa8,0xaa,0x22,0xed,0xfa,0x80,0x54,0x72,0xf5, + 0x81,0x8a,0x6,0xee,0x8e,0x51,0x3,0x47,0x19,0x50,0x53,0x70,0x83,0xf3,0x40,0x5e, + 0x56,0x66,0x19,0xf9,0x1a,0x60,0x49,0x62,0x71,0x55,0x9e,0xc6,0xaa,0x53,0x76,0xb4, + 0x3c,0x3a,0x65,0xb7,0xb8,0xe0,0x70,0x85,0x69,0x22,0xd6,0x11,0x20,0x9,0x69,0xd, + 0xca,0x45,0x2c,0xb5,0x18,0xa0,0x2c,0x41,0xed,0x88,0xa,0x3c,0xdc,0xba,0x9e,0x3, + 0x52,0x4a,0xf,0x3c,0x21,0x22,0x10,0x76,0x49,0x6d,0xaf,0x13,0xf,0x90,0x94,0xaa, + 0xf6,0x80,0x1e,0x29,0x68,0x89,0x9,0xbd,0xa4,0xe5,0xbd,0xb4,0x4b,0xfa,0xbf,0x9e, + 0x9e,0xb1,0x2f,0xda,0xc2,0x55,0x77,0xe1,0x88,0x6f,0x5b,0x94,0x90,0xbb,0x87,0x99, + 0x2b,0x54,0x58,0x5c,0x8c,0xe2,0x93,0x43,0x94,0xd6,0x1c,0x6b,0x63,0x34,0x1d,0x9a, + 0x46,0x15,0x8a,0x93,0x56,0xe7,0xfe,0x81,0xef,0x97,0xcc,0xc,0x4d,0x26,0xa5,0x16, + 0x59,0x90,0xa4,0x7d,0x35,0x43,0x41,0x8b,0xc4,0x2e,0x30,0xad,0x9f,0x2a,0x7,0x69, + 0xb7,0x9f,0x90,0xa2,0xe5,0x51,0xd3,0xaa,0x97,0xf3,0x8a,0x1c,0x3c,0xd4,0x79,0x34, + 0x9c,0xe,0x8a,0xc4,0xce,0x3b,0x23,0x2a,0x8a,0x8a,0xb1,0x75,0xcd,0xd5,0x3b,0xde, + 0x1d,0x54,0xec,0xfa,0x54,0x10,0x47,0x92,0x3,0x9b,0xea,0xe0,0x61,0xae,0xd9,0xd8, + 0xd4,0x32,0x8,0x2f,0x8e,0xd6,0xa6,0x92,0x3,0x53,0x88,0x69,0x3b,0x2b,0x55,0x20, + 0x25,0x4e,0x3a,0xb0,0xa9,0xa1,0xae,0xb8,0xc8,0x51,0x12,0x39,0xdd,0xf7,0x17,0x1c, + 0x7f,0x6d,0xfc,0xe7,0x5,0x7d,0xbf,0x79,0xc4,0xb2,0xd5,0xe9,0x64,0x89,0x39,0xfd, + 0x40,0x6a,0xf2,0x91,0x61,0x17,0xac,0x60,0x6b,0x8b,0x68,0xe9,0x6a,0xd5,0xed,0x3b, + 0x1e,0x5b,0x1d,0xef,0x78,0x42,0x97,0xc,0x47,0x38,0xb3,0x69,0x47,0x90,0x4e,0xce, + 0x5d,0xcf,0xe,0x1e,0x4e,0x1d,0x27,0x84,0x6,0x4a,0x47,0x96,0xe,0xa2,0xda,0xf5, + 0xe4,0xe2,0xa0,0xc1,0x6d,0x8f,0x23,0x83,0xe0,0xc0,0x88,0xa6,0xc7,0x59,0x2,0x66, + 0x79,0xbe,0xa0,0x4f,0x93,0x69,0x9f,0x9a,0xb4,0x7b,0x3d,0x6e,0x7b,0x46,0xab,0x7c, + 0x91,0x1f,0xc8,0x33,0x46,0x5b,0x5e,0x30,0xda,0x7e,0xd2,0x52,0xbe,0x5b,0x42,0x48, + 0x5e,0xb2,0x1,0x53,0x1f,0xee,0xef,0xeb,0x40,0xda,0xd,0xf8,0xc8,0x76,0x3c,0x3c, + 0xc6,0x97,0xc,0x8f,0x99,0xa3,0x7b,0x75,0x4,0x2e,0xae,0x36,0xc,0x1,0xa,0x29, + 0x12,0xd4,0x91,0x2,0xb9,0x66,0x76,0x14,0xce,0x20,0x35,0x10,0x32,0xa,0x42,0xa3, + 0x25,0xa4,0x32,0x38,0x85,0x49,0x1b,0x2b,0x23,0x46,0x70,0xa5,0xfd,0x10,0xc4,0x64, + 0xda,0xa7,0x26,0x6d,0x13,0x98,0x50,0xf4,0xcc,0x5c,0x77,0x59,0xa6,0xe8,0xb8,0xaa, + 0x2f,0xd8,0xf5,0x9f,0xd7,0x63,0x2a,0x12,0xb9,0xc3,0xee,0x7f,0xd9,0x3b,0xb7,0x1d, + 0xc7,0x8d,0x24,0xd,0xbf,0xcb,0xde,0x15,0x40,0x5,0xe2,0x7c,0x98,0x3b,0xbb,0xdd, + 0xd,0x2c,0x30,0x73,0xbf,0x77,0x83,0xea,0xc3,0xc0,0x8b,0x31,0x76,0x16,0xb6,0x17, + 0x8b,0x7d,0xfb,0x15,0xa5,0x2e,0x97,0x52,0x4d,0x8b,0x2c,0x36,0x29,0xd6,0x41,0x25, + 0x3,0xee,0xca,0x4a,0x31,0x99,0x5f,0x46,0x66,0x24,0xc9,0x60,0xfc,0xc5,0x90,0xfc, + 0xcd,0x9d,0x47,0x17,0x28,0x62,0xc6,0x6a,0x69,0x92,0x41,0x60,0xd1,0x99,0x43,0x55, + 0x40,0xf5,0xe6,0x22,0x65,0xb0,0xee,0xaf,0x27,0x87,0x9d,0x31,0xbd,0x9f,0xa4,0x8e, + 0xfe,0xf1,0x97,0xfb,0x4f,0xff,0x3c,0x9b,0x43,0x93,0xef,0xf1,0x50,0xe3,0xdd,0x66, + 0x34,0x85,0x93,0x6f,0xf0,0x50,0x8d,0xcc,0xec,0x2d,0xcc,0x8d,0xe4,0xd9,0x9a,0x5b, + 0x53,0x77,0xc0,0xdc,0x64,0x29,0x6b,0xa3,0xba,0xe2,0x4d,0x45,0xa4,0x29,0xce,0x4, + 0x65,0x78,0x87,0x36,0xf6,0xb6,0x4f,0xff,0xf9,0xae,0xed,0xe2,0x27,0xea,0x3f,0x33, + 0xe3,0xd7,0x92,0xd1,0x96,0xa,0xc7,0x48,0xda,0x5b,0xee,0x8c,0x60,0xa9,0x59,0xa3, + 0x42,0x25,0x13,0x46,0x85,0xca,0x86,0x37,0xb9,0x98,0x51,0xc4,0x23,0x7b,0xcf,0xea, + 0x3f,0xdf,0x46,0x73,0x65,0x20,0x4a,0x3d,0x6d,0x90,0x48,0xfa,0xcf,0xdc,0x3b,0xcd, + 0x54,0xb1,0xdc,0x20,0x4d,0x78,0x4e,0x49,0x63,0xcf,0x29,0xa7,0xc7,0x72,0x4d,0x19, + 0xa4,0x19,0xcf,0x29,0x9b,0x58,0xae,0x19,0x71,0xb2,0x8b,0x2d,0xd7,0xc4,0x7d,0xca, + 0xee,0x8b,0xbc,0x65,0xc9,0xbb,0x9d,0xae,0xc5,0xfc,0x75,0xd9,0x2e,0x25,0x92,0xe8, + 0x76,0x6c,0xe,0xe5,0x16,0xd2,0xb9,0x43,0x6,0xaa,0x9d,0xdf,0x67,0x43,0x53,0xf0, + 0x90,0x36,0xbb,0xd5,0xce,0xc0,0xdc,0x11,0xb1,0xbd,0xd1,0xb6,0x23,0x36,0x4,0xb7, + 0xca,0x36,0x6d,0x16,0x69,0x1,0x72,0xf6,0xd3,0x6e,0x4b,0x9a,0xb4,0x18,0x4d,0x3, + 0x27,0x11,0xae,0x2f,0xbb,0x23,0x50,0x3,0x2d,0x2d,0xfa,0x7a,0xa7,0xd8,0x5,0xac, + 0x34,0xad,0x23,0x83,0x14,0x75,0xac,0x15,0x99,0x6e,0x19,0xc8,0x41,0x51,0x57,0x47, + 0xea,0x20,0x68,0x21,0x67,0x48,0x77,0x4c,0x7e,0x14,0x5f,0x6a,0x98,0x32,0x66,0x40, + 0x89,0x4a,0x8b,0xd4,0x55,0x0,0x1d,0x8b,0x1a,0xa4,0x44,0x4c,0x10,0xc4,0xbc,0x2a, + 0x52,0x1a,0xb1,0xd2,0x88,0x67,0x62,0xa5,0x8e,0x6,0x14,0xac,0xdc,0x10,0x95,0x14, + 0x3,0x57,0xce,0x96,0x28,0xa1,0x33,0x14,0xb,0xb7,0x44,0xa3,0xa,0x9c,0xb6,0x36, + 0x52,0x7b,0x26,0x44,0x33,0x21,0xd0,0xb4,0xb2,0x21,0x4a,0x48,0x8,0x6e,0xa1,0x2d, + 0x51,0x31,0x7,0xf,0xce,0x33,0xa2,0x2c,0xa,0x49,0x6c,0x6b,0x5e,0xb6,0xb2,0xd6, + 0xc5,0x3b,0x4,0x14,0xb2,0x1a,0xd1,0x82,0x70,0x54,0xa1,0x33,0xa2,0x3b,0x4f,0xf0, + 0x22,0xaa,0xb3,0xb0,0xc2,0x9d,0x51,0x81,0x58,0x49,0xb6,0x17,0x18,0xc1,0xa,0xca, + 0xcd,0x5,0xc6,0x60,0xe5,0x7f,0x9c,0x54,0x6e,0x9f,0xba,0xd5,0xa1,0xaa,0x6e,0x19, + 0xb5,0x49,0x41,0x4b,0x3e,0x74,0xf3,0xb4,0xf8,0x23,0x6a,0x93,0x8b,0xea,0x18,0xac, + 0x49,0x1a,0x7a,0x60,0x9d,0x90,0x99,0xfa,0x76,0x82,0x62,0xc9,0x6b,0x69,0xbc,0x76, + 0x86,0x37,0x10,0x38,0xc9,0xbd,0xc7,0x5b,0x80,0x55,0xf6,0x76,0xa2,0x62,0xc9,0x63, + 0xc1,0xdd,0x6b,0x24,0x32,0x3f,0x58,0x6f,0x4a,0x21,0x73,0xc7,0xa,0x5c,0x6a,0x7b, + 0xb8,0x74,0x54,0xea,0x7c,0x8d,0xc1,0xb2,0xe4,0x4b,0x6,0x8a,0x91,0xa2,0x89,0x74, + 0x4,0xe8,0x64,0xd9,0xa3,0x3,0xb4,0x8,0x8a,0x8e,0x80,0x54,0x3,0xb5,0xf3,0x82, + 0x62,0x94,0xec,0x76,0x14,0x8,0xec,0xee,0xeb,0x5,0xcb,0x6e,0x3b,0xfd,0x17,0xbd, + 0xcf,0x6d,0x49,0xe2,0xf,0xd3,0x3f,0xcb,0x89,0xbb,0x9d,0x2b,0x50,0x85,0xc7,0x71, + 0x75,0x75,0x63,0x7e,0x4d,0xab,0x2b,0xdb,0x65,0xbc,0xb4,0xa6,0xdd,0x22,0x48,0xa5, + 0x96,0x76,0x8,0x2a,0xc4,0x1e,0x9d,0x2b,0x8,0x23,0x56,0xf,0x5b,0x81,0xd1,0x62, + 0x83,0x0,0xc7,0x8d,0xc2,0x73,0x68,0xd1,0xb8,0xa8,0x8c,0x24,0x91,0xe,0x21,0xa9, + 0x82,0xb3,0x87,0x9d,0xe4,0xa1,0xd4,0x17,0x25,0x89,0x6a,0x47,0x4c,0x40,0x2c,0xba, + 0x87,0xad,0xc,0x12,0xcc,0x6b,0x86,0xe7,0x6c,0x16,0x14,0x41,0xb6,0xe4,0xd5,0x98, + 0x22,0x8a,0x1f,0xae,0x15,0xc,0x28,0x8a,0xea,0xeb,0x2e,0x17,0x30,0xd5,0xb0,0x8e, + 0x4b,0xb0,0xb2,0x76,0x54,0x4,0x44,0xd8,0xff,0x2d,0x13,0x8,0x59,0x37,0x88,0x8a, + 0xd8,0xe8,0x71,0x38,0xd9,0x92,0xfe,0xce,0x32,0x5c,0xb2,0x23,0x30,0x74,0x26,0xef, + 0x76,0xdc,0x97,0x89,0x68,0xc7,0x2,0x6c,0x59,0xd4,0x91,0x60,0x40,0x64,0xf6,0xa6, + 0xac,0x2,0x59,0xb5,0xc1,0x3,0xf1,0x8d,0x9e,0xf5,0x92,0x2d,0xe9,0x3,0xd9,0xf9, + 0xa8,0xb,0xcc,0x8a,0x62,0x7b,0x9e,0xc,0x88,0x14,0xd5,0x11,0x81,0x3a,0xba,0x75, + 0xa4,0x86,0xc0,0x6c,0x3d,0xeb,0x48,0x28,0xe2,0xd7,0xf3,0xac,0x57,0x46,0xfc,0xa1, + 0xd1,0x5b,0x8d,0xae,0xde,0x2c,0x5c,0x98,0xf4,0x16,0x2e,0xbc,0xc9,0x93,0x66,0xd2, + 0x78,0x85,0x81,0xd,0xa3,0x89,0x93,0xd,0x2a,0x9d,0xa2,0x75,0xb5,0x85,0x80,0xc1, + 0x65,0xdc,0xde,0x8b,0x12,0x7,0x2b,0x8e,0xc6,0xad,0xc,0x55,0xfe,0xd4,0x54,0x9e, + 0x64,0xa8,0x6a,0xe1,0xe8,0xfc,0x95,0x5b,0x24,0xb,0x49,0xb7,0x3b,0x5e,0x23,0x7b, + 0x69,0x47,0x9,0xc9,0xe8,0xf1,0xfd,0x9,0x94,0x93,0x44,0x26,0xd9,0x8b,0xc5,0x78, + 0x8e,0xbd,0x1b,0xe1,0x61,0xc2,0xb4,0x18,0xe1,0x39,0xe1,0x12,0xfc,0x94,0xac,0x3f, + 0x9f,0xee,0x3f,0xc5,0xe7,0x4f,0xb3,0x1f,0xcc,0x73,0xbf,0x68,0xcd,0x68,0x6d,0xde, + 0x93,0x71,0xae,0xe5,0x9e,0x8c,0x53,0x3d,0x45,0x46,0x17,0xef,0xe9,0xde,0xe6,0x53, + 0xa2,0x5,0x55,0x74,0xc7,0x29,0xc9,0x82,0x94,0xe8,0x29,0x49,0x8a,0xe4,0xb,0x7f, + 0xf1,0x99,0xa1,0x5e,0x44,0x93,0x62,0x3c,0xc8,0xc6,0x22,0x6f,0xa6,0xe7,0xea,0x31, + 0x25,0xa,0xd7,0x98,0x93,0xf7,0x67,0xb6,0xd,0xd3,0x72,0xd1,0x1d,0xf8,0xa4,0xfc, + 0x5e,0xfc,0x85,0xef,0xf9,0xe3,0x5c,0x1b,0xc6,0x9a,0x12,0x67,0x8e,0x55,0xc3,0x22, + 0xe1,0xa2,0x15,0x26,0x3e,0x92,0xe,0xed,0x93,0x96,0xde,0x7f,0x57,0x7c,0x94,0x7d, + 0xb4,0xb2,0xfb,0x29,0x9d,0x4,0xf7,0xd0,0xc,0xcf,0xc1,0x51,0xc2,0xa7,0xcd,0x58, + 0xff,0xe8,0xe5,0xf7,0xb3,0x67,0x2c,0xca,0x72,0x36,0x91,0xf5,0x6f,0x33,0xce,0x7b, + 0xa6,0x4d,0x5c,0x93,0x12,0x96,0x5c,0x3f,0xe2,0x47,0xfa,0x9d,0xcb,0x45,0xdc,0xcb, + 0x6d,0x9b,0x19,0xcc,0xaa,0x22,0x8f,0xf7,0xa4,0x19,0x2c,0x39,0x8,0xa9,0x4b,0x3, + 0x74,0xab,0xcc,0x6e,0xa7,0x99,0x1,0xe2,0x16,0x67,0xb1,0x14,0x15,0x10,0xca,0xee, + 0x67,0xcf,0xa9,0x4b,0x2,0x2a,0xd3,0x1e,0x2b,0xf3,0x70,0xe5,0x7d,0x31,0x65,0x19, + 0x28,0xd3,0xba,0xa1,0x14,0xe9,0x97,0x69,0xda,0x82,0x34,0xa5,0x28,0x52,0xf3,0x81, + 0xa6,0x87,0x12,0x79,0xe7,0x5,0x46,0x88,0x71,0xa0,0x69,0x9,0x5e,0x75,0x6,0x93, + 0x50,0xa0,0x18,0x8b,0xcf,0x60,0xb2,0x42,0x69,0x48,0x3,0x73,0xa8,0x32,0x1f,0xc8, + 0x17,0x60,0xa6,0x6f,0x4b,0x53,0x16,0xa3,0xb9,0x63,0x70,0x8b,0x22,0xb1,0x3,0xce, + 0x1d,0x3,0xa7,0x3a,0xa9,0xed,0x29,0x72,0x40,0x6,0x1e,0xb5,0xc2,0xd,0x24,0x92, + 0x26,0x2,0x15,0x84,0x4a,0xe2,0x69,0x40,0x35,0x80,0x6d,0xe5,0x48,0x1f,0xe,0xbc, + 0xc,0x94,0x9a,0x8e,0x15,0x83,0x85,0x66,0x4a,0xdb,0x2f,0x66,0x20,0xc1,0xd2,0xa6, + 0x5f,0x26,0x10,0x1a,0x18,0xed,0xa4,0xb,0x7,0x21,0xf3,0x9a,0xb8,0x88,0x6c,0xda, + 0xf9,0xa9,0x91,0x63,0xd7,0x41,0xd4,0x5a,0xe9,0xef,0xfd,0x3f,0x7f,0xb9,0xff,0xfd, + 0xcb,0xfe,0x46,0x1b,0x3a,0x64,0x58,0x87,0x77,0x3d,0xad,0x56,0x43,0x66,0x9a,0x54, + 0xcc,0x90,0xd2,0x4c,0x62,0xd8,0x98,0x4,0x64,0x62,0xc4,0xb9,0x3e,0xcb,0xce,0xb, + 0x22,0x89,0xad,0x4b,0xdc,0x4b,0x9c,0xec,0x2,0x41,0x92,0xc8,0xb4,0x4b,0x3c,0xfc, + 0x96,0xd1,0xff,0x9,0x34,0x50,0x44,0x1e,0x4b,0xe8,0x41,0x5e,0xe5,0xa1,0xa4,0x47, + 0x76,0x94,0xae,0x3f,0x29,0x12,0x30,0x2e,0x8f,0xd3,0xc3,0x12,0xeb,0x49,0xa3,0xc4, + 0xda,0x1f,0xe3,0x28,0x7b,0x7f,0xf8,0xb5,0xff,0x7e,0x82,0x96,0xa4,0xfa,0xb1,0x72, + 0x2,0xf6,0x3f,0x7a,0x7a,0xbc,0x7c,0x6c,0x6f,0xff,0xf5,0x7c,0x38,0x9f,0xc3,0x97, + 0x1f,0x4f,0xf7,0xe4,0x48,0x89,0x8f,0xad,0x24,0xee,0xbf,0xd4,0x74,0x7c,0xaa,0x4, + 0xd7,0xb9,0x45,0x96,0x9c,0x2b,0xed,0x5c,0xd4,0x67,0xe4,0x73,0x61,0x9d,0x5f,0xff, + 0xf5,0x3f,0xff,0xf5,0xf9,0x5c,0x59,0xa7,0x2d,0x3d,0xc8,0xec,0xfc,0xf2,0x9f,0xfb, + 0xff,0xfd,0x45,0x1f,0xca,0x3e,0xdf,0xff,0xf6,0xf3,0xfd,0xaf,0xbf,0xde,0xff,0x5f, + 0x23,0xdf,0xd3,0x97,0x1e,0x37,0x28,0x7f,0x21,0xc0,0x8c,0xa8,0xaa,0x1c,0x12,0xe8, + 0x19,0x17,0x95,0x19,0x56,0x95,0xd9,0x70,0x6a,0xcf,0x73,0x14,0xe3,0x53,0x70,0xad, + 0xb5,0x60,0xdd,0x28,0x19,0x94,0xcb,0xb4,0xa8,0x75,0x6f,0xaa,0x90,0xc8,0x62,0x67, + 0x51,0x2b,0x4,0x59,0x8a,0xee,0x4d,0xbf,0x1e,0x2b,0xb7,0xee,0x4d,0x10,0x3c,0xd1, + 0x5f,0x80,0x1b,0xf0,0xad,0xdd,0xc0,0xf4,0xfb,0xcf,0x65,0x6a,0x6a,0xd6,0xed,0x58, + 0x18,0x28,0xb9,0xb8,0x13,0x70,0x39,0x7c,0xee,0xd6,0x35,0x21,0x8a,0xcb,0x10,0xe3, + 0x1b,0x13,0x22,0x8a,0x42,0x3a,0xe3,0x13,0x50,0x24,0x54,0x67,0x26,0x24,0x10,0x81, + 0x25,0xd5,0x9a,0x10,0x15,0xa0,0x50,0x6e,0xbf,0x95,0x18,0xbf,0x68,0x72,0x5b,0xfd, + 0xa2,0x89,0x2c,0x81,0x35,0x2a,0xfa,0x6d,0x3e,0x13,0x70,0xa4,0xae,0x77,0xd1,0xb4, + 0xec,0x56,0xc3,0xa9,0xdd,0x6a,0x8c,0xf9,0xce,0xde,0x4b,0xbd,0x3c,0x3f,0xd9,0x6e, + 0x94,0x58,0x11,0x50,0x33,0xb3,0xab,0xfd,0x2e,0x83,0x25,0x0,0xcb,0x54,0xf7,0xbf, + 0xb1,0x28,0x78,0xff,0x7,0x22,0x10,0xd,0x72,0x3f,0x29,0x52,0x10,0xf6,0xec,0x37, + 0x39,0x27,0xd5,0x8,0xd8,0xa,0xad,0x2f,0x54,0x3,0xe1,0xcc,0x63,0xf8,0x4b,0x11, + 0x87,0x1c,0x5,0xe2,0xfa,0x52,0x3c,0x2d,0xed,0x15,0xf0,0x14,0x38,0x49,0xeb,0xa4, + 0x54,0xd4,0xc1,0xb3,0xb7,0x2e,0xa2,0x2,0x73,0x33,0x6f,0xca,0x1c,0x2c,0x9d,0xfa, + 0x96,0x4e,0x4a,0x1f,0xce,0xe9,0x5d,0x53,0xf5,0xe1,0xdc,0x1f,0x9b,0xa9,0x93,0x13, + 0xd9,0x4b,0x80,0x37,0x8,0x6,0x45,0xeb,0x12,0x5d,0x6,0xf6,0xd,0xdb,0x79,0x42, + 0xab,0x56,0x2b,0x1f,0xd,0xc4,0x84,0x5b,0x47,0xb8,0x13,0x1,0x2f,0xcb,0xb3,0x57, + 0x3a,0x38,0x4,0xcc,0x8b,0xac,0x9d,0x50,0xcc,0x3d,0xfa,0xa9,0x1b,0x92,0x55,0x9f, + 0x98,0xaa,0x5e,0xc,0x7b,0x41,0x8b,0xf6,0x71,0xa6,0x9e,0x85,0x9b,0xb4,0xaf,0xca, + 0x6a,0x1b,0x60,0xd2,0x46,0x3b,0xe4,0xb4,0x68,0x8d,0x54,0x8a,0xc8,0x87,0xcc,0x95, + 0x8c,0x66,0x9a,0xdd,0x8e,0xd,0x41,0x2,0xa5,0x53,0x3,0xc6,0x48,0xbe,0x7b,0x9, + 0xf0,0xec,0x12,0x3c,0xe5,0x4b,0xf0,0x94,0x67,0xc0,0xb3,0x52,0xca,0xaa,0x6f,0xe0, + 0x5,0x2,0x13,0x61,0x76,0xc2,0x10,0xe2,0x5e,0xf9,0x22,0xf0,0xc9,0x25,0x7c,0xec, + 0x97,0xf0,0xb1,0xcf,0xc0,0x17,0xce,0x44,0x42,0xf,0xf8,0xac,0x4,0x5d,0xf6,0xf8, + 0x12,0xa1,0x2c,0xc9,0x3b,0x2a,0x60,0x4b,0x14,0x7f,0x11,0xf8,0xe8,0x12,0x3e,0xc2, + 0x4b,0xf8,0x8,0x9f,0x8c,0x8f,0x81,0xc2,0xd4,0xd9,0x1f,0xf0,0x55,0xa2,0x45,0x76, + 0x3b,0xc1,0x0,0x25,0x36,0xe9,0x2,0x90,0x4a,0x99,0xec,0x6e,0x81,0xfd,0xdb,0xe8, + 0x15,0x9a,0x27,0xb0,0xa2,0x15,0x77,0xaa,0x80,0x24,0xcc,0x79,0xd7,0xac,0xc3,0x5, + 0xc2,0xde,0xee,0x3b,0x5d,0x40,0xab,0xac,0x5d,0xdb,0xa3,0x80,0xa5,0xa4,0x71,0x3, + 0x4d,0xc5,0xb1,0x7e,0x5c,0xf4,0x2f,0x52,0xa3,0x6f,0x2f,0xa3,0x8e,0xbc,0x3b,0x1c, + 0xf2,0x83,0xbc,0x1f,0x7c,0xc3,0x79,0xca,0xf3,0x2c,0x95,0xcb,0x47,0x4f,0xf9,0x91, + 0x3e,0xc,0x3f,0x92,0x24,0x29,0x9d,0xd4,0x84,0x5d,0x6e,0xe2,0xc7,0x77,0x3f,0xf9, + 0x87,0x77,0x83,0x4d,0x88,0x67,0x4d,0x6a,0x22,0x2e,0x37,0xe1,0x56,0x1f,0xde,0xbf, + 0x1f,0x6c,0xc2,0x10,0x63,0x52,0x13,0x35,0xf6,0x4,0xd6,0xfd,0xc3,0x87,0x81,0x26, + 0x66,0x29,0x90,0x8e,0x5f,0xfd,0xed,0x10,0xdc,0x98,0xbb,0x9d,0x58,0x81,0xb2,0x63, + 0x75,0x3b,0x51,0x4,0x97,0xe4,0x68,0x6d,0x7d,0x67,0x28,0x40,0xda,0x5e,0xa8,0x8b, + 0x29,0x78,0xda,0x99,0xb9,0x3b,0x12,0x70,0x34,0xdb,0x9e,0x81,0xaa,0xf3,0xd,0x9e, + 0x63,0xdc,0xe0,0xb9,0x46,0xec,0x45,0x7e,0xaa,0x9e,0xf4,0x3c,0x83,0x97,0xb1,0xe9, + 0x44,0x3f,0xe4,0x9f,0x18,0xbc,0xa6,0xcb,0xa4,0x26,0x46,0xe6,0x14,0xbf,0x8b,0xfd, + 0x7f,0x83,0x4d,0x44,0x65,0x4e,0x6a,0xc2,0x66,0x37,0x51,0xd3,0x1a,0x18,0x99,0x51, + 0x3f,0xbd,0x7f,0xff,0xe3,0x3c,0x73,0x6f,0x5d,0xd5,0xb2,0x21,0x79,0x3b,0x3a,0xce, + 0x7,0xc6,0x90,0x7e,0x3e,0x84,0x43,0xa5,0x47,0xdc,0x35,0x1e,0x4d,0x81,0xa2,0xda, + 0x78,0xde,0x9d,0xb2,0xb7,0xa1,0x90,0xa6,0x90,0x46,0x7e,0xd1,0xcb,0x32,0x4d,0xb0, + 0xe6,0x11,0x63,0x30,0xc9,0x1f,0xdf,0xcd,0xb6,0x66,0x1e,0xb1,0x83,0xc4,0x1f,0x65, + 0x74,0x98,0x9a,0x6e,0x6d,0x32,0x4c,0xb9,0xea,0x30,0x91,0x8d,0xf,0x13,0xc5,0x9a, + 0xc3,0x44,0xf5,0xc2,0x86,0x9,0xc8,0x2d,0x4f,0xc6,0x4a,0x20,0xc2,0xf2,0xf2,0x94, + 0x4a,0x6d,0xc7,0x4a,0xb4,0xda,0xb1,0x42,0x3,0xe4,0x90,0x8b,0x63,0x85,0x35,0x61, + 0xac,0xc6,0x54,0x7,0x3f,0x86,0xdc,0x7f,0x3e,0xf,0xc3,0x98,0x3d,0x76,0xb2,0xd8, + 0xd8,0xcd,0x8e,0x79,0x41,0x19,0xa7,0x82,0x76,0xc5,0x6c,0x83,0x88,0xb1,0x56,0xb6, + 0xc1,0x99,0x90,0xa2,0x6a,0x14,0x52,0x54,0x3d,0xfb,0x24,0xa8,0x5c,0x62,0x6a,0x3d, + 0xde,0xa1,0xd3,0x9f,0xb0,0x55,0x8d,0xaa,0x1a,0xde,0xbe,0x98,0xb8,0x7,0xea,0x4a, + 0x19,0x51,0x11,0x57,0xcb,0x88,0x3a,0xdf,0x26,0x32,0xc6,0x6d,0x22,0x67,0x28,0x88, + 0x7c,0xd6,0x7b,0xfa,0x36,0xde,0xb2,0xc2,0x35,0xd0,0x6a,0x2,0xae,0xa8,0xa2,0x39, + 0x49,0xf1,0x3f,0x5,0xf1,0x7a,0xb8,0xc2,0xc6,0x71,0xc5,0x4b,0xce,0x21,0x1e,0x15, + 0x35,0x65,0x70,0x72,0x83,0x1c,0xe2,0x51,0xb9,0x45,0xe,0xf1,0xa8,0x9c,0x9d,0x43, + 0x7c,0x3d,0x4b,0x7c,0x92,0xce,0x4a,0xd2,0x77,0x24,0xdf,0x8b,0xa,0x7a,0x5a,0x8c, + 0xbf,0x4d,0x6c,0x8d,0x86,0x5b,0x93,0x5,0x29,0x4d,0x70,0x79,0x6e,0x1b,0x68,0x7e, + 0x44,0x79,0xac,0xa5,0xf9,0x31,0x1f,0x97,0xc5,0xb5,0xf2,0x6c,0x46,0x59,0x5d,0x4f, + 0xbc,0x27,0xca,0x69,0x41,0x4a,0x34,0x6e,0x54,0x26,0xf3,0x24,0x89,0xe7,0x2d,0x50, + 0x73,0x44,0xe,0x8c,0xfa,0xcf,0x7a,0xb,0x94,0xda,0x38,0x25,0x9d,0x25,0x90,0x37, + 0x97,0x92,0xd6,0xd3,0x29,0x45,0xd3,0xda,0xf2,0x94,0xa4,0x26,0x50,0xa2,0xeb,0x29, + 0xb8,0x45,0xa9,0xac,0xb4,0x2e,0x6d,0x9f,0x4d,0x39,0x4a,0xe2,0xb5,0x27,0xef,0x5e, + 0xb,0xe7,0xb0,0xf5,0xda,0x92,0x12,0xb5,0x61,0xc6,0x92,0x7,0xac,0x4,0x69,0x81, + 0xae,0xd6,0xed,0x98,0xc1,0x34,0xa9,0xaa,0xdb,0x15,0x83,0x39,0x57,0xb4,0x2f,0x3f, + 0x1c,0x59,0x10,0xc9,0x59,0xf8,0x5d,0x41,0x55,0x26,0x45,0x9b,0x34,0x2a,0x20,0x2c, + 0xc4,0xdb,0xe0,0xf2,0x12,0xa8,0x2a,0x25,0xd9,0x30,0xb1,0x43,0x94,0x2c,0xaa,0x71, + 0x89,0x85,0x56,0x3d,0x48,0x29,0xa6,0x83,0xc8,0x2f,0x38,0x33,0x1b,0x59,0x17,0x60, + 0xe1,0xae,0xc1,0x1d,0x21,0x16,0xe4,0xe1,0x31,0x49,0x26,0x81,0x38,0xa9,0x6d,0x90, + 0xde,0x61,0x1d,0xf3,0x65,0xab,0xbc,0x6c,0xbe,0xb4,0x68,0xaa,0x81,0x74,0xad,0x78, + 0x88,0x3c,0xac,0xca,0x2c,0xea,0x10,0x48,0x51,0xa5,0xb2,0x33,0x10,0x16,0x56,0xe9, + 0x73,0x10,0xb4,0xf6,0x1b,0x6,0xa9,0x89,0xcc,0xe7,0x49,0xcf,0x12,0x95,0x58,0x5a, + 0xfb,0x25,0x50,0x63,0xcb,0xb3,0xac,0x67,0x1,0xa8,0xc1,0x4a,0x6b,0xe2,0xc,0x71, + 0xbd,0x88,0x93,0xeb,0x79,0xe0,0x74,0x8,0x4c,0x13,0x6d,0x70,0xa6,0x80,0xb0,0x5, + 0x57,0x8b,0x13,0xc1,0xa2,0x8c,0xa9,0xc1,0x99,0x1,0x64,0x6a,0xb9,0xa5,0x7c,0x5b, + 0x14,0x2f,0x29,0xdf,0xc6,0x19,0x56,0xa5,0x1d,0x1,0x85,0x84,0x92,0x76,0x3b,0x4, + 0x53,0xb7,0x23,0x55,0x67,0x12,0x54,0xea,0x92,0xc0,0xd3,0xd5,0xad,0xe3,0x80,0x2c, + 0xd5,0x58,0x2d,0x47,0xd4,0x9a,0x6c,0x2d,0xd9,0x2f,0xb3,0xb5,0x45,0x4d,0xb5,0x18, + 0x93,0x1f,0x4d,0x55,0xa4,0xac,0x37,0x55,0x4c,0xf1,0x7e,0x69,0x2d,0x40,0x9,0x2d, + 0xed,0x5,0xb5,0xce,0x79,0x2a,0x14,0x47,0x49,0xc3,0xf3,0xe0,0xf3,0x1c,0xd1,0xb5, + 0x5,0x8a,0x8,0x6e,0x8e,0xad,0xef,0xea,0x2b,0xa3,0x71,0x88,0x6e,0x18,0x13,0x1f, + 0xc5,0x32,0x23,0x2a,0x7c,0x47,0xc,0x49,0x61,0x96,0x4d,0xff,0x1f,0x93,0xa4,0x34, + 0x73,0x95,0x81,0x82,0x53,0xbc,0xe9,0xfe,0x63,0xdd,0xed,0x12,0x5,0x45,0xf1,0x5b, + 0x4f,0x14,0xb4,0x82,0xf7,0x2e,0xe6,0x8b,0x16,0x47,0x4b,0xba,0x1b,0xa7,0x64,0xfe, + 0x23,0x3c,0xcb,0x59,0xd8,0x33,0x3a,0x56,0x20,0x4c,0x94,0x4e,0x3,0xaa,0x24,0x55, + 0xdb,0xe9,0x2b,0x2,0xa2,0x2c,0xd1,0xee,0x3c,0x89,0x2,0x52,0xb2,0xda,0xd9,0xcb, + 0xa,0x6a,0x58,0x75,0x16,0x3f,0x8e,0x1,0x62,0x46,0xb5,0x61,0xbe,0xd2,0x28,0x5a, + 0xd2,0xd5,0x78,0x8,0x13,0x66,0x47,0x60,0x94,0x25,0xa5,0xbd,0xf9,0x1a,0x62,0x19, + 0x4b,0x47,0xe0,0xc5,0xa9,0x99,0x1d,0x25,0x78,0x98,0x47,0x76,0xbb,0x1e,0x8d,0x9b, + 0xf9,0x7a,0x12,0xff,0xeb,0x7a,0x1b,0x15,0xb9,0x8c,0x77,0x59,0x6f,0x13,0x82,0x74, + 0xe2,0x6d,0x22,0x92,0x3b,0x4,0x4e,0xf4,0xea,0x8,0xd0,0xd5,0xb2,0xe2,0x1b,0x57, + 0x53,0xc,0xcc,0x4e,0x67,0x4b,0xad,0x29,0x10,0x95,0x4a,0x36,0x30,0xcb,0xc1,0xa2, + 0xb2,0xec,0xdc,0x75,0x93,0x11,0xe5,0x86,0x19,0x60,0xa3,0x16,0xd4,0x43,0x62,0x60, + 0x47,0xa4,0x94,0xaf,0x2c,0x39,0x8c,0x55,0xeb,0xf0,0x6e,0xb3,0x15,0x2a,0xf6,0xff, + 0x34,0x50,0x32,0xc9,0xd,0xb2,0xc0,0x6e,0x87,0x98,0x16,0x4d,0xb2,0x8b,0x2e,0xf, + 0x84,0x29,0x43,0x88,0xa9,0x63,0x2,0x67,0x2a,0xc9,0x6e,0x27,0x4,0xe9,0xca,0x19, + 0x6f,0x8,0x30,0xd6,0x92,0x80,0xb5,0xac,0x48,0x1f,0x9,0x7b,0xf6,0x36,0x4c,0x25, + 0xc0,0x8a,0x4a,0xdd,0x8e,0x5,0x4c,0x2c,0x43,0x37,0x40,0xbc,0xd5,0x6,0x1f,0x63, + 0xc6,0x76,0xd4,0x12,0x42,0x25,0xa8,0x75,0xe7,0x91,0xa0,0x44,0xd2,0x84,0x87,0xe, + 0xd6,0x3d,0x24,0x2f,0x30,0xf0,0x4c,0x67,0xda,0xd4,0xe1,0xa0,0xb5,0xfd,0x32,0x40, + 0xc,0xd4,0xd6,0x91,0x66,0x82,0x3a,0x56,0x34,0xfd,0x1a,0xaa,0xcb,0xc7,0xec,0xb5, + 0x66,0xe1,0xf5,0xc,0xde,0x2d,0x14,0xc1,0xcb,0x9d,0x97,0xb6,0xf3,0x5,0xd5,0xff, + 0x78,0xd3,0xf9,0x62,0xa8,0x10,0x4c,0x69,0x3b,0x1f,0xa0,0xa2,0xaa,0xd4,0xfa,0x3d, + 0x3,0x8c,0x92,0x7c,0xe,0x7d,0xf7,0x11,0xb3,0xa7,0x76,0x7,0x15,0xc0,0xae,0xa4, + 0xd4,0xf4,0x9d,0x9,0x42,0x52,0x2d,0x9a,0xbe,0xf,0xd4,0xdd,0x97,0x6,0x82,0x58, + 0xb0,0xd7,0xf3,0xef,0x7c,0xd6,0xc4,0x93,0x5c,0x13,0xd1,0xf8,0xab,0x17,0xe4,0x4, + 0x6c,0x1d,0xde,0x6d,0xcb,0x2a,0x26,0xb3,0x9a,0xde,0x27,0xba,0x5b,0xb,0xed,0xb6, + 0xac,0xec,0x45,0xd8,0x55,0xc4,0x73,0xb0,0x2b,0x59,0xd4,0xae,0xc2,0x40,0x8f,0xca, + 0x1,0xaf,0xd4,0xb4,0x68,0x51,0x5c,0x56,0x20,0xc4,0xd6,0x11,0xb0,0xbd,0x4e,0x60, + 0x59,0x37,0x60,0xe7,0xd7,0x1a,0x97,0x81,0xc5,0xa2,0xc0,0x80,0xed,0xcb,0x8e,0x7, + 0x78,0x85,0x81,0x69,0x2a,0x79,0xc3,0xeb,0x30,0x7f,0xc3,0xb3,0xc1,0xe5,0xc,0xea, + 0x5e,0x92,0xd,0x2e,0xd,0x8,0xae,0x34,0xda,0x16,0x97,0x5d,0x7,0x97,0xb,0x50, + 0x28,0x6a,0x35,0xb8,0x8,0x41,0x51,0xd2,0x1b,0x5c,0xf,0x55,0xb9,0xc1,0xe5,0x4, + 0x19,0x54,0x1b,0x1b,0x57,0xbb,0xd5,0x16,0x82,0x42,0x67,0x6b,0xfb,0x24,0x60,0x84, + 0x22,0x6d,0xa7,0x44,0x21,0xc3,0x8,0xa3,0xe9,0x54,0x5b,0x77,0xfa,0x20,0xfc,0xf6, + 0xdf,0xbf,0x7e,0xb9,0xff,0xfc,0xb7,0x2f,0xbf,0xff,0xfc,0xaf,0xfd,0x59,0xee,0xbb, + 0xd2,0xf7,0x74,0x62,0xae,0x22,0x4,0xe9,0xf0,0x6e,0x5b,0x8c,0x8b,0x7a,0x1,0x73, + 0x88,0xbe,0x47,0x23,0x70,0x56,0x19,0xb7,0x4d,0x7d,0xc3,0x12,0xca,0xa6,0xad,0x61, + 0xbc,0x4d,0x8c,0x71,0xb3,0xc6,0x25,0x30,0xda,0xcd,0x1a,0x97,0xc0,0x28,0x37,0x8c, + 0xdf,0x7f,0x3f,0x34,0x83,0x36,0xbe,0x1f,0x3a,0x71,0x7c,0xca,0x81,0xdc,0x8d,0x79, + 0xe1,0xf4,0x9d,0x91,0x1e,0x23,0x39,0xb5,0xfe,0x34,0xb,0xa5,0x59,0xfc,0x59,0x16, + 0xca,0x3e,0xed,0x55,0x9b,0x5a,0x2b,0x17,0x48,0xad,0x35,0x3f,0x89,0xd6,0xce,0x15, + 0x8c,0x90,0x83,0x3b,0x42,0x38,0x26,0xb,0x75,0x3,0x33,0xb6,0xcc,0x63,0x51,0x8a, + 0xd9,0xbe,0xd0,0xc1,0xc,0x35,0x3b,0x22,0xa0,0x10,0xc6,0xda,0x97,0x5,0x70,0x91, + 0x31,0xf7,0x85,0xf5,0x90,0x7e,0x34,0x15,0xd8,0xf,0x47,0xe4,0x84,0x3c,0x1e,0x32, + 0xd,0x92,0x29,0xd4,0x3b,0x41,0x50,0x9,0xa2,0x6a,0xa,0x19,0xca,0x8b,0x84,0x4e, + 0xbf,0x2d,0xa,0x26,0x74,0x3c,0xa6,0x25,0x24,0x73,0x4,0x77,0x8e,0x6d,0x1b,0x69, + 0xa0,0xfe,0x4d,0x2b,0x19,0x80,0x82,0xe9,0xd5,0x14,0x16,0x98,0x73,0x66,0xd3,0x4a, + 0x11,0x1c,0xda,0x68,0x7a,0x83,0x9,0x58,0xf2,0x7,0x8d,0xe0,0x52,0x94,0x8e,0xb0, + 0xc0,0xcd,0x98,0xf7,0x85,0x2,0x54,0x21,0x45,0x4d,0x21,0x81,0x8b,0x71,0x9c,0x1c, + 0xa0,0x3f,0xae,0xfc,0x61,0xa1,0xc9,0xe0,0xf6,0x95,0x12,0x21,0x78,0x45,0xc4,0x59, + 0x6b,0x5,0x24,0xe6,0xc6,0xd5,0x1c,0x18,0x1c,0xc5,0x15,0x9b,0x42,0x3,0x54,0x32, + 0xa6,0x6a,0x5a,0x23,0x82,0xe2,0x60,0xce,0x63,0xc7,0xfa,0x63,0x92,0x80,0x66,0x7a, + 0xe5,0x23,0x80,0xc7,0xb2,0x47,0x52,0x8f,0x5f,0x7d,0x64,0xda,0x9f,0xa7,0x3c,0xd8, + 0x87,0x63,0x73,0xfc,0xe3,0xf0,0xb4,0x2d,0x3c,0xe,0xe4,0x49,0xd9,0xc3,0x88,0x9f, + 0xb6,0xc0,0x9,0x87,0xe3,0x37,0xdd,0x78,0xb0,0xa1,0x77,0x6d,0x8f,0x41,0x54,0x23, + 0xbc,0x61,0xf3,0x50,0xd8,0x70,0x7c,0xf8,0x7e,0xc3,0x5c,0x2,0x44,0xf,0x6c,0x4e, + 0x6,0xa8,0x6d,0x8b,0x41,0xaa,0x44,0xab,0x2f,0x25,0x43,0x96,0x3a,0xc,0xb0,0x8a, + 0xd9,0x81,0x2e,0x84,0x88,0x51,0x7d,0x33,0x57,0xf6,0x29,0xd7,0xf6,0x13,0x48,0x4, + 0xe4,0x68,0x9a,0xa1,0x40,0xf6,0xf5,0xa0,0xa2,0x80,0xa1,0x94,0xd4,0x85,0x80,0x94, + 0x47,0xfa,0xbe,0xd0,0x0,0x2b,0xc9,0xb2,0x8b,0x3,0x27,0xd5,0x93,0x33,0x7d,0x2c, + 0xeb,0xbf,0x1e,0xc0,0xd2,0xf3,0x3b,0xad,0x99,0xc0,0x96,0xe9,0xd2,0x1c,0xb2,0x0, + 0x9,0xf9,0xb4,0xf5,0xbf,0xe,0x9d,0xd3,0x70,0x7a,0xb8,0x48,0xaf,0xa9,0xe9,0x67, + 0xdb,0x9f,0xdf,0x6,0xf3,0xd1,0x6e,0xe7,0xae,0x66,0xe7,0x87,0x1c,0xf7,0x2a,0xab, + 0x79,0xb8,0x85,0xdd,0x15,0xb5,0xee,0x6a,0xee,0xb0,0xe,0x9b,0x89,0xdc,0x1c,0xc7, + 0xcd,0x71,0xdc,0x1c,0xc7,0x5b,0x77,0x1c,0xa3,0x3b,0x5f,0x97,0xe7,0xba,0xf3,0x7d, + 0x56,0xee,0xca,0xea,0xe5,0xb9,0xab,0x55,0x23,0xa0,0x2c,0x2e,0xc6,0x4b,0xa7,0xc5, + 0x98,0x94,0xdf,0xa7,0xe9,0x22,0x81,0xc3,0x8a,0x82,0xad,0xf8,0xe0,0x16,0x12,0x81, + 0x4f,0x97,0xee,0x8b,0x94,0xba,0x96,0x74,0x5f,0xa4,0xd2,0xf5,0xa4,0xfb,0x22,0x75, + 0xb9,0xd7,0xfa,0x93,0xe3,0x5a,0xd2,0x7d,0x91,0x5c,0xd7,0x93,0xee,0x8b,0x14,0x5a, + 0x8e,0x12,0xd5,0x95,0xa4,0xfb,0x22,0x7,0xf4,0xd,0x87,0x6a,0xc9,0x8b,0x96,0xee, + 0x8b,0x64,0x5b,0x6e,0x74,0xb0,0xae,0x25,0xdd,0x17,0x49,0x93,0x86,0x87,0xe4,0x35, + 0x48,0xf7,0x45,0x92,0x5d,0x4f,0x94,0x2e,0x92,0x62,0x41,0x9b,0x90,0x6b,0x49,0xf7, + 0x45,0xe2,0x55,0x29,0xe1,0x8,0xa5,0xd,0x94,0x4c,0x22,0xf1,0xed,0xaa,0x79,0x45, + 0xd4,0x5b,0x56,0xf3,0x8a,0xa8,0x51,0x35,0xaf,0x88,0xba,0xa9,0x79,0xdd,0xd4,0xbc, + 0x5e,0x9c,0x9a,0x57,0x44,0xdd,0xd4,0xbc,0xa6,0xbf,0xb9,0x1c,0xb5,0xb5,0x9a,0xd7, + 0x86,0x42,0x54,0x11,0x59,0x6f,0x58,0x88,0x2a,0x22,0xe3,0x26,0x44,0x75,0xc1,0x4b, + 0xa6,0xdc,0x84,0xa8,0x6e,0x42,0x54,0x43,0x7b,0xa3,0xb4,0x67,0x24,0x44,0x15,0x91, + 0xb4,0x9a,0x10,0xd5,0x4d,0x8e,0xe5,0xf,0xca,0x3e,0x9e,0xad,0x2e,0x62,0x45,0x39, + 0x96,0x88,0x58,0x5b,0x8e,0x25,0x22,0xd6,0x96,0x63,0x89,0x88,0xb5,0xe5,0x58,0x22, + 0xe2,0x26,0xc7,0xb2,0x80,0xc1,0x5b,0x8c,0x1b,0xbc,0xad,0x28,0xc7,0x12,0xe1,0x6b, + 0xcb,0xb1,0x44,0xf8,0xda,0x72,0x2c,0x11,0xbe,0xae,0x1c,0x4b,0x84,0xdf,0xe4,0x58, + 0xc6,0x74,0x3e,0x22,0x8c,0x26,0x58,0xf3,0x8a,0x72,0x2c,0x11,0x76,0x93,0x63,0x19, + 0x1f,0x26,0xb5,0xf1,0x61,0xd2,0x58,0x73,0x98,0xf4,0x26,0xc7,0x32,0x49,0x8e,0x25, + 0x42,0x6a,0xc2,0x58,0x5d,0x51,0x8e,0x25,0x42,0x37,0x97,0x63,0x89,0x10,0x19,0xa7, + 0x22,0x57,0x94,0x63,0x89,0x90,0x67,0x27,0xc7,0x12,0x3c,0x1,0x12,0xbf,0x68,0x39, + 0x96,0xe0,0x49,0x5b,0x55,0xde,0x42,0x8e,0x25,0x42,0x9e,0x9f,0x1c,0x4b,0xd0,0x84, + 0xfd,0x26,0x6d,0x22,0xc7,0x12,0xfc,0xfc,0xe4,0x58,0x2,0x6d,0x1c,0x17,0xbe,0x68, + 0x39,0x96,0xc0,0x49,0x17,0x94,0xb4,0x85,0x1c,0x4b,0xd0,0x26,0x72,0x2c,0x41,0xcf, + 0x4f,0x8e,0xc5,0xeb,0x7a,0x72,0x2c,0x81,0xd7,0x94,0x63,0x9,0x94,0x5,0x29,0x8d, + 0xbb,0x3c,0xaf,0x4d,0xe4,0x58,0xbc,0x9e,0x9f,0x1c,0x8b,0xe7,0xf5,0xe4,0x58,0x3c, + 0xaf,0x29,0xc7,0xe2,0x45,0xb,0x52,0xa2,0x71,0xa3,0xca,0x6b,0xca,0xb1,0x78,0x3e, + 0x3f,0x39,0x16,0xf,0x1b,0xa7,0x14,0xd7,0x94,0x63,0xf1,0x78,0x7e,0x72,0x2c,0xee, + 0x35,0x81,0xd2,0x35,0xe5,0x58,0x3c,0xd6,0x97,0x63,0xd9,0x2c,0xf1,0x85,0xfb,0x2d, + 0x39,0xcd,0x13,0xde,0x85,0x77,0xbf,0xa5,0x14,0x58,0x4,0xe3,0x2d,0xa5,0xc0,0x22, + 0x18,0xe9,0xb5,0x60,0x5c,0x34,0x66,0xc2,0xcd,0x6e,0x89,0x6,0x6e,0xef,0x8b,0xde, + 0xde,0x17,0xbd,0xbd,0x2f,0xfa,0x7a,0x13,0xd,0xb8,0xc5,0xab,0x48,0x34,0xe0,0x26, + 0x6f,0x3c,0xd1,0x80,0x6b,0xad,0x97,0x68,0xc0,0xed,0xe6,0x38,0x6e,0x8e,0xe3,0xe6, + 0x38,0xde,0xbc,0xe3,0xb8,0x25,0x1a,0x58,0xc6,0x5d,0x69,0xdc,0x12,0xd,0x3c,0x25, + 0xd1,0x80,0xab,0xdd,0x12,0xd,0x8c,0x18,0x1,0x49,0x82,0x57,0x12,0x77,0x14,0x80, + 0x52,0x29,0xdc,0xc6,0x63,0x12,0x9e,0xab,0x43,0xb5,0x12,0x52,0xde,0x4a,0x1a,0x22, + 0x7e,0x7f,0xe0,0xa5,0xab,0xc,0xf,0x7f,0x3b,0xbe,0xe2,0xfd,0xb9,0x8c,0xd8,0xd1, + 0x18,0x9d,0xbe,0x8b,0x79,0xa6,0xb4,0xc8,0x8,0xcd,0x8d,0x85,0xb6,0xc6,0x51,0x5d, + 0x38,0x6c,0x89,0x7e,0xd2,0x24,0x33,0x67,0xb6,0x45,0xfa,0x19,0x7c,0x2e,0xd1,0xe9, + 0x15,0x2e,0x6d,0x57,0xab,0x1d,0x50,0xf6,0x63,0x25,0x9f,0xb6,0xa8,0x24,0x81,0x20, + 0x8b,0x5b,0x87,0x77,0xb,0x0,0x92,0x9a,0x6,0xc8,0x71,0x11,0x40,0xe5,0x80,0x48, + 0x2a,0xda,0x72,0x22,0xf0,0x24,0x3c,0xb3,0x7b,0x6e,0x30,0xf9,0x57,0x94,0xbc,0xd, + 0xa6,0xb8,0x2a,0x26,0xc2,0x4,0x24,0x9c,0x40,0xc9,0x11,0x4c,0x4a,0x1a,0x51,0x9e, + 0xa6,0xea,0x44,0x56,0xc4,0x4b,0x91,0xb2,0x69,0xa4,0x90,0x47,0x49,0x8d,0x79,0xb6, + 0xde,0x2f,0x60,0xeb,0x3b,0xbc,0xf5,0x30,0x8a,0x8d,0x1f,0x4a,0x6d,0xbd,0x95,0xea, + 0x34,0x40,0xa4,0x3a,0x3,0xce,0x80,0xbb,0x14,0x19,0x86,0xf3,0x1f,0x7f,0xfb,0xeb, + 0xbf,0xff,0xf4,0x77,0xfd,0xfb,0x32,0xc6,0x53,0xc0,0x49,0xee,0xad,0xf5,0x24,0x36, + 0x76,0x43,0x6,0x22,0x6e,0x7a,0xb6,0xec,0xa,0x84,0xb2,0x4b,0x8e,0xdc,0x27,0x5e, + 0xc0,0x4c,0x68,0xc6,0x84,0x9a,0x6f,0x26,0xda,0x4a,0xa6,0x23,0xb6,0x76,0xe2,0xcf, + 0xcc,0x4e,0xb8,0x26,0xd1,0x41,0xc1,0xb7,0x63,0x31,0x7c,0xe5,0x25,0x38,0xc1,0x50, + 0xdc,0x1b,0x24,0xe1,0xc0,0xa9,0x2a,0xd9,0x92,0x69,0xab,0x1e,0xc1,0xb8,0x82,0x28, + 0x55,0xd1,0x25,0xd3,0xd9,0x9f,0xdd,0x2f,0xfd,0x83,0x55,0x94,0x92,0x94,0xe,0xa1, + 0x9c,0x9,0x4b,0xee,0x96,0xe0,0x35,0x75,0x21,0x8e,0x37,0x64,0x43,0x32,0x4d,0xff, + 0x8f,0xf8,0xd,0x31,0x99,0xbc,0x12,0xbf,0x1d,0x26,0x54,0xd7,0x65,0x82,0xa,0x89, + 0xee,0xd9,0x30,0xd9,0x39,0x83,0xb2,0xa6,0x7b,0xc3,0x26,0x1c,0x2,0x53,0xdd,0xcf, + 0xa4,0xde,0x5,0xc2,0x42,0x44,0xe6,0xb9,0xaa,0xf9,0xa8,0x62,0xa5,0x2d,0xcd,0xd6, + 0x97,0xc8,0x64,0xab,0x5f,0x22,0x4f,0x3b,0xc9,0xe5,0x2e,0xa4,0x87,0xfb,0x29,0x33, + 0x2e,0x91,0xd7,0xec,0xe7,0xf6,0xde,0xf7,0x32,0x2f,0x5a,0xdd,0xaf,0x5e,0x6a,0x1e, + 0xe7,0xa8,0x25,0x72,0x8b,0xcc,0x2,0xac,0x21,0xcb,0xd9,0xd0,0xc7,0x36,0x4a,0x6f, + 0x4e,0x38,0x5e,0xde,0xe7,0x79,0x38,0xde,0x60,0xa4,0xea,0x85,0xb7,0xad,0x27,0x86, + 0xe3,0xfd,0xef,0xcf,0xfb,0x7b,0xcf,0x6d,0x5b,0x38,0xdc,0x54,0xcd,0xa,0xd1,0x3b, + 0x12,0x69,0x70,0x5d,0xc2,0xd9,0xe2,0x9e,0xbf,0xfe,0xd8,0x84,0x60,0x6e,0x2b,0xbb, + 0x3c,0x10,0x1f,0x3e,0xbc,0xff,0x1,0x71,0xe6,0xab,0x6e,0x56,0x31,0x36,0xcc,0xf7, + 0xd3,0x22,0xdf,0x97,0x8b,0x46,0xb6,0xa7,0xc4,0x6c,0x7f,0xfc,0xe5,0xfe,0xd3,0x3f, + 0x67,0xa6,0xdc,0xb4,0x26,0x60,0x7b,0x4e,0x53,0x38,0x35,0x5a,0xdb,0x8a,0x5e,0x94, + 0x61,0x26,0x8d,0x1b,0x66,0xca,0x9c,0x15,0x62,0xae,0xa1,0xa6,0x3d,0x79,0x85,0x18, + 0x6a,0xeb,0x65,0xd,0x43,0xd8,0xf8,0x30,0x44,0x8c,0x83,0x59,0x6a,0x10,0xa2,0xb6, + 0x1b,0x84,0x61,0x42,0x5e,0xcf,0xdf,0x55,0xb6,0x2b,0x74,0xb,0x94,0x66,0xb9,0xc6, + 0xf6,0xe8,0xef,0xde,0xfd,0xd9,0xd1,0x65,0xcd,0x80,0xf5,0xf6,0x2a,0xe0,0xff,0xd9, + 0xbb,0xda,0xdd,0x38,0x8e,0xe5,0xfa,0x2a,0xc6,0xfd,0x15,0x1,0xb3,0xe5,0xfa,0xfe, + 0x70,0x7e,0xdd,0xd8,0x49,0x10,0x20,0x41,0x2e,0xf2,0x2,0x6,0x45,0x91,0xd7,0xa, + 0x1c,0xc9,0xb1,0xe5,0x20,0x37,0x4f,0x1f,0xce,0x52,0x94,0xd8,0xc3,0xf1,0x6e,0x73, + 0x3c,0xb3,0xab,0xb5,0xc4,0x85,0xcd,0xdd,0x61,0xaf,0x7a,0xea,0xcc,0xe9,0xaa,0xea, + 0xea,0xea,0xea,0xfa,0xfe,0x20,0x93,0x3d,0x96,0x94,0xca,0x54,0x90,0x27,0xae,0x20, + 0x32,0x88,0x6a,0xb4,0x53,0x4b,0x7,0x13,0xf3,0xb6,0xdc,0x8f,0x82,0x89,0xfb,0x88, + 0xc0,0xda,0xb2,0x12,0x1e,0x11,0xd6,0x96,0x8,0x6b,0x13,0x39,0xe5,0x89,0x88,0xe9, + 0xf6,0x44,0xc4,0x74,0xdb,0x44,0x44,0x3a,0x22,0xa2,0x6c,0x20,0x62,0x0,0x97,0xb4, + 0x12,0xda,0x78,0x69,0x13,0x1,0xf9,0x88,0x80,0xb4,0x44,0x40,0x9f,0x8,0xa8,0xad, + 0x80,0x9,0x88,0xc8,0xad,0x84,0xbe,0xbf,0x36,0xd,0x70,0xaf,0x21,0x62,0x7c,0x7f, + 0x28,0x0,0x6d,0xd6,0xa9,0x3a,0x9b,0x38,0x39,0x21,0x37,0x61,0x74,0x22,0x6,0x41, + 0x8d,0xc7,0xb,0xf9,0x24,0x5,0x66,0x69,0x5b,0xc8,0x94,0x47,0x64,0x8a,0x8d,0x65, + 0xaa,0x8f,0x42,0xdd,0x4d,0x30,0x6f,0x5e,0xff,0xf5,0xcd,0xbf,0xbf,0xfc,0xcf,0xbb, + 0x7b,0xff,0xd0,0xf4,0xe6,0xbf,0x7f,0x7d,0xfd,0xf3,0xcd,0xab,0x7f,0xfc,0xdf,0x77, + 0x37,0x6f,0x7e,0x79,0xfd,0xf6,0xcd,0x5d,0xd7,0x3f,0xbc,0x7b,0xf7,0xd3,0x37,0x5f, + 0x7f,0xfd,0xe6,0x17,0xb8,0x7a,0xf5,0xf6,0xe5,0xd,0x5c,0xbf,0xfd,0xaf,0xaf,0xff, + 0x3c,0xbe,0xfb,0x97,0x1f,0x7f,0xfc,0xf5,0x2e,0x57,0xe6,0xea,0xdd,0xdb,0x9f,0xbf, + 0x26,0x4,0xfc,0xfa,0xa3,0xe4,0x8f,0x8d,0xca,0xdf,0x1e,0x7f,0xd8,0xe7,0xef,0x3c, + 0x36,0xa,0x3f,0xdc,0xdd,0xc4,0xf,0xa3,0x99,0x68,0x80,0x69,0x6e,0x2e,0xec,0x71, + 0x42,0xfd,0xeb,0x6f,0x7e,0xfa,0xeb,0xed,0x7f,0xdc,0xdc,0x8e,0x9f,0x67,0x70,0xde, + 0xdf,0xe3,0xf7,0xaf,0x3f,0xde,0xda,0xf7,0x77,0xcd,0x1f,0xd9,0x91,0xe6,0x5f,0x5e, + 0x7d,0x58,0x1e,0x19,0x95,0x26,0x27,0x30,0xf7,0x5b,0x6e,0x9,0x61,0xc1,0x3a,0x2c, + 0xe1,0x12,0xbd,0xb3,0xb,0x85,0x64,0xc,0x8c,0x89,0xfe,0x41,0x48,0x96,0x98,0xc4, + 0x1c,0x29,0x81,0x98,0xaa,0x31,0x26,0x8f,0x1a,0x9f,0x55,0x7c,0xad,0x3f,0xb2,0xf8, + 0x64,0xe5,0x71,0x58,0xfe,0x58,0x42,0xf0,0x80,0xa0,0xa,0x9d,0x4,0x91,0x21,0x93, + 0x5a,0x13,0x34,0xd7,0x74,0x14,0x5e,0x10,0x54,0x89,0xd2,0x7a,0x77,0x9,0x6a,0xa0, + 0x92,0xdf,0xec,0xc6,0x84,0x82,0xf3,0xf2,0xc5,0xce,0xcf,0x97,0xd6,0xca,0x6d,0xcb, + 0x97,0xa9,0xc1,0x53,0x69,0x4c,0x19,0x3b,0x94,0xe9,0xd4,0xa0,0x9,0x1,0xaa,0xa1, + 0x7d,0x94,0xe0,0x76,0xb6,0xed,0xed,0x5c,0xdb,0xd1,0xfa,0x25,0x94,0x27,0x99,0x74, + 0x65,0xe6,0x85,0x69,0x45,0xe,0x3b,0x86,0xb2,0x92,0xa4,0x71,0x3f,0x29,0xe,0x8, + 0x85,0x16,0xc1,0x43,0x80,0x1b,0x72,0xd8,0x40,0x8,0x19,0x89,0x8b,0x33,0xf4,0xb6, + 0xb7,0x36,0x4a,0x67,0xb7,0x36,0xf3,0x37,0x26,0x76,0xd1,0xb3,0x5e,0x89,0x2d,0x67, + 0xbd,0x52,0xa7,0xdf,0xa6,0x4d,0xe9,0x9e,0x7,0xb9,0x24,0xb2,0x44,0x51,0x49,0x81, + 0x9,0x4d,0x96,0x7f,0x1a,0x5,0x35,0xdb,0xe8,0xee,0xaa,0x11,0x50,0x86,0x9d,0x61, + 0xd4,0xc8,0xb9,0x47,0xcd,0xf6,0xf,0x93,0xeb,0x72,0x1f,0xe6,0x72,0xa1,0xe3,0x1c, + 0x42,0x77,0xba,0x24,0x5e,0x60,0x4a,0x52,0xc3,0x4e,0xd,0x28,0xb3,0xe2,0xc5,0x19, + 0xa6,0x9f,0xa3,0x4,0xab,0xd5,0x63,0xe4,0xf2,0x4c,0xbb,0xcf,0x70,0x27,0x50,0x29, + 0xc5,0x18,0x76,0x2a,0x20,0xee,0xc6,0x39,0xec,0x2c,0x41,0xd,0x59,0xe4,0x45,0x3b, + 0x9d,0xe5,0x4,0x9,0x27,0x69,0x27,0xb5,0xca,0xe0,0xea,0xf3,0x93,0xda,0xc6,0x2f, + 0x78,0xfa,0xfd,0xdb,0x47,0xdf,0x3f,0x43,0xa0,0x82,0x65,0xc9,0xa4,0x9e,0x9,0x48, + 0xd1,0xb9,0x45,0x41,0xc,0x42,0x99,0xe7,0x50,0x98,0x80,0x30,0xfd,0xfa,0x6d,0xf3, + 0xf5,0xbe,0x6d,0x1,0x16,0x10,0xe5,0x6e,0x83,0x80,0x98,0x72,0x45,0xbc,0x38,0xf3, + 0x18,0xee,0xd4,0xcd,0x8b,0x7,0xdd,0x5,0x69,0x3c,0xe1,0x8c,0x83,0x60,0x51,0x7d, + 0xa2,0xee,0x1f,0xc9,0x45,0xbb,0x7f,0x64,0x5b,0xba,0x7f,0x7,0xe,0x93,0x3b,0x96, + 0x42,0x6c,0xde,0x8c,0xf6,0xf0,0x56,0x25,0x44,0xab,0x4b,0xc2,0x5b,0x85,0x13,0xdc, + 0x33,0x3d,0x1a,0x76,0x4,0x85,0x92,0x62,0x39,0x10,0x38,0xba,0xb3,0xca,0xa8,0xe1, + 0x11,0x8,0xd9,0xd9,0x7,0xd1,0x2,0xca,0x20,0x5d,0x21,0xcb,0xd8,0x88,0x56,0x48, + 0xdd,0xfa,0xfc,0x60,0xc3,0x5a,0xd,0xb6,0xfe,0x61,0x8d,0xf2,0x9c,0x5a,0x75,0xaf, + 0x6e,0x6f,0x5d,0x96,0xd6,0xaa,0x33,0xb4,0x13,0xd6,0xaa,0x33,0x5c,0x32,0x26,0xe7, + 0x1f,0x8d,0xa6,0x35,0xfc,0xd1,0x6c,0x4b,0x50,0x23,0x30,0x69,0x3e,0xb6,0xef,0x66, + 0x40,0x9a,0x5d,0xa1,0x8b,0x8a,0x7a,0xd8,0x51,0x58,0xc1,0x36,0x90,0x8,0x20,0x22, + 0xf,0x8c,0x90,0xe1,0xdc,0x49,0xad,0xdf,0xa9,0x3a,0x83,0xbf,0x23,0xf9,0x6e,0xe, + 0x48,0xcd,0x8e,0x99,0x33,0x82,0xd8,0xb1,0x12,0xf4,0x62,0x7f,0xfe,0x96,0xbe,0x9d, + 0xef,0xa2,0x7a,0xba,0x70,0x2a,0x3d,0xdc,0x5,0xfe,0x53,0x19,0xe6,0x6c,0x17,0x45, + 0x3d,0x5d,0x84,0xc5,0xb1,0x2e,0x30,0x7f,0xc3,0xa,0x68,0xc9,0xef,0xb6,0x31,0x88, + 0xf1,0x1b,0x16,0x4c,0xcb,0x3a,0x8a,0xb4,0xaf,0xe4,0x1c,0xeb,0x41,0xe7,0x58,0x53, + 0xfe,0xb4,0x6e,0xa5,0x7e,0x2,0x92,0x94,0xe2,0x1a,0x76,0x24,0x7e,0xf7,0x3f,0x63, + 0x30,0x66,0xd1,0x76,0x96,0xd1,0xaa,0xf5,0x79,0xad,0xdf,0x1a,0x85,0xc6,0x62,0xfc, + 0xde,0xfd,0xb6,0xe3,0x8d,0x29,0x3,0xa2,0x6a,0x8e,0x37,0xb6,0x86,0x3b,0x58,0x7, + 0x93,0x68,0x35,0x97,0xc4,0x35,0x28,0xa,0x28,0x98,0x75,0x72,0x16,0x9c,0x40,0x58, + 0xfa,0x24,0xd3,0x37,0x4,0x2a,0x31,0xa8,0x71,0xc4,0xdc,0x40,0x35,0x89,0x78,0xe, + 0xb2,0xf3,0xe7,0x28,0x69,0x47,0x8e,0x92,0x46,0x6c,0x98,0xc3,0xa8,0x51,0x27,0xc9, + 0x61,0x6c,0x47,0x75,0x3f,0x57,0x51,0x80,0x2c,0x86,0x9d,0x28,0x94,0xd5,0x8b,0x83, + 0xa3,0xd9,0xab,0x19,0x64,0x46,0x50,0x55,0xd6,0x5a,0xb8,0x6a,0x26,0xaf,0x44,0x80, + 0x88,0xbe,0x92,0x61,0x2,0xea,0x3f,0x5d,0x64,0xfa,0x18,0x56,0xc8,0x65,0x22,0x97, + 0x2b,0xf7,0x9e,0xa4,0x62,0xd,0x59,0xed,0xac,0x5,0x75,0x39,0x4e,0x61,0x5f,0x50, + 0x53,0x39,0x74,0x7c,0x2d,0x28,0x59,0xaa,0xbe,0x42,0x29,0xe5,0xa6,0xb7,0x4e,0x4a, + 0xb7,0x11,0x9f,0x4,0x17,0x4e,0x69,0x15,0xbb,0x24,0x14,0x29,0x7a,0x6f,0xc,0x84, + 0x7,0x7d,0x71,0x30,0xdc,0x72,0x3d,0xdb,0xd7,0xf5,0x5c,0x5f,0xcb,0x3d,0x7a,0x75, + 0xea,0x88,0x40,0x2d,0x99,0x8,0xb5,0x90,0x29,0x68,0x59,0x44,0xb,0x19,0xd1,0xef, + 0x5,0xab,0x5a,0xb4,0x1e,0xba,0x69,0xd1,0x22,0x5a,0x1,0x27,0xab,0x43,0x38,0xe5, + 0x26,0x33,0x1f,0xb5,0x8b,0xe,0x68,0xa8,0x2d,0x8,0x68,0x74,0xd8,0xa8,0xdf,0xe8, + 0x6c,0xbd,0xc3,0xf2,0x55,0xe3,0xb8,0xe2,0xd3,0x5a,0x50,0xf7,0xdb,0xa,0x17,0xd5, + 0x6a,0x56,0x5b,0x70,0x44,0xc6,0xb5,0xdf,0xf8,0x4c,0x6f,0x17,0x94,0xe8,0xad,0x4a, + 0x1d,0xf,0xe2,0x78,0xbe,0x3d,0xe9,0x5a,0x67,0x20,0xa9,0xda,0x91,0xde,0x72,0xa4, + 0xec,0x49,0x93,0xbd,0xf5,0xb2,0x97,0xbd,0x75,0x85,0x65,0xef,0x6b,0x77,0x46,0xec, + 0x72,0x90,0x16,0x2e,0x83,0xb7,0x73,0x8e,0xc3,0xf3,0x93,0x76,0x2e,0x33,0x3f,0xef, + 0x59,0x61,0x70,0x88,0xf4,0xce,0xdf,0x2e,0x24,0x9a,0x39,0x9d,0x68,0x8f,0xd1,0x4d, + 0x4,0xa3,0x48,0x8b,0x15,0xa2,0x97,0x2a,0x74,0xfa,0xe8,0xa5,0xb2,0x3d,0x23,0x7a, + 0xf9,0xf2,0xea,0xf7,0x44,0x2f,0x95,0xe3,0x84,0xd1,0x4b,0xe5,0x5a,0x4f,0x85,0x51, + 0x3d,0x3,0xa5,0xeb,0x97,0xb7,0xb7,0x75,0xbd,0x1c,0x25,0x7a,0x16,0x4a,0x6e,0xd7, + 0x14,0xb4,0x70,0x83,0x9b,0xb2,0xac,0x8,0x92,0x3c,0x7,0x24,0xbe,0x79,0x79,0xf5, + 0x72,0x31,0x48,0x64,0xcf,0x2,0x29,0xe8,0x15,0xca,0xf5,0x62,0x2a,0xd1,0x8a,0x81, + 0x70,0xa4,0xcf,0x38,0x10,0x8e,0xb2,0x79,0x20,0x1c,0x6d,0xf3,0x40,0x38,0xc6,0xe6, + 0x81,0x70,0xac,0x2d,0x3,0xe1,0xd4,0x79,0xe2,0xe5,0xfa,0x81,0xf0,0xa9,0xd2,0x90, + 0xaa,0xd6,0x1,0x61,0x81,0x49,0xde,0x81,0xb7,0x7e,0x1f,0x23,0xb4,0x39,0x7,0xe1, + 0xdd,0x99,0xa8,0x27,0x8e,0xf2,0x4b,0xc5,0x9a,0xc1,0xf7,0xad,0x5c,0x94,0xf3,0xc3, + 0xd4,0x39,0x41,0x58,0x1,0x80,0xd5,0x1e,0xc6,0x39,0x60,0xda,0x72,0xcd,0x8,0x73, + 0xd8,0x31,0x2f,0x43,0xca,0x26,0x25,0xdc,0x4,0x58,0x48,0xe2,0xfc,0x80,0xd1,0x45, + 0xf2,0xea,0xd4,0x2a,0x38,0xab,0xf,0xa6,0x15,0x14,0xf5,0x96,0x79,0x61,0xae,0x71, + 0x58,0xcc,0x68,0x5,0x8,0x9d,0x8,0x20,0xe,0xe6,0x5e,0x61,0x93,0xe9,0xb3,0x4e, + 0xe4,0x28,0x1,0xaa,0xaa,0xe4,0x3e,0xd8,0xce,0x2b,0x74,0xa7,0x6a,0x5d,0x1b,0x9a, + 0x33,0x8c,0xf6,0x94,0xcf,0x7d,0xb4,0xcf,0x14,0x72,0x3d,0xc8,0xd,0x6a,0xeb,0x51, + 0x29,0xa0,0xa8,0x4f,0xf6,0x42,0x3b,0x90,0x29,0x4f,0x8a,0x5b,0x85,0x41,0x59,0x10, + 0xb6,0x31,0xb8,0x14,0x60,0xb1,0x14,0xfe,0x64,0x1d,0x8d,0xa8,0x4f,0x90,0x22,0x89, + 0x30,0xb5,0xa0,0x6c,0x80,0x5a,0x42,0xa7,0x24,0x8b,0xe3,0x41,0xb2,0x44,0x4c,0x8b, + 0x97,0x59,0x56,0x56,0x4c,0xcf,0x20,0x43,0x15,0x61,0x69,0xd8,0xe2,0x1,0x21,0x55, + 0x3e,0x31,0x6,0xa0,0x66,0x85,0x9d,0x64,0x39,0x83,0x59,0xc,0xbb,0x64,0xb3,0xd8, + 0xff,0x60,0xe5,0x70,0x25,0xc7,0xb6,0xea,0x63,0xab,0x6,0x12,0x4a,0x4a,0xa4,0x1a, + 0x79,0xc8,0x21,0xc,0xa3,0xb7,0x4e,0xc1,0xe1,0x8a,0x91,0xdb,0x42,0x53,0x76,0x18, + 0x1a,0x5a,0x43,0x84,0xa9,0x92,0xd,0x6b,0xa1,0x55,0xe0,0xb0,0xcc,0x67,0x41,0x7b, + 0x86,0xe1,0xe0,0x8b,0xbc,0x44,0xcc,0x83,0x83,0x81,0xb8,0x95,0xf,0x13,0x8c,0xd2, + 0xb2,0x5b,0x1,0x23,0xa4,0x13,0xaa,0xcb,0xfb,0x29,0xc,0x81,0x8a,0x53,0x7a,0xbc, + 0x38,0xeb,0xa0,0xea,0xad,0x9b,0xb3,0x50,0x4e,0x20,0x27,0x69,0xa4,0x6d,0x50,0x67, + 0x16,0x10,0xe,0xe2,0x6,0x7b,0x13,0x88,0x54,0x32,0x99,0xe8,0x23,0x7,0xb7,0x96, + 0x66,0x16,0xc0,0x51,0x2c,0x7c,0x98,0xd8,0x9b,0x1e,0x6f,0xa2,0x5a,0x7,0x4d,0xb9, + 0xb7,0xf9,0xc4,0xc1,0x80,0x8c,0x39,0xd9,0x3d,0xe5,0xe,0xa2,0x6a,0xf8,0xc8,0xbc, + 0xce,0xb6,0xbd,0x9d,0x6b,0x3b,0x1a,0x5d,0xc7,0xae,0xb8,0xab,0x25,0x39,0xa7,0xd, + 0x4,0xe1,0x11,0x1e,0xe3,0xde,0xe9,0x1d,0x83,0x57,0x3a,0x6b,0x8d,0x9f,0x10,0x32, + 0x23,0x2b,0x79,0x10,0x82,0x62,0x4a,0xf5,0xc1,0xa0,0x94,0xa,0x4b,0x3f,0xdd,0xc8, + 0x8c,0xcb,0x97,0xc8,0x4c,0xf,0x4c,0xf4,0xc5,0xaf,0x5c,0x68,0x63,0xad,0xb6,0x4a, + 0xbc,0xed,0x7b,0x24,0x67,0x9d,0x81,0xd9,0xb9,0xcc,0xc4,0xbc,0x42,0xdf,0xc6,0x88, + 0xf4,0x2f,0xde,0xcf,0xf3,0xb4,0x25,0xf4,0x27,0xbf,0x8c,0x2f,0x66,0x87,0x35,0xc9, + 0x97,0x6c,0x87,0x7b,0x98,0x64,0x5,0x98,0x2e,0x2a,0x23,0x46,0x8c,0x7a,0x55,0xe6, + 0x1f,0x50,0x78,0xad,0xcd,0x85,0xef,0xbb,0xc9,0x8d,0x21,0x9a,0x17,0x3e,0x56,0x13, + 0xfe,0x73,0x53,0xa7,0xfa,0x45,0x9d,0x76,0xc1,0xb4,0xb1,0x3a,0x6d,0xe3,0xf,0xc7, + 0x62,0x15,0x6d,0x5c,0x63,0x1a,0xff,0xd8,0xfa,0x90,0x10,0xd1,0x53,0x2a,0xda,0x3, + 0x21,0xbe,0x36,0xec,0xd1,0x6,0x9,0x57,0x10,0x53,0xea,0xcb,0xd0,0xe8,0x18,0x1a, + 0x12,0xdb,0xe,0x8d,0x76,0xe5,0xab,0xa1,0x42,0xd7,0x4a,0x1a,0xed,0xdb,0xad,0xc3, + 0x8,0xeb,0x5d,0x35,0xdc,0xd8,0xc8,0x6e,0x4,0xcd,0xbc,0xd0,0xd2,0x2b,0xf4,0x65, + 0x8f,0x76,0xfa,0x32,0xda,0x3b,0x46,0x3b,0x9f,0x54,0x29,0xb6,0x19,0x2f,0x2d,0x5a, + 0xeb,0x7a,0x57,0x6d,0xa2,0xce,0x9a,0x80,0xc5,0x17,0x5e,0xf5,0xc0,0xb4,0xa5,0x1f, + 0xba,0x7d,0xe4,0x70,0x83,0x87,0x31,0xf,0xd3,0x66,0x7e,0x68,0x3f,0x4c,0xcb,0x15, + 0xf5,0x11,0x4b,0xc3,0x74,0x4e,0xe,0xac,0x9c,0x2,0xde,0xa6,0x96,0x4f,0x13,0xd0, + 0xdb,0x1c,0xf5,0x83,0x8f,0x1c,0xeb,0xe8,0x2e,0x38,0x21,0xea,0xc9,0x19,0x5f,0xb8, + 0xeb,0x4d,0xa8,0x37,0x5d,0x7c,0x3e,0xd7,0xbc,0xab,0xb,0xeb,0x4c,0x17,0x9f,0xcf, + 0x35,0xef,0xea,0x22,0xfa,0xd2,0xc5,0xe7,0x73,0xcd,0xfb,0xba,0xa8,0xee,0x9c,0xf1, + 0xb6,0xb,0x5a,0x6d,0xdb,0xbe,0xa0,0x1c,0xa7,0xb,0xda,0x2c,0x15,0x16,0xec,0x28, + 0xe9,0x41,0x5,0x63,0x56,0xe2,0x5,0x3b,0x4a,0x56,0xdb,0x4c,0xc3,0x15,0x47,0x51, + 0xe2,0xaa,0x7e,0x94,0xda,0xcd,0x49,0x8b,0x50,0xa2,0xe,0x94,0x7a,0x36,0x27,0xad, + 0x8,0x12,0x75,0x80,0x24,0xfd,0x20,0xb5,0xfb,0xdc,0x16,0x80,0xc4,0x65,0x4b,0x2b, + 0x40,0x74,0x53,0xe9,0x6c,0x6b,0x75,0xdc,0x9d,0x61,0xb9,0xa8,0x1c,0xd0,0x46,0xeb, + 0x80,0x67,0x48,0x45,0xe5,0xa4,0xb,0xaf,0xee,0x74,0xfd,0xe3,0xeb,0x9f,0xfe,0x72, + 0xf5,0xee,0x87,0x87,0x3f,0x3f,0x7c,0x3e,0xee,0x36,0x3f,0xb4,0xc,0x8e,0x47,0x1a, + 0xec,0xa7,0xbb,0x2b,0x8f,0xc6,0xc0,0xdb,0x57,0xaf,0x7f,0xba,0xfb,0xef,0x9b,0x37, + 0x6f,0x5f,0xdd,0xbc,0xfb,0xdb,0x4f,0x37,0xbf,0xdc,0x7d,0xef,0xe1,0x67,0xb2,0x61, + 0x69,0xfc,0x66,0x70,0x53,0x2b,0xe8,0xee,0xea,0xbf,0x7d,0x45,0x38,0xd4,0x57,0xdf, + 0x7e,0x55,0xa0,0x5a,0x77,0xef,0x6a,0x18,0xdf,0x8d,0xbf,0x9,0xbf,0xfa,0xd7,0xf1, + 0x17,0xe5,0xf8,0xe7,0xf1,0x37,0x98,0xf1,0xfb,0x86,0x44,0x35,0x7e,0x93,0xa8,0xee, + 0x1a,0x11,0x32,0x8,0xc6,0xbe,0x49,0xc6,0xf8,0xaf,0x8d,0x57,0x8c,0xd3,0xec,0xc3, + 0x35,0x42,0xd9,0xbf,0x57,0xb1,0xf,0xef,0x29,0x78,0xfc,0xf6,0xf8,0x9,0xf7,0x5f, + 0x92,0xfb,0xce,0xef,0xbf,0x6e,0x3c,0xec,0xdf,0xd,0x63,0x17,0xfb,0xbb,0xfc,0xbf, + 0xaf,0x9e,0x8e,0xff,0xdb,0xbb,0x93,0x5a,0xbe,0xf9,0xf5,0xe7,0x1f,0xff,0x6e,0x7a, + 0x68,0x6d,0x61,0xbd,0xf8,0xfb,0xf1,0xaf,0x1f,0x54,0xc1,0x63,0xd3,0xfb,0x80,0xee, + 0x89,0x2b,0x24,0x73,0x5c,0x40,0x85,0xe4,0xee,0x62,0xc8,0x7,0x4e,0x8,0x5a,0x4b, + 0xb3,0x4e,0x9f,0xaa,0x18,0x1d,0xd4,0xac,0x93,0x24,0xcc,0x32,0xb0,0x69,0xf9,0x3, + 0xc7,0x94,0x6a,0xf3,0xef,0xdb,0x66,0xa3,0x26,0xa4,0x0,0xc,0x24,0xfd,0x54,0x93, + 0x6a,0x39,0xe8,0xc8,0xd9,0xd8,0xed,0x41,0xda,0x47,0x4e,0xdd,0x6e,0x8f,0xe8,0xee, + 0xa5,0x68,0xff,0x21,0xdc,0x67,0x30,0x1d,0x93,0x52,0x62,0x3b,0xd5,0x86,0xed,0xa9, + 0xd,0xcf,0x77,0x8a,0xd,0xc3,0xab,0xd1,0xe8,0x8c,0xdb,0x43,0xb2,0xaa,0x3,0x82, + 0x82,0x87,0xc1,0x89,0x67,0x81,0xe3,0x2d,0x38,0x84,0xd8,0xa0,0xa3,0xeb,0xa3,0x73, + 0xce,0x6c,0x22,0xf6,0x49,0xe0,0x9c,0xc0,0x93,0xb0,0xdd,0xcf,0xe1,0x8,0x26,0x25, + 0xcd,0x11,0x7e,0x4d,0xd3,0x36,0x19,0x17,0x9,0x57,0x45,0x29,0x9,0x84,0xd8,0x6, + 0x3c,0x6b,0x7a,0x2e,0xbb,0xac,0x2d,0x14,0xb2,0xb8,0xd,0xd8,0x3a,0xb1,0xe,0x5e, + 0xe1,0x62,0x93,0x14,0x2a,0x3e,0x8e,0x7d,0x39,0x20,0x92,0x8a,0x9e,0x17,0x26,0x3a, + 0x9,0x4c,0xfc,0x1e,0xa7,0x96,0xa9,0xe5,0x2d,0x4c,0xfa,0x1e,0xcc,0x6,0xa7,0xe0, + 0xb3,0x2,0xb4,0xce,0x1e,0x87,0xc5,0xfb,0x2f,0x12,0xdb,0x1,0x5b,0xc0,0x49,0xee, + 0x7a,0x5e,0x4c,0xe2,0xb3,0xc3,0xc4,0x94,0xf8,0x30,0x26,0xf6,0x5,0x93,0x27,0x98, + 0xc8,0x97,0xb1,0xf3,0x4,0x13,0xfa,0x82,0xc9,0x14,0x13,0xfd,0xc,0x75,0x2c,0x61, + 0x1d,0xc6,0x64,0xd1,0x99,0x4e,0x6a,0x90,0x94,0x41,0x3a,0xb1,0xb3,0x80,0xc9,0x5c, + 0xd9,0x88,0x3d,0xd7,0xf8,0xfd,0xc6,0x5f,0x35,0x43,0xd9,0xd8,0x29,0xee,0x9f,0x59, + 0x7b,0xf9,0x61,0xa8,0x26,0x4e,0x31,0x62,0xeb,0x8c,0xb5,0x5e,0x46,0x3d,0x71,0x81, + 0xbb,0x67,0xd2,0xa7,0xe,0xc9,0xa8,0x6c,0x1e,0x92,0xa1,0x4c,0x40,0x57,0xb7,0x61, + 0xa7,0x4,0x4a,0xa8,0x48,0xe7,0x9,0xc9,0xf4,0x2f,0x9,0x48,0xc7,0x92,0x80,0xc8, + 0xec,0x22,0x1a,0xde,0xff,0x2c,0x28,0xd7,0xfc,0xf0,0xd5,0x9e,0x15,0x2,0x99,0x5d, + 0x21,0x58,0xde,0x39,0x36,0x9d,0x77,0x2f,0x18,0xf4,0xb0,0x82,0x12,0x95,0xef,0x49, + 0xf1,0xe1,0xc3,0x8e,0x10,0xa4,0x30,0x73,0xff,0xce,0xd2,0xb5,0xb7,0xaa,0x58,0x3b, + 0xc1,0x41,0x20,0x76,0xe4,0x76,0x2e,0x64,0xa,0x95,0x82,0x2e,0xad,0x62,0xe,0x28, + 0x62,0x24,0x9e,0x66,0x92,0x8a,0x70,0x68,0x1e,0x1c,0xfe,0x5c,0x7d,0xe7,0xd5,0x3a, + 0xaf,0x91,0xe6,0xa2,0x1,0x56,0x46,0x35,0x49,0xb0,0x0,0x75,0xe6,0xf0,0x6a,0xc6, + 0x83,0x28,0x78,0x84,0x4b,0x53,0x23,0x7a,0xa6,0xed,0x75,0xd3,0xf6,0xf8,0x63,0xdb, + 0x11,0x18,0x51,0xb8,0xf,0x3b,0x87,0x74,0xb,0xa5,0x9b,0x9d,0xc,0xa,0x94,0xc1, + 0x71,0xf7,0xde,0x86,0x5d,0x1,0x11,0xba,0xf8,0xf8,0x87,0xc,0x20,0xa4,0xd4,0x21, + 0x20,0x3c,0xc5,0x56,0xc8,0x95,0x61,0xee,0x4b,0x77,0x17,0xb6,0x35,0x50,0x17,0x50, + 0xf4,0xcc,0x9c,0x24,0xbd,0x23,0xb8,0x52,0x66,0x3,0xba,0x32,0x38,0x35,0x67,0x5d, + 0x5e,0xcf,0xb6,0xbd,0x6e,0xda,0xf6,0x8c,0x15,0x63,0xa4,0xb0,0x21,0x21,0xa5,0xf4, + 0xfd,0xe,0x50,0x84,0x54,0x11,0xa3,0x81,0x4,0x22,0x73,0x20,0x2c,0x20,0xc6,0xfd, + 0xfa,0x8d,0x1a,0x8,0xcb,0x2a,0x60,0x5b,0x17,0xc5,0xd9,0x62,0x25,0x8a,0x87,0xba, + 0xa2,0x36,0x68,0x5b,0x81,0x15,0x19,0xb6,0x2a,0xbf,0xc,0xc,0x2d,0x8d,0x1b,0xb4, + 0x9f,0xb6,0xbd,0x6e,0xda,0x1e,0x47,0xdb,0x81,0x39,0x43,0x69,0xf,0xb2,0x40,0xb2, + 0xa1,0xf0,0xcd,0x4e,0x7,0x85,0x42,0xa6,0x1c,0x69,0x8d,0x10,0x95,0x4e,0x34,0x78, + 0x42,0xa1,0x8a,0xc,0x6,0x5a,0x82,0xbe,0xa,0xe4,0xd2,0xc7,0x6f,0xa2,0x75,0xf8, + 0x5d,0x61,0xa8,0x68,0xd,0xe4,0xe,0x11,0x48,0x5e,0x2d,0xe4,0x1a,0x20,0x81,0x99, + 0xd9,0x40,0x9e,0xa0,0x65,0x42,0xcc,0x2d,0xc1,0xb,0x10,0x2b,0x53,0x3b,0x5d,0x84, + 0x40,0x1f,0xb5,0x3e,0x64,0x22,0xaa,0x8e,0x20,0x7,0x60,0x5a,0x52,0x8d,0xd8,0x23, + 0x68,0xa6,0xc7,0xe0,0x90,0xe8,0x9a,0x3a,0x3e,0x19,0x35,0x2d,0x5a,0x5,0xf0,0xce, + 0x84,0x7e,0x5e,0x27,0xa1,0x9f,0xc1,0x4c,0x53,0x27,0x21,0x28,0x4d,0x28,0x12,0xc4, + 0x36,0x9c,0xc7,0x50,0x41,0x85,0xd2,0x2e,0x6c,0xec,0xdb,0xaa,0x47,0x74,0x63,0x1b, + 0x23,0x60,0x81,0xa6,0x23,0xb4,0xe4,0x43,0xf3,0xe1,0xa1,0x89,0x43,0x12,0xd9,0x7b, + 0x2b,0x4c,0xec,0xb5,0x4,0xdc,0xa9,0x8d,0xa4,0xea,0x3,0x97,0x56,0x51,0x20,0x4, + 0xc1,0xea,0x54,0xad,0x1f,0xc8,0xe0,0xa1,0x82,0x31,0x51,0xd7,0x5,0x48,0x54,0xd1, + 0xa8,0xeb,0x99,0xb6,0xd7,0x6d,0xdb,0x7e,0xc4,0x15,0x8c,0x84,0xc4,0xf6,0x20,0x3b, + 0xb8,0x69,0xe4,0xf8,0x21,0x6,0x4,0xb2,0xc8,0x8f,0x80,0x7,0x8,0x22,0xd1,0x2a, + 0xe6,0x91,0xa2,0xf,0x70,0x8c,0x95,0xd8,0x2c,0x6e,0xc1,0x5e,0x53,0x36,0x87,0x70, + 0x70,0xeb,0x6b,0xe1,0x5e,0x5e,0xd4,0xf2,0x29,0x9d,0xb5,0xd2,0x9c,0x17,0xab,0x8a, + 0xe6,0xfd,0x43,0xb,0x87,0x28,0x37,0x96,0x7b,0x3e,0x33,0xdb,0x2a,0x74,0xb6,0x3e, + 0x74,0xc5,0xd6,0x42,0xb7,0x2c,0x6d,0x2,0xae,0x3,0x1a,0x85,0x7a,0x3,0xae,0x0, + 0x56,0x55,0x35,0x85,0xe8,0x9a,0xb6,0x3d,0xd8,0x66,0x95,0xc,0x3b,0x3,0x14,0xe5, + 0xa2,0x3d,0x71,0xd,0xd0,0x99,0x2c,0x1b,0x55,0x11,0x40,0x5a,0x64,0x2b,0xab,0xa, + 0xe9,0xc3,0xd6,0xe8,0x8f,0xa2,0x2a,0x10,0xd2,0x91,0x5c,0x87,0x1d,0x43,0x62,0x54, + 0xbe,0x57,0x15,0x9a,0xe1,0x92,0x8f,0x55,0x5,0x2b,0x18,0x6a,0xd2,0xca,0xba,0xa2, + 0xd3,0xf2,0x85,0x5c,0x24,0x9b,0xa3,0xd2,0x7c,0x50,0xa8,0xd2,0xf2,0xd8,0x63,0xbb, + 0x9b,0xa5,0xf3,0x8e,0x44,0x80,0x44,0x69,0x5d,0x42,0x63,0x7d,0x86,0x84,0x36,0x51, + 0xf5,0x41,0x20,0xa3,0x92,0xe9,0x1,0xf4,0x14,0x46,0xd7,0xc7,0x8c,0xde,0x11,0x19, + 0x14,0xe9,0xca,0x94,0xc6,0xe8,0xc4,0xbc,0xbe,0xcc,0xc9,0xd7,0x9b,0x93,0xa3,0x9d, + 0x66,0x4e,0xde,0xa2,0x1e,0x67,0x44,0x9d,0x86,0x0,0xb,0xb1,0xf0,0x3d,0xa9,0x77, + 0x4,0x12,0x6a,0x36,0x52,0x3c,0x7,0x6,0xc7,0x44,0xd2,0xfd,0x1c,0x32,0xc0,0x2b, + 0xd4,0x46,0xcf,0x6f,0xc4,0x9c,0x3d,0xdc,0x57,0xc1,0x5c,0xfa,0x30,0x47,0xf9,0x43, + 0x6a,0x17,0x46,0xaa,0xf,0xda,0x85,0xc2,0xc5,0x26,0xda,0xc5,0x81,0xdc,0xc7,0x77, + 0x1,0xe6,0x6e,0xb2,0xa,0xe6,0xd4,0xab,0x5d,0x2e,0xdb,0x60,0xa6,0x70,0xd8,0x7, + 0x83,0x69,0xc8,0x35,0x63,0x30,0x25,0x47,0x78,0x19,0xc1,0xa2,0x88,0x56,0x30,0x98, + 0x54,0xf5,0x79,0x7b,0x80,0x48,0xec,0xf,0x2e,0x60,0x8,0x63,0x4d,0x5c,0xc0,0xb0, + 0x44,0x5a,0x95,0xd1,0x54,0xd1,0xeb,0x2,0x5e,0xf6,0x84,0x86,0x59,0x4b,0xf7,0xd8, + 0xce,0x12,0x3a,0x40,0x91,0x45,0x62,0x65,0x3e,0x5b,0x2f,0x9f,0x2f,0x78,0x2e,0xee, + 0x83,0x0,0x12,0x3b,0xcb,0xe8,0x5d,0xec,0x1e,0x7f,0xf8,0xd0,0x22,0x80,0x88,0x55, + 0xdf,0xab,0xb,0x67,0xcb,0x55,0xe0,0x95,0xe5,0x93,0xf1,0xcb,0x8f,0x2d,0x21,0x71, + 0x7c,0x88,0x2d,0x29,0x8a,0xf9,0x63,0x6d,0x11,0x80,0xae,0x81,0xb1,0xb2,0xb6,0xa0, + 0xde,0xe0,0xd2,0x65,0x87,0x4a,0xbd,0xc4,0xf2,0x5e,0x5d,0x34,0x1f,0x1e,0x9a,0x3c, + 0xa0,0xbb,0xae,0xba,0xc8,0xee,0x58,0xe9,0x25,0x46,0xfe,0xfb,0x55,0x8,0x1,0x89, + 0x6,0xbf,0x5f,0x6a,0xd1,0x4c,0xf7,0x1a,0x21,0x2f,0x37,0x1c,0xff,0x2c,0xe0,0x65, + 0x48,0x6b,0x10,0x3a,0x63,0x41,0xec,0xff,0xf2,0xd7,0xb7,0xf2,0x7e,0x6a,0x42,0xa0, + 0x61,0x1a,0xe3,0xa,0xb,0x41,0x66,0x5,0xe9,0xc7,0xe5,0x2d,0xd6,0xc1,0xb,0x88, + 0x59,0x65,0x30,0xd0,0xc,0x74,0x5f,0x5,0x72,0x5b,0xb0,0xbe,0x75,0xe1,0xeb,0xb7, + 0x54,0x29,0x34,0x14,0x28,0x71,0xb2,0x3f,0xac,0xdf,0x96,0x89,0xe9,0xfd,0xfa,0xad, + 0x6,0xf,0x44,0x6,0x94,0xc9,0xef,0x57,0x70,0x69,0x25,0xb8,0x65,0xf3,0x15,0xdc, + 0xb5,0xcb,0x8c,0x52,0x45,0x22,0xf,0x38,0x14,0x43,0xf2,0x88,0x43,0x53,0x36,0x59, + 0xa0,0x88,0x19,0xab,0x7d,0xa4,0x64,0x10,0x58,0xcd,0xc1,0xe4,0x33,0x4d,0xaf,0x3f, + 0x36,0xa5,0x47,0x57,0x9b,0xb6,0x7,0xd1,0xec,0x2d,0xfe,0x45,0x5b,0x1c,0xa8,0x49, + 0x61,0x47,0x13,0x90,0x28,0x62,0xc1,0x9e,0x64,0x2d,0xe5,0xab,0x5,0x7b,0x92,0x29, + 0xea,0xf9,0x7b,0x92,0x6f,0xf4,0xd5,0xf5,0x75,0xb5,0xbd,0xad,0x77,0x24,0x30,0x79, + 0x75,0x80,0x44,0xfd,0x20,0xb5,0x9,0x52,0x8b,0x40,0x92,0xe7,0x83,0xc4,0x36,0xbe, + 0x36,0xab,0x1,0x40,0x96,0xc7,0x51,0x72,0x3c,0x25,0x4a,0xce,0xcf,0x47,0xe9,0xea, + 0x66,0x7c,0x4d,0x7a,0x5b,0x11,0x25,0xf5,0xe3,0x28,0x69,0x3e,0x1f,0x25,0xdc,0xff, + 0x2c,0x41,0xc9,0xf0,0xf9,0x28,0x91,0x8c,0xaf,0xed,0xb8,0xa4,0xd8,0xa2,0xb4,0x20, + 0xcf,0xd0,0xc,0xc5,0x2a,0xa4,0xfb,0x94,0x56,0x52,0x9e,0xc2,0xd5,0x81,0xf8,0xd2, + 0x53,0x5a,0x49,0x75,0x3d,0xb8,0x44,0x8f,0x93,0x4a,0x7c,0x1e,0x88,0xe5,0xc8,0x76, + 0xb1,0x4b,0x72,0xab,0x12,0x13,0xcb,0xe1,0xe2,0xec,0x80,0xb,0xd7,0x82,0xcb,0x53, + 0xd4,0x84,0xbd,0xf,0x2e,0xfe,0x4,0xe1,0xc2,0xe3,0x70,0x31,0x3f,0x1f,0x2e,0x7e, + 0x35,0xbe,0xba,0x55,0x56,0xbf,0xd6,0x9b,0xcd,0x97,0xb6,0xd9,0x51,0xc8,0xda,0xf3, + 0x54,0xd8,0xfb,0x9f,0x4a,0x7b,0x6b,0xdb,0x19,0x12,0xd2,0xdf,0xa9,0x22,0xa9,0x5f, + 0x33,0x92,0x9f,0xf0,0x28,0x74,0xa2,0x5c,0xd,0x25,0x2c,0xff,0xd3,0xa,0x1a,0xbd, + 0xb,0x25,0xac,0xec,0xe1,0x12,0xe2,0x2c,0x3d,0x55,0xc2,0xba,0x9,0xd5,0xe,0xf3, + 0x2d,0x4,0x4,0x4b,0x56,0x54,0xc9,0xd9,0x27,0x84,0xdc,0x25,0xa9,0xce,0x57,0xff, + 0x72,0x55,0x16,0x8c,0x5,0xd2,0x82,0x56,0xa2,0x14,0xf3,0x66,0x5a,0x22,0xc3,0xe6, + 0x25,0xf6,0x2e,0x89,0xe7,0x4b,0xaa,0x15,0x25,0x7b,0x31,0x6f,0x28,0xf1,0xf2,0x7, + 0x5d,0x8e,0x9a,0x94,0x3c,0x3f,0x14,0xb1,0x47,0x6c,0xe2,0xa5,0xea,0x71,0x33,0xa3, + 0x85,0x75,0xdc,0x68,0x61,0xf1,0x82,0x8a,0x64,0x32,0xbe,0x16,0xf8,0xd9,0x58,0xba, + 0x8e,0x69,0xa7,0x15,0x51,0x72,0x3f,0x8e,0x92,0xcf,0x92,0xfa,0x53,0xd2,0x55,0x2a, + 0xf3,0xa3,0x16,0xa3,0x87,0xbe,0x18,0x3c,0xaf,0x1,0xdd,0x32,0x89,0xcf,0xa4,0x95, + 0x81,0x35,0xd0,0x32,0x79,0x5e,0xe4,0x70,0x96,0xa8,0x88,0x79,0xb1,0xb5,0xa3,0xff, + 0x6e,0xc5,0x33,0xdf,0x7f,0x64,0xaa,0x93,0xce,0xf7,0xef,0x5d,0xb0,0x67,0x87,0x6, + 0xee,0xd6,0xe6,0xeb,0x4a,0xdc,0x6f,0x19,0x30,0xf1,0x84,0xb3,0x46,0x4c,0x5e,0x71, + 0xf0,0x63,0xc7,0xe0,0x5f,0xe2,0xd7,0xa7,0x17,0x2d,0x9,0xd8,0xa0,0x2f,0x50,0x91, + 0xca,0x57,0xaf,0x44,0xba,0x55,0xe4,0x4a,0xd5,0x7a,0x95,0x19,0x5c,0x9c,0xa8,0x5d, + 0x48,0x24,0x86,0x48,0xab,0x76,0x21,0x51,0x11,0x21,0xd5,0x2c,0x3f,0xb6,0xa5,0xa6, + 0xed,0x81,0x67,0x64,0xd9,0xb7,0x5,0xdb,0x9f,0x93,0x4d,0x71,0x57,0xb0,0xed,0xdd, + 0xcd,0xcf,0x8f,0xbb,0xbd,0xbf,0x22,0x42,0xc7,0xd3,0x8c,0x3e,0x72,0xe6,0xf6,0xe6, + 0x9f,0xaf,0x7e,0xfd,0xe5,0x97,0xd7,0x57,0x6f,0xfe,0xe1,0xc7,0x5f,0x7f,0x6e,0x9f, + 0x67,0xfb,0x37,0x11,0x6e,0x9f,0xe2,0xab,0xef,0x6e,0xfe,0xe7,0xf5,0xd5,0xbb,0xd7, + 0x6f,0xdf,0xdc,0xfb,0x9a,0x99,0x22,0xb6,0x17,0xa1,0x5b,0x88,0xaf,0xef,0xef,0x79, + 0xf9,0xf3,0x3c,0x88,0xbb,0x46,0xf3,0xb8,0x4d,0xc1,0x9c,0x27,0xe7,0x89,0x23,0x3, + 0x66,0xb3,0x3d,0xfd,0x69,0x3b,0x1a,0xdb,0x11,0xa4,0x72,0xf6,0x6d,0x42,0x17,0x8, + 0x2a,0x24,0x1f,0xd8,0x1,0x45,0x88,0xf8,0xc5,0xf1,0x51,0xaa,0xb5,0x60,0x94,0xa2, + 0xde,0x5e,0xd1,0x64,0xdc,0xf4,0xc,0x52,0xa3,0x59,0xfd,0x48,0x94,0x47,0x6,0xea, + 0x55,0x5e,0xbf,0xaa,0x25,0x1d,0x2e,0x8,0x76,0xbf,0xbc,0xba,0xa1,0xdb,0xdb,0xde, + 0x15,0x81,0x8d,0x48,0x34,0x39,0xf,0xd7,0x11,0x92,0x95,0x9f,0x90,0xa8,0x34,0xa4, + 0x61,0xd1,0x93,0x86,0x74,0xdf,0x90,0x30,0x75,0x4b,0x16,0xd1,0x9,0x59,0xa4,0x72, + 0x62,0x16,0xa9,0x5d,0x2a,0x8b,0xa8,0x61,0x91,0x24,0x4,0xe6,0x54,0x15,0x11,0x24, + 0x37,0x27,0x80,0xcd,0x34,0xbc,0x2f,0x9f,0x61,0x5a,0x51,0xb1,0x21,0x8d,0x44,0x4e, + 0x48,0x23,0xb1,0x13,0xd3,0x48,0xe2,0x42,0x69,0xc4,0xd2,0xd0,0x88,0x11,0x48,0xab, + 0x1a,0x1a,0x71,0x1,0xb9,0x21,0x36,0x3c,0x7a,0xda,0x92,0xee,0x5b,0x2a,0x5b,0xd5, + 0x86,0x3c,0x62,0x3b,0x21,0x8f,0x38,0x4e,0xcc,0x23,0xae,0xb,0xe5,0x11,0x59,0xcb, + 0x23,0x5,0x13,0xe3,0x96,0x47,0x9,0x28,0x1c,0x2d,0x8b,0xa6,0xed,0xc6,0x6b,0x1, + 0x89,0xb9,0x2d,0x8b,0x28,0x4e,0xc8,0x22,0xaa,0x53,0xb3,0x88,0x2e,0x94,0x45,0x38, + 0xe3,0x5f,0xcb,0x13,0x7d,0xc4,0x10,0x52,0xd,0x8f,0xe6,0x5a,0xd2,0xbe,0xa5,0x56, + 0xd9,0x86,0x3c,0xc2,0x3a,0x25,0x8f,0x4e,0xed,0x62,0xd3,0x65,0xba,0xd8,0x5e,0x55, + 0xad,0x73,0x54,0x40,0xc6,0x89,0x13,0x7d,0x14,0x90,0x28,0xcd,0xa4,0xbc,0x69,0xd9, + 0xf0,0x28,0x2c,0x78,0x53,0x8d,0x84,0xa7,0x74,0xb3,0xf1,0xd4,0x6e,0x36,0xda,0xa5, + 0x32,0x89,0x9e,0x4c,0xd6,0x84,0x68,0xaa,0x8f,0x34,0xda,0xc2,0xaf,0xf,0xed,0x5a, + 0x16,0x11,0xb8,0x84,0x6f,0xc8,0x22,0xaf,0x3a,0x9d,0x97,0xed,0x55,0xa7,0xf5,0xb2, + 0xbd,0x2a,0x2e,0x94,0x45,0x39,0xf1,0xb2,0x19,0xd8,0x22,0xa6,0x76,0x2d,0x21,0xca, + 0xb4,0xf1,0xb3,0x67,0xdb,0xd2,0xbe,0x2d,0x47,0xc6,0xa6,0x5c,0x4a,0x3b,0x21,0x97, + 0x32,0x4e,0xcc,0xa5,0xac,0xb,0xe5,0x52,0x4c,0x3c,0x6d,0x2,0xe2,0x40,0xa4,0x29, + 0x97,0x8a,0x9a,0x9d,0x2b,0x4d,0xcb,0x96,0x49,0x89,0xc6,0x48,0x1b,0x32,0x29,0xe2, + 0x84,0x4c,0x8a,0x3a,0x35,0x93,0xe8,0x42,0x99,0xe4,0x31,0x9d,0xfb,0x7b,0x91,0x4e, + 0x99,0x54,0x80,0xac,0xad,0x56,0x6a,0xda,0xb6,0x5c,0x2a,0xad,0x6d,0x2d,0x9c,0xd7, + 0x29,0xb9,0x44,0x27,0xe6,0x52,0x5c,0xaa,0xc7,0x6d,0xd5,0x72,0x49,0xc0,0x59,0xec, + 0xa9,0x56,0x62,0xa7,0x46,0x2b,0x35,0x2d,0x1b,0x26,0xa1,0x95,0x6f,0xaa,0x95,0x9c, + 0x4e,0xc8,0x24,0x97,0x13,0x33,0xc9,0xed,0x52,0x99,0x44,0x53,0xad,0x24,0x4e,0x31, + 0x13,0x93,0x24,0xce,0x46,0x2b,0x35,0x6d,0xdb,0xa8,0x24,0x3a,0xd9,0xa6,0x5c,0xb2, + 0x53,0xfa,0xdd,0x76,0x6a,0xbf,0xdb,0xce,0xe3,0x77,0x37,0x85,0xbf,0x85,0x4,0xcc, + 0xac,0xaf,0x94,0x94,0xba,0xd8,0x8e,0xb4,0xb3,0xf0,0x75,0x5b,0x34,0x9c,0x3d,0x21, + 0x2b,0xb0,0xa7,0x3a,0x4b,0x1,0x3b,0x62,0xe4,0xbe,0x8a,0x27,0xde,0xbd,0x1c,0x42, + 0xd0,0x83,0x6c,0xbc,0x90,0x1,0xec,0x11,0x6c,0x43,0x22,0x88,0x57,0x61,0xbc,0x68, + 0x67,0x89,0xa,0x25,0x49,0xd1,0xea,0x4e,0x62,0xb0,0x94,0x32,0x3a,0x38,0x4c,0x74, + 0x69,0xa1,0x84,0x16,0xd7,0x28,0x88,0x12,0xe2,0x2e,0x58,0x8d,0x2b,0x77,0xae,0xb4, + 0x0,0x56,0x27,0x28,0x46,0x12,0xee,0x40,0x35,0x21,0xd3,0x39,0xc4,0x3f,0xa2,0xaa, + 0x96,0x15,0xa6,0xe3,0x5,0x13,0x60,0x51,0xf7,0x3d,0xaa,0xec,0x46,0x61,0x2d,0xaa, + 0x4c,0x2,0x4e,0x44,0x2d,0xaa,0x49,0x50,0x1e,0x91,0x87,0x51,0x15,0x5b,0x5,0xd5, + 0x9d,0xa8,0x42,0xaa,0x6b,0x74,0xb1,0x55,0x3c,0x76,0xe1,0xb8,0x88,0xad,0x12,0x80, + 0x58,0x4a,0xab,0xb0,0x95,0xd2,0xea,0x37,0xd9,0xba,0xe3,0x82,0x22,0xaf,0xf4,0x96, + 0xae,0x2a,0x10,0x41,0x71,0x10,0x57,0x5e,0xbe,0xeb,0xb3,0x39,0xd,0x4b,0x58,0x81, + 0x5,0xb3,0x2d,0xc9,0x24,0xc,0x95,0x6c,0xe9,0x7d,0xba,0x41,0x6d,0x67,0x72,0xf8, + 0xa8,0x85,0xbe,0x47,0xd1,0x56,0x5d,0x40,0xd0,0x42,0xd5,0xf6,0x74,0x2f,0x61,0x7, + 0xa,0x57,0x5b,0xf6,0x7c,0xb0,0xa,0x25,0xf9,0x89,0x36,0xb1,0x12,0x14,0x6d,0xf6, + 0xab,0x52,0x40,0x58,0x39,0xc6,0x81,0x8d,0xa5,0x5e,0x54,0xeb,0x10,0x9c,0xaa,0x80, + 0x92,0x3b,0xb,0x35,0x50,0xc5,0x2e,0x6d,0x81,0xde,0x68,0x3a,0xea,0x39,0x39,0xdc, + 0xd1,0x34,0x3f,0x9c,0x1d,0x1e,0x11,0x39,0xec,0x14,0xc1,0xb9,0x9c,0x7,0x62,0x10, + 0x63,0xf1,0x89,0x16,0x4e,0x90,0xc,0xe5,0x9c,0x9e,0x12,0xe1,0xc8,0x89,0x7e,0x90, + 0xd7,0x44,0xe7,0x82,0xb3,0xec,0x4c,0x68,0x9a,0x42,0x64,0x79,0xfd,0x16,0x9a,0x5, + 0x1a,0x22,0x46,0xb,0xd0,0x44,0x39,0x17,0x9a,0xa4,0xe7,0x82,0xd3,0x13,0x4a,0x2b, + 0xf4,0x1,0x4e,0x7b,0x2,0x27,0x67,0xa5,0xeb,0xf3,0xe1,0xcc,0xb2,0xd,0x36,0x87, + 0x7b,0x66,0x3c,0x63,0xf3,0xcc,0x15,0x8d,0xaf,0xf9,0x4d,0x16,0xad,0x97,0x99,0xb3, + 0x11,0xb9,0xe7,0xa5,0xd1,0xbe,0x8a,0xf1,0xd5,0xd5,0x5b,0xcd,0x4f,0xed,0x93,0x84, + 0xd2,0x93,0x17,0xec,0x6c,0xea,0xeb,0x56,0x66,0xba,0x3d,0xe0,0x17,0x1f,0xb7,0x88, + 0x18,0x50,0xe4,0x93,0xca,0x90,0x2,0x52,0xda,0x5b,0x77,0x55,0x42,0x76,0xc6,0xb9, + 0xc0,0xe6,0x5,0x83,0x7a,0x95,0xd9,0xc7,0xab,0xcd,0x3d,0x35,0x5,0x32,0x10,0xc9, + 0x59,0xea,0x90,0x79,0xca,0xdc,0x86,0xb2,0x11,0xb,0xf6,0x7b,0x75,0x3c,0xcd,0xe8, + 0xa0,0xec,0x7a,0xbd,0xe5,0x3c,0x65,0x4b,0x14,0xdd,0x4a,0x57,0x4c,0x38,0x6f,0xbb, + 0xdd,0x9e,0xb2,0xd,0x95,0xba,0x28,0x5b,0xba,0x2b,0xe3,0x4f,0x81,0xb2,0xb1,0xd, + 0x65,0x7d,0x23,0x2d,0xeb,0x27,0xd5,0xb2,0x71,0x1e,0x2d,0x1b,0xeb,0x53,0x36,0x81, + 0x88,0x8c,0xa6,0x6a,0xd6,0xc4,0x42,0xb5,0x5b,0xcd,0xb2,0xc5,0x2,0xce,0x3e,0xed, + 0xe7,0xba,0xb9,0xa9,0x3e,0xef,0xa3,0x24,0x34,0x86,0x1d,0x2,0x11,0xb9,0xc5,0x80, + 0x40,0x39,0xbe,0x6,0x2,0xa7,0xa4,0xfb,0x82,0x40,0x40,0xb8,0x7f,0x17,0x5,0x94, + 0x4d,0x25,0xa6,0xee,0x1,0xe1,0x76,0x36,0x9f,0x98,0x75,0xb,0x2f,0xae,0x7f,0xe, + 0x1d,0x9,0x92,0x55,0x19,0xc3,0xae,0x10,0x4,0x99,0x38,0x27,0xfe,0x5c,0x40,0x54, + 0x11,0x4d,0x26,0x1b,0xa,0x68,0x18,0x9c,0x7,0xfd,0x39,0x8b,0x73,0x1,0x2b,0x6a, + 0x67,0x6,0xd6,0x20,0x91,0xc9,0xed,0xb7,0x81,0x4d,0x10,0x8d,0x28,0x7d,0x2,0xac, + 0xb2,0x69,0x1d,0x4,0x56,0x6b,0x1d,0x60,0xf7,0x3,0xd2,0x3d,0xb8,0x4f,0x1f,0x8, + 0xef,0x4a,0x16,0x0,0xdb,0x74,0xb4,0x6a,0x8c,0x12,0xd9,0x6a,0x1a,0xf5,0x31,0x48, + 0xc6,0xc,0xe5,0x6,0x58,0xa,0xf0,0x50,0x64,0x3b,0xc,0xec,0xd9,0xa6,0xc7,0x56, + 0xf6,0xa9,0xa8,0x82,0x44,0x20,0xa,0x9,0xea,0xd0,0x4,0x9d,0x33,0x3b,0x91,0xb3, + 0x69,0x82,0xff,0x27,0xef,0x5b,0x77,0xe3,0x48,0x8e,0x35,0x5f,0x85,0x98,0xfd,0x73, + 0x6,0x28,0x6,0xe2,0xf2,0xc5,0x6d,0xce,0x2f,0x7b,0x8e,0xbd,0x58,0x60,0x16,0xd8, + 0x57,0x90,0x48,0xca,0xd6,0x7a,0x3c,0x33,0x98,0xcb,0xd9,0xf5,0x3e,0xfd,0x76,0x55, + 0x37,0xe5,0xae,0x52,0xa9,0x59,0x6c,0x75,0x93,0xf2,0x1c,0xb6,0x4,0x92,0xc1,0xcc, + 0x8a,0xcc,0x2f,0x23,0x23,0x23,0x22,0x23,0xb3,0xa,0xbf,0xbb,0x28,0x4e,0xe9,0xab, + 0xad,0x58,0xf2,0xbb,0xb,0xe2,0x94,0xbc,0xda,0x2a,0x15,0x96,0xbf,0xbf,0x20,0xe, + 0xf7,0xab,0xc1,0xa9,0xf1,0x85,0x4e,0xf5,0xa6,0x56,0xf7,0xf4,0x73,0xe0,0x94,0xd7, + 0x93,0x4e,0xfb,0x32,0x27,0x7b,0x32,0x71,0xa7,0x9f,0xa1,0x38,0xb3,0x5f,0x6d,0x1d, + 0xaa,0xe2,0x2f,0x73,0xae,0x27,0x93,0x7b,0x25,0xcb,0x19,0x70,0xd6,0xab,0xad,0x43, + 0x5a,0xf5,0x65,0xce,0xf5,0x64,0x12,0xf6,0xd4,0x73,0xa4,0x33,0x5f,0x6d,0x25,0x4a, + 0xc3,0x17,0xbb,0xb0,0x97,0xc1,0xd9,0xce,0x80,0x33,0xfa,0xd5,0x8c,0x79,0xcb,0xdf, + 0xdf,0x64,0x8f,0x57,0x5b,0x89,0xc0,0x5f,0xec,0x64,0x3f,0x1f,0x4e,0x7f,0x3d,0x97, + 0x28,0xf4,0x8b,0x5d,0xd8,0xa5,0x2d,0x52,0xcf,0x80,0x13,0xaf,0x17,0xc4,0xb3,0xf8, + 0xfd,0x4d,0x76,0x8b,0x57,0xd3,0x9d,0x8c,0x2f,0x25,0x74,0xb7,0xc,0x84,0x9c,0x8e, + 0xdc,0x39,0x21,0x33,0x2d,0x4f,0xe2,0xaa,0x75,0x8d,0xcd,0x97,0xd4,0xe7,0x5c,0x34, + 0xec,0xe9,0xe9,0x9b,0xb6,0x43,0x52,0xf5,0xc4,0xe6,0xcb,0xe5,0xb9,0x61,0x7d,0xbf, + 0xd0,0x83,0x61,0x1d,0x9f,0xcd,0x96,0x3f,0xc1,0x36,0x56,0xd8,0x7e,0x4e,0xea,0xa7, + 0x86,0x91,0x40,0x2d,0xb6,0x9,0x7d,0xf9,0x6d,0xe3,0xc,0xef,0x60,0x85,0xd1,0xf9, + 0x61,0x55,0x21,0x18,0xa7,0xc4,0xa7,0x92,0xe9,0x3c,0xa9,0x43,0x85,0x17,0xa9,0x9f, + 0x42,0x21,0xd,0xaf,0x93,0x42,0x2f,0x75,0xa1,0x64,0x3a,0x2e,0xd2,0x60,0xb7,0xf9, + 0xa6,0x96,0x50,0x96,0x72,0xe9,0xb6,0xd4,0x45,0xad,0x5b,0xf,0x7f,0xee,0xa6,0xd6, + 0x2a,0x9f,0xbb,0x59,0xa3,0x36,0xbd,0xf1,0x42,0x3a,0xbb,0x31,0xe1,0x2f,0x32,0xe9, + 0x99,0x21,0x84,0xd8,0x6c,0x7a,0x85,0x6d,0x3a,0x59,0xe7,0x62,0xb,0x4b,0x3c,0xdb, + 0xcb,0x4f,0x6d,0x61,0xa5,0xf0,0x55,0xd4,0xa,0xe3,0xab,0x6b,0xec,0xd0,0x27,0xc7, + 0xda,0x44,0xbf,0xd2,0xe6,0x6a,0x72,0x5d,0x7c,0x73,0xd5,0xa9,0x44,0x7d,0x99,0xf, + 0xc0,0x88,0xea,0x6d,0x52,0x28,0xb8,0xed,0xb4,0x73,0xa4,0x70,0xc9,0xe6,0x6e,0xd6, + 0xa2,0xd,0xaf,0x45,0x35,0x4a,0x16,0xd3,0xbd,0x10,0x82,0x60,0xc9,0x31,0x6e,0xa5, + 0x2,0x42,0xd9,0xc3,0xad,0x22,0x29,0x1d,0x73,0x31,0x14,0x4a,0xa9,0x3c,0x2d,0x84, + 0xac,0xd7,0x10,0xc2,0xe8,0xb8,0x8a,0x10,0x46,0xd7,0x8b,0xa,0x21,0x7f,0x91,0x42, + 0x8,0x93,0xd7,0x10,0xc2,0x75,0x19,0x2c,0x75,0x62,0x73,0x3f,0x5f,0x6,0xa3,0x71, + 0x15,0x19,0xac,0xe7,0x28,0xc2,0x3b,0x1e,0x3f,0x5b,0xa4,0x22,0xea,0x25,0x15,0x61, + 0xd4,0xaa,0xc4,0x13,0x3b,0x1a,0xce,0xf1,0x2c,0xb6,0x77,0xf7,0xe3,0x67,0x13,0xdb, + 0xe6,0x55,0xb6,0x62,0xc5,0x3a,0xcb,0xa9,0xd9,0x8a,0xed,0xc6,0xf9,0xad,0x97,0x36, + 0xeb,0x52,0xa8,0x91,0xec,0xdb,0xcc,0x3a,0xf7,0x5b,0xb1,0xb8,0x44,0xda,0xfe,0xe2, + 0x7d,0x7e,0x50,0xe,0xf6,0xbe,0x8a,0xcd,0xb7,0xb0,0x2f,0xe1,0xa4,0xd6,0x36,0x73, + 0xc8,0x67,0x2d,0x38,0x31,0x65,0xf4,0x22,0x1e,0xa4,0x33,0x65,0x23,0x7c,0xdb,0x79, + 0x1f,0xb1,0xba,0x85,0x9c,0x13,0x2d,0xf2,0xa6,0x10,0xb7,0xae,0xcd,0xb0,0xb6,0x62, + 0xe,0x6b,0xa9,0x1e,0xce,0xfb,0x20,0x14,0x21,0x13,0xac,0xaa,0xda,0xb6,0x38,0xef, + 0xa3,0x4e,0xc2,0x1c,0x73,0x53,0xfa,0xd6,0x98,0xc2,0x23,0x33,0x4e,0xc2,0x9a,0xb8, + 0xc,0xac,0x41,0xd9,0x51,0xe9,0x9b,0x61,0xed,0xb0,0x2f,0x1b,0x56,0x71,0x50,0xb2, + 0xe3,0x2c,0x58,0x23,0x2e,0x2,0x6b,0x34,0x55,0x96,0xc0,0x36,0xc3,0x6a,0x9e,0x67, + 0xc0,0x8a,0xa0,0xea,0x36,0x91,0x97,0x80,0x55,0xa8,0xb5,0xb5,0xe6,0xb0,0xba,0x92, + 0x9b,0x2b,0x9f,0x86,0xd5,0xeb,0x32,0xb0,0x16,0x89,0x4b,0x9b,0x6e,0x57,0x2,0x26, + 0x67,0xc0,0x5a,0x42,0x92,0xcc,0xc0,0xb,0xc0,0x9a,0x4e,0x9c,0x1,0x9b,0xc3,0x8a, + 0x24,0x68,0xb3,0xf9,0x69,0x58,0xf9,0x2a,0x56,0xe,0x9e,0x63,0xe5,0xf4,0x3,0xee, + 0x79,0x9b,0x95,0x83,0xcf,0xb7,0x72,0xbc,0xf4,0xed,0x56,0x6e,0x67,0xb9,0x7b,0xdb, + 0x51,0x32,0x7d,0x6,0x4a,0xf,0x3a,0x7e,0x36,0xb5,0xdb,0xf0,0xf9,0xb6,0x60,0x8c, + 0x9f,0x6d,0xdc,0xe2,0xba,0x28,0x69,0x5c,0x7,0x25,0xad,0x97,0xb4,0x98,0x8d,0xaf, + 0x8b,0x12,0xd7,0x33,0x50,0x82,0x34,0xbf,0xdb,0x36,0x7,0x84,0x2f,0x70,0xce,0xc3, + 0x90,0xd8,0xc6,0x4d,0xaf,0x8a,0x92,0x3f,0x2b,0x2,0x10,0x29,0xb5,0x4d,0x53,0xf8, + 0x5,0x22,0x0,0xf9,0xd6,0x7a,0x63,0xbc,0x81,0xf9,0xba,0x28,0x55,0x3c,0xef,0x4d, + 0x5a,0xfe,0x80,0x4d,0x28,0xd5,0x25,0x66,0xdc,0xc3,0xdd,0xfd,0xc6,0x31,0x59,0x77, + 0x16,0xd5,0x9f,0xc9,0xf0,0xde,0x7a,0x23,0x43,0x5d,0x65,0xf8,0x5c,0x7e,0x77,0x88, + 0x37,0xdb,0xf8,0xe1,0x1c,0x31,0xb8,0xfb,0xfe,0xfd,0x4f,0xff,0xeb,0xcd,0xaf,0x7f, + 0x7d,0xac,0xfa,0xf8,0xfb,0xd3,0xd7,0x95,0x3c,0x96,0xc,0xaf,0xa3,0x85,0xeb,0xa7, + 0x1d,0x65,0xd1,0xa3,0xe9,0xf5,0x9,0xdf,0x7f,0xf3,0xc3,0x8f,0x3f,0x3c,0xfc,0xfb, + 0xf8,0xd3,0x51,0x47,0xa6,0x5f,0x7f,0xfe,0xed,0xfb,0x87,0x6f,0x1e,0xfe,0xf3,0xe1, + 0x87,0x1f,0xef,0x47,0xbf,0xff,0xe7,0x1f,0xff,0xf6,0xf0,0xcd,0x6f,0x3f,0x7f,0xff, + 0x6f,0x1f,0xbf,0x13,0xbc,0xbf,0x3e,0xfc,0xfd,0xf6,0xff,0xbc,0xbf,0xff,0xf5,0xaf, + 0xdf,0x8,0x5,0x4f,0x5f,0xfa,0x48,0x1f,0xab,0xec,0xac,0x96,0x6f,0xde,0xfe,0xf6, + 0xeb,0xaf,0xc7,0xb4,0xff,0xfd,0xe3,0xfb,0x1f,0xbe,0xf9,0xfb,0xfb,0xdd,0xb,0x11, + 0x1e,0xa9,0xd3,0x2f,0xdf,0xbf,0xdf,0x7d,0xfb,0x6,0x8f,0xb4,0xfb,0x37,0xbf,0xfc, + 0xf5,0xcd,0xcf,0x3f,0xbf,0xf9,0xc7,0xd4,0xd8,0x3,0x75,0xde,0xdc,0x5d,0xa5,0x7d, + 0xe3,0xf6,0x3f,0x9b,0x8a,0x7c,0x7d,0x84,0xfb,0xe,0x97,0xff,0x79,0x63,0x65,0xe4, + 0x30,0xb7,0x1,0x59,0x64,0x1c,0x79,0xf3,0xed,0xa,0x71,0x41,0xd2,0x74,0xff,0x98, + 0x4,0x9f,0xea,0x26,0x65,0x54,0xeb,0x44,0x65,0x13,0x8e,0x1b,0x6b,0x23,0xe6,0xc8, + 0x91,0xe6,0x64,0x30,0xec,0x48,0x4e,0x90,0x1a,0x2b,0x47,0x52,0x3e,0x56,0xee,0xa4, + 0xb4,0xd4,0x1a,0x10,0x4c,0xe8,0x76,0xdc,0x80,0x99,0x98,0xa5,0x7,0x40,0xc8,0x5b, + 0x6d,0xcf,0x59,0xdb,0xdc,0x26,0x1a,0x1a,0x7a,0x68,0xb4,0xa2,0xbb,0xe,0x44,0x6b, + 0xec,0x69,0xa2,0x86,0xf,0x5,0x27,0x92,0x44,0x2d,0xea,0x46,0x10,0x3c,0x35,0xe, + 0x4c,0xd8,0x62,0x47,0x2b,0x8a,0x36,0xe8,0x63,0x5b,0x64,0xc7,0x38,0x85,0x58,0x54, + 0x6b,0xde,0xea,0x34,0x82,0x56,0xec,0x7b,0xe7,0x13,0x36,0x59,0x14,0xd5,0x9c,0x7, + 0x14,0xba,0x6a,0xc7,0x59,0xa9,0xa5,0x96,0x78,0x2d,0xa9,0x3e,0x27,0x4d,0xf0,0xcf, + 0x48,0xb3,0x61,0x62,0x55,0xd5,0xf9,0x30,0x89,0x7a,0xf9,0x81,0xd4,0x79,0x0,0xc1, + 0x84,0x3f,0xaa,0x6b,0xa6,0x9a,0x8f,0x5,0x7d,0xf,0xd,0x60,0x91,0xeb,0xc3,0x7e, + 0x20,0xfd,0xbf,0x9b,0xc5,0x94,0xfe,0x69,0x3f,0xb1,0x70,0x34,0x7d,0x1f,0xe7,0xdb, + 0x93,0x4e,0x8d,0x65,0x53,0x73,0xf0,0xb6,0xc3,0x58,0x2a,0x67,0x9c,0xf,0x98,0x78, + 0x44,0x70,0xcd,0x5c,0xf,0x24,0x53,0xc3,0x75,0x9e,0x8e,0xa,0x3,0x55,0xe4,0xe9, + 0xad,0x3c,0xaf,0x4d,0x9e,0xc7,0xef,0xb3,0xef,0xb9,0xc9,0x99,0xbd,0xa0,0xc2,0x4e, + 0x6c,0x50,0xd8,0xeb,0x3a,0x38,0xfd,0xeb,0xcf,0x53,0xe2,0x99,0x4b,0x25,0xfe,0xd3, + 0xff,0xdd,0xae,0xbd,0xb7,0xe9,0xe4,0xb0,0x8f,0x74,0xb2,0x6a,0x13,0x54,0x63,0xaf, + 0x65,0x8c,0xab,0x6e,0xbe,0x9d,0x88,0x2e,0xda,0x35,0x20,0x85,0x54,0x3b,0x70,0xa3, + 0x66,0x24,0x10,0x1e,0x69,0x41,0xaa,0x88,0xda,0xd1,0x98,0x32,0x2,0x36,0x20,0x93, + 0xda,0x6c,0x5f,0xd9,0x8,0xe,0x97,0x1,0x65,0x24,0x1d,0xc0,0x8d,0x72,0x91,0x88, + 0x45,0x4f,0x34,0x66,0xa0,0x76,0xb4,0x24,0xd3,0x6a,0x1b,0x9c,0xeb,0x3,0x67,0x29, + 0xa,0x6d,0xee,0xc1,0xc5,0x8,0x92,0xa2,0xfb,0x26,0x26,0xd8,0x76,0x34,0xa7,0xb6, + 0x96,0xd8,0x71,0x6e,0x6a,0xb7,0x1e,0x69,0x41,0x2a,0xce,0x7e,0xf3,0xdd,0x92,0x8a, + 0xb0,0xf1,0x91,0x60,0x12,0x48,0xe4,0x81,0x8,0xb3,0x89,0x66,0x5a,0x88,0x43,0xf5, + 0x42,0x4e,0x34,0x97,0xc0,0xd1,0x23,0xf,0xb5,0x53,0x50,0x78,0x2c,0x99,0x3e,0xd1, + 0x5a,0x94,0x1f,0xd9,0x40,0x75,0x47,0x13,0x12,0x61,0xa9,0x7f,0xb2,0xfe,0xee,0x88, + 0x38,0x7b,0xa4,0x4f,0x6a,0x9f,0xeb,0xb8,0x3f,0xa1,0x4,0x73,0x96,0xe3,0x7e,0xa7, + 0x51,0x9a,0x4b,0xcd,0x0,0x4a,0xa5,0x76,0x86,0x1e,0x23,0xe9,0x49,0xc1,0xed,0x7d, + 0x8c,0xb8,0x33,0x69,0x67,0xd4,0x6c,0x68,0x90,0xd4,0x6a,0x6c,0xc7,0x63,0xe8,0x42, + 0xee,0x22,0x7a,0x3c,0xd6,0x2e,0x14,0x10,0xd8,0x7,0xa1,0x98,0x75,0xe6,0x91,0x38, + 0x43,0xfc,0x88,0xb8,0x22,0x53,0x9f,0x50,0xe4,0x19,0x5b,0x15,0xf9,0x4c,0x7b,0x4, + 0x48,0xab,0xcb,0xb6,0xbe,0xe3,0xea,0x1c,0x65,0x66,0x4e,0xe9,0x89,0x8d,0x77,0xc3, + 0xdf,0xb6,0x93,0xaa,0x5b,0xcb,0xc0,0x8b,0x3c,0xe,0x4e,0xea,0xf4,0x98,0xbd,0xc5, + 0x6b,0xf6,0xf8,0x13,0xa,0xf0,0xbc,0x90,0xfe,0x12,0x2f,0x67,0xa5,0x52,0x49,0xdf, + 0xa6,0xfc,0x71,0x1e,0x5e,0x4d,0x2e,0xe5,0x9f,0x8d,0x17,0x3c,0xa9,0xb9,0x52,0x17, + 0x78,0x15,0x85,0x6a,0xd9,0x69,0xbc,0xf8,0x35,0xf0,0x12,0xff,0x57,0xc5,0x2b,0x5e, + 0x7a,0x81,0x8d,0xc5,0x2,0xbb,0x74,0x10,0x14,0x4,0xe,0xf5,0xc1,0x4d,0x28,0xc2, + 0xa4,0x47,0xf3,0x51,0x82,0x22,0x3b,0x64,0x47,0xd,0x62,0xb3,0xec,0x1b,0x63,0x23, + 0x35,0x1b,0x49,0x49,0x30,0x6e,0xec,0x48,0x4a,0x3e,0x78,0x8,0x71,0x34,0x30,0x55, + 0x54,0x62,0xd1,0xc0,0x8e,0xea,0x64,0xd1,0xd1,0x3b,0x16,0x42,0xca,0x96,0xb1,0xa3, + 0x25,0x95,0xba,0xd7,0x8d,0x19,0x93,0xe8,0x58,0xb7,0xfe,0xc9,0x54,0x8b,0x3c,0x2b, + 0x6,0xf7,0x20,0xb5,0xae,0x9e,0x48,0x66,0x6c,0x36,0x38,0x8c,0xd0,0xca,0xb9,0xd6, + 0xe2,0x9d,0xae,0xdb,0xf5,0x4,0x49,0x1f,0x77,0x4,0xfb,0xe4,0xa2,0x1e,0x1c,0x20, + 0x74,0x70,0xef,0x68,0x4a,0xe5,0x99,0x13,0x1f,0x68,0xb6,0xed,0x48,0x42,0x6,0xcb, + 0x45,0x83,0x9c,0x49,0x3,0xdd,0xc7,0xd,0xf7,0x26,0x78,0x88,0x1c,0x77,0x30,0x8a, + 0x3a,0x2a,0x17,0x50,0x44,0x91,0x9a,0x87,0x1f,0x3,0xb6,0xcf,0xe,0x16,0x1c,0xe1, + 0xba,0xd2,0xee,0x9d,0xea,0x3e,0x61,0x7,0xcd,0xf3,0x1,0x2c,0xbc,0x36,0xdb,0x41, + 0x93,0x33,0x79,0x49,0x9b,0x67,0x75,0x89,0x89,0x38,0x6e,0xfe,0x8f,0xf7,0xef,0x7f, + 0xda,0xfd,0xdf,0xb1,0xbe,0x7f,0xf8,0xf5,0x1f,0x3f,0x3d,0xec,0x4,0xf7,0xee,0xf0, + 0xb5,0xbe,0x12,0x9d,0x4e,0xa,0x31,0x33,0xca,0xe4,0x9e,0xdf,0x36,0x87,0x4c,0x12, + 0x9d,0xdf,0x1f,0x32,0x29,0x7c,0x83,0xd5,0xb6,0x93,0xdf,0xc0,0x19,0x59,0x22,0xe8, + 0xdc,0xb,0xe3,0x2c,0x9f,0xcd,0x48,0x27,0x69,0xda,0x94,0x2e,0xa7,0xec,0x9a,0x9c, + 0xc3,0x2d,0x88,0x99,0xcd,0xac,0xc6,0xcd,0x15,0xa5,0x28,0x3,0x90,0xe3,0x2f,0x4c, + 0xc5,0xe5,0xac,0xc3,0x6d,0x29,0x69,0x80,0x53,0x7,0x9,0x21,0x58,0x67,0x7f,0x7d, + 0x2a,0x59,0xc4,0xe3,0x12,0x5b,0xd4,0xcf,0xc5,0x32,0xce,0xb8,0x37,0x71,0xc6,0x63, + 0xb1,0x98,0x87,0xc8,0xe2,0xa8,0x7b,0xf0,0x8,0x5c,0x59,0x9e,0x56,0xb6,0xfc,0xc2, + 0xca,0xd6,0x63,0xae,0x6c,0xd7,0x66,0x87,0xd7,0xfa,0xe4,0x7e,0xc,0xda,0x6f,0x9e, + 0xcb,0xff,0xd,0xb0,0x7b,0xeb,0xf9,0x74,0x66,0xf2,0x57,0xb,0x40,0xa5,0xf8,0x47, + 0xce,0xe,0x44,0x49,0xf6,0x61,0x96,0xc,0xea,0x60,0x93,0x9d,0x6e,0x84,0x30,0x99, + 0x73,0xc8,0x80,0x62,0x6a,0x2d,0xb6,0x1b,0x70,0x52,0x54,0x7a,0xd,0x28,0x50,0xb5, + 0x67,0xec,0x68,0x46,0x6a,0x6e,0x31,0xa0,0x8a,0x2a,0xc,0xa3,0xb1,0x3b,0xd6,0xf6, + 0x2e,0xc1,0x80,0x2e,0x92,0xea,0xd8,0x53,0xf7,0x26,0x2a,0xe,0xe6,0x77,0xa8,0xef, + 0xa8,0x2b,0xfc,0x47,0xf5,0xba,0x41,0x3f,0x9d,0x13,0xef,0x0,0x7,0x41,0xc5,0xb6, + 0x99,0xc9,0xa9,0xe7,0x98,0x31,0x10,0x90,0x5b,0x97,0xcd,0x6d,0x92,0x66,0xca,0x70, + 0x8f,0xb9,0xd3,0x5f,0x42,0x51,0xc8,0xd3,0x4e,0xbf,0x6f,0xca,0xb7,0xf8,0xbd,0x76, + 0xfe,0x42,0xa,0x12,0x20,0xa8,0x66,0x6f,0xea,0x7c,0x3b,0xce,0x52,0x90,0x45,0x26, + 0xe5,0x39,0xef,0x3c,0x8c,0x3c,0xd1,0x3a,0xef,0xbc,0x27,0x99,0x44,0xca,0xe9,0xce, + 0xbf,0xb4,0x82,0x44,0x9c,0xb6,0x46,0xbd,0x88,0xa5,0xc,0x3,0xac,0xa8,0xd3,0xdb, + 0x27,0x3b,0x2c,0xc9,0x3b,0x91,0x3,0xc0,0xa4,0x56,0x1e,0x13,0x4d,0xb5,0x43,0x7, + 0x40,0x49,0x3c,0xb9,0x76,0x34,0xa7,0x36,0x2f,0x9b,0x68,0x40,0xd4,0x58,0x19,0x4d, + 0x95,0xe9,0x63,0x65,0xa3,0x62,0x3,0x76,0x34,0x27,0x68,0x60,0xa4,0x15,0xb5,0x7b, + 0xf8,0xde,0x4,0xf4,0x52,0x1f,0xe0,0x42,0x48,0x61,0x99,0x6a,0x33,0x59,0x59,0xea, + 0x0,0x57,0xe2,0x34,0xdf,0x95,0xb4,0x22,0x28,0x4c,0x6,0xa0,0xa9,0x90,0x5e,0x13, + 0xcd,0x4b,0x7c,0xff,0xc4,0x68,0x98,0x1d,0x6a,0xb3,0x49,0xd6,0x0,0x4b,0xaa,0x10, + 0xcf,0x1d,0xad,0x88,0x4b,0xda,0x7,0x98,0x92,0x86,0x56,0x4e,0xdd,0x8e,0x64,0xc, + 0x30,0x23,0xd,0xb1,0x1c,0x2b,0x7,0x93,0x68,0x6b,0x4c,0x54,0xb7,0x56,0x9f,0xa, + 0xa6,0x3,0x3a,0xc0,0x82,0x32,0x32,0x65,0xd,0xb3,0x4f,0x1b,0x90,0x87,0x94,0x86, + 0x2f,0xcb,0x5e,0x44,0x3d,0xa5,0x8f,0x7f,0xf9,0xe5,0xee,0xee,0x97,0x15,0x85,0x7c, + 0x49,0xc9,0xd4,0x93,0x92,0x9,0xd9,0x27,0xfe,0x4e,0x22,0x8,0x4b,0x9f,0x56,0x31, + 0x50,0x74,0x75,0x4c,0xc4,0x10,0x8f,0x9c,0x68,0x66,0x85,0x91,0x66,0x94,0x6e,0x89, + 0x89,0x6,0x8e,0xa9,0xb2,0x93,0x89,0x3e,0x56,0x6,0x97,0xe8,0x9e,0xe8,0xee,0xb2, + 0xa7,0x99,0xd6,0x81,0xd6,0x8,0x1c,0x68,0x39,0xd5,0x3d,0x66,0x8c,0x76,0x3c,0xca, + 0xb4,0x7a,0x4d,0xd,0xec,0x8c,0xd8,0x17,0xac,0xd2,0x1e,0x9f,0x17,0xd4,0x12,0xad, + 0x13,0x2d,0x4d,0x11,0x63,0x6d,0x5,0xa9,0xa5,0xcb,0x0,0x4,0x19,0xbc,0x73,0x47, + 0x4b,0x62,0xee,0xa8,0x49,0xa6,0xc5,0x18,0x98,0x68,0xd3,0x74,0xd8,0xf7,0x7c,0xaa, + 0x99,0x64,0xe5,0x7,0x29,0x2f,0x87,0xc8,0x8e,0x66,0xe4,0x2c,0xb6,0xdf,0x70,0xe1, + 0x92,0xca,0x15,0xb0,0x9e,0xe3,0xd1,0x80,0x61,0x5f,0x98,0x47,0x3,0x3c,0x29,0xa1, + 0x67,0xfb,0x33,0x30,0x62,0x66,0x95,0xb9,0x3f,0x83,0xa4,0xea,0x2e,0x99,0x7b,0x34, + 0x70,0x72,0x13,0x8f,0x6d,0x8b,0x4c,0xc4,0x39,0x1e,0xd,0x9a,0x84,0xd9,0xe4,0xd8, + 0xa3,0x89,0x69,0x14,0x83,0xb7,0x1d,0xe4,0xc,0x4d,0x99,0x5c,0x14,0x32,0x98,0x7, + 0xf7,0x70,0xcb,0x94,0x0,0x7b,0xda,0xc0,0x64,0x48,0xad,0xaa,0xc1,0xad,0xc8,0x94, + 0x47,0xd7,0x47,0x52,0x48,0xb8,0x5b,0x4f,0x3b,0x33,0xe0,0xb3,0xf,0x59,0x3d,0x1f, + 0x88,0x5b,0x93,0xa6,0xd4,0x58,0xc,0x81,0x5,0x55,0x5b,0x6d,0x2,0x42,0xba,0xc0, + 0x31,0xf0,0x70,0xeb,0xa4,0x1e,0xe6,0xfe,0x70,0x6b,0xc3,0xed,0x87,0x3f,0xdc,0xc2, + 0x95,0xba,0xbc,0x77,0x5,0x8a,0x5c,0x5b,0x75,0x7e,0x1a,0xc0,0x98,0x5c,0x4d,0x4e, + 0x82,0x62,0x78,0x4e,0x16,0xd2,0x9b,0x77,0xf2,0xae,0x37,0x6d,0xe2,0xdb,0xe7,0x67, + 0xb4,0xc5,0xbb,0xbe,0xbf,0xc7,0x36,0x6e,0x4f,0x65,0xb4,0xcd,0xbb,0x7d,0xa9,0x31, + 0xee,0xd9,0xe0,0xba,0x50,0x77,0xfb,0x6c,0x8,0x44,0x88,0x99,0xe3,0xe4,0x10,0x3c, + 0xeb,0x68,0x6a,0xf1,0x1f,0xed,0xcf,0x7f,0x5e,0x5,0x41,0x6d,0xfd,0x14,0x81,0x3f, + 0xf,0xf5,0xfe,0x83,0xfc,0x99,0xd7,0x19,0xf8,0x2a,0x3,0x93,0x78,0x16,0x7,0x54, + 0xd5,0x7f,0xfc,0x61,0x9d,0x43,0xae,0x72,0x8,0xd6,0x7e,0x16,0xb,0xb3,0xac,0x6f, + 0xbf,0x5d,0x17,0x15,0x5e,0x65,0x51,0x10,0x7d,0x16,0xb,0xfd,0x36,0x77,0xff,0xd6, + 0x59,0xe8,0x19,0xd2,0x78,0x11,0x33,0x44,0x62,0xcb,0x7e,0xe8,0x74,0x6,0xec,0x15, + 0xcd,0xb8,0xa5,0x97,0x9f,0x3a,0xd4,0xe4,0x83,0xf3,0x20,0xca,0xbb,0x1f,0x4c,0xff, + 0xf9,0x43,0x8d,0xdf,0xf3,0xe8,0xfb,0x6e,0x6f,0x6a,0x75,0x95,0x95,0x5a,0x59,0x40, + 0x2f,0x34,0xd3,0x45,0x94,0x8c,0x91,0xb3,0xf9,0x2e,0xac,0x73,0x75,0xdb,0xe4,0x5e, + 0xde,0xa7,0x26,0x3b,0x3a,0x9f,0x31,0xd9,0xdf,0xe6,0xdb,0x7a,0xbb,0x4d,0xdf,0xf2, + 0xe7,0xe7,0x33,0xfe,0xe9,0xdb,0xf1,0xb3,0xfe,0x74,0x5d,0x57,0x2d,0x55,0x2e,0x8c, + 0xe7,0xcd,0xcd,0x3f,0xff,0x61,0xfc,0xac,0xb3,0xc1,0x2a,0x1b,0xf5,0x94,0x12,0xe4, + 0xf3,0xd8,0x4c,0x5f,0xeb,0x6c,0x62,0x5d,0x8f,0xb1,0x88,0x68,0xe6,0xc5,0x7a,0x53, + 0xab,0x6c,0xdc,0xc4,0x9e,0x37,0x2e,0x7f,0xfc,0xe4,0xb8,0xc8,0xa7,0x94,0x19,0xfa, + 0x79,0x2c,0xe4,0x4f,0xfa,0x27,0x5b,0x67,0xb1,0x4d,0x99,0x9d,0x9b,0x94,0x89,0x96, + 0xe7,0xdc,0x8a,0xad,0xe3,0x67,0xcb,0x84,0x40,0xdb,0xb,0xa6,0x41,0xa3,0xfd,0x9a, + 0xa9,0xab,0xb6,0x25,0xb3,0xe6,0xa9,0x57,0x9a,0x99,0x17,0x3f,0xff,0x95,0x66,0x77, + 0x75,0x77,0x7f,0x7f,0xb7,0xc4,0x60,0x1,0xe3,0x3a,0xb7,0x55,0xc1,0x79,0x3e,0x37, + 0xfe,0xf7,0xcb,0xc1,0x58,0x71,0x9,0x18,0xeb,0xf9,0x30,0xf2,0xf4,0x75,0xe,0x8c, + 0xcd,0x6b,0x30,0x6e,0xe7,0xb6,0x1d,0xc6,0x7d,0x1c,0xfe,0x18,0xbe,0x3d,0xc5,0xfc, + 0xe8,0x48,0xdd,0x5f,0x1f,0xde,0xff,0xe5,0xaf,0x63,0xb,0x48,0x50,0x7c,0xfc,0xd2, + 0xfe,0xd1,0x20,0x66,0xe2,0x4,0x4b,0xd7,0x91,0xf3,0x38,0x59,0xc,0x63,0x5,0x83, + 0x7a,0xc5,0x91,0xf7,0x39,0x55,0x90,0x14,0x6d,0x33,0x7d,0xc6,0xc0,0xbc,0x7b,0xf8, + 0xef,0x6f,0x7e,0xfb,0xe5,0x97,0xf7,0x6f,0x7e,0xf8,0xe3,0xf7,0xbf,0xfd,0x3c,0x7, + 0x6d,0xfe,0x37,0xf3,0x8c,0x19,0x54,0xf7,0xff,0xf1,0xf0,0x9f,0xef,0xdf,0xfc,0xfa, + 0xfe,0xc7,0x1f,0x26,0x55,0x9c,0xc1,0x68,0xd8,0x54,0xe4,0x34,0xf7,0x23,0xf0,0xf6, + 0xa8,0x3c,0x5b,0xf6,0xf8,0x12,0x53,0x58,0x5e,0x74,0xa,0xcb,0xb5,0xa6,0xf0,0x76, + 0xd9,0x43,0xdb,0x75,0x24,0x3,0xed,0x9f,0x94,0xc,0x21,0x61,0x8f,0xd2,0x97,0x90, + 0xb,0x83,0x7d,0xbe,0x5c,0x18,0xfc,0xf9,0x72,0xf1,0xf6,0xed,0x9d,0xdc,0xe3,0xf9, + 0x72,0x11,0xc8,0xcd,0x72,0xb1,0xe4,0x76,0x31,0xb9,0x30,0xeb,0x15,0x9d,0x54,0x6e, + 0x96,0x2c,0xb,0x9d,0x4,0x8d,0x28,0x67,0xff,0x58,0x25,0x49,0x84,0x8b,0x60,0xa1, + 0x92,0xb8,0x4c,0xdd,0xa3,0xfb,0x3a,0x92,0x67,0x90,0x53,0x3a,0x89,0xb5,0xdc,0x22, + 0xcf,0x95,0xbd,0xa5,0x27,0xb9,0xf4,0x11,0x11,0xf6,0xd5,0x36,0x17,0x73,0xe9,0x49, + 0x9e,0xde,0xf2,0xfc,0x65,0xfa,0xff,0xf8,0xf5,0xc9,0x4d,0x6a,0xbc,0xf3,0x77,0xb5, + 0x7d,0x93,0xba,0xeb,0x8d,0xbe,0x7d,0x77,0xf5,0x3c,0xdb,0xfa,0x38,0xcf,0x16,0x61, + 0x94,0x3e,0xc0,0x9c,0xe,0x61,0xf3,0x50,0x42,0xaa,0xca,0x44,0xf3,0x72,0x8e,0x1d, + 0x4d,0x28,0x25,0x24,0x7,0x58,0x50,0xb0,0x88,0x4d,0xb4,0xa9,0x62,0x7e,0xa8,0x28, + 0x14,0xc9,0x7,0x1a,0x38,0x52,0x77,0x34,0xa6,0x4a,0xf5,0xf1,0x61,0x45,0xe8,0x8c, + 0x9e,0x68,0xd9,0x5a,0x3d,0xd1,0x5c,0x1b,0x72,0x60,0xcb,0x40,0xcb,0x0,0x28,0xb9, + 0x89,0xca,0x8e,0xe6,0xd4,0xce,0x12,0x3,0x10,0x54,0x2c,0xe8,0x1b,0x64,0x92,0x43, + 0xab,0x27,0x1a,0xba,0x24,0xc6,0xda,0xd5,0xc4,0x30,0xce,0x89,0x2a,0x9d,0x1a,0x37, + 0x68,0x23,0xb8,0xf6,0x58,0x52,0x48,0xb5,0xd2,0x76,0x34,0x50,0x4a,0x1d,0xda,0xe8, + 0xa1,0x53,0xc3,0x1b,0xe4,0x91,0xb1,0xa7,0xb1,0xfa,0x44,0xb1,0xee,0x3a,0x74,0xc5, + 0xd0,0x39,0xd1,0x74,0xd6,0xdf,0x91,0x50,0x56,0x76,0xc,0x4a,0x1b,0xb9,0x66,0xf6, + 0x31,0x78,0xad,0xa4,0x33,0x84,0xab,0xa9,0x2c,0x6c,0x44,0xb3,0x49,0x24,0x3,0x3b, + 0x5a,0x91,0x42,0x6b,0xdf,0xfd,0xcc,0xb0,0xbc,0x41,0xd6,0x0,0x18,0xf1,0xa1,0x99, + 0x91,0x94,0x9e,0xd2,0x13,0xd1,0x50,0x63,0xb5,0x0,0x85,0xa9,0xcb,0xe1,0x51,0x96, + 0xb2,0x18,0xd1,0x29,0xeb,0xb,0xde,0x24,0xea,0xfb,0x41,0x78,0x7c,0x9c,0x1b,0x45, + 0x49,0x8f,0x3c,0x98,0x9c,0x9d,0xeb,0x6,0x48,0x8a,0xc8,0x9,0x46,0xa5,0x48,0xe6, + 0xde,0xd1,0x84,0xfa,0xc3,0xbe,0x8c,0x3e,0x6e,0x72,0x20,0xa9,0x58,0xea,0xd0,0x42, + 0xd7,0xb1,0xb6,0x4f,0x9d,0x3f,0xc,0xa1,0x48,0xb0,0xec,0x68,0x45,0x19,0x9c,0x3a, + 0x71,0x11,0xc7,0x34,0xd8,0x13,0xd5,0x59,0x6c,0x6a,0x76,0x6b,0xc2,0xa7,0x36,0xb2, + 0x8,0xe7,0xd4,0xca,0x40,0xdb,0x4a,0xb3,0xa7,0xce,0x74,0x12,0xa2,0x72,0x4f,0x7f, + 0x1c,0xc2,0x24,0x57,0xe9,0x9a,0x68,0xd9,0xc6,0xba,0xa7,0x45,0x17,0x26,0x5a,0x5b, + 0x78,0x1f,0x68,0xea,0x13,0x5f,0xee,0xfd,0x78,0x38,0xb,0x65,0xb2,0xe7,0xd4,0xc6, + 0x48,0x51,0xd9,0xd1,0x82,0xac,0xfb,0xd0,0x17,0x45,0x47,0xdd,0xb8,0xc8,0xbe,0x39, + 0x30,0xea,0xa8,0x43,0xdd,0x20,0xb4,0x20,0xa6,0x72,0xcc,0x1d,0x3a,0x3d,0xaf,0xa4, + 0x1b,0xd3,0xf3,0xb4,0xd,0xb1,0xd2,0xe8,0xf5,0xcc,0x63,0x84,0xaf,0x84,0x77,0x9e, + 0xb9,0xd8,0x42,0xf4,0xf3,0x1d,0x0,0x88,0x9e,0xe1,0x0,0xcc,0x7d,0xc9,0xed,0x8b, + 0x2d,0x64,0xfd,0x84,0xed,0x16,0x6e,0x97,0x5b,0x6c,0xaf,0x65,0x84,0x59,0xfb,0x89, + 0xa5,0x10,0xdd,0x99,0xd1,0x7d,0x9,0x33,0x6c,0x7b,0xe0,0x6f,0x91,0x8,0x51,0x14, + 0x1a,0xa8,0xc5,0xe5,0x12,0x87,0xa9,0x3f,0x4f,0xa5,0x38,0x94,0x8d,0x59,0x62,0x2f, + 0x4,0x4,0xf1,0x3a,0x79,0xd,0x4,0xb6,0xdd,0xde,0x2,0x8e,0x4d,0x17,0x60,0x6f, + 0xb2,0x3,0x20,0x57,0xb1,0x3,0xa6,0xcd,0xf6,0xfd,0xb7,0xd5,0x38,0x2d,0x60,0x1f, + 0x67,0x79,0x31,0x49,0x78,0xe5,0x41,0xab,0xa7,0x4d,0xf9,0xb3,0xdd,0xd4,0x6a,0x1c, + 0x13,0xd5,0xdc,0x5c,0x77,0xb4,0xa0,0xec,0xb2,0x3a,0x52,0xeb,0xd6,0x4e,0x2d,0x5e, + 0x79,0xb4,0x92,0x58,0x83,0xc2,0x8a,0xeb,0x68,0xb9,0xb1,0x36,0xaa,0x52,0xc6,0xd1, + 0xb2,0x64,0x6d,0x1f,0xea,0xe6,0x63,0xdd,0xa,0x2a,0x53,0x3f,0x68,0x29,0xee,0xaa, + 0xe9,0xc4,0x9e,0x46,0xb1,0x7d,0x68,0xa1,0xef,0x68,0x4c,0x71,0x68,0x75,0x50,0xed, + 0xeb,0x46,0x52,0x1,0xec,0x3,0x50,0xa4,0x55,0x63,0xb9,0x0,0xc5,0x3e,0x13,0xc3, + 0x95,0xbc,0xdd,0x72,0x47,0x33,0xca,0xe6,0xb1,0xae,0xe3,0x43,0x5d,0x21,0x35,0xab, + 0x1e,0x10,0x42,0xa5,0xe9,0x31,0x65,0x67,0x60,0xdf,0xbe,0x14,0xa,0xf5,0x15,0xca, + 0x77,0x53,0x56,0x71,0x1f,0x68,0xf6,0xd8,0x8b,0x74,0xf2,0xe0,0xb0,0x1,0xa5,0xa4, + 0x95,0xe2,0x7,0xf4,0x9c,0x47,0x9a,0x8c,0x5c,0x8f,0x91,0x2f,0x39,0xb4,0x3,0x6a, + 0xe4,0x16,0x29,0x1f,0x68,0x0,0x28,0x53,0x44,0x8e,0x9e,0x85,0x60,0xc2,0x8c,0xe7, + 0x77,0x93,0xa1,0xd3,0xb3,0xb6,0x7d,0xbb,0x42,0x83,0x37,0x71,0x67,0xf9,0x51,0x3f, + 0xe1,0x41,0x8e,0x39,0x1e,0x70,0xa7,0x64,0x45,0x1d,0xe1,0x6,0x57,0x42,0x65,0xf4, + 0x11,0xbe,0x40,0x7f,0x34,0xe,0x80,0x12,0x87,0xa5,0x1c,0x8d,0x17,0xcc,0x8,0xdd, + 0x7a,0x34,0xac,0xd0,0x20,0x2c,0x86,0x7f,0xa2,0xa1,0x67,0x16,0x9d,0x3a,0x45,0x5b, + 0xc4,0xb1,0xf1,0xa2,0x20,0x2c,0xa4,0xe,0xaa,0xc4,0xac,0x8a,0x63,0xfb,0x45,0x99, + 0xc0,0x15,0xb5,0xb7,0x5f,0x4a,0x34,0xd6,0xe4,0x7d,0x5c,0xf5,0x4e,0x9a,0xcc,0xaf, + 0xb6,0x59,0xb3,0xb6,0xea,0x9e,0x5e,0x2e,0xc0,0x7e,0x1d,0xcf,0x9,0x1c,0x72,0xc2, + 0x67,0x77,0xa0,0x13,0x2f,0xe2,0xb4,0xbb,0xc4,0x25,0x82,0x39,0xf5,0x92,0xc1,0x1c, + 0xe5,0x2f,0x2d,0x1e,0x1b,0xd0,0x7a,0xa,0xa5,0x80,0xf1,0xb3,0x51,0x3a,0xcc,0x99, + 0x73,0x42,0x1b,0xa6,0x67,0x58,0x5b,0xf7,0xbb,0xcf,0xc3,0x82,0xdb,0xf9,0xd6,0x56, + 0xa6,0xaf,0x85,0x5b,0xa5,0x84,0x4b,0x97,0xe1,0x56,0x6f,0x76,0x70,0xf5,0x4a,0xb8, + 0x35,0x43,0x3a,0xb0,0xc,0xb7,0x56,0x71,0x97,0xca,0x75,0xec,0xb9,0xcc,0x3c,0x61, + 0xcf,0x69,0xc0,0xc5,0x44,0x5e,0x64,0x86,0x96,0x5c,0x22,0xd4,0x6f,0xcf,0x97,0xbd, + 0xfb,0x77,0x77,0x6f,0xdf,0xbe,0x39,0x6b,0xc7,0xc4,0xb7,0xca,0xde,0x92,0xdb,0xe5, + 0x42,0xfd,0xd1,0x6b,0xb2,0x97,0xe6,0x1d,0xb1,0x94,0xbd,0x8a,0xec,0x32,0x59,0x9, + 0xf5,0xab,0x76,0x4a,0x7d,0x24,0x7b,0x82,0xf2,0xbe,0x5a,0xa4,0xff,0x54,0x54,0x2d, + 0xd4,0x2a,0xb4,0x5f,0x42,0xf2,0xd0,0x7d,0x1,0xc9,0x63,0x79,0x39,0x1f,0xd3,0x9c, + 0xed,0xd5,0x7d,0xcc,0x50,0xbf,0x8e,0x60,0x84,0x9e,0xd2,0x49,0x6,0xd,0x68,0xda, + 0x8b,0x48,0x46,0x5d,0x40,0x32,0xd0,0x67,0x48,0x46,0x86,0xdf,0x1,0x67,0x48,0x6, + 0x7a,0xb3,0x64,0x2c,0xb9,0x5d,0x4c,0x32,0x90,0x6b,0x3a,0x49,0x45,0x8d,0x7b,0xa9, + 0x93,0x84,0x43,0x1c,0xb9,0xb2,0x1c,0xb2,0x27,0x8b,0xf6,0x32,0xd4,0xaf,0xe5,0x1c, + 0xb0,0x2b,0x85,0xfa,0x51,0xa7,0x94,0x12,0x60,0xad,0x85,0x17,0xd9,0x65,0x8a,0xba, + 0xc0,0x2e,0x53,0x9e,0x61,0x8a,0x3d,0xf8,0xbd,0xdd,0xd9,0x19,0xa2,0x67,0xdb,0x77, + 0x99,0x96,0xdc,0x36,0x8b,0xde,0x85,0xa2,0x44,0x96,0x4c,0x9e,0x2c,0x3d,0x3f,0x70, + 0xa3,0x4e,0x19,0x2d,0xb3,0x20,0x91,0x75,0x51,0x39,0x16,0x41,0x22,0x53,0x50,0x38, + 0x5b,0x9f,0xc,0x12,0xf1,0xb6,0xb7,0x10,0xc3,0xec,0x52,0x41,0x22,0x6b,0x3d,0x33, + 0x48,0xb4,0xc,0xfb,0x58,0x63,0x19,0xf6,0x31,0x36,0x4a,0x56,0x8b,0x61,0x2,0x45, + 0x2a,0x71,0xf3,0xdd,0x44,0x75,0x75,0xaf,0xc1,0xca,0xc9,0x83,0xd1,0x13,0x35,0x48, + 0x32,0x15,0x83,0x65,0x91,0x89,0x86,0x8f,0x54,0x11,0x42,0xb1,0x8f,0xd4,0x20,0x7, + 0xaa,0x26,0x6a,0x53,0x87,0x97,0xee,0xa8,0x4d,0xd2,0xe1,0x36,0x52,0x35,0xc9,0x9a, + 0x81,0xc1,0x8a,0x29,0x84,0xf7,0xdc,0xc,0x14,0x56,0x5a,0xd3,0x13,0xaa,0xb,0x36, + 0x51,0x9b,0x1a,0xe2,0xb,0x2a,0x8c,0xc2,0xad,0x7a,0xb0,0x52,0x62,0x45,0xc7,0x44, + 0x75,0xf2,0x2e,0x60,0xb0,0x66,0x12,0x8f,0xa8,0x3,0x15,0x2a,0x31,0xf6,0xcd,0x9, + 0xde,0xfd,0x48,0xcd,0x74,0x95,0x1d,0x35,0x9,0xc,0xdf,0x73,0x4b,0xea,0x4e,0xc6, + 0xf4,0x5c,0xcb,0x72,0x99,0xda,0x5b,0x4,0x17,0xd9,0x11,0x83,0xb8,0xb9,0x74,0x22, + 0xa,0xb9,0x47,0xed,0xa9,0x1a,0x19,0x7,0x14,0x44,0xa3,0x47,0xc4,0x84,0x4c,0xb2, + 0x46,0x6c,0x56,0xd0,0x1d,0x83,0xc,0x5b,0xaf,0x34,0x63,0x4a,0x3f,0xb1,0x2f,0xc7, + 0xd3,0xd7,0xeb,0xc6,0x19,0xc,0xca,0x57,0x52,0xdb,0xaa,0xa7,0x72,0x3,0x84,0xdb, + 0x5f,0x46,0x6b,0x6b,0x5f,0x40,0x6b,0xdb,0x39,0xa6,0x64,0x3f,0x3c,0x3c,0xe8,0x39, + 0x5a,0xdb,0x36,0x1b,0xc,0x4b,0x6e,0x97,0xdb,0xae,0xb8,0x96,0x29,0x69,0x27,0x4d, + 0x49,0x9,0xce,0x30,0xf9,0x9c,0x0,0xd4,0xdf,0xdf,0xfc,0xf2,0xb7,0xe3,0xe,0x8d, + 0xbf,0xc7,0xf1,0xda,0x3d,0x12,0x3e,0x3f,0x4a,0xff,0xcb,0xe1,0x6b,0xdc,0xa7,0x5f, + 0x51,0xd5,0xc9,0x6b,0xe7,0xb0,0x3d,0x52,0x62,0xb0,0x50,0x4a,0xe5,0x69,0x6f,0x99, + 0x41,0xd9,0xbc,0xa7,0xb5,0x7a,0x4c,0xa1,0xf8,0xac,0x86,0xef,0x48,0x45,0x5e,0xfb, + 0x10,0xbb,0x52,0x4,0xb7,0xc,0x96,0x4e,0x6e,0x26,0x53,0x8c,0xbd,0x9,0x9,0xd9, + 0xab,0xd2,0x10,0x98,0x4c,0xb4,0xb6,0x92,0xc1,0x5a,0x88,0xa3,0x6d,0x7c,0x9e,0x50, + 0xa1,0x20,0x3,0x98,0xa9,0xe0,0x31,0xd6,0x6d,0xa3,0xf4,0x4a,0x1b,0x20,0x4c,0xa1, + 0x52,0xb6,0xbf,0x6,0xd0,0x22,0x6a,0x80,0x32,0x65,0xab,0x1c,0x4e,0x7f,0xab,0x8d, + 0x95,0x15,0x84,0x3c,0xb4,0x39,0x48,0x61,0x35,0x12,0x93,0xda,0x93,0xf,0x41,0x70, + 0xd1,0xf0,0x89,0x66,0x1a,0xad,0x47,0x1d,0x1e,0x69,0xea,0x52,0x3e,0xd6,0x16,0xa5, + 0x68,0xed,0x23,0xea,0x44,0xab,0x68,0xdf,0x93,0x90,0x39,0x56,0x36,0x62,0x46,0x2c, + 0x2b,0x3b,0xc1,0x5b,0x72,0xc6,0xa6,0xc9,0xb4,0x78,0xd6,0x1c,0x55,0x32,0xd4,0xa2, + 0xdd,0x3a,0x62,0xe7,0x82,0xe3,0xe,0x9a,0x50,0x89,0x71,0x1f,0x3,0x61,0x46,0xa9, + 0x36,0x47,0xc,0xe6,0x14,0x66,0x89,0x23,0x68,0x61,0x41,0xdc,0x19,0x76,0x34,0x2, + 0x30,0xa5,0x96,0xc5,0x50,0x41,0x9b,0xb2,0xd4,0xe2,0x68,0x4c,0xa7,0x36,0x94,0xa8, + 0x7e,0x18,0xfa,0xf,0x7d,0x3e,0x92,0x90,0xef,0x56,0xc4,0x66,0x75,0x9,0x9a,0x45, + 0xb5,0xd7,0xaf,0x29,0xd1,0x96,0xaf,0xbf,0x84,0x10,0xf8,0x38,0xff,0x4e,0x9c,0x29, + 0x98,0xe,0x2,0xa8,0x12,0x80,0xaa,0x98,0x9d,0xc9,0x9b,0xe6,0x86,0x35,0xe3,0xab, + 0xe3,0xf3,0x7b,0x10,0x25,0xd8,0xf1,0xfb,0xc9,0xee,0x56,0xcb,0xde,0xcd,0xca,0x6e, + 0xb8,0x18,0x64,0xff,0x2,0x2d,0x82,0xb5,0x97,0xf7,0xc0,0x64,0x6e,0xee,0x66,0xc3, + 0xad,0x24,0x28,0xa2,0xac,0xbf,0xde,0x76,0xbe,0xef,0xd4,0x71,0x6,0x8b,0x6d,0x87, + 0x9,0x35,0xfb,0x1a,0xf7,0xb1,0x9b,0xe7,0x93,0xf1,0x63,0xf3,0x3e,0x63,0xf9,0x7b, + 0xf3,0x8e,0x1f,0x7c,0xeb,0xf2,0xb7,0xfe,0x88,0x7c,0xc8,0xfb,0x58,0x3e,0x62,0xfd, + 0x44,0x40,0x8b,0xd8,0x6a,0xf6,0xbd,0x85,0x6c,0x8,0x5a,0x5b,0xd8,0x19,0x9e,0xd2, + 0xbb,0xbb,0x77,0x6f,0xee,0x36,0x7,0xad,0x37,0x79,0xb,0x7e,0x6e,0x6a,0xd9,0xba, + 0x3e,0x60,0x4a,0x34,0x87,0x85,0x7f,0x5a,0x31,0x24,0xf7,0xd7,0x5f,0xcc,0x41,0x26, + 0x83,0x90,0xfa,0x0,0xee,0xc3,0xee,0xa7,0x59,0x53,0x5a,0x64,0xf,0x90,0xa0,0xd2, + 0xb4,0xd8,0xd1,0x9c,0x9c,0x2b,0xf7,0x27,0xf3,0x59,0x5,0x37,0x6,0xde,0x67,0x26, + 0x1d,0xf6,0x2f,0x27,0x82,0xb0,0xf9,0x7e,0xbf,0xb9,0x12,0x59,0xbb,0x7a,0x46,0x91, + 0x82,0x1,0x8,0x72,0xa9,0xd6,0x1b,0x53,0x9f,0xea,0xa1,0x88,0xf,0x5b,0xc1,0xa, + 0xd2,0x23,0xca,0xfe,0x32,0x2e,0xd3,0x8a,0xe3,0x6a,0xdc,0x54,0x1d,0xc8,0xe3,0xa7, + 0x73,0x93,0xce,0x9a,0x20,0x20,0xb4,0x28,0x8e,0x9a,0x29,0x4c,0x1a,0xa6,0x72,0xdc, + 0x1b,0x2e,0xca,0x43,0x97,0xf,0x2d,0xf0,0x1,0x92,0xc4,0x26,0xe3,0xef,0x4b,0x4c, + 0xd6,0xb3,0x7b,0xcc,0xfd,0xfc,0x4b,0x9f,0x9e,0x8c,0x2c,0x36,0xae,0x14,0x59,0xec, + 0x38,0xe1,0x26,0x4,0x38,0x2c,0x5e,0xc0,0x4d,0x8,0x83,0x3e,0xad,0x6,0x81,0xb3, + 0xbc,0x80,0xfb,0x87,0xad,0xa7,0x16,0xb6,0x3f,0x82,0xa9,0xd8,0xd3,0xdd,0xea,0x13, + 0xfa,0x70,0x55,0x15,0x22,0xb6,0xa8,0xc2,0xf5,0x77,0x5b,0x6c,0xe9,0xe6,0x5,0x23, + 0xd9,0xd7,0x92,0x37,0x3d,0x25,0x6f,0xa2,0x16,0x92,0x97,0x14,0xb8,0xd3,0x4f,0x79, + 0xd6,0x5d,0x9e,0xeb,0x92,0x5b,0x96,0xcf,0x7e,0x9,0x8d,0xec,0xd,0xa1,0x2c,0x6f, + 0x9d,0x45,0xd6,0xe,0x6,0xaf,0xcf,0x52,0xb5,0xd6,0xca,0x8e,0x54,0x55,0xa,0xb, + 0x91,0xe5,0x81,0xff,0x8b,0x76,0x3e,0x1c,0x27,0x8c,0xa7,0x82,0xe9,0xb6,0xce,0x6f, + 0xbb,0x36,0xa1,0x3,0x96,0x7,0xb3,0x4f,0xaa,0x3a,0xa6,0x9b,0x11,0x9c,0xb8,0xa1, + 0x3e,0xdc,0xc2,0x9a,0x18,0x5a,0x5f,0xcf,0x2f,0x24,0x10,0x9d,0x59,0x9e,0x30,0x21, + 0x2b,0xb6,0xb9,0x95,0x6a,0x22,0xa4,0x99,0xb9,0xb8,0x35,0xcf,0x8c,0x92,0xdd,0x31, + 0x3b,0x5,0x1b,0xa4,0xfe,0xba,0xa8,0xe2,0x62,0xa8,0xde,0xae,0xc3,0xaa,0xe5,0x14, + 0x96,0xc0,0x8b,0xa3,0xfa,0x6a,0x13,0x15,0x56,0xaf,0x3b,0x51,0xaf,0xda,0x79,0xd3, + 0x3e,0xd9,0x79,0xf0,0xb6,0xce,0x6f,0xbc,0x1a,0xd6,0x52,0xc9,0x87,0x5b,0x53,0x90, + 0x7f,0x3d,0x3,0xcc,0x24,0x89,0x45,0x5d,0xe6,0x80,0x99,0x90,0x28,0x6c,0x71,0x9d, + 0x97,0x10,0x94,0x63,0x81,0x97,0x14,0x85,0x57,0xe1,0xaa,0x53,0xb0,0x2c,0x4f,0x4e, + 0x41,0x6c,0x54,0x6c,0x9b,0x1d,0x59,0x25,0xcf,0xa8,0x64,0x1d,0x60,0x24,0x36,0x5, + 0x42,0x6e,0x43,0x83,0xb4,0xa3,0x7b,0x31,0xf9,0xd8,0x28,0xa5,0x61,0xb,0x97,0x3a, + 0x49,0x32,0xf5,0x68,0xb2,0xad,0x96,0x7d,0xb7,0x52,0x76,0x9a,0x82,0x4c,0xd9,0xa1, + 0x52,0xe9,0xaf,0xb,0x2d,0xae,0x6,0xed,0xa3,0x5c,0xb6,0x33,0xe5,0xcb,0xe3,0x7a, + 0x5d,0xfd,0x6,0x3b,0xad,0xdf,0x10,0xdb,0x70,0x5d,0xdf,0xb6,0x5b,0xdf,0xe2,0x5b, + 0xdd,0xd,0x5c,0xdf,0x38,0xbc,0xaa,0x4c,0x59,0xd4,0x69,0x99,0xaa,0x4b,0xae,0x98, + 0xc9,0xca,0xb0,0xfd,0x45,0x45,0xc2,0x91,0x59,0x43,0x91,0x95,0x77,0xf1,0x78,0x1d, + 0xed,0x48,0x77,0x13,0xb5,0x94,0x41,0xc3,0x49,0xad,0x30,0x28,0x92,0x14,0x70,0x59, + 0x88,0x9c,0x29,0xa1,0xcd,0x6a,0x2e,0x72,0xd1,0x14,0x92,0xd5,0x47,0x22,0xb7,0x56, + 0xf6,0xdd,0xac,0xec,0x3c,0x40,0x97,0xd9,0x25,0x79,0x5d,0x89,0xab,0xd3,0x8b,0x8a, + 0xf3,0x39,0x12,0xc7,0xa0,0xaa,0x8,0xcc,0x25,0xae,0x9c,0x2a,0x44,0x17,0x12,0x7, + 0xa7,0x50,0xb6,0x9e,0x8b,0x5c,0x81,0x42,0xad,0x70,0xdd,0xce,0xf7,0x13,0x9d,0xd7, + 0x97,0x5a,0x51,0x8d,0x89,0xdb,0xcc,0x17,0x26,0x48,0x92,0x35,0x8b,0x2c,0xa6,0x28, + 0x93,0x5,0xd4,0xe6,0x80,0xc5,0x58,0x56,0x4a,0xaf,0xa,0x98,0x97,0x9c,0x6,0xc, + 0x2f,0x5,0x98,0x1b,0x1,0x2e,0xb1,0xd0,0x69,0x4c,0x15,0x2a,0xf5,0xd1,0x9d,0xf8, + 0x19,0x59,0xbe,0x50,0x6a,0x46,0x21,0x2a,0x75,0x55,0xc0,0xd2,0xec,0x34,0x60,0x71, + 0x41,0xe7,0xca,0x2d,0x2,0xf0,0x83,0x1b,0x50,0x61,0x30,0xee,0xe1,0x4,0x8a,0x1e, + 0x46,0x81,0x88,0x9c,0xa1,0xa8,0x2,0xea,0xf0,0xee,0x19,0x8a,0x1e,0x45,0x5d,0x75, + 0x54,0x54,0x8f,0x8a,0x5e,0xd7,0xf0,0xed,0x3c,0xd,0x62,0x5d,0xce,0xda,0x20,0x66, + 0xef,0xf8,0x0,0x22,0xb3,0x1b,0x4f,0x6f,0xb2,0x4f,0xa1,0x88,0x28,0xec,0x80,0xc, + 0x26,0x2d,0x8e,0x5e,0x88,0xa4,0x3a,0x69,0x47,0xd5,0x7c,0xe,0x97,0x50,0x25,0xd8, + 0x67,0x60,0xae,0x94,0x9d,0xdc,0x88,0xa0,0x62,0xcd,0xb8,0xee,0x1c,0x96,0x38,0x89, + 0x66,0xbc,0x94,0x1b,0xa1,0x65,0xe4,0x1c,0xc8,0x39,0x60,0x61,0xc4,0x56,0x8d,0x39, + 0x60,0x93,0xdf,0x65,0x85,0x39,0x60,0x38,0x94,0xbd,0x26,0x60,0xe0,0xc8,0xd3,0x80, + 0x6d,0x5c,0x25,0xd6,0xf,0xdc,0xad,0x1f,0xce,0x5b,0x3f,0xc8,0xb7,0x7e,0xe8,0xef, + 0xaa,0x9d,0x17,0x7d,0x42,0x5a,0x5e,0x4c,0xe3,0xeb,0x2,0xaa,0xc,0x2,0x7f,0x2c, + 0x27,0x93,0xdd,0xd6,0xb,0xa8,0xb4,0x29,0xad,0x2b,0xaf,0xab,0xa6,0x60,0xa7,0xa1, + 0x8a,0x17,0xf3,0xcf,0x9d,0x52,0x4d,0x6a,0x21,0x5b,0x46,0x5c,0xad,0x33,0xbc,0xb4, + 0x99,0x42,0x79,0x61,0xf0,0xc3,0x40,0xe6,0x5c,0xf1,0xba,0x78,0xd5,0x25,0xf1,0xf2, + 0x22,0x1f,0x34,0xfe,0x45,0xb1,0x72,0xae,0x93,0x58,0xe5,0x39,0x66,0xba,0x26,0xaf, + 0x29,0xe0,0x52,0xf2,0x8f,0x14,0xb0,0x76,0x93,0xae,0x28,0x60,0xd9,0x97,0xbd,0x6e, + 0xe7,0xf3,0x89,0xce,0xeb,0x8b,0x4d,0x2c,0xa3,0x44,0x69,0xcf,0x1,0x3,0x8,0x9e, + 0x4b,0x4f,0x9a,0x9d,0x22,0x73,0xa9,0xb4,0xc3,0x48,0xcc,0xc5,0xae,0x6c,0xa6,0xc7, + 0x69,0xc0,0xf0,0xaf,0x7,0xd8,0x35,0x63,0xf,0xe0,0x38,0x15,0xad,0x6f,0x31,0x5c, + 0xcd,0xc2,0x4,0x52,0xd5,0xb0,0xb7,0x30,0x81,0xc8,0x18,0x6e,0xdd,0x9c,0xcc,0xd5, + 0x73,0x11,0x68,0x50,0x90,0x75,0x7a,0x2d,0x62,0x5b,0x41,0xdc,0xea,0xcb,0x40,0x3, + 0x13,0x3,0x8c,0x45,0x6c,0x4b,0x29,0xdd,0xaa,0xbe,0x5a,0xc9,0x4,0x7a,0xcd,0xd0, + 0x7d,0x8b,0xc5,0xef,0x38,0x74,0xf,0x7b,0xa2,0xf3,0xf5,0xaa,0x71,0xbd,0x57,0x34, + 0x9f,0x5b,0xc0,0xaf,0x6e,0x3e,0xcf,0xf6,0xca,0x37,0x74,0x7a,0xb9,0x99,0xde,0xe2, + 0x58,0x1e,0xd9,0x91,0xce,0x4c,0xe9,0x5c,0x39,0xe3,0x63,0xed,0xe,0x2c,0xcf,0x4, + 0xa5,0x82,0xcd,0x64,0xe5,0x10,0x91,0x1,0xc5,0x11,0x27,0x76,0xe3,0xb7,0x34,0x79, + 0x3d,0x1d,0xb8,0x3c,0x5d,0xa3,0xfa,0xab,0x53,0x7b,0xfa,0x2d,0x1e,0x2b,0xdb,0xf1, + 0x9f,0x9,0x9a,0x4a,0x1d,0x77,0xe9,0x8f,0xdf,0x3f,0xfc,0x70,0xff,0xac,0xbe,0xfc, + 0x7d,0x97,0x78,0xb3,0xd3,0xab,0xbf,0x7d,0xff,0xeb,0xfb,0x9f,0xbe,0xff,0xc7,0x2c, + 0xa5,0x60,0x37,0xc0,0x7f,0x7c,0x73,0xf7,0xb7,0xbf,0xfc,0xfc,0xe3,0x6f,0x3f,0xdc, + 0xff,0x8f,0xbf,0xbf,0xf9,0xcb,0xc3,0xa2,0x83,0x7,0x7e,0xad,0xca,0x2b,0x3d,0xbb, + 0xd0,0x55,0xd7,0xad,0xb6,0xb8,0xea,0xfa,0x9a,0x7,0x1b,0xc8,0xb3,0x4d,0x3c,0xeb, + 0xa2,0xd9,0x62,0xc1,0x84,0xc,0x46,0xf,0x46,0x92,0x11,0xde,0xe3,0x89,0x94,0xa, + 0x62,0x66,0x3,0x6,0x65,0x72,0x33,0xa9,0x91,0xc8,0x64,0x85,0xee,0x1e,0x10,0xe4, + 0x91,0x1d,0x33,0x62,0x4,0x21,0xa3,0x45,0x76,0xd4,0x76,0x72,0x2e,0x81,0xd,0xa5, + 0x54,0xa2,0x18,0x8b,0x8a,0x80,0xbc,0xd2,0x7d,0x10,0x11,0xb2,0xee,0xc8,0xb1,0x68, + 0x93,0xa6,0x76,0xc6,0x20,0xea,0x24,0xa5,0xd9,0x63,0x59,0x10,0xab,0x94,0xc9,0x8e, + 0x5a,0x94,0x1e,0x32,0x52,0x6f,0x83,0xac,0x33,0xd8,0x77,0x64,0x71,0xea,0x6,0xe3, + 0xe6,0xdb,0x75,0xf2,0xad,0x50,0xb1,0xa9,0x49,0xf,0xed,0xe4,0x89,0x90,0x1b,0x21, + 0xf5,0x8e,0x32,0xc,0xad,0xe4,0x22,0xb1,0xcf,0x89,0x26,0x53,0xf5,0xae,0x1e,0xaa, + 0x9,0xa8,0xcc,0xb8,0x91,0xa6,0xb0,0x94,0x8c,0x21,0x63,0xc4,0x45,0x60,0xab,0xb4, + 0x6f,0x3f,0x55,0x52,0x34,0xa2,0x65,0xf0,0x24,0xad,0x92,0xf0,0x63,0x9a,0x91,0x32, + 0x34,0x73,0xaa,0xfd,0x48,0xc5,0xf8,0x13,0x5b,0xcb,0x8d,0x14,0x85,0x84,0x32,0x6, + 0x13,0x52,0x37,0x2b,0xbb,0x51,0xa1,0xc8,0x16,0xe9,0x41,0x83,0x4,0xe5,0x3a,0x76, + 0x5c,0x41,0x9,0x65,0xf3,0x41,0x85,0x18,0x16,0x11,0x37,0x68,0x4a,0xf7,0x2,0xc6, + 0x3d,0xe,0xeb,0x48,0x18,0xe7,0x27,0xa8,0xdf,0xad,0xd,0xff,0xea,0xcd,0xe6,0xad, + 0xb6,0xe1,0x66,0xf3,0xb,0x2e,0xa9,0xca,0x27,0xb7,0x20,0xb9,0x2e,0x69,0xb2,0x8d, + 0xdc,0x4,0x3,0x8f,0x1f,0x12,0xef,0x28,0xd9,0xbf,0xd0,0x43,0x4b,0x73,0xb8,0xcd, + 0x22,0x51,0x31,0x9f,0x9b,0x6b,0x68,0x62,0x91,0x4e,0x99,0x99,0x6b,0x4a,0x7b,0x6c, + 0x8f,0x76,0x80,0x56,0xcb,0xbe,0x5b,0x2b,0x3b,0x65,0x59,0x50,0x2a,0x42,0x7a,0xb4, + 0x88,0x5f,0x11,0x5e,0xbd,0x32,0xbc,0xc2,0x93,0x5d,0x16,0xc3,0x6d,0x39,0xa9,0x70, + 0xc8,0xcb,0xa2,0x7b,0xe5,0xd0,0xc7,0x49,0x7,0x8d,0x2f,0xe1,0xa0,0xed,0x5a,0xf7, + 0xfd,0xc3,0xbf,0x31,0x75,0xc0,0x14,0x83,0x10,0x5b,0x74,0xc7,0x62,0x7,0x80,0xa9, + 0x53,0x50,0xf3,0x10,0x40,0x2a,0x85,0x9a,0x63,0x6e,0x40,0x97,0x93,0x5b,0xcc,0xf6, + 0x9d,0x8e,0x8a,0x5e,0x15,0x2f,0x35,0x3f,0x8d,0xd7,0x25,0xa5,0x11,0xdc,0xe1,0x32, + 0x8,0x99,0x28,0xa7,0xf,0xb7,0x42,0xc6,0xa9,0x3d,0x62,0x8,0x41,0x71,0xc,0x1e, + 0x64,0x2d,0x91,0x63,0x7a,0x7,0x99,0x78,0x2d,0xfc,0x5e,0x14,0xa1,0xcb,0x63,0xee, + 0x97,0x30,0x95,0x88,0x33,0x7a,0x61,0x9f,0x16,0xa5,0x69,0x2e,0x80,0x55,0xb2,0xf0, + 0xd4,0xe8,0xe7,0x9f,0x38,0x28,0x8e,0x78,0x2a,0xd5,0xb6,0x38,0x5e,0xf0,0x7e,0xc0, + 0xe2,0x3c,0xe3,0x5e,0x1f,0xf5,0xf1,0xb3,0x39,0xe3,0xf5,0xf5,0x94,0x61,0x5c,0x72, + 0xad,0x69,0xf5,0xac,0x3e,0x28,0x43,0x35,0x98,0x4f,0x59,0xa,0x95,0xda,0x5c,0xc3, + 0x6d,0x36,0x79,0x48,0xc4,0x6b,0x69,0xc3,0xed,0x42,0xe8,0xb5,0x41,0x8,0xf9,0x25, + 0x85,0x30,0xce,0x38,0xab,0xff,0xe6,0x61,0xfc,0x2c,0xb8,0xbd,0x8a,0x10,0xaa,0x9f, + 0x14,0x42,0x8f,0x6b,0xea,0x40,0x26,0xb4,0xba,0xea,0x30,0x99,0xfb,0xac,0x35,0xa0, + 0x9,0xd1,0xbd,0xfb,0x9b,0x83,0x4a,0x51,0x2b,0x22,0xc9,0x5d,0x85,0x99,0x48,0x16, + 0xa1,0xdd,0x44,0x75,0x2e,0x92,0x49,0x96,0x5c,0x35,0x4f,0x8b,0x9,0xca,0x64,0x89, + 0x9e,0x65,0x62,0x19,0x75,0x3a,0x83,0xfd,0x2c,0x91,0xe4,0xaf,0x2e,0xf6,0x62,0x8d, + 0xa5,0xbc,0x2e,0x85,0xcd,0xf5,0xb3,0x5f,0xe3,0xc1,0x6b,0xdc,0x64,0x9d,0x1b,0x5e, + 0x41,0x24,0xed,0x9,0x91,0xbc,0x64,0xca,0x96,0x90,0xb,0xdb,0xa0,0x14,0x10,0x4d, + 0x9b,0x5e,0x32,0x27,0x24,0x91,0x9c,0xf5,0x70,0x8b,0xe1,0xb6,0x49,0x84,0x55,0x31, + 0xfe,0xa5,0x92,0x78,0x14,0xd6,0x24,0x58,0xc5,0x52,0x59,0x1a,0x28,0x32,0xc3,0x7a, + 0x26,0x99,0x49,0x8,0xd5,0x8c,0x59,0x1c,0x75,0xa5,0xec,0xbb,0xd5,0xb2,0x3f,0x4f, + 0x42,0xec,0xed,0xd2,0x71,0x8e,0x64,0x42,0x9f,0x56,0x96,0xc0,0x65,0x94,0x25,0x53, + 0x94,0xc1,0x4d,0x63,0x93,0xd6,0x44,0x5c,0xef,0xda,0xa5,0xeb,0x8b,0x28,0xdb,0x69, + 0x11,0xe5,0xb,0x26,0xe0,0x74,0x77,0xb,0x86,0xdb,0xa4,0x82,0x4,0x62,0x14,0x45, + 0xa7,0x88,0xe0,0xec,0x51,0x46,0x95,0x18,0x65,0x1c,0x53,0x82,0xa1,0x90,0x42,0xd5, + 0x26,0x79,0x4d,0xf2,0x12,0xf3,0x7c,0x51,0x39,0xbd,0xee,0x6e,0x38,0x7b,0x9d,0x34, + 0xd9,0xed,0xa2,0x49,0x3b,0xe5,0x66,0x3e,0x8,0xb1,0x98,0xa0,0x47,0x70,0x99,0x1b, + 0x9e,0x23,0xa9,0xda,0x18,0x83,0x48,0x53,0x64,0x4c,0xa9,0x3c,0x54,0xd6,0x58,0x78, + 0x42,0x22,0x64,0x1a,0x56,0xf3,0x9c,0x45,0x4f,0xb2,0xb2,0x5e,0xe4,0x42,0x9,0x8, + 0x6d,0x6e,0xb3,0x70,0xfa,0x51,0xd9,0x33,0xe6,0xbf,0x6e,0xb0,0xd8,0xcf,0xb9,0xd1, + 0xbb,0xdf,0x64,0xf0,0xe7,0x1d,0x8e,0x7b,0xb0,0x37,0xf7,0xcc,0x9b,0xce,0x8,0x73, + 0x6b,0x2b,0x5b,0xac,0x2e,0x51,0xc6,0x5b,0xb4,0x8d,0xe9,0xea,0x93,0x9d,0x61,0x92, + 0x4f,0x6a,0x9d,0xbb,0x7b,0xbd,0x3b,0xc7,0x32,0x34,0xac,0x72,0x6d,0xf1,0x14,0x2b, + 0xff,0x6a,0x3,0x40,0x67,0xb1,0x3d,0x43,0xb5,0xbe,0xed,0x1a,0xb9,0xbd,0xbe,0x41, + 0xca,0x5e,0x27,0x55,0xab,0x5e,0xce,0x2b,0xa,0x8a,0x44,0xe8,0xa4,0x38,0x83,0xc0, + 0xa2,0xa1,0x7,0x25,0x6a,0x60,0x70,0xee,0x5d,0x73,0xc4,0xa0,0x87,0x2b,0x98,0x86, + 0xdb,0x2,0x59,0xb0,0xd8,0x42,0xa7,0x6,0x45,0x7a,0x60,0xbe,0x87,0xda,0x4e,0x19, + 0xad,0x39,0xd7,0xa9,0x12,0xa4,0x92,0xe6,0x98,0x5b,0xa5,0x20,0x81,0x68,0xc9,0x42, + 0xa7,0x26,0x2,0x7c,0x96,0xa3,0x24,0x78,0x7a,0xee,0x4b,0xac,0x9,0xe8,0x16,0xff, + 0x79,0xab,0x5c,0x6e,0x7f,0xc4,0xf6,0xf3,0xb0,0xc5,0x52,0x5b,0xe6,0x81,0xf2,0xea, + 0x23,0xd3,0x2f,0xd6,0xc1,0x25,0x43,0x3d,0xf7,0x7d,0x65,0xaf,0x3f,0xf1,0xd4,0xfb, + 0xf4,0xc4,0x13,0xbd,0x64,0x38,0x22,0x54,0x1d,0x53,0x3e,0xb1,0x84,0xe,0xb7,0x1a, + 0x14,0x19,0x32,0x68,0x51,0x22,0xd9,0x6,0xf1,0xa,0x32,0x60,0xb8,0x95,0xb0,0x20, + 0xa4,0xce,0x67,0x9c,0x38,0xa5,0x26,0x67,0xce,0x66,0x9c,0x17,0x71,0x75,0xd4,0xec, + 0x44,0xce,0x4a,0xd9,0x77,0x6b,0x65,0xa7,0xac,0x5,0xa,0x81,0x75,0x9c,0xe5,0x7, + 0xf2,0x86,0xd5,0x96,0xeb,0x8c,0x97,0x55,0xa1,0xa1,0x6f,0xce,0x11,0x48,0xe1,0x33, + 0x2e,0xc7,0xc0,0xfd,0xdd,0x5d,0x2f,0xb8,0xbd,0x82,0x3c,0xaa,0x9f,0xe,0x8f,0xf1, + 0x25,0xc3,0x63,0x1e,0x1c,0xd1,0x83,0x50,0x58,0xc0,0xc7,0x25,0x0,0x54,0x66,0x29, + 0x83,0x80,0x24,0x50,0x35,0x48,0x86,0x92,0xf5,0x28,0x90,0xd9,0x94,0x58,0x98,0xd5, + 0x50,0xa,0x49,0xb7,0x79,0xac,0x4c,0x94,0x29,0x20,0xc7,0x21,0x88,0xd5,0xb2,0xef, + 0x66,0x65,0x67,0x81,0x9,0x70,0x54,0xd5,0x75,0xb7,0x65,0x5a,0x4e,0x43,0x7d,0xe9, + 0x33,0x8d,0x4c,0xd2,0x59,0xac,0x3,0xf,0xad,0x54,0xfa,0x51,0xe4,0x31,0x8c,0x5a, + 0x54,0xb9,0xe7,0x68,0x8a,0x53,0x72,0xcb,0x62,0x41,0x5,0x31,0x62,0xe6,0xa4,0xac, + 0x96,0xfd,0xf9,0xe8,0xb1,0xcf,0x9f,0xde,0xd9,0x1d,0xdb,0xc3,0x3c,0x6f,0xbf,0xdf, + 0xe5,0x9,0x2c,0xe6,0xd0,0xc6,0x18,0x4f,0x76,0xef,0x47,0xfb,0x7c,0x56,0xbc,0x39, + 0xc0,0xc3,0x7c,0x62,0x66,0xbf,0x8e,0xb8,0x65,0x37,0xbe,0x58,0x71,0x5b,0x96,0x5d, + 0x8a,0x9b,0x5d,0x4c,0xda,0xea,0xc5,0x82,0x8a,0xd9,0xb5,0x1e,0x54,0x5c,0x96,0x5a, + 0xf7,0x66,0x9e,0x72,0x63,0xee,0xc6,0xcf,0x67,0x99,0x8b,0x77,0x32,0x7e,0x36,0xf4, + 0x4e,0xd6,0x7b,0x17,0x97,0x7a,0x69,0x43,0x76,0x2e,0x2,0x6a,0x1b,0x4c,0xbb,0xb3, + 0x47,0x25,0xb1,0x65,0x54,0x32,0xd6,0x8d,0x5c,0xae,0x6c,0xd1,0x27,0x6c,0xcf,0x1e, + 0x3f,0x1f,0x85,0xf1,0xb2,0x92,0xd9,0xfa,0x79,0x83,0x24,0x36,0x7e,0xce,0x8c,0x34, + 0x67,0x67,0x5d,0x6e,0x90,0x9e,0xde,0xa7,0xcc,0x3e,0x67,0x9f,0xb2,0x1e,0xc6,0xcf, + 0xf3,0xed,0xb0,0xec,0x3c,0xe7,0x3d,0x66,0x35,0x7e,0x36,0x3b,0x6,0x57,0x8b,0xb9, + 0x89,0x32,0xfa,0xab,0x93,0x78,0xe3,0x92,0xd1,0xce,0x40,0xab,0x1e,0xd4,0x76,0x43, + 0xc4,0x72,0xb8,0x55,0xf,0xea,0xf0,0xb4,0x21,0x82,0x2a,0x19,0xbe,0x8c,0xb3,0xb1, + 0x83,0x22,0x6d,0x7e,0x79,0xc4,0xad,0x93,0x47,0x30,0xf3,0x3c,0xd0,0x76,0x2b,0xea, + 0x4c,0xe1,0x5d,0xf3,0xc4,0x55,0x41,0x13,0x6b,0x8d,0xde,0xf6,0x6b,0xa2,0x79,0x39, + 0x63,0xcb,0x29,0xc4,0x4c,0xfb,0xe1,0x76,0xf,0xa8,0x13,0x1a,0x2d,0x87,0x48,0x71, + 0x18,0x79,0xa3,0x7c,0x10,0xa7,0x32,0x4,0xf7,0xbf,0x28,0xa6,0xa6,0xe6,0xa7,0x21, + 0xe5,0x17,0x87,0x34,0xc8,0xd8,0xd3,0x16,0x90,0xde,0xaa,0x84,0x93,0x89,0xfa,0xc, + 0x53,0xe5,0x4a,0x6a,0x83,0xcd,0x21,0xd,0x18,0x71,0x2c,0x8f,0x6,0x89,0xa8,0x50, + 0x8a,0xea,0x55,0x21,0x95,0x27,0xa4,0xd4,0xeb,0xb,0x91,0xd2,0x60,0x27,0x49,0x85, + 0x2e,0x6e,0x5,0x30,0xa7,0x80,0xd6,0x42,0x48,0x39,0x94,0x5a,0x4d,0xe7,0x88,0x66, + 0x37,0x85,0xbc,0xb2,0x90,0x7a,0x7c,0x21,0x88,0x56,0x51,0xb2,0xa3,0x6b,0x86,0xa8, + 0xb0,0x30,0x85,0x27,0xe6,0x88,0x9a,0x7,0x45,0x6a,0x2d,0x10,0x55,0x3,0x95,0x5c, + 0xf7,0x36,0x2c,0x45,0xe7,0x49,0x3f,0xc2,0x71,0x35,0x44,0x9b,0x32,0x18,0x26,0xb, + 0x44,0x6f,0xa3,0x28,0x5a,0xa4,0x17,0x69,0x85,0xb7,0x2e,0x4d,0xe6,0x6d,0x35,0x77, + 0x30,0x52,0x41,0xd0,0x99,0x83,0xb1,0x5a,0xf8,0xdd,0x5a,0xe1,0x29,0x42,0xdc,0x53, + 0x51,0xbc,0x62,0xd6,0x66,0xb6,0x5f,0x32,0x32,0xc8,0x51,0x9e,0x1f,0xb2,0x36,0xb5, + 0xa5,0xf7,0xc9,0x9a,0x82,0xc4,0x84,0x75,0x51,0x55,0xe1,0xbf,0x4c,0x52,0x6c,0xb6, + 0xf3,0xa5,0xe1,0xf5,0x5,0xbc,0xc9,0xa4,0x25,0x11,0x23,0xbc,0x4d,0xdc,0xed,0xff, + 0x65,0xb2,0x62,0xb3,0x51,0x17,0xb4,0x5e,0xb3,0x58,0xf5,0x51,0x7a,0xcb,0x9a,0x55, + 0x7,0x5,0x69,0xc3,0x77,0xe0,0x4a,0x53,0x21,0xff,0x3f,0x7b,0x57,0xdb,0x1b,0xb7, + 0x91,0xa4,0xff,0xca,0x61,0xbf,0x19,0xa0,0x2a,0xf5,0xfe,0x92,0x6f,0x89,0x63,0x3, + 0xb,0x64,0x71,0xc0,0x7d,0xba,0x6f,0x86,0x6c,0x6b,0xd7,0xbe,0xcb,0x26,0xd9,0x24, + 0x8b,0xbb,0xbd,0x5f,0x7f,0x22,0x95,0x71,0xa6,0xe9,0x9,0x87,0x9a,0x90,0x43,0xbd, + 0x8c,0x64,0xc0,0x52,0xab,0xa7,0x8b,0xf5,0x54,0xb1,0xab,0xc9,0xae,0xae,0xc7,0x9e, + 0x60,0xb2,0x6c,0x94,0x2e,0x99,0x28,0x46,0x8a,0x26,0xd2,0x11,0xa0,0x93,0x65,0xf, + 0x1d,0xa0,0x45,0x50,0x74,0x4,0xa4,0x1a,0xa8,0x9d,0x17,0x14,0xa3,0x64,0x9f,0x31, + 0x8f,0xc0,0xee,0xbe,0x5e,0xb2,0xec,0xa6,0xb7,0xbf,0x2e,0xfa,0x9e,0xdb,0x92,0xc4, + 0x77,0xb7,0x7f,0x96,0x13,0x77,0x57,0xae,0x40,0x15,0x1e,0x77,0xb3,0xab,0x1b,0xf3, + 0x53,0x9a,0x5d,0xd9,0xa6,0xe1,0xe5,0x35,0xfd,0x16,0x41,0x2a,0xb5,0xb4,0x43,0x50, + 0x21,0xf6,0xe8,0x5c,0x41,0x18,0xb1,0x7a,0xb0,0x15,0x18,0x2d,0x36,0x48,0x70,0xdc, + 0x26,0x3d,0x27,0x6a,0xd1,0xbc,0xa8,0x8c,0x24,0x91,0xe,0x21,0xa9,0x82,0xb3,0x7, + 0x3b,0xc9,0x43,0xa9,0x6f,0x4a,0x12,0xd5,0x8e,0x98,0x80,0x86,0x73,0xd0,0xa4,0xc, + 0x12,0xcc,0x6b,0xa6,0xe7,0x6c,0x95,0x14,0x11,0x25,0x4b,0x3e,0x8d,0x29,0xa2,0xf8, + 0xf0,0xac,0x60,0x40,0x51,0x54,0xbf,0xae,0x72,0x1,0x53,0xd,0xeb,0x6e,0xa,0x56, + 0xd6,0x8e,0x8a,0x80,0x8,0xfb,0xbf,0x65,0x2,0x21,0xeb,0x6,0x59,0x11,0xdb,0x6c, + 0x87,0x47,0xc9,0x92,0xf1,0xce,0x32,0x5c,0xb2,0x23,0x30,0x74,0x26,0xef,0xae,0xb8, + 0x6f,0x13,0xd1,0x8e,0x5,0xd8,0xb2,0xa8,0x23,0xc1,0x80,0xc8,0xec,0x5d,0x59,0x5, + 0xb2,0x6a,0x83,0xd,0xf1,0x6d,0xf6,0x7a,0xa3,0x16,0xad,0x94,0xc0,0xce,0xc1,0x1d, + 0x81,0xb0,0xa2,0xf4,0x6b,0xb,0x6,0x44,0x8a,0xea,0x88,0x40,0x1d,0xdd,0x3a,0x52, + 0x43,0x60,0xb6,0x1e,0xeb,0x48,0x28,0xe2,0xa7,0xb3,0xd7,0x2b,0x6c,0xd3,0x50,0xf3, + 0x73,0xcd,0xae,0xde,0x2a,0x5d,0x38,0x4a,0x2e,0xe9,0xc2,0xdb,0xec,0x34,0x73,0x3e, + 0xcd,0xc4,0x86,0x69,0x8e,0x26,0x83,0x4a,0xa7,0x68,0x43,0x6d,0x21,0x60,0x70,0x19, + 0xb7,0xef,0xa2,0xc4,0xc1,0x8a,0xa3,0x9,0x2b,0x87,0x3a,0xbf,0x6b,0x3a,0xcf,0x72, + 0x54,0xb5,0x70,0xf4,0xdd,0x56,0x4f,0x24,0xb,0xf5,0xf3,0x43,0x41,0x6a,0x78,0x69, + 0x47,0x9,0xc9,0xe8,0xf1,0xc7,0xb9,0x9a,0xa2,0x48,0x67,0xd6,0x84,0x3a,0xce,0x9e, + 0x77,0x41,0xf8,0x30,0xc2,0xbc,0x2,0xc2,0xf3,0xf7,0x7c,0xd1,0xef,0xb1,0x31,0xff, + 0xee,0xfa,0x5d,0xbc,0x7f,0x77,0xf2,0xc6,0x3c,0xf6,0x11,0xfa,0x4,0x69,0xa7,0xed, + 0x8c,0x13,0x2e,0xb7,0x33,0x8e,0x78,0xf,0x94,0xae,0xf1,0x9a,0xae,0xed,0x74,0x94, + 0x4e,0x39,0xa9,0x76,0x72,0x92,0x7,0xea,0x62,0x28,0x65,0xf1,0x3d,0x50,0xba,0x91, + 0x1b,0xbe,0xf1,0x13,0x53,0xbd,0xb2,0xe6,0xe4,0x78,0x64,0xf9,0x74,0xe6,0xcd,0xfc, + 0xf4,0x13,0x4,0x53,0xa2,0x70,0x8d,0x79,0xd9,0x1d,0xed,0x58,0xa7,0xfa,0x70,0x56, + 0x2e,0x67,0x9d,0xb8,0xcf,0x9d,0xce,0x37,0x7c,0xcd,0x6f,0x4f,0xf5,0xe1,0x8c,0x9c, + 0x63,0x9e,0xc4,0x83,0xe6,0x11,0xd1,0xa,0x13,0x9f,0xb6,0x92,0xbe,0xd3,0xd2,0xeb, + 0x3f,0x94,0x1f,0x65,0x6f,0xad,0xec,0x7a,0x8e,0x92,0xe0,0x1e,0x9a,0xe1,0x79,0x50, + 0xdb,0xe4,0x7b,0x89,0xf5,0xb7,0x5e,0x3e,0x47,0x2c,0x1d,0x96,0xa6,0xb,0xfa,0x4, + 0xfe,0x69,0xc9,0xeb,0x9e,0xf6,0x89,0xb3,0xa2,0x14,0x7a,0xfe,0x8c,0x1f,0xe9,0x57, + 0x2e,0x53,0x70,0xfb,0x72,0xcb,0x66,0x6,0xb3,0xaa,0x48,0xdf,0x11,0x72,0x24,0x7, + 0x21,0x75,0x69,0x80,0x6e,0x95,0xd9,0x5d,0x69,0x66,0x80,0xb8,0xc5,0x28,0x97,0xa2, + 0x2,0x42,0xd9,0x7d,0xb4,0x4f,0x5d,0x12,0x50,0x99,0x4d,0x69,0xec,0x83,0x9d,0x6f, + 0x9b,0x29,0xcb,0x40,0x99,0xd6,0x4d,0xa5,0x48,0x9f,0x46,0xd3,0x17,0x44,0x53,0x8a, + 0x22,0x35,0x77,0x68,0x7a,0x28,0x91,0x77,0x5e,0x60,0x84,0x18,0x3,0x9a,0x96,0xe0, + 0x55,0x23,0x30,0x9,0x5,0x8a,0xb1,0x78,0x4,0x26,0x2b,0x94,0x86,0x34,0x60,0x1e, + 0xea,0xcc,0x3,0xf2,0x5,0x98,0xe9,0xdb,0xa2,0xb9,0x20,0x5,0x16,0x83,0x5b,0x14, + 0x89,0xd,0x70,0x5e,0x31,0x70,0xaa,0x93,0xf6,0x8c,0x62,0x1c,0x90,0x81,0x3,0xdd, + 0xa4,0x19,0x48,0x24,0xcd,0x4,0x54,0x10,0x2a,0x89,0xe7,0x1,0xaa,0x1,0x6c,0x2b, + 0x67,0xfa,0x70,0xe0,0x34,0xa0,0xdc,0x28,0x56,0xc,0x16,0x9a,0x29,0xad,0x5e,0xcc, + 0x40,0x82,0xa3,0xf2,0xbe,0x26,0x10,0x1a,0x18,0xed,0x4d,0x17,0xe,0x42,0xe6,0x15, + 0xf3,0xc,0xb5,0xa9,0xf2,0x73,0x33,0xc7,0x56,0x87,0x68,0xba,0x56,0x2e,0xa1,0x43, + 0x86,0x75,0xf8,0xa2,0x47,0x6b,0xa9,0x42,0x83,0x91,0x76,0xa0,0xd0,0x60,0x5b,0xa1, + 0x2d,0xd2,0x72,0x5c,0xdc,0xef,0xca,0xb,0x22,0x89,0xad,0x4b,0xec,0xeb,0xe4,0x5, + 0x82,0x24,0x91,0x69,0x97,0x38,0xfc,0x96,0xd1,0xff,0x9,0x34,0x50,0x44,0x7e,0x6b, + 0xa1,0x1d,0x93,0xeb,0xae,0xa5,0x87,0xac,0xa4,0xa7,0x64,0xdd,0x6b,0x12,0x30,0x2e, + 0x8f,0xfd,0x61,0x89,0x75,0x4f,0x28,0xb1,0xf6,0x63,0x14,0x60,0x49,0xc,0xbf,0xf6, + 0x9f,0x4f,0xd0,0x92,0x54,0xbf,0xeb,0x9c,0x80,0xfd,0x97,0xee,0x8f,0x97,0x3b,0x79, + 0xc3,0x25,0xe4,0xee,0x7a,0x86,0xf,0xef,0x5f,0xee,0xa7,0x91,0x12,0x77,0x52,0x6, + 0x4d,0xbf,0x6d,0x14,0x9f,0xcd,0xf6,0x3d,0xf6,0xc8,0x92,0x31,0xa9,0xef,0x64,0x81, + 0x46,0x1e,0x57,0x65,0x1c,0x8a,0x53,0x8e,0xcb,0x32,0xb6,0xad,0x43,0x8d,0xc6,0xef, + 0x3e,0xde,0xfe,0xf7,0xa5,0xee,0xda,0xde,0x5f,0xff,0xfc,0xe1,0xfa,0xa7,0x9f,0xae, + 0xff,0xd5,0x30,0x5,0xf7,0xad,0x77,0xb,0x94,0x2f,0x9,0x30,0x23,0xaa,0x2a,0x27, + 0xaa,0x3b,0x4e,0xf0,0xd7,0x4e,0x10,0xd8,0x6e,0x72,0x6b,0x2f,0xc8,0x2a,0xd3,0xde, + 0x82,0x2b,0xcd,0x5,0x2b,0xd3,0xc,0xa0,0x4c,0xa3,0xc5,0x6d,0x78,0x53,0x85,0x44, + 0x16,0x1b,0x65,0xad,0x10,0x64,0x29,0xba,0xef,0xe9,0xd5,0x74,0x6e,0xc2,0x9b,0x20, + 0x78,0xa2,0x3f,0x82,0x30,0x60,0x5b,0x87,0x81,0xf9,0xef,0x9f,0xcb,0xd4,0x74,0xe0, + 0x96,0x11,0x6,0x4a,0x2e,0xee,0x4,0x5c,0x86,0xef,0x17,0xeb,0xba,0x10,0xc5,0x24, + 0x88,0x9a,0x9f,0xb9,0x10,0x51,0x14,0xd2,0x8,0x9f,0x80,0x22,0xa1,0x1a,0xb9,0x90, + 0x40,0x4,0x96,0x54,0xeb,0x42,0x54,0x80,0x42,0x39,0x7f,0x29,0xb1,0xdd,0x43,0x93, + 0xfa,0xea,0xf,0x4d,0x64,0x9,0xac,0x51,0xd1,0x2f,0xf3,0x99,0x80,0x23,0x75,0xbd, + 0x87,0xa6,0x65,0x97,0x1a,0xca,0xed,0x52,0xe3,0x48,0xec,0x1c,0xa2,0xd4,0xe3,0x8b, + 0x93,0xed,0x42,0x89,0x15,0x1,0x35,0x33,0xbb,0xea,0xcb,0xea,0x4a,0x0,0x96,0xa9, + 0xde,0xfe,0xc6,0xa2,0xe0,0xfd,0x1f,0x88,0x40,0x34,0xc8,0x7d,0xaf,0x49,0x41,0xd8, + 0xb3,0x5f,0xe4,0xec,0x75,0x23,0x60,0x2b,0xb4,0xbe,0x51,0xd,0x84,0x33,0xef,0xd2, + 0x5f,0x8a,0x38,0xe4,0x8e,0x8b,0xbe,0x6f,0xc5,0xbd,0xd6,0x81,0x6c,0x5f,0x81,0x93, + 0xb4,0xf6,0x5a,0x45,0x1d,0x3c,0x7b,0xef,0x22,0x2a,0x30,0x37,0xf3,0xa6,0xcd,0xc1, + 0xd2,0xa9,0x97,0xb4,0xd7,0xba,0xbb,0xa6,0x97,0xfb,0x8d,0xbb,0x6b,0xdf,0x13,0x53, + 0x7b,0x17,0x52,0xb7,0x43,0xec,0x41,0x70,0x98,0x1f,0x3f,0x52,0xf5,0xc0,0xba,0x61, + 0xbb,0x48,0xa8,0x38,0x62,0x25,0x34,0x10,0x13,0x8e,0xf6,0x94,0x8c,0x8,0x78,0x59, + 0x8e,0x8e,0x74,0x70,0x8,0x98,0x17,0xd9,0x28,0x5b,0x9e,0xef,0xa0,0x9f,0x37,0x41, + 0xac,0xba,0x63,0xaa,0x3a,0x99,0xf6,0x92,0x92,0xed,0x76,0xa6,0x8e,0xd2,0x4d,0xda, + 0xa3,0xb2,0xda,0x26,0x98,0xb4,0xd9,0xe,0x39,0x2f,0x5b,0x23,0x95,0x22,0x72,0x57, + 0xb9,0x92,0xd1,0x4c,0xb3,0xbb,0x62,0x43,0x90,0x40,0xe9,0xd4,0x80,0x31,0x92,0x5f, + 0x3c,0x6,0xf0,0x7c,0xa,0x3c,0xe5,0x29,0xf0,0x94,0x4f,0x0,0xcf,0x4a,0x29,0xab, + 0x3e,0x3,0x2f,0x10,0x98,0x8,0xb3,0x13,0x86,0x10,0xf7,0xca,0x47,0x1,0x9f,0x4e, + 0xc1,0xc7,0x3e,0x5,0x1f,0xfb,0x9,0xf0,0x85,0x33,0x91,0xd0,0xe,0x3e,0x2b,0x41, + 0x97,0x5b,0xf8,0x12,0xa1,0x2c,0xc9,0x3b,0x2a,0x60,0x4b,0x14,0x7f,0x14,0xf0,0xf1, + 0x14,0x7c,0x84,0x53,0xf0,0x11,0xde,0x1b,0x3e,0x6,0xa,0x53,0x67,0xdf,0xc1,0x57, + 0x89,0x16,0xd9,0x5d,0x9,0x6,0x28,0xb1,0x49,0x17,0x80,0x54,0xca,0x64,0x2f,0x96, + 0x59,0xbf,0x4d,0x3f,0xa1,0x79,0x2,0x2b,0x5a,0x71,0xa7,0xa,0x48,0xc2,0x9c,0x2f, + 0x9a,0x79,0xb8,0x40,0xd8,0xdb,0x75,0xa7,0xb,0x68,0x95,0xb5,0x73,0x7b,0x14,0xb0, + 0x94,0x34,0x61,0xa0,0xe9,0x78,0x4c,0x8f,0xc9,0xf8,0xc2,0x78,0xf4,0xf4,0x72,0xf2, + 0x91,0x83,0xdd,0x21,0x5f,0xc9,0xab,0x38,0xb4,0xa5,0x31,0x67,0x3f,0x8b,0x75,0x7a, + 0xf4,0x94,0xaf,0xe9,0xb5,0x1d,0x1a,0x1d,0x48,0x4a,0x67,0x89,0xf0,0x69,0x11,0x5f, + 0xbf,0xfc,0xc6,0x5f,0xbf,0x3c,0x28,0x42,0x3c,0x6b,0x96,0x88,0x9c,0x16,0xe1,0x56, + 0xaf,0x5f,0xbd,0x3a,0x28,0xc2,0x10,0x63,0x8e,0x8,0xc1,0x63,0x3b,0xb0,0xee,0xaf, + 0x5f,0x1f,0x10,0x41,0x27,0x6c,0xea,0xcc,0x78,0xfa,0xbb,0x42,0x70,0xe3,0x9e,0xcd, + 0xdc,0xa,0x94,0x7d,0xe0,0x69,0x55,0x4,0x97,0xe4,0x68,0x7d,0xfd,0xca,0x50,0x80, + 0xc6,0x7c,0x3e,0xa6,0xe0,0x69,0x23,0x77,0x77,0x24,0xe0,0xb0,0x6a,0xfc,0x7d,0xd7, + 0x75,0x1,0x87,0xc7,0x3c,0xee,0xf0,0x84,0x47,0xfc,0x45,0xbe,0xa9,0x1e,0xe9,0xd3, + 0x1c,0x9e,0x8e,0xdd,0x4e,0xf4,0x55,0xfe,0x8e,0xc3,0x6b,0xba,0xcc,0x12,0xa1,0xd3, + 0x22,0xf8,0x65,0xdc,0xfe,0x3b,0x28,0x22,0x2a,0x73,0x96,0x8,0x3f,0x59,0x44,0xcd, + 0x13,0x90,0xd3,0x2,0xbe,0x79,0xf5,0xea,0xeb,0xd3,0xdc,0xbd,0xd,0x55,0xcb,0xa6, + 0xe4,0x5d,0xd1,0xdd,0xfd,0xc0,0x18,0x32,0xf0,0x16,0x3b,0x54,0x7a,0xc4,0x8b,0x26, + 0xa2,0x29,0x50,0x54,0x9b,0xcf,0x7b,0xa5,0xdc,0xae,0xd7,0xc4,0x14,0xd2,0xc8,0x27, + 0xa3,0x2c,0xf2,0x71,0x6f,0xc6,0x23,0xce,0x60,0x92,0x5f,0xbf,0x3c,0xd9,0x9b,0xf1, + 0x88,0x1f,0x24,0x7e,0x2d,0x47,0xcd,0xd4,0xa8,0xb5,0x89,0x99,0x72,0x4d,0x33,0x45, + 0xf9,0x51,0x33,0x45,0xe5,0xaa,0x66,0xc2,0x47,0x66,0x26,0x20,0xb7,0xdc,0xb3,0x95, + 0x40,0x84,0xe5,0xf4,0x2d,0x95,0xda,0xda,0x4a,0xb4,0x5a,0x5b,0xa1,0x1,0x72,0xc8, + 0xb4,0xad,0x70,0x86,0xad,0x78,0x1a,0x4d,0x7d,0x1b,0x72,0xfd,0x7e,0x9c,0x86,0x71, + 0xa2,0xed,0xa2,0x74,0x25,0xdb,0xcd,0xcf,0x79,0x89,0xd4,0xe3,0xa8,0xa4,0x9f,0xaf, + 0xda,0x60,0x44,0xe6,0x5a,0xd5,0x6,0x4f,0x6,0x29,0x66,0x80,0x14,0xf,0xbe,0x8, + 0x2a,0x97,0x98,0x1a,0xc6,0x9f,0xe,0x5e,0x7e,0xce,0xb2,0xd,0x1e,0x1c,0x59,0x4d, + 0xdc,0x3,0x75,0x41,0x6d,0x5b,0xb1,0x8b,0x55,0x44,0x5d,0xce,0x27,0x3c,0x67,0xf8, + 0xc4,0x9,0xc,0x22,0xef,0xf5,0x9a,0x3e,0xcf,0xb7,0xac,0x70,0xd,0xb4,0x9a,0x5, + 0x57,0xf0,0x29,0x45,0xf1,0xdf,0x5,0xf1,0x7a,0x70,0xd9,0x8c,0x48,0x69,0x8f,0xb9, + 0x86,0x78,0x84,0xcf,0x9a,0xf4,0x7d,0x83,0x1a,0xe2,0x11,0xbe,0x45,0xd,0xf1,0x8, + 0x3f,0xb9,0x86,0xf8,0x7a,0x9e,0x78,0x2f,0x9e,0x95,0xa4,0x3f,0x52,0x7c,0x2f,0x8c, + 0xef,0x97,0xe3,0x6f,0x33,0xa5,0xd1,0x61,0x69,0xba,0x1c,0x4a,0x3a,0x23,0xe4,0xa9, + 0x6f,0xc0,0xf9,0x11,0xa1,0xb9,0x14,0xe7,0xc7,0x72,0x70,0x49,0x9e,0xad,0xce,0x66, + 0x28,0x9e,0x8f,0xbc,0x27,0x42,0x79,0x41,0x94,0xf8,0xb8,0x53,0x1d,0x66,0x3b,0x38, + 0x31,0xd6,0x1f,0x97,0x76,0xc2,0x4,0x65,0xd4,0x7f,0xaf,0x37,0x41,0xf1,0x8c,0x50, + 0xc9,0x27,0x11,0xe4,0x9d,0x8c,0x12,0xde,0x1f,0xa5,0x18,0xa4,0xad,0x88,0x12,0xce, + 0x40,0x89,0xcf,0xc7,0xe0,0x16,0xc1,0xba,0xd6,0xbc,0xb4,0x7d,0x35,0xe5,0xa0,0x7c, + 0xea,0xc5,0xbb,0x57,0x85,0x73,0xec,0xbd,0xe4,0x4b,0x52,0xd4,0x86,0x19,0x4b,0xe, + 0xb0,0x12,0xa4,0x5,0xba,0xf6,0xa9,0x5b,0xc,0xa6,0x49,0x55,0xdd,0x55,0x31,0x98, + 0x73,0xc5,0xe8,0xf0,0xc3,0x80,0x5,0x91,0x8c,0xd2,0xef,0xa,0xaa,0x32,0x29,0xda, + 0xa2,0x51,0x1,0x61,0x21,0xce,0xed,0x66,0x97,0x40,0x55,0x29,0xc9,0x96,0x85,0x1d, + 0x82,0x16,0xe5,0xb8,0xc4,0x42,0xab,0x1e,0x48,0x29,0xa6,0x81,0xe4,0x17,0x9c,0x99, + 0x8d,0xac,0xb,0xb0,0x70,0xd7,0xe0,0x8e,0x10,0xb,0x72,0xd8,0x26,0xc9,0x24,0x10, + 0x27,0xb5,0xd,0xca,0x3b,0xac,0xe3,0xbe,0x6c,0x95,0xd3,0xee,0xcb,0x8b,0x96,0x1a, + 0x48,0xd7,0x8a,0x5d,0xe6,0x61,0x55,0x66,0x51,0x87,0x40,0x8a,0x2a,0x95,0x9d,0x81, + 0xb0,0xb0,0x4a,0x5f,0x83,0xa0,0xf5,0xdf,0x30,0x48,0x4d,0x64,0x1e,0x17,0x3d,0x4b, + 0x54,0x62,0x69,0xfd,0x97,0x40,0x8d,0x2d,0x47,0x55,0xcf,0x2,0x50,0x83,0x95,0xd6, + 0x84,0x33,0xc4,0x75,0x1a,0x4e,0x7c,0x18,0x70,0x3a,0x4,0xa6,0x89,0x36,0x70,0xa6, + 0x80,0xb0,0x5,0x57,0xb,0x27,0x82,0x45,0x19,0x53,0x3,0x67,0x6,0x90,0xa9,0xe5, + 0x96,0xf4,0x6d,0x11,0xb8,0x24,0x7d,0x1b,0x67,0x58,0xd,0xfc,0xca,0x14,0x12,0x4a, + 0x3,0x9,0xbd,0xa9,0xdb,0x1d,0xaa,0xce,0x24,0xa8,0xd4,0x25,0x81,0xa7,0xab,0x5b, + 0xc7,0x1,0x59,0xaa,0xb1,0x5a,0x8d,0xa8,0x35,0xb1,0xb5,0x64,0x9f,0xc6,0xd6,0x17, + 0x75,0xd5,0x62,0x4c,0xfe,0xcd,0x55,0x45,0xca,0x7a,0x57,0xc5,0x14,0xef,0xa7,0xd6, + 0x2,0x94,0xd0,0xd2,0x9e,0x50,0x6b,0x8c,0xa7,0x42,0x71,0x94,0x34,0x78,0xe,0x31, + 0xcf,0x11,0x5d,0x5b,0x40,0x11,0xc1,0xcd,0xb1,0x89,0x5d,0x43,0x67,0x34,0xe,0xd1, + 0x2d,0x73,0xe2,0x3,0xf5,0x84,0xac,0xf0,0x2b,0x62,0x48,0xa,0xb3,0x6c,0xf4,0x6f, + 0x8b,0xa4,0xec,0xd4,0x4f,0x6,0xa,0x4e,0xf1,0x46,0xfd,0x4f,0x7d,0xb7,0x2c,0x14, + 0x14,0xf8,0xdc,0xb,0x5,0xad,0x10,0xbd,0x8b,0x79,0xda,0xe3,0x96,0xc,0x37,0x4e, + 0xc9,0xfc,0x29,0x3d,0xcb,0x59,0xd8,0x33,0x3a,0x56,0x20,0x4c,0x94,0x4e,0x3,0xaa, + 0x24,0x75,0x94,0x41,0x2e,0x2,0xa2,0x2c,0xd1,0xae,0x3c,0x89,0x2,0x52,0x72,0x74, + 0xaa,0x81,0x15,0xd4,0xb0,0x6a,0x94,0x3f,0x8e,0x1,0x62,0x46,0xb5,0x65,0xbd,0x52, + 0xaf,0x25,0x43,0x8d,0x87,0x30,0x61,0x76,0x4,0x46,0x59,0x52,0xda,0xbb,0xaf,0x21, + 0x96,0xb1,0x74,0x4,0x5e,0x9c,0x3,0x85,0x54,0x82,0x87,0x79,0x9f,0x4,0xd7,0x43, + 0xe3,0x66,0xbe,0x1e,0xc5,0xff,0xba,0xd1,0x46,0x45,0xa6,0xe1,0x5d,0x36,0xda,0x84, + 0x20,0xed,0x45,0x9b,0x88,0xe4,0xe,0x81,0x13,0x7,0xd2,0x2e,0x74,0xb5,0xac,0xf8, + 0x2c,0xd4,0x14,0x3,0xb3,0xd3,0x68,0xaa,0x35,0x5,0xa2,0x52,0xc9,0x6,0xcc,0x72, + 0xb0,0xa8,0x2c,0x1b,0x87,0x6e,0x32,0xa2,0xdc,0xb2,0x2,0xac,0x2f,0xc8,0x87,0xc4, + 0xc0,0x8e,0x48,0x29,0xbb,0xa4,0xcc,0x30,0x56,0xad,0xe1,0x6c,0xb3,0x15,0x2a,0xf6, + 0x3f,0x1a,0x28,0x99,0x24,0x3f,0x9f,0x1a,0xdb,0x5e,0xbc,0x68,0x91,0x5d,0x74,0xd9, + 0x21,0x4c,0x19,0x42,0x4c,0x1d,0x13,0x38,0x53,0x49,0x9f,0x0,0x4b,0x90,0xae,0x9c, + 0xf1,0x9c,0x0,0xc6,0x25,0x1,0xd6,0xb2,0x22,0xfd,0xd,0x61,0xcf,0x81,0x9e,0xb9, + 0x4,0x58,0x51,0xa9,0xbb,0x62,0x1,0x13,0xcb,0xd0,0xd,0x20,0xde,0x68,0x81,0xef, + 0x99,0x27,0x2c,0x47,0x2d,0x21,0x54,0x82,0xda,0x70,0x1e,0x9,0x4a,0x24,0x4d,0x7a, + 0xe8,0xc1,0xbe,0x43,0xf1,0x2,0x3,0xcf,0x74,0xa6,0x4d,0x3,0x4e,0x7a,0xab,0x97, + 0x1,0x62,0xe0,0x88,0x16,0x24,0x13,0xd4,0xb1,0xa2,0xd1,0xeb,0x50,0x5f,0xbe,0xab, + 0x5e,0x6b,0x16,0x5e,0xf,0xe0,0x6c,0xa1,0x8,0x4e,0x2b,0xaf,0xad,0xf2,0x5,0xd5, + 0x7f,0x79,0xa3,0x7c,0x31,0x54,0x8,0xa6,0xb4,0xca,0x7,0xa8,0xa8,0xea,0xe8,0x91, + 0xd5,0x0,0xa3,0x24,0x1f,0x82,0xee,0x7e,0xc4,0xed,0xb9,0xd1,0x5d,0x3,0xd8,0x95, + 0x94,0x1a,0xdd,0x99,0x20,0x24,0xd5,0xa2,0xd1,0x7d,0xd7,0xb7,0xd5,0x3d,0x10,0xc4, + 0x82,0xbd,0x1e,0x83,0xf2,0x33,0xa7,0xd5,0xb5,0x21,0x9a,0x3e,0x7a,0x41,0x4e,0xc0, + 0xfd,0xd1,0xf8,0x4d,0xb1,0x8a,0x99,0xde,0x7c,0x2f,0x9d,0xe8,0xc5,0x5a,0xd0,0x6e, + 0x8b,0x95,0x3f,0xa,0xbf,0x8a,0x78,0x8,0x7e,0xa5,0x8b,0xfa,0x55,0x18,0xe8,0x1d, + 0x73,0xc0,0x13,0x75,0x2d,0x5e,0x14,0x2e,0x2b,0x10,0x62,0xeb,0x8,0xd8,0x9e,0x28, + 0x60,0x78,0x1,0x6c,0xfc,0xac,0x31,0x9,0x98,0x2f,0x3b,0xd1,0x3,0xdb,0xcd,0x15, + 0x1f,0xc0,0x2b,0xc,0x4c,0x53,0xc9,0x1b,0xbc,0x86,0xfb,0x37,0x3c,0x1b,0xb8,0x9c, + 0x41,0xdd,0x4b,0xb2,0x81,0x4b,0x3,0x82,0x2b,0x8d,0xb6,0x85,0xcb,0xcf,0x3,0x97, + 0xb,0x50,0x28,0x6a,0x8d,0x78,0xe5,0x40,0x51,0xd2,0x1b,0xb8,0x76,0x5d,0xb9,0x81, + 0xcb,0x9,0x32,0xa8,0x36,0x76,0x2e,0x6d,0x94,0x12,0x82,0x42,0x67,0x6b,0x75,0x12, + 0x30,0x42,0x91,0x56,0x29,0x51,0xc8,0x30,0xc2,0x68,0x94,0x6a,0xfb,0xce,0x37,0xc2, + 0xcf,0x3f,0xfe,0x74,0x73,0xfd,0xfe,0x2f,0x37,0xbf,0x7c,0xf8,0xe1,0xf6,0x2a,0x6f, + 0x55,0xe9,0x35,0x9d,0x59,0xab,0x8,0x41,0x3a,0x7c,0xb1,0x2d,0x8c,0x8b,0x46,0x1, + 0x73,0x88,0x5e,0xa3,0x49,0x70,0x56,0xb2,0xdb,0xa6,0xb1,0x61,0x9,0x66,0xd3,0xd6, + 0x31,0x9e,0x25,0x8c,0x96,0x17,0x6f,0x5c,0x2,0x46,0xbf,0x78,0xe3,0x12,0x30,0xea, + 0x5,0xc6,0x5,0xde,0x87,0x1a,0x6f,0xfc,0x3e,0x74,0xa6,0x7d,0xca,0x81,0xdc,0x8d, + 0x79,0xe9,0xf2,0x9d,0xae,0x79,0xa4,0xa6,0xd6,0xef,0x56,0xa1,0x34,0x8b,0xdf,0xa9, + 0x42,0x39,0x94,0xbd,0x6a,0x4b,0x6b,0xe5,0x2,0xa5,0xb5,0x4e,0x2f,0xa2,0x75,0xe5, + 0xa,0x46,0xc8,0x43,0x6a,0x1f,0xdc,0x15,0xb,0x75,0x3,0x33,0xb6,0xcc,0xbb,0xa6, + 0x14,0xb3,0xdb,0x46,0x7,0x33,0xd4,0xec,0x88,0x80,0x42,0x18,0xeb,0xb6,0x2d,0x80, + 0x8b,0x8c,0xb9,0x6f,0xac,0x5d,0xf9,0xd1,0x54,0x60,0x1f,0x46,0xe4,0x84,0xbc,0x1b, + 0x32,0xd,0x92,0x29,0xd4,0x3b,0x41,0x50,0x9,0xa2,0x6a,0x1a,0x19,0xca,0x8b,0x84, + 0xf6,0x3f,0x2d,0xa,0x26,0x74,0x37,0xa6,0x25,0x24,0x73,0x4,0x77,0x8e,0xad,0x8c, + 0x34,0x50,0xff,0x4c,0x4a,0x6,0xa0,0x60,0x7a,0x35,0x8d,0x5,0xe6,0x9c,0xd9,0x48, + 0x29,0x82,0x41,0x46,0xa3,0xd,0x26,0x60,0xc9,0x27,0x34,0x82,0x4b,0x51,0x3a,0xc2, + 0x2,0x37,0x63,0xbe,0x6d,0x14,0xa0,0xa,0x29,0x6a,0x1a,0x9,0x5c,0x8c,0x63,0x6f, + 0x80,0x7e,0x5c,0xf9,0xe4,0xa1,0xc9,0xe0,0xf6,0x2b,0x4a,0x84,0xe0,0x15,0x11,0x23, + 0x69,0x5,0x24,0xe6,0xc6,0xd5,0xc,0xc,0x8e,0xe2,0x8a,0x4d,0xa3,0x1,0x2a,0x19, + 0x53,0x35,0xd2,0x88,0xa0,0x38,0x98,0xf3,0x4e,0xb1,0x7e,0x4c,0x12,0xd0,0x4c,0xaf, + 0xdc,0x3,0x60,0xaf,0x6d,0x87,0xd4,0xde,0x47,0x77,0x98,0xe,0xd7,0x29,0x3b,0xff, + 0x70,0x6c,0xc6,0x1f,0xcc,0x33,0x96,0xb0,0x33,0xe4,0xbe,0x84,0x9d,0xc5,0xf7,0x25, + 0x70,0xc2,0x30,0x7e,0xa3,0xc6,0xce,0x87,0x5e,0xb6,0x1a,0x83,0xa8,0x46,0x78,0x83, + 0xcd,0xae,0xb1,0xc1,0x71,0xf7,0xf9,0x6,0x73,0x9,0x10,0x1d,0xb0,0xd9,0x33,0x50, + 0x2b,0x8b,0x41,0xaa,0x44,0x6b,0x70,0x6d,0x43,0x96,0x1a,0xc,0xac,0x62,0x46,0x83, + 0xac,0x10,0x31,0xaa,0xcf,0xef,0x95,0xff,0xfb,0xb7,0xdb,0x1b,0x48,0x4,0xe4,0xce, + 0x35,0x43,0x81,0xec,0xd7,0x41,0x45,0x1,0x43,0x29,0xa9,0xb,0x1,0x29,0x8f,0xf4, + 0xdb,0x46,0x3,0xac,0x24,0xcb,0x2e,0x6,0x9c,0x54,0xf7,0xaf,0x74,0xd7,0x36,0x7c, + 0x3c,0x80,0xa5,0xc7,0x6f,0xbf,0x67,0x2,0x5b,0xa6,0x4b,0x33,0x64,0x1,0x12,0xf2, + 0xbe,0xf4,0x6f,0xf,0x5e,0xd3,0xe1,0xf2,0x70,0x6e,0x38,0xb7,0xfc,0x6c,0xfb,0xf5, + 0xf3,0x44,0x3d,0xda,0x2d,0xc2,0x95,0x2e,0xb9,0x78,0x6a,0xa3,0xca,0x6a,0x11,0x6e, + 0xe1,0x70,0xc5,0x6d,0xb8,0x3a,0xd5,0xac,0x7,0xdd,0x44,0xf5,0x12,0x38,0x2e,0x81, + 0xe3,0x12,0x38,0x9e,0x7b,0xe0,0x38,0xba,0xf2,0x75,0x79,0xa8,0x2b,0xdf,0x87,0x15, + 0xae,0xf0,0xf1,0x85,0xab,0x55,0x33,0xa0,0x2c,0x6c,0x32,0x3,0x4a,0xf2,0x18,0x95, + 0xdf,0xbb,0x19,0x24,0x81,0x93,0x8c,0x82,0x2d,0xf9,0xe0,0x16,0x14,0x81,0x27,0x50, + 0xf7,0x39,0xe3,0xd9,0xa8,0xfb,0x9c,0xf9,0x8c,0xd4,0x7d,0xce,0xcb,0x1d,0xeb,0x77, + 0xcc,0xb3,0x51,0xf7,0x39,0xe1,0x19,0xa9,0xfb,0x9c,0x78,0x41,0x94,0xf0,0x5c,0xd4, + 0x7d,0x8e,0x87,0x5d,0x69,0xdc,0x4b,0x1f,0x37,0x75,0x9f,0xa3,0x2f,0x66,0x1d,0x2b, + 0x3c,0x1b,0x75,0x9f,0xd5,0x1c,0xf3,0x58,0xe9,0x93,0xa0,0xee,0xb3,0xf2,0x33,0x92, + 0xd2,0x59,0xe5,0x72,0x3e,0x91,0x7a,0x36,0xea,0x3e,0xcb,0xb3,0xa2,0x94,0x13,0x28, + 0x6d,0xc5,0x64,0x62,0xf9,0x8c,0xd9,0xbc,0x2c,0x9f,0x35,0x9b,0x97,0xc5,0x71,0x36, + 0x2f,0x8b,0xb,0x9b,0xd7,0x85,0xcd,0xeb,0xf1,0xb1,0x79,0x59,0x5c,0xd8,0xbc,0xe6, + 0x9f,0x5c,0xb6,0x78,0xd2,0x6c,0x5e,0x42,0x31,0xad,0x3d,0x3e,0x67,0x22,0x2a,0xf3, + 0xbc,0x10,0x51,0x4d,0x44,0x49,0xd7,0xb,0x11,0xd5,0x85,0x88,0xea,0xd0,0xda,0xc8, + 0xfd,0x21,0x11,0x51,0x99,0xf3,0x6a,0x44,0x54,0x17,0x3a,0x96,0x4f,0x28,0xdb,0xf1, + 0x6a,0x75,0x66,0x6b,0xd2,0xb1,0x98,0xad,0x4e,0xc7,0x62,0xb6,0x3a,0x1d,0x8b,0xd9, + 0xea,0x74,0x2c,0xe6,0x17,0x3a,0x96,0x5,0x1c,0x5e,0xf2,0xb8,0xc3,0xeb,0x9a,0x74, + 0x2c,0xa6,0xab,0xd3,0xb1,0x98,0xae,0x4e,0xc7,0x62,0xba,0x32,0x1d,0x8b,0xe9,0x85, + 0x8e,0xe5,0x28,0xcf,0x87,0x9,0x1f,0xf7,0x66,0x59,0x93,0x8e,0xc5,0xe4,0x42,0xc7, + 0x72,0xdc,0x4c,0xec,0xc7,0xcd,0xc4,0xb9,0xaa,0x99,0x2e,0x74,0x2c,0xf3,0xe8,0x58, + 0x8c,0x71,0x86,0xad,0xce,0x49,0xc7,0x62,0xbc,0x3d,0x1d,0x8b,0x91,0x1e,0x47,0x85, + 0xce,0x49,0xc7,0x62,0xf4,0xe0,0xe8,0x58,0xc,0x67,0x80,0x84,0x8f,0x9a,0x8e,0xc5, + 0x30,0x67,0xd9,0x66,0x13,0x3a,0x16,0xa3,0x87,0x47,0xc7,0xa2,0x95,0x33,0x7c,0x62, + 0x13,0x3a,0x16,0xc3,0x87,0x47,0xc7,0xa2,0x79,0x3c,0x52,0x6a,0x3e,0x6a,0x3a,0x16, + 0xad,0x39,0x93,0xbe,0xd6,0x16,0x74,0x2c,0x5a,0x9b,0xd0,0xb1,0x68,0x3d,0x3c,0x3a, + 0x16,0xcd,0xf3,0xd1,0xb1,0x68,0x9e,0x93,0x8e,0x45,0x53,0x97,0x43,0x69,0x6,0x3, + 0x99,0xc6,0x26,0x74,0x2c,0x1a,0xf,0x8f,0x8e,0x45,0xfd,0x7c,0x74,0x2c,0x1a,0xe7, + 0xa4,0x63,0xd1,0xe0,0x5,0x51,0xe2,0xe3,0x4e,0xe5,0xe7,0xa4,0x63,0x51,0x7f,0x78, + 0x74,0x2c,0x6a,0x33,0x42,0xa5,0x9d,0x93,0x8e,0x45,0xfd,0xe1,0xd1,0xb1,0xa8,0xe1, + 0xc,0x94,0xce,0x49,0xc7,0xa2,0xb6,0x3e,0x1d,0xcb,0x66,0x85,0x2f,0x54,0x2f,0xc5, + 0x69,0xee,0x71,0x16,0x5e,0xf5,0x52,0x52,0x60,0x11,0x18,0x2f,0x25,0x5,0x16,0x81, + 0x91,0x9f,0xa,0x8c,0x8b,0xe6,0x4c,0xa8,0xf8,0xa5,0xd0,0xc0,0xe5,0xbc,0xe8,0xe5, + 0xbc,0xe8,0xe5,0xbc,0xe8,0xd3,0x2d,0x34,0xa0,0x92,0x4f,0xa2,0xd0,0x80,0x8a,0x3e, + 0xf3,0x42,0x3,0x2a,0xb8,0x5e,0xa1,0x1,0x15,0xbe,0x4,0x8e,0x4b,0xe0,0xb8,0x4, + 0x8e,0xe7,0x1e,0x38,0x2e,0x85,0x6,0x96,0x9,0x57,0x9c,0x97,0x42,0x3,0xf7,0x29, + 0x34,0xa0,0xec,0x97,0x42,0x3,0x47,0x9c,0x80,0x24,0xc1,0x2b,0x89,0x3b,0xa,0x40, + 0xa9,0x14,0x6e,0xf3,0x31,0x9,0xc7,0xec,0x50,0x2d,0x85,0x94,0xb7,0x94,0x86,0x73, + 0x79,0xd9,0xa6,0x1d,0x5d,0xf,0x9b,0xbf,0xb5,0xaf,0xf8,0x70,0x2d,0xd3,0x7e,0x34, + 0x85,0xce,0x4e,0xc5,0x1c,0x31,0x2d,0x32,0xc2,0xe8,0xc5,0xc2,0x88,0x55,0x24,0xa, + 0xc2,0x96,0xd0,0x93,0x67,0xb9,0x39,0xb3,0x2d,0xa2,0x67,0xf0,0x98,0xa2,0xd3,0x2b, + 0x5c,0x5a,0x55,0xab,0x35,0x28,0xfb,0x5d,0x27,0x9f,0x37,0xa9,0x24,0x81,0x20,0x8b, + 0xf7,0xe7,0xc5,0x96,0x0,0x8,0xe7,0x1,0xe4,0xb8,0x8,0x40,0xe5,0x80,0x48,0x2a, + 0x23,0x7f,0x20,0xf0,0x24,0x1c,0xf9,0x3d,0x37,0x30,0xf9,0xaf,0x50,0xf2,0x26,0x30, + 0x51,0x9e,0x15,0x26,0xc2,0x4,0x24,0x9c,0x81,0x92,0x23,0x98,0x94,0xa0,0x34,0x60, + 0x35,0x5d,0x67,0x61,0x45,0xbc,0x14,0x52,0x3e,0xf,0x29,0xe4,0xe3,0x48,0x4d,0x47, + 0xb6,0x21,0x2e,0x60,0x1b,0x3b,0xbc,0x8d,0x30,0x8a,0x4d,0x1c,0x4a,0x6d,0xa3,0x95, + 0xea,0x3c,0x80,0x48,0x75,0x36,0x38,0x93,0xe1,0x92,0xf4,0x30,0x38,0xff,0xf9,0x97, + 0x6f,0xff,0xfc,0xcd,0x1b,0x7d,0xb3,0x8c,0xf3,0x14,0x70,0x92,0x7b,0xeb,0x3d,0x89, + 0x8d,0xdf,0x90,0x81,0x88,0x9b,0x8e,0xa6,0x5d,0x81,0x50,0x76,0xc9,0xe9,0xf7,0xc4, + 0x4b,0xb8,0x9,0x2f,0x7c,0x43,0x4d,0xbb,0x89,0xb6,0x94,0xe9,0x88,0xad,0x9f,0xf8, + 0x43,0xf3,0x93,0x79,0xb3,0x32,0xa,0x3e,0x1f,0x8f,0xc1,0x33,0x4f,0xc1,0x9,0x86, + 0x32,0x3a,0x8f,0x1c,0xe,0x9c,0xaa,0x92,0xd,0x32,0xbb,0xae,0x6d,0xbc,0x52,0x10, + 0xa5,0x2a,0x9a,0x72,0x9d,0xdb,0xab,0xfb,0xae,0xdf,0x58,0x45,0x29,0x49,0xe9,0x10, + 0xca,0x99,0xb0,0x64,0x89,0x89,0x18,0xe7,0x4e,0xc4,0xf1,0x8c,0x7c,0x48,0xe7,0xf1, + 0xff,0x11,0x3f,0x23,0x4c,0x66,0xcf,0xc4,0xcf,0x8,0x13,0x3c,0x2f,0x26,0xa8,0x90, + 0xe8,0x9e,0xed,0x49,0x74,0x67,0x50,0xd6,0xf4,0x51,0x5a,0x85,0x43,0x60,0xaa,0xfb, + 0x88,0xea,0x5d,0x20,0x2c,0x44,0x64,0xdd,0x50,0x35,0x86,0x4a,0x2a,0x57,0x5a,0xd2, + 0x6c,0xfc,0x88,0x2c,0xe5,0xab,0x3f,0x22,0xcf,0xbb,0xc8,0x5,0x1e,0xa4,0x27,0xf5, + 0xd4,0xb9,0x8f,0xc8,0x67,0xd2,0x73,0xfb,0xe8,0x3b,0x8d,0x17,0xaf,0x1e,0x57,0xa7, + 0xc4,0xe7,0x29,0x6c,0x89,0xdc,0x42,0x66,0x1,0xd6,0x20,0xcb,0xd9,0xa0,0x3f,0xca, + 0xd2,0x3b,0x25,0x1d,0x2f,0xaf,0xf3,0x70,0xae,0x6c,0x9b,0x7f,0x27,0x13,0xe7,0x5b, + 0x67,0xa6,0xe3,0xfd,0xcf,0x87,0xdb,0x77,0xcf,0xad,0x2c,0x3c,0x28,0xaa,0xf0,0xb4, + 0x14,0xbd,0x1,0x91,0x6,0xae,0x49,0x38,0x7,0xb8,0x17,0x98,0x7f,0x66,0x24,0x73, + 0x4b,0xf8,0xb4,0x21,0x5e,0xbf,0x7e,0xf5,0x15,0xe2,0x89,0x47,0xdd,0x24,0xf2,0x98, + 0x99,0xaf,0x67,0x66,0xbe,0x2f,0x96,0x41,0x2a,0xee,0xf3,0x73,0xb6,0xdf,0x7e,0x77, + 0xfd,0xee,0xbf,0x4f,0x2c,0xb9,0x29,0x3b,0x5e,0xc1,0x93,0x45,0xe1,0xdc,0x6c,0x6d, + 0x9,0x7a,0x54,0x8e,0xe9,0x78,0xdc,0x31,0x9d,0x4f,0x99,0x21,0x4e,0x75,0x54,0xd7, + 0x7b,0xcf,0x10,0x87,0x64,0x3d,0x2e,0x33,0xd8,0x8c,0xf9,0xc1,0xfc,0x38,0x30,0x4b, + 0x19,0xc1,0x72,0xb,0x23,0x4c,0x21,0xa4,0xf9,0xf0,0x43,0x65,0x3b,0x43,0xb7,0x80, + 0xe2,0x49,0xa1,0xb1,0x1d,0xfd,0xe5,0xcb,0xdf,0x1b,0x9d,0xd7,0x4c,0x58,0x6f,0x9f, + 0x2,0xea,0xcd,0xa4,0x27,0xeb,0x29,0x4b,0x9a,0x52,0x90,0xcf,0x96,0x82,0xc8,0x20, + 0xaa,0xd1,0x18,0x2c,0x1d,0x4c,0xcc,0x1b,0xab,0x95,0x82,0xc9,0x50,0x62,0x69,0x71, + 0x5d,0x9,0x8f,0x28,0xab,0xa7,0x28,0x6b,0x23,0x3d,0xe5,0x33,0x15,0xd3,0x6d,0xa4, + 0xe2,0xd0,0xb6,0x8a,0x8a,0x74,0x44,0x45,0x5e,0x41,0xc5,0x0,0x2e,0x69,0x35,0xb4, + 0xbe,0x69,0x15,0x5,0xf9,0x88,0x82,0x78,0x8a,0x82,0x3e,0x52,0x50,0x5b,0x5,0x13, + 0x10,0x91,0x5b,0xd,0x7d,0x68,0x5b,0x66,0x87,0xbf,0x55,0x31,0xde,0x4c,0xbd,0x80, + 0x16,0x99,0x39,0x75,0x36,0xef,0xc9,0x9,0xb9,0x79,0x8d,0x4e,0xc4,0x20,0xa8,0xb1, + 0xbf,0x91,0x4f,0x52,0x60,0x96,0xb6,0x86,0x4e,0x79,0x44,0x27,0x5f,0x59,0xa7,0x3d, + 0xb2,0xe0,0xdb,0x7,0xcc,0x9b,0x8f,0x7f,0xfb,0xfe,0xdf,0xdf,0xfe,0xd7,0xed,0xb5, + 0x7f,0xea,0x7a,0xf3,0x8f,0x7f,0x7e,0xfc,0xe9,0xe6,0xfd,0xab,0xff,0xfd,0xe5,0xe6, + 0xfb,0x9f,0x3f,0xfe,0xf0,0xfd,0xad,0xe8,0xf,0xbf,0xfc,0xf2,0xe3,0x97,0x5f,0x7c, + 0xf1,0xfd,0xcf,0x70,0xfd,0xfe,0x87,0xb7,0x37,0xf0,0xee,0x87,0xbf,0x7f,0xf1,0x55, + 0xff,0xd3,0x9f,0xbf,0xfb,0xee,0x9f,0xb7,0xb9,0x32,0xd7,0xbf,0xfc,0xf0,0xd3,0x17, + 0x84,0x80,0x5f,0xfc,0xa6,0xf9,0x7e,0x50,0xf9,0xd7,0xfe,0x2f,0x43,0xfe,0xce,0x7e, + 0x50,0xf8,0x70,0x7b,0x11,0x1f,0xfa,0x30,0xd1,0x0,0xd3,0x5c,0x5c,0x88,0xec,0x2d, + 0x24,0x3e,0x7e,0xf9,0xe3,0xdf,0xfe,0xfa,0x1f,0x37,0x7f,0xdd,0x75,0x1f,0xe1,0x3c, + 0x5c,0xe3,0x9b,0x8f,0xbf,0x5d,0xda,0x9b,0xdb,0xee,0x7b,0x71,0xa4,0x19,0x79,0xf1, + 0xdb,0xf2,0xc8,0x5d,0x29,0x7c,0x86,0x70,0xbf,0xe6,0x91,0x10,0x16,0xac,0x69,0xd, + 0x4f,0x99,0x77,0xae,0x42,0x21,0x19,0x3,0x63,0x34,0xff,0x20,0x24,0x4b,0x8c,0xde, + 0x39,0x52,0x2,0x31,0x55,0x13,0x4c,0xf6,0x3a,0x6f,0xaa,0x3e,0xe7,0x53,0x56,0x9f, + 0xac,0x3c,0xa6,0xf5,0xf7,0x53,0x1c,0x3c,0x20,0xa8,0x42,0xdb,0xe8,0x13,0x90,0x49, + 0x6d,0x8,0xda,0xeb,0xda,0x28,0x2f,0x8,0xaa,0x44,0x69,0x73,0x4f,0x9,0x6a,0xa0, + 0x92,0xdf,0x5c,0xf5,0x9,0x5,0xdb,0xfa,0x8b,0x6e,0xef,0x2f,0x6d,0x94,0x5b,0xd7, + 0x5f,0xc6,0x1,0x8f,0xb9,0x9,0x65,0xec,0x50,0xa6,0xe3,0x80,0x26,0x4,0xa8,0x86, + 0x66,0xcd,0x8e,0x78,0xdb,0x77,0x68,0x6d,0xfa,0xee,0x45,0xbf,0x84,0xf2,0x24,0x93, + 0x59,0x99,0x79,0x61,0x5a,0x91,0xdd,0x15,0x43,0x59,0x49,0x52,0x7f,0x9e,0x14,0x3b, + 0x84,0x42,0x1b,0xb2,0x5b,0xc1,0xd,0x39,0xac,0x23,0x84,0x8c,0xc4,0x93,0x33,0xf4, + 0xd6,0x8f,0x36,0x8c,0x1b,0x46,0x9b,0xa9,0xb,0x23,0x7d,0xd4,0x4f,0xbd,0xe4,0x6b, + 0x3e,0xf5,0xd2,0x6,0x3c,0x19,0x94,0xee,0x39,0xe9,0x4b,0xc4,0xa7,0x4c,0x54,0x52, + 0x60,0x42,0xa3,0xed,0x9f,0x66,0x82,0xda,0xeb,0xd4,0x98,0xcf,0x8,0x28,0xc3,0x36, + 0xb8,0x6b,0x68,0xeb,0xbb,0x66,0x7d,0x63,0x62,0x6e,0x62,0xcc,0x8d,0x95,0xf6,0x2d, + 0x94,0x9e,0xb9,0x24,0xf9,0x7f,0xf6,0xae,0xae,0x37,0x8e,0x1c,0xbb,0xfe,0x95,0xc1, + 0x3e,0xc5,0x40,0xf5,0xc5,0xfd,0xfe,0xd8,0x3c,0x5,0xb3,0xc8,0x53,0x2,0xe4,0x2f, + 0x78,0x64,0x1b,0x59,0x60,0x91,0x1d,0x4,0x9b,0x87,0xe4,0xd7,0xc7,0xd5,0x96,0x3c, + 0x62,0xa9,0x5d,0xa2,0xca,0xac,0x2e,0xb5,0x6c,0x37,0x66,0xd4,0xdd,0x62,0x8b,0xcd, + 0xc3,0xc3,0xc3,0xcb,0xcb,0xcb,0x4b,0x2f,0x30,0x25,0xa9,0xe9,0xa4,0x6,0x94,0x59, + 0xf1,0xee,0x80,0xe5,0x27,0xea,0xb0,0x54,0xf8,0x4,0x5c,0x9e,0x69,0x5f,0x22,0xdc, + 0x9,0x54,0x4a,0x31,0xa6,0x93,0xa,0x88,0xbb,0x71,0x4e,0x27,0x4b,0x50,0x43,0x16, + 0x79,0xd7,0x2e,0x67,0x39,0x41,0xc2,0x49,0xda,0x45,0xad,0x32,0xb8,0xfa,0xe5,0x45, + 0x6d,0x63,0x17,0x3c,0xfd,0xfc,0xa7,0x47,0x9f,0x3f,0xc0,0x51,0x81,0xbc,0x65,0x51, + 0xcf,0x4,0xa4,0xe8,0xdc,0xa2,0x20,0x6,0xa1,0xcc,0x97,0x50,0x58,0x80,0xb0,0xfc, + 0xf8,0xa7,0xe6,0xe3,0x7d,0xc7,0x2,0x2c,0x20,0xca,0xdd,0x26,0x1,0x31,0xe5,0x8a, + 0x78,0x77,0xf0,0x18,0xee,0xd4,0xe6,0xcd,0x83,0xee,0x86,0x14,0x4f,0x38,0x63,0xd, + 0x2c,0xae,0x7c,0x9d,0xe6,0x1f,0x17,0xdf,0xb2,0xf9,0xc7,0xa5,0x3b,0x9a,0x7f,0x5c, + 0xbe,0x29,0x1d,0xf5,0xac,0x4,0xe6,0xcd,0x68,0xf,0x6f,0x25,0x21,0x5a,0x2d,0x9, + 0x6f,0x5,0x27,0xb8,0x67,0x79,0x34,0x9d,0x8,0xa,0x25,0xc5,0x72,0x22,0x70,0x74, + 0x67,0x95,0x59,0xe1,0x11,0x8,0xd9,0xd9,0x27,0xd1,0x2,0xca,0x20,0x1d,0x10,0x65, + 0xcc,0x85,0x3,0x42,0xb7,0x7e,0x3c,0xd8,0x32,0x87,0xc1,0xd6,0x3f,0xac,0x93,0x5f, + 0x92,0xab,0xee,0xc3,0xa7,0x4f,0x2e,0x5b,0x73,0xd5,0x71,0xea,0x15,0x73,0xd5,0x71, + 0x6e,0x1a,0x93,0x97,0xbb,0xc6,0xb5,0xe1,0x8f,0x66,0x9b,0x82,0x1a,0x81,0x49,0xf3, + 0xf1,0xfc,0x6e,0x6,0xa4,0xd9,0xe5,0xba,0xa8,0xa8,0x87,0x13,0x85,0x15,0x6c,0x13, + 0x89,0x0,0x22,0xf2,0xc4,0x8,0x19,0xce,0x9d,0xd4,0xfa,0x4e,0xe9,0xc,0xfe,0xb, + 0xc9,0x5f,0x2e,0x2,0xe9,0x1d,0x2b,0x67,0x4,0x31,0x93,0xf5,0x2a,0xc4,0xfe,0xe5, + 0x57,0xfa,0xf5,0x72,0x15,0xd9,0x53,0x85,0x53,0xe9,0x7a,0x15,0xf8,0xaf,0x65,0x98, + 0x17,0xab,0x8,0xec,0xa9,0x22,0x2c,0x9e,0xab,0x2,0xf3,0x5b,0xb3,0x40,0xf0,0x77, + 0xcf,0x31,0x88,0xf1,0xad,0x19,0x2c,0x74,0x25,0xd1,0xf7,0x60,0xe3,0x58,0x57,0x8d, + 0x63,0x76,0xfe,0xd3,0xd8,0x4c,0xfd,0x4,0x24,0x29,0xc5,0x35,0x9d,0x48,0xfc,0xf3, + 0xff,0x8c,0xc1,0x98,0x45,0xdb,0x55,0x46,0x2b,0xeb,0x97,0x55,0xbf,0x9d,0x14,0x9a, + 0x19,0xe3,0x7b,0xcf,0xdb,0xce,0x5f,0x4c,0x19,0x10,0x55,0x73,0xfe,0x62,0x23,0xcc, + 0xc1,0xb2,0x55,0x73,0xd0,0xb7,0xf8,0x35,0x28,0xa,0x28,0x98,0x75,0x71,0x17,0x9c, + 0x40,0x58,0xfa,0x22,0xd2,0x37,0x4,0x2a,0x31,0xa8,0x31,0xc4,0xdc,0x40,0x35,0x89, + 0x66,0x42,0xbf,0xc2,0x18,0x25,0xee,0x88,0x51,0x62,0xdb,0x33,0x86,0x91,0xed,0x3a, + 0x31,0x8c,0xed,0xa8,0xee,0xe7,0x2a,0xa,0x90,0xc5,0x74,0x12,0x85,0xb2,0x7a,0xb7, + 0x3a,0x9a,0x35,0x9b,0x41,0x66,0x4,0x55,0x65,0xed,0xc,0x57,0xcd,0xe2,0x95,0x8, + 0x10,0xd1,0x7,0x4d,0x4c,0x40,0xd6,0x7d,0xf5,0xc1,0xb2,0x1b,0x6,0xc4,0x32,0x91, + 0xcb,0x7b,0xf7,0x9e,0xa0,0x62,0x36,0x1e,0x76,0xd7,0x2,0x2b,0x3f,0x4f,0x61,0xdd, + 0x90,0xfe,0x36,0x74,0x7e,0x6c,0x48,0x59,0xca,0xea,0x3,0x52,0x96,0x36,0xb5,0xf5, + 0x51,0xba,0xf5,0xf8,0x24,0xb8,0x70,0x4a,0x2b,0xec,0x92,0x50,0xa4,0xe8,0xbd,0x3e, + 0x10,0x9e,0xf4,0xdd,0xaa,0xbb,0xe5,0xee,0x62,0x5d,0x77,0x2b,0x75,0x6d,0xb1,0xe8, + 0x15,0x57,0x3d,0x50,0x5d,0x16,0x7d,0x7,0x64,0xa,0x5a,0x16,0xd1,0x42,0x46,0xf4, + 0xbd,0x60,0x55,0x8b,0xd6,0x43,0x35,0x2d,0x5a,0x44,0x3,0x70,0x92,0x5c,0xc3,0x29, + 0xf7,0x59,0xf9,0xc8,0x6d,0x3b,0x34,0x64,0x83,0x43,0xa3,0x63,0x8e,0xfa,0x46,0x65, + 0x3e,0x2c,0x7a,0x96,0xd9,0x9f,0x17,0x3e,0xce,0xd,0x79,0xbf,0xad,0x70,0x53,0xae, + 0x66,0x96,0xd,0x19,0xad,0xef,0xfc,0xa3,0xbf,0x40,0xf8,0x5e,0xa3,0x11,0xc5,0xd8, + 0xd1,0x11,0xcf,0xc7,0xdb,0x93,0x8e,0xba,0x3,0x89,0x59,0x9f,0xa9,0x2d,0x67,0xca, + 0x5e,0x35,0xd8,0x9b,0x49,0x6f,0x5a,0x26,0x6,0x6c,0x7b,0xdf,0xb9,0x33,0x62,0x97, + 0x81,0xb4,0x75,0x1b,0xbc,0x5d,0x73,0xac,0xaf,0x4f,0xda,0xb5,0xcc,0xfa,0xba,0x67, + 0xfb,0xe0,0x20,0xea,0x5f,0xbf,0x1d,0xef,0xcd,0xdc,0xb0,0xd0,0x9e,0xbd,0x9b,0x8, + 0x46,0x91,0x16,0x23,0xbc,0x97,0x58,0x7,0x78,0x2f,0x51,0x5e,0xe0,0xbd,0xfc,0xed, + 0xfd,0x77,0x79,0x2f,0xd1,0xae,0xe9,0xbd,0xc4,0x18,0x26,0x61,0x54,0xf1,0x2,0x94, + 0xee,0x7e,0xfb,0xf4,0xa9,0xee,0xb6,0xa2,0x44,0x55,0x2f,0x42,0xc9,0xed,0x8e,0x82, + 0x36,0x1e,0x70,0x63,0xa4,0x81,0x20,0xd1,0x4b,0x40,0xe2,0x8f,0xbf,0xbd,0xff,0x6d, + 0x3b,0x48,0xf2,0x22,0x90,0x82,0x3e,0xa0,0xdc,0x6d,0xa5,0x12,0x95,0xd,0x73,0x84, + 0x53,0xd4,0x8f,0xeb,0x8,0xa7,0xa4,0xbd,0x1d,0xe1,0x94,0xb2,0xb7,0x23,0x9c,0xd2, + 0xf6,0x76,0x84,0x53,0xc6,0x8e,0x8e,0x70,0xca,0xea,0xf4,0xc2,0x8c,0x77,0x84,0x2f, + 0x45,0x23,0xa2,0x35,0x40,0x58,0x60,0x11,0x77,0xe0,0xad,0xdd,0xc7,0x8,0x6d,0xcc, + 0x41,0x78,0x77,0x24,0xea,0x95,0xbd,0xfc,0x14,0x36,0xd2,0xf9,0xbe,0x97,0x89,0x72, + 0x3c,0x4c,0xd2,0xf7,0xd5,0x6,0x0,0x30,0xac,0x33,0x8e,0x80,0x89,0x76,0xdc,0x33, + 0xc2,0x9c,0x4e,0xcc,0xdb,0x90,0xb2,0x45,0xa,0x37,0x1,0x16,0x92,0x38,0x1c,0x30, + 0xaf,0x9b,0xe4,0xd5,0xb5,0x25,0xd8,0xa3,0xf,0xa6,0x1,0x42,0xbd,0x67,0x5c,0x98, + 0x6b,0xac,0x37,0xd3,0xda,0x6,0x84,0x2e,0x1a,0x20,0xe,0xe6,0x5e,0x61,0x8b,0xe5, + 0xb3,0x2e,0xda,0x51,0x2,0x54,0x55,0xc9,0x7d,0xb0,0x1d,0xdb,0xe8,0x4e,0x69,0x1d, + 0xd,0xcd,0x11,0xa3,0x9d,0x7e,0xf4,0xd1,0xfe,0x34,0x91,0xeb,0x2a,0x37,0xac,0x9a, + 0x5e,0xf,0x5,0x14,0xf5,0xc5,0x59,0x68,0x7,0x32,0xe5,0x45,0x72,0xab,0x30,0x28, + 0xb,0xc2,0xd6,0x7,0x97,0x2,0x2c,0x96,0xc2,0xaf,0xd6,0xd0,0xb0,0x78,0x85,0x14, + 0x49,0x84,0xe5,0xc,0xca,0x6,0xa8,0x25,0x74,0x4d,0xb2,0x38,0xae,0x93,0xc5,0x96, + 0xc9,0xcb,0x2c,0x2b,0x2b,0x96,0x77,0x90,0xa1,0x8a,0xb0,0x34,0x6c,0xf1,0x80,0x90, + 0x2a,0x5f,0x4c,0x6,0xa0,0x66,0x85,0x9d,0x64,0x39,0x60,0x5a,0x34,0x39,0x60,0x5a, + 0x3c,0xa0,0x63,0x69,0x3d,0x93,0x63,0x9b,0xf5,0xb1,0x95,0x81,0x84,0x92,0x12,0xa9, + 0xa6,0x3d,0xe4,0x10,0x86,0x61,0x9d,0xc6,0xd7,0x7a,0xc6,0xc8,0x7d,0xa1,0x29,0x5b, + 0x85,0x46,0x87,0x34,0x61,0x29,0xb2,0x61,0x2d,0xb4,0xa,0x1c,0x96,0xf9,0x22,0x68, + 0xf,0x18,0xe,0xba,0xc9,0x4a,0xc4,0x5c,0x1d,0xc,0xc4,0xcb,0xfb,0x16,0xc0,0x28, + 0x2d,0xbb,0x5,0x18,0x21,0x9d,0x50,0x5d,0xee,0x97,0x30,0x4,0x2a,0x4e,0xe9,0xf1, + 0xee,0xd0,0x41,0xa5,0xd6,0x7,0xd6,0xc6,0x76,0x2,0x39,0x49,0xd3,0xda,0x6,0x75, + 0x66,0x1,0xe1,0x20,0x6e,0xb0,0x37,0x81,0x48,0x25,0x93,0x85,0x1e,0x39,0xb8,0xb5, + 0x34,0xb3,0x0,0x8e,0x62,0xe1,0x75,0x62,0xef,0x7a,0xbd,0x89,0x6a,0xad,0x4e,0xe5, + 0xda,0xc6,0x9c,0x4,0x3,0x32,0xe6,0xe2,0xf4,0x94,0x3b,0x88,0xaa,0xe1,0xa3,0xe9, + 0xf5,0x62,0xd9,0x4f,0x4d,0xd9,0x47,0x93,0xae,0x63,0x97,0xdf,0xd5,0x92,0x9c,0xd3, + 0x26,0x82,0xf0,0x8,0x8f,0xf9,0xec,0xf4,0x89,0xc1,0x2b,0x9d,0xb5,0xe6,0x57,0x8, + 0x99,0x91,0x95,0x3c,0x9,0x41,0x31,0xa5,0xfa,0x64,0x50,0x4a,0x85,0xa5,0xaf,0xd7, + 0x33,0xa3,0xf4,0xd3,0x33,0xd3,0x1,0x93,0xd4,0x4f,0xbb,0x72,0xe3,0x1c,0x2b,0xb1, + 0x57,0xe0,0x6d,0x5f,0x97,0x1c,0xba,0x2,0x93,0x3,0xa6,0x89,0x15,0x41,0xdf,0x67, + 0x12,0xe9,0xda,0xbc,0x5f,0xe1,0x69,0x4b,0xe8,0x57,0xbf,0x8d,0x4f,0x22,0xeb,0x4a, + 0xf2,0x33,0xda,0xe1,0xb,0x4c,0x34,0x0,0xa6,0x9b,0x8a,0x88,0x21,0xae,0x5e,0xc9, + 0x7c,0x8b,0x8d,0x8f,0xfd,0x1b,0xdf,0xff,0x25,0xc7,0x43,0xb4,0xde,0x78,0x1b,0xd6, + 0xf8,0x1f,0x4d,0x4e,0xf9,0xa7,0x9c,0x76,0xc1,0xb4,0xbb,0x9c,0xb6,0xae,0x9d,0x75, + 0x5f,0x45,0xeb,0xd7,0x58,0xfa,0x3f,0xf6,0xbe,0x24,0x84,0xe8,0x9a,0x42,0xbb,0xe2, + 0xe2,0x6b,0xdd,0x1e,0xad,0x93,0x70,0x44,0x33,0xe3,0xe7,0xd0,0xe8,0x18,0x1a,0x64, + 0xfb,0xe,0x8d,0x76,0xe7,0xab,0xa1,0x42,0xd7,0x4e,0x1a,0x9d,0xcb,0x8d,0x61,0x84, + 0xf4,0xee,0x1a,0xee,0x3c,0xc9,0xe,0x86,0x66,0xbd,0xd1,0xd4,0xdb,0xe8,0x9b,0x1e, + 0xed,0x58,0x3f,0x47,0x7b,0xc7,0x68,0xc7,0xab,0x8a,0x62,0x1b,0xf1,0xd2,0xa2,0x35, + 0xd6,0xba,0x6a,0x3,0x75,0x46,0x2,0x66,0x3f,0x79,0xd5,0x3,0xd3,0x9e,0x76,0xe8, + 0xfe,0x9e,0xc3,0x81,0x9d,0xb1,0xe,0xd3,0x68,0x3b,0x74,0x13,0x4c,0xdb,0x85,0x7a, + 0x4d,0x82,0xb1,0xea,0x48,0xe,0xc,0xe,0x1,0x6f,0x43,0xcb,0x97,0x1,0xe8,0x6d, + 0x8c,0xfa,0x5a,0x97,0x63,0xc6,0xb3,0xa7,0xe0,0x30,0xab,0x27,0x66,0x7c,0xe3,0xa9, + 0x37,0x2c,0xea,0xc,0x17,0xbf,0x1c,0x6b,0xde,0x55,0x85,0x74,0x86,0x8b,0x5f,0x8e, + 0x35,0xef,0xaa,0xc2,0xfa,0xc2,0xc5,0x2f,0xc7,0x9a,0xf7,0x55,0x11,0xdd,0x31,0xe3, + 0x6d,0x15,0x34,0xec,0xd8,0x3e,0x26,0x75,0xd0,0x45,0x2e,0x52,0x61,0xc3,0x89,0x92, + 0x1e,0x54,0xd2,0x2e,0xb6,0x78,0xc3,0x89,0x92,0x61,0x87,0x69,0x30,0xec,0x79,0x94, + 0x22,0xfa,0x51,0x6a,0xf,0x27,0x6d,0x41,0x29,0x6a,0x15,0xa5,0xfe,0xc3,0x49,0xe3, + 0x40,0xf2,0xea,0x0,0x89,0xfa,0x41,0x6a,0xcf,0xb9,0x6d,0x2,0x49,0xb6,0x66,0x80, + 0xe8,0xa6,0xd2,0x61,0x7b,0x75,0xd8,0x1d,0x61,0xb9,0x3d,0x1d,0xd0,0xf8,0x7d,0xc0, + 0x3,0x42,0x51,0xd1,0xf2,0xc6,0xb3,0x3b,0xdd,0xfd,0xed,0xaf,0xbf,0xff,0xc7,0xfb, + 0x7f,0xfc,0xe7,0xc3,0xaf,0x1f,0x5e,0x3f,0x6f,0x36,0x3f,0x94,0xc,0x7c,0x9c,0x61, + 0xe8,0xf7,0xcf,0xef,0x3c,0x1a,0x3,0x7f,0xff,0xf0,0xd7,0xdf,0x3f,0xff,0xf7,0xe7, + 0xff,0xfa,0xfb,0x87,0x8f,0xff,0xf8,0xdf,0xdf,0x3f,0x7e,0xfe,0x93,0x77,0xf,0xff, + 0x16,0x7,0x96,0xe6,0x4f,0x6,0x36,0x99,0x88,0x3e,0xbf,0xfb,0xef,0xbf,0x10,0x4e, + 0xf5,0xcb,0xaf,0xbf,0x14,0xa8,0xd6,0xe7,0x67,0x35,0xcd,0xcf,0xe6,0x9f,0x84,0xbf, + 0xfc,0xdb,0xfc,0x83,0x72,0xfe,0xf5,0xfc,0x13,0xcc,0xf8,0xbe,0x20,0x51,0xcd,0x9f, + 0x24,0xaa,0xcf,0x85,0x8,0x19,0x4,0xe3,0x5c,0x24,0x63,0xfe,0x6b,0x84,0x33,0xac, + 0x69,0xf6,0xf5,0x3d,0x42,0x39,0x3f,0x57,0xb1,0xaf,0xcf,0x29,0x78,0xfe,0xf4,0xfc, + 0xa,0xcf,0x1f,0x92,0xfb,0xca,0xcf,0x1f,0x37,0x9e,0xce,0xcf,0xa6,0xb9,0x8a,0xf3, + 0xb7,0xfc,0xbf,0x5f,0x9e,0x8e,0xff,0x4f,0x9f,0x6f,0x6a,0xf9,0xf3,0xff,0xfc,0xf7, + 0xdf,0xfe,0x69,0x79,0x69,0x6d,0x61,0xbd,0xfb,0xe7,0xf9,0xb7,0x7f,0x8,0xcf,0x23, + 0x25,0x78,0x40,0xf7,0xca,0x19,0x92,0xd1,0xf8,0x6,0x32,0x24,0xf7,0x26,0x43,0x5e, + 0xb9,0x21,0x68,0x94,0xb2,0x2e,0x7b,0x55,0x8c,0x56,0x95,0xd5,0x70,0x71,0xe3,0x16, + 0xd8,0x32,0xfd,0x81,0x63,0x4a,0xb5,0xf1,0xf7,0x6d,0xb1,0x59,0x9,0x29,0x0,0x3, + 0x49,0x5f,0x6b,0x50,0x2d,0x6a,0xae,0xdf,0x8d,0xbd,0xbc,0x48,0x7b,0xfd,0xd6,0xed, + 0xf6,0x8a,0xee,0x5e,0x8a,0xf6,0x5f,0xc2,0x7d,0xc0,0xd4,0xa1,0xed,0x72,0xfb,0xa4, + 0xda,0xb0,0x3d,0xb5,0xe1,0xf9,0x49,0xb1,0x61,0x78,0x35,0x8a,0xce,0xb8,0x3f,0x24, + 0x43,0xd,0x10,0x14,0x5c,0x7,0x47,0x5f,0x4,0x8e,0xb7,0xe0,0x10,0x62,0x83,0x8e, + 0x8e,0x47,0xe7,0xc8,0x68,0x22,0x54,0x6e,0x4d,0x28,0x2,0x4f,0xc2,0xf6,0x3c,0x87, + 0x23,0x98,0x94,0x34,0x57,0xf8,0x35,0x45,0xdb,0x60,0x5c,0x24,0x1c,0x8a,0x52,0x12, + 0x8,0xb1,0x4d,0x78,0x68,0x78,0x2e,0x2a,0x8e,0x6e,0x14,0xb2,0xb8,0x4d,0xd8,0x1a, + 0xb1,0xe,0x5e,0xe1,0x62,0xdc,0x6a,0x39,0x3f,0x8f,0x7d,0x39,0x20,0x92,0x8a,0x1e, + 0xa,0x93,0xe4,0x55,0x60,0xe2,0x7b,0x9c,0x5a,0xa6,0x96,0xb7,0x30,0xe9,0x3d,0x98, + 0xd,0x4e,0xc1,0xc7,0x2,0xe4,0x23,0xe,0x8,0x6c,0x3e,0x7f,0x91,0xd8,0xe,0xd8, + 0x2,0x4e,0x72,0x3f,0x98,0x34,0xfa,0xc3,0x61,0x62,0x4a,0xbc,0x8e,0x9,0xff,0xc4, + 0xe4,0x9,0x26,0xf8,0x73,0xec,0x2c,0x31,0xe1,0xfc,0x89,0xc9,0x13,0x4c,0x7e,0x40, + 0x8d,0x25,0xac,0x55,0x4c,0xb6,0x5d,0x9f,0xa8,0x6,0x49,0x19,0xa4,0x8b,0x79,0x16, + 0x30,0x99,0x2b,0x9b,0x66,0x5f,0x2a,0x7c,0x7f,0xf0,0x57,0xcd,0x50,0xe,0x33,0x8a, + 0x97,0x2b,0x6b,0x2f,0x5f,0x87,0x6a,0x61,0x14,0x23,0xb6,0xc6,0x58,0x6b,0x65,0xd4, + 0x13,0x13,0xb8,0x7b,0x25,0x7d,0x6d,0x97,0xc,0xe3,0xee,0x2e,0x19,0xca,0x4,0x74, + 0x75,0x9b,0x4e,0x4a,0xa0,0x84,0x8a,0xf4,0x1a,0x5c,0x32,0x6b,0xfd,0x8d,0xf9,0xfc, + 0x96,0x0,0x5d,0xde,0x44,0xc3,0x2f,0xff,0x36,0xa4,0x6b,0xbe,0xff,0x68,0xd7,0x5e, + 0x25,0xf1,0x85,0xca,0x69,0x7b,0xe5,0xd8,0x54,0xde,0xbd,0x61,0xd0,0xc3,0xa,0x4a, + 0x54,0xbe,0x27,0xc5,0xc3,0x8b,0x13,0x21,0x48,0x61,0xe6,0xf9,0x99,0xa5,0x6b,0x6f, + 0x56,0xb1,0x76,0x81,0x83,0x40,0xec,0xc8,0xed,0x5a,0xc8,0x14,0x2a,0x5,0x5d,0x5a, + 0x61,0xe,0x28,0x62,0x24,0x5e,0x46,0x92,0x8a,0x70,0x68,0xae,0xe,0x7f,0xf4,0xbe, + 0xfb,0x6a,0x9d,0x47,0x84,0xb9,0x68,0x80,0x95,0x51,0x2d,0x2,0x2c,0x40,0x9d,0x39, + 0xbc,0x9a,0xf1,0x20,0xa,0x1e,0xe1,0xd2,0xe4,0x88,0xbe,0x50,0xf6,0xae,0x29,0xfb, + 0x7c,0xb7,0x9d,0x8,0x8c,0x28,0xdc,0xa7,0x93,0x43,0xba,0x85,0xd2,0xc7,0x93,0x4c, + 0xa,0x94,0xc1,0x41,0xf3,0xe5,0xbf,0xa7,0x2,0x22,0x74,0xf1,0xf9,0x17,0x19,0x40, + 0x48,0xa9,0x53,0x40,0x78,0x8a,0xd,0x88,0x95,0x41,0xd4,0xae,0x69,0x4e,0xd8,0x46, + 0xa0,0x2e,0xa0,0xe8,0x99,0xd9,0xa,0xb,0x23,0xb8,0x52,0x66,0x3,0xba,0x32,0x38, + 0x85,0x9,0x35,0xa0,0x3f,0x2d,0x7b,0xd7,0x94,0xed,0x19,0x2b,0xc6,0x48,0x61,0x53, + 0x42,0x4a,0xe9,0xfd,0x9,0x50,0x84,0x54,0x11,0xa3,0x89,0x4,0x22,0x73,0x22,0x2c, + 0x20,0xc6,0xf3,0xfe,0x8d,0x1a,0x8,0xcb,0x10,0xb0,0xb9,0x8b,0xe2,0x6c,0x31,0x88, + 0xe2,0xa1,0xae,0xa8,0xd,0xda,0x56,0x60,0x45,0x86,0xad,0xe4,0x97,0x81,0xa1,0xa5, + 0x71,0x83,0xf6,0xd3,0xb2,0x77,0x4d,0xd9,0xe7,0xd1,0x76,0x60,0xce,0x50,0x3a,0x83, + 0x2c,0x90,0x6c,0x28,0xfc,0xf1,0xa4,0x93,0x42,0x21,0x53,0xce,0xb4,0x46,0x88,0x4a, + 0x27,0x9a,0x3c,0xa1,0x50,0x45,0x26,0x3,0x2d,0x41,0x1f,0x2,0x39,0xf6,0xf1,0x9b, + 0x68,0xc,0xbf,0x2b,0xc,0x15,0xad,0x81,0xdc,0x21,0x2,0xc9,0xab,0x85,0x5c,0x3, + 0x24,0x30,0x33,0x1b,0xc8,0x13,0xb4,0x4c,0x88,0xb9,0x25,0x78,0x1,0x62,0x65,0x6a, + 0xa7,0x89,0x10,0xe8,0xb3,0xea,0x43,0x26,0xa2,0xea,0xc,0x72,0x0,0xa6,0x25,0xd5, + 0x8c,0x3d,0x82,0x66,0x7a,0x4c,0xe,0x89,0xae,0xa9,0x73,0xcf,0xa8,0x69,0xd1,0xf7, + 0x3,0xee,0x55,0xd9,0x5,0x38,0xf3,0x98,0x80,0x7e,0x6,0x33,0x4d,0x5d,0xb8,0xa0, + 0x34,0xa1,0x48,0x10,0x5b,0x77,0x1e,0x43,0x5,0x15,0x4a,0x9b,0x46,0xe3,0x5c,0x56, + 0x3d,0xa2,0x1b,0xdb,0x98,0x1,0xb,0x34,0x9d,0xa1,0x25,0x9f,0x9a,0x17,0xf,0x45, + 0x1c,0x92,0xc8,0xee,0x67,0x61,0x62,0xaf,0x2d,0xe0,0xb6,0xed,0xf6,0x2a,0xef,0x3, + 0x97,0x86,0x8,0x8,0x41,0xb0,0x3a,0x55,0x6b,0x7,0x32,0x78,0xa8,0x60,0x2c,0xe4, + 0xba,0x0,0x89,0x2a,0x1a,0xb9,0xbe,0x50,0xf6,0xae,0x2d,0xdb,0x8f,0xb8,0x82,0x91, + 0x90,0xd8,0x19,0x64,0x7,0x37,0x8d,0x9c,0x5f,0xc4,0x84,0x40,0x16,0xf9,0x7,0xe0, + 0x1,0x82,0x48,0x64,0x43,0xd8,0xac,0x7d,0x80,0x63,0xc,0x62,0xb3,0xb8,0x5,0x7b, + 0x2d,0xd9,0x1c,0xc2,0xc1,0xad,0xad,0x85,0xe7,0xf6,0xa2,0x96,0x2f,0xe9,0xac,0x95, + 0xe6,0xbc,0x59,0x2a,0x9a,0xe7,0xf,0x25,0x1c,0xa2,0xdc,0x58,0xbe,0xf0,0x99,0xd9, + 0x86,0xd0,0x99,0xfb,0xd0,0x15,0x1b,0x85,0x6e,0x59,0xda,0x2,0x5c,0x7,0x34,0xa, + 0xf5,0x6,0x5c,0x1,0xac,0xaa,0xca,0x68,0xb1,0x5d,0x96,0x5d,0xc7,0x36,0xab,0x64, + 0x3a,0x19,0xa0,0x28,0x17,0x9d,0x89,0x6b,0x80,0xce,0x64,0xd9,0x48,0x45,0x0,0x69, + 0x91,0xd,0x96,0xa,0xec,0xc3,0xd6,0xe8,0xad,0x48,0x5,0x42,0x3a,0x92,0xeb,0x74, + 0x62,0x48,0x8c,0xca,0x7b,0xa9,0xd0,0xc,0x97,0x7c,0x2c,0x15,0xac,0x60,0xa8,0x49, + 0x63,0xb5,0x22,0x3b,0x67,0xbe,0x90,0x9b,0x64,0x73,0x54,0x9a,0x4f,0xa,0x55,0x5a, + 0x1e,0x67,0x6c,0x4f,0x17,0xe9,0x7c,0x22,0x11,0x20,0x51,0x1a,0x4b,0xe8,0xf4,0x1f, + 0x90,0xd0,0x26,0xaa,0x3e,0x9,0x64,0x54,0x32,0x3d,0x80,0x9e,0xc2,0xe8,0xfa,0x98, + 0xd1,0x27,0x22,0x83,0x22,0x1d,0x4d,0x69,0xed,0xc4,0xbc,0x7e,0xae,0xc9,0x47,0xad, + 0xc9,0xbd,0x92,0x7b,0xd7,0xe4,0x23,0x51,0x8f,0x3,0x51,0xa7,0x29,0xc0,0x42,0x2c, + 0xfc,0x4c,0xea,0x13,0x81,0x84,0x9a,0xcd,0x14,0xcf,0x89,0xc1,0x31,0x91,0xf4,0xbc, + 0x86,0xc,0xf0,0xa,0xb5,0xd9,0xf2,0x9b,0x31,0x67,0xf,0xf7,0x21,0x98,0x63,0x1f, + 0xe6,0x28,0x6f,0x52,0x5d,0x18,0xa9,0xbe,0xaa,0xb,0x85,0x8b,0x2d,0xd4,0xc5,0x81, + 0xdc,0xe7,0x67,0x1,0xe6,0x6e,0x32,0x2,0xf3,0xc8,0x5e,0x75,0xb9,0xed,0x9,0x33, + 0x85,0xc3,0x1e,0xd0,0x45,0x43,0xae,0xb,0x13,0xa6,0xe4,0xc,0x2f,0x23,0x58,0x14, + 0xd1,0x88,0x9,0x33,0xfc,0xc7,0xb6,0x0,0x91,0xd8,0x1f,0x4c,0xc0,0x10,0xc6,0x5a, + 0x98,0x80,0x61,0x89,0x34,0x98,0xd1,0xfa,0x56,0x4d,0xc0,0x76,0x41,0xc3,0xac,0xa5, + 0x67,0x6c,0x2f,0x12,0x3a,0x40,0x91,0x45,0x62,0x30,0x9f,0xb9,0x97,0xcf,0x37,0xbc, + 0x16,0x9f,0xe5,0x18,0x89,0x9d,0x65,0xb6,0x2e,0x4e,0x8f,0x5f,0x7c,0x2d,0x11,0x40, + 0xc4,0xaa,0xf7,0x72,0xe1,0x6c,0x39,0x4,0x5e,0xec,0x5d,0x8c,0xbf,0x45,0xdf,0x12, + 0x12,0xc7,0x57,0xdf,0x92,0xa2,0x98,0x3f,0x56,0x8b,0x0,0x74,0xd,0x8c,0xb1,0x6a, + 0xe1,0xd9,0xeb,0x5c,0xba,0x6d,0x57,0xa9,0x97,0x58,0x7e,0x91,0x8b,0xe6,0xc5,0x7d, + 0x91,0x7,0x74,0x7,0xcb,0x85,0x8f,0xf4,0x95,0x1e,0xef,0xf9,0xdf,0x2c,0x21,0x4, + 0x24,0x1a,0x7c,0xbf,0xd5,0xa2,0x99,0xee,0x35,0x43,0x5e,0x6e,0x38,0xff,0x5a,0xc0, + 0xcb,0x90,0x86,0x10,0x5a,0x7b,0x7d,0xff,0x6f,0x6a,0x7f,0x2b,0xbf,0x2c,0x4d,0x8, + 0x34,0x4c,0x63,0xde,0x61,0x21,0xc8,0xac,0x20,0xfd,0x63,0x7b,0x8b,0x75,0xf2,0x2, + 0x62,0x56,0x99,0xc,0x34,0x3,0xdd,0x87,0x40,0xce,0xbd,0xfb,0x5b,0x6f,0x67,0xff, + 0x96,0x2a,0x85,0xa6,0x2,0x25,0x4e,0xf6,0x87,0xfd,0xdb,0x32,0x31,0xfd,0xb2,0x7f, + 0xab,0xc1,0x13,0x91,0x1,0x65,0xf2,0xfd,0xe,0x2e,0xd,0x82,0x1b,0x77,0xdf,0xc1, + 0x1d,0x9d,0x66,0x94,0x2a,0x12,0x79,0xc2,0xa9,0x18,0x92,0x67,0x1c,0x9a,0xb4,0xc9, + 0x2,0x45,0xcc,0x58,0x6d,0x97,0x92,0x41,0x60,0x49,0xd3,0xa3,0x4f,0x8b,0xde,0xfd, + 0x51,0x94,0x1e,0xbd,0xdb,0x94,0x5d,0x43,0xd3,0x3a,0x27,0xc0,0xa2,0x1d,0x2e,0xd4, + 0xf4,0xb2,0x67,0x6f,0xa5,0xf7,0x32,0xdd,0x70,0x26,0x59,0x4b,0xf9,0xfd,0xcb,0xcf, + 0x24,0x7b,0xd9,0x86,0x5b,0xe9,0x3f,0xea,0x87,0xbb,0xbb,0x6a,0x6b,0x1b,0x76,0x55, + 0xa4,0x97,0xda,0xf3,0x20,0x69,0x74,0x81,0xd4,0x7f,0x99,0xfe,0x7a,0x6d,0xf5,0x72, + 0x90,0xd8,0xe6,0xc7,0x5e,0x39,0x0,0xbc,0x44,0x9f,0x47,0x49,0xfc,0x9a,0x28,0x49, + 0xbe,0x1c,0xa5,0xf7,0x1f,0xe7,0xc7,0xa2,0xb6,0x81,0x28,0x71,0xc7,0x80,0xe3,0xd, + 0x3,0xe,0xcf,0xff,0xb6,0xa0,0xc4,0x1b,0x6,0x1c,0xc9,0xfc,0xd8,0x8f,0x4b,0xe4, + 0x2d,0x4a,0x1b,0xe2,0xc,0xcd,0x50,0xac,0x42,0x7a,0x6f,0x69,0xf5,0xa2,0x5c,0xc2, + 0xd5,0x81,0xf8,0xc6,0x5b,0x5a,0xbd,0x18,0x7,0xc2,0x85,0xcf,0x93,0x8a,0x78,0x5, + 0x88,0x4d,0xc8,0x76,0xb1,0x8b,0x74,0x54,0x8a,0x89,0x71,0x70,0x61,0x87,0x52,0xa1, + 0x8f,0x82,0xcb,0x53,0xd4,0x84,0xbd,0xb,0x2e,0xcc,0x57,0x7,0x57,0x96,0x3f,0xb, + 0x57,0x56,0xbe,0x1c,0x2e,0xfe,0x30,0x3f,0xba,0x25,0xab,0x5f,0xf5,0x2e,0xc6,0x4b, + 0xdb,0xc5,0x51,0x88,0xd8,0xd5,0x2b,0xdc,0xd1,0x2b,0x9d,0x82,0x3c,0xac,0x57,0xf0, + 0x3b,0x25,0x92,0xba,0x95,0x31,0x8b,0xaf,0x77,0x15,0xba,0x67,0xe9,0x38,0x94,0x82, + 0xff,0x34,0x40,0xd1,0xfb,0x50,0xa,0xed,0xe0,0x52,0x86,0x5f,0xa4,0xa7,0x4a,0x58, + 0x37,0xa1,0xda,0x61,0xbe,0x47,0x3,0xc1,0x92,0x15,0x55,0xf2,0x72,0x4b,0xb3,0xa7, + 0xa5,0xf9,0x8d,0xec,0x5f,0xae,0xca,0x82,0xb1,0xa1,0xb5,0xa0,0x95,0x28,0xc5,0xbc, + 0x9b,0x4a,0x64,0xd8,0xc5,0x16,0x27,0x77,0xb5,0x58,0x2f,0xfe,0xd1,0xa2,0x64,0x2f, + 0xe6,0x1,0x2d,0x1e,0xdf,0xd1,0xe5,0xa8,0x49,0xc9,0x97,0x9b,0xed,0x5d,0xcd,0xce, + 0x1,0xf2,0x38,0x78,0xd2,0xf2,0x8e,0x49,0xcb,0x73,0x43,0x46,0x32,0x99,0x1f,0x1b, + 0xec,0xec,0xc,0x1c,0x30,0xb5,0xf,0x9e,0x44,0x94,0x9f,0x47,0x49,0x75,0x1d,0xa5, + 0xe3,0xb5,0x4a,0xe5,0x1b,0xa3,0x56,0xbb,0xe8,0xab,0x79,0x59,0x1,0xdd,0x32,0x89, + 0xf,0x52,0x65,0x60,0xd,0xb4,0x4c,0xbe,0xdc,0xe4,0x70,0x96,0xa8,0x88,0x8b,0xcd, + 0x36,0xec,0xa8,0xbf,0x5b,0x78,0x2e,0xd7,0x1f,0x99,0xea,0xa4,0x97,0xeb,0xef,0x12, + 0x4b,0xd3,0xe,0x5,0xee,0x56,0xf3,0xc1,0x2d,0xee,0x9f,0x19,0xcc,0xaf,0xb8,0x6a, + 0x4c,0xcb,0x71,0x83,0x5f,0x3a,0x24,0x52,0xb6,0xd8,0xf5,0xe9,0x45,0x5b,0x1c,0x36, + 0xa9,0x1b,0x24,0x52,0xf9,0xfd,0x7,0x91,0x6e,0x89,0x1c,0x94,0xad,0x57,0x99,0xc1, + 0xc5,0x89,0xda,0x8d,0x44,0x62,0x88,0xb4,0x6a,0x37,0x12,0x15,0x11,0x52,0xcd,0x9a, + 0x64,0x52,0x4d,0xd9,0x95,0x3e,0xea,0xdb,0x4e,0x22,0x97,0x7d,0x53,0x15,0xaf,0x7e, + 0x49,0xa6,0x6,0x1b,0x53,0x30,0x67,0x6b,0x90,0x21,0x64,0xc0,0xd4,0x6,0x97,0x27, + 0xe5,0x68,0x2e,0x47,0x90,0xca,0xd9,0x77,0x62,0x5b,0x20,0xa8,0x90,0x7c,0x62,0x7, + 0x14,0x21,0xe2,0x77,0xcf,0x53,0x9a,0x65,0x3,0xa5,0x51,0x3f,0xbd,0xa7,0x5,0xc9, + 0x7a,0x18,0xcd,0x76,0x51,0x4c,0x88,0xf2,0x19,0x56,0xbf,0xcf,0xbb,0xf,0xb5,0xa5, + 0xc2,0x78,0xf9,0x10,0xfa,0xed,0xfd,0x47,0xfa,0xf4,0xa9,0xd7,0x7d,0xbe,0x13,0x89, + 0x48,0x1a,0x12,0x39,0x42,0xb2,0xf2,0x13,0x12,0x95,0x86,0x34,0x2c,0x7a,0x52,0x90, + 0xbe,0x14,0x24,0x4c,0xdd,0x91,0x45,0x64,0x57,0x64,0x11,0xc5,0x95,0x59,0x44,0x75, + 0xa3,0x2c,0x42,0x6b,0x58,0x24,0x9,0x81,0xb9,0x94,0x22,0x82,0xe4,0xe6,0xba,0xac, + 0xb,0x5,0xbf,0xe4,0x9a,0x30,0xad,0xa8,0xd8,0x91,0x46,0x18,0x57,0xa4,0x11,0xd6, + 0xb5,0x69,0x44,0xb7,0x49,0xa3,0xa8,0x68,0x68,0xc4,0x8,0xa4,0x55,0xd,0x8d,0xb8, + 0x80,0xdc,0x10,0x1b,0x1e,0x3d,0x2d,0x49,0x5f,0x4a,0x2a,0x5b,0xd5,0x7e,0x3c,0x8a, + 0xaa,0x6b,0xf2,0x88,0xae,0xcc,0x23,0x94,0x1b,0xe5,0x51,0x56,0xcb,0x23,0x5,0x13, + 0xe3,0x96,0x47,0x9,0x28,0x1c,0x2d,0x8b,0x96,0xe5,0xe6,0xf7,0x2,0x12,0x73,0x67, + 0x16,0xd1,0xf5,0x58,0x14,0x25,0xd7,0x65,0x51,0x94,0xdd,0x2a,0x8b,0x2e,0xd8,0xd7, + 0xf2,0x44,0x8f,0x18,0x42,0xaa,0xe1,0xd1,0xa5,0x92,0x74,0x2e,0xa9,0x55,0xb6,0x23, + 0x8f,0x52,0xae,0xc8,0xa3,0xb4,0x2b,0xf3,0x28,0xe3,0x46,0x79,0x14,0xd2,0x1a,0x47, + 0x5,0x64,0x9c,0xb8,0xd0,0xa3,0x80,0x44,0x69,0x56,0xb0,0x4d,0xc9,0x86,0x47,0x61, + 0xc1,0xbb,0x2a,0x52,0xd8,0x15,0x99,0x14,0x71,0x65,0x26,0x45,0xdd,0x28,0x93,0xdc, + 0x9e,0x2c,0xd6,0x84,0x68,0xa9,0x47,0x1a,0x6d,0x96,0xd4,0x87,0x72,0x2d,0x8b,0x8, + 0x5c,0xc2,0x77,0x65,0x91,0xc7,0x15,0x59,0xe4,0x75,0x6d,0x16,0xdd,0xaa,0x95,0x6d, + 0xb,0x2b,0x9b,0x81,0x2d,0xa2,0x6a,0x69,0x1f,0x45,0x99,0x36,0x76,0xf6,0xc5,0xb2, + 0x74,0x2e,0xcb,0x91,0xb1,0x2b,0x97,0xac,0xae,0xc9,0x25,0xba,0x32,0x97,0xfc,0x56, + 0x2d,0x6d,0x5d,0x58,0xda,0x4,0xc4,0x81,0x48,0x4b,0x2e,0x15,0x35,0xc7,0x3c,0x9a, + 0x92,0x2d,0x93,0x12,0x8d,0x91,0xf6,0x64,0xd2,0x35,0xad,0x6d,0xbb,0xb6,0xb5,0x6d, + 0x76,0xab,0x4c,0xa2,0xe5,0xda,0xdf,0x8b,0x74,0xc9,0xa4,0x2,0x64,0x6d,0x55,0xa9, + 0x29,0xdb,0x72,0xa9,0xb4,0xf6,0x9d,0xe1,0xf4,0x9a,0x16,0xb7,0x5e,0xdb,0xe2,0xd6, + 0x5b,0xb5,0xb8,0x45,0x5a,0x2e,0x9,0x38,0x8b,0x3d,0x55,0x25,0x76,0x6a,0x54,0xa9, + 0x29,0xd9,0x30,0x9,0xad,0x7c,0x57,0x55,0x92,0x6b,0x5a,0xdc,0x72,0x6d,0x8b,0x5b, + 0x6e,0xd5,0xe2,0x66,0x5b,0xaa,0x92,0x38,0xc5,0x5,0x9f,0x24,0x71,0x36,0xaa,0xd4, + 0x94,0x6d,0xbd,0x92,0xe8,0x64,0xbb,0x72,0x89,0xaf,0x69,0x77,0x73,0x5d,0x9b,0x4b, + 0xc7,0xd8,0xdd,0x4d,0x96,0x6c,0x21,0x1,0x33,0xeb,0xbb,0x54,0x5c,0x5d,0xec,0x44, + 0xda,0x99,0x25,0xba,0xcd,0xb0,0xcd,0x9e,0x90,0x15,0xd8,0x93,0xca,0xa4,0x80,0x1d, + 0x31,0xf2,0x9c,0xf2,0x12,0x3f,0x3f,0x1c,0x42,0xd0,0x83,0x6c,0x7e,0x23,0x3,0xd8, + 0x23,0xd8,0xa6,0x44,0x10,0xaf,0xc2,0x78,0xd7,0xae,0x12,0x15,0x4a,0x92,0xa2,0xb5, + 0xe8,0x88,0xc1,0x52,0xca,0x68,0x75,0x98,0x74,0x9f,0x64,0x5d,0xc7,0x35,0xa,0xa2, + 0x84,0xb8,0xb,0x56,0xe3,0xca,0x93,0x2b,0x6d,0x80,0xd5,0x9,0x8a,0x91,0x84,0x3b, + 0x50,0x4d,0xc8,0x74,0xe,0xf1,0x3f,0x50,0x55,0xcb,0xa,0xd3,0xf9,0xd,0x13,0x60, + 0x51,0xf7,0x33,0xaa,0xec,0x46,0x61,0x2d,0xaa,0x4c,0x2,0x4e,0x44,0x2d,0xaa,0x49, + 0x50,0x1e,0x91,0xeb,0xa8,0x62,0xd,0x41,0xf5,0x24,0xaa,0x90,0xea,0x1a,0x5d,0x6c, + 0x15,0x8f,0x53,0x38,0x6e,0x62,0xab,0x4,0x20,0x96,0xd2,0x10,0xb6,0x52,0x5a,0x7d, + 0x93,0xad,0x27,0x2e,0x28,0xf2,0x4a,0x6f,0xe9,0xaa,0x2,0x11,0x14,0xeb,0xb8,0x6e, + 0x3f,0x91,0xda,0x5c,0x1d,0x25,0xac,0xc0,0x82,0xd9,0xe6,0x2f,0x12,0x86,0x4a,0xb6, + 0xf4,0x3e,0x6d,0x50,0x3b,0x99,0xac,0xdf,0x4b,0xd0,0xd7,0x15,0x6d,0x8a,0x2,0x4, + 0xad,0x27,0x57,0x61,0x9,0x3b,0x50,0xb8,0xda,0xb6,0xfe,0xc1,0x2a,0x94,0xe4,0x27, + 0x6a,0x62,0x25,0x28,0xda,0x1c,0xee,0xa4,0x80,0xb0,0x72,0x8c,0xb5,0x53,0x98,0x5e, + 0x32,0x86,0xe0,0x54,0x5,0x94,0x5c,0xd4,0x17,0xb5,0x53,0x71,0x4a,0xdb,0xa0,0x1b, + 0x4d,0x45,0x3d,0xd7,0x6c,0x3b,0x9a,0xe6,0xd7,0x8b,0xb6,0x23,0x22,0xa7,0x93,0x22, + 0x38,0x97,0xf3,0x44,0xc,0x62,0x2c,0xbe,0x50,0xe1,0x4,0xc9,0x50,0xce,0xe5,0x95, + 0xa,0x8e,0x9c,0xe8,0x6b,0xbc,0xf6,0xb4,0xa3,0xe0,0x2c,0x3b,0x8,0x4d,0x53,0x88, + 0x2c,0xaf,0x6f,0xa1,0x59,0xa0,0x21,0x62,0xb4,0x1,0xcd,0x88,0xa3,0xd0,0x24,0x3d, + 0xa,0x4e,0x4f,0x28,0xad,0xd0,0x7,0x38,0xed,0x9,0x9c,0x9c,0x95,0xae,0x1b,0xe0, + 0xf4,0xda,0xe3,0x24,0xb5,0x3b,0xbd,0xe0,0xa4,0xc9,0x7b,0x9a,0x1f,0x97,0x4f,0x24, + 0xb4,0x56,0xa6,0x5f,0xf4,0xc8,0xbd,0x2c,0xc0,0xf7,0x43,0xcc,0x8f,0xbe,0xda,0x2e, + 0x2f,0xed,0x93,0x84,0xd2,0x73,0xcb,0x31,0xa0,0xbe,0x6a,0x2f,0x2e,0xf0,0xd7,0xed, + 0xe2,0xf5,0x19,0x11,0x3,0x8a,0x7c,0x91,0x46,0x51,0x40,0x4a,0x99,0xfa,0x6,0x80, + 0x84,0x9c,0x8c,0x73,0xc3,0x9c,0x17,0xc,0xea,0x55,0x66,0x7f,0xbc,0xdb,0x7c,0xa7, + 0x26,0x9b,0x4,0x22,0x39,0x4b,0xad,0x4e,0x4f,0xb6,0xf,0x65,0x8d,0x36,0x1c,0x8e, + 0xea,0xe8,0x4d,0x5b,0xa3,0xec,0xf8,0xda,0x2e,0x53,0xb6,0x44,0xd1,0xad,0x74,0x60, + 0x74,0x76,0x5b,0xed,0xfe,0x94,0x6d,0xa8,0xd4,0x45,0xd9,0xd2,0x53,0x19,0xbf,0x6, + 0xca,0xea,0x3e,0x94,0xd5,0x9d,0x54,0x56,0xaf,0xaa,0xb2,0x7a,0x8c,0xca,0xea,0x78, + 0xca,0x26,0x10,0x91,0xd1,0x52,0x66,0x4d,0x2c,0x54,0xbb,0x65,0x96,0x2d,0x36,0x70, + 0xf6,0x69,0x3d,0x77,0xcd,0x97,0xea,0xb3,0x3e,0x4a,0x42,0x63,0x3a,0x21,0x10,0x91, + 0x5b,0x4c,0x8,0x94,0xf3,0x63,0x22,0x70,0x4a,0xfa,0x92,0x3d,0x7,0x8,0xcf,0xcf, + 0xa2,0x80,0xb2,0x49,0x5b,0xd4,0x3d,0x20,0xa4,0xe,0xb3,0x89,0x59,0x47,0x58,0x71, + 0xdb,0xd7,0xd0,0x91,0x20,0x59,0x95,0x31,0x9d,0xa,0x41,0x90,0x89,0x73,0x61,0xcf, + 0x5,0x44,0x15,0xd1,0x62,0xb1,0xa1,0x80,0x86,0xc1,0xb9,0x6a,0xcf,0x9,0x1d,0x5, + 0xac,0xa8,0x1d,0xc,0xac,0x41,0x22,0x93,0xdb,0xb7,0x81,0x4d,0x10,0x8d,0x28,0x7d, + 0x2,0xac,0xb2,0x69,0xad,0x2,0xcb,0x32,0x6,0xd8,0xf3,0x80,0x74,0xf,0xee,0xd3, + 0x3,0xe1,0x53,0xc9,0x6,0x60,0x9b,0x8a,0x86,0xfa,0x28,0x91,0xad,0x96,0x5e,0x1f, + 0x83,0x64,0xcc,0x50,0x6e,0x80,0xa5,0x0,0xf,0x45,0xb6,0x55,0x60,0xe9,0xb0,0xe5, + 0xb1,0x95,0xbd,0x16,0x29,0x48,0x4,0xa2,0x90,0xa0,0xe,0x25,0xe8,0x5c,0xd9,0x61, + 0x1c,0xa6,0x4,0xa9,0x6f,0xce,0x8b,0x63,0x75,0xd8,0x8c,0x45,0x6f,0xce,0x89,0x63, + 0x75,0xd8,0x2c,0xe5,0x12,0x6f,0xce,0x89,0x63,0x29,0x87,0xc1,0xc9,0xfe,0x4a,0x87, + 0x7a,0x41,0xb1,0x59,0xd8,0x6,0x38,0xc3,0x8e,0x63,0xa7,0xbc,0xce,0xc1,0x1e,0x8, + 0x58,0x61,0x5b,0x84,0xd3,0xf,0x9b,0x87,0x32,0xf1,0x75,0x8e,0xf5,0x40,0x30,0xcb, + 0xc0,0x2d,0xd2,0x69,0x87,0xcd,0x43,0x9c,0xf9,0x3a,0xc7,0x7a,0x20,0x10,0x5a,0x70, + 0x6e,0x81,0xf3,0xb0,0x99,0x28,0x44,0x5f,0xed,0xc4,0x9e,0xa2,0x86,0xb2,0x1,0x4e, + 0xe5,0xc3,0x8c,0x79,0x89,0xb7,0x37,0xd8,0x5,0x8f,0x82,0x53,0xf1,0xd5,0xc,0xf6, + 0x71,0x70,0x52,0x1e,0x5,0xa7,0x38,0xbf,0xda,0x89,0x9d,0x4a,0x3c,0x78,0x3,0x9c, + 0x78,0xdc,0xc6,0xb6,0xf8,0x9b,0x1b,0xec,0x5a,0x7e,0x98,0x76,0xa2,0xbe,0x16,0xd7, + 0xdd,0xd2,0x11,0xb2,0xee,0xb9,0x33,0xd0,0x88,0x90,0x58,0xc5,0x35,0x7d,0x8f,0xcd, + 0x17,0x8d,0x78,0xc1,0xe6,0x8b,0x85,0x85,0x75,0x6d,0x87,0x68,0xd4,0xca,0xe6,0xcb, + 0xf0,0xda,0x92,0x2e,0xef,0x17,0x9a,0xa3,0x4a,0xf9,0x77,0x57,0x8b,0xdf,0xa8,0x56, + 0x37,0x6c,0xbe,0xac,0x91,0x9e,0x5d,0x80,0x94,0xc5,0xfb,0x48,0x9f,0x76,0x2a,0xdd, + 0xb4,0x3a,0x58,0x56,0xb4,0x9d,0xf4,0x49,0xa0,0x82,0xf1,0xff,0xdc,0x7d,0x5b,0x73, + 0x5b,0x47,0x92,0xe6,0x5f,0x41,0xf4,0xbe,0x8c,0x62,0xf,0xd3,0x79,0xbf,0x68,0x62, + 0x27,0xa2,0xc7,0xdd,0xbd,0xb1,0x11,0xda,0x9d,0x89,0x99,0x87,0x7d,0xdc,0xa0,0x48, + 0x48,0xe6,0xb6,0x64,0x6a,0x29,0xc9,0x76,0xfb,0xd7,0xef,0xa9,0x2,0x40,0xa1,0x40, + 0x8,0x2,0x69,0x40,0x72,0x37,0x68,0x99,0xc4,0x77,0xea,0x92,0xf5,0x55,0x66,0x56, + 0x56,0x9d,0xaa,0x73,0xc8,0x3f,0xb7,0x99,0xce,0x2,0xca,0x99,0x70,0x67,0xeb,0x27, + 0x81,0x53,0xa9,0xe5,0x41,0xa5,0xf,0x3b,0xd1,0x66,0x3a,0xcc,0xd6,0x8,0x93,0xf1, + 0xa6,0x16,0x41,0x24,0x63,0xf2,0x71,0x5b,0x17,0x39,0x2f,0xcc,0xed,0x9,0x37,0xb5, + 0xc6,0x7a,0x3a,0x3a,0x8,0x75,0xd4,0xeb,0x21,0xa8,0xa2,0x4a,0x3b,0xff,0x44,0xdd, + 0xcf,0x4c,0x4e,0x80,0x22,0xfd,0x7d,0xaf,0x61,0x20,0x15,0x3b,0xb7,0xb0,0xc8,0xa2, + 0x2c,0xed,0xd0,0x2d,0x2c,0xf5,0xf3,0xb8,0x15,0xc7,0x3f,0x9c,0xe3,0xe,0xbd,0x3a, + 0xef,0x33,0xf4,0x33,0xdd,0x5c,0x55,0xd7,0x93,0xdf,0x5c,0x35,0x48,0x62,0xdb,0xdd, + 0xf,0x80,0xea,0x59,0xc7,0x69,0x21,0xe9,0x45,0x85,0x3c,0x45,0xb,0x77,0xab,0xb9, + 0x1a,0x24,0x3a,0xe2,0x1d,0xa2,0x2,0x81,0x24,0xbc,0x52,0x42,0x5,0x95,0x40,0x6f, + 0xb7,0x52,0x55,0x9,0xa2,0xa6,0xb,0xd6,0x80,0x30,0x1d,0xd5,0x90,0x20,0x28,0xe3, + 0xb0,0x12,0x5a,0x9e,0x45,0x9,0x8d,0xcf,0xa3,0x84,0xa6,0x5f,0x53,0x9,0xcd,0x7f, + 0x97,0x4a,0xa8,0x42,0xdf,0x42,0x9,0xf7,0xeb,0x60,0xb2,0x1,0x8a,0xd9,0x6f,0xd0, + 0x41,0xad,0xb3,0xe8,0xa0,0xd4,0x23,0x74,0xf0,0xa,0xdb,0xcf,0x51,0x5a,0xa1,0xf4, + 0x35,0x75,0x50,0xf7,0x9f,0x34,0x45,0xd3,0x52,0xc3,0xc7,0xc5,0x57,0x57,0xd7,0xed, + 0xe7,0xb8,0x6a,0x6d,0x6f,0xb5,0x24,0x89,0x3c,0xec,0xa9,0x79,0x22,0xb7,0xf8,0x99, + 0x6a,0xe3,0xd4,0x61,0x5d,0x10,0x94,0x6,0xda,0x71,0x61,0x9d,0xd9,0x5,0x89,0x9f, + 0x64,0xdb,0xfe,0xf8,0xf2,0x3b,0x65,0x74,0xb4,0x3a,0x4f,0xcc,0x37,0xc6,0x97,0x6a, + 0xc0,0x52,0x32,0x4c,0xc8,0x7,0x9,0xe,0x98,0xcc,0x69,0x96,0xda,0xd,0x21,0x4a, + 0xdd,0x8e,0x3b,0xef,0x43,0x92,0x17,0x4a,0x4f,0x59,0x2d,0xb2,0x2,0x27,0x93,0xca, + 0xa3,0x69,0x2d,0xd6,0x91,0xd6,0x64,0x6e,0x80,0x9,0xa8,0xb3,0x3a,0x75,0x5a,0x99, + 0xb9,0x64,0xc,0xa5,0x99,0xd,0x8,0xd1,0xc7,0x50,0xfa,0x42,0x10,0xdc,0x3c,0xc2, + 0xf,0xd2,0xca,0x75,0x1a,0x5a,0x1d,0xa2,0x3c,0xc3,0x8e,0xa6,0xb5,0x5c,0x7e,0xdf, + 0xb4,0x92,0x29,0x4,0x9a,0x3e,0x8d,0x56,0x3c,0x9,0xad,0x5e,0x90,0x91,0xa4,0x72, + 0x34,0xad,0x62,0xf1,0x4,0x5a,0xd5,0x21,0xab,0x84,0xe8,0x6b,0xd0,0x4a,0x50,0x5c, + 0x9c,0x23,0xad,0xc6,0x60,0x62,0x8c,0x87,0x69,0x25,0x3e,0xd,0xad,0x9,0x64,0x54, + 0xc2,0xc7,0x3b,0x1,0xa1,0x27,0xd0,0x9a,0x4,0x14,0x88,0xaa,0x5f,0x81,0xd6,0x30, + 0xc0,0x70,0x95,0x91,0x56,0xd,0x50,0x2e,0x14,0x3b,0x48,0x2b,0xea,0x39,0xa2,0x1c, + 0xa9,0x7c,0x44,0x94,0x53,0x4b,0xbd,0xc6,0xe3,0xa2,0x1c,0xc4,0xdf,0xbe,0x8a,0x94, + 0xfc,0xf2,0xd8,0xda,0xf8,0x4,0xe3,0xfe,0x1,0x96,0xd2,0x1f,0xc1,0xd2,0x92,0xdb, + 0xcf,0x31,0x72,0x4b,0xe6,0x6f,0x8f,0x5,0xbd,0xfd,0x1c,0x55,0x5b,0xe1,0x99,0x59, + 0xc2,0x33,0xb1,0xf4,0x35,0x97,0xe,0x24,0xf5,0xbc,0x2c,0x39,0x3f,0x82,0x25,0xa5, + 0xc2,0x57,0x78,0x94,0xdc,0xae,0x27,0x38,0xe7,0x21,0x1a,0x7a,0x5c,0x6d,0x7e,0x5e, + 0x96,0xb4,0x1e,0xc1,0x92,0x7,0x25,0x1e,0xc7,0x92,0xd1,0x6f,0x66,0x29,0x5e,0x4a, + 0x1d,0xb7,0xde,0x20,0x26,0xe7,0x65,0x49,0xea,0x71,0xaf,0x9d,0xb2,0xe5,0x71,0xbd, + 0x7b,0x92,0x39,0xea,0xf2,0xea,0xfa,0xb8,0x3e,0xf9,0xcc,0x1c,0x95,0xed,0x91,0x15, + 0x5e,0x4b,0x1d,0x59,0xa1,0xed,0xad,0xf0,0xb1,0xf5,0x5d,0xa9,0x5f,0x1e,0x55,0xdf, + 0xd3,0xa6,0xa5,0x57,0x6f,0x6e,0xde,0xfd,0xfb,0xe5,0x87,0x1f,0x36,0x59,0x37,0xdf, + 0xbf,0xfc,0xb8,0x92,0x4d,0x4a,0x17,0xb1,0x4f,0xa,0xf2,0x6e,0x46,0x1e,0xb4,0xe8, + 0xd5,0xcd,0x9b,0x37,0xcf,0x7f,0xbc,0xfd,0x71,0xf9,0xcf,0xed,0xaf,0xad,0x86,0xf4, + 0xaf,0x77,0x1f,0xdf,0x2c,0x9f,0x2f,0x7f,0x5a,0xfe,0x78,0x7b,0xdd,0xe6,0xfd,0x77, + 0xb7,0x7f,0x5d,0x3e,0xff,0x78,0xf7,0xe6,0x9f,0x1e,0xbe,0x40,0xbb,0x9e,0xad,0xaf, + 0x5f,0xfc,0x7c,0x73,0xfd,0xe1,0x87,0xe7,0x4,0x8e,0xfd,0xc3,0x1b,0xbc,0x65,0x99, + 0xa3,0x96,0xe7,0x2f,0x3f,0x7e,0xf8,0xb0,0x8d,0xfd,0xdf,0xdb,0x9b,0x1f,0x9f,0xbf, + 0xbd,0xf9,0xb0,0xbc,0xdb,0xa0,0xfd,0xcb,0x9b,0x9b,0xf9,0xd7,0x73,0xdd,0x60,0xd7, + 0x97,0xef,0x7f,0xb8,0xbc,0xbb,0xbb,0xfc,0x5b,0x17,0x76,0x8d,0x8e,0xe2,0xce,0x99, + 0x56,0xc2,0xad,0xfe,0x16,0x26,0x7a,0xb6,0xc5,0xfb,0xcc,0xcb,0xff,0x5c,0x48,0xa, + 0x98,0x8a,0xc9,0xa4,0x91,0x20,0xe8,0xb1,0xf8,0x7e,0x1f,0x38,0x42,0x1c,0x66,0xf, + 0x21,0xb5,0x9e,0x37,0x20,0x3c,0x8b,0x3b,0x8a,0x42,0xe8,0xb,0x29,0x1,0x44,0x8f, + 0x86,0x19,0x88,0x8a,0xce,0x90,0x81,0x52,0xb6,0xcc,0x1e,0x10,0x9b,0xcc,0x15,0x10, + 0x12,0x9c,0x33,0x8a,0xa0,0x55,0xa6,0xb,0x45,0x4,0x44,0xaa,0x49,0x95,0xc0,0x8a, + 0x65,0x55,0x33,0x97,0x98,0x74,0x4c,0x4b,0x79,0x2d,0x34,0x6b,0x55,0xae,0x41,0x29, + 0x5d,0x61,0xc4,0xa2,0xf7,0x9,0x3b,0x44,0x9e,0x3b,0x79,0xdd,0x41,0x2d,0xd8,0xd7, + 0x95,0xa0,0xf8,0x8c,0x25,0x78,0x89,0xf2,0x46,0x16,0xb2,0x85,0x4,0x1,0x12,0x73, + 0x8e,0x52,0x87,0x80,0x72,0xfa,0xaa,0x75,0xd6,0xb9,0x89,0x4,0xcf,0xc2,0x58,0xb3, + 0x50,0x99,0xb,0x49,0x86,0xa2,0x1c,0xf9,0x7a,0x88,0xda,0x8,0x75,0xfa,0x7,0x68, + 0xe8,0x26,0x64,0x66,0x1e,0xbb,0x89,0xd8,0xd2,0xd6,0x50,0xc5,0x9a,0x4,0x21,0x7c, + 0x90,0x57,0x84,0x39,0x36,0x9,0x8d,0x3b,0xa6,0x2a,0x1e,0x7b,0xbb,0x7d,0x3,0xfd, + 0xba,0xd8,0x31,0xe9,0x77,0x2b,0xc3,0x8a,0x2d,0xf3,0xdd,0xd8,0xdb,0x17,0x27,0x35, + 0x12,0x5,0x85,0x8e,0x47,0xbe,0x96,0x9e,0x9e,0x70,0x3e,0xa0,0xd7,0xe1,0x8e,0x39, + 0xbe,0xf5,0x24,0x10,0x4a,0x6d,0xe7,0xb9,0x45,0x2a,0xa,0xe9,0x71,0xf8,0x56,0x9e, + 0xc8,0x51,0xbb,0x7b,0xff,0x41,0xdb,0x4e,0xc7,0xb4,0xfd,0x84,0xe,0x9b,0xe3,0x8, + 0x87,0xbd,0xdf,0x7,0x87,0x3d,0xfb,0x6d,0x4e,0x3c,0x62,0xd7,0x89,0xbf,0xfb,0xe5, + 0x78,0xef,0x7d,0x9c,0x4f,0x76,0x79,0xe0,0x93,0x99,0xb,0x94,0xd9,0x57,0x5e,0x46, + 0x30,0x73,0xf1,0x7d,0x7,0x8d,0xb8,0x66,0x30,0x8,0x98,0xcb,0x75,0xc1,0x22,0x40, + 0x4a,0xd8,0x30,0x9f,0x31,0xf5,0x9c,0x31,0x84,0x70,0x57,0x99,0xb1,0x80,0x12,0x59, + 0x65,0x16,0x50,0x53,0xa3,0x49,0x53,0x80,0xca,0x75,0xce,0x8c,0x9,0x44,0xe2,0xd5, + 0x31,0x44,0xd5,0x9c,0xb1,0x0,0xe1,0x2c,0x99,0xc,0xf3,0xbe,0x66,0x4a,0x70,0x2e, + 0xac,0xc9,0x48,0x40,0x29,0x88,0x57,0x22,0x86,0xa2,0xcc,0x98,0x41,0x49,0x91,0x2f, + 0x58,0xa,0xca,0xa4,0x1a,0xe6,0xc0,0x64,0x68,0x8b,0x17,0xbb,0xa8,0xba,0xb4,0x22, + 0x15,0x9b,0xe0,0x1e,0x6b,0x50,0x45,0x3a,0x26,0x9c,0xea,0xeb,0xec,0xa9,0xd1,0x31, + 0x23,0xd7,0xad,0x22,0xd7,0xb9,0x83,0x34,0x75,0x93,0x32,0xac,0x63,0x45,0x8c,0xb2, + 0x29,0x91,0x79,0xc6,0x8,0x88,0x90,0xf2,0x53,0xd5,0x2f,0xb6,0xc0,0xa1,0x48,0xeb, + 0x6e,0x1f,0x73,0xbb,0x3d,0xce,0xa0,0x62,0x48,0xdb,0xed,0xe,0x81,0x10,0xa3,0x1c, + 0x8,0xa,0x86,0x32,0x54,0xde,0x66,0xd2,0x2,0x1c,0xcb,0x6a,0x9b,0x71,0x43,0xe0, + 0xa,0xcf,0xa1,0x6b,0x34,0xa0,0x58,0x50,0xb6,0xfa,0xb0,0x4b,0x63,0x44,0xbc,0xd5, + 0xd7,0xd,0x73,0x25,0x95,0x7b,0xa5,0x18,0x1a,0xb3,0x1,0x7,0xc6,0xb7,0xc0,0x87, + 0x3a,0xf5,0x39,0x47,0xce,0x75,0xac,0x23,0x1f,0xbc,0x87,0x2b,0x70,0x56,0xca,0xb1, + 0x2f,0x84,0x7a,0x8a,0x33,0x13,0x83,0xb0,0xd0,0x23,0x9f,0xd,0x7f,0x51,0x6,0xcc, + 0x26,0x45,0x13,0xee,0xec,0xe3,0xc0,0x80,0xa,0xf3,0xf1,0x95,0x57,0xf7,0xc5,0x1f, + 0x74,0x80,0xfc,0xd4,0x3d,0x76,0x23,0x5f,0x86,0xc,0xc9,0x14,0x76,0x9c,0xf3,0xd7, + 0xa7,0xf1,0x55,0x60,0x94,0xf6,0x9b,0xf9,0x52,0xb,0x28,0xcc,0xe0,0x1d,0xbe,0x12, + 0x9c,0x39,0xe5,0x30,0x5f,0xf2,0x2d,0xf8,0x22,0xfb,0xbb,0xe5,0xeb,0x6b,0xf,0xb0, + 0xf4,0x60,0x80,0x1d,0x27,0x8,0xac,0xa0,0xe8,0x6c,0x93,0x9,0x81,0xbb,0x50,0xb5, + 0xf0,0x91,0x1c,0x3c,0xca,0x69,0x46,0x1d,0x50,0x24,0x6a,0x21,0x28,0xc0,0x22,0xd, + 0xa,0x50,0xc1,0xd2,0x19,0x62,0xb0,0xc9,0x9c,0x0,0xbd,0x54,0x7b,0x46,0x6,0x24, + 0x76,0x9d,0x51,0x3,0xf1,0xf2,0x39,0x23,0x13,0x30,0x4a,0xf8,0x8c,0x5,0x24,0x9b, + 0xe5,0x42,0x4,0x81,0xb8,0xe5,0xcd,0x4f,0x95,0x72,0x82,0x45,0xfa,0x64,0xe6,0xc0, + 0x52,0x59,0x1d,0x12,0x41,0x91,0xc9,0x54,0x40,0x8b,0x31,0xf6,0x4a,0xfc,0xeb,0x62, + 0x6e,0x89,0x6,0x3c,0x6c,0x88,0xae,0x36,0x17,0xd5,0x64,0xaa,0xa0,0xe5,0x58,0x33, + 0xc6,0x90,0x16,0xd1,0xeb,0x51,0x8e,0x92,0x19,0x22,0x10,0x95,0xd8,0x11,0xc8,0x10, + 0xd8,0xb5,0x6a,0x5b,0x70,0x2b,0x50,0x73,0xa2,0xed,0x6,0x7a,0x42,0x79,0xc6,0x40, + 0x45,0x47,0x59,0xcc,0x6d,0x9b,0xb0,0xd5,0xee,0x60,0xd2,0x2d,0x5e,0x1f,0xca,0xdd, + 0x5c,0xf7,0x81,0x38,0x68,0xdc,0xf,0x20,0x6e,0x79,0x74,0x1c,0xd4,0x27,0x93,0xa7, + 0x8c,0x79,0xf6,0xe,0x31,0x54,0xdb,0xe2,0xdf,0x5e,0xdf,0xbc,0x9b,0xff,0xcd,0x55, + 0x5f,0x2f,0x3f,0xfc,0xed,0xdd,0x72,0x56,0xdc,0xab,0xf5,0x67,0xff,0x48,0x74,0x78, + 0x53,0x88,0x88,0x40,0x4,0xd6,0xf8,0xb4,0x39,0x8d,0x0,0xe2,0xf1,0xf9,0x21,0xdd, + 0xe1,0x8b,0x4a,0x1e,0x77,0xf2,0x5b,0xf5,0x9,0xbb,0x44,0xb4,0x62,0xa5,0x8c,0xc3, + 0x7e,0x36,0x1,0xee,0xda,0x74,0xd4,0x76,0x39,0x46,0xe3,0xc0,0x98,0x2e,0x14,0x10, + 0x51,0x44,0xb2,0xdd,0x5c,0x61,0xf0,0x14,0x55,0x8d,0xf6,0x5,0x21,0x31,0xd,0x79, + 0xba,0x48,0x6,0x76,0xc5,0xe0,0x89,0x9c,0x40,0xa5,0xa2,0x9e,0x1d,0xda,0x2c,0x22, + 0x27,0x39,0xed,0xfd,0x58,0x2e,0xfd,0x9,0xcf,0x4d,0x1c,0xeb,0x18,0x7,0x73,0x27, + 0xda,0x39,0xea,0xee,0xd8,0x88,0x4b,0x89,0x83,0xce,0x96,0xe4,0x2b,0x3b,0x5b,0xac, + 0xd1,0xd9,0xee,0xb5,0xe,0xda,0x6f,0xdc,0x9b,0x45,0xfb,0xa3,0x6d,0xf9,0xbf,0xa8, + 0xca,0xb5,0xd4,0x68,0xce,0x8,0xf6,0xcd,0x16,0xa0,0x82,0xec,0xc1,0x64,0x47,0x89, + 0x81,0x4a,0x94,0x7b,0xfc,0x5b,0x8e,0x42,0xb3,0x6f,0x54,0x42,0x10,0x43,0xa7,0x49, + 0x13,0xa1,0x38,0x51,0x16,0x8a,0x1,0x9e,0x61,0x39,0x63,0xa,0x59,0x16,0x3e,0x63, + 0x2,0x2c,0x26,0x3e,0x63,0x9,0xe9,0xa2,0x2d,0xd8,0x6d,0xb9,0xad,0x92,0x74,0xd2, + 0x4a,0xa0,0x2c,0x5f,0xa1,0xab,0x10,0x55,0xd7,0xe1,0xb7,0xb3,0x35,0x74,0x4f,0xfd, + 0xbf,0x2e,0x8e,0xf1,0x4f,0x4f,0x59,0xef,0x50,0x74,0x50,0x26,0x39,0x2e,0x4c,0xe, + 0x7e,0x4a,0x18,0xd3,0xda,0x69,0x52,0x29,0x63,0x4c,0x52,0x8,0xe1,0x66,0x3e,0x4e, + 0xfa,0x93,0xc0,0x53,0xe3,0xf0,0xa4,0xff,0xb8,0x27,0x17,0xfc,0xa3,0x36,0xfe,0x44, + 0xe,0x52,0x15,0x94,0x39,0xea,0xa8,0xc6,0x97,0xe9,0x93,0x1c,0x64,0x82,0x50,0x5a, + 0x8c,0x8d,0x57,0x1,0xb,0x2d,0x1e,0x1b,0x6f,0x1,0x42,0x1e,0x74,0xb8,0xf1,0x5f, + 0xd9,0x41,0x72,0xd5,0xe1,0x68,0xd4,0x12,0x90,0x52,0x74,0x52,0x49,0xa8,0xb0,0xb2, + 0x1e,0x87,0x5,0x58,0x85,0xc6,0xa4,0x8a,0xc0,0x92,0xe6,0x1d,0x63,0x2e,0xe7,0x19, + 0x63,0x20,0xb,0xcc,0x19,0x33,0x28,0xb1,0x94,0x8e,0xa9,0x7a,0xb6,0xcc,0x5a,0x90, + 0x11,0xd6,0x32,0xb,0x24,0x8a,0xea,0x8c,0x19,0x28,0x7b,0x2f,0x30,0xa1,0xcc,0xdc, + 0x56,0x21,0xa0,0x25,0xdb,0xa4,0x46,0xa0,0x41,0x48,0x3d,0x37,0x82,0xa4,0x4,0xcf, + 0x28,0x3,0x86,0xd8,0x9c,0x52,0x12,0x94,0x55,0x68,0xd2,0x56,0xb6,0x86,0x65,0xc7, + 0x2c,0xc9,0x56,0x25,0x7a,0xa9,0xc8,0x3a,0x37,0xa,0x45,0x4e,0x2a,0x1,0xe9,0x64, + 0x31,0x63,0x9,0x98,0x54,0x36,0x63,0xc,0xec,0x9c,0xd1,0x9b,0xed,0x81,0xad,0xd5, + 0x32,0x43,0x24,0xd1,0x32,0x3b,0x2,0x71,0xb1,0x77,0xd4,0xa4,0xd8,0x7a,0xc2,0x30, + 0x55,0x9e,0x31,0x87,0xf0,0x8,0xda,0xc7,0xd9,0x67,0x3,0xc8,0xcd,0x96,0x86,0xdf, + 0x57,0xbc,0x88,0xf4,0x25,0x7f,0xfc,0xfe,0xfd,0xd5,0xd5,0xfb,0x3d,0xe,0xf9,0x94, + 0x9a,0x69,0x7,0x35,0x53,0x69,0xb5,0xf1,0xb7,0xab,0xa0,0x4a,0x58,0x1f,0xc5,0x14, + 0xbc,0xb2,0xbc,0x83,0x4e,0xe6,0xd1,0x31,0x91,0xd4,0x86,0x9,0x84,0x49,0x68,0xc7, + 0x14,0xbd,0x67,0x36,0x10,0xe2,0x4d,0x66,0xc5,0x24,0x5e,0x81,0x66,0x46,0x2b,0x4c, + 0x38,0xd7,0x58,0xa9,0xeb,0x1a,0x8b,0x9e,0x77,0xbb,0x62,0x2d,0xd3,0x8d,0x4e,0xb3, + 0x65,0x17,0xb0,0xc2,0x7d,0x95,0x30,0x93,0xab,0x95,0xe7,0x50,0xe4,0xc5,0x1d,0xb, + 0x61,0xf5,0x96,0x9b,0x15,0x58,0xc2,0x68,0x46,0x1d,0x44,0xad,0x62,0xc6,0x2,0x10, + 0xcb,0xb3,0xeb,0x34,0x9,0xaa,0x76,0xac,0x9b,0x83,0x41,0x76,0x99,0x3b,0x22,0x69, + 0x6b,0x2d,0x4f,0x53,0xa2,0x19,0x13,0x30,0x24,0x59,0xdd,0x70,0xc1,0xa4,0x8c,0x87, + 0x64,0x3d,0x6a,0x46,0xa3,0xa8,0xf2,0xfb,0x9a,0xd1,0x70,0xc5,0x17,0x35,0xf4,0xc9, + 0xf3,0x19,0x15,0x40,0x44,0xa6,0x71,0x3e,0xa3,0x1,0x59,0x95,0x34,0xce,0x68,0xd4, + 0xc0,0x84,0xcc,0x8f,0x1b,0x64,0xdc,0x9f,0x32,0xa3,0xd1,0x2,0x42,0x14,0xda,0x9e, + 0xd1,0x78,0xef,0x45,0xc7,0xe3,0xe,0x72,0x3a,0x7,0xf5,0x29,0xa,0x88,0x8a,0x39, + 0xd6,0x74,0x81,0x10,0xaa,0x68,0x21,0x13,0xce,0x60,0x70,0x66,0x4e,0x26,0x9,0xc2, + 0xd8,0xa6,0x3e,0x14,0x4,0x84,0x55,0x7c,0x70,0x32,0xc3,0x25,0x4f,0x3e,0x64,0xf5, + 0x78,0x22,0x2e,0x84,0xa,0x82,0x7d,0xa7,0xb,0xc4,0x21,0x4b,0xf2,0x28,0x22,0xa8, + 0x52,0xd1,0x27,0x9c,0x2e,0xc,0xd8,0x5c,0xcc,0x96,0x17,0x32,0x5d,0xdc,0x5f,0xb8, + 0x50,0x63,0xa8,0xb4,0x9a,0x13,0x24,0x18,0x17,0xf3,0x78,0x1a,0x40,0x70,0x46,0x85, + 0xe,0x92,0x92,0xf1,0x98,0x5d,0x48,0x97,0xaf,0xe8,0x55,0x1d,0x73,0x13,0x9f,0xf3, + 0xb7,0x9f,0x8b,0xf4,0x57,0x75,0x7d,0xad,0x47,0xd5,0x56,0xf4,0x85,0x2d,0x3,0x63, + 0xb3,0x4f,0xd5,0xc7,0x35,0x74,0xae,0x11,0x54,0x95,0xd,0x5d,0x40,0x4,0x88,0xe8, + 0x7,0xbb,0x20,0xec,0x11,0x5d,0x90,0xf8,0xaf,0xf2,0x97,0xbf,0xec,0x25,0xe1,0x73, + 0xaf,0x80,0xb4,0xc7,0xb1,0x5e,0x7f,0xa4,0xbf,0xe0,0xfe,0xa,0x6a,0x6f,0x5,0x42, + 0xfe,0xa8,0x1a,0x34,0x33,0xff,0xf4,0xc7,0xfd,0x5a,0x43,0x7b,0x6b,0x70,0xe4,0x7a, + 0x54,0x15,0x22,0x91,0xdf,0x7f,0xbf,0xbf,0xa,0xd9,0x5b,0x45,0x2a,0xf1,0xa3,0xaa, + 0xe0,0xef,0x63,0xfe,0x6f,0x7f,0x15,0xf6,0x28,0x6d,0x3c,0x61,0x18,0x12,0x74,0xcc, + 0xfd,0xd0,0x7e,0x6,0xec,0x9b,0x86,0x71,0x63,0x74,0x14,0x3c,0x65,0x9f,0x83,0xe3, + 0x44,0x8c,0xf3,0x1f,0xc2,0x9f,0xfe,0xc8,0xf6,0x3b,0xb6,0x7e,0xe7,0xe2,0xd7,0xbd, + 0xa3,0x6c,0xc8,0x9e,0x1,0xf4,0x44,0x96,0x4e,0xc4,0x20,0xa8,0x31,0xd8,0x3b,0x21, + 0x8f,0xee,0xb6,0xc0,0x2c,0xad,0xe,0x1a,0xbb,0xc9,0x23,0x8c,0xfd,0x65,0xbc,0xcc, + 0x97,0xc7,0xf9,0x5b,0xb3,0xdf,0xec,0x6f,0xff,0xfc,0x7d,0xfb,0xd9,0x5f,0xfa,0x67, + 0x5c,0x4b,0xa6,0x11,0xea,0xe3,0x6c,0xf3,0x2f,0x7f,0x6c,0x3f,0xfb,0xab,0xd9,0xef, + 0x60,0xd8,0x82,0x92,0x34,0x1e,0x57,0x4d,0xff,0xec,0xad,0xc6,0x69,0xbf,0x1f,0x43, + 0x22,0xe2,0x88,0x53,0xb5,0xc6,0xf7,0x7b,0x1a,0x13,0x92,0xc7,0xf5,0xcb,0xbf,0x7e, + 0xb6,0x5f,0xdc,0x3e,0xe3,0xcc,0xb4,0x1e,0x57,0x5,0xfd,0x99,0xff,0x2c,0xfb,0xab, + 0x88,0xa3,0x9c,0xd9,0x53,0x37,0x65,0xb2,0x3e,0x26,0x0,0xb9,0xe4,0xf6,0x73,0x94, + 0x41,0x68,0x7d,0xc5,0x6d,0xd0,0x6c,0x74,0x8a,0x3d,0x8b,0xa3,0x33,0x6f,0xee,0xe5, + 0x98,0xb1,0x60,0x74,0xf9,0x5f,0x5c,0x9b,0x7c,0xdf,0xff,0x6d,0x3e,0x9f,0x5d,0x4d, + 0xd6,0x57,0xf6,0x2a,0x8f,0x5f,0x4d,0xae,0xbc,0xe4,0x97,0xaf,0xce,0xbe,0x21,0x26, + 0xe5,0xe1,0x1a,0xb1,0xb,0x84,0x4d,0x2a,0x6,0xeb,0xf9,0xad,0x33,0x68,0x30,0x53, + 0xc7,0x2c,0xd,0x7d,0xc6,0x8,0x82,0x9c,0x62,0xc6,0x1c,0x1c,0x89,0xa4,0x63,0x3d, + 0x63,0xdc,0x67,0x24,0xf0,0xc0,0x35,0xa6,0xe8,0xc1,0x33,0x86,0x90,0xc1,0xd6,0xa, + 0x4b,0xd0,0xa,0xaf,0x8e,0x45,0x71,0x56,0xc7,0x8c,0x4b,0x69,0x5d,0x2d,0xaa,0x16, + 0xf5,0xf5,0x23,0x13,0x62,0x9a,0x31,0x83,0x32,0x24,0xef,0x93,0xe5,0x44,0xd2,0x39, + 0x77,0x4,0x98,0x72,0x56,0xc7,0xb4,0x92,0xbc,0xe5,0xce,0x2,0x54,0xc1,0xe8,0x28, + 0x55,0xb0,0x2f,0xb4,0x4,0xd4,0xb8,0x5a,0x4a,0x2,0xe6,0xc,0x99,0x31,0x85,0xa0, + 0x5c,0xcb,0x68,0xce,0x4d,0xf0,0x6,0x9a,0x87,0xaf,0x30,0x64,0xeb,0x88,0x54,0xe5, + 0xba,0x29,0xa2,0x15,0x1d,0xe3,0xa1,0xbd,0xd,0x48,0x49,0xd9,0x26,0xa5,0x4,0x8c, + 0x23,0x6a,0x9b,0xbc,0x62,0xe0,0x81,0xe1,0x2c,0x48,0x71,0x69,0x6c,0x16,0x10,0x85, + 0xeb,0x8c,0x25,0xb0,0x72,0xae,0x9a,0x1f,0xe1,0x12,0xb,0x8d,0xec,0x6b,0xc,0xb8, + 0x16,0xd3,0x3,0xc2,0x82,0xaa,0x83,0xa2,0xd9,0xb2,0xb9,0x82,0xb,0x1b,0xad,0x8b, + 0x92,0xa0,0x9d,0x1e,0xed,0xb7,0x67,0xd5,0xa,0x88,0x6d,0xd5,0x9,0x9b,0xe2,0x4c, + 0xc0,0x93,0xaa,0xd5,0x81,0x60,0x68,0x98,0xb,0xd5,0x0,0xf7,0xc0,0xe8,0x52,0x78, + 0x20,0xd6,0x8c,0x11,0xd4,0xfd,0x2,0xa,0x6f,0x56,0x23,0x34,0x20,0x91,0x72,0x2d, + 0xa1,0x71,0xcb,0x6d,0xbd,0xf1,0xeb,0x2e,0x24,0x72,0xa4,0x19,0x4b,0x8,0xc7,0xe0, + 0x5e,0xb,0x99,0xf6,0xce,0xee,0xa8,0x21,0x49,0x17,0xbb,0x38,0xd4,0xba,0x8c,0x48, + 0x84,0xd1,0xa5,0x74,0x2d,0xd9,0x23,0x76,0x6f,0x4c,0x5,0xa8,0x67,0xac,0xf0,0xde, + 0x98,0x8e,0x19,0x53,0x65,0xc7,0xa2,0x4,0x79,0x85,0x79,0xa5,0x76,0xac,0xc4,0xad, + 0xd6,0x18,0x5b,0xaf,0x17,0x6b,0xd5,0x1f,0x86,0x4,0x11,0x68,0xd1,0x65,0xf4,0x20, + 0xa6,0x19,0x73,0x90,0xaa,0x75,0x5b,0x58,0xcb,0x73,0x61,0x44,0x2b,0x71,0x54,0xa0, + 0x3c,0xd7,0x79,0x1d,0xb4,0x48,0xbd,0xa7,0x43,0x2c,0xe7,0x5e,0x5e,0x52,0x95,0xf6, + 0xf2,0xb8,0x44,0x7d,0x8f,0xd0,0xfb,0xb7,0x8,0x31,0xea,0x31,0xf7,0x3e,0x8e,0x8f, + 0xc3,0xc6,0x75,0xe9,0x56,0xb5,0x6b,0xee,0x9c,0xf5,0x5b,0x77,0xf0,0xb0,0xb2,0xbd, + 0x49,0xeb,0xc3,0x3e,0xb,0x25,0x5,0x25,0xcb,0x83,0xa7,0xf2,0x28,0x8f,0xda,0x49, + 0xa2,0x78,0xdc,0xd3,0x32,0x8f,0xf1,0xf6,0x14,0x76,0x16,0x6f,0xdf,0xd7,0x3e,0x57, + 0xbf,0xf6,0x86,0xcd,0x14,0xf1,0xf0,0xa6,0x1b,0x2,0xb9,0x65,0xac,0x6d,0x37,0xa4, + 0xfa,0xee,0xeb,0x82,0x62,0x41,0xef,0xa8,0x98,0x18,0xcf,0x98,0x43,0x54,0x4a,0x6e, + 0x19,0xaf,0x94,0x41,0x91,0x65,0x6c,0xf9,0xb,0x29,0x5,0x97,0xc4,0xdc,0x72,0x2a, + 0x52,0x2,0x99,0x8c,0xba,0xe5,0x7c,0x1a,0xb6,0xc9,0x1b,0x9b,0xbc,0xe9,0x90,0xc2, + 0xb6,0xd6,0x45,0xac,0xcc,0xbe,0x81,0x9a,0x3d,0x51,0xee,0x25,0xb4,0x19,0x43,0xf0, + 0xb5,0xd4,0xe,0xb9,0xca,0xeb,0x1,0xa9,0x8a,0x36,0x63,0x9,0x9c,0xd9,0xd2,0xb9, + 0x82,0xaf,0x16,0xc6,0x8d,0xc1,0xca,0x24,0x66,0x4c,0x20,0xa,0x5b,0x5e,0xd3,0xfb, + 0xbc,0x4,0x2c,0xd2,0xdc,0xb4,0x13,0x24,0x87,0x79,0x5f,0x2c,0xd7,0x95,0x7c,0x41, + 0xe0,0x6c,0x7b,0x90,0x17,0x33,0x56,0x50,0x6b,0x4c,0x36,0xad,0x8,0x3,0x73,0x74, + 0x99,0x34,0x19,0x38,0x83,0x6c,0xcd,0x9e,0x61,0xc3,0xa8,0xd5,0xba,0xcd,0x7c,0x47, + 0xba,0x63,0x60,0x1,0x13,0xf,0xfa,0x94,0x4a,0x15,0x22,0x88,0x68,0xab,0x2c,0x75, + 0x4,0x1d,0xea,0x7c,0xd1,0x87,0xb3,0x1a,0x64,0xfb,0x7e,0xf,0xd6,0xbd,0x56,0x45, + 0xda,0x56,0x3b,0xd5,0x1c,0x4c,0x47,0x3e,0xd4,0xc,0x2,0x59,0x73,0x8b,0xb7,0xf6, + 0x97,0x66,0x78,0x6d,0xf1,0xab,0x5a,0xf,0xfa,0xa1,0x7b,0x16,0x97,0xa0,0xad,0xfe, + 0x52,0x11,0xd0,0x2a,0xde,0xea,0x56,0x65,0x7,0x1d,0xbb,0x7f,0x85,0x69,0xd,0xe3, + 0x36,0x1b,0x78,0x89,0xfb,0xf6,0x10,0xc5,0xa,0xba,0xa3,0x75,0xca,0xc,0x88,0xcc, + 0xba,0x3d,0x4a,0x31,0x82,0x62,0x7a,0xae,0x46,0xa9,0x24,0xf6,0xbd,0xfa,0xfe,0xeb, + 0xe2,0x70,0x60,0xf4,0xcd,0xe6,0xce,0xc7,0xfa,0xd6,0x43,0xde,0xcd,0xe2,0x8b,0xaf, + 0xbf,0x25,0xab,0xc7,0xbe,0xfe,0x76,0x43,0xcd,0x6e,0xbc,0x7c,0xc4,0xeb,0x68,0xc9, + 0x9f,0xf0,0x3a,0xda,0x57,0xd7,0xf3,0xcf,0x72,0xb7,0xb6,0x3,0x21,0xf7,0x49,0x46, + 0x20,0x9,0x4,0xb,0xa4,0x1a,0xef,0xad,0xb2,0x41,0x78,0xd1,0x30,0x0,0x49,0x25, + 0xa4,0xe9,0xce,0x0,0x24,0xac,0xe0,0x86,0x52,0x7,0x7,0xa0,0x23,0xdf,0xf3,0xa5, + 0x22,0x27,0x1b,0x80,0x90,0x9e,0x3e,0x0,0x8d,0x43,0xa,0xca,0x83,0x83,0x44,0x28, + 0x10,0xc8,0xe2,0x53,0x27,0x85,0x32,0x74,0xf1,0xa2,0xa3,0xc6,0x66,0x39,0x49,0x76, + 0xf7,0xa8,0xd5,0x51,0x7,0x8a,0x60,0x9d,0x24,0x12,0x84,0xd8,0xad,0xa1,0x44,0xa0, + 0x89,0xd6,0x50,0x7,0x53,0xcd,0xec,0x68,0x41,0xb9,0x25,0xcf,0x68,0x1,0x95,0x9b, + 0x34,0x94,0x3,0xa4,0x50,0x75,0x92,0x44,0x70,0xc2,0x55,0x6d,0xd2,0x7,0x21,0xce, + 0x5e,0x42,0x56,0xaa,0x74,0xb4,0xa0,0x94,0x6c,0x7,0x55,0x1,0xb7,0xe6,0xfc,0x25, + 0x19,0x90,0xb5,0xbc,0xa3,0x6,0x56,0xd9,0xca,0x2d,0x4,0x32,0xf7,0x5c,0xa3,0xca, + 0xe4,0xad,0x6d,0x6,0x6a,0x55,0x1b,0x34,0xc2,0x98,0x66,0x34,0x40,0x51,0x6d,0x55, + 0x5b,0x40,0x55,0xa0,0xf6,0x72,0x25,0xd2,0xa8,0xcb,0x9b,0xa0,0x46,0x34,0x83,0xe, + 0x58,0x98,0xdc,0x41,0x2,0x33,0xcf,0x15,0xca,0x1e,0xbe,0x66,0x81,0xd8,0xab,0x31, + 0x46,0x20,0x14,0xd9,0xb8,0xd9,0xc3,0x6e,0x73,0x60,0xc7,0x9e,0x5e,0x43,0x8,0x3b, + 0x30,0xb3,0xc3,0xfe,0xf9,0x3a,0x3e,0xec,0xed,0xe5,0xfb,0xbf,0x6e,0x6b,0x67,0xfb, + 0xee,0x18,0x9f,0xfc,0x4e,0x3,0x7e,0x7b,0x58,0xf4,0x7e,0xfd,0xb9,0xba,0xda,0x17, + 0x12,0x61,0xf0,0xbe,0x7d,0x48,0xe6,0x41,0x3e,0x89,0x33,0x4,0x63,0x9f,0xb2,0xa1, + 0x42,0x14,0xae,0xb0,0x62,0xf3,0x1e,0xfb,0x44,0x96,0xda,0xc,0x25,0x58,0xae,0x62, + 0x1a,0x6,0x77,0x2c,0x9a,0x7a,0xc,0x20,0x42,0x3d,0xa8,0x29,0xd0,0x50,0x5a,0xe9, + 0x97,0x93,0xa,0x75,0xac,0x24,0x9b,0xc2,0x10,0xa0,0x97,0xb4,0xf2,0x8,0x52,0x53, + 0x69,0x52,0x44,0x48,0x35,0x6f,0x79,0x4b,0x20,0x2c,0x43,0x26,0x25,0x4,0x67,0x4a, + 0x59,0x1d,0x83,0x13,0xf7,0x9c,0x94,0xfb,0xdc,0x94,0xd6,0xbb,0x9f,0x58,0x5a,0x66, + 0x56,0xd0,0x58,0xcb,0xec,0xc0,0x2a,0xd9,0xc0,0x80,0xb2,0xc0,0x75,0xd4,0x41,0xec, + 0xd6,0x31,0x61,0x2f,0xde,0x6a,0x70,0xc3,0xd8,0x28,0xdb,0x88,0xda,0x50,0x2f,0xae, + 0x2d,0xb4,0x63,0xe9,0x65,0x2b,0x48,0x23,0x5a,0x66,0x1,0x44,0xf5,0xdd,0xcc,0xdd, + 0x3a,0x28,0x86,0x6a,0xa,0x84,0x13,0x7,0x71,0x98,0x41,0x34,0x77,0xe4,0xe6,0xc6, + 0x9d,0x91,0x6e,0x37,0x50,0x8,0x92,0x4,0x6b,0x9b,0x8,0x11,0x8,0x96,0x91,0x31, + 0x15,0x3,0x17,0x9,0xdd,0xa2,0x56,0xc5,0x1,0x2b,0x5c,0xb6,0x7a,0x40,0x85,0xa1, + 0x68,0xa7,0xab,0x94,0xb,0x22,0x59,0x7c,0xab,0x4f,0xbb,0xc,0x49,0xcc,0xf7,0x5d, + 0x7f,0xdf,0xe6,0x2d,0xd,0x79,0xb1,0x47,0x6d,0xf6,0xda,0xe5,0x10,0x46,0xec,0xdf, + 0xa6,0xcb,0x45,0xcf,0x7e,0xf,0x31,0x47,0xb3,0xbf,0x3,0x6b,0xea,0x7d,0x21,0x9c, + 0x19,0x54,0x35,0x73,0x7c,0x1b,0x60,0xb7,0xd,0x29,0xd4,0x8e,0x6e,0xee,0x5f,0x37, + 0x86,0x54,0x58,0x7c,0x58,0x6e,0x1f,0xd3,0x76,0x74,0x48,0x7b,0xc4,0xc6,0xd8,0xd5, + 0x3,0x24,0x41,0xa5,0x2c,0xad,0x26,0xec,0x33,0x16,0x13,0x69,0x77,0x8b,0x15,0xdc, + 0x53,0xea,0xd9,0x71,0xf7,0xb7,0xf,0x2d,0xe7,0xa3,0xe7,0x71,0x47,0xe,0xe2,0x2c, + 0x4f,0x5d,0x43,0xab,0x2f,0x46,0x72,0xe8,0xf4,0x84,0x48,0xee,0xf2,0x15,0x2e,0xed, + 0x88,0x48,0xee,0x40,0x11,0xb1,0x8c,0x6b,0xdf,0x2d,0x62,0xff,0x8a,0x78,0x51,0xdb, + 0xf7,0xb7,0x57,0x78,0x39,0x22,0x7c,0x44,0xb7,0xc7,0x87,0x8f,0xcb,0x57,0x57,0xaf, + 0x2e,0xaf,0x76,0xe5,0xfb,0x4d,0x2b,0xb6,0x68,0xbf,0x75,0xe,0x3f,0xfa,0x3,0x84, + 0xd0,0x42,0x17,0xb7,0xcf,0x3b,0x86,0xc0,0x7a,0xf6,0xbb,0xb9,0x91,0x27,0x4a,0x7d, + 0xa1,0x10,0x6b,0x3d,0xdd,0x14,0x29,0x8,0xf1,0x68,0x2e,0xda,0x21,0x39,0xc4,0x67, + 0xcc,0xc0,0x30,0x63,0xb5,0x33,0xd,0x99,0x74,0xce,0x87,0xab,0x5,0xbf,0xf5,0x84, + 0xb1,0x3,0x84,0x62,0xab,0x9,0x7e,0x86,0x46,0xce,0xf9,0x4,0x3c,0x48,0xfb,0xbc, + 0xd2,0x28,0x8b,0x17,0xc2,0xd6,0xf3,0x69,0x2,0xae,0xe7,0xde,0xac,0xc0,0x5b,0xc8, + 0xea,0x30,0x8a,0x70,0xfa,0x76,0x36,0x2c,0xc8,0x72,0x8d,0xad,0xd2,0x1b,0xc6,0x83, + 0x8,0xa4,0xa0,0x45,0xac,0x5b,0x62,0x12,0x2,0xbb,0x30,0x6d,0xb7,0x6,0x13,0x62, + 0xd3,0xe4,0x2e,0x41,0x2b,0x85,0x2,0x50,0xa8,0x7d,0xdf,0xe2,0xe4,0xc0,0xa2,0x19, + 0x5a,0x3c,0xfd,0xd0,0xc3,0xa3,0xbd,0x86,0xf2,0x97,0xbd,0x86,0xea,0x13,0xbc,0x46, + 0x2d,0xaf,0x97,0x78,0xa4,0xd7,0x38,0xbe,0x8,0x84,0x44,0xb,0x33,0xc9,0xcf,0xb8, + 0x8f,0xbd,0x9e,0x43,0xfd,0x18,0xcf,0xa1,0x79,0xd0,0x73,0x1c,0x2f,0xe3,0x17,0x3d, + 0xc7,0xbd,0xdb,0x7f,0xb7,0xbc,0x7b,0xff,0x6e,0xf6,0xfb,0x37,0x3f,0x2d,0xb7,0x3b, + 0x69,0xb,0x76,0x94,0x4f,0xec,0x8f,0xf9,0xe4,0xfa,0xe2,0xf6,0xee,0xe6,0xf5,0xcd, + 0x8f,0xf3,0xae,0x2a,0x5d,0x3c,0x5f,0x28,0x83,0xb7,0x4f,0xcc,0x7f,0xd3,0xc3,0x3c, + 0x3f,0xbd,0xfb,0x3f,0xbf,0xce,0xed,0xe1,0x9c,0x2f,0xbb,0x7e,0x36,0xcd,0x3c,0xe4, + 0x62,0xbb,0x88,0xd8,0x7e,0xe1,0xde,0x34,0xf3,0x0,0x8c,0x43,0x29,0xa3,0xaa,0xce, + 0x6a,0x3a,0xd3,0xb4,0x2b,0xec,0x81,0x31,0xed,0xe0,0x58,0xf8,0xa8,0x73,0xa2,0xfb, + 0xd5,0x3c,0x29,0x1f,0xfd,0xd6,0x1,0x5a,0x5,0x19,0x91,0x56,0x3c,0x4c,0xe5,0xd7, + 0xc1,0xa4,0xd,0xeb,0xce,0xfb,0xd2,0x36,0x94,0x19,0x5c,0x9c,0x68,0x77,0x33,0xd9, + 0x49,0x1b,0xef,0xa6,0x7,0x2,0x93,0x64,0x8d,0xe3,0x1a,0x7f,0xdc,0x96,0xbc,0x72, + 0x95,0x58,0x87,0x54,0x94,0x59,0xde,0x77,0xdd,0x19,0x60,0x29,0xdb,0x74,0xa1,0x52, + 0x80,0xca,0xf9,0x6c,0xdc,0xec,0x46,0x3c,0xee,0xd,0x14,0x2,0x49,0x94,0x31,0x2, + 0x14,0x22,0xe0,0x88,0xd8,0x39,0x91,0x25,0x2,0x81,0x66,0x3a,0xec,0xb0,0x70,0x60, + 0xfb,0xb6,0xac,0xd6,0xc9,0x58,0xbd,0xd8,0x4f,0x2b,0xa7,0x81,0x4b,0xa8,0xfe,0x3, + 0xb1,0x4a,0x5a,0x7,0x59,0x35,0x3a,0x19,0xab,0x4,0x88,0x56,0xae,0xb6,0x89,0xff, + 0x35,0x98,0x65,0x26,0x93,0xa3,0x7d,0xf1,0xf0,0xe9,0xc2,0xc4,0x40,0x8c,0x2d,0x76, + 0x88,0x65,0x5,0xa9,0xb0,0xd8,0x99,0x8a,0x38,0x60,0xb1,0xd5,0x48,0xaf,0x20,0xa0, + 0x2a,0xea,0xce,0x14,0x87,0x21,0x4c,0x32,0x3b,0xba,0x3b,0x1b,0xfa,0x96,0xbe,0x90, + 0x4d,0xbe,0xad,0x2f,0x3c,0x6b,0xe3,0x85,0xeb,0x70,0xe3,0xed,0xb8,0xc6,0x1f,0x79, + 0xb2,0x5b,0x82,0xc1,0xa6,0xb,0x61,0x5,0x7b,0x36,0x10,0x26,0x14,0x80,0xc4,0x46, + 0x23,0x61,0x42,0x40,0xac,0x32,0xf0,0x25,0x33,0xa8,0x8c,0xbe,0xc3,0x17,0x25,0xb8, + 0x65,0xea,0x59,0xed,0x31,0x25,0xe,0xdb,0x63,0x9c,0xce,0x1e,0xbb,0x1d,0x32,0x58, + 0x78,0x6,0xf2,0xa4,0x2,0x24,0x7d,0x1d,0xe7,0xc2,0xd9,0x81,0xcb,0xab,0x76,0xcc, + 0x10,0x5,0x82,0x4a,0x65,0xc7,0xc,0x3,0x28,0x82,0x63,0x30,0xc3,0x31,0x6d,0x47, + 0x87,0xb4,0x5b,0x66,0x88,0x10,0xe5,0x4c,0x19,0xf6,0x4d,0xa9,0x75,0x3c,0x1b,0xb5, + 0x1b,0xbd,0x2c,0x43,0x88,0x6f,0xc0,0xeb,0x59,0x4d,0x5c,0xe5,0xb0,0x7f,0x73,0x3e, + 0x8e,0xd7,0xc3,0xb7,0x62,0xc6,0xdb,0x36,0x7,0xef,0xf0,0x8c,0x37,0x83,0xce,0xaa, + 0x53,0xe2,0x79,0x58,0xa7,0xf4,0x94,0x41,0x49,0x20,0xa3,0xca,0xea,0x9c,0x1,0xa1, + 0x47,0xe4,0x94,0x20,0x69,0x95,0xd8,0x4e,0x93,0x37,0xdc,0x84,0x58,0x82,0x26,0x76, + 0x3,0x96,0xd4,0x89,0x35,0x80,0x55,0x8d,0x76,0x54,0x4e,0x18,0xb4,0x44,0x72,0x54, + 0x39,0x2f,0x70,0x8a,0x1c,0x47,0xd4,0x31,0x6d,0x47,0x87,0xb4,0xe3,0x88,0x1a,0x51, + 0x49,0x71,0x5e,0x8d,0xcb,0x3a,0xac,0x71,0xfe,0x14,0x8d,0x43,0x85,0x4c,0x77,0x1d, + 0x35,0x2e,0xd,0xd2,0x89,0x77,0x34,0x4e,0xd,0x9c,0x7,0xed,0x6c,0x68,0x2a,0x78, + 0x23,0xfd,0xbc,0x8d,0xaf,0x2f,0x34,0x3e,0xbf,0xd6,0x88,0x2a,0x8,0x58,0x22,0xb6, + 0x13,0x82,0x4,0x48,0x21,0xd1,0x8e,0x89,0x22,0x88,0x2b,0xcb,0x48,0x98,0xb7,0xb4, + 0x94,0x7c,0x56,0xc2,0x2c,0xe9,0x20,0x61,0x81,0x5f,0x8b,0x30,0x13,0x50,0x35,0xf2, + 0x1d,0x9f,0x86,0x90,0xce,0x94,0xf,0x1e,0x69,0x13,0x1e,0x69,0x23,0x61,0x21,0xe0, + 0xc4,0x94,0x67,0x25,0x2c,0x44,0xe,0x13,0xc6,0x27,0x9c,0xbf,0x9a,0xb8,0xeb,0xfd, + 0x9c,0x20,0x5d,0x54,0xb0,0xa6,0x3,0x2c,0x9a,0xb,0xb8,0xba,0xc7,0xc0,0x22,0x93, + 0x42,0xb9,0x55,0xd,0x2c,0x9a,0x27,0x54,0x66,0xc,0x24,0xde,0x27,0x3d,0x6f,0xe0, + 0x5b,0x71,0x98,0x44,0x3d,0xdb,0xc4,0xa,0xd1,0x4,0xcd,0x56,0x13,0x2b,0x77,0x4f, + 0x9d,0x89,0x74,0x4,0x4e,0xf4,0xda,0x51,0x49,0x36,0xe0,0xf2,0xcc,0xd1,0x86,0x93, + 0x20,0x43,0xd1,0xb6,0xc8,0x1c,0xd2,0xe,0xd3,0x8,0x87,0x44,0xe,0x3f,0xaf,0xd, + 0x93,0x1f,0x66,0xd3,0xbf,0x92,0xd,0x73,0xa,0x18,0xba,0xc6,0x48,0x98,0xb,0xa0, + 0x64,0xe9,0x48,0x58,0x9f,0x77,0x49,0xea,0x48,0x98,0xae,0xd3,0x9e,0x93,0x30,0x45, + 0xff,0x82,0xfa,0x1d,0x39,0x4a,0x1c,0xde,0xa0,0x39,0x6e,0xe6,0x3c,0xbc,0xf1,0x73, + 0xdc,0x24,0x7a,0xd6,0xc6,0x13,0x1f,0xd6,0x96,0xfc,0x6a,0x1e,0x9f,0x77,0xa8,0xa, + 0x7,0xc5,0x87,0x7a,0xd2,0xe3,0xb6,0xda,0xa1,0x8a,0xb,0x42,0x2a,0xe3,0xbc,0x6e, + 0x4a,0xe5,0x30,0x55,0xfc,0xb5,0xa8,0x22,0x83,0x60,0xa1,0xdc,0xd1,0x2d,0x1,0xcc, + 0xe2,0x81,0x2f,0x2e,0x4,0x67,0x2c,0x7a,0xf0,0x18,0x54,0x31,0x4c,0xff,0xb6,0x7c, + 0xe9,0x29,0xf9,0xb2,0x4,0x9b,0xd8,0xff,0x4e,0xb9,0x32,0xcc,0xc3,0x5c,0x3d,0x25, + 0x4c,0xe7,0xc0,0x7d,0xe,0x38,0x19,0xec,0x81,0x3,0xe6,0x2a,0xe0,0x3d,0xe,0x98, + 0x56,0x69,0xcf,0xdb,0xf8,0xf8,0x42,0xe3,0xf3,0xab,0x19,0x96,0x40,0x68,0x72,0x8d, + 0x84,0xa9,0x82,0x5a,0xec,0xce,0xa4,0xd1,0xc0,0x23,0x76,0x9d,0xb6,0xb,0x90,0x18, + 0xc9,0x99,0xc3,0xf4,0xc3,0x4e,0xbb,0xf0,0xef,0x8f,0xb0,0x73,0xae,0x3d,0x30,0xdb, + 0xc1,0xf5,0x2c,0x9,0x39,0x61,0x84,0xc9,0xce,0xab,0xe7,0x3e,0xb0,0xa2,0xcc,0xbc, + 0x11,0x3,0x22,0x45,0x4d,0x44,0xa0,0x8e,0x6e,0x13,0xa9,0x21,0x30,0xb7,0x6b,0x1a, + 0x9,0x45,0x3c,0xae,0x38,0x28,0x83,0x53,0x98,0xd0,0x78,0x7a,0x97,0x11,0x5c,0x29, + 0xb7,0xd6,0x16,0xf6,0xa6,0x7d,0x35,0xa4,0x1d,0x5e,0x31,0xab,0xe8,0x99,0x79,0x56, + 0xaa,0xad,0xf2,0x30,0xd5,0x76,0x42,0xaa,0x2d,0xc3,0x25,0x27,0x2,0x43,0x67,0xf2, + 0xe9,0x82,0x1b,0x26,0xa2,0x13,0xb,0xb0,0x65,0xd1,0x44,0x82,0x1,0x91,0xd9,0xb8, + 0x56,0x81,0xdc,0x5d,0x50,0xec,0xe3,0x43,0x60,0xc4,0xc0,0xb5,0x25,0x60,0x96,0x67, + 0xc,0x5c,0x8f,0x69,0x3b,0x3a,0xa4,0xdd,0xe2,0x7a,0xb5,0x19,0xaf,0xfc,0xbc,0xeb, + 0xb4,0x68,0x5f,0x20,0x3b,0x4e,0x46,0xb6,0x81,0x22,0x8a,0x7b,0x7f,0xe9,0x15,0x50, + 0x14,0x15,0xf5,0x85,0x34,0x2,0x4c,0x35,0xac,0x89,0x80,0x54,0x95,0x75,0xa2,0x22, + 0x20,0xc2,0x76,0x2d,0x13,0x8,0x59,0x47,0xca,0xc5,0xc1,0xc3,0x5c,0x73,0xa0,0xbc, + 0xc,0xc2,0x8b,0xa3,0x46,0xca,0x1d,0x98,0x42,0x4c,0x7,0xca,0x5d,0x81,0x94,0x38, + 0x69,0x9b,0x72,0xd,0x8,0x75,0xc5,0xf3,0xfa,0x5e,0xb4,0x83,0x83,0x95,0x44,0x9d, + 0x70,0xc6,0x9f,0x91,0x24,0x32,0x21,0x24,0x55,0xf0,0xac,0xc3,0xed,0x2f,0xf,0xa5, + 0x6,0x25,0x89,0xea,0x44,0x4c,0x40,0x2c,0xda,0xf4,0x9b,0x41,0x82,0x79,0x74,0xd1, + 0x44,0x20,0xec,0x92,0xba,0xfb,0x96,0x6f,0x49,0xa9,0x9d,0x35,0x0,0x52,0xd0,0x12, + 0x93,0x31,0x2,0xda,0xa4,0x3d,0xf3,0xf2,0x30,0xca,0x41,0x55,0x4e,0x3a,0x21,0xaf, + 0x55,0x55,0x34,0x53,0x16,0x90,0x4a,0xae,0xde,0x9e,0x48,0x63,0xe0,0xee,0x18,0xb5, + 0xbc,0xd0,0x89,0x1,0x35,0x5,0x7d,0xad,0xe0,0xac,0xcc,0xa2,0x2d,0x51,0x80,0x25, + 0xc9,0x83,0x7b,0xae,0xa,0x1e,0xe1,0x52,0x83,0x42,0x7,0xa8,0x33,0x87,0x8f,0xa, + 0x3d,0xa6,0xed,0xe8,0x90,0x76,0x54,0x68,0x2b,0xa3,0x8a,0xf3,0x12,0xcf,0x76,0x98, + 0x78,0x39,0xdd,0xba,0x3c,0x81,0x11,0xca,0xc4,0xe0,0x4a,0x1c,0xd2,0x18,0x9d,0x31, + 0xf2,0xc0,0xc8,0xc6,0xfb,0x45,0x75,0xc7,0xc1,0x9d,0xeb,0xc,0x40,0x63,0x9e,0x2, + 0x54,0xd2,0xdd,0xbf,0x2a,0xe7,0x7e,0x56,0xce,0xf9,0x4b,0x9c,0x9f,0x72,0x90,0x24, + 0x45,0x13,0x99,0x8,0xd0,0xc9,0xd2,0x9a,0x13,0x91,0x4a,0x2d,0x9d,0x10,0x54,0x88, + 0x3d,0x26,0x57,0x10,0xc6,0xb6,0x98,0x48,0xae,0xc0,0xb8,0xab,0xe0,0x5a,0x80,0x58, + 0x99,0x3a,0x90,0x9d,0xa0,0x65,0x42,0xcc,0x63,0x40,0x12,0x20,0x81,0x99,0x39,0x7a, + 0x6c,0x88,0x40,0xf2,0x8a,0x31,0x20,0xa9,0x30,0x54,0xb4,0xf3,0x92,0x8d,0x71,0x98, + 0xec,0x38,0x65,0x44,0x62,0x49,0xe2,0x13,0xb6,0x1f,0xa0,0x2c,0x27,0x9e,0x2e,0x5c, + 0x81,0x2a,0x3c,0x1a,0xbd,0x9,0x6e,0xcc,0xf,0xe9,0x25,0xaa,0x18,0xe3,0x3d,0x6, + 0xf,0x15,0x8c,0x2d,0x22,0xf7,0xa6,0x7d,0x35,0xa4,0x1d,0xdf,0xa3,0xcd,0xea,0x54, + 0xe7,0x1d,0x10,0x59,0xec,0xe0,0x80,0x98,0x75,0x4e,0x5d,0x26,0x40,0x8b,0xa0,0x58, + 0x45,0x1f,0x81,0x3a,0x79,0x41,0x31,0x4a,0xb,0xf8,0x2,0x81,0xdd,0x7d,0x1c,0x10, + 0x35,0x41,0x2b,0xcd,0xc7,0xed,0x20,0x8,0x49,0x64,0xa8,0xb5,0xb3,0x34,0x97,0x10, + 0xc2,0xb1,0x73,0x33,0x86,0x41,0xdc,0x82,0xbd,0xce,0xbc,0x7e,0xe2,0x7,0x89,0xad, + 0x53,0x8e,0x88,0x91,0xc8,0xac,0x6b,0xbd,0x4d,0x29,0x64,0x9e,0x58,0x81,0x4b,0x1b, + 0xc9,0x54,0x90,0x1a,0x36,0x12,0x69,0x8,0x15,0xa4,0x19,0x3,0x91,0xc1,0xe0,0x2c, + 0xa6,0x39,0xf0,0x98,0x6,0x26,0x3e,0xd0,0xb8,0x95,0xf4,0x9b,0x9a,0x7f,0x9d,0x72, + 0xee,0x87,0x9e,0x16,0xb6,0x31,0x7f,0x2e,0x2a,0x9f,0x2e,0x2,0x81,0x93,0xdc,0x9b, + 0xf9,0x17,0x60,0x95,0x7d,0x5d,0xf3,0xff,0xb6,0xf4,0xda,0xa9,0xe9,0xd5,0x1d,0x7a, + 0xd3,0x80,0x34,0x94,0x57,0xde,0x35,0x33,0xf5,0xeb,0xd3,0x3b,0x9e,0xfb,0x3b,0x7c, + 0xc4,0x6f,0xf7,0x64,0x60,0xb1,0x6f,0x9d,0x64,0xbe,0x9b,0x3b,0xe0,0xd3,0xbe,0xed, + 0xf6,0x78,0xbe,0x0,0x53,0x47,0x19,0x9e,0x70,0xd0,0x66,0x46,0x9,0x88,0x5e,0x2a, + 0x5b,0xf0,0xf,0xcb,0x9b,0xd7,0x3f,0xcc,0xfd,0x57,0x8,0x14,0xee,0x68,0x5b,0xd7, + 0xfa,0x49,0x89,0xbd,0x97,0xba,0x24,0xad,0xde,0x62,0xaf,0x43,0xe7,0xba,0xe,0x3c, + 0xa1,0xfd,0xf3,0x67,0x33,0x10,0x4,0xfb,0x87,0x76,0x8f,0x68,0xdc,0xdd,0x7e,0xfc, + 0xf1,0x7a,0xf7,0x8c,0xc6,0x80,0x1e,0xff,0x50,0xf6,0x8e,0xae,0x76,0xbe,0x3f,0xc7, + 0x2f,0x1f,0xfd,0x6a,0x7f,0x5d,0x2f,0x5f,0xbd,0xef,0x7f,0x7d,0x3a,0xa8,0x70,0xf9, + 0x76,0x79,0xfd,0xd3,0xcd,0xf2,0xe7,0x19,0x5d,0xd3,0xf2,0xf2,0xf2,0xbe,0xc7,0xde, + 0x5d,0xbe,0x5e,0xb6,0xbd,0xf3,0x73,0xdf,0xaf,0x39,0x58,0x5f,0x78,0x79,0x7b,0x77, + 0xbd,0xbc,0xdb,0x5c,0xf2,0xfe,0x19,0x2e,0xad,0xe5,0x68,0x3a,0x83,0xf3,0x85,0xc1, + 0xe6,0x5a,0xa9,0xf7,0xd7,0x71,0xff,0xf5,0xb9,0xbd,0xd7,0xb7,0x3f,0xcf,0x7a,0xb8, + 0x7b,0xf1,0xd7,0xdb,0xdb,0xb7,0xad,0x54,0x53,0xcf,0xb0,0xdd,0xab,0x7d,0x79,0x83, + 0x1c,0x54,0x9c,0x1e,0x5e,0x6c,0xe2,0xf4,0x68,0x57,0xeb,0xe1,0xc5,0x8f,0x77,0x77, + 0xb3,0x9,0x5e,0xbc,0xb9,0xfc,0xdb,0x72,0x6e,0x53,0xff,0xb5,0x31,0x89,0x99,0xe6, + 0x9f,0x5f,0xdf,0x35,0x6e,0x5e,0x5d,0xbe,0x69,0xe4,0x8c,0x59,0xaf,0x6f,0xaf,0x3e, + 0xbe,0x6d,0x79,0x3f,0xae,0x94,0xff,0xdd,0x2f,0xbb,0x29,0x5a,0xe6,0x8b,0x97,0x2f, + 0x6f,0x7f,0x69,0x8b,0x8c,0x1f,0x37,0x5,0xbc,0xfe,0x78,0x33,0x9f,0x12,0xb9,0x7d, + 0xb3,0x9c,0xcd,0xfe,0x6a,0xd9,0xa8,0xa0,0x9e,0x75,0x53,0x65,0xbf,0xfe,0x7e,0x93, + 0x65,0x2c,0xb1,0x5f,0x1b,0x8a,0x1c,0xaf,0xff,0x7c,0xf3,0xe3,0xcc,0xdf,0x4a,0x1f, + 0x1b,0x25,0xe8,0x9f,0x49,0x71,0x6f,0x3f,0x96,0x9f,0x49,0x31,0xd7,0xc0,0x69,0x9f, + 0xb9,0xd8,0x5c,0x85,0x74,0x53,0xde,0xd6,0xaa,0x2e,0xdd,0xc6,0xaa,0x6e,0xef,0x9a, + 0x6f,0xbb,0xfc,0x70,0x73,0x3b,0x9f,0x7d,0xf8,0x61,0xfe,0xf6,0xeb,0xed,0xfc,0xf5, + 0xcd,0xbd,0xd5,0xbd,0xbb,0x7d,0x7f,0xb3,0xba,0x28,0xc,0x9a,0xa1,0x3b,0x3b,0x32, + 0x7a,0x61,0x3c,0x3c,0x9d,0x66,0x20,0x76,0x93,0x76,0x75,0x90,0xe1,0x97,0xbf,0x35, + 0x6c,0x28,0xa0,0x1,0xc5,0x82,0xf7,0xe0,0xfb,0xa6,0x7c,0x3f,0xbe,0x6e,0xce,0xaf, + 0x11,0x3e,0xa2,0x7f,0x1b,0xd1,0xe5,0xdb,0x77,0xeb,0xb,0x73,0x4b,0x9b,0x4,0xdd, + 0x90,0x1e,0xda,0x4f,0xc7,0xdf,0x2e,0x3f,0x5c,0x5e,0x5f,0x7e,0xb8,0xfc,0x64,0x4c, + 0x1b,0x84,0x84,0x78,0x43,0xd3,0xdd,0xf5,0xab,0xe7,0xff,0xf1,0xa7,0xbf,0xdc,0xfb, + 0xbf,0xab,0xab,0xe7,0xff,0xfb,0xf6,0xae,0xb9,0xd1,0xf5,0xa7,0x25,0xb8,0x7c,0x79, + 0xfb,0x71,0xee,0x96,0x9e,0x67,0x9d,0xee,0xfa,0xea,0x79,0x1b,0x1c,0x2e,0x3f,0xfc, + 0xcb,0xcd,0xdb,0xd9,0x44,0xbe,0x7b,0xff,0xd3,0xeb,0xff,0xfa,0xcb,0xdb,0x37,0xb3, + 0x59,0x6f,0x2e,0x8c,0x89,0x1b,0x21,0x33,0x30,0x14,0x7b,0xb7,0x7c,0x7f,0xfb,0xf1, + 0xae,0x69,0xdb,0xf,0x1f,0x3e,0xbc,0x7b,0xfe,0xdd,0x77,0xef,0xe6,0xb3,0x69,0x70, + 0x7b,0xf7,0x7a,0x2e,0x64,0xfe,0xef,0xed,0x4d,0xcb,0xf4,0xdd,0x7f,0x7e,0x98,0x3d, + 0xdd,0xff,0x68,0x95,0x6c,0x38,0xbf,0x97,0xf4,0xcd,0xcd,0xd5,0xf2,0xc7,0xf7,0x5f, + 0x2e,0xf7,0xea,0x6e,0x79,0xd9,0x8e,0xc4,0x5c,0xdd,0xbe,0x7d,0x7b,0xfb,0xe3,0xfb, + 0x5e,0xc5,0x3a,0xef,0xfb,0xef,0xfe,0xfb,0xbf,0xbf,0xf8,0x8e,0x1,0xbf,0x6b,0xa5, + 0xf,0x22,0x5f,0xcd,0xaa,0x71,0x77,0x33,0x1f,0x64,0xbb,0xbd,0x6b,0x17,0xb6,0x2b, + 0xfe,0xe3,0xeb,0xfb,0x23,0x39,0x43,0x23,0x6f,0x3e,0xbc,0x59,0xfe,0xcb,0xbf,0xcd, + 0xdd,0xbe,0xfc,0x71,0xf1,0x61,0x79,0xf9,0xb6,0xd3,0xd1,0xd1,0xa1,0x84,0xef,0x86, + 0x22,0xd6,0xd8,0x9e,0x1a,0x3b,0xbe,0xee,0x91,0xed,0x1e,0x7a,0x31,0xb4,0x7b,0xe8, + 0xa4,0xa3,0x9a,0xfc,0x62,0xd5,0x66,0xfa,0xee,0xf,0x3,0x9f,0xed,0xbc,0xcd,0x4c, + 0xfa,0xfb,0x2f,0xf2,0xf9,0xf3,0xf2,0x25,0x6c,0xc0,0x56,0xf2,0x2c,0xe3,0x77,0xff, + 0xb1,0x7c,0x77,0x77,0x7b,0xfd,0xf1,0xaa,0x59,0x4f,0xa3,0xf2,0x64,0x5,0xff,0xe9, + 0xe6,0x7d,0x27,0x65,0x6f,0xc1,0x77,0xcb,0xff,0xf7,0xf1,0xe6,0x6e,0xf9,0xb4,0x92, + 0xff,0xd7,0xed,0x87,0x99,0x91,0xd3,0xa,0xbb,0xbc,0xbb,0xf9,0xa9,0x13,0xdf,0xfa, + 0xec,0xfd,0x69,0xe5,0xfd,0xcf,0x79,0xdc,0x5d,0xfe,0xf1,0xcd,0xcd,0x5f,0x97,0x27, + 0x2e,0xb7,0x7f,0xfb,0xfe,0xf6,0xba,0x95,0x3b,0x28,0xde,0x5a,0xd1,0x36,0x83,0xf7, + 0xbd,0xb3,0x68,0x5f,0x36,0xde,0xa4,0x7f,0x7b,0xbd,0xf1,0x32,0x5b,0xa3,0xd5,0xe0, + 0xa2,0xdf,0x5c,0xbe,0x5c,0xbe,0xf9,0x6f,0x7f,0x78,0xd1,0x2e,0x2e,0xe8,0xe1,0x98, + 0x74,0xfb,0xf1,0xdd,0xdb,0x59,0x80,0x75,0xf6,0xae,0x97,0x9b,0x83,0xad,0x87,0xcf, + 0x33,0xe,0xde,0xb5,0xa5,0xe7,0xbe,0xc5,0x66,0xfb,0x40,0xa9,0x21,0x64,0x71,0x54, + 0x4d,0x2,0x9c,0xc4,0x65,0xb5,0x78,0xb1,0x85,0x22,0x68,0xba,0x65,0x68,0x6c,0xe0, + 0x31,0x71,0x3f,0x6e,0x79,0xec,0xcb,0x72,0x10,0xc2,0x3c,0x13,0xc3,0xef,0x4f,0xd0, + 0xf6,0xb0,0xec,0xd7,0x39,0xe,0x39,0x14,0xa5,0xd9,0xd7,0xa,0xcf,0x74,0x7f,0x78, + 0xf6,0x74,0xbe,0xd1,0x76,0xf8,0x4e,0x6,0xa2,0x14,0xac,0x89,0x18,0x48,0xcb,0xb2, + 0xf1,0xbd,0x85,0x22,0x28,0x6a,0xca,0x6,0x1d,0xd3,0x7e,0x96,0xee,0x9f,0x7f,0x98, + 0x9b,0xfb,0xf,0x44,0xf6,0xeb,0x21,0x2e,0x30,0xda,0x5a,0x9c,0xfb,0xb0,0xef,0xf8, + 0x9c,0x1a,0x55,0x6e,0xd6,0xb6,0x36,0xdf,0x8c,0x0,0xb3,0x90,0x6c,0x52,0x3,0x2b, + 0x2b,0xb7,0x67,0xdd,0x7a,0x86,0x2a,0xf6,0x59,0xe2,0xec,0xa3,0xde,0xbc,0xb9,0x5d, + 0xdb,0xe2,0x28,0x48,0xad,0x4b,0x18,0x75,0xe2,0x80,0x6c,0x65,0x62,0x9e,0xd6,0x65, + 0xfb,0xf4,0x4d,0xa0,0xca,0x44,0x48,0x26,0x83,0x70,0x67,0xbc,0x7f,0xb6,0xfe,0xe1, + 0x19,0xce,0xa5,0x5d,0xbe,0xbc,0x7a,0x79,0xfe,0xf3,0xe8,0xc7,0x3f,0x32,0xd4,0xd4, + 0x64,0x14,0xbd,0x2b,0x3a,0x51,0x40,0xf6,0xc3,0x8b,0x44,0x8,0x6e,0xab,0xb3,0xdb, + 0x44,0xe,0x66,0xd8,0x40,0x86,0x7e,0x7a,0x9c,0x10,0x41,0xcc,0x94,0xfb,0xed,0x22, + 0xf5,0xf2,0x45,0x24,0x8,0x17,0x45,0xce,0x90,0x0,0x65,0xd8,0xc2,0x15,0x34,0xa3, + 0xaa,0x36,0x50,0xcb,0x6a,0x8,0xae,0x9e,0xfc,0x9,0xe3,0x4,0x4f,0xc1,0xa2,0x19, + 0x62,0x30,0x61,0x5a,0x10,0xdf,0xe7,0x24,0x1,0xa1,0xb5,0x18,0x40,0xc4,0x2b,0x90, + 0xa0,0x15,0xd6,0x20,0x74,0xa,0x59,0x41,0xe5,0xc4,0xb1,0x20,0x84,0x62,0xd3,0x9e, + 0x8c,0xc1,0x5a,0xe6,0xbd,0xd8,0x8b,0xa1,0x16,0x85,0xe,0x7e,0x3f,0x48,0x23,0x5d, + 0x9a,0x6d,0x91,0xf5,0x61,0xcb,0x74,0xdd,0xb2,0x81,0x81,0x15,0x38,0xf0,0xc4,0x9d, + 0xa7,0x6d,0x32,0x5,0xd6,0xed,0x4a,0xc0,0xa4,0x68,0x10,0xad,0xdf,0x46,0xb2,0xf, + 0x24,0xa,0x28,0xd5,0x5a,0x75,0x4e,0x7a,0x18,0xef,0xed,0xb0,0xcd,0x3,0xd,0x47, + 0xaf,0x66,0x6a,0x6b,0x73,0x3c,0xe4,0xe,0xfb,0x23,0x70,0xfb,0xff,0xd6,0x66,0x3d, + 0xda,0xdd,0x7e,0xcb,0x6b,0x8a,0x3c,0x47,0x87,0xbf,0x7c,0x78,0x50,0xf1,0x6b,0x61, + 0xe1,0x1,0xfd,0xb0,0x6f,0x47,0x8,0x93,0x42,0xb1,0x65,0x4d,0x17,0x9d,0x31,0x42, + 0xcd,0x67,0xa7,0x11,0x40,0xad,0xe8,0x4,0x2,0xc,0x5e,0xe3,0xb8,0x7,0x4b,0xf6, + 0xcf,0xde,0xae,0x10,0xc5,0x7a,0x68,0x7b,0x5a,0xc0,0xc4,0x59,0x3a,0x19,0x43,0xb1, + 0xa0,0xae,0xcd,0xc5,0x82,0x4c,0x64,0xb2,0x2,0x49,0x53,0xb2,0x85,0x29,0x90,0x95, + 0x87,0x4e,0x21,0x40,0x51,0x21,0xd9,0xd2,0x15,0x32,0x1a,0x4d,0x91,0xa0,0x29,0x5a, + 0xbc,0xca,0xad,0x5e,0x96,0x31,0x45,0xcd,0xa8,0x9a,0x56,0xab,0x27,0x9c,0x84,0x6b, + 0x4a,0x4,0xd4,0xa8,0xf0,0x86,0x69,0x55,0x88,0x34,0x4c,0x10,0x49,0x5a,0x6e,0x65, + 0x30,0x8c,0x20,0x9a,0x52,0x0,0xcb,0x9d,0x75,0x21,0xa,0x68,0x9e,0x91,0x53,0x32, + 0xa4,0xa9,0xa6,0x2d,0xd8,0xc1,0x8c,0xbd,0x66,0xcc,0xc1,0x9,0xcd,0xa3,0x19,0x92, + 0x40,0x78,0xb0,0xe9,0x94,0x9,0xd8,0x2a,0x92,0x5,0x23,0x58,0x51,0x24,0x4f,0xc5, + 0xc0,0x22,0x19,0xb5,0xa0,0x26,0x8f,0xce,0x88,0x82,0x26,0x7b,0x68,0xd3,0xfe,0x0, + 0x56,0xa4,0x9a,0x8,0x9,0x44,0x89,0x64,0x41,0xa,0xaa,0x14,0x2e,0xdd,0x70,0xd0, + 0x45,0xf7,0x40,0xcd,0x9a,0xc,0x4a,0xca,0x4b,0xbb,0x51,0x47,0xaa,0x4a,0x7f,0x6c, + 0x5,0x48,0x72,0xb2,0xae,0xac,0x3a,0xac,0x6c,0x61,0xc,0x22,0xcc,0xa1,0x6b,0x7b, + 0x6d,0xf9,0xdd,0xc0,0x4,0x23,0x7d,0xb,0xeb,0x96,0x1d,0x5c,0x5c,0xb5,0x85,0x56, + 0x41,0x10,0xba,0xac,0x9c,0x96,0x39,0xe6,0x82,0xc8,0x80,0x4c,0x62,0x65,0xdb,0xe1, + 0x6a,0xbe,0xf6,0x9e,0x4e,0x95,0xd4,0x7d,0xf,0xaa,0x58,0x13,0x68,0x83,0xf2,0x16, + 0xda,0x72,0xa5,0x9,0xc7,0xd4,0x95,0x90,0xbb,0x37,0x23,0x2,0xe1,0x62,0x9d,0x4a, + 0x40,0x9d,0x13,0xbd,0xe7,0x46,0x30,0x24,0xf7,0xa9,0x8,0x98,0x14,0x1b,0x41,0x18, + 0x20,0xec,0x54,0xad,0x17,0x2a,0xb5,0xba,0x2f,0x54,0x30,0xc5,0xb0,0x29,0xd,0xac, + 0xd0,0x2b,0xe7,0xdc,0x15,0x80,0xe2,0x66,0x31,0x25,0x41,0x8a,0x3a,0xd9,0x22,0x13, + 0x2c,0x2d,0x4c,0xef,0xfb,0x7a,0xc6,0x8,0xac,0x24,0x88,0x6,0xad,0x48,0x84,0xc4, + 0x28,0xd5,0xa6,0x53,0xa1,0x64,0x2a,0x8b,0x28,0x70,0x23,0xa7,0x68,0xda,0x97,0x92, + 0x8c,0xd6,0x31,0x8a,0x58,0x61,0xc2,0xda,0x5f,0xc0,0xd5,0x51,0xd4,0x64,0xeb,0xa8, + 0x2a,0x51,0x36,0xcc,0x2a,0xbd,0xbc,0x63,0x1e,0x85,0xd2,0xb1,0xb4,0xd4,0x15,0x96, + 0x91,0x51,0x2d,0xb7,0x83,0x92,0x62,0xce,0xa8,0x0,0xb2,0xb1,0x6b,0x4b,0x59,0x2c, + 0x42,0xdd,0x40,0x8c,0x15,0xa9,0x9,0xce,0x61,0x88,0xb2,0x65,0x4a,0x2f,0x5a,0xdf, + 0xb2,0x4a,0x69,0x4d,0x8e,0xc0,0x4c,0x1a,0x3e,0xa3,0xfb,0xcc,0xee,0xd7,0x23,0x6, + 0xf5,0x3d,0x2f,0xbf,0x37,0xe3,0xfc,0xd6,0x8f,0xa3,0x3a,0x3e,0xc8,0x21,0x40,0xaa, + 0xf4,0xe4,0x1e,0xe4,0x7c,0xfa,0x46,0x4,0x46,0x5d,0x33,0x2f,0x18,0xd4,0xd3,0x34, + 0xed,0xd9,0x11,0x23,0xc7,0xe7,0xbc,0x9d,0x72,0xee,0xf1,0x76,0x1c,0x20,0xe1,0xc8, + 0xde,0x7d,0x86,0x68,0x95,0x36,0x33,0x55,0xe0,0x30,0xc9,0x19,0x2d,0xc8,0x60,0xe7, + 0x85,0x12,0x54,0xa,0xcf,0x50,0x31,0x18,0x4a,0xda,0xca,0xd7,0x69,0xe8,0xc,0x29, + 0x30,0x6b,0xa1,0xb6,0x8e,0x4c,0x48,0xa,0xa3,0x19,0x75,0x10,0x62,0xe2,0x6a,0x25, + 0x16,0x24,0x3a,0xaf,0xd2,0x3a,0xa7,0xa0,0x2f,0xa4,0x7,0xe6,0x59,0xdd,0x7a,0xd2, + 0xd1,0x94,0x16,0x6c,0xe0,0x9e,0x3c,0x63,0x99,0x40,0xc6,0xd5,0x94,0x63,0xaf,0x94, + 0x5d,0x39,0x8e,0x7d,0xed,0x96,0x19,0xfb,0xb3,0xdf,0x53,0xe0,0xa7,0x62,0xf5,0xec, + 0xf7,0xab,0x2a,0x62,0x7b,0x55,0xc5,0xdc,0x22,0x7a,0xd7,0x4,0x33,0x53,0xeb,0x58, + 0x36,0x8,0x8b,0x6a,0x7a,0x81,0x80,0x61,0xea,0xb1,0x50,0xed,0xbe,0xb2,0x66,0xcc, + 0x20,0x42,0xb2,0x64,0xa1,0x6,0x15,0x24,0xd8,0x31,0x71,0xe9,0x93,0x34,0x25,0x70, + 0xc,0x6a,0x60,0x41,0x51,0x88,0x78,0xd3,0x15,0x3,0x66,0x15,0xee,0x1a,0x14,0xc8, + 0xcd,0x37,0x71,0x42,0xce,0x58,0x79,0xf7,0xbf,0x25,0x61,0xb1,0x60,0x85,0xc2,0x12, + 0xec,0x5a,0xca,0x45,0xea,0xbc,0x78,0xb1,0x4f,0xcc,0xc3,0x8e,0x4,0x21,0xd8,0x4c, + 0xc5,0xe8,0x9f,0xf,0xa8,0x8f,0xfe,0xbe,0xd4,0x47,0x25,0xce,0xa1,0x3e,0x2,0xca, + 0x4c,0x14,0xcf,0xf6,0xeb,0x85,0xb8,0x3c,0xd4,0xb,0x73,0x88,0xf4,0x6a,0xdd,0x15, + 0xc0,0x8e,0xe9,0xd1,0xbc,0x3c,0x42,0x39,0x49,0x74,0x83,0x47,0x31,0x32,0x6f,0xe8, + 0xff,0xe7,0xee,0x5b,0x96,0x24,0xc9,0x71,0x6b,0x7f,0x25,0xac,0xb5,0x6a,0x33,0x2f, + 0x8,0xaf,0x83,0xc7,0x62,0x16,0x77,0x5f,0xf7,0x23,0x66,0x34,0xa6,0xbb,0xd7,0x6c, + 0xa4,0xfe,0x7a,0x5,0xe1,0x11,0x91,0x1e,0x59,0x9e,0xd3,0x99,0x69,0xd5,0xea,0xd4, + 0xad,0x31,0x9b,0xaa,0x38,0x4d,0x90,0x20,0x1e,0x4,0x8,0x27,0xdd,0x83,0x2,0x56, + 0x3c,0x6a,0xc,0x20,0x16,0x58,0x4a,0xac,0xb6,0x9a,0x16,0xa8,0x32,0x98,0xed,0x19, + 0x2d,0x32,0xd7,0x54,0x5f,0x1d,0x24,0x65,0xeb,0xdd,0xb4,0x5c,0xab,0xb0,0x50,0x25, + 0xcf,0x36,0x3c,0xa3,0x28,0x32,0xf6,0xe6,0x61,0xac,0x8c,0x45,0x16,0x78,0xc2,0xed, + 0x47,0x97,0x12,0xfd,0x5a,0xb6,0x10,0x1d,0x3f,0xcd,0x16,0xf6,0xb4,0xc0,0xbd,0x7f, + 0xd7,0x16,0xdc,0xe5,0x47,0x5b,0xa8,0x22,0x6e,0x68,0x8f,0x4b,0xa,0x4b,0xca,0x52, + 0x44,0x26,0x69,0x76,0x2c,0x5b,0xd0,0xf5,0x93,0x29,0xac,0xc0,0x63,0x1a,0xd9,0x2e, + 0x9e,0xb,0x15,0xca,0x8c,0x5e,0x9a,0x2d,0xb2,0x6e,0xc3,0xd2,0x77,0x25,0x75,0x84, + 0x63,0xda,0x6,0xbb,0x75,0x2f,0xf4,0x64,0x98,0x8f,0x2a,0x91,0xbf,0x98,0x43,0x67, + 0x9f,0x6e,0xb5,0xe,0x8f,0x9d,0xff,0xf2,0xcb,0x10,0xac,0x7f,0x3a,0xd6,0xc6,0xe8, + 0x73,0x2a,0xfe,0xa6,0x41,0x99,0x70,0x89,0x4d,0xa4,0xa9,0x54,0x91,0xbf,0x9e,0xed, + 0xd8,0xdc,0xa7,0x5c,0x73,0x6e,0x55,0x6f,0xa7,0x64,0xeb,0x43,0x7c,0x7f,0xfb,0xf7, + 0xb6,0x2f,0x25,0x5e,0x68,0xcf,0x1c,0x5f,0x1b,0x6c,0xfa,0xed,0xb3,0x11,0xdf,0x2, + 0xf7,0x3d,0x7f,0x82,0x8a,0xb9,0x55,0xb6,0x6f,0x18,0xf3,0x62,0x9d,0xf4,0xd6,0xa4, + 0x65,0xbe,0x6b,0x48,0xc8,0xc9,0xb6,0x83,0x44,0x71,0x5,0x98,0x1e,0x84,0xc9,0xdc, + 0x71,0x25,0xb4,0x26,0x6b,0x73,0xf7,0x5,0x32,0x7,0xae,0x50,0x51,0x39,0x77,0xfb, + 0x1a,0x34,0x77,0x0,0xbd,0x53,0xc6,0x94,0xf,0xa4,0x17,0x25,0xa8,0x20,0x69,0x79, + 0x41,0x53,0x70,0xf6,0x72,0xc5,0x20,0xae,0x16,0xf4,0x5,0x4a,0xba,0x48,0xf5,0xe5, + 0x3b,0x23,0x4d,0x90,0x2a,0x5d,0xa4,0x42,0x6c,0x2d,0xe5,0x17,0xf,0x72,0x86,0xca, + 0x28,0xbb,0x5a,0xbd,0xe2,0xe2,0xd8,0x87,0xbb,0x62,0x4e,0x51,0x39,0xc4,0x46,0x22, + 0xd5,0x72,0x6d,0x28,0x49,0x1d,0x1a,0xb8,0x38,0xd3,0xb4,0x8a,0x91,0xcc,0x8f,0xbf, + 0x27,0x6c,0xb,0x62,0xf1,0x1,0xc2,0x8d,0xb,0x25,0x31,0x6b,0xb9,0x62,0x4d,0x2e, + 0xaa,0xb6,0xfa,0xae,0x76,0xaf,0xd5,0x77,0x10,0x27,0xcb,0x91,0x5,0xbe,0xb1,0x70, + 0x64,0x55,0x6f,0xac,0x1e,0xe7,0xa4,0x79,0x9b,0xd3,0x7d,0xea,0x5a,0xf7,0xa9,0x1f, + 0x5,0xa4,0x77,0x1,0x45,0xbd,0x48,0x52,0xee,0x92,0x4c,0xec,0x2,0xf7,0x87,0xc0, + 0x33,0xee,0x5a,0xf1,0x87,0x56,0xe2,0x45,0x7b,0x78,0x68,0x2f,0x77,0x1d,0x5b,0xdc, + 0x74,0x5c,0xfc,0xb0,0x3,0xb9,0xd9,0x41,0xf1,0x8b,0xbd,0xe0,0x60,0x2f,0x77,0xc3, + 0x12,0x72,0x1b,0xb9,0x35,0x93,0xc,0x4,0x27,0xad,0x5b,0xf1,0x8b,0x99,0x9a,0x43, + 0xef,0xd,0x67,0x90,0x6e,0x42,0x71,0xf5,0xde,0xa1,0x99,0xb5,0x4f,0x43,0x71,0x66, + 0x9b,0x91,0x53,0xa3,0x1a,0x57,0xd0,0xe8,0xc6,0x9e,0xdf,0xe4,0x39,0x50,0x68,0xec, + 0x60,0x95,0x59,0xde,0xb0,0xa,0x19,0x10,0x22,0x81,0x1a,0x70,0xb8,0xd8,0x41,0x13, + 0xbd,0x93,0x9b,0xb8,0xf7,0xa0,0xac,0x29,0xbd,0xef,0x5f,0xdd,0x4b,0x17,0x8,0x12, + 0x17,0xc7,0x2,0x41,0x2a,0xf5,0x4a,0xb0,0xb3,0x8d,0x4e,0x47,0xbd,0xc8,0x3f,0x2e, + 0xa2,0x42,0x16,0x3c,0x4d,0x6d,0x34,0x15,0x72,0x5,0x8b,0x72,0xa7,0xd7,0x7e,0xe8, + 0x54,0x4c,0xc8,0xbd,0xdb,0x46,0xd3,0xa3,0x7a,0xbd,0x82,0x4e,0x8,0x83,0x5f,0x41, + 0xdb,0x8d,0xc4,0xaf,0x20,0xc8,0x86,0x5a,0xe8,0x3e,0x77,0x4b,0xe2,0x64,0xdf,0xcd, + 0x99,0x8b,0xe3,0x22,0xe3,0x76,0xea,0xb8,0x42,0xbc,0x26,0x61,0x7d,0xc5,0x9a,0xf6, + 0x89,0xc7,0xf0,0x3d,0x7a,0x70,0xa6,0xdd,0xa6,0xf3,0x2e,0xca,0x7,0x26,0xf,0x70, + 0x46,0x28,0xef,0x5a,0xdd,0xd5,0xee,0x30,0x7,0x46,0x70,0x67,0xe4,0xc8,0x70,0xde, + 0x18,0x3e,0x4e,0xcd,0xf4,0x36,0xb5,0xa3,0x14,0xcc,0x1e,0x52,0x38,0xa,0x2c,0x1f, + 0x2,0x13,0x7b,0x88,0x16,0xf,0xd1,0x72,0x3c,0xb4,0x50,0x2f,0x5a,0x60,0x3c,0x14, + 0xd6,0x2f,0xa,0xf3,0xbb,0x6a,0x9d,0x8f,0xaa,0x1d,0x2b,0x58,0xe0,0xc1,0xa,0xfc, + 0x6e,0x30,0xce,0xf,0x83,0x19,0x50,0x63,0xb0,0x87,0x65,0x39,0xed,0xb4,0x7,0x3, + 0x94,0x87,0xa1,0xe2,0xc5,0x50,0xfd,0x61,0xd2,0xfd,0x62,0xd2,0x78,0xd8,0x3e,0x7e, + 0x74,0x92,0xba,0x3b,0xc9,0xc9,0x2a,0x3d,0xd1,0xfe,0x34,0x2d,0xa9,0x39,0xb8,0xf5, + 0xa9,0xb8,0xf5,0xf7,0xbf,0x77,0x78,0x7f,0xb1,0xb8,0x85,0xcf,0xc7,0x2d,0xb6,0xcf, + 0x85,0xad,0xb3,0xa8,0xf5,0xbe,0xa0,0x75,0x12,0xb3,0xde,0x17,0xb2,0x4e,0x22,0xd6, + 0x3b,0x3,0x96,0xe7,0xab,0x8,0x75,0x6,0x7c,0x5f,0x10,0x42,0x7,0x53,0xef,0xee, + 0x5c,0x9d,0xad,0xc1,0x4b,0xed,0xca,0x6d,0x91,0x72,0x21,0x73,0xd,0x60,0xa9,0x62, + 0x3e,0x3,0x4,0x38,0x35,0x8f,0x9c,0xd8,0x49,0xdc,0xc2,0xce,0xf0,0xd3,0xbc,0x78, + 0x9f,0xd7,0x63,0xf6,0x72,0x16,0xb5,0x70,0x13,0x51,0xd4,0xd2,0x9c,0xdb,0xc2,0x9c, + 0x3a,0x23,0x6d,0x69,0x20,0x10,0x43,0x9b,0x94,0x52,0x77,0x55,0xb5,0x68,0xee,0x60, + 0x7,0x96,0x5e,0x62,0x75,0xa7,0xdc,0xbb,0x6e,0xa4,0xf6,0xa8,0xc5,0x26,0x43,0xdb, + 0x74,0x8b,0x5a,0xaa,0xf0,0xe5,0xce,0x4e,0xb9,0x86,0xda,0xc3,0x5d,0x4a,0xf4,0xee, + 0x69,0x1a,0xac,0x97,0xc4,0x4d,0x6e,0x4e,0x8,0x7d,0xf6,0xc6,0x3c,0x84,0xac,0xd5, + 0xc4,0xa8,0xed,0x11,0x70,0x22,0x3d,0x7c,0x1a,0x85,0x99,0xf5,0x4,0x2b,0x35,0xcb, + 0x9a,0x1,0x55,0xa3,0x7a,0xda,0x99,0xdb,0xcd,0x88,0xfa,0x10,0xae,0xc,0x61,0x37, + 0xb4,0xca,0x6c,0xc7,0x42,0x2d,0x86,0x7f,0x16,0x9,0xec,0x58,0x62,0x47,0xe,0xb1, + 0xca,0xb9,0xd4,0x87,0x16,0x9a,0xd2,0xb7,0x52,0xab,0xb2,0x8f,0x88,0xc2,0xc5,0x17, + 0x2d,0x68,0x91,0xc,0xc4,0x87,0x40,0x25,0x51,0x66,0x23,0x73,0x83,0xa4,0x1d,0x96, + 0xdd,0xbb,0xf9,0xc6,0xd3,0x2,0xad,0x27,0x61,0xea,0x61,0xc2,0x87,0x45,0xff,0x61, + 0xc3,0x87,0xd8,0xe0,0xc7,0x20,0x85,0x8e,0xb0,0x9,0x21,0xbb,0x85,0x4d,0x48,0x6a, + 0xf6,0x75,0xda,0xb5,0xef,0xa6,0x28,0x77,0x33,0xce,0x9b,0xc9,0x9e,0x84,0x29,0xcf, + 0xb3,0x38,0xe5,0x79,0x12,0xa8,0x3c,0xdf,0x19,0xa9,0xce,0x2,0xd5,0xfb,0xe3,0xd4, + 0x59,0x98,0x7a,0x7f,0x94,0x3a,0xb,0x52,0xef,0x8f,0x51,0x27,0x21,0xea,0x9d,0x11, + 0xea,0x2c,0x40,0xfd,0x31,0xf1,0xa9,0xe3,0x79,0x9b,0xf7,0xaf,0xff,0xef,0x4f,0xae, + 0x1,0x9e,0x6f,0xef,0x1,0xff,0x71,0x7b,0x1f,0x42,0xc2,0xcd,0x12,0x5b,0xa,0x65, + 0x3b,0x7c,0xe,0xbc,0x8c,0x7d,0x69,0x4c,0x9,0x10,0x59,0x21,0xb1,0x57,0x6a,0xe0, + 0xbd,0xd0,0x9a,0x9f,0x27,0xa4,0xbf,0x53,0x96,0xb3,0x76,0x56,0x49,0x7b,0xb3,0x2c, + 0xe7,0x88,0x2f,0x56,0x8a,0xc1,0xa7,0x4a,0x31,0x50,0x49,0xf,0x1b,0x8d,0x3e,0x7e, + 0xcd,0xae,0xa9,0xc4,0x7d,0xc,0x3c,0xc8,0x35,0x12,0xfd,0x46,0x31,0x26,0x98,0x4f, + 0xa,0x73,0x4b,0xd0,0x6c,0xd8,0xf5,0x12,0xc1,0x96,0x4b,0x5b,0x4e,0x9c,0xa2,0xb9, + 0x57,0x5f,0x14,0x16,0x83,0xe6,0x54,0x50,0xf7,0x5a,0x6a,0x68,0xd4,0x3c,0xc4,0x3b, + 0xe9,0xe1,0x27,0xd4,0x52,0xa5,0xbe,0x96,0xd2,0x2a,0xfc,0xe7,0xd5,0x52,0x8d,0x5c, + 0x5a,0xa4,0x7f,0x92,0x1b,0x6,0xf8,0xf4,0x11,0x75,0x7,0x43,0x62,0x13,0x4e,0xf2, + 0x2e,0xdd,0x9f,0xbb,0x68,0x6a,0x63,0x3f,0x30,0x61,0x92,0x53,0x29,0x33,0x25,0xe3, + 0xf6,0x88,0x2b,0xba,0xfe,0x99,0xc8,0xfd,0xf9,0x4e,0x1,0xa8,0xdc,0x44,0x66,0xb, + 0x24,0x76,0x99,0x2c,0xc3,0xf6,0x33,0x1c,0x4c,0x26,0x16,0x76,0x32,0xd0,0xb9,0xfa, + 0xdf,0x7a,0x12,0xe7,0x81,0x2f,0xa6,0xeb,0xa8,0x37,0x75,0xfd,0xf9,0x65,0x28,0xf9, + 0xb,0x2e,0x43,0x7f,0xfc,0xea,0x7d,0x6e,0xb1,0xc9,0xfc,0x31,0x7b,0x3f,0x77,0xb0, + 0x6f,0x6f,0x7,0xba,0x26,0xa0,0x90,0xdb,0x5c,0x3b,0xf6,0xae,0x51,0xe8,0x1f,0x76, + 0xae,0xec,0xf3,0xbe,0x9b,0x11,0x27,0x4a,0x48,0x72,0xcf,0xc8,0xf1,0x28,0x93,0x49, + 0x29,0xc2,0x29,0x5b,0x94,0x75,0x5c,0xd7,0x3d,0x78,0xa1,0xb5,0xff,0xe4,0x8,0x8c, + 0xa,0x5e,0x13,0x7e,0xd0,0x15,0x33,0xfd,0x6b,0x19,0x69,0xb6,0x7e,0xe6,0x6c,0xcf, + 0x9c,0x8b,0xfa,0xe5,0x73,0xa,0x96,0x6a,0x52,0x65,0xe8,0x6,0x6a,0x44,0xeb,0xab, + 0xaa,0xf0,0x7c,0x17,0xe7,0xdb,0x62,0xe3,0x56,0x6b,0xbf,0x7f,0xc4,0x4,0xe2,0x38, + 0xf,0xbd,0xe0,0xd6,0x1f,0xb5,0xfc,0x4d,0x84,0x49,0x8b,0x5b,0x37,0xc8,0x3d,0xdf, + 0x5d,0xa8,0x50,0x5a,0x7b,0x6e,0x0,0xa9,0x28,0xc2,0x16,0x68,0x4,0x77,0xbd,0x82, + 0x45,0x69,0xe9,0xe6,0xb,0x9c,0x7d,0x6a,0xe4,0x16,0xba,0x53,0x6,0x41,0x39,0xe7, + 0xb4,0x7,0x7b,0x9b,0xca,0x2,0x8b,0x9c,0x19,0xbd,0xb5,0x52,0x58,0xdb,0x74,0xa7, + 0x46,0x29,0xe5,0xba,0x9,0xef,0x65,0xae,0xa1,0x57,0x27,0x6b,0xd5,0x9a,0x15,0x3f, + 0xb2,0x13,0x97,0x6f,0xdd,0x94,0x50,0x96,0xfd,0x38,0x5e,0xb6,0xe7,0xa2,0x67,0x26, + 0xbd,0xd1,0xe3,0x85,0x9e,0x95,0x24,0x24,0x6c,0x6b,0x9b,0x3c,0x99,0xb1,0xc0,0xa2, + 0x10,0xf5,0xd8,0xca,0xa9,0x8d,0x43,0x17,0xd6,0xd4,0x8c,0xd6,0x2d,0x95,0xec,0x4e, + 0x2d,0x4c,0xe8,0x70,0xdb,0x2,0x84,0xc,0x67,0xec,0x60,0x59,0xa2,0x36,0x24,0x1, + 0x8c,0xd0,0x53,0xb9,0xbd,0x6d,0xe6,0xff,0xe2,0xc9,0xc2,0xf2,0x95,0xac,0x1a,0xe2, + 0xf2,0x47,0xae,0x47,0xef,0x34,0x57,0x8d,0x9e,0x96,0x6f,0x47,0x35,0xc9,0x36,0xcf, + 0x8a,0x5b,0xe9,0x4b,0xfe,0xca,0xcc,0xfc,0xa5,0x24,0x89,0xd0,0x93,0x20,0x66,0x41, + 0x39,0x7b,0xf9,0x62,0xf2,0xfd,0x23,0x4e,0x94,0x1d,0x91,0x39,0x48,0x15,0x67,0x5f, + 0xb4,0xa8,0xb5,0xe0,0xb5,0x95,0x50,0xba,0x77,0xf9,0x9c,0x2c,0xb1,0xc4,0x56,0xf6, + 0xa8,0x1f,0x68,0x90,0xa4,0x65,0xda,0xd6,0x20,0x37,0x98,0x63,0x61,0xdc,0x19,0x35, + 0xcb,0x6c,0x54,0x56,0x2e,0x4a,0xac,0x11,0x45,0x1e,0xfe,0x64,0x4d,0xdc,0xe8,0xda, + 0x93,0xad,0xe2,0x86,0x5f,0x60,0xd4,0xca,0x6a,0xf9,0x74,0x3e,0x55,0x87,0xd9,0xe3, + 0xf1,0x54,0x27,0x4f,0x71,0xd7,0x17,0xb0,0x9a,0x4,0xc6,0x15,0xd3,0x9b,0xaa,0x66, + 0x5d,0x84,0x95,0x22,0x2a,0x67,0xd8,0x2b,0xd9,0x38,0x20,0x77,0xe6,0x30,0x26,0xce, + 0x86,0xc1,0x58,0xda,0x7d,0x6b,0x27,0x43,0xc1,0x62,0x30,0xf8,0x4c,0x54,0x49,0x6f, + 0x13,0xed,0xa2,0xf4,0x6,0x62,0xc9,0x28,0x33,0x35,0x2f,0xed,0xe4,0x82,0x52,0x5b, + 0x90,0xb5,0xa5,0xf5,0xa5,0x85,0x7c,0xb6,0xd9,0xd9,0xd4,0xd2,0xc1,0xba,0x68,0x85, + 0xa4,0xe1,0x3c,0x67,0x5,0x2d,0x94,0x3b,0x2e,0xcd,0x4,0x76,0xd3,0xde,0x84,0x9d, + 0x4a,0xc,0x73,0x72,0x2d,0xdb,0x86,0xdf,0xb8,0xcf,0xb5,0x56,0x3b,0x1d,0x31,0x49, + 0x92,0xc0,0xb,0x97,0x54,0x42,0xa7,0x96,0xf,0xa6,0xd6,0x1a,0x4b,0x4e,0x71,0x27, + 0xdd,0xeb,0xf1,0xcf,0xd0,0x5e,0x6d,0x58,0x98,0xa3,0x9b,0x6b,0x47,0xc5,0x52,0x46, + 0xc4,0x65,0x99,0x31,0x58,0x75,0xb,0x16,0x26,0x1c,0xfa,0x8a,0x78,0xa9,0xa7,0x52, + 0xfd,0xd8,0xd0,0x28,0xa1,0x68,0x3d,0x76,0x68,0x84,0xa7,0x71,0xbf,0x3f,0x41,0x36, + 0x13,0x3,0x28,0x4,0x2a,0x71,0x98,0x84,0x27,0x25,0x37,0x24,0xe,0x93,0xb5,0x26, + 0x97,0x7a,0x16,0x8a,0xad,0x76,0x25,0x29,0x2f,0xc2,0x5b,0x18,0x2f,0xa4,0xf7,0x47, + 0x60,0xed,0xaf,0xed,0xfc,0x3c,0xd9,0x82,0x7a,0xbf,0x23,0x41,0x99,0x83,0xc4,0xf7, + 0xbf,0x3e,0x12,0x72,0xcf,0x3b,0x38,0xe7,0x84,0x71,0xe2,0xac,0x4d,0xc6,0x29,0x11, + 0xcb,0x18,0xbd,0x38,0x7b,0x76,0x1f,0x41,0xe0,0x2a,0xef,0x85,0x42,0x52,0xb8,0x2e, + 0x26,0x54,0x11,0x89,0xf1,0xcf,0x14,0x4,0x6c,0x79,0x71,0x6a,0x41,0x30,0xe1,0xc5, + 0x55,0x3a,0x96,0xd3,0xf6,0x92,0x77,0x55,0xcd,0xe9,0xa0,0x64,0xc3,0x82,0x24,0xd2, + 0x74,0x39,0x6d,0x91,0xc3,0x3a,0x17,0x71,0x70,0xdb,0x8a,0x6d,0xca,0xc4,0x82,0xf0, + 0xbd,0xe2,0x8b,0x50,0xee,0xde,0xfd,0x56,0x93,0x7b,0x74,0xd9,0xc5,0x47,0x87,0xc, + 0x10,0x8c,0xed,0xc9,0x6d,0x41,0xda,0x60,0xc5,0x93,0xdb,0x6a,0x7b,0x67,0xed,0x6e, + 0x1b,0x89,0xdc,0xdd,0xb4,0x8c,0x7b,0x56,0xb,0x75,0xae,0xb8,0x15,0x9c,0x2,0xcc, + 0x31,0xce,0xdb,0x26,0x95,0x83,0x21,0xac,0x67,0xf1,0x49,0x37,0x58,0xf,0x35,0x87, + 0x55,0x6f,0xe5,0xfb,0xa,0x2d,0xbb,0xf7,0xba,0xa3,0x72,0x89,0x2b,0x5b,0x2b,0x65, + 0x79,0xaf,0x89,0x19,0x7a,0x4,0xab,0x29,0x5e,0xcb,0x51,0x21,0x58,0xf3,0x28,0xa1, + 0x4e,0xb0,0xc6,0xee,0xbe,0xea,0xea,0x31,0x27,0x6e,0xca,0x3a,0x3b,0xc7,0x7d,0xcb, + 0xbc,0x64,0x42,0x7c,0x8a,0x89,0x2c,0xf7,0x6d,0xa8,0xe9,0x6d,0x4b,0x88,0xea,0x71, + 0x60,0x21,0xf6,0xc0,0xee,0xbf,0x5e,0x62,0x7d,0x49,0x23,0x70,0x56,0xe5,0x60,0x8, + 0xa9,0x5a,0xf2,0x6a,0xc9,0xb8,0x61,0x9a,0x2e,0x76,0xf9,0xfe,0x1a,0x75,0x37,0x5b, + 0x7e,0x8,0x4a,0x2f,0x73,0xd9,0x51,0x88,0xfb,0xc2,0x50,0x6c,0xf7,0x96,0x96,0x88, + 0x85,0xb9,0x88,0xb0,0xbf,0xa6,0x56,0x97,0x52,0x79,0x6e,0xc9,0x69,0x15,0x79,0xec, + 0xd1,0xa9,0xd9,0xa1,0x72,0xa0,0xfe,0xfe,0x1a,0x4d,0x97,0xd5,0x27,0x92,0x4c,0xdc, + 0x54,0xe,0x33,0xf2,0xa6,0x4c,0x44,0xfb,0x61,0xe6,0x2e,0x54,0xd1,0x55,0xf2,0x24, + 0x22,0x67,0x52,0xab,0xd4,0x3c,0x8,0xd3,0x9a,0x90,0x9d,0x6e,0xb3,0x30,0x3b,0x10, + 0x79,0xe6,0xb,0x1f,0xcb,0xe0,0xa1,0xf6,0x27,0x66,0xf0,0x3f,0x2b,0xa7,0x99,0xd7, + 0x99,0x9,0x4a,0xf5,0xc3,0x49,0x8d,0xcd,0xb3,0xb0,0x9f,0xb1,0x58,0x99,0xda,0xc9, + 0xa5,0x9b,0x66,0x32,0x4f,0xd7,0x47,0x6a,0x21,0x95,0xe4,0xa2,0xe5,0x87,0xd4,0x42, + 0x4a,0x9,0xee,0xa9,0x87,0xd4,0x42,0xb2,0x69,0xa,0x69,0x87,0xe4,0x62,0xc0,0xac, + 0x6e,0x3f,0x24,0x17,0x83,0x89,0x15,0x5e,0xb2,0x8b,0xc1,0x44,0x2b,0xf2,0x98,0x5f, + 0x48,0x2b,0xa5,0xa8,0xe0,0x90,0x5f,0x28,0x27,0xc1,0xc2,0x5f,0x16,0x20,0x95,0xa4, + 0x1a,0x8e,0xf,0xb,0x95,0x6a,0x11,0x57,0x86,0x1c,0xda,0xb9,0x52,0x46,0x2b,0xe, + 0xf9,0x85,0x22,0x48,0xcb,0x5b,0x6f,0xf9,0x85,0x2,0x94,0x8a,0xf6,0x97,0xfc,0x62, + 0xb0,0x30,0x84,0xbc,0xe4,0x17,0x43,0x27,0xe8,0xd6,0x63,0x7e,0xa1,0xb8,0xbd,0x3a, + 0xe7,0x25,0xbf,0x50,0xaf,0x25,0x8a,0xee,0x43,0x7e,0xa1,0xe,0xe2,0x4e,0xd7,0xa7, + 0x4,0x43,0xdd,0xa9,0x44,0x90,0x2f,0x9,0xc6,0x60,0xa2,0x8c,0x97,0x10,0x39,0x93, + 0x70,0xee,0xd6,0x63,0x2c,0x55,0x73,0x12,0x69,0xc1,0x21,0xe6,0xaa,0x6,0xa9,0x98, + 0xe3,0x10,0x9b,0x55,0x6a,0xd7,0xd0,0x31,0xc5,0x78,0x80,0xc7,0x3c,0x61,0x50,0xce, + 0x78,0x4a,0x32,0x46,0xd0,0xdd,0x7d,0xc8,0x1d,0x6,0x4b,0x55,0xd7,0x23,0xf5,0xa0, + 0x70,0xaf,0x7e,0xd5,0xd2,0xa2,0x32,0x5e,0xf5,0x28,0x2d,0x92,0xc7,0x44,0xe3,0x35, + 0x6a,0xfb,0x1c,0xb9,0x97,0xa0,0xad,0x8e,0xf3,0x61,0x21,0x53,0x44,0x1d,0xe6,0x2d, + 0x6d,0xc4,0xe6,0xcf,0x2,0x92,0x5e,0xd,0xdd,0xfc,0x20,0x49,0x69,0xa6,0x30,0xd3, + 0x3c,0xa4,0x1b,0xaf,0x8c,0xff,0xed,0x95,0x69,0x16,0x96,0xf7,0xae,0x42,0xa7,0xcb, + 0x98,0x99,0xfc,0xfa,0x47,0xef,0x1d,0x4c,0xfa,0x93,0xf7,0x86,0xde,0x5a,0x32,0x38, + 0xeb,0xc7,0x25,0x23,0x85,0xb4,0xb5,0x6a,0x4a,0xa6,0xde,0x5a,0xba,0x1f,0x2d,0xb2, + 0xb0,0xe2,0x59,0xfc,0x45,0x92,0xa1,0x97,0x2c,0x12,0x83,0x94,0x6d,0x25,0x24,0xd6, + 0x2,0x2c,0xcc,0xda,0x22,0x6a,0xb,0xa7,0x2a,0xf1,0xd8,0x33,0xe6,0x4e,0x73,0x5c, + 0x41,0x99,0xec,0x26,0xfb,0x52,0x4a,0xc9,0xae,0x11,0x1b,0x8a,0x7c,0x32,0x9d,0x4b, + 0x39,0x71,0x83,0x2b,0x37,0x38,0x75,0xa0,0x77,0x6a,0x23,0x84,0x6b,0xc9,0x16,0x4c, + 0xe1,0x21,0x89,0x85,0x65,0x39,0x22,0xb7,0x28,0xd2,0x4a,0x0,0x8b,0xda,0xdd,0x58, + 0x74,0x4b,0xa7,0x14,0xae,0xb2,0x45,0xd,0x8a,0xc,0x97,0x39,0x65,0x9f,0x6e,0xa2, + 0xbe,0xd2,0x87,0xd2,0xce,0xc0,0x9a,0x4c,0x37,0xd7,0xa5,0x8d,0xa2,0x34,0xbd,0x37, + 0xe1,0xa0,0x80,0x63,0xd2,0xc,0x27,0x59,0x20,0x1e,0x37,0x5,0x7b,0xce,0x79,0x82, + 0xed,0x96,0x10,0xb3,0x8b,0xca,0x89,0xc4,0x3e,0x18,0x4,0xb9,0xe2,0x2b,0x5,0xc1, + 0x4f,0x57,0x7,0xcd,0xf9,0xec,0xfc,0xac,0x92,0x72,0x39,0x46,0xad,0x85,0x8e,0xca, + 0xa5,0x18,0x27,0x16,0x76,0x93,0x85,0x46,0x77,0x71,0x2e,0x65,0x65,0x64,0xd7,0x15, + 0x33,0xb2,0x88,0x96,0xba,0x54,0x4e,0xc4,0xd9,0xdc,0xc8,0x2d,0x61,0xb2,0x68,0x93, + 0xba,0x80,0xd0,0xcd,0x85,0x2c,0xd9,0x6c,0x68,0xd,0xaa,0x2c,0xb,0x93,0xf4,0xb0, + 0x5e,0x98,0x72,0xba,0xcb,0xa2,0x66,0x16,0x44,0xef,0x6,0xa5,0xde,0xde,0xb5,0x79, + 0x50,0xc3,0xb5,0x16,0x8b,0xd6,0x82,0xc2,0x6,0xa6,0xe6,0xc5,0xce,0x19,0xdb,0x6f, + 0xaa,0x75,0xce,0xd9,0xfc,0x9b,0xfe,0xd5,0xbf,0x90,0x16,0xbf,0x28,0xa7,0x27,0x6, + 0xe2,0x49,0xe2,0x69,0x1e,0x53,0x41,0x34,0xaf,0x5e,0x9e,0xeb,0x20,0x73,0x58,0xc8, + 0x42,0x39,0xc1,0xa2,0x17,0x37,0x42,0xe5,0xe4,0x59,0x46,0xe9,0xca,0xbd,0xef,0x7e, + 0xd0,0xac,0x4b,0xc7,0x25,0x9a,0xb3,0x68,0xec,0x76,0xa1,0x3e,0xd6,0x90,0xe,0xc0, + 0x2e,0xee,0xc4,0x6c,0xc1,0xba,0x30,0x78,0x97,0xd6,0xc2,0xc4,0xcb,0x30,0xd4,0x96, + 0x91,0xe5,0x8b,0x3a,0x48,0x38,0x8c,0xb1,0x79,0x92,0x69,0x7b,0xc7,0xc2,0x3a,0x5c, + 0xa5,0x36,0x8,0x69,0xa9,0x44,0x9f,0x32,0xfe,0xdb,0x5b,0x9e,0x61,0xef,0xaa,0xba, + 0xff,0xbc,0x94,0x14,0x4e,0x66,0xc5,0x1f,0xae,0xb3,0x79,0x6,0xbf,0x23,0x25,0xfd, + 0xc7,0xed,0xcf,0x9b,0xf,0xa,0xf8,0x24,0xb6,0xa8,0x36,0x95,0x86,0xdb,0x56,0x54, + 0xa,0xe5,0x71,0x67,0x55,0xa1,0xcc,0xb0,0xad,0x89,0x2d,0xa7,0x80,0xac,0xa2,0xe4, + 0x28,0xd8,0x26,0x4a,0x30,0x6f,0xc3,0x9e,0x33,0xc8,0x24,0x2c,0x4d,0xa9,0x91,0x3e, + 0xc4,0xc,0x6a,0x15,0xd1,0x4d,0x93,0x18,0xaa,0x16,0x83,0xa5,0x48,0xca,0x66,0xa0, + 0x46,0xa1,0x17,0x56,0x64,0x59,0x85,0xcd,0x41,0x2d,0xea,0x5d,0x8b,0x5a,0x84,0xa0, + 0x30,0x6c,0x48,0xa,0xc0,0xa2,0xaf,0x58,0x50,0x1,0x12,0x2b,0x86,0x39,0x17,0x77, + 0x5d,0x54,0x99,0x4,0xd6,0x3d,0x1,0x47,0xcc,0x43,0x87,0x71,0x23,0x2d,0xe,0xdf, + 0x52,0xa8,0x94,0x65,0x32,0xb5,0x24,0x2d,0x20,0xb7,0x34,0x32,0x4e,0xcb,0x78,0x99, + 0xf6,0xc2,0x54,0x3b,0xd9,0x87,0xba,0xa9,0x11,0xe1,0x7,0x54,0x8d,0x49,0xac,0xad, + 0x77,0xc,0x8e,0x18,0x4c,0xb3,0x4d,0x9e,0xa9,0x4d,0x67,0xc8,0x38,0x8e,0x63,0x41, + 0xa5,0x90,0x23,0x3b,0xb6,0x6,0x91,0xf4,0x67,0xc6,0xdd,0x48,0xc1,0xa8,0xe3,0x14, + 0xc1,0xc4,0xb0,0xdc,0x4b,0xf6,0x81,0x68,0xbb,0x62,0xfb,0xa9,0xdc,0x7c,0x16,0x1a, + 0x8c,0x18,0xc9,0xb1,0xc4,0x1b,0x6d,0x11,0x71,0xc5,0x9c,0xa4,0x3c,0x9e,0xd4,0x0, + 0xa6,0x2a,0xd4,0xb3,0xbe,0x3c,0x29,0x3c,0xa5,0x8f,0x9a,0xb5,0x1a,0x37,0xd3,0x83, + 0x5,0x3c,0x66,0x7d,0x30,0x95,0xef,0xa7,0x6,0xf4,0xdb,0x7b,0x5e,0x93,0x10,0x6e, + 0x7f,0x13,0xfb,0x5a,0xcf,0x8a,0x10,0x1f,0x7b,0x6c,0x2b,0x6f,0x3f,0xad,0xed,0xb6, + 0x5f,0xbf,0xd0,0x8a,0x1e,0x4e,0x1,0x31,0xc4,0x26,0x4e,0xed,0x8e,0xbd,0x22,0x21, + 0xc2,0x62,0xb9,0x9,0x48,0x3c,0x92,0xf3,0xe2,0x45,0x56,0xe2,0x3c,0x26,0xe2,0x6, + 0x40,0xf7,0x75,0x3f,0xe1,0xb5,0x69,0x90,0xb6,0xf9,0xfd,0xbe,0xb8,0x22,0x35,0x7a, + 0x33,0x23,0xcd,0xca,0xb6,0x85,0x71,0x4c,0x35,0xc5,0x9a,0x2a,0xdc,0x4b,0xd6,0x82, + 0xe,0x74,0x98,0x6e,0xde,0x64,0x8,0xe5,0x5a,0xd4,0x49,0xe0,0x54,0xc9,0x2d,0x98, + 0x0,0xdb,0x4f,0xde,0x83,0x99,0xdb,0xb7,0x8,0xea,0x36,0xb6,0xb,0x40,0x68,0xb6, + 0xd2,0x2d,0x99,0x42,0x25,0x39,0x16,0xdf,0x45,0x90,0xb6,0x9c,0xbc,0x92,0x83,0x3b, + 0xec,0x12,0x4a,0x9a,0x32,0x55,0x65,0x90,0x67,0xb,0xeb,0xcb,0x9c,0x7,0x63,0xb0, + 0xc5,0x5e,0xde,0xcd,0x34,0xb3,0x3a,0xa0,0xb1,0xcb,0xc4,0x6e,0x2d,0xb9,0xb,0x7b, + 0xbd,0x7,0xc1,0xf9,0x4c,0x9d,0xe4,0x40,0x59,0x1e,0xc6,0x49,0x21,0xe5,0x44,0x1f, + 0xd8,0x49,0x27,0xb1,0x40,0xc9,0x13,0xe3,0x99,0xa4,0xe3,0xbb,0x8f,0x9,0x96,0x11, + 0xba,0xbb,0xb0,0x85,0x50,0x88,0x86,0xc8,0xa5,0xb0,0xd7,0x19,0x9f,0x5,0x56,0x41, + 0x2e,0xe6,0x62,0x4b,0xb4,0x21,0x52,0xd0,0x95,0x75,0x79,0x74,0x34,0xe,0x2a,0x28, + 0x27,0xcb,0x76,0xc1,0x93,0xb2,0x4a,0xc8,0x1c,0x70,0x1c,0xd4,0x9a,0x4a,0x21,0x51, + 0x12,0x7,0xf5,0x3f,0x26,0xfd,0x30,0x93,0xef,0x27,0xa6,0xf3,0x56,0x44,0x15,0x7b, + 0x7f,0x94,0xfa,0x89,0x81,0x15,0x49,0x50,0x73,0xce,0xf,0xd7,0x7a,0x58,0xeb,0x77, + 0x5e,0xe9,0xf2,0x73,0x36,0xa3,0x2c,0xf1,0x6a,0x33,0x6a,0xef,0xf7,0xee,0xf7,0xbf, + 0xc1,0xe7,0x5d,0x9b,0x56,0x6,0x9f,0xbd,0xb,0x46,0x8b,0x44,0x2d,0x7d,0x2b,0x8a, + 0x47,0x1e,0x20,0xca,0xa4,0x2,0xd3,0x2b,0x5a,0xb7,0x30,0x20,0x22,0xc4,0x21,0x18, + 0x13,0xb1,0x3d,0x5c,0x8,0x27,0x55,0x76,0xd7,0xa6,0x42,0xb8,0x7,0x16,0x61,0xa7, + 0xb0,0x56,0xdb,0xb4,0xa8,0x26,0x2,0xd,0xe6,0x66,0x98,0x44,0x20,0x27,0x11,0x18, + 0x6a,0x86,0x4d,0x48,0xcb,0x7b,0x48,0x13,0x61,0x92,0xb9,0xd7,0x83,0x24,0xdf,0xf3, + 0x0,0x11,0x90,0x15,0x4f,0x8c,0xd4,0x3d,0x46,0x8a,0x2c,0x7e,0x5,0xb1,0xa2,0x29, + 0xdf,0xa3,0xa9,0xa8,0x50,0xb4,0x49,0xae,0xb8,0x1b,0x7b,0xdc,0x15,0x5,0x85,0x66, + 0x4c,0xd0,0x96,0x9,0xcf,0x2f,0xb3,0x5e,0x18,0xdf,0x2,0xf9,0xa0,0xa,0x89,0x78, + 0x41,0x7,0x73,0x13,0xe9,0x1d,0x83,0x63,0xa7,0x46,0x54,0xe0,0x99,0xda,0x96,0x7c, + 0x3c,0xeb,0x38,0x8e,0x39,0x75,0xb7,0xca,0x91,0x1f,0x2b,0xe2,0xe4,0xd2,0x67,0xce, + 0x5d,0xc8,0x44,0xf0,0x34,0x47,0x4f,0xea,0x6,0xeb,0x86,0x22,0xec,0x79,0x80,0x78, + 0x53,0x58,0xc5,0x2b,0xa1,0x81,0xa9,0x1d,0xee,0x4b,0xba,0xbe,0xe7,0x1,0x2,0x25, + 0x86,0x9,0x8e,0x5a,0xf0,0xa2,0x12,0xf5,0x67,0x75,0x39,0x28,0x8c,0x4b,0x8e,0x8a, + 0xb5,0x20,0xcf,0x64,0x1c,0xc,0xe0,0x31,0xed,0x83,0xa9,0x7c,0x3f,0x35,0xa0,0xf3, + 0x75,0x2,0xcc,0xf5,0xb3,0xd6,0x89,0xb7,0x89,0xdf,0x5a,0xa2,0xfa,0xe4,0xf9,0x91, + 0x27,0x69,0x77,0xcb,0x66,0x53,0x44,0xcd,0x5a,0x9b,0xd2,0x41,0x39,0x97,0x2c,0x7b, + 0xf6,0xc3,0x5a,0x57,0x2c,0x48,0x1c,0x66,0xd3,0xd2,0x4a,0xc3,0x7,0xe3,0x50,0xcf, + 0x2b,0x16,0x64,0x2a,0x99,0x43,0xd,0xea,0xec,0x58,0x7d,0x26,0x69,0x70,0x4f,0xc3, + 0x92,0x94,0x5,0x35,0xc1,0xd0,0x3b,0xd6,0x51,0x1e,0x83,0x49,0xbb,0xed,0x43,0x17, + 0x49,0xf1,0x10,0x7,0x39,0x2a,0x74,0xd8,0x71,0x13,0xa9,0x1d,0xab,0xf0,0x3c,0x63, + 0xfc,0x63,0x17,0x54,0x2d,0xc4,0xbe,0xd4,0x71,0x1d,0x2b,0xb3,0xdf,0xbb,0x71,0xfa, + 0x8d,0xa9,0x3d,0x2b,0x4d,0xef,0x81,0xc0,0xc2,0x7b,0x36,0x96,0x46,0x5c,0x99,0x73, + 0xa0,0x7c,0xaa,0x50,0x76,0x96,0xcf,0x7d,0x4c,0x3e,0xf2,0xc5,0xe5,0xb3,0x1f,0x4, + 0x8a,0x22,0x33,0x8b,0x2d,0x99,0x7a,0xb7,0xdf,0xc1,0x5c,0x83,0x73,0x81,0xd2,0xad, + 0x75,0x85,0x9a,0xbc,0x4a,0x6a,0x41,0x55,0x1a,0x3e,0x10,0x52,0xf8,0xb6,0x61,0x1a, + 0xe3,0x1d,0x30,0x60,0xbd,0xa5,0x52,0x6,0xf7,0xf4,0x55,0x12,0xbe,0x25,0x88,0xd, + 0xbd,0x23,0x11,0x60,0x6c,0xe9,0x14,0xed,0xb6,0xf,0x99,0xe4,0xd0,0x5e,0x7d,0x35, + 0x2a,0x74,0x9a,0x29,0xab,0xd9,0x40,0x15,0x9e,0x27,0xbc,0xbe,0x95,0x4e,0xa8,0xbc, + 0x6b,0x99,0xf8,0x1d,0x73,0x79,0xcb,0x5a,0x44,0x98,0x14,0xdd,0x31,0xb7,0x26,0xd8, + 0xaa,0x60,0x9f,0x3a,0x53,0xd3,0x2c,0x2e,0xf7,0xce,0x19,0x1a,0x76,0xed,0x32,0x9d, + 0x1a,0xeb,0xc7,0x96,0xc4,0xce,0x90,0xf7,0x9e,0x1,0xf3,0xae,0x7c,0xd7,0x6b,0xe6, + 0xea,0xef,0xf1,0x37,0xaf,0x2f,0xb5,0x7f,0xea,0x3a,0x33,0x4e,0x71,0x10,0x5a,0x64, + 0x2b,0xf2,0xcc,0x6c,0x4c,0x90,0x4,0x35,0x54,0xf3,0x5,0x9c,0xb0,0xe2,0x80,0xaf, + 0xf0,0xe3,0xd2,0x3e,0xd8,0x6c,0x3d,0xc,0x7b,0xa0,0x12,0xf8,0x10,0xab,0x92,0xf4, + 0x1e,0xd0,0xa0,0xd,0x60,0x2,0x7e,0x31,0xbc,0x37,0x73,0x6a,0x8f,0xcc,0x85,0xcd, + 0x6,0xb8,0xb0,0xb9,0x93,0x36,0x6b,0x63,0xe2,0x94,0x93,0xa5,0xda,0xa0,0x36,0x5d, + 0xe,0x1a,0xe4,0x6c,0xb1,0xb9,0x11,0xb8,0xf9,0x1,0x42,0x2b,0x36,0x6b,0x92,0x8e, + 0xdb,0xe0,0xa6,0xc4,0xac,0x6e,0x9b,0x31,0x95,0x57,0x57,0x4c,0x28,0x57,0x17,0x9b, + 0xad,0xb6,0x74,0xbb,0xf6,0x4,0xed,0xcc,0x8a,0x4d,0x9d,0x72,0x6,0x9f,0x10,0x5b, + 0xd4,0x9e,0xb9,0x40,0x6f,0xef,0xec,0x9,0xd9,0xca,0x59,0xbd,0xa9,0x4d,0x5e,0x9f, + 0x18,0xac,0x23,0x64,0x53,0xa5,0x8,0xdc,0x68,0x61,0xa4,0x51,0xbe,0x6f,0xde,0x9b, + 0x5b,0x57,0x43,0x27,0x75,0x8f,0x2b,0x16,0xd4,0x5e,0x2a,0x3b,0xd6,0x6b,0x2a,0x62, + 0x64,0xe5,0xbc,0xb8,0x1e,0xd0,0x4a,0xd3,0x36,0x49,0x62,0x65,0x13,0x4c,0x87,0x90, + 0xd2,0x1c,0xe1,0xa,0xe7,0x60,0x4a,0x29,0xfb,0xc8,0x2d,0x8f,0x91,0x95,0x3c,0xa4, + 0x6d,0xb1,0x68,0xc1,0x86,0x9d,0x98,0x53,0x16,0xdb,0x4e,0xcc,0x70,0xd9,0x31,0x1f, + 0xb6,0x47,0xde,0x77,0xe2,0xa6,0xa,0x76,0x5d,0xda,0x6a,0x2f,0x59,0x6c,0x4f,0x8d, + 0x83,0x73,0x29,0xb,0xb9,0x6b,0x3a,0x70,0x57,0x96,0x91,0x6a,0xe6,0xae,0xac,0x48, + 0x72,0xbb,0xa1,0xee,0x77,0x15,0x44,0x51,0x68,0xca,0x22,0xb7,0xaa,0x99,0x4b,0x34, + 0x1,0x51,0xb9,0x46,0x31,0x96,0x8c,0x85,0x5,0x81,0x2d,0x9e,0x6d,0x27,0x9c,0xc0, + 0x11,0x31,0x82,0xa8,0x64,0xac,0x86,0x42,0xac,0x2a,0xb9,0x89,0x52,0x97,0xee,0x92, + 0xd,0x52,0x53,0x5c,0x31,0xa6,0x48,0xa4,0xe,0x35,0x40,0x1d,0xe8,0x41,0xe1,0xa9, + 0x8d,0xc1,0x9c,0x3d,0xb0,0x30,0x6f,0x76,0xd9,0x31,0xd5,0xbe,0xb5,0x6b,0x16,0xbe, + 0x53,0x8b,0xb8,0xcb,0x42,0x55,0xad,0x6e,0xda,0xa,0x37,0xf7,0xad,0xa9,0xb,0xce, + 0x77,0xa5,0x2a,0xea,0xa,0x95,0x73,0xd9,0x4e,0x2b,0x54,0xea,0x6a,0x5b,0x51,0x47, + 0x85,0x63,0x52,0x40,0xee,0x54,0x1c,0x7c,0xc8,0x83,0x18,0x5d,0x7,0xe8,0xfb,0x89, + 0xff,0x9d,0x2f,0xb8,0xde,0xae,0xef,0x58,0x70,0xe7,0xa1,0xf7,0x3f,0xe6,0xef,0xf9, + 0xeb,0x24,0x3f,0xfb,0x44,0x27,0xe7,0x1c,0x55,0xd6,0x79,0x29,0x43,0x5b,0x72,0x36, + 0x20,0x29,0x10,0xe8,0x7e,0x56,0xca,0xa,0xce,0x7e,0x40,0xbd,0x48,0x4b,0xd5,0xb1, + 0x29,0x13,0xb7,0x35,0xe6,0xba,0xa7,0xa,0xc4,0x72,0x1b,0xef,0x36,0xa9,0xfb,0x8b, + 0x5,0xaa,0xc2,0x64,0x33,0xa5,0x8a,0xd4,0xd2,0x39,0x88,0x21,0xe5,0xcb,0xd3,0x8b, + 0x22,0x3,0xd8,0xab,0xd3,0xcc,0x5a,0xb6,0x79,0x92,0x98,0x37,0xc7,0xe5,0xfb,0x42, + 0xb5,0x98,0xbb,0x6,0xd,0x93,0xc6,0x42,0x83,0x54,0x8b,0x1b,0x9b,0x7,0xb9,0x66, + 0x44,0xef,0xa8,0x79,0x76,0xca,0xe6,0xba,0xc6,0x4f,0xe9,0xc5,0xbd,0x10,0x3a,0xdd, + 0x31,0xeb,0x57,0x44,0x67,0x5d,0x90,0x84,0xe2,0x15,0x4d,0x4c,0x28,0xc2,0x24,0xf2, + 0x12,0x41,0xa9,0xc9,0xba,0x69,0x93,0x97,0x6a,0xdc,0x6f,0xc8,0x7a,0xd,0xa6,0xe2, + 0x73,0xd2,0xad,0x89,0x11,0xe9,0xb3,0xf3,0x72,0x81,0x97,0x2f,0x2c,0xcb,0x2a,0x73, + 0xd3,0x24,0xa0,0x50,0x57,0xd2,0x14,0xea,0x96,0x6a,0x5d,0x3e,0xdb,0x8,0x48,0x5e, + 0x52,0xa9,0xb5,0x78,0x75,0xa8,0x64,0x65,0x22,0x98,0xe3,0x38,0xe8,0xee,0xa9,0x1f, + 0x8,0x62,0x9e,0xa9,0x2f,0x94,0x83,0x3d,0x7d,0xb5,0x74,0x2f,0x2b,0x2c,0x6a,0x35, + 0x71,0xf7,0x91,0xaf,0x98,0x95,0xac,0x51,0x3c,0x54,0x30,0xeb,0x63,0x96,0x57,0xc7, + 0x3e,0xb6,0x4a,0xf9,0x62,0x51,0x2a,0xb3,0x6d,0x21,0xc5,0x66,0xb1,0xa0,0x4c,0x49, + 0x9f,0x22,0x85,0x94,0xb8,0xd8,0x9a,0x1d,0x6b,0x3f,0x5e,0xd1,0x67,0x62,0x81,0xbd, + 0xf0,0xe1,0x21,0x9d,0x97,0x52,0x8a,0x58,0x9d,0x2f,0x75,0x99,0x3b,0xa7,0x5e,0xca, + 0xc8,0xa5,0xb,0xbd,0x54,0x20,0x69,0x1c,0xf3,0xce,0x1f,0x10,0x32,0xc3,0x17,0x68, + 0x29,0xdc,0x7b,0x79,0x25,0x55,0x58,0xb1,0xa8,0x25,0x85,0xd9,0x2f,0x95,0x14,0x32, + 0xf5,0x1a,0x5b,0x7d,0xcb,0xf4,0xe8,0x14,0xe5,0x40,0x3d,0x99,0x4f,0x29,0x65,0xb4, + 0x7,0x96,0x20,0xc0,0x55,0xac,0x97,0xec,0xa5,0xf4,0xec,0x4d,0x8a,0xb2,0xcd,0x6b, + 0xaa,0x42,0x65,0xee,0x1d,0x9b,0x4,0x25,0x7b,0xa1,0xf7,0xa3,0x9a,0xc8,0x2a,0xb5, + 0x85,0xa2,0xa,0x1d,0xb,0x9b,0xac,0x61,0xa0,0xc5,0xa3,0x2f,0x61,0x57,0x6a,0x57, + 0x2f,0x2c,0x34,0xd,0xbb,0x6,0x32,0x54,0x2,0xb,0xd4,0x46,0x86,0x2c,0xcc,0x84, + 0xbd,0x6b,0x61,0x9c,0xdd,0x76,0xd3,0x69,0x70,0x5c,0x31,0x50,0x7b,0x73,0xd8,0xa2, + 0x66,0x5a,0x98,0xc5,0x42,0x5,0xd,0x96,0x65,0x4c,0xdd,0x12,0x7a,0xf4,0xa3,0xa9, + 0xa,0x55,0xa,0xe,0xd8,0xf7,0x33,0x3f,0xfc,0xec,0xbb,0xf4,0xbc,0x3a,0xff,0xbc, + 0x3c,0xfb,0x67,0x25,0x7d,0x46,0x9a,0xe6,0x59,0x36,0xd6,0x66,0xa,0x96,0xf7,0xe6, + 0x7c,0xb0,0x77,0xe5,0x7c,0xf6,0x57,0x85,0xc8,0xd7,0xca,0xf9,0xcc,0xcf,0x2e,0x1, + 0xd9,0xfd,0xaa,0xaa,0xe1,0x71,0x95,0x16,0x46,0xa5,0xdd,0xd2,0x2f,0xa8,0xcc,0x5, + 0x77,0x89,0xf6,0x79,0x3d,0x47,0xb0,0x32,0x2e,0x6e,0xf7,0x5b,0xbc,0xaa,0x74,0x3b, + 0xfc,0xc6,0xa1,0xcd,0xeb,0x3a,0x3e,0xc8,0x5b,0xba,0x2f,0xd6,0x14,0x65,0x32,0x5f, + 0xfd,0xe3,0x50,0xcd,0xbd,0xf8,0xac,0xd8,0xf8,0x7e,0x61,0x76,0x21,0xf3,0xdb,0x1e, + 0x3f,0xd1,0x96,0xb,0x91,0xca,0x5b,0xc7,0xd9,0x9e,0x9e,0xdb,0xb7,0xfd,0x1c,0x91, + 0x63,0x1e,0x54,0x72,0xa6,0xac,0xc1,0x9c,0xd8,0x10,0x1a,0x17,0xf7,0x7,0x4b,0xbc, + 0xb3,0x94,0xf,0xb6,0xf3,0xc6,0x36,0x7c,0xa6,0xa7,0x6b,0xfb,0x69,0xf7,0xe9,0x85, + 0xef,0x82,0x78,0xc1,0x76,0xcf,0x69,0x7b,0xc2,0x66,0x11,0xef,0xf4,0x3e,0x60,0xc9, + 0x94,0x1c,0x1,0x19,0x8c,0xd1,0xd1,0xba,0x9c,0x5b,0x74,0x51,0xea,0x6d,0xe,0xb, + 0x81,0xa2,0x62,0x30,0x76,0x6d,0x9b,0xd5,0x83,0xdb,0x7d,0x71,0x32,0x4b,0x6a,0x56, + 0x2f,0x70,0xa7,0xbc,0xbf,0xff,0x65,0x21,0xda,0x1d,0x35,0x18,0x2c,0x65,0x1a,0x15, + 0xca,0x59,0x6,0xf3,0x54,0xa9,0x4b,0xe2,0x41,0x68,0x77,0xca,0x26,0xa9,0x96,0xb2, + 0xd1,0x9a,0x15,0xba,0xe5,0x52,0x3a,0x99,0x17,0xe7,0x5c,0x4c,0x17,0x6f,0xeb,0x98, + 0x72,0xf4,0x8b,0x26,0xa7,0x4d,0x16,0x63,0x6f,0xd3,0xe6,0xde,0x6b,0x31,0x6f,0xf1, + 0x98,0x1,0xd8,0x2,0x78,0x61,0xd5,0x5e,0x46,0xb4,0x17,0xc6,0xec,0xce,0x98,0x3d, + 0xf8,0xb7,0x3b,0xff,0xf6,0xa0,0x7c,0x10,0xbe,0xc8,0xc2,0x1e,0xb2,0xd0,0x87,0xcc, + 0xfc,0x2e,0x33,0xbd,0x51,0xfa,0x5d,0xb0,0xd1,0x2f,0xf2,0xc7,0x5d,0xfe,0x11,0xa3, + 0xa6,0x83,0x5d,0x87,0x8d,0x32,0xf,0xc8,0xf7,0x33,0xf3,0xff,0xed,0xf2,0x7f,0x67, + 0xb5,0xae,0x19,0x45,0x8b,0x42,0x6f,0xec,0x4d,0x91,0x49,0xaf,0x18,0x8,0x2a,0x2a, + 0xb2,0x78,0x71,0xae,0xec,0x5d,0x6e,0x9d,0x88,0x98,0xb5,0xfa,0x6e,0x80,0x1e,0xc3, + 0xe1,0xc2,0xa,0xdc,0x19,0x83,0x4a,0xa,0x72,0x9e,0x46,0x88,0xa0,0x72,0xdd,0x5c, + 0x6b,0xaa,0x32,0x57,0x2c,0x70,0x24,0x39,0x58,0xde,0x2d,0x67,0x69,0x38,0x11,0x36, + 0x68,0xa8,0x68,0xc6,0x2,0x43,0xb2,0xb4,0x6,0x84,0xa1,0x7c,0xc8,0x77,0xda,0x87, + 0x54,0x95,0xc0,0x13,0x6c,0xbf,0xa9,0x90,0xb0,0x78,0x61,0xd7,0x87,0xb6,0xe5,0xcc, + 0x45,0x5,0xdd,0xf5,0xc3,0x9c,0x47,0x10,0xf5,0x78,0xb5,0x53,0x3d,0x34,0x5c,0x4a, + 0xe2,0xec,0x79,0x15,0x77,0x10,0x77,0x75,0x6,0x16,0x58,0x9c,0x3e,0x3a,0x26,0xb4, + 0x75,0xf2,0x44,0x75,0x1e,0x62,0xa6,0xdc,0x3d,0x7d,0x41,0x25,0x3,0xdd,0x67,0xb7, + 0x20,0x73,0x75,0xdb,0x49,0x33,0xab,0x7c,0x92,0x4,0x57,0xab,0xd8,0xc7,0xb0,0x74, + 0x8e,0x13,0x66,0xde,0xcc,0x8f,0xf9,0x13,0xb9,0xee,0x9b,0x47,0xbd,0xce,0xae,0xbe, + 0x8f,0x46,0x25,0x15,0xdb,0x7e,0xee,0xf,0x36,0xb9,0x6d,0x93,0x4b,0x16,0x6a,0x9e, + 0xc0,0x30,0xda,0x62,0x8e,0xe,0x8b,0xc0,0xf6,0x7d,0x63,0x4b,0x9a,0xae,0x55,0xaa, + 0x4d,0xdd,0x66,0x6f,0xda,0x19,0xca,0x8b,0xda,0x9b,0xa,0x65,0x86,0xd5,0xd2,0x52, + 0x21,0x32,0xd7,0x31,0x81,0xe2,0x89,0xe8,0x30,0x88,0xc6,0xc9,0xd8,0x1f,0x3e,0x35, + 0x15,0xfa,0x15,0xa3,0xf8,0xf9,0xd,0xf2,0x82,0x69,0x70,0xbe,0x99,0x93,0x80,0x33, + 0xbe,0xd2,0x13,0xdc,0x14,0x52,0x33,0x81,0x6d,0x52,0xc4,0x5c,0xc1,0xb6,0x9b,0x46, + 0x76,0x6b,0x61,0x52,0xb8,0x56,0xe6,0x5c,0xa,0x8f,0x42,0x21,0x67,0x6f,0xae,0xc6, + 0x96,0xb3,0xed,0x51,0xb3,0xd6,0x29,0x5b,0x0,0x12,0xb6,0x9b,0x6,0x24,0x58,0x66, + 0x67,0x9f,0xde,0xc,0x59,0x3d,0x9a,0xa5,0x9a,0x2d,0xd3,0x28,0x15,0xe9,0x3c,0x1b, + 0xfb,0xcd,0xe2,0x7e,0xfa,0x7b,0x8e,0xd5,0xfc,0x44,0x47,0x12,0x9c,0x48,0xab,0x98, + 0xc,0xdc,0x2e,0x5b,0x36,0x45,0x5b,0x88,0xdf,0xe2,0x16,0x97,0x48,0x6f,0xcd,0x14, + 0x1e,0xe9,0x79,0xc9,0x9a,0xdc,0x9e,0x7d,0x13,0x66,0x2a,0x76,0xb9,0x62,0x41,0x80, + 0x28,0x30,0x57,0x16,0x43,0x5d,0x6d,0xa7,0xb6,0xf4,0x25,0x18,0x16,0x6a,0x8e,0xac, + 0x5,0x71,0xb9,0xe5,0xde,0x61,0xb2,0x57,0x9e,0xd,0xfd,0x41,0x3f,0x12,0xf4,0x17, + 0xf7,0xa3,0xb7,0x59,0xf,0xfb,0x4a,0x4e,0x53,0x4c,0x69,0x6a,0xd1,0xaf,0xcd,0xc0, + 0xab,0xe1,0x79,0x34,0x83,0x26,0x76,0x75,0xd3,0x67,0x33,0x68,0xd3,0x28,0x7d,0x6d, + 0x6,0x9,0x24,0xf2,0xd9,0xe,0x3c,0x50,0x9c,0x7,0x3b,0x38,0x19,0xfb,0x2d,0xa7, + 0x91,0x90,0xff,0x69,0xa7,0x9,0x9c,0x48,0xcb,0x88,0x3,0xcc,0xb6,0x25,0x28,0x45, + 0xbb,0xf7,0x63,0xa1,0xd5,0xd6,0x9c,0x5b,0x81,0x5a,0xe6,0xd,0x41,0xd5,0x94,0x9c, + 0x1c,0xd8,0xda,0x28,0x2c,0xec,0x8a,0xb5,0x4e,0xa5,0xdf,0x63,0xbf,0x3a,0x9e,0xc9, + 0x58,0xd4,0x45,0x51,0x82,0xd8,0x1d,0x84,0x43,0xad,0x56,0x8f,0xe8,0x54,0xf4,0x56, + 0x3d,0x5,0xb1,0xd0,0x93,0xa1,0x3f,0xea,0x33,0x69,0xff,0x6b,0x7d,0x26,0xf3,0x4b, + 0xf9,0x8c,0x52,0xa5,0x6b,0xbf,0x32,0x82,0x64,0x93,0xb6,0x67,0x23,0x70,0xe5,0x6e, + 0x3f,0x1a,0x81,0x50,0x4b,0x68,0xe2,0xb5,0x11,0x58,0xc3,0xbb,0x9e,0x8d,0xc0,0x39, + 0xe0,0x38,0x1a,0xc1,0xeb,0x91,0xdf,0xf4,0x97,0xc4,0xe7,0xfc,0xe5,0xb4,0x37,0xb5, + 0xf8,0x51,0xa,0xcf,0xf7,0xdc,0x42,0xb5,0x7d,0xbf,0xe7,0xe6,0xd2,0x8d,0xda,0x2a, + 0x48,0x58,0x4,0x58,0x98,0x42,0xd5,0xc7,0xc4,0x35,0x24,0x55,0x17,0xc6,0x56,0x8a, + 0xba,0xdd,0x69,0x89,0x9a,0x4a,0x2c,0xb,0x65,0xa0,0xf,0xe0,0x7e,0x6b,0xaf,0x4, + 0x89,0x45,0xde,0xce,0xa6,0x39,0x58,0x4b,0x73,0x6c,0x95,0x4,0x49,0xa4,0xbc,0xba, + 0xb5,0x17,0xe9,0xfa,0xc3,0xad,0xbd,0xe2,0x86,0xbf,0xba,0xb5,0x27,0xee,0x12,0xa7, + 0xb3,0xf9,0xed,0xf2,0xfa,0xea,0x64,0x54,0xe5,0x8f,0x57,0x27,0x19,0xd2,0xf2,0x91, + 0xab,0x93,0x45,0x15,0x8e,0xd0,0xad,0x8a,0xb8,0x9a,0x65,0x41,0xed,0xe2,0x81,0x6d, + 0x9,0xcb,0xd6,0xcc,0x6,0xeb,0x48,0x8e,0x27,0x11,0x59,0x53,0xc2,0x5,0x72,0x94, + 0xd1,0x42,0x1,0x36,0x5d,0x22,0x72,0x38,0x47,0xc,0xe7,0xdd,0x10,0x5b,0x9a,0xf0, + 0x2a,0xb4,0x9d,0xcd,0xe6,0x83,0xab,0x8,0xe4,0x4f,0xcc,0xf9,0xfe,0xdc,0x17,0x8c, + 0xfc,0x63,0x3e,0x64,0x33,0xff,0xff,0xf6,0x8d,0x36,0xb3,0x93,0xc4,0x54,0xa9,0xda, + 0x59,0x64,0x13,0x25,0xb9,0xed,0xe,0xd5,0x64,0xae,0x3a,0x82,0x60,0x16,0x3a,0x19, + 0xa4,0x73,0xf6,0x15,0x2a,0x52,0xb3,0xb4,0xbc,0x44,0x51,0x2b,0x34,0x64,0x53,0xa6, + 0x9e,0xfd,0xf0,0xc2,0x24,0x34,0xf5,0x8a,0x9,0x55,0x88,0x68,0xcf,0x9e,0x5b,0xc, + 0xb6,0x3f,0xf,0x2b,0x15,0xb7,0xb9,0xdf,0x69,0x99,0x31,0xd8,0x8d,0x16,0x41,0xe2, + 0xb1,0x18,0x51,0x90,0x7a,0xa3,0x31,0x9b,0x9f,0xc8,0x72,0xd9,0xc6,0x58,0x61,0xec, + 0xf3,0xe1,0x80,0xd0,0x45,0x6b,0x41,0xb1,0xac,0xee,0x80,0x24,0xf9,0xf4,0x76,0xa4, + 0x6c,0x82,0x65,0xb1,0x1f,0x47,0x8,0xe2,0x25,0x59,0x1c,0x39,0x31,0xca,0x5c,0xa4, + 0x7,0x86,0x8d,0xbc,0x3d,0xdc,0x8f,0x13,0x53,0xa,0x57,0xcb,0x3e,0xa,0x40,0x28, + 0xdd,0xee,0x9b,0xfa,0xb0,0x1c,0x49,0xf5,0xe2,0x38,0x78,0xa4,0x17,0x16,0xe6,0x32, + 0x5b,0x33,0x4b,0xe6,0x29,0x12,0x18,0xf3,0x22,0x16,0xdc,0x79,0x1e,0x2c,0xe2,0x86, + 0x69,0x23,0x6b,0x30,0x85,0x60,0xc7,0x58,0x52,0x73,0x30,0x13,0xc8,0x60,0x16,0xf5, + 0xd8,0xd3,0x3b,0xcb,0xd2,0x9a,0x93,0x56,0x32,0xeb,0xc2,0xd2,0x22,0xea,0x8a,0x19, + 0x49,0x45,0x36,0x7e,0xd0,0xf7,0x54,0x36,0x98,0x32,0x7a,0x4,0x23,0xbb,0x10,0x6, + 0x32,0x87,0xd,0x54,0x2e,0x1d,0x31,0x18,0x37,0x30,0x58,0x5b,0x72,0xf6,0xcc,0x37, + 0xef,0x42,0xe8,0x7e,0x8,0x61,0x51,0xec,0x2a,0x77,0x9,0x8d,0x29,0x42,0x70,0x30, + 0x63,0xa4,0xca,0x86,0x62,0x59,0x98,0x23,0x20,0x83,0x19,0xef,0x52,0xa8,0x26,0x2d, + 0x96,0x96,0xcd,0x8b,0xd2,0x50,0x31,0x8b,0xa2,0x64,0x46,0xe8,0x66,0x4d,0x6d,0x5, + 0x7f,0x22,0x56,0xf2,0xfb,0xc8,0x42,0xaa,0x50,0x1f,0xd0,0xc,0x5d,0xb5,0xb8,0x69, + 0x53,0xcb,0xc1,0x18,0xdd,0x9c,0xaf,0x67,0xfc,0xf9,0xcf,0xc8,0x18,0xbe,0xd6,0x3b, + 0xe2,0xe1,0x6a,0xbf,0xfe,0xc4,0x4c,0xd3,0xf9,0xec,0x19,0x5e,0x91,0x81,0x55,0x74, + 0x49,0x14,0x1d,0xe8,0xb9,0x76,0xcd,0xa4,0x5,0x9,0x1d,0xbf,0x71,0x64,0xd6,0x5, + 0x46,0x1d,0x29,0xaa,0xf3,0x9c,0x28,0xd0,0xe2,0xcb,0x35,0x5,0x55,0x1d,0x9b,0x29, + 0x81,0x43,0x64,0xaf,0x2e,0xa3,0x23,0xac,0xe7,0x21,0x13,0x38,0xdb,0x57,0x87,0xa9, + 0xca,0xc8,0x51,0x66,0xc3,0xcc,0xce,0x86,0xfe,0xbd,0xb7,0xcd,0x85,0xe2,0x6d,0xfd, + 0xb9,0xe4,0xd7,0xd2,0x1f,0x92,0xff,0x80,0x77,0xc3,0xc4,0x47,0x42,0xc9,0x3f,0xb9, + 0xe1,0xe8,0x9a,0x3f,0x98,0xc3,0x17,0xf8,0xe6,0xe0,0x97,0xfa,0x44,0xe0,0xb3,0x34, + 0x7e,0xff,0x5,0x96,0x91,0xd6,0x72,0x7f,0x46,0xc4,0x7f,0xe7,0xf0,0x7f,0xff,0x4a, + 0x16,0xd9,0x2,0xff,0xf5,0x27,0x5e,0x6a,0x4,0xf2,0xa4,0x74,0xaa,0x45,0x1d,0xac, + 0xbe,0x5f,0xfa,0xe4,0x56,0xdc,0xb4,0xa7,0x2c,0x8a,0x1c,0xd4,0x53,0x19,0x17,0x5, + 0x49,0x40,0xdb,0xae,0x58,0x51,0xb9,0x47,0x9e,0x62,0xdf,0x47,0xf7,0x5a,0x52,0xb7, + 0xd7,0x7b,0xc0,0x4d,0x17,0x7a,0x32,0xd2,0x7,0xd3,0xcc,0xd2,0xff,0xad,0x9b,0x55, + 0xb4,0x7f,0xa5,0xcd,0xaa,0xf0,0xa4,0x89,0x26,0x9b,0x70,0x93,0xde,0xb4,0x2e,0xac, + 0x14,0xca,0x36,0x60,0x8c,0xd2,0x85,0x41,0x81,0xd0,0x1c,0x5,0xf3,0x28,0xf8,0xc, + 0xfb,0x3e,0xc4,0xd2,0x66,0xb,0x6d,0xd2,0x5d,0xe9,0x67,0x3,0xbd,0xb5,0x3b,0x45, + 0xbf,0xe3,0x1c,0xcd,0xcf,0x2d,0xe7,0xa0,0xe3,0xb4,0x9c,0xe3,0xf0,0xd6,0xdc,0xda, + 0x48,0x4,0xc6,0xbe,0x3f,0x17,0x9,0xb1,0x90,0xd8,0xba,0x28,0x1,0xa4,0x2f,0x8c, + 0x83,0xab,0x96,0xc0,0x82,0x1c,0x2a,0xb2,0xb0,0x6e,0x9,0xd9,0x97,0x21,0x36,0xc3, + 0x50,0x3b,0xb9,0x57,0x16,0xf6,0xf7,0xb6,0x65,0xb3,0x4d,0x8f,0x5e,0xdd,0x36,0x3d, + 0xba,0xb6,0xd5,0xd9,0xd8,0xbf,0xb7,0x8e,0x49,0x6b,0x9b,0x67,0xbc,0x1d,0x6a,0x83, + 0xfd,0x6b,0x85,0xda,0x90,0xc3,0xc2,0x36,0x6f,0x59,0x3e,0x7c,0xbb,0xf8,0x43,0x1f, + 0x30,0xdd,0xbf,0x5d,0x6c,0x51,0xd3,0xdd,0xa1,0xb3,0xe9,0xea,0xdd,0x1d,0x4d,0x37, + 0x65,0xdc,0x83,0xbc,0xfd,0x5,0x54,0x8,0x79,0x95,0xd5,0x7c,0xae,0x2,0xdc,0x59, + 0x33,0x91,0x4f,0xf,0x28,0xf2,0x89,0x1,0x3f,0xf4,0xe1,0xee,0xff,0xbf,0x3f,0x61, + 0xfe,0xfa,0xab,0xe4,0xa5,0x93,0x26,0x1d,0x8f,0x78,0xab,0x2a,0x95,0x75,0x60,0x5b, + 0xff,0x2,0x62,0xbe,0x72,0x75,0x84,0xa5,0x29,0x43,0x55,0x6,0x3e,0x69,0xfd,0xdb, + 0x9b,0x1f,0xef,0xd6,0xc6,0x3f,0xff,0x78,0xb7,0x99,0x14,0x62,0x92,0xc3,0x97,0x5f, + 0xdf,0x98,0x3c,0xdd,0x4a,0x64,0xf3,0xa4,0x8c,0xb0,0xb0,0xc3,0xd7,0xbb,0xf,0x4a, + 0x3d,0xaa,0xf5,0xaa,0xd2,0xab,0xfa,0xfe,0xfa,0x1f,0xa3,0xd1,0xdf,0x39,0xe2,0xdc, + 0xed,0x7f,0xc3,0x2b,0x8f,0xff,0x67,0x2a,0xac,0x9e,0x3f,0xf5,0x3f,0xa5,0x49,0x21, + 0xae,0xcc,0x19,0xf1,0x3d,0x87,0xf7,0x4d,0x7a,0xb2,0xe7,0x57,0xca,0xd6,0x54,0xff, + 0xe5,0x44,0x52,0xff,0xf6,0x9f,0x7f,0xf9,0x25,0x6c,0x72,0xc8,0xf3,0xff,0xfe,0x5f, + 0x7f,0xf9,0x65,0x2,0x57,0x8a,0xd6,0x59,0x83,0xff,0xb8,0x76,0x0,0xa7,0x74,0x15, + 0x3b,0x6f,0x70,0xed,0x21,0x49,0x1d,0x5a,0x36,0x46,0x78,0xb4,0xb8,0x47,0xd7,0xdb, + 0xe3,0x5f,0x97,0xff,0x73,0x79,0xf4,0xb7,0x3d,0x8,0x2f,0x7c,0x91,0xeb,0xff,0x8a, + 0x50,0xc9,0x2c,0xef,0x6c,0x7f,0xda,0xff,0x31,0x44,0x9c,0xef,0x52,0xb8,0x8b,0xfd, + 0xfe,0xe,0xf3,0xfd,0xcf,0xf6,0xcd,0xa9,0x7a,0xce,0x31,0x44,0x4f,0xdc,0x97,0xd9, + 0xc1,0x3e,0x5b,0xe2,0x3b,0x3e,0x85,0x7d,0xa2,0x1b,0x53,0xf4,0xc0,0x47,0x57,0xec, + 0xa2,0x86,0x63,0x13,0x4f,0x72,0x86,0xd9,0xf2,0xb8,0x4e,0x2a,0x2e,0x8e,0x2b,0x7a, + 0x3f,0xdc,0xf1,0xad,0x94,0x24,0xcc,0x36,0x41,0x12,0x2c,0x5,0x97,0x6f,0x21,0x64, + 0xc9,0xe5,0x83,0x89,0x5e,0x11,0xaf,0xdb,0xbf,0x87,0xc4,0xf6,0x53,0x75,0xf1,0xf2, + 0xdf,0xc5,0xc8,0xda,0x33,0xe,0xbd,0x28,0x29,0x6e,0xe3,0x4c,0xd1,0x94,0x72,0xfd, + 0xc,0xaa,0x9c,0x3e,0xb4,0x49,0x8a,0x6b,0xb6,0x4e,0xdc,0x62,0x7a,0xe5,0x4,0xc4, + 0xaa,0xf0,0xad,0x9b,0x2,0x11,0x7a,0x36,0x8b,0x91,0xfe,0xd9,0x32,0xfb,0xdf,0xec, + 0x9d,0xdb,0x6e,0x24,0x47,0x92,0xa6,0x5f,0x85,0xe8,0xbd,0x12,0x10,0x32,0xd8,0xf9, + 0x80,0xc1,0x5e,0xe9,0xb6,0x5e,0xa2,0x5b,0x50,0xcf,0x2c,0x16,0x3b,0xb3,0x18,0xf5, + 0xde,0xe8,0xe9,0x37,0xdc,0x3c,0x33,0x15,0x64,0x39,0xab,0xb2,0x28,0x52,0x95,0xa4, + 0x92,0xba,0x10,0xf9,0x95,0x9f,0xc2,0xdc,0xfc,0x10,0x16,0x1e,0x7f,0xfc,0x9c,0x3f, + 0xef,0x1a,0x15,0x37,0xf5,0x22,0x8c,0xf3,0xf1,0xdc,0xd9,0x5a,0x3b,0x1d,0xad,0x5c, + 0xad,0x9d,0xa5,0xff,0x12,0x34,0xdb,0x8,0x5,0xd0,0x34,0x6b,0x1e,0xfe,0xb1,0xc2, + 0xac,0x6f,0xf6,0x96,0xb5,0xaf,0xa4,0xda,0x53,0x5f,0x9,0x1,0x45,0x61,0xad,0x4d, + 0x13,0xb8,0xda,0xf2,0x2d,0xf3,0x27,0xec,0x56,0x34,0x28,0x9,0x7,0x67,0xbf,0x1c, + 0x8c,0xac,0xd5,0xc7,0x52,0x23,0x54,0x92,0xfb,0x89,0xb3,0xa3,0xe5,0xc,0x54,0x9a, + 0x58,0xce,0xe7,0x8f,0xe6,0xa5,0x3c,0x8f,0xcf,0x6b,0x87,0xc8,0xc3,0x21,0x2c,0x83, + 0x74,0x30,0xd1,0x62,0xad,0xc1,0x1c,0x95,0x31,0x46,0x6e,0x26,0xc2,0x38,0x1d,0x36, + 0x25,0x95,0xb2,0x4d,0xb1,0x55,0x9e,0x82,0x47,0x1b,0xad,0x32,0xa8,0xfa,0x45,0x9, + 0xf,0x4d,0x5a,0xb5,0xbb,0xdd,0xe3,0xc6,0x95,0x56,0xba,0xf3,0x6e,0xb3,0x95,0x4f, + 0x3d,0x43,0xc,0x2a,0x31,0xcb,0x37,0x2d,0x8,0xa,0x89,0x9a,0x9a,0xf9,0x68,0x61, + 0x36,0xa0,0x99,0xaa,0x5a,0x7f,0xc0,0x38,0xc9,0x35,0xda,0x59,0xca,0xd1,0x77,0x86, + 0x80,0x2c,0xe6,0xbc,0x49,0x2,0x46,0x60,0x9e,0x44,0x2b,0x93,0xb4,0xbd,0xc0,0xa0, + 0x2,0x95,0x78,0xe4,0x76,0x36,0xe5,0x18,0x2c,0x2,0x4b,0x6b,0xb0,0x88,0x2a,0xd1, + 0x4d,0x2,0x5c,0x38,0x2a,0x67,0xd5,0xe9,0x15,0xea,0x9b,0x12,0xb8,0xd3,0x68,0x61, + 0xa4,0x29,0xef,0xc0,0xc0,0xb3,0xc8,0x75,0xd9,0xea,0xdf,0x56,0x63,0x21,0xc8,0x1a, + 0x7f,0x79,0x14,0x5d,0xd9,0x75,0x3f,0xff,0xe3,0x1f,0xf1,0x77,0xbe,0x9d,0xae,0x4b, + 0x28,0x56,0x77,0x6b,0xf9,0x68,0xa,0x13,0x99,0x87,0x49,0x55,0xbd,0xe6,0x6b,0xba, + 0x61,0x89,0xf5,0x30,0x3f,0x83,0x44,0x5a,0xf3,0xc5,0xb9,0x44,0xad,0x16,0x6b,0xe5, + 0x70,0xcd,0x2d,0x12,0x8a,0x98,0x50,0x67,0x66,0x8c,0xa8,0x98,0xf,0x58,0xb5,0x90, + 0xe3,0x41,0x1d,0x4c,0x53,0xdd,0xb7,0x4c,0x70,0xc,0xaa,0x7a,0x30,0x1d,0x15,0x12, + 0xd1,0x56,0x8,0x64,0x59,0x7e,0xfa,0xdc,0x2c,0xb2,0xa3,0xd5,0x81,0x4e,0x2d,0xda, + 0xd2,0xc0,0x38,0xe4,0xf,0x4,0x75,0xa3,0x8a,0x43,0x3d,0xf3,0xc4,0xa0,0xb1,0x3f, + 0x6a,0x91,0x1b,0xa4,0xa,0xb2,0x1d,0xda,0x1e,0x8,0x58,0xce,0x71,0xb8,0xc4,0x20, + 0x70,0x4a,0xc3,0x83,0x2d,0x46,0x83,0xc,0x38,0x46,0x43,0x46,0xc2,0x72,0x41,0xb7, + 0x9d,0x2e,0xec,0xb6,0x76,0x1e,0xe7,0xba,0xc2,0x79,0x56,0xe,0x74,0x5d,0xae,0x65, + 0x9d,0xa2,0xf7,0x7e,0x7e,0xd3,0x7e,0xbe,0xf6,0xad,0xdb,0x54,0xe1,0x1f,0x6e,0x77, + 0x35,0x39,0xdc,0x67,0x6a,0xa1,0x8b,0xdb,0xbf,0x7d,0xe1,0x4a,0xf4,0x87,0x5b,0x99, + 0xb6,0x96,0x5d,0xf8,0xd3,0xa2,0xaf,0x57,0x2e,0xb1,0x76,0x9e,0x95,0x9b,0xad,0xdc, + 0x71,0xe9,0xb8,0x9f,0x96,0x4e,0xfe,0xd3,0x6a,0x38,0xac,0x86,0xcd,0x7a,0x80,0xad, + 0x86,0xe2,0x62,0xc4,0x5e,0x5c,0xf4,0xa,0x77,0x5e,0xda,0x6d,0x3d,0x6d,0x5,0xbf, + 0xde,0xb4,0xb5,0x16,0x43,0x58,0x57,0xeb,0x9f,0xcd,0x5c,0xac,0x40,0x91,0xc9,0x9b, + 0xb8,0x40,0x9c,0xf5,0xe4,0xc9,0x41,0x91,0xd9,0x9b,0x56,0x3a,0xdb,0xce,0x10,0x4, + 0x89,0x68,0x67,0x5,0xae,0x14,0xf9,0x20,0x18,0x40,0xc1,0x16,0x9b,0x84,0x5f,0xbe, + 0x2b,0x21,0x38,0xf2,0x58,0xda,0x26,0x29,0xe0,0xa1,0xe5,0x3b,0x53,0x50,0xad,0xf0, + 0x4d,0x8a,0x81,0x4,0x91,0x76,0xe6,0x20,0x8e,0x18,0x9b,0x22,0x5d,0x24,0x4b,0x5, + 0x13,0x38,0x50,0x6a,0x53,0x22,0xf0,0x64,0xdd,0xeb,0x19,0xbf,0x69,0x8a,0x6e,0xca, + 0x4,0x69,0x9c,0xb4,0x33,0x85,0x14,0x1b,0xb9,0xd9,0xc0,0xe4,0xdc,0xf2,0x80,0x34, + 0xd3,0x41,0xb,0x90,0x22,0x1e,0x84,0x9,0x82,0x55,0x68,0x47,0x9,0x92,0x61,0x71, + 0xb8,0xec,0x66,0x9d,0xb7,0xa1,0xa0,0xfa,0x1,0xe,0xa4,0x49,0xe4,0x13,0x61,0x4a, + 0x34,0x73,0x72,0x79,0x92,0x37,0x5a,0xa4,0x43,0x8e,0x95,0x8,0x42,0x49,0xf9,0xb1, + 0x2d,0x22,0x50,0x8e,0x4f,0x1b,0x2d,0x1,0xa4,0x9e,0xc7,0xab,0x53,0x2,0x63,0xd, + 0x3b,0x5a,0xa1,0x85,0x14,0xed,0xa9,0xbd,0xa6,0xda,0x9e,0x1e,0xc,0x3b,0x50,0x62, + 0x71,0x1d,0x3b,0x40,0x19,0x9c,0x3f,0xeb,0x2a,0x29,0xd0,0x52,0xe4,0x63,0xa7,0xa, + 0x83,0x14,0x67,0x1e,0x3a,0xff,0x7c,0xcd,0x47,0x37,0xf9,0xb4,0x72,0x9e,0xe7,0xf7, + 0xfe,0x92,0x6c,0x58,0xb7,0x75,0x6b,0x58,0x7d,0x6b,0xf8,0xb5,0xb7,0xae,0x24,0xd0, + 0x5e,0x76,0xb,0xf9,0x23,0x7,0x81,0xba,0x39,0x8f,0x2f,0x38,0x62,0x2b,0xce,0x2d, + 0xee,0x21,0xaf,0x5d,0xef,0x8a,0x6e,0x69,0x95,0x30,0x5,0x77,0x33,0x97,0xcd,0x40, + 0xaa,0xce,0x92,0xf6,0xe,0xa9,0xec,0xcc,0x3b,0x75,0x34,0x66,0xd3,0xfe,0xc4,0x40, + 0xf6,0x3b,0xee,0x44,0xc0,0x85,0xd1,0x32,0x25,0xe0,0x8a,0x96,0xd1,0xe7,0x7c,0xa2, + 0x9c,0xb2,0x87,0x2f,0xa8,0x68,0xfa,0xc6,0xa3,0xcc,0x94,0x1a,0xa4,0x90,0x4c,0x62, + 0x13,0x81,0xdc,0xd1,0xf0,0x6f,0x81,0x64,0xe1,0x29,0xe,0x1a,0xec,0xca,0x23,0xab, + 0xb5,0xfe,0xb5,0xd9,0x66,0x2,0x66,0x6a,0x54,0xf3,0x4d,0x2f,0x14,0xad,0xcd,0x5, + 0x62,0xb4,0xa1,0x45,0xca,0xd8,0xbd,0xe5,0x74,0x2,0x34,0xbc,0xc7,0x81,0x26,0x8, + 0xaa,0x56,0xb5,0xd8,0x44,0xd2,0x88,0x82,0x1a,0x3,0x95,0x2b,0xf1,0x60,0xa2,0xc9, + 0x2c,0x87,0x6b,0xde,0x19,0x7,0x87,0xf6,0xd9,0x7a,0x85,0x98,0x42,0x86,0x17,0x3a, + 0x58,0x79,0x5,0x5a,0x33,0x4f,0x27,0x1d,0xab,0x6,0xa1,0x79,0x3c,0xc9,0x1d,0x60, + 0xa1,0xc9,0x7a,0xa8,0xc7,0x9,0xd4,0x3d,0x24,0xe,0xed,0x71,0x5,0x43,0x23,0xd3, + 0x63,0xc3,0x3d,0xa6,0x60,0x6e,0x1c,0xae,0x30,0x14,0x90,0x9d,0x93,0xe,0x96,0x8, + 0x83,0xd2,0xa8,0xb2,0xa3,0xc9,0x22,0xfa,0x46,0x8e,0xe5,0x60,0xdb,0x48,0x10,0x71, + 0x89,0x43,0x17,0x84,0x1,0x9,0xba,0xd6,0xa3,0xae,0x6a,0x9d,0xe,0x51,0x3d,0xf4, + 0xa9,0x33,0x14,0xa7,0x93,0x1e,0xfa,0xfe,0x7c,0xcd,0x47,0x2f,0xf9,0xb4,0xf2,0x9d, + 0xe5,0x4a,0xc9,0xe4,0xd5,0xf8,0x8a,0x35,0xef,0x45,0x8b,0xe5,0x7a,0xa1,0x24,0x8b, + 0xcf,0x16,0xca,0x22,0x48,0xcd,0xe1,0x73,0x88,0x90,0x6a,0xd6,0x77,0xe1,0x65,0x60, + 0xec,0xb6,0x29,0x21,0x54,0x98,0xc4,0x83,0x22,0x2,0x8a,0xf7,0x6c,0x8e,0xed,0x17, + 0xb6,0x33,0x1,0x66,0x19,0x99,0x59,0x41,0x3,0x3b,0xb3,0xa2,0x3,0xab,0xe4,0xa0, + 0x1,0x65,0x81,0xfa,0x30,0xca,0x21,0x62,0xb7,0x66,0xc2,0x5e,0xb4,0x33,0x6,0xf3, + 0x20,0x6f,0xc6,0x46,0x43,0xe9,0xb4,0xa9,0x17,0xd7,0x81,0x36,0x4b,0x2f,0x9b,0x48, + 0x23,0x46,0x66,0x1,0x44,0xf5,0xa7,0x99,0xd,0xd4,0x8a,0xe2,0x51,0x35,0x5,0xc2, + 0x89,0x8f,0x9a,0xc3,0xc,0xa2,0xf9,0xb4,0xe1,0xbd,0x76,0x19,0xe9,0xf1,0x12,0x5, + 0x41,0x2a,0x33,0xdb,0x14,0xce,0x94,0xbc,0x33,0x81,0x60,0x79,0x64,0xb3,0x4f,0x2b, + 0x4b,0x76,0xdf,0x5f,0xf9,0x60,0xb9,0x48,0x6e,0xe3,0x75,0x9b,0xff,0xf3,0xf7,0x5f, + 0xff,0xf7,0x69,0xa5,0x18,0xbf,0xa,0x67,0xbc,0x70,0x95,0x10,0x47,0x10,0x51,0xed, + 0x17,0x8,0xb,0x98,0x8d,0x78,0xb1,0x4a,0x7c,0xf3,0x91,0xb1,0x54,0xc5,0xdb,0x52, + 0x25,0x12,0xb6,0x1f,0x3e,0x8b,0x92,0x4f,0x71,0xf,0xc9,0x16,0x28,0xb7,0xcc,0x19, + 0xde,0x76,0x70,0xac,0xd0,0xad,0xa2,0x45,0x4c,0x72,0x47,0x1,0xce,0x1c,0x39,0x90, + 0x3a,0xda,0x4e,0x6a,0xbe,0xeb,0x58,0x5,0xe5,0x19,0x9d,0x51,0x19,0xcc,0xc4,0xb9, + 0xe3,0xb7,0x1c,0x41,0xb2,0x33,0x7,0x4d,0x91,0xdc,0x19,0x3,0x73,0x68,0xee,0xac, + 0x95,0xcd,0xac,0x11,0x59,0xef,0xa5,0x1a,0x96,0x62,0x9c,0x29,0x8b,0xee,0xac,0x0, + 0xab,0xa4,0x2e,0x29,0x27,0x63,0xca,0x78,0x92,0xdb,0x8,0x4c,0xa3,0x2e,0xb5,0xd4, + 0x8e,0xc,0x8c,0xc3,0xb5,0x59,0x4a,0xf9,0x8e,0x5a,0x68,0xbd,0x5b,0x7d,0xde,0x1, + 0x36,0xc,0x72,0xdd,0x59,0x9b,0x40,0x76,0x52,0x40,0xad,0x3f,0x52,0x9,0x5e,0xcc, + 0xde,0x48,0x33,0x6c,0x10,0xca,0xb8,0xe4,0xd3,0x90,0x2e,0x8c,0x4d,0x2d,0x1b,0x21, + 0x12,0xcd,0xd7,0x94,0x18,0xab,0x62,0x67,0x1,0xca,0xd6,0xe4,0x9c,0x51,0xc1,0x2c, + 0x33,0x77,0xa6,0x40,0x29,0x62,0x3b,0x43,0x70,0x42,0x19,0x4c,0xc0,0x82,0xfa,0x4a, + 0x4f,0x9f,0x15,0x6e,0x76,0xb6,0x11,0x39,0x65,0x4d,0x82,0x88,0xb4,0xb3,0x80,0xa, + 0x46,0x6a,0xa6,0xe5,0x98,0xcd,0x52,0x25,0x8e,0x39,0xd,0x8c,0xd4,0xf5,0x52,0xbe, + 0xed,0x8c,0x20,0xdd,0x89,0x2f,0xed,0xf0,0xd1,0xad,0xc7,0x96,0x4a,0x80,0x55,0x9e, + 0xae,0x30,0x58,0xdb,0x37,0x2c,0xd9,0xb8,0x7d,0x23,0x76,0xb8,0xf0,0xa1,0xf5,0x8d, + 0x17,0x39,0x7d,0x6d,0x39,0x19,0xcb,0xc2,0x5c,0x1a,0xbe,0xd7,0x53,0x83,0x51,0xfb, + 0xfa,0xa9,0x41,0x35,0xfe,0xc0,0x8a,0x74,0xd7,0x47,0x7e,0x94,0x6f,0x57,0x6f,0x6d, + 0xad,0x46,0xf7,0x9c,0xc7,0xf4,0xca,0xaa,0x14,0x34,0x16,0x2,0x82,0xd6,0x3e,0x7f, + 0xf9,0x3d,0x42,0xaa,0xea,0x2d,0x5a,0xe6,0x23,0xe9,0xd0,0xad,0x9f,0x63,0xc4,0x35, + 0x3b,0xd5,0xef,0x37,0xa7,0xfc,0xfc,0xfb,0x5b,0x1b,0xab,0xe6,0x4b,0xe2,0x2a,0x36, + 0x64,0x7d,0x6b,0x7f,0xa,0x16,0x10,0x41,0x29,0x5f,0x88,0x20,0x41,0x18,0x22,0x6d, + 0x12,0x2,0xe6,0x81,0x74,0x62,0x9b,0xa4,0xc3,0x5c,0xd9,0x2e,0xa0,0xc0,0x99,0xd1, + 0x1b,0x28,0x46,0xe5,0x26,0x25,0x80,0x85,0x1e,0x3b,0x63,0x48,0xaa,0x39,0xf,0xa1, + 0x51,0xe4,0xd8,0x27,0xa2,0xf6,0xdf,0x2d,0x2f,0xd6,0x25,0x39,0x58,0xcc,0xd9,0x8a, + 0x41,0x82,0x98,0x47,0x1a,0x28,0x66,0xf3,0x4d,0x32,0x21,0xc9,0x3a,0x28,0x35,0xfe, + 0x52,0xc8,0x98,0xf5,0xc7,0x26,0xc9,0xa7,0x6,0x27,0x58,0x66,0xe8,0x4e,0x10,0x98, + 0xf6,0xfc,0x34,0x1a,0x5f,0x97,0xb,0x34,0xe0,0x4a,0xf6,0x9d,0x5,0x64,0x72,0x55, + 0x47,0x8f,0x92,0xe2,0x14,0x4b,0x31,0x13,0xcf,0x69,0x98,0xfe,0xdb,0x2f,0xc1,0x1f, + 0x45,0x44,0x6f,0x16,0xc8,0x58,0x1d,0xe9,0x31,0x4b,0xe3,0x4d,0x22,0x81,0x23,0x4d, + 0x77,0x16,0x73,0x9f,0xd2,0x75,0xda,0xac,0x53,0xb1,0x45,0xa3,0x4f,0x6d,0x2a,0xa2, + 0xdc,0x19,0xef,0xac,0x90,0xbb,0xe5,0x96,0x4c,0x8d,0x4e,0x59,0xd3,0x0,0x4f,0x59, + 0x15,0x90,0x3c,0xa4,0xad,0x1b,0xca,0x2a,0xcd,0xcc,0x95,0x87,0x75,0x9,0x44,0xc8, + 0xac,0x59,0x5,0x89,0xcd,0x69,0xde,0xb4,0xc5,0x8d,0x7a,0x41,0x30,0xd5,0x39,0x3, + 0x9f,0xa,0x8c,0xd6,0xb1,0xf3,0xb6,0x70,0x32,0x61,0x35,0xe3,0xee,0xbf,0x36,0x3e, + 0x4f,0x70,0xec,0xe1,0x9,0xce,0x3e,0xd0,0x17,0x89,0x96,0x48,0x67,0x3f,0x41,0x7a, + 0xec,0x49,0x3d,0x7c,0xbe,0x79,0x2f,0x5b,0x24,0xf9,0xc3,0xf5,0x27,0x7c,0x6e,0xf4, + 0x60,0x8f,0x32,0x5e,0x15,0x71,0x52,0xae,0x3f,0x10,0x71,0x4a,0x25,0xf7,0x2b,0x23, + 0x4e,0xeb,0x3,0x55,0xff,0xc0,0xe2,0xc8,0xf7,0x63,0xee,0x75,0x78,0x2a,0x3c,0x1d, + 0x65,0xb3,0x16,0xed,0x33,0xf5,0x93,0x7e,0x9b,0x58,0xa0,0x1e,0xa8,0x50,0x8f,0x75, + 0x6e,0x79,0x7b,0xf6,0x64,0x3d,0x23,0xf2,0x8d,0x3,0xb2,0x38,0xad,0x77,0x46,0x17, + 0x2a,0x4,0x8a,0xa9,0x16,0x83,0x99,0x64,0x5a,0x1f,0xa8,0xc8,0x32,0xf5,0x3d,0x37, + 0x43,0x59,0x56,0xc5,0x26,0x1,0x19,0x2c,0xd4,0xe3,0xd,0x48,0x5d,0xa4,0x85,0xc3, + 0x42,0x51,0xb2,0x7,0x8f,0x43,0x88,0x92,0xe6,0xc8,0x4e,0xc1,0xad,0x58,0x64,0x80, + 0xa1,0x32,0xb2,0x23,0x60,0x19,0x5b,0x8e,0x74,0x64,0xc9,0xde,0x6a,0xed,0x24,0x62, + 0xde,0xb9,0x3,0xc8,0x95,0xa5,0xa5,0x3d,0x18,0xb9,0xfc,0x61,0x14,0xee,0xac,0xda, + 0x92,0xcd,0xaa,0x36,0xae,0x46,0x9,0x28,0x13,0x73,0x67,0x8,0x8e,0x2a,0x33,0x6, + 0x60,0x60,0x44,0x95,0xd2,0x52,0x6d,0xa8,0xea,0x39,0x62,0x5e,0xe8,0x95,0xa5,0x1b, + 0x2b,0x24,0x1a,0x2b,0x1f,0xc,0x39,0x58,0x78,0xb5,0x21,0x2d,0xc0,0xd3,0xca,0x69, + 0xd0,0x32,0x55,0xad,0x7,0x17,0xc8,0x24,0x6a,0x71,0xb3,0x50,0x92,0xd2,0x7e,0x89, + 0x86,0xc2,0xb3,0xb,0x44,0xd5,0xa0,0x91,0x39,0x70,0x14,0x69,0xe8,0x83,0x86,0x6b, + 0x60,0xf6,0x1b,0x64,0xd9,0xed,0xe,0x40,0x8f,0x8,0x6f,0x81,0x32,0x8d,0x4e,0x56, + 0x60,0x21,0x59,0x9d,0x59,0x41,0x91,0x42,0x62,0x13,0x9d,0xa1,0xbc,0x1a,0x6c,0xd8, + 0x69,0xf4,0x82,0x0,0x71,0x20,0x79,0x9f,0x9d,0x71,0x46,0x93,0xa9,0xd4,0xe6,0xd1, + 0xdf,0x97,0x6f,0xc5,0x6,0x26,0xaf,0xd1,0x37,0xe6,0x59,0xa8,0x33,0x12,0x56,0xa2, + 0x4e,0x36,0xca,0x1c,0xe6,0x73,0x1b,0xcc,0x4d,0xb9,0x78,0xf4,0xb6,0x58,0x9a,0xd7, + 0x81,0x1d,0xfc,0xe2,0x40,0x2f,0xe,0xe4,0x31,0x1a,0x69,0x64,0x7,0x3f,0x5b,0x78, + 0xe4,0x7a,0x2b,0x21,0x1a,0x8d,0xaf,0x5b,0xce,0xbf,0xf9,0xd1,0xf6,0x97,0x76,0x1, + 0x96,0x57,0x8e,0x23,0x7,0x2f,0x2b,0xdd,0xa,0x14,0xdd,0x18,0x3b,0xb0,0x8a,0xd8, + 0xd2,0xaa,0xc4,0x80,0xc4,0xa9,0xf1,0xe7,0x79,0x9e,0x82,0x6,0xa7,0xb6,0xeb,0x89, + 0x1b,0x61,0xe,0xd7,0x2b,0x2c,0x89,0x29,0x7c,0xe3,0xa9,0x5c,0x33,0x6c,0x29,0x8e, + 0x8c,0x9d,0x5b,0x72,0xa7,0xdc,0x7e,0x16,0x4e,0xd2,0x83,0xcb,0x8b,0xb4,0x6,0x2a, + 0xa9,0x4e,0x56,0x40,0x15,0x4e,0xd3,0xf3,0xaa,0x44,0x85,0x3a,0x5e,0x9a,0x95,0x28, + 0x1f,0xc2,0xf3,0xae,0xff,0x5a,0x49,0xaa,0xbe,0xb3,0x55,0xf8,0x55,0xc2,0x68,0x86, + 0x1f,0x60,0xeb,0x11,0xf5,0xd9,0x6d,0x98,0x10,0x83,0x29,0xf5,0x42,0x15,0x40,0x62, + 0x95,0x97,0x7d,0x7e,0x10,0x4f,0x8a,0x15,0xdc,0x4c,0x1c,0x6d,0xa2,0xc4,0xd0,0x1d, + 0x21,0x24,0xb,0x73,0x33,0x31,0xd,0x39,0x3d,0xbe,0x55,0xa2,0xf2,0x9d,0xe6,0x28, + 0xd2,0xe7,0x73,0xde,0x24,0xce,0xde,0xe2,0x96,0x23,0xd1,0xce,0xec,0xc2,0x4,0x54, + 0x3c,0xb5,0x33,0x2b,0xa8,0x19,0xf9,0x4e,0x3,0x9c,0x8c,0xb5,0x53,0x46,0x68,0x68, + 0xef,0x41,0x25,0xd9,0xa2,0xd3,0x65,0xba,0xcf,0x0,0x87,0x55,0x8b,0x6b,0xce,0x94, + 0x22,0x5e,0xbd,0xf7,0x35,0x27,0xe5,0x66,0x96,0x1a,0x75,0xde,0x37,0x63,0x35,0x3b, + 0x35,0x7c,0x2a,0x24,0xf0,0x6c,0xb8,0x5f,0x28,0x81,0xef,0x94,0x1f,0x5d,0x4c,0x81, + 0xa1,0xb2,0x3c,0xba,0xec,0x4,0x3f,0xe7,0x26,0x3,0x62,0xd2,0x9c,0x6,0xa,0x63, + 0xea,0x5b,0x7,0x57,0x34,0xea,0x6d,0x7c,0xaa,0xd5,0x60,0xa,0x32,0x72,0x37,0x2b, + 0x3a,0xe5,0xe6,0x0,0xde,0x69,0x4e,0x5a,0x2a,0xd4,0x37,0x10,0x92,0xd4,0xd7,0xdd, + 0x41,0xf6,0xb2,0xde,0x5b,0x47,0x51,0x45,0xa7,0xc3,0x2c,0xa5,0xd3,0x2d,0x4,0x73, + 0xb2,0x37,0x4d,0x34,0x9b,0xb7,0x10,0xa3,0x1a,0x9d,0xd7,0x5d,0x6e,0xd4,0xec,0x9c, + 0x3b,0xc0,0x3a,0xf7,0xa7,0x27,0x14,0xd9,0xab,0xcb,0x3c,0xe4,0x57,0x30,0xc6,0xca, + 0x27,0xf5,0x50,0x68,0xd2,0xa3,0x16,0x11,0x28,0x52,0xe7,0x7e,0xdc,0x76,0x44,0x8e, + 0xe8,0x6b,0x74,0x37,0xe6,0x66,0x21,0x8e,0xdc,0xd6,0x8,0x37,0xf2,0x66,0x56,0xa4, + 0x6d,0xc,0x6,0xa5,0x88,0x6a,0xa8,0xa1,0x62,0x7d,0x20,0x21,0xd0,0x4a,0xa6,0xaf, + 0x51,0x45,0xac,0x9c,0x77,0xbd,0x9c,0xaa,0xd2,0x95,0xcb,0x69,0x8b,0xc,0xaf,0xf7, + 0xe7,0x63,0x10,0xbe,0x74,0x47,0x3e,0x8c,0x15,0xf9,0xf8,0x19,0xf0,0xd3,0xe7,0x8, + 0x5d,0xfe,0xf5,0x27,0x8a,0x32,0x91,0xb4,0xf2,0x8b,0x93,0xd6,0x8d,0x45,0xc8,0x7c, + 0x11,0xfb,0xbf,0x44,0xf0,0xcd,0x81,0x99,0xd2,0xce,0x47,0xdb,0xa9,0x82,0x34,0x7, + 0x46,0x56,0x89,0xe8,0xe0,0xf1,0xb0,0x6f,0x6c,0xa6,0x60,0x48,0xee,0x3b,0xca,0xa9, + 0x2e,0xb4,0x99,0x40,0x31,0x5e,0xe2,0xda,0x95,0xfd,0xfc,0x99,0xa1,0x92,0xc2,0x65, + 0x8f,0xe0,0x30,0xa8,0x59,0xf5,0x61,0xd9,0x74,0xd1,0xdc,0x91,0x80,0x69,0x9a,0x9d, + 0xbe,0x24,0x19,0x34,0x32,0xbb,0x2,0xbb,0x4,0x6d,0x5d,0x19,0xce,0x60,0xba,0x9b, + 0x8f,0x64,0xc,0x94,0x65,0xbc,0xa3,0xda,0x54,0x80,0x88,0x29,0xbb,0xc2,0x2,0x37, + 0x8b,0xd8,0xfa,0x2e,0x5b,0x8d,0xf6,0x62,0x10,0x34,0x6c,0xca,0xbb,0x7a,0xe2,0x40, + 0x66,0xd0,0x97,0x89,0x10,0x12,0xa7,0x8c,0x2,0x16,0x82,0xdd,0x50,0x23,0xd5,0xe8, + 0x0,0x7c,0x95,0xa1,0xf7,0x35,0x86,0xab,0x75,0x14,0xdd,0xc6,0x9f,0xe9,0xa7,0xfa, + 0xd4,0x36,0x33,0x20,0xae,0xb2,0x7e,0xd8,0x41,0x27,0xf3,0x79,0x29,0xab,0xad,0x2c, + 0xba,0x1e,0x14,0xf5,0xf5,0x3d,0xe6,0x18,0x15,0x6f,0x18,0x5,0xbf,0xfa,0x91,0x5f, + 0xaa,0xdd,0x58,0x4c,0xd3,0xbc,0x3e,0xf7,0x65,0x2e,0x98,0x5d,0xec,0xed,0x1b,0x9f, + 0x76,0xd2,0x9d,0x67,0xbf,0x3b,0xb,0x1b,0x54,0x10,0xe6,0xe6,0x4,0x6c,0x22,0xbe, + 0x23,0x7,0x8b,0x30,0xdb,0x1c,0x41,0xbd,0xac,0x49,0xb8,0x51,0x3f,0xd2,0x57,0x35, + 0xf1,0xce,0x99,0x60,0xca,0xc3,0x5b,0xa,0x90,0xd3,0xab,0x4b,0xef,0xbd,0x5c,0x77, + 0x75,0x64,0x8e,0xce,0x97,0x31,0x16,0xe8,0x5c,0xbf,0x14,0x70,0x3b,0xfd,0x89,0x3c, + 0x6d,0xe3,0xda,0x35,0x4c,0xae,0x38,0x91,0xfd,0x72,0xcf,0x60,0x60,0x8c,0xb8,0xc2, + 0x31,0x96,0xef,0xb0,0x9f,0x7e,0xbe,0x34,0xef,0xf9,0x6d,0xf9,0x4a,0x84,0x2d,0xe3, + 0xdf,0x26,0x28,0xb2,0x25,0x1,0x4e,0x9d,0xec,0x8e,0x46,0x93,0xd9,0xe,0x23,0xc1, + 0x1a,0xfe,0xb4,0x80,0x9d,0x59,0xb1,0x91,0x81,0xb2,0x3f,0x46,0x7a,0xce,0x7a,0x84, + 0x2,0x1e,0x33,0x5d,0x1,0x97,0x52,0x47,0xbc,0xb1,0x2,0x17,0xa8,0x9b,0x12,0xd8, + 0x37,0xa,0x83,0x99,0x87,0xe8,0xce,0x16,0x6d,0x5e,0x7,0xc2,0x29,0xbe,0xfe,0x8c, + 0xed,0x66,0x26,0x96,0xbc,0xa1,0x3,0x55,0x6,0x16,0xc8,0xd2,0x67,0x64,0x49,0x44, + 0xce,0x1f,0xd3,0x65,0x77,0x99,0x54,0x99,0x50,0xaa,0xa3,0x58,0x2c,0x48,0x39,0xba, + 0x82,0x2c,0x43,0xe5,0x41,0x9,0x58,0x8c,0x35,0xb6,0xe8,0x68,0x34,0xd3,0x49,0x10, + 0xab,0xb4,0x52,0x64,0x50,0x27,0x92,0x94,0xc1,0x28,0x8b,0x33,0x86,0x4b,0xb9,0x70, + 0x1a,0xf,0xc6,0x2c,0x42,0x3b,0x2b,0x50,0xc2,0x3c,0x6d,0xc5,0x0,0x2b,0x42,0x69, + 0x4b,0x6,0x76,0x1c,0xd1,0x1b,0x16,0xd0,0x64,0xd2,0x3c,0xb4,0x92,0xc,0x52,0xd4, + 0x7,0x4b,0x28,0x27,0x9e,0xdf,0x84,0x83,0x2a,0xab,0x29,0xe6,0x26,0xc9,0x23,0xd0, + 0x5f,0x10,0xce,0xad,0xcf,0xa5,0x10,0x44,0x7b,0xd6,0x84,0xa2,0x74,0x95,0xad,0x2, + 0x10,0xc5,0xa3,0xf5,0x5d,0x60,0x94,0x46,0xd4,0xdd,0x5d,0x25,0x23,0x52,0xf,0x46, + 0x64,0xc9,0xad,0x7e,0x91,0xca,0x46,0x2b,0xf4,0xe9,0xc1,0x0,0x19,0x4d,0x76,0x66, + 0xe0,0x48,0x39,0x8a,0x63,0x84,0xb0,0xf4,0x56,0xd7,0x30,0x27,0xb6,0x36,0x20,0x95, + 0x1b,0x35,0x23,0xf5,0x92,0x83,0xf9,0x2f,0x6c,0x8a,0x3b,0x23,0x63,0xb2,0x1d,0x68, + 0x5f,0xf,0x65,0x1c,0x4b,0x24,0xf4,0x51,0x64,0xe9,0xa1,0xe6,0x4f,0x3b,0xd,0x70, + 0xce,0xac,0x43,0x1b,0x7f,0x5a,0x52,0x42,0x85,0x28,0x45,0x3f,0x5c,0x33,0x21,0xf7, + 0x1a,0xfe,0xd8,0x38,0x84,0x4,0x12,0xa9,0xfa,0xbb,0x11,0x2b,0x81,0x54,0xf5,0x91, + 0xa5,0xd,0x4,0x2d,0xe5,0xd8,0x23,0x19,0xe0,0x3b,0x62,0x3b,0x74,0xdd,0x94,0xb3, + 0xc,0xe1,0x43,0x17,0x7,0x41,0x51,0x90,0xf9,0xd1,0x19,0x9a,0x1a,0x51,0x1d,0xbc, + 0x66,0x47,0x54,0xe8,0x7a,0x70,0x2e,0xaf,0x96,0xb9,0x67,0x7f,0xe4,0x86,0x1e,0xa0, + 0x11,0x8c,0xda,0xe,0xeb,0x1c,0x7d,0x74,0x3c,0x94,0xa4,0x55,0xea,0x52,0x2d,0x34, + 0x56,0x3,0x60,0x3d,0xc5,0x64,0x5c,0xb1,0x42,0xf5,0x76,0x7e,0xfe,0xef,0xb7,0x6f, + 0x59,0x61,0x98,0xb1,0x42,0xf9,0xb,0x2b,0x8c,0xdf,0xd8,0xa9,0x1a,0xad,0xc5,0x13, + 0xd6,0x68,0x91,0x6a,0xcb,0x8d,0x7a,0x23,0xac,0xd2,0xf,0x4a,0x67,0x27,0xa7,0x6c, + 0x24,0x5,0xe5,0x1a,0xb5,0x33,0x81,0x94,0xb2,0x1d,0xc9,0xf9,0xcc,0x4b,0x28,0x24, + 0x26,0xee,0x8c,0x1d,0x88,0x54,0xfa,0x5d,0x71,0x33,0x8,0x72,0xf2,0x9d,0x22,0xa8, + 0x85,0xda,0xa0,0xae,0xc0,0x48,0xaa,0xad,0x85,0x83,0x25,0xd,0x53,0x1,0x11,0x55, + 0xfa,0xd5,0xd2,0xc,0xf2,0x18,0xb4,0x14,0x1c,0x3,0x47,0xed,0xa,0x56,0xd5,0xa7, + 0xc9,0x16,0x74,0x67,0x9,0xa9,0xe5,0xb9,0x91,0x2a,0x68,0x15,0xe,0xe6,0x80,0x4c, + 0x6c,0x3b,0x33,0x28,0x12,0xe9,0xcc,0x2,0x54,0x9c,0xbc,0xc3,0x0,0xe1,0x18,0x8b, + 0x5c,0x3a,0x10,0x53,0xd8,0x46,0x46,0x60,0x81,0xe4,0x4b,0xf6,0x69,0x69,0xa4,0xf5, + 0x6e,0xd9,0xe8,0xaa,0x2d,0xd1,0xaf,0x37,0xb1,0xac,0x15,0xe9,0x6d,0x79,0xa8,0xa2, + 0x2d,0x82,0x4f,0x65,0x50,0xad,0xcf,0xae,0x62,0xe7,0x27,0xb0,0xa5,0xe0,0x9c,0x1a, + 0xcd,0x2c,0xd,0x7d,0x67,0x2,0x19,0xac,0xbc,0x33,0x7,0x47,0x22,0x69,0x76,0xce, + 0x1b,0xe7,0xbc,0xe9,0x90,0xcc,0x25,0x9b,0x2a,0x2,0x63,0x65,0x3e,0x48,0x24,0xb0, + 0xa5,0xd2,0xce,0x4,0xd0,0x43,0x6c,0x67,0x8,0x6e,0x9d,0xf7,0xf2,0x26,0xb4,0x78, + 0x40,0x8a,0xaa,0xee,0x2c,0x81,0x33,0x47,0x3a,0x57,0x70,0x2a,0xdf,0x99,0x31,0x58, + 0x99,0xc4,0xce,0xce,0x2a,0xf5,0x6a,0x7a,0xc9,0x4b,0xc0,0xac,0x9c,0x9b,0x3a,0x41, + 0x72,0x8c,0x90,0x97,0x25,0xe8,0x6c,0x5f,0x10,0x38,0xdb,0x82,0x7c,0xda,0x59,0x41, + 0x9d,0x98,0x9c,0xaf,0x22,0xc,0xcc,0x8,0x79,0xd3,0x64,0xe0,0xc,0xda,0xf3,0x96, + 0x43,0xa4,0x29,0xed,0x8c,0xba,0x56,0x25,0x9c,0xc7,0xce,0x26,0xe9,0x9c,0xca,0x2, + 0xc6,0x71,0x48,0xa4,0xa,0xe1,0xa4,0x75,0x28,0x4a,0x1d,0x41,0x1f,0x55,0xf9,0x69, + 0x67,0x4,0xf5,0xa8,0x69,0x3f,0x5d,0x98,0x5f,0x98,0x5a,0x1,0x66,0xb2,0x1c,0x2e, + 0x53,0xcd,0xc1,0xe4,0xb1,0x39,0xd4,0xc,0xbc,0x38,0xe3,0x60,0xb6,0xf1,0x9b,0x46, + 0x62,0x1c,0xcc,0xab,0x5a,0x9f,0x75,0x83,0x2a,0x3,0xda,0xa3,0xde,0x52,0x91,0xd6, + 0x60,0xce,0x43,0xaf,0x2a,0x3b,0xe8,0x93,0xde,0x6f,0xa6,0x88,0x75,0xf0,0x12,0x65, + 0x3,0x4f,0x45,0x3d,0x78,0x93,0xb2,0x5e,0xf2,0xda,0x25,0x2f,0x41,0x15,0xbb,0xec, + 0xac,0x80,0x28,0x5c,0x77,0x86,0x20,0x55,0xe8,0xdb,0x68,0x54,0x84,0x4b,0x1c,0xad, + 0xde,0xed,0x9b,0x96,0xc2,0xa9,0x8d,0x1e,0x13,0x26,0x4a,0xee,0x2c,0x21,0x2b,0xd9, + 0x27,0x8b,0xc,0x6b,0x26,0xf4,0x79,0x5e,0x22,0x2d,0x69,0x48,0x58,0x5c,0xcd,0xca, + 0x3c,0x78,0x32,0xc3,0xe4,0xae,0x38,0xc3,0x26,0x99,0x39,0x19,0xc1,0xdd,0x65,0x30, + 0x86,0xd4,0xa,0xdb,0x19,0x3,0x15,0x87,0xf7,0x65,0x8,0x15,0x71,0x5f,0xee,0xbc, + 0xd4,0xa0,0xb3,0x9b,0x18,0x4,0x93,0x46,0xd3,0x62,0x4c,0x99,0xc6,0x93,0xb4,0x6c, + 0xe3,0x15,0x51,0xd4,0x13,0x23,0xbb,0x9d,0x5a,0x2c,0x2,0x14,0x21,0xd1,0xdd,0x21, + 0x7d,0x5e,0x4f,0x95,0x40,0x2c,0x6a,0x36,0x8f,0xb2,0x51,0xc2,0xb9,0x6b,0x23,0x4f, + 0x4d,0x36,0x2,0x61,0xd6,0x41,0x13,0x48,0x31,0x73,0x67,0xa,0x4a,0x21,0xdc,0xce, + 0x22,0x18,0xa8,0xed,0x40,0x4c,0x19,0xd3,0xa9,0x66,0xce,0x0,0x77,0x41,0x6d,0xd7, + 0xa3,0x4c,0xf6,0x76,0x64,0x51,0x89,0x9d,0x5,0x82,0x95,0x44,0x5c,0x98,0x5d,0x58, + 0xbb,0xb7,0xe5,0xc5,0xbd,0x19,0xf8,0xdc,0x1a,0x15,0x28,0x23,0x94,0x4d,0x13,0x21, + 0x4d,0x9d,0x7a,0x4,0xb9,0xb9,0x51,0x33,0xf5,0xc,0x3d,0x9b,0xfe,0x42,0xe6,0x2c, + 0x95,0x80,0x25,0x1a,0x7,0x2a,0xe1,0xc0,0xd5,0x1d,0x92,0xc,0x58,0x8c,0xda,0x33, + 0x83,0x28,0xd1,0x1c,0x6c,0x46,0xe9,0x75,0x1a,0xf5,0x49,0xc6,0x3e,0x5b,0x89,0x7d, + 0x83,0xbf,0xa4,0xe2,0x2,0x66,0xde,0x33,0x90,0x81,0x9,0x29,0xed,0xcc,0x21,0x30, + 0x51,0x76,0x26,0xc0,0xce,0xd6,0xb9,0x3d,0xc1,0x91,0xd3,0x77,0x4a,0x90,0x95,0x12, + 0x3d,0xcf,0x29,0x87,0xfd,0x6e,0xef,0xda,0x99,0x0,0x3d,0xe9,0x17,0x49,0x4,0x29, + 0xa6,0x4b,0xf7,0xd9,0x8e,0x12,0x2c,0xd8,0xf9,0xd0,0xcb,0x52,0x36,0x8d,0x7b,0xf4, + 0x87,0x49,0x59,0x88,0x9a,0x52,0x12,0x51,0x33,0xab,0x20,0x6d,0x6f,0xb2,0x42,0xd9, + 0x91,0x8f,0x7a,0x1b,0x4c,0x3f,0x6c,0x84,0x92,0xc2,0xd3,0xf,0xa9,0x2c,0x3a,0x67, + 0x79,0x86,0x34,0x73,0x29,0xaf,0xc5,0x32,0xb1,0xde,0x12,0xa6,0x5d,0x71,0xb0,0x42, + 0xd1,0xe5,0xa5,0x87,0xb4,0x2d,0x0,0x85,0x33,0xd6,0x61,0xdc,0xf5,0xa6,0xe0,0xb8, + 0x9,0xfd,0xf5,0xf7,0x5f,0x66,0x68,0xed,0xf,0xdc,0xb6,0xfa,0x8d,0xc5,0xc3,0x64, + 0xb5,0x3,0x4d,0x5,0x3a,0xdd,0x37,0x65,0xcc,0x5d,0xa1,0x9d,0x88,0x5f,0x84,0x4f, + 0x8,0x30,0x23,0xbd,0xf7,0x7e,0xa1,0xe3,0x94,0x73,0x14,0x14,0xa5,0x44,0x6f,0xfd, + 0x22,0xa8,0x62,0x67,0x31,0x83,0x9a,0x64,0xbd,0xc5,0x8c,0x99,0x57,0xc1,0x83,0x50, + 0x77,0xca,0xa3,0x86,0xde,0x37,0x12,0x28,0x59,0xc9,0xce,0x10,0x52,0x31,0x75,0x67, + 0x1,0x2d,0x5e,0x32,0x97,0xbb,0xc3,0xdf,0x49,0x97,0x46,0xa4,0x19,0x8f,0x4c,0xe, + 0xc1,0xea,0xde,0x31,0x5c,0x67,0x4c,0x6d,0x26,0xc4,0x33,0x14,0xcb,0x76,0xfe,0xbb, + 0x33,0x8a,0x40,0x46,0xd1,0x5,0x8e,0x48,0x2f,0x31,0xb8,0x6a,0xf8,0xa5,0x30,0x7b, + 0x90,0x73,0x6d,0x3d,0x1d,0x75,0xe5,0xe,0xe8,0xfd,0x27,0x83,0xbb,0x9b,0x55,0x27, + 0x31,0x75,0xeb,0x82,0x89,0xa1,0x22,0xa9,0xa8,0x4b,0x51,0xcb,0xa0,0x4b,0x6d,0xde, + 0xc,0x31,0x93,0x8e,0x6d,0x9a,0x60,0x46,0xc0,0x3,0xb1,0xf2,0x98,0xcc,0x15,0x2c, + 0xbd,0x6a,0x67,0x6,0xca,0x99,0xd5,0x7b,0x7c,0x2b,0x99,0x46,0x1d,0xf9,0x22,0x20, + 0xe2,0x7c,0x6b,0xe0,0x98,0xb2,0xa7,0x49,0x84,0xd2,0x28,0xde,0x19,0x41,0x8a,0x92, + 0x3c,0xee,0xd6,0xe7,0x47,0x23,0x5e,0xb3,0x5f,0xfe,0xf5,0x3b,0x6c,0x99,0x5b,0xd, + 0x4c,0xff,0x69,0xff,0xcc,0xab,0x47,0xd0,0xff,0xa8,0xfc,0x3b,0xff,0xe3,0x9f,0x4f, + 0x45,0xa4,0x48,0x8d,0x33,0x98,0xbf,0xd7,0x17,0xfa,0x85,0xf3,0xf3,0x51,0xa7,0x2e, + 0x10,0x8f,0x36,0x37,0xce,0xa0,0xc1,0x4c,0xc7,0x4d,0x90,0x53,0xdf,0xc9,0xc5,0x61, + 0xb3,0xd4,0xec,0xb0,0xa3,0x6a,0xe0,0x81,0x27,0xa6,0xe8,0xc1,0xcd,0x2c,0xca,0x79, + 0x32,0x9,0x94,0x66,0xa7,0x34,0x9e,0x97,0x2a,0xc3,0x18,0x79,0x53,0x25,0xd0,0x40, + 0xb3,0x9d,0x39,0xb8,0x5,0xc7,0xce,0xc,0x42,0x7b,0xdb,0xd1,0xbb,0xf3,0x6,0x7a, + 0xaa,0x33,0xb,0xc2,0x90,0xb2,0x21,0x89,0xfb,0x83,0x16,0x3,0x46,0x54,0x9d,0xa, + 0xcb,0x90,0x9d,0x29,0x4,0xe5,0xa9,0x69,0x73,0x29,0x6a,0x68,0x1e,0x3e,0x19,0xb2, + 0x35,0x91,0xaa,0xb4,0x46,0x2a,0x5a,0xd1,0xec,0xb8,0x71,0x9c,0x20,0x25,0xe5,0x68, + 0x8b,0xea,0xad,0x74,0xd4,0xd1,0x66,0xc5,0xf0,0x78,0xd7,0x98,0x5,0x29,0x2e,0x71, + 0xdc,0x35,0x66,0x2,0x2b,0x27,0x1d,0x77,0x8d,0x91,0x8f,0xf6,0x7c,0x1e,0x10,0x16, + 0x54,0xd,0x45,0x73,0x64,0x73,0x5,0x17,0x36,0x3a,0x15,0x25,0x41,0x4f,0x3a,0xb2, + 0xc5,0xb3,0xb5,0xda,0xc6,0x4d,0x13,0xba,0xb8,0x66,0xc6,0x54,0xd9,0x2c,0x4a,0x90, + 0x27,0xf3,0x4a,0x6d,0x56,0xe2,0x56,0x27,0xd6,0x17,0x50,0x97,0x29,0xd4,0x90,0x20, + 0x2,0x6d,0xee,0xe6,0x3c,0x88,0x69,0x67,0x3e,0x8c,0x56,0xf3,0x12,0x58,0xcb,0xf3, + 0xc1,0x88,0xe0,0xbc,0x75,0xad,0xd9,0xc9,0x9d,0x4e,0x8b,0xd4,0x3b,0x1d,0x62,0x39, + 0x77,0x79,0x49,0x55,0xda,0xe5,0x71,0x89,0xfa,0xa2,0xd1,0xcb,0x19,0x83,0x9d,0xae, + 0x39,0x18,0xc9,0xf9,0xd2,0x83,0x91,0xca,0x6,0x9c,0x78,0x5e,0xbe,0xc3,0xc3,0xbf, + 0xba,0x7c,0x5f,0x66,0xa8,0x3f,0xb8,0x5a,0xfb,0x8d,0xad,0xd6,0xb2,0x78,0x7a,0x65, + 0x5,0x6c,0xe4,0xd5,0x22,0x6b,0x9e,0xe5,0xd5,0x1,0x12,0x7,0xb,0x4b,0xda,0x69, + 0x81,0x94,0xe7,0x80,0x2d,0x4d,0x26,0xc8,0x3b,0xc,0xe0,0x30,0x6d,0xba,0x28,0x60, + 0xdd,0xd3,0x25,0x5f,0xb5,0xfb,0x9f,0xb1,0x26,0xac,0x85,0xe3,0x44,0x29,0x94,0x74, + 0x43,0x28,0x35,0xa3,0x9c,0xbf,0x39,0x49,0xd2,0xf6,0x63,0xff,0xb3,0x51,0xec,0xee, + 0x64,0x8a,0x10,0xe1,0x98,0xdb,0x78,0x56,0x52,0x5e,0x35,0x1f,0xf3,0x5c,0xef,0x14, + 0x79,0xfb,0x4e,0x21,0x41,0x10,0x9a,0x42,0x9b,0x7a,0x5d,0x9c,0x42,0x4c,0x41,0x59, + 0xa9,0x36,0xd,0x3c,0x3b,0x85,0x8c,0x4,0xec,0x95,0x9b,0x7a,0x9e,0x9d,0x62,0x55, + 0xc0,0xda,0x29,0xc4,0xe2,0x5,0x2a,0x50,0x57,0x86,0xe4,0xd6,0xcf,0xbf,0xf3,0xe9, + 0xd5,0x72,0x29,0x90,0xb9,0xf2,0xa6,0x11,0xa0,0xa7,0x90,0x29,0x17,0x2,0x4b,0xbf, + 0x2a,0xeb,0xa,0xda,0x21,0x53,0xce,0x4,0x77,0xb4,0xad,0xef,0x4c,0x3b,0x64,0xca, + 0x15,0xe0,0x45,0x35,0x18,0x82,0xcf,0x90,0xe9,0x3c,0xb7,0x92,0x92,0xba,0xa9,0x2a, + 0xd4,0xc,0x99,0x4e,0x89,0x8b,0x4a,0xf3,0x9e,0x12,0xad,0x43,0xa6,0x5d,0xa6,0x56, + 0xf5,0x5c,0xec,0x20,0x41,0x1e,0x83,0x46,0x40,0x16,0xd7,0x4e,0xad,0x0,0x67,0xc8, + 0x74,0x49,0x39,0x4,0xdc,0x50,0xb8,0x3b,0xa0,0xaa,0x70,0x30,0xef,0x15,0xd3,0xba, + 0xa7,0x94,0x44,0x3a,0xf3,0xfc,0xfa,0x49,0x76,0x68,0x27,0x3b,0x64,0xca,0x39,0xaa, + 0x4c,0x1e,0x9,0x1d,0x30,0x90,0x7c,0xc9,0x3e,0x2d,0x8d,0x34,0x7b,0xf4,0xe5,0xf1, + 0xf4,0xb8,0xb9,0x78,0xfa,0x4b,0xdf,0xe5,0x92,0x94,0xf1,0x3b,0xf2,0x8b,0x4e,0xdf, + 0x23,0xa0,0x8b,0x7,0xaa,0x7e,0xc9,0x58,0x7c,0xbd,0xb1,0xd6,0x5,0xe8,0xf,0x4f, + 0x77,0xb2,0x5c,0x68,0xa1,0x2a,0xaf,0x6e,0x49,0xb,0x7d,0x6e,0xa5,0x89,0xcb,0x53, + 0x4,0xef,0x35,0xc5,0x41,0x98,0xc3,0x37,0x92,0x4,0x12,0x23,0xd9,0xe9,0x22,0xe9, + 0xfa,0xc4,0x2,0xeb,0x1b,0xac,0x17,0x2d,0xac,0x7c,0xec,0xb5,0x8f,0x2f,0x2b,0x3c, + 0xe7,0x41,0x23,0x28,0x16,0xa9,0x56,0x41,0x52,0xe9,0xd7,0xb1,0x8e,0xd4,0xa0,0x34, + 0xb5,0xd7,0x82,0x55,0xda,0xdf,0x3e,0x57,0x29,0x16,0xd5,0x86,0x57,0x7c,0x83,0xeb, + 0x2f,0x67,0xed,0x74,0xe0,0xca,0xd2,0x96,0x4f,0x27,0xf1,0x1c,0xe3,0xe1,0x48,0x11, + 0x9c,0x90,0x78,0xa7,0x8b,0xb4,0xb,0x6b,0x93,0x39,0xdd,0xad,0xbd,0xb6,0xf6,0x8f, + 0x14,0x4,0x5a,0x1c,0xb1,0x91,0x15,0xc8,0x8c,0x11,0x3f,0xc6,0xe,0x41,0x22,0x83, + 0x2e,0x12,0x2f,0xec,0xed,0x8e,0x72,0xb7,0xf7,0x73,0xf6,0xb6,0x0,0x64,0xcf,0xda, + 0x84,0xc0,0x82,0x91,0x86,0xbd,0xf,0x98,0xb,0x84,0x30,0xb5,0xf1,0x22,0xf5,0xc2, + 0xe0,0x62,0x18,0x57,0x18,0x7c,0x29,0x61,0x9e,0xe2,0xf5,0xb7,0xab,0x65,0xeb,0xd7, + 0x22,0xf5,0xe2,0x60,0xce,0x9a,0xb9,0x65,0x41,0x22,0x7a,0xf9,0x51,0x14,0xff,0xb5, + 0x4,0xd2,0x1f,0xb5,0xbb,0xc8,0x72,0x21,0x6d,0xff,0x64,0xc1,0x2d,0xa6,0xfd,0xb6, + 0xe2,0x77,0xef,0xd1,0xc4,0x8a,0x64,0xef,0x9c,0x5f,0xba,0xb1,0x2e,0x16,0x5f,0x48, + 0xb2,0xbf,0x86,0xc0,0xf6,0xad,0xc9,0x85,0xaf,0x45,0xcd,0xaf,0x96,0x45,0xbf,0x5e, + 0x58,0x7d,0xad,0xcc,0x7e,0x74,0xe4,0x22,0xc7,0x37,0x54,0xb7,0xc7,0xd3,0x8f,0xfc, + 0xf9,0xaf,0xa4,0xe0,0xf9,0xe7,0x5,0x7a,0xf7,0x8b,0x4f,0x0,0x2c,0xb6,0xd0,0xaf, + 0xb3,0xd9,0x7b,0xa7,0x42,0xe6,0x1f,0x5f,0x61,0x7e,0x3d,0x5a,0xf8,0xaa,0x93,0xa5, + 0xef,0x43,0xe7,0xfb,0x43,0x2b,0xc0,0xaf,0xbb,0x4f,0xdf,0x24,0xc6,0xb3,0xae,0xcb, + 0x3f,0xb2,0x8e,0xfa,0x6d,0x7a,0xf4,0xab,0x69,0x6c,0x17,0x79,0xde,0x35,0xb6,0xdf, + 0x52,0x63,0xfb,0x16,0xf5,0xf3,0xd7,0xe,0x74,0xbd,0x12,0xf8,0x5d,0xf6,0xff,0x2f, + 0x22,0xfb,0x5f,0x14,0xf8,0x67,0xcb,0xfe,0x17,0x5,0xdf,0x75,0xd2,0xdf,0x52,0x27, + 0xfd,0xeb,0xfa,0xf9,0x5a,0xf3,0x27,0xfd,0x46,0x85,0xf4,0x17,0xde,0xf6,0x3a,0x9a, + 0xd1,0x57,0xcb,0x54,0xbf,0x33,0xf5,0xed,0xbb,0x1c,0xfd,0x5d,0x8e,0xfe,0x6d,0xe5, + 0xe8,0xd7,0x53,0xb9,0xbe,0xa9,0xa8,0xf4,0xcc,0xb8,0xae,0xd9,0xef,0x32,0xea,0x77, + 0x19,0xf5,0x37,0x96,0x51,0xbf,0xfe,0x7b,0x2,0xef,0x7d,0xb1,0x5c,0x4b,0x67,0x5f, + 0x25,0xd2,0x7d,0xfb,0x5a,0xe3,0x77,0x9,0xfa,0xef,0x24,0x41,0x7f,0x9c,0xaf,0xf3, + 0x9a,0x95,0xe2,0xe7,0xb7,0xb,0x50,0x5f,0x2f,0x57,0xbd,0x6c,0x7f,0xe2,0x5d,0x6e, + 0xfd,0x2e,0xb7,0xfe,0xa7,0xc8,0xad,0x7f,0x98,0xf,0x14,0x2c,0xc6,0xf2,0x2b,0xa9, + 0x7a,0xbf,0x77,0x81,0xf3,0x8f,0x2d,0x3f,0xbf,0x9e,0x40,0xf9,0x8a,0x5,0xe0,0x3b, + 0xcd,0xfe,0x5d,0xf7,0xba,0xd5,0xfa,0xd1,0x14,0xd7,0xdf,0xb9,0x0,0xfe,0xc2,0x43, + 0x5e,0x47,0xdb,0xf9,0x6a,0x39,0xe9,0xf,0x29,0xba,0x8d,0xe7,0x9f,0xab,0xd5,0xb7, + 0xef,0x22,0xf7,0x77,0x91,0xfb,0x3f,0x45,0xe4,0x7e,0x3d,0x2f,0xfb,0xab,0xb,0x3b, + 0xaf,0xb3,0xae,0x6b,0xcf,0xbb,0x48,0xfa,0x5d,0x24,0xfd,0x43,0x48,0x55,0xaf,0x3f, + 0x58,0xf0,0x3e,0x97,0xaa,0xc5,0x30,0x7f,0xf7,0xba,0xdc,0xd7,0x5f,0xfd,0x5d,0x6f, + 0xfe,0xaf,0xa1,0x37,0xbf,0x5e,0x10,0xb,0xaf,0x9,0x70,0xad,0x17,0xc3,0x63,0x8c, + 0xf7,0x8d,0x4,0x9a,0xd7,0x2a,0xd0,0xd7,0x6b,0x49,0xaf,0xaf,0x99,0xef,0x3a,0xec, + 0x77,0x1d,0xf6,0xf,0xae,0xc3,0xfe,0xc2,0xef,0x2c,0x7c,0xa4,0xbb,0xcd,0xa8,0x1f, + 0xbe,0x63,0x60,0xe8,0xd9,0x73,0x4c,0xa5,0x77,0x15,0xf6,0xef,0xa2,0xc2,0x7e,0x85, + 0x9c,0xff,0xd9,0xc1,0xe4,0x7d,0xe9,0xfa,0x2f,0xfc,0xfc,0x75,0x94,0xc1,0xaf,0xd3, + 0x21,0x5f,0x7a,0xb9,0x7f,0xc,0x7d,0xf6,0x77,0x2e,0x92,0xff,0x1d,0x9f,0x8b,0x3e, + 0xeb,0x19,0xf9,0xe1,0xd5,0xd8,0x9f,0x17,0xce,0xe7,0x3a,0xfd,0xe4,0xfb,0x52,0xd0, + 0x5f,0x39,0xd2,0xf5,0xf2,0xcf,0x2b,0x3f,0x60,0xc4,0xbb,0x0,0xfb,0x5d,0x80,0xfd, + 0x2e,0xc0,0x7e,0x9d,0x0,0xfb,0xed,0x7f,0x4e,0xe1,0xed,0x96,0x9a,0x97,0xcb,0xc, + 0x15,0x23,0xdf,0x95,0xd9,0x5f,0x41,0x99,0xfd,0x6a,0x99,0x21,0x3c,0xfd,0xbc,0x37, + 0xfd,0xfe,0x85,0xf7,0xbe,0x58,0x58,0xf6,0x15,0x5,0x6e,0xaf,0xd5,0xd4,0x5d,0xfb, + 0xbe,0xde,0x35,0xdf,0xef,0x9a,0xef,0x77,0xcd,0xf7,0xbb,0xe6,0xfb,0x5d,0xf3,0xfd, + 0xae,0xf9,0xfe,0xa,0x9a,0xef,0xef,0xf8,0xeb,0x27,0xdf,0x75,0x77,0xfa,0xeb,0x97, + 0x36,0xa8,0x7e,0x17,0x6e,0xff,0xcb,0xb,0xb7,0xbf,0xc7,0xf,0xe,0x2c,0x86,0xd4, + 0xd5,0x62,0xce,0xaf,0x27,0x21,0x7d,0xad,0x68,0xf5,0x7a,0xec,0xe5,0x5d,0xbe,0xfd, + 0x2e,0xdf,0xfe,0xe,0xe5,0xdb,0xdf,0xfe,0xab,0xa,0x54,0xe7,0x9f,0xef,0xf9,0x79, + 0x85,0xef,0xb9,0x6c,0xaf,0x97,0x6b,0xc2,0x3f,0x49,0xb9,0xfd,0x9d,0xeb,0xdb,0xbf, + 0x8e,0x8c,0x14,0x13,0xff,0x39,0x9a,0xe8,0xef,0x5e,0x39,0xfe,0xed,0x54,0xf5,0x17, + 0x5d,0xf9,0x5a,0xca,0xdc,0x2f,0xf,0x28,0xde,0xbe,0x80,0xf9,0x5d,0xdd,0xfe,0xb5, + 0xd4,0xed,0xd7,0x13,0x83,0x5e,0xfb,0x58,0xe0,0xcd,0x96,0x90,0x75,0xbb,0xfc,0xad, + 0xf4,0xd6,0x9f,0x97,0xab,0x97,0x3a,0xff,0x7c,0x1f,0xdd,0x7a,0xbe,0xd4,0xff,0x16, + 0x2,0xf6,0x2b,0x41,0xf8,0x7f,0xbf,0x5e,0x41,0x78,0xaa,0xe,0x63,0xe1,0x97,0x35, + 0x85,0x89,0xd,0x92,0x71,0x44,0xdf,0x39,0x14,0x42,0x58,0xbc,0x6b,0x7e,0x71,0x85, + 0xfc,0x47,0x2a,0x6c,0x4f,0xfd,0x9a,0xc4,0xf2,0xc7,0x97,0xb1,0x3e,0x6a,0xd8,0x63, + 0xe9,0x13,0x6d,0x6b,0xd1,0x4,0xc3,0x20,0xdf,0x7e,0x6c,0x5,0x47,0xf3,0x1e,0x5a, + 0x47,0xac,0xa0,0x8e,0x12,0x8d,0x17,0xa9,0x7f,0xfb,0xab,0xea,0x82,0x13,0x3b,0xb0, + 0x59,0xe6,0xee,0x7d,0x68,0xa0,0x51,0xfa,0xf0,0xe9,0x31,0x4d,0xe0,0x50,0xa2,0x81, + 0x17,0x89,0x17,0x1f,0x19,0x20,0xf3,0xbb,0xc,0xfb,0x33,0xe6,0x76,0x4,0x17,0x52, + 0xd9,0x7e,0x24,0x63,0xc0,0xb4,0xe0,0x61,0xd8,0x23,0x16,0x70,0x62,0xb5,0xc6,0x8b, + 0xd4,0x4b,0x83,0xe7,0xdd,0xe0,0xcf,0xe8,0xde,0x73,0x5,0x90,0x23,0xe7,0x6e,0x43, + 0x54,0x48,0xce,0x3e,0x8f,0xf2,0x98,0x7,0x18,0x16,0x47,0xf3,0x45,0xfa,0xa5,0xcd, + 0x1d,0xef,0x36,0x7f,0xce,0xe6,0xc9,0xe0,0xa5,0xba,0x4f,0x13,0xc2,0xe0,0x86,0xd6, + 0xf3,0xf1,0x11,0x2b,0x14,0x51,0x48,0xe3,0x45,0xea,0xa5,0xc1,0xf9,0x5,0xdf,0x1a, + 0x58,0x6d,0xed,0xa8,0x92,0x3d,0xfd,0xb4,0xb5,0x63,0xe2,0x14,0xaa,0xbd,0x76,0x3, + 0x63,0x31,0xe3,0x8d,0x4c,0x40,0x51,0xd5,0x9f,0x68,0xff,0xb,0xa1,0xd2,0xdf,0xae, + 0x91,0xb4,0xc6,0xfe,0xb9,0x19,0xc5,0x22,0xa2,0x4,0x2d,0x95,0xdd,0xc6,0x44,0x5, + 0x46,0x35,0x94,0xa5,0x1b,0x17,0x7b,0xc4,0xc4,0x95,0x81,0xf9,0x40,0x4c,0x10,0xa4, + 0x75,0x82,0x41,0x46,0xbe,0x43,0x5,0x57,0x41,0x19,0xd0,0xa1,0xb2,0x22,0x47,0x1, + 0x1c,0x60,0x55,0xc9,0x3,0x2b,0xb0,0x84,0x8f,0x2,0xb2,0x47,0x90,0xf,0x48,0xe0, + 0xc4,0x56,0x9d,0xd2,0x29,0x2d,0x27,0x44,0x76,0xa9,0x53,0x1,0xec,0x8e,0x5d,0x0, + 0x82,0xab,0x26,0xf7,0x32,0x53,0x24,0x6a,0x13,0xb2,0xb,0x5b,0x43,0x73,0xcc,0xda, + 0x21,0x16,0x64,0x92,0xcf,0x16,0x8,0x18,0xd5,0x4c,0xcb,0x10,0xc4,0x96,0x3b,0x44, + 0xd0,0x48,0xd4,0x1,0xd,0x4c,0x45,0xe3,0x81,0x28,0x40,0xc5,0xbd,0xab,0x4a,0x90, + 0xd0,0xf1,0xec,0xaf,0x71,0x64,0x51,0x4e,0x1c,0x66,0x25,0x6d,0x18,0x52,0xa,0x9b, + 0x36,0x20,0x9,0x7b,0xc6,0x86,0x4b,0x7c,0x3d,0x5c,0x7d,0x44,0x89,0xbe,0xfe,0xcd, + 0xd6,0xdf,0x5e,0xac,0xa9,0xba,0xaa,0x90,0xab,0x16,0x1a,0xdd,0x22,0xe5,0xa3,0xf, + 0x19,0x81,0x11,0xa3,0xdf,0x92,0xf7,0xf1,0xbb,0xf1,0x58,0x90,0x24,0xa0,0x38,0x3c, + 0x65,0x62,0x51,0x67,0xa6,0x1d,0x27,0x60,0x22,0x4f,0x15,0x54,0x2,0x9,0xa,0xde, + 0x2d,0xae,0xe,0x21,0x86,0xc2,0x13,0x53,0xa2,0x8b,0x35,0x36,0x4e,0xc1,0xda,0xf1, + 0xaa,0xca,0x9e,0x7,0x5e,0x61,0x80,0x9d,0xd3,0x3f,0x99,0x32,0xdf,0x22,0xa2,0xf9, + 0x8a,0x5a,0xca,0x12,0xf2,0xc3,0xbb,0xb8,0xc2,0xa7,0xce,0xe3,0x10,0xe1,0x39,0xfa, + 0x9d,0x9,0x5c,0x3,0xa7,0x6,0x6d,0x41,0xb9,0x61,0x72,0x7b,0x9,0x79,0x62,0xf9, + 0x74,0x1e,0x42,0x47,0xa3,0xc6,0xc2,0xe8,0xee,0xd3,0x4b,0x9c,0x28,0x6b,0x3a,0x8f, + 0x96,0x3a,0xe7,0xc4,0xca,0x18,0x65,0x8d,0x39,0x23,0x6b,0xe0,0x55,0x95,0xcb,0x80, + 0x1,0xb3,0xc6,0x55,0x1,0x83,0x3f,0xd2,0x6d,0xb6,0xe8,0xb6,0xf7,0xb1,0x90,0x2f, + 0x4e,0x62,0xa3,0x5a,0x58,0xdf,0x2a,0x19,0x87,0x44,0x4b,0x3c,0x3a,0x50,0x10,0x99, + 0xef,0x18,0x41,0xa3,0x32,0xf4,0xc1,0x2,0x84,0xa9,0x2a,0x1a,0x66,0xb0,0x79,0xd, + 0x18,0xac,0x9c,0xdc,0x50,0x2b,0x69,0xbc,0xa1,0xd7,0x38,0x8b,0x4b,0x26,0x96,0x70, + 0xb1,0x1,0x53,0x58,0x2d,0x1b,0x8a,0x19,0x92,0x34,0x74,0x41,0x9a,0x90,0xdd,0x3, + 0xa5,0xef,0x44,0x14,0x22,0x4e,0x73,0x29,0x43,0x32,0x63,0x36,0x1e,0x19,0x49,0xcf, + 0xcb,0x94,0x64,0xb6,0xe7,0x9,0x8,0x9,0x46,0xf4,0x8d,0x20,0xab,0x55,0xe9,0x68, + 0x85,0x80,0x91,0xc6,0x19,0x3b,0xb3,0xd5,0x80,0x5e,0xe2,0x4e,0x13,0x6a,0x45,0xc, + 0x96,0x8c,0x59,0xde,0x8c,0x84,0x44,0x79,0xea,0x64,0x52,0xa6,0x35,0x16,0x88,0x2c, + 0x4c,0x1b,0x69,0x8b,0x8c,0x78,0xe4,0x67,0xb0,0xa8,0x50,0x5b,0x9a,0xf1,0xa9,0x77, + 0xfe,0xf7,0x2f,0x3f,0xff,0x8b,0xa9,0xbe,0x2e,0x73,0xd4,0xe1,0xac,0xdf,0x9e,0xfa, + 0xe7,0xca,0xd5,0x45,0x9e,0xf6,0xa7,0x23,0xb0,0x11,0x7,0x77,0x93,0x29,0x5c,0xa9, + 0x47,0x55,0x80,0xb,0x31,0xf2,0x34,0xbd,0x62,0xa6,0xcc,0x6e,0xaa,0xe4,0x94,0x1d, + 0x4b,0x41,0x99,0x52,0xc,0x66,0x88,0x7a,0x1a,0xae,0x99,0x59,0x4c,0xf,0x96,0xa3, + 0x2c,0x91,0x68,0xc8,0x56,0x33,0x7b,0x42,0xa1,0x86,0xcc,0xd5,0xc2,0x92,0x52,0x7d, + 0xcc,0x2,0x5e,0x66,0x65,0x9d,0x54,0xc,0xb9,0xac,0xe7,0x0,0xcf,0xd2,0xe8,0x94, + 0x45,0x9a,0x1d,0x96,0x74,0x1e,0x76,0x8f,0x98,0x6e,0x12,0xa9,0x89,0x34,0xf0,0xe2, + 0x22,0xbe,0x72,0x28,0xd5,0x44,0x33,0x45,0xff,0xed,0xb8,0x78,0x7c,0x80,0x31,0x7a, + 0xfd,0xa7,0x57,0xae,0xca,0xf3,0x2d,0x73,0x5c,0x7c,0x98,0x39,0xae,0xf7,0xb6,0xc4, + 0xe9,0x73,0x2e,0xa9,0x60,0x89,0x39,0x26,0xc2,0x58,0xce,0x73,0x1c,0x55,0xf9,0xf4, + 0x69,0x42,0x2b,0x6e,0x8a,0x29,0xea,0xd1,0x29,0xd5,0x31,0xb2,0x87,0x9,0x69,0xa2, + 0xf9,0x48,0xa8,0x6c,0xca,0xde,0x7e,0x6e,0x64,0x61,0x3d,0x26,0xa,0xfa,0xd7,0xe9, + 0xe9,0x29,0xca,0x35,0x58,0x72,0x68,0x51,0x27,0xd5,0x20,0xd5,0xec,0x3d,0x15,0xa, + 0xab,0x36,0x44,0x91,0x88,0x19,0x82,0x9,0xa0,0xb2,0xd3,0xd6,0xd8,0x3c,0xad,0xe1, + 0xe2,0xa,0x9e,0x99,0x5f,0xf0,0xaa,0x89,0x63,0xb9,0x10,0x54,0xcb,0xca,0xb7,0x9c, + 0x21,0xa6,0x53,0xcc,0x99,0x35,0xc,0x9d,0xb3,0x67,0x46,0x34,0x45,0xd5,0x89,0xbd, + 0x2a,0xd8,0x26,0x46,0x64,0xcc,0x71,0xf1,0xfd,0x3b,0x3a,0xcd,0x9,0x13,0x29,0x35, + 0x7b,0x16,0x76,0x52,0xd2,0x9e,0x30,0x9d,0x12,0x55,0x47,0x4a,0x63,0xa3,0xa2,0x39, + 0x63,0xaa,0xd0,0x28,0xb7,0x71,0x92,0x58,0x36,0xd6,0xc2,0xc,0x9f,0xb8,0x92,0x8c, + 0xbd,0x31,0x51,0x2a,0xe6,0xc0,0x6,0x28,0xe1,0xa7,0x42,0xd0,0x9d,0xd8,0x4f,0xab, + 0x57,0x66,0xf2,0x5c,0x52,0x28,0x58,0xbd,0x17,0x1f,0x16,0x66,0x69,0x16,0xc4,0x4c, + 0x39,0x98,0x8b,0xda,0x79,0x56,0x94,0x48,0xe4,0xb9,0x8f,0x41,0x8b,0x52,0xed,0x62, + 0x33,0x5d,0x94,0x6,0x5e,0x58,0xe8,0x2b,0xb3,0x52,0x3a,0xaa,0x9b,0x9c,0x66,0x25, + 0xb6,0xf1,0xdf,0x47,0x9d,0x95,0x2e,0x3f,0xd7,0xf8,0x1f,0xd7,0x67,0xfe,0xc7,0x60, + 0x92,0x21,0xb1,0xb5,0xe8,0x26,0x39,0xd5,0x69,0x3b,0x48,0x91,0x54,0x72,0xba,0x97, + 0x50,0xdd,0xef,0x2a,0x9b,0x16,0x73,0xe9,0xa4,0x44,0xca,0x3e,0x20,0x26,0xb1,0x46, + 0x43,0x29,0xa4,0xa0,0x86,0x65,0x52,0x39,0x61,0x78,0x95,0xcc,0x2,0x24,0x95,0x90, + 0x1b,0x13,0x26,0xe7,0x83,0x21,0x54,0x8a,0x75,0x55,0x6,0xc8,0x86,0x68,0x23,0xa1, + 0xba,0x84,0x72,0x3b,0xba,0x14,0x7b,0xc8,0x6c,0x96,0x11,0x67,0xc6,0xc4,0xea,0xa5, + 0x3a,0x71,0x8,0x1a,0x79,0x63,0x52,0x15,0xb7,0x13,0xb6,0x74,0x3c,0x61,0x4a,0x9e, + 0xdb,0xb,0x6,0x95,0xd4,0xea,0xc1,0xe2,0x2e,0x8c,0x3d,0x58,0xc4,0x88,0x94,0x3a, + 0x29,0x73,0x49,0xe5,0x72,0xb4,0xb5,0x43,0x76,0xcb,0xc5,0xa7,0x43,0xb2,0x5a,0x57, + 0xb6,0x30,0xe4,0x37,0x2d,0x9e,0x24,0xe3,0xbf,0xf,0xbc,0x78,0xae,0xdd,0xf4,0xfa, + 0x73,0x1,0x12,0xf5,0x71,0xf6,0xff,0x4,0x19,0x7a,0xde,0x39,0x1b,0x85,0xa5,0x4d, + 0xd7,0xb4,0x64,0xaf,0x39,0x91,0x67,0x8,0x97,0xf,0x37,0x54,0xb5,0xc8,0x99,0x56, + 0x13,0x35,0x75,0xbd,0x75,0x9e,0x1b,0x75,0x4f,0x52,0x9a,0x1b,0x75,0x17,0xea,0xd5, + 0xed,0xfc,0xd,0xc7,0x53,0x88,0x4,0x9d,0xe8,0xf7,0x51,0x5e,0xc1,0xa7,0x51,0xee, + 0xaa,0x7c,0x1e,0xe6,0x22,0x48,0x13,0x93,0x50,0xd2,0x80,0x8c,0x21,0x29,0x13,0x22, + 0x22,0x4a,0x43,0xa6,0x30,0x6d,0xa8,0xe9,0x8e,0x3a,0xb,0x30,0x32,0xe4,0x6c,0xcc, + 0x24,0xae,0xd4,0xa5,0x3a,0x92,0xf,0x68,0x40,0xee,0x29,0xb6,0xb4,0xc3,0x72,0x85, + 0x25,0x21,0xfb,0x9a,0x8f,0x7d,0xbe,0x81,0x1f,0x39,0xbf,0x29,0xd0,0xf1,0x7c,0xdc, + 0xf0,0x6,0x7c,0xe7,0xb0,0xdf,0x40,0xaf,0x3,0xee,0x26,0xee,0x5f,0xea,0x64,0x50, + 0xa7,0x94,0xe3,0x3f,0xfd,0xc7,0x2f,0xff,0xeb,0xdf,0xff,0xe3,0x5f,0xff,0xf3,0x6f, + 0xc,0xc5,0x65,0x42,0xc7,0x3b,0x97,0xf1,0xf5,0x4f,0x50,0x43,0x44,0xa5,0x3,0xde, + 0xbf,0xf9,0xf9,0x23,0x79,0x2,0x79,0x79,0x7e,0xe5,0xdc,0x4b,0x8,0x1b,0xf1,0x86, + 0xe0,0x89,0x31,0x76,0x4f,0x97,0xdf,0x7e,0xff,0xb7,0xd,0xd7,0x27,0x5c,0xd6,0x9f, + 0xc2,0xfc,0xa6,0xdd,0x72,0xd2,0x1f,0x9b,0x11,0xf8,0x66,0x7a,0xb5,0x3,0x86,0x82, + 0xf4,0xdc,0x47,0x56,0x45,0xc1,0x23,0x5c,0xea,0xb9,0xcf,0xb4,0x6,0xa8,0x33,0x87, + 0xd7,0x73,0x1f,0x7a,0xd5,0x0,0x2d,0xa3,0x8a,0xe7,0x3e,0x15,0x8b,0x50,0x41,0xca, + 0x8b,0xef,0x40,0x25,0xc3,0x4e,0x53,0x7c,0xbb,0xd4,0xb2,0x7f,0xa1,0xf6,0x52,0xe0, + 0xf6,0x7b,0xce,0xfe,0x44,0xed,0x3c,0x6b,0x9e,0x14,0x66,0x79,0x65,0x8e,0x65,0x15, + 0xbf,0x7d,0xc5,0xf9,0x2c,0x3c,0xab,0x5d,0x8e,0x65,0xc6,0xca,0x81,0x52,0x23,0x68, + 0xfc,0x86,0x55,0xa4,0x53,0x3c,0xc0,0x39,0x6c,0x9b,0xd2,0xe6,0x59,0xf4,0x4d,0xc7, + 0xad,0x10,0x34,0xc2,0xd3,0x47,0x2d,0x46,0xa9,0xb3,0xbe,0xb4,0x24,0x97,0xf1,0x5b, + 0x54,0xb,0xa2,0x85,0x83,0x29,0xa,0xed,0xb5,0x38,0x50,0x59,0xd5,0xe7,0x5f,0x5, + 0xc6,0x19,0x67,0x8f,0x47,0x16,0x9,0x82,0x4c,0x61,0x19,0x43,0x48,0x59,0x50,0x4b, + 0xa6,0x41,0x66,0x7a,0x36,0xa9,0x91,0x5e,0xb3,0xf2,0xd9,0x7e,0xbb,0xe4,0x7c,0xae, + 0xe7,0x2f,0x95,0xbc,0xc8,0x77,0xd6,0xde,0x77,0xf4,0x5a,0xa6,0x6f,0x1a,0xb3,0xf2, + 0xde,0xc7,0xec,0x7a,0xde,0x5a,0xfd,0xe3,0xaf,0xff,0xfa,0xfb,0x7f,0xef,0x93,0x2f, + 0xae,0xfe,0xed,0x97,0xff,0xdc,0xd,0xe8,0xc0,0x46,0xe1,0x66,0xab,0x14,0xff,0xf5, + 0x7f,0x7f,0xf9,0xcf,0x71,0xa2,0xe5,0xff,0xfd,0xf2,0x82,0x27,0x12,0xfd,0xb3,0xc, + 0xd4,0x86,0x7e,0xe6,0x9b,0x24,0x90,0x64,0xe5,0xf3,0x71,0x93,0x6a,0x54,0x3f,0x81, + 0x61,0x30,0x76,0x1b,0x50,0xc0,0x25,0x73,0x47,0x4,0x82,0x2a,0x35,0x18,0x3,0x73, + 0xaa,0xed,0x10,0xc1,0x35,0xb2,0x21,0x1,0x52,0x71,0xf5,0x9e,0x23,0xa0,0x52,0x50, + 0xe6,0x3,0x5f,0x36,0xa9,0x18,0x98,0x9,0xc8,0x8,0x6b,0xe0,0x0,0x4f,0xb6,0x81, + 0x17,0x4d,0xe8,0x33,0xe5,0x1d,0x79,0x4c,0xa4,0x18,0xc9,0x13,0x14,0x91,0xf8,0x54, + 0x38,0x13,0x13,0xcd,0xc2,0x2b,0xc8,0xa8,0x71,0x41,0x24,0x65,0xe3,0x19,0x25,0xec, + 0x67,0x59,0x8,0x85,0x86,0x3c,0xa8,0x0,0x9b,0x96,0xed,0x90,0x81,0x4a,0x22,0x67, + 0x9,0x56,0x69,0xd1,0xb0,0xb4,0xb2,0xa1,0x3,0x62,0x87,0x39,0x97,0x6d,0xf8,0xed, + 0x9b,0x7c,0xfe,0xfd,0x46,0xae,0xdb,0xf5,0xde,0xe4,0xc1,0xec,0x2d,0x3c,0x52,0x51, + 0x7,0x14,0xaa,0x11,0xd8,0xe6,0x80,0xc8,0x24,0x9a,0x2f,0x52,0x82,0xb8,0x30,0x6a, + 0xe3,0x32,0x66,0x96,0x7,0xed,0x3d,0x14,0xe1,0x8,0x47,0x21,0x68,0x52,0x4a,0xd, + 0x88,0x78,0x7a,0x44,0x47,0xc0,0x66,0xe1,0x76,0x7a,0xe8,0xa6,0x58,0xaa,0xa7,0x87, + 0x6e,0x2e,0xaa,0x3b,0x5e,0x56,0xb7,0x7e,0x9c,0xe2,0xd7,0x6c,0x77,0x17,0x7b,0xdd, + 0xab,0x5d,0xf2,0x8f,0x5,0x1a,0x6f,0x6a,0x3b,0xfc,0xff,0xb9,0x3b,0xbb,0x1e,0xdb, + 0x6e,0x23,0x3d,0xff,0x95,0x46,0x82,0x5c,0x18,0x68,0x11,0x55,0x6f,0xbd,0xf5,0xe5, + 0xb9,0xcb,0xb5,0xc,0x4,0x8,0x90,0x7b,0xf9,0x63,0x6c,0x1,0xb2,0x1d,0x68,0x84, + 0x19,0xc4,0xbf,0x3e,0x9b,0xc5,0xd5,0xdd,0xfb,0xb4,0xf7,0xb1,0x5a,0xb2,0x3d,0x38, + 0xc9,0xb9,0x51,0xef,0x47,0x64,0xb1,0x58,0x2c,0x16,0x6b,0x73,0x71,0x73,0x19,0xc4, + 0xff,0x3a,0x1d,0xf6,0x65,0x49,0x2b,0x3e,0x4a,0x87,0x75,0x69,0x46,0xba,0xfa,0xa7, + 0xe9,0x70,0x2f,0x16,0x58,0x78,0x90,0xd,0x87,0xa6,0xf5,0x8f,0x66,0xc3,0xda,0x95, + 0x93,0xd,0xab,0xe9,0x49,0x4d,0xb2,0x82,0x3d,0xd9,0x30,0x19,0x36,0xd9,0xf0,0xdf, + 0xf1,0x15,0xb8,0xfa,0xcb,0x79,0x5d,0x93,0xc2,0x56,0xa2,0x72,0x42,0xf6,0x39,0xaf, + 0xa0,0x13,0x6d,0x7d,0x5,0xc,0xb9,0x71,0x2c,0xa9,0xd4,0x38,0x47,0xf,0x42,0xfc, + 0xa,0xef,0x2,0x51,0x9b,0x3d,0x57,0x31,0x64,0x9f,0x15,0xa6,0x0,0xf7,0x11,0x90, + 0x4b,0xc5,0xf,0xc,0xb0,0x73,0x64,0x22,0xd3,0x46,0xa6,0xaf,0x26,0x2a,0x4f,0xfb, + 0xd2,0x38,0xcd,0x8b,0x86,0x9d,0xda,0x58,0xea,0x26,0x83,0x6b,0x49,0x69,0x60,0xd6, + 0x85,0x76,0xd7,0x38,0x50,0x69,0xad,0x3,0xb3,0x99,0x7d,0x20,0xd2,0x14,0x37,0x1, + 0x1b,0x87,0x91,0x76,0x30,0x5,0xc6,0xf9,0x2,0xed,0xce,0xf6,0xeb,0x8c,0x41,0xc1, + 0x7c,0x4a,0xba,0x4b,0xf5,0x5,0x61,0xa2,0xd7,0x72,0xe3,0x8d,0x38,0x94,0x21,0xcd, + 0xd1,0xa,0xe1,0x2f,0x42,0x33,0x52,0xf5,0xa1,0x1,0x1f,0x46,0x3,0x83,0xd9,0x8f, + 0x3e,0xbe,0xfa,0xcb,0xbc,0xa7,0xe3,0xc7,0x3c,0xeb,0xcf,0x7f,0xfa,0xe1,0xab,0x7f, + 0xfb,0xf6,0x2f,0xbf,0xfb,0xa5,0xe2,0xe6,0xc,0xf3,0x71,0xfe,0xd7,0x4d,0xd6,0xf7, + 0x7f,0xfc,0xe6,0xbb,0x43,0xfe,0xfd,0x9b,0xef,0xbf,0xfd,0xe6,0x4f,0x3f,0x7c,0xc2, + 0xfe,0x63,0x66,0xce,0x2f,0x7f,0xfd,0xe7,0xef,0x7e,0xfb,0x52,0xed,0xfb,0xdf,0xfd, + 0xf0,0x9b,0x3f,0xbc,0x14,0xda,0x47,0x74,0xbf,0xfa,0xe6,0xbb,0x6f,0x7f,0xff,0xa7, + 0x93,0xf5,0xfc,0xcb,0xf6,0xa6,0xaf,0xfe,0x70,0x6a,0x29,0xfc,0xbf,0xfd,0xcb,0x7f, + 0x7c,0xff,0xed,0xf,0xdf,0xfe,0xe9,0xf7,0x5f,0xfd,0xf1,0xa6,0xf5,0x2f,0xbf,0xfb, + 0xfe,0xab,0x1f,0x7e,0x7d,0x55,0xfa,0xd3,0x6f,0xfe,0xf0,0xe7,0xef,0xaf,0x5a,0x9f, + 0x77,0xfd,0xd6,0xf7,0xae,0xff,0xcf,0x72,0xf4,0xd3,0xbf,0x7f,0xfd,0xe6,0x8f,0xdf, + 0x7e,0xf7,0x7f,0x7e,0xf9,0xdf,0xbf,0xfd,0x61,0xf7,0xf4,0x9b,0x3f,0x3e,0xfd,0xaf, + 0xdf,0x7d,0xff,0xcd,0xd3,0xff,0xbc,0xcd,0xfa,0xf7,0x13,0x21,0x7c,0x69,0x2a,0x78, + 0xed,0x97,0xb0,0x52,0xb7,0x1f,0x4,0x57,0x87,0x9b,0xf6,0x60,0x43,0x48,0x71,0xc3, + 0x62,0xb,0x7c,0xa0,0x2a,0xba,0x6d,0x20,0x60,0x67,0x7,0xb4,0xa5,0xc9,0x38,0xf5, + 0xb3,0x3d,0xac,0x6,0xa7,0x78,0xc5,0x29,0x1a,0x2a,0x99,0x3,0xdd,0x24,0xa,0x5b, + 0x1,0xd1,0xa,0x72,0xa0,0x95,0x55,0x72,0xb,0xd8,0x7a,0xb9,0x33,0x7,0xc3,0x32, + 0x2a,0x37,0x34,0xa7,0x12,0x3,0xb5,0xdc,0xa5,0x36,0x74,0x27,0xa1,0x3,0x71,0x4d, + 0x85,0x8d,0xd3,0x99,0x12,0x7,0x47,0xab,0xf7,0x86,0xed,0x99,0x5d,0x3,0x29,0x6a, + 0x7e,0x13,0x10,0x4b,0xc3,0x52,0x31,0x30,0x60,0x9d,0xd3,0x85,0x58,0x96,0x52,0xd2, + 0x83,0x8b,0x59,0x69,0x1b,0xb2,0x32,0x8a,0x63,0x2,0x9,0xf5,0xde,0xcc,0x95,0x56, + 0x3e,0xc,0xe1,0x1a,0x76,0xea,0x3b,0x55,0x12,0x83,0x19,0x95,0xe6,0x53,0x3f,0xbd, + 0x3d,0x6,0x6,0xcd,0x3b,0xa7,0x25,0x6d,0x9,0x1b,0x98,0xd5,0xd9,0x38,0x2,0x34, + 0x94,0x55,0x83,0xdb,0x22,0x4e,0x6f,0xbb,0xe0,0x71,0xc1,0x6a,0xe9,0xcd,0xb2,0x80, + 0xea,0xc3,0x98,0x88,0x3e,0x16,0xf0,0x82,0x48,0x1e,0x2c,0x4e,0xc7,0x86,0x96,0x65, + 0xe8,0x81,0x99,0x88,0xc7,0x2e,0xf0,0xab,0x19,0xad,0xd6,0x42,0xe,0x2e,0x69,0x9, + 0x1e,0xa9,0xa6,0x26,0xe3,0x19,0xb9,0x10,0xa4,0x62,0x34,0x50,0x4d,0xd5,0x81,0xee, + 0x29,0xbc,0xc1,0x9,0xa0,0xd,0x1f,0x18,0x15,0x8d,0x3e,0xdd,0x62,0x50,0x2f,0x5c, + 0x1a,0xa5,0xbe,0x61,0xa6,0xf1,0x92,0x9a,0x51,0x65,0xf9,0x14,0xb9,0x44,0x3d,0xd3, + 0x7,0x3a,0x4d,0x50,0xe7,0xba,0x2c,0x78,0x32,0x72,0xb0,0x69,0x16,0xb0,0xa1,0x21, + 0x93,0x3e,0x50,0x14,0xca,0x11,0x0,0x44,0xe8,0x65,0x6d,0x78,0x7,0x8e,0x0,0x85, + 0x33,0xf,0x86,0x75,0xe6,0x68,0x5b,0x41,0xd3,0x38,0xc3,0xad,0x2d,0x12,0x1b,0x92, + 0xa6,0xe0,0x40,0xb,0xb,0xea,0xe9,0x82,0xc0,0x26,0x9b,0x22,0xb7,0xd3,0x7b,0xe8, + 0xb6,0x41,0x80,0xd4,0x1c,0x18,0x1a,0x6d,0x3,0xc1,0x14,0xd4,0x40,0x96,0x67,0xda, + 0x99,0x1e,0x95,0x52,0xe0,0x60,0x73,0xaf,0x33,0x93,0x3c,0xb4,0x32,0x6,0x52,0xcc, + 0x99,0x1b,0x1a,0x44,0x93,0x3,0x3,0x95,0x2f,0xf3,0x4b,0x32,0xb,0x43,0xcb,0xe9, + 0xce,0x61,0x92,0x90,0xa3,0xac,0x86,0x78,0xe8,0x86,0x2a,0x65,0xf4,0x81,0xce,0x48, + 0xe3,0xa9,0xf,0x95,0x38,0xb4,0x8d,0x5a,0xd3,0x14,0x53,0xeb,0xb8,0x81,0x39,0xdb, + 0xf9,0xd0,0x9,0xb6,0x6f,0xd4,0x2a,0x2a,0xb9,0x71,0x2f,0x77,0x95,0x9a,0x5b,0xcd, + 0x65,0xb9,0x5a,0xb0,0x7,0x17,0x50,0x51,0x37,0x1c,0xbd,0x6b,0xb6,0xd4,0x60,0x9, + 0x8,0x7c,0xe3,0xda,0x4e,0x11,0xb9,0x4b,0xd7,0xaa,0xf4,0xcc,0x43,0xbd,0x5,0x97, + 0x7b,0x24,0xcd,0x7a,0xd3,0xf3,0x36,0x94,0x97,0xb9,0x90,0x95,0x19,0xa7,0xb0,0xa0, + 0xaa,0x6b,0x44,0x44,0x22,0xa0,0x1b,0xc7,0x22,0x50,0x8e,0xc1,0x94,0xae,0x88,0x23, + 0x44,0x51,0x46,0x1d,0x3d,0x34,0xe1,0x7d,0xe9,0xa1,0x65,0x8d,0x83,0x8d,0xd4,0xe2, + 0xc1,0x48,0xda,0x56,0xc4,0x65,0x51,0xd5,0xe9,0x7,0x77,0x99,0xed,0xa1,0x3b,0x5b, + 0xd0,0x32,0xb2,0x1f,0x59,0x64,0x1b,0x6a,0x9e,0xb,0x8a,0x61,0x4a,0xc3,0x33,0xfd, + 0xb2,0x48,0xb6,0x57,0x6c,0x21,0x58,0xe2,0xe1,0x88,0x63,0xbf,0x86,0x9b,0x61,0x30, + 0xc4,0xb5,0xfb,0xc2,0xd5,0x40,0xdf,0xb0,0x2d,0x63,0xa4,0x4e,0x69,0x5d,0x89,0x2e, + 0xdd,0xa,0x72,0x29,0xd3,0xea,0x50,0xef,0x70,0x8b,0x23,0x23,0xd4,0x6b,0x30,0x16, + 0x10,0x2c,0x1b,0x45,0x22,0x19,0x9e,0x57,0x69,0x97,0xd2,0x98,0x4e,0x36,0xa9,0xf1, + 0xd2,0x22,0xa4,0x4a,0xa7,0xb4,0x9b,0x2a,0x70,0xc3,0x8f,0x7a,0x73,0xeb,0x64,0xfa, + 0x4a,0x2f,0xaf,0xba,0x61,0x5f,0xa9,0x29,0xfb,0xae,0xe0,0x8d,0xc3,0xa2,0x2c,0x6, + 0xb3,0xd5,0xaa,0x36,0x64,0x47,0x97,0xe,0x44,0x74,0x98,0x6d,0x68,0xd6,0x22,0x35, + 0x50,0x5c,0x4b,0xe2,0x8,0xd0,0x52,0xb1,0xe9,0x5f,0x99,0x75,0xc4,0x66,0x22,0xee, + 0x1a,0x3,0x3,0x12,0xed,0x4f,0xc9,0x55,0xa,0x66,0xe,0xa4,0x6a,0x77,0xee,0xfa, + 0x5c,0x96,0x21,0xc9,0xb1,0x5b,0x53,0xb4,0x31,0x97,0xf9,0x87,0x34,0x86,0x85,0xa9, + 0xc2,0x36,0xf3,0x88,0x6e,0x1d,0xc8,0x62,0xc6,0xb4,0x6f,0x4b,0x13,0x14,0xdb,0x78, + 0x34,0xdc,0x65,0xb1,0xca,0xbd,0x91,0x7,0x66,0x42,0x73,0xc3,0xd0,0xf4,0xe8,0x81, + 0xde,0x8d,0xe6,0x16,0x80,0xad,0x80,0x1b,0x7,0x17,0xac,0x52,0x7,0x6a,0x64,0xeb, + 0x35,0x6c,0xd2,0xec,0xd,0x69,0x65,0xf0,0x81,0xee,0xe2,0xaa,0x47,0x80,0x7b,0x17, + 0x63,0x70,0x87,0xa8,0x8c,0x80,0x62,0x10,0x3c,0x76,0x95,0x96,0xd,0x6d,0xa1,0x4b, + 0xa0,0x3,0xab,0x13,0xbc,0xba,0xc0,0x84,0xb9,0xcd,0xee,0x9e,0x94,0xa7,0xfa,0x86, + 0xc1,0x22,0x86,0xc1,0x13,0x31,0xf5,0xb,0x1,0xf4,0x40,0xaa,0x56,0xe0,0x98,0x50, + 0xc4,0x21,0x7,0x7b,0x64,0x9a,0x6f,0xa8,0x65,0x65,0x39,0x30,0xc5,0x25,0x6a,0x43, + 0xb,0x28,0x6c,0x60,0xc1,0xda,0x74,0x7b,0x12,0x57,0xa4,0x7a,0xd5,0x60,0x37,0xf7, + 0xf4,0x23,0x97,0x99,0x6d,0x3e,0x98,0xd0,0xb0,0x11,0x81,0x8e,0xaa,0x1e,0x88,0x4e, + 0x35,0x4c,0x63,0x28,0x92,0x3,0x35,0x20,0x61,0xa7,0x63,0x1d,0xaa,0x79,0xb0,0xa0, + 0x10,0xbe,0x61,0x9,0xbb,0xf2,0x18,0xa1,0xd0,0xd0,0xd,0xc3,0xbb,0xb5,0x7,0x26, + 0x42,0xea,0xd4,0xb7,0x96,0x42,0xe,0xa5,0xb9,0xc6,0x66,0x40,0xc0,0x6,0x69,0x8a, + 0x3,0x9b,0x69,0x84,0x4a,0x9d,0x11,0x30,0xe8,0xab,0x6b,0x48,0xb0,0x63,0x70,0xb4, + 0x47,0xd9,0x40,0xf,0xa6,0xe,0x74,0x31,0xe9,0x9e,0x86,0x34,0x84,0x7,0x9a,0x93, + 0x96,0x2f,0x3,0x43,0xa4,0xd,0x86,0x44,0x37,0x46,0xd5,0xfd,0x8f,0x3,0x35,0x5a, + 0x3c,0x37,0xac,0x36,0x6d,0x1d,0x8,0x8a,0xd7,0xe5,0xdc,0xaa,0x9d,0x12,0x83,0x4d, + 0xa1,0xc8,0x6b,0x10,0x40,0xc,0x64,0x65,0xb8,0x6f,0x18,0x90,0x52,0x1b,0x98,0x91, + 0x90,0x4b,0x40,0xb4,0x8a,0x60,0x70,0xd1,0xa4,0x6c,0xc3,0x74,0xf3,0xe6,0xc0,0x56, + 0x67,0x70,0xc3,0x92,0xf2,0x8e,0x3,0x8b,0xc6,0x6b,0xc,0x2b,0x28,0x7d,0x4d,0x5a, + 0x97,0x9a,0xa2,0xad,0xc2,0xbe,0x6c,0x8,0xb5,0xf4,0x81,0xcc,0x8c,0x38,0xb0,0x4c, + 0x8b,0x97,0x6b,0x78,0x1a,0x87,0xd2,0xad,0xe,0x3,0xd9,0x7a,0x9,0x95,0x6c,0x1d, + 0x6c,0xab,0x2b,0x9c,0x31,0x18,0xac,0x8,0xdb,0xd8,0x97,0x58,0xbb,0x1e,0x9f,0xb3, + 0x4a,0x71,0xe,0x7e,0x10,0x8f,0x7e,0x35,0x6a,0x44,0xc6,0xf4,0x2d,0x57,0x30,0x9b, + 0x13,0x46,0x63,0x65,0xab,0x94,0xdf,0x70,0xaf,0xd0,0x46,0x4c,0x93,0xb9,0xa4,0xe0, + 0x8a,0xc1,0xc6,0x4c,0x5e,0xb2,0xdb,0x98,0xd7,0xa6,0xbc,0x4a,0x54,0x1f,0x19,0x50, + 0xd3,0xb6,0x11,0x5d,0x4c,0xe6,0x25,0x3,0xd,0x56,0x8e,0xc,0x51,0x9a,0xf1,0x60, + 0x2f,0x6b,0x8c,0x88,0x24,0xb2,0xeb,0xc8,0x70,0x61,0x20,0x46,0x86,0xa7,0x37,0x71, + 0x70,0x31,0x95,0x18,0xc,0x8f,0x92,0xd1,0x7a,0xce,0xff,0x1c,0xd1,0xb5,0xdc,0xda, + 0xda,0xf,0x36,0xb0,0xa1,0x83,0x11,0x59,0x7e,0xc9,0x66,0xa0,0xd5,0xaf,0x29,0xcf, + 0xac,0x29,0xfd,0xc0,0x22,0xdb,0x50,0xb9,0x8,0x6,0x6e,0x78,0x4e,0x1c,0x11,0xaa, + 0x47,0xb6,0x66,0x83,0x7d,0xc3,0xba,0x14,0x22,0xc1,0x1b,0x2e,0x59,0xea,0x99,0xca, + 0x83,0x9b,0xd9,0xa3,0x60,0x2f,0x35,0x68,0xd5,0xd,0x63,0xa9,0x8b,0xa9,0x1d,0x9c, + 0x89,0xa4,0xd,0x2e,0xa2,0xc,0x5b,0x88,0x6e,0x65,0x3b,0x8e,0x6c,0x72,0xab,0x75, + 0x64,0xbb,0x9a,0x1d,0x45,0xc2,0xac,0x70,0x29,0xe2,0xc6,0x4a,0xc,0x76,0x6f,0x15, + 0x1c,0xd1,0x1e,0x42,0xe1,0x19,0x48,0x31,0x4f,0x9c,0xd2,0xad,0x5d,0xec,0x31,0x49, + 0xab,0x8e,0x93,0x3c,0xee,0xe4,0xaf,0xb6,0x22,0x91,0x35,0x29,0x63,0x70,0xb5,0x98, + 0xd9,0xd6,0x3,0x8b,0x66,0x18,0xad,0xb7,0x47,0xb5,0xa6,0x6e,0x3c,0x8b,0x4d,0xa, + 0xf,0x6e,0x6b,0xe5,0xc6,0xb6,0xac,0x42,0x77,0xcf,0x63,0x25,0x9b,0xb8,0xa,0xb, + 0x22,0xa7,0x33,0xb9,0x48,0x6d,0xc7,0xc6,0xbe,0x1c,0xda,0xde,0x53,0x5a,0x58,0xd9, + 0x7e,0x4a,0x67,0xa4,0x99,0x8f,0x68,0x18,0x9a,0x7a,0x14,0xc9,0xaa,0xa,0xe,0x56, + 0x2f,0xc0,0x4e,0x8b,0xa5,0xb4,0x3e,0x5a,0x43,0x10,0xad,0x7,0x6b,0xda,0x44,0xfa, + 0xb0,0xe5,0x2a,0x3a,0x16,0x79,0xd0,0xc7,0xdd,0xf3,0xd9,0xf6,0x63,0x6e,0xd1,0xdb, + 0x4e,0x91,0xb2,0x67,0xf9,0xd6,0xaf,0x3a,0x4a,0x6f,0xb8,0x97,0x56,0xa8,0x72,0xc3, + 0x82,0xa1,0x30,0x70,0xb2,0xe2,0xda,0xca,0x2b,0xba,0x7,0xd1,0x65,0xb6,0x34,0x36, + 0x46,0x8,0x5b,0x7,0xbb,0x15,0xb5,0x36,0xa4,0x99,0xb,0xf,0x84,0x1,0xdc,0xd0, + 0x43,0x2c,0x7c,0x20,0xc5,0x5,0x79,0x4,0x44,0x25,0xf4,0x60,0x54,0x94,0x4d,0x63, + 0xa9,0x4e,0xb5,0x81,0xaa,0x9e,0xe8,0x29,0x49,0xb6,0x63,0x3a,0x50,0xad,0x9,0x3b, + 0x2,0x3c,0xc9,0xea,0xc1,0x11,0x99,0x62,0x1b,0x52,0x29,0x69,0x3,0x9,0x31,0x1f, + 0xb5,0x34,0x2c,0x45,0x7,0x2a,0x3b,0x32,0x8f,0x5,0x5a,0xcd,0xd0,0x33,0x70,0x95, + 0xd5,0xe5,0x1b,0x46,0x56,0x95,0xd,0x8c,0x6e,0x9a,0x6d,0xc8,0xdd,0x85,0xc3,0x54, + 0x5,0x71,0xea,0x83,0x26,0x6a,0x83,0x1d,0x56,0x39,0x45,0x25,0xa5,0x25,0x6,0x5e, + 0xf3,0xb7,0xb8,0x9a,0x14,0xcf,0x81,0xe1,0xe9,0xad,0x5b,0x0,0x57,0x69,0x6a,0xfb, + 0xe0,0x4c,0xcf,0x8a,0xd,0xb3,0x2a,0x92,0x3,0x9b,0x9,0xd1,0x29,0xe9,0xc5,0x88, + 0xd3,0x83,0xd4,0xb2,0x3c,0x2,0x1a,0x4d,0xc3,0x60,0xeb,0x4c,0xd3,0xd1,0xa0,0x45, + 0xa5,0x6,0x6,0x43,0x14,0x8f,0x9d,0x60,0x7c,0xc3,0xc3,0xcb,0x31,0x8d,0xc1,0xd5, + 0x6c,0x9c,0x34,0x97,0xa8,0x68,0xfa,0xb1,0xb8,0xa2,0xec,0x50,0xa8,0x30,0x2e,0xc1, + 0x8,0xe8,0xe5,0xe8,0x19,0xa1,0x3c,0xa,0x4b,0x30,0x27,0x90,0x3d,0x14,0x7d,0x5a, + 0x54,0x49,0x9c,0x9e,0xa4,0x97,0xe4,0x65,0x4b,0x2a,0xe8,0x3e,0x38,0x5c,0x4b,0x7d, + 0x94,0xf6,0x24,0x87,0xb9,0x8b,0x88,0xd,0xa3,0x47,0xd6,0x40,0x3a,0xc2,0xae,0xfa, + 0x66,0x2e,0x3d,0xd4,0x3c,0x1c,0x83,0xa2,0x1c,0x36,0xc,0x9,0xab,0xd8,0x90,0xf4, + 0x4e,0x1e,0x28,0x2,0xbc,0x4c,0x6,0x18,0x81,0xc1,0x8a,0x92,0x18,0x1,0x21,0xdb, + 0x54,0x7,0x8a,0xaa,0x8f,0x4e,0x29,0x6,0xb5,0x3,0xb5,0x5d,0x2e,0x5f,0xca,0x2e, + 0xc2,0xf,0xb6,0x56,0xad,0xd,0xab,0x5d,0x13,0x57,0x63,0x90,0xa3,0x56,0xb7,0x91, + 0x36,0xd0,0xa4,0x4c,0x2f,0x6f,0x96,0x16,0xf7,0x18,0x4c,0x35,0xd4,0x71,0x5c,0x32, + 0x8d,0x3,0x5d,0xcd,0xc1,0x81,0xee,0xdd,0x18,0x18,0xd2,0xa2,0x7d,0x4,0x68,0x14, + 0x55,0x7,0xa7,0x78,0x46,0xf,0x34,0xaf,0x8e,0x3,0x5b,0x80,0x81,0xe2,0x45,0x1f, + 0x56,0x1,0x6b,0x5c,0xb3,0xa1,0x54,0x44,0x7,0xb7,0xd1,0x5d,0x4f,0xf,0x68,0x16, + 0x7,0x86,0xaa,0xc5,0x4b,0x5f,0x9d,0x7,0x12,0xca,0x17,0x13,0x88,0x25,0xeb,0x60, + 0x90,0x92,0xc7,0x86,0x59,0xd6,0x57,0x63,0x26,0xae,0xf,0x7d,0x60,0xbb,0x46,0xaf, + 0xae,0x9c,0xc8,0x9d,0x58,0xec,0xf6,0x19,0xda,0x96,0xa5,0x2d,0x76,0xe1,0x88,0x40, + 0xd8,0x86,0x16,0x1d,0xd5,0x3,0x33,0x2a,0xab,0x37,0x74,0x78,0x8a,0xf,0x2c,0x49, + 0x55,0x1e,0x1,0x51,0x80,0x1d,0xca,0x34,0x8d,0xcd,0x4a,0x5,0x76,0x41,0xa8,0x24, + 0x37,0x6c,0xe9,0xd4,0x1c,0x98,0x28,0x2b,0xec,0xfa,0x3a,0x67,0x40,0x8d,0x83,0xbd, + 0x5,0x65,0x3,0x53,0xd,0x18,0x68,0x99,0x61,0x3d,0x2,0xb8,0xfb,0x30,0x50,0x5a, + 0xc8,0x3a,0xa,0x14,0x72,0xa8,0xae,0x12,0xab,0x8c,0xd1,0x35,0xbd,0xbb,0x6,0xd2, + 0x49,0xe5,0xe9,0x2a,0xbd,0x39,0x50,0x8,0x9,0x3f,0xf5,0x25,0x44,0xb8,0x5,0xc8, + 0xaa,0x8e,0x10,0x8c,0xb5,0xb4,0x3c,0x6b,0x60,0x7a,0x50,0x75,0xc3,0x4c,0xd1,0x38, + 0x30,0xa0,0xbe,0x93,0xe2,0x8d,0x3,0x16,0x72,0x30,0x2b,0xc1,0x29,0xcb,0xd4,0x4a, + 0xe,0xb4,0x10,0xf5,0x91,0x6a,0xca,0x4e,0x1d,0x8,0xa,0xce,0x3a,0xd9,0x4b,0x34, + 0x5d,0x6b,0xb0,0x6b,0x5a,0xd9,0x91,0xab,0xd9,0x6d,0xb8,0x9a,0xdb,0x5d,0x1b,0x11, + 0x6,0xf6,0xb0,0x34,0x81,0x5d,0x6d,0xb9,0xf6,0x81,0xc5,0xa8,0xbe,0xd4,0xd2,0xa2, + 0xea,0xd0,0xe,0xa7,0x4d,0xf5,0x74,0x41,0xe6,0xb1,0x41,0x75,0xf9,0x66,0x95,0x92, + 0x85,0x61,0x80,0xa8,0x5d,0x66,0x61,0x67,0xd9,0x50,0xaa,0x85,0xe7,0x86,0x1a,0xd5, + 0xa5,0x3,0x3d,0xeb,0x86,0x37,0x4,0xca,0x82,0x3,0x53,0xcd,0x43,0x8f,0x0,0x54, + 0xb5,0xc4,0xe0,0x72,0x81,0xc7,0x81,0xa1,0xe6,0x3,0x9b,0x6d,0xad,0x3,0x21,0x62, + 0xd7,0xc0,0xaa,0x74,0x5d,0x1a,0xa8,0x6b,0x5b,0x1e,0x9c,0x24,0x7a,0xd4,0x72,0xb5, + 0x8a,0x3,0xa3,0xa1,0x7a,0x8d,0x96,0x35,0x8e,0xd4,0x76,0x93,0xcb,0x2,0x59,0x5e, + 0x1d,0x7,0xc3,0xd0,0x9b,0xc5,0xac,0x2b,0xc3,0xb2,0xa8,0xed,0x1b,0xd2,0xcc,0xbb, + 0x5e,0xba,0x25,0x5a,0x67,0x5c,0x34,0xcc,0x2c,0x6,0xa3,0xfc,0xca,0xba,0x6a,0xb5, + 0xb2,0xe3,0x2a,0xad,0x9,0xfa,0x55,0xba,0x1b,0xd1,0x83,0xb,0xc,0xc5,0x51,0xc2, + 0xa2,0x5a,0xed,0x28,0x2c,0x5b,0xf6,0x86,0x2c,0x1,0x73,0xa0,0x7a,0xc5,0x81,0x6e, + 0x86,0x38,0x10,0x19,0x44,0x1e,0x1,0x5e,0x1e,0xf0,0xc1,0xd6,0x2c,0xf2,0x40,0x49, + 0xb7,0x81,0x2c,0x74,0xf9,0x40,0xad,0x88,0x1e,0xe8,0x94,0x32,0x1e,0x1,0xc,0x85, + 0x5d,0xb8,0x69,0xd6,0xa3,0x56,0x6,0x2b,0x2e,0x8,0x89,0xdc,0x10,0x41,0x4b,0x3d, + 0xd0,0x28,0x2f,0x7e,0xe8,0x40,0xc4,0x50,0xa6,0x77,0xc5,0x86,0x2,0xb8,0xd4,0x40, + 0x8b,0x44,0xe9,0xb6,0x4c,0xe5,0x8d,0x71,0x20,0x24,0x5b,0x47,0x40,0xad,0x8c,0xc0, + 0x85,0xa5,0x5,0xb9,0x59,0x84,0x99,0x1e,0x6b,0x75,0xb0,0x6c,0xa0,0x47,0x68,0xd5, + 0xc0,0x32,0xd,0xe8,0xa9,0xcf,0x68,0x9,0xe,0x8e,0x2e,0x2b,0x6c,0x68,0xd9,0x10, + 0xc,0x74,0x6f,0x9f,0xfa,0xe8,0xf0,0xf6,0x61,0x54,0x9f,0x84,0x73,0x63,0x51,0x6a, + 0xd,0x8d,0x2c,0x93,0x3a,0x52,0x15,0x6f,0x8d,0x11,0x54,0x8c,0x4,0xc2,0x2e,0x13, + 0x8a,0x8,0xa2,0xa6,0xa9,0x40,0xc2,0x6,0xaa,0x6b,0x75,0x5e,0x6a,0x95,0x49,0xc6, + 0x60,0x13,0x73,0xd5,0xd,0x43,0x82,0x56,0x3,0xc9,0xc,0xc,0x4c,0x43,0xd6,0x81, + 0x5e,0x84,0x5d,0x23,0x2b,0x69,0x70,0x1d,0xdc,0xe,0x93,0xd8,0xd0,0xbc,0xd3,0xf3, + 0x6,0x6d,0xe9,0xfe,0xcb,0x36,0xf4,0x86,0x19,0x6,0x9a,0x76,0x37,0x8f,0x80,0x82, + 0x53,0x7c,0x30,0x49,0x13,0x9d,0x19,0x22,0x21,0xf6,0x2,0x23,0xcf,0x1c,0x55,0x23, + 0x90,0x3,0xd,0x69,0x72,0x4d,0x31,0x40,0xa3,0x75,0x30,0xe8,0x25,0x3a,0xd0,0x4d, + 0x85,0x3,0xd5,0x1c,0x85,0x81,0x28,0x6,0x8e,0xae,0xed,0xe9,0xbc,0x4,0x88,0x29, + 0x87,0x96,0x47,0xb9,0x4d,0x5b,0x40,0x5d,0x45,0xa3,0x95,0xd4,0x87,0xcb,0xcf,0xbb, + 0xe7,0x5e,0xfb,0xd1,0x90,0xa1,0xf8,0xe8,0x11,0xf7,0xe7,0x9f,0xc0,0x46,0x39,0x74, + 0x1e,0xb7,0xa2,0xcc,0x72,0x8e,0x68,0x15,0x90,0xb8,0xa1,0x0,0xda,0xe2,0x3c,0x81, + 0x7d,0xff,0x7c,0x77,0xdb,0xde,0xd9,0xf7,0x4f,0x83,0x37,0xef,0x95,0xae,0xe1,0x78, + 0xf0,0x4,0x59,0x56,0x89,0x96,0x20,0x1f,0x3c,0x79,0xb6,0xad,0x47,0x46,0xe4,0xa3, + 0xa3,0x9b,0xed,0xf1,0x53,0x8e,0x8e,0xb4,0xfd,0xbf,0xfa,0x9c,0xfe,0xe7,0x9f,0x4d, + 0x68,0xff,0xff,0xe7,0x6c,0x2,0x3a,0xf4,0xb3,0x1e,0xa2,0xfd,0x79,0xcf,0x12,0xf7, + 0x77,0xee,0x68,0x5c,0xa1,0x49,0xe9,0x7,0xc7,0x13,0x2a,0x98,0x7f,0xfb,0x78,0xc2, + 0x9e,0xa,0x34,0x4d,0x9d,0x63,0x9,0xd1,0x2a,0xe7,0x2f,0xf1,0x70,0xec,0x19,0xd3, + 0x9e,0x36,0xb3,0xe3,0xf1,0x7d,0x50,0xf7,0x97,0x2f,0xe9,0x6d,0x5e,0x7e,0xf8,0xc2, + 0xa6,0xc7,0xd7,0x33,0x7d,0x5,0xd4,0x4a,0xea,0x8e,0x8d,0x4a,0xae,0x28,0xba,0x3e, + 0xb8,0x10,0xea,0xf1,0x34,0xa7,0x6b,0x5f,0x37,0x4d,0xbc,0x7d,0xf2,0xc9,0x61,0x44, + 0xfd,0x99,0xbe,0xbc,0xbd,0xc3,0xdf,0x5d,0x34,0x51,0xd6,0x39,0xe4,0xed,0xb5,0xaa, + 0xe3,0x80,0xfb,0xcf,0x46,0xe4,0x2f,0xe6,0x12,0x8a,0xfb,0xf6,0xef,0xab,0x1e,0xfb, + 0x3e,0xee,0xf5,0xd7,0xdf,0xfe,0xfb,0xef,0xbe,0xfb,0xee,0xcf,0x4f,0x3a,0x12,0xde, + 0x3d,0x82,0xff,0xc0,0x2f,0x23,0xde,0x7e,0x27,0xf8,0xfe,0x7e,0xe,0xca,0xf8,0xcf, + 0xfb,0x13,0x7b,0xb9,0xaa,0x9,0x7f,0x56,0xbd,0xde,0xfc,0x30,0xc7,0xdf,0x62,0xb9, + 0xcb,0x86,0x58,0x98,0xd3,0x10,0x22,0xcb,0xdc,0x89,0x79,0x1b,0xa,0xa3,0xe3,0x6c, + 0x6f,0xb5,0x66,0xdd,0x90,0x9d,0x8b,0xcb,0x83,0x8b,0x95,0xdd,0xfd,0x82,0x76,0x55, + 0xdf,0x86,0x8d,0xc2,0x1b,0x43,0xad,0x28,0x93,0xd6,0x1b,0xc2,0x72,0x83,0x3e,0x29, + 0x5e,0x6b,0xaa,0x2d,0xd3,0x4b,0x8d,0xa5,0x8a,0x3,0x75,0x6d,0x61,0x1b,0x49,0x68, + 0xda,0x41,0x1d,0x8a,0x7c,0x52,0x59,0xd,0xe7,0x14,0xdb,0xe2,0x14,0xfe,0x90,0x7d, + 0xfd,0x49,0x2b,0xbc,0xee,0xb8,0xfe,0x44,0x1b,0x1b,0x6d,0xee,0x55,0xe6,0xfb,0x9e, + 0x1d,0x34,0xca,0xdc,0x5b,0xe0,0x82,0xf7,0x76,0xc2,0xd8,0xe9,0xde,0x98,0xb6,0x46, + 0x8d,0xeb,0x3c,0x49,0x6e,0xa4,0xd7,0x95,0xc0,0xf,0xe0,0xc,0x4e,0x93,0x7d,0x6, + 0xa7,0x22,0x1d,0xf,0x7,0x6c,0x8e,0x7a,0xfc,0xd8,0x8b,0xbf,0xbf,0xf1,0x6f,0x7e, + 0xfd,0x9b,0x5f,0x7f,0x49,0xb7,0x2f,0x3a,0xdd,0x66,0x5e,0xfd,0xcd,0x95,0xb8,0xdd, + 0x3c,0xca,0x67,0x8a,0xbe,0x7d,0xb2,0xc9,0xc7,0x4d,0xed,0xd9,0x27,0xb,0x94,0xc6, + 0xcb,0x9c,0x7f,0x37,0xef,0x3e,0x1f,0x39,0xa0,0x5c,0xd,0x3f,0x37,0x96,0xc8,0x32, + 0x15,0xd6,0xe8,0xf3,0x6e,0xc2,0x52,0xec,0xd0,0x1f,0xb,0x54,0xff,0x3c,0x5,0xfc, + 0xe7,0x28,0x70,0x45,0x8d,0x9f,0xfe,0x7e,0x59,0x77,0xd4,0x17,0x71,0x3c,0xec,0xa, + 0x52,0xec,0x5,0x45,0x35,0xe7,0x25,0xa9,0x30,0xe1,0x15,0x57,0x3c,0xd5,0xcd,0x9e, + 0xbd,0x97,0x95,0x53,0x7d,0x7e,0xf1,0xef,0x1d,0xc9,0xe7,0x79,0x5e,0xd8,0x69,0xb5, + 0xcb,0xb5,0x40,0x5c,0x9f,0x73,0x52,0x6b,0x36,0x4e,0x6d,0x46,0x7b,0x9d,0xd7,0xc8, + 0x15,0x9d,0xbd,0xdb,0xc9,0x50,0x43,0x3f,0x97,0x2c,0x61,0x76,0xc6,0x66,0xec,0x4e, + 0xb3,0xcd,0x4c,0x44,0x6d,0xd7,0x26,0x96,0x4b,0xa6,0xea,0x73,0xd9,0x92,0x8e,0x0, + 0x9f,0x8c,0x4b,0x3c,0x2a,0xeb,0xb9,0xb0,0xca,0xc9,0xf2,0x27,0xc4,0x72,0x47,0xf4, + 0x8d,0xc5,0xa,0x15,0x8f,0xb9,0x4b,0xd4,0x56,0x46,0xc2,0xf9,0x5c,0xb5,0x64,0x37, + 0x64,0x4f,0x90,0xe5,0xad,0x59,0x78,0x6e,0x2c,0x98,0x55,0xf6,0x93,0x6e,0x7d,0x78, + 0x23,0x5c,0x2c,0x44,0x72,0x87,0x89,0x5c,0xa0,0x68,0x3f,0xab,0x9c,0xf7,0x67,0xd8, + 0x93,0x72,0x91,0x9a,0x61,0x13,0x61,0x24,0x8c,0xf,0xd0,0xe,0x3b,0xbe,0xda,0x3a, + 0x9a,0x13,0xfd,0xb2,0xc8,0xf3,0x22,0xe8,0x65,0x85,0x2,0x4f,0xf8,0x4b,0x6f,0x7f, + 0x72,0x2c,0x33,0x20,0x79,0x5,0xb6,0x5d,0x3f,0xe6,0x94,0x50,0x56,0xdc,0xb1,0x9, + 0x81,0x89,0x46,0xf7,0x1d,0xed,0x5e,0xa9,0x12,0x76,0xa2,0xbb,0x87,0xd4,0x93,0xaa, + 0x2f,0x75,0xcb,0x13,0x4,0x33,0xe8,0x71,0x2d,0x33,0xa1,0x5d,0x3a,0x41,0x5a,0x68, + 0xbe,0x15,0x7a,0xa1,0xb8,0xa3,0xbb,0x56,0xb9,0x21,0x9f,0x67,0xa2,0x40,0x91,0xe7, + 0xc,0x39,0x1a,0x7c,0x6e,0x5b,0xc,0x94,0xc4,0xd4,0x96,0xf3,0xbe,0xdd,0xe7,0xd6, + 0x5,0xa5,0x6c,0x3,0x49,0x2e,0x43,0x68,0xef,0x51,0xe8,0x62,0xcf,0xa2,0xc1,0xe5, + 0x94,0x9c,0x37,0xcc,0x79,0x4b,0xf4,0xec,0xfa,0xe4,0x12,0xb,0xf7,0x7c,0x2e,0x5d, + 0x65,0xc,0xf5,0xf9,0xfa,0x58,0x9e,0xce,0xd7,0xb1,0xbe,0x31,0x5d,0xde,0x96,0xaa, + 0x9f,0x78,0x45,0xc9,0x2a,0xc9,0x26,0xb7,0x4f,0x25,0xd5,0x39,0x6f,0xad,0xb,0xd7, + 0xd0,0xdc,0xde,0x57,0x56,0x10,0x1f,0xa6,0x99,0x87,0x19,0xa8,0xfb,0x7b,0xdb,0x50, + 0x61,0xc1,0x87,0x92,0xaa,0xb5,0x99,0x77,0x45,0xc7,0xb0,0xc8,0x16,0x1b,0x56,0x5e, + 0x3c,0xac,0xb2,0xb2,0x77,0xed,0xb3,0x89,0x5e,0xb1,0x3d,0x5f,0xe0,0x8,0xee,0x92, + 0xd,0x33,0x9d,0x9,0xe2,0xa0,0xe8,0x56,0x1c,0xe9,0x22,0x76,0x37,0x95,0xbe,0x3e, + 0x27,0x63,0xac,0xd9,0xcf,0x21,0xb,0x50,0x66,0xdc,0xe8,0xa3,0x69,0xf7,0x97,0xcf, + 0xe5,0x16,0x93,0xe,0x7d,0xfc,0x55,0x93,0xf3,0xef,0x61,0xb8,0xfa,0x68,0x76,0xef, + 0x8e,0x2f,0xeb,0x36,0x6d,0x9a,0xf7,0x2f,0xfe,0x3a,0x78,0x21,0xe7,0xe0,0x3,0x62, + 0x42,0x80,0xf1,0x7c,0xc7,0x36,0x2e,0xa4,0x5b,0xdd,0x68,0xaf,0x4a,0x4,0x9e,0xa8, + 0xab,0xcb,0x70,0x43,0x8d,0xe5,0x62,0xe5,0x27,0x74,0x31,0x79,0x43,0x5c,0x0,0x5b, + 0xb8,0xc7,0xa5,0x56,0x69,0xba,0xde,0x68,0x9c,0x87,0xcd,0xbd,0x25,0xf6,0x2a,0x9, + 0x9c,0xb2,0x81,0x32,0x89,0x27,0xc3,0x52,0x76,0xf5,0x4c,0x86,0xa,0x71,0xea,0x13, + 0x7c,0x45,0x14,0x6e,0xac,0x6a,0xa9,0xa3,0x67,0xac,0x1f,0x68,0xf9,0xf9,0xb1,0xee, + 0x8f,0x8c,0xf5,0x49,0x43,0xff,0xf6,0x15,0xbe,0xda,0x15,0x85,0x59,0xda,0xdf,0x3e, + 0xa9,0x2e,0x57,0x9d,0xdf,0x61,0x61,0x31,0xca,0x59,0xfe,0x8b,0x9f,0xb4,0xb2,0xc9, + 0x4a,0xb8,0xd3,0x7c,0x86,0xe9,0x73,0xde,0xc3,0x2f,0xcb,0x7b,0x68,0xf9,0xd8,0x7b, + 0x3c,0x3c,0x73,0x46,0x2b,0x1,0xcc,0x73,0x3,0xf8,0x4a,0xcf,0xde,0xae,0x22,0xb3, + 0xe1,0x10,0xf9,0x44,0x4e,0x34,0xec,0x1b,0xf3,0x95,0x69,0xd5,0xf6,0x44,0x5f,0x9d, + 0x6a,0x32,0xcc,0xe2,0x1c,0xdf,0xa2,0xae,0x90,0xd4,0xd,0x7b,0xb5,0xa6,0x5d,0xaf, + 0x58,0x5a,0x0,0xd,0xe3,0x54,0x29,0xd8,0xd1,0x7,0xb5,0xa,0xb4,0x8e,0x89,0xb0, + 0x6d,0xe9,0xf9,0x4,0xae,0x96,0x36,0x19,0xc7,0x45,0x2b,0x3,0x37,0x99,0xf,0xd4, + 0xfc,0xac,0xfb,0xa8,0x7e,0x29,0xee,0xf3,0xf1,0x48,0x83,0x2f,0xcb,0x57,0xa2,0xe3, + 0x81,0xaf,0x78,0xac,0xac,0xe8,0x3d,0x84,0xb9,0x10,0x72,0xdd,0xd1,0x23,0xab,0x43, + 0x2d,0x27,0x2e,0x88,0xb9,0x7a,0x6c,0x1a,0x2b,0xdc,0x4a,0x66,0x68,0xc3,0x3d,0x36, + 0x2c,0x2c,0x81,0xed,0xa2,0xe5,0xab,0x32,0x44,0xec,0x53,0x5a,0xcb,0x88,0x4,0xcf, + 0xf9,0xbd,0x6c,0xbc,0xb8,0x1b,0x51,0xe5,0x9b,0x62,0x31,0xdb,0xfc,0x53,0xea,0xb5, + 0x4c,0xd8,0x32,0x8a,0x95,0x89,0xea,0x86,0xf,0xb4,0xfd,0xac,0xcb,0xd8,0xdf,0xef, + 0xc,0xb6,0x8,0xa8,0xe6,0xdf,0xed,0xb,0xf2,0x85,0xc5,0x8d,0x7c,0xb4,0xea,0x54, + 0x2d,0x69,0x47,0xcf,0x34,0x55,0xd1,0x54,0xbf,0xce,0xc0,0x64,0xc7,0xf6,0x5,0x9c, + 0x93,0x85,0x61,0xe5,0x32,0xae,0x91,0x4d,0x65,0x5e,0x47,0x19,0x33,0xba,0x6f,0xb4, + 0x96,0x75,0x9b,0xf3,0x3c,0x48,0xee,0x8,0xfa,0x94,0xd,0xa1,0x75,0x6f,0xfa,0xa0, + 0x99,0xcf,0xe,0xa2,0xff,0xcc,0x41,0x3c,0x79,0x11,0xd9,0x9f,0x1d,0xc4,0xdf,0x3f, + 0xf8,0xce,0xa4,0xf9,0x33,0x9b,0x9b,0xd7,0xd6,0xa7,0x53,0x63,0xde,0x8,0x52,0x80, + 0xbf,0x44,0xe6,0xc7,0x1b,0x3e,0x74,0xd6,0xd9,0xf0,0x79,0xef,0x55,0x8f,0xed,0xd0, + 0x23,0xec,0xdd,0x80,0x25,0x17,0xa3,0xe6,0xe9,0xfd,0xeb,0x5b,0x82,0xd2,0x57,0x89, + 0x9c,0x3,0x44,0x63,0x5e,0xc1,0x24,0x75,0xa6,0x7d,0x1d,0x8d,0xf6,0x9c,0x1c,0x33, + 0xd6,0x39,0xc2,0x2d,0xeb,0xb5,0x62,0x8a,0x74,0xe8,0x5c,0x78,0x64,0x6d,0x24,0x37, + 0x14,0x9,0x3f,0xd7,0x82,0x51,0xba,0xb9,0x1b,0xcd,0x3,0xbc,0x4f,0xcd,0x98,0xdd, + 0x5,0xed,0x5d,0xd3,0x57,0xb9,0xa6,0xe5,0x5c,0x9,0x26,0xd9,0xdb,0xfe,0xb1,0xa4, + 0xe6,0xf4,0xbe,0x63,0x61,0x57,0xc5,0xe2,0xcb,0xb,0x7f,0xe6,0x39,0x51,0x5d,0xbf, + 0x60,0x13,0x6b,0x2d,0x3e,0x31,0x16,0xc5,0xa1,0x63,0xd5,0x6a,0xb0,0xe2,0x89,0x7e, + 0x9a,0xbb,0x31,0xae,0xa8,0x69,0xf7,0xbc,0x5d,0xaf,0xe7,0x77,0x98,0xdb,0xd3,0x10, + 0xfe,0x44,0x59,0x53,0x2a,0x8e,0x65,0xde,0x7f,0x3e,0x4b,0x99,0x9e,0x67,0x58,0xbe, + 0xfc,0xd2,0x2,0x4b,0xcd,0x5a,0x6f,0xac,0x17,0x15,0xb0,0x2d,0xbb,0x9a,0xac,0x2d, + 0xfb,0xbc,0xc1,0xe0,0x5e,0x5,0xb9,0x54,0xb8,0x57,0x15,0x97,0xaa,0xf7,0x7d,0x42, + 0x5e,0x7d,0x7a,0xe9,0x3a,0xea,0xa5,0xeb,0xf7,0x6,0xc2,0x8b,0x81,0xa2,0xde,0x2c, + 0xa9,0x2f,0x96,0x4c,0x3f,0x6,0xe7,0xab,0xc1,0x33,0x5e,0x46,0x85,0xaf,0xa3,0x12, + 0x6f,0xa3,0xe7,0xaf,0xa3,0x97,0x67,0x8c,0x2d,0xae,0x31,0x2e,0x79,0xf5,0x3,0xbd, + 0xfc,0xa0,0xe4,0xcd,0x5f,0xfc,0xcd,0x5f,0x5e,0x1d,0x4b,0x17,0x6d,0xec,0xd6,0xb2, + 0x74,0x90,0x73,0xa1,0x14,0x9b,0xa9,0xc8,0x6a,0x9,0x5c,0x5,0x4f,0x23,0x3d,0xf, + 0x4,0xab,0x8f,0x40,0x33,0x6b,0x4e,0x41,0xa5,0x88,0x4d,0xcb,0x89,0xa8,0xf6,0x1b, + 0xb4,0x75,0xa9,0xc7,0x63,0xcf,0x83,0x2,0x71,0x60,0x95,0x59,0x5e,0xac,0x42,0x7, + 0xba,0x6a,0x78,0xd,0x1c,0x2d,0xe,0x34,0xc5,0x4b,0x75,0x53,0xb2,0x87,0xa,0x52, + 0xfb,0x7c,0x6b,0x23,0xb,0x3d,0xa6,0x51,0x2a,0x7d,0x43,0x5f,0xd0,0x7a,0x67,0x58, + 0x55,0x2c,0x49,0x7a,0xbd,0xd9,0x3f,0xe6,0x47,0xc3,0x16,0x32,0x45,0x6d,0x46,0x2a, + 0xf4,0x6,0x6b,0xe5,0xa9,0x8f,0x7e,0x1d,0x53,0x35,0x5d,0x64,0xb7,0xcd,0x48,0xcf, + 0xd0,0xe3,0x6,0xb9,0x3c,0xcc,0x79,0x83,0x76,0x9c,0x84,0x37,0xe8,0xc7,0x31,0xa1, + 0xeb,0xa5,0xef,0x96,0xdb,0xd1,0x78,0xdc,0x59,0x4a,0xe2,0x86,0x6a,0x15,0x41,0xbf, + 0x21,0x59,0x64,0x59,0xdf,0x58,0xaf,0xd3,0xf1,0x18,0xbd,0x67,0x1c,0x28,0xeb,0xf8, + 0x74,0xbe,0x99,0xf2,0x62,0xfa,0xa,0xa7,0x85,0x62,0xd7,0x16,0x57,0x67,0xc2,0xdc, + 0x29,0xe2,0x97,0x22,0x9f,0x28,0x9c,0x97,0xc2,0xf7,0x5d,0x33,0x5c,0x5d,0xbb,0xb7, + 0x82,0xd9,0xab,0x15,0xee,0xd,0x96,0xaf,0x6,0x53,0x7b,0x35,0xad,0xbf,0x9a,0x56, + 0x62,0x41,0xeb,0x5d,0x3c,0x51,0xf1,0xd7,0x1,0xeb,0xb7,0x1,0xe3,0xcb,0xd0,0x52, + 0xee,0x87,0xf6,0xf2,0x2,0xca,0x9d,0x17,0xf0,0x38,0xcc,0xd0,0xe3,0x30,0x17,0x44, + 0xc,0x3b,0x9e,0x35,0xec,0xd4,0xbd,0x73,0x40,0x7d,0x75,0x54,0x7f,0x73,0x54,0xbe, + 0xba,0x74,0xbf,0xb9,0xb4,0xbf,0xfa,0xbe,0xff,0xf5,0x24,0xa9,0x97,0x49,0xf2,0x20, + 0x4a,0xcf,0x6a,0xf7,0xe3,0xbb,0xaf,0xbf,0xfb,0xe6,0xd7,0xff,0xda,0xf6,0x45,0x25, + 0xe,0x8e,0x9e,0x65,0xf4,0xa3,0xeb,0x16,0xf4,0xe7,0xaf,0x5b,0xf6,0xf3,0x96,0xad, + 0x47,0xab,0xd6,0xc7,0x16,0xad,0x7,0x6b,0xd6,0xc7,0x96,0xac,0x7,0x2b,0xd6,0x7, + 0x17,0x2c,0xe6,0xbb,0x15,0xea,0x11,0xf8,0x7a,0x23,0xf,0xc,0x3,0xbb,0x3b,0xb7, + 0xb0,0xdd,0x78,0xcd,0x59,0x8a,0x5a,0x90,0xf2,0xcc,0xdd,0x80,0x25,0xd4,0x38,0xd, + 0x84,0x4b,0x22,0xef,0x35,0xb1,0x7,0xeb,0x96,0x5f,0xa,0xdf,0xf7,0x4b,0x4e,0xbf, + 0x5e,0x7b,0xaf,0x8f,0x56,0x2d,0xbf,0x4c,0x14,0xb5,0x47,0x8e,0xb6,0x19,0x57,0x67, + 0xa4,0xed,0x11,0x88,0xa3,0xb1,0xe5,0x44,0x88,0x6b,0xa8,0x5a,0x91,0x7,0x76,0xf8, + 0x1e,0x97,0xd8,0xe2,0x20,0x7d,0xc6,0x46,0xeb,0xac,0x5a,0x62,0x3a,0x75,0x7b,0x5d, + 0xab,0x16,0xe0,0xd7,0xf5,0x68,0x29,0x72,0xdc,0x20,0x25,0x35,0xfa,0xcc,0x34,0x84, + 0x60,0x8b,0x3f,0x76,0xe3,0x18,0xeb,0x93,0xd9,0x98,0x77,0x4b,0xd6,0x2e,0x62,0xab, + 0xed,0x75,0xc1,0x89,0x64,0x70,0xa,0x85,0x99,0xf5,0x2c,0x56,0x30,0xcb,0x9a,0x6, + 0x81,0xa8,0x9e,0x72,0x46,0xbb,0x9c,0xa8,0x8f,0x19,0xf,0xf5,0xb0,0x8b,0x56,0x99, + 0x1d,0x16,0xb0,0x18,0xfd,0x45,0x35,0xfc,0xb0,0xf4,0x43,0xee,0xd6,0x2a,0x4a,0x81, + 0xa7,0xeb,0x48,0xed,0x13,0x68,0x8,0xe1,0x98,0x28,0xa8,0xf4,0x89,0x33,0xbb,0xca, + 0x20,0xb9,0x5b,0xa8,0x34,0xca,0x6c,0x6c,0x6e,0xe3,0xbd,0xf7,0x61,0xf7,0xb8,0x6f, + 0x7c,0x12,0xa0,0xf1,0x60,0x99,0x7a,0x73,0xe1,0xfb,0xa0,0x7f,0xf9,0xf0,0xdd,0xda, + 0xc0,0xfb,0x45,0xca,0x3b,0xc2,0x66,0x9,0x39,0x1e,0x36,0x4b,0x52,0xb,0x89,0x9d, + 0x3f,0x5d,0xae,0xa8,0x2f,0x6e,0x9c,0x97,0xcb,0x3e,0x58,0xa6,0x98,0x8f,0xd6,0x29, + 0xe6,0x83,0x85,0x8a,0xf9,0xc1,0x95,0xea,0xd1,0x42,0xf5,0xf1,0x75,0xea,0xd1,0x32, + 0xf5,0xf1,0x55,0xea,0xd1,0x22,0xf5,0xf1,0x35,0xea,0xc1,0x12,0xf5,0xc1,0x15,0xea, + 0xd1,0x2,0xf5,0x9f,0xb0,0x3e,0xfd,0xf6,0xb7,0x1d,0xec,0x2f,0x6c,0x7d,0x7a,0xb7, + 0x6f,0x33,0xa7,0x8,0x3e,0xbe,0x7,0x68,0x4d,0x81,0xa6,0x7d,0x76,0xf,0x90,0x1e, + 0x5f,0xd8,0xbe,0x8e,0x3f,0xdc,0xd7,0x9,0x5d,0x2a,0x2d,0x1a,0xcf,0xa9,0x2b,0x9b, + 0xce,0x3e,0x9b,0x2a,0x1d,0x40,0xcc,0x1e,0xa0,0x67,0x85,0x5e,0x3f,0xab,0x74,0xf6, + 0xa6,0x35,0x1f,0x1f,0x54,0xfd,0xdc,0xf7,0x73,0xd8,0x7,0xf6,0xe5,0xbe,0xf4,0x5d, + 0x5d,0xad,0x2f,0x6b,0x44,0x2b,0xf8,0x68,0xa7,0x6e,0xf,0x86,0x98,0x9f,0xb1,0x8b, + 0xeb,0xc5,0x57,0xce,0x25,0xa9,0xc8,0xb3,0x1d,0x3,0xb7,0x18,0x9a,0xb,0xad,0x3c, + 0x1b,0xae,0x81,0x28,0xe3,0xa6,0xf,0x24,0x7c,0x76,0x60,0x7f,0x7c,0xe3,0xc5,0xa1, + 0xc9,0xb0,0x19,0xb3,0xd7,0x4f,0xf3,0x75,0xb9,0x94,0x9c,0xc8,0x16,0x8b,0x88,0xf4, + 0x7e,0x3c,0x68,0x1f,0xbd,0x79,0x84,0xe1,0x5f,0xd8,0x8,0x45,0x3d,0x1a,0x21,0xf6, + 0xea,0x98,0x9b,0x60,0x55,0x72,0xb1,0xb,0xe7,0xc1,0xb,0x12,0xed,0xe7,0xa4,0x88, + 0x69,0xce,0x1e,0x98,0x61,0x99,0x34,0x23,0x6e,0x74,0xff,0x99,0x9e,0xe7,0x1,0x4f, + 0xb9,0x7b,0xe5,0xb3,0xea,0x7c,0xb9,0x53,0x7b,0x9a,0xfc,0xc9,0xce,0xe1,0x15,0x59, + 0x37,0x12,0xf6,0xa0,0xa1,0xcf,0x8f,0x63,0xfe,0x53,0x27,0xa8,0x2d,0x6a,0xab,0xf6, + 0x7,0x27,0xe8,0xe3,0xb3,0x61,0x9f,0x9f,0xfe,0xbd,0xdc,0xcb,0x73,0x5f,0xa9,0xe7, + 0xca,0xae,0x5f,0x7c,0xb0,0x33,0x8f,0x4d,0xd1,0xff,0x59,0x61,0xf2,0xe7,0xaf,0x2e, + 0x29,0x5f,0xde,0xea,0xf2,0x77,0x4e,0xde,0x4c,0x7e,0x59,0x5d,0xca,0xc6,0xa3,0x5, + 0x33,0x17,0x99,0x91,0x33,0xa5,0x4c,0x27,0x5b,0xa,0xae,0x6c,0x85,0x60,0xe6,0x2e, + 0x19,0xb2,0x69,0x9d,0x8f,0x12,0xe1,0xe3,0x7,0xef,0x2b,0x7e,0x76,0x2e,0x9a,0x7e, + 0xc8,0x7d,0xff,0x81,0xa7,0x9b,0x3e,0x3e,0x72,0xff,0x95,0x29,0x2a,0xfa,0x25,0xd, + 0x94,0x2b,0xf5,0xc1,0x40,0x9d,0xd7,0x47,0x95,0x34,0x9e,0x5d,0x5f,0xb2,0xf1,0x4d, + 0x75,0xa5,0x35,0xf3,0xd9,0x7d,0x41,0xe1,0x61,0x1b,0xda,0x72,0x12,0x37,0x58,0x2b, + 0x2d,0x69,0xdc,0x30,0x16,0xd8,0x91,0xcf,0x81,0x53,0x33,0x96,0x43,0x72,0x4e,0x60, + 0x8,0xdb,0xa0,0x1b,0xd6,0xa2,0x88,0xf7,0x73,0x63,0x85,0xb5,0x8d,0x38,0xd8,0x4a, + 0x2d,0xe2,0x59,0xe5,0x6c,0xc2,0x4d,0x7d,0x70,0x59,0x3,0x35,0x51,0x3b,0xb2,0xd3, + 0x9f,0xbe,0xea,0x5e,0xe9,0x10,0x3d,0x67,0x9,0xb3,0x99,0xbb,0xbe,0xc8,0xc2,0x55, + 0xdf,0xdf,0xea,0xb,0x96,0x86,0x86,0x3d,0xb7,0x4d,0x16,0x2f,0xbe,0x61,0xad,0x50, + 0x30,0x9e,0x8b,0xab,0x4d,0x2,0x9b,0xf5,0xea,0x79,0x4f,0x41,0x62,0xd9,0xd4,0x3e, + 0xd6,0xf0,0xe,0xda,0x73,0xf8,0xf2,0xc,0x8a,0x1f,0x58,0x96,0x5e,0xcf,0x9e,0x73, + 0x8e,0x30,0xf0,0xc8,0x6e,0x9f,0xf7,0xd4,0x4f,0xd3,0xba,0xdf,0x7c,0xf7,0xed,0xff, + 0xfe,0x6a,0xff,0x9f,0xeb,0x1,0xc6,0xfe,0xfc,0x3f,0x6e,0x1f,0x5d,0xe9,0x3f,0xf7, + 0x30,0x9e,0x56,0x2f,0x40,0x1c,0xcf,0x7e,0x63,0xd1,0x40,0x7f,0x2c,0xba,0xff,0xdb, + 0x83,0x23,0x20,0x1f,0xa8,0x37,0xc7,0x47,0xae,0xff,0x7c,0xae,0xd7,0xfe,0xd7,0xde, + 0x66,0xb1,0x72,0xbe,0x7d,0x97,0x2c,0x6e,0x83,0x9b,0xad,0xec,0x88,0xcc,0x21,0x55, + 0x32,0xef,0x74,0x5e,0x8d,0x72,0xd6,0x73,0xe9,0x4a,0xb2,0x8b,0x73,0x64,0xc2,0xd2, + 0xe7,0xfc,0xcf,0x35,0x56,0x88,0xa5,0x69,0x99,0xf6,0xdc,0xbe,0x68,0x6e,0xf4,0xcd, + 0xa4,0x33,0x6a,0xa2,0x47,0x54,0x56,0xee,0x9a,0xbe,0x5b,0x54,0x7d,0xf5,0x31,0xeb, + 0x25,0xed,0x5d,0x27,0x89,0x28,0x69,0xe7,0xbc,0x93,0x6,0x2,0xcb,0x4f,0xe,0x9c, + 0x62,0x94,0x3d,0xe4,0xed,0xa2,0x6,0x25,0xf1,0x6,0xab,0x97,0xba,0x49,0xc5,0x48, + 0x3,0x90,0xf5,0xa4,0x82,0x15,0x51,0x39,0xcd,0xde,0xaa,0x8d,0x53,0x4a,0xe7,0x9, + 0x6b,0x4a,0x31,0x1f,0x26,0xda,0xe4,0xce,0x35,0xcd,0xcb,0x2d,0x86,0x39,0xa7,0xa3, + 0x58,0xb8,0x3a,0xda,0xb5,0x92,0xed,0x1e,0xdb,0x46,0x99,0x89,0x7c,0x6a,0x2e,0xaa, + 0x17,0x6c,0x23,0x6b,0x4b,0xeb,0xa7,0xd6,0xc5,0xda,0xea,0x66,0xaf,0xd6,0xe,0xb9, + 0x7e,0x84,0xa7,0xed,0x94,0x39,0xd3,0x66,0x1,0xe9,0xf3,0x1b,0x3a,0xa1,0xa1,0x9f, + 0x55,0xb8,0x4a,0xcd,0xe7,0x84,0x55,0xb6,0x8d,0xbe,0xf1,0xd2,0xd7,0xda,0xe5,0x30, + 0x66,0xd2,0x5c,0xea,0x2c,0x9f,0x1b,0x38,0x3a,0x51,0x1c,0x6,0x6b,0xc4,0xb6,0x53, + 0xbc,0x54,0x3d,0x3b,0xe8,0x9f,0xa2,0xb3,0x3f,0xb0,0x19,0xbd,0x5b,0xea,0x50,0xb5, + 0xd4,0xcd,0x50,0x96,0x19,0xc3,0xaa,0x5b,0x7d,0x33,0x95,0xc0,0xbb,0xca,0xb6,0x1a, + 0x95,0xe0,0x7d,0x41,0x5b,0xe9,0xf0,0xc6,0xbd,0x40,0x5b,0xfe,0x49,0xbb,0x5f,0xdf, + 0xa3,0x2b,0xba,0xb9,0xaf,0x50,0x87,0xc6,0x5d,0x27,0x98,0x2b,0xa5,0x5d,0xe3,0xae, + 0xb3,0xd6,0x8b,0x5a,0x9f,0x1a,0xc5,0x76,0xb9,0xd2,0xd4,0x37,0xe3,0x6d,0x26,0x9b, + 0xf4,0x79,0x68,0xd5,0x7c,0xe7,0xe7,0x3f,0x96,0xc8,0x68,0xb6,0x31,0x2b,0xae,0x8d, + 0x0,0xfd,0x46,0x44,0xe4,0x8b,0x5a,0x3b,0xf6,0xd7,0xf4,0x8f,0xc5,0x30,0x44,0xff, + 0x83,0xf,0x14,0xff,0xfc,0x64,0xc9,0x61,0xfc,0x92,0xe,0xd1,0xda,0x79,0xdd,0x7b, + 0xc4,0x9e,0xdd,0x2c,0x39,0x57,0xda,0x5a,0x2c,0x97,0x2a,0xf6,0xa6,0xae,0xa9,0x52, + 0x4f,0xa6,0xab,0x22,0xd2,0x27,0xe0,0xa5,0x7a,0xb8,0xed,0xb0,0x98,0x28,0x57,0x9f, + 0x35,0x8c,0xd0,0x8e,0x1d,0x5,0x7b,0xc1,0xba,0xaa,0xe6,0xd0,0x50,0x8a,0xf9,0x46, + 0x1a,0x69,0xd8,0x51,0xb0,0x16,0xdd,0x3a,0x77,0xe5,0x90,0x36,0xed,0x79,0x5d,0xba, + 0xa8,0x7,0xcf,0xa6,0xb7,0x7,0xa4,0xfb,0x4,0x42,0xa4,0xf4,0x4c,0x8e,0x2e,0xb9, + 0x8f,0x70,0xe7,0xdc,0xa9,0x7d,0x12,0x7,0x7d,0xa1,0x5d,0xe0,0x9f,0xc4,0x41,0x34, + 0x3b,0x6b,0x84,0x21,0xd2,0xf3,0xc4,0xbd,0x32,0xe9,0x9,0xbf,0xa0,0x54,0x5c,0x7b, + 0x6e,0xe1,0x22,0x31,0xd1,0xb0,0x4d,0x2b,0x87,0x79,0x58,0x4f,0x34,0x4f,0x9a,0x5b, + 0x4f,0x6d,0x9,0xab,0x7e,0x2e,0x9e,0x49,0xa2,0x27,0x1c,0x92,0x5e,0xb9,0xcd,0x95, + 0x8d,0x4a,0xdd,0xe1,0xd0,0xd4,0xcc,0x7b,0x33,0x22,0x95,0xb5,0x23,0x9f,0xab,0xb, + 0xb1,0x57,0x91,0x4e,0x17,0xc4,0x89,0x87,0x20,0x18,0x73,0xe8,0xa6,0xac,0xb3,0x73, + 0xe2,0x61,0x19,0x4b,0x27,0x8f,0x48,0xb5,0xf3,0x6b,0xbf,0x76,0x18,0xae,0xef,0x8e, + 0x5e,0x3d,0x11,0x51,0x97,0x30,0xfc,0x4,0x44,0x96,0x5a,0xcf,0x5d,0x49,0x92,0x55, + 0x39,0xcc,0x43,0xeb,0x5c,0x4a,0xa7,0x19,0x17,0x43,0x72,0xae,0xfa,0x78,0x47,0x49, + 0xb3,0xeb,0x5e,0x3e,0x96,0x51,0xf,0x75,0x25,0x37,0xf3,0x12,0x7b,0x29,0x69,0xe9, + 0xb1,0x19,0x55,0x55,0xf8,0xbe,0x36,0xa8,0x5,0xfd,0xb4,0xa4,0xa4,0x55,0xe4,0xbd, + 0x44,0xae,0x16,0x3a,0xf4,0xae,0xf6,0xd7,0xef,0x69,0x52,0xaf,0x37,0x9a,0x99,0xd2, + 0xa0,0x77,0x3d,0x62,0xaf,0x4c,0x8f,0xe6,0x5d,0xcf,0xb9,0x7d,0xb4,0xab,0xf4,0x13, + 0x13,0x51,0x16,0xac,0x12,0x79,0x67,0x4c,0xeb,0xf3,0x92,0x37,0x9b,0x95,0x8e,0xee, + 0x91,0x8f,0xe6,0xc2,0xe7,0xf3,0xa7,0xfc,0x2f,0x3f,0x31,0x25,0xf9,0x70,0xd8,0x98, + 0x59,0xff,0xf7,0xbc,0xeb,0xdf,0xcd,0xf4,0x17,0xff,0xec,0xf0,0x6b,0xfa,0xe8,0x80, + 0x91,0xb6,0x2c,0x63,0x12,0xaf,0xd9,0x94,0x56,0x2e,0x2a,0x8a,0x77,0xd9,0x94,0x16, + 0x96,0x93,0x89,0xbb,0x6c,0x4a,0xb3,0x17,0xdc,0x22,0xef,0xf2,0xa9,0x81,0x59,0xdd, + 0xbc,0xcb,0xa7,0x86,0xa9,0x95,0xbf,0x25,0x54,0xc3,0x14,0x15,0x79,0x9f,0x52,0x69, + 0x63,0xa5,0x42,0xfd,0x2e,0xa5,0x82,0xe4,0x72,0xb,0xbe,0x85,0x8,0xe8,0xb9,0xd, + 0x8,0xf7,0xa1,0x4,0xa8,0x25,0x95,0xa1,0x6f,0x10,0xc4,0xca,0x68,0xf8,0x5d,0x4a, + 0x5,0x8f,0x85,0x62,0xe3,0x4a,0xa9,0xe0,0xbe,0x12,0xde,0x7c,0x4b,0xa9,0x86,0x85, + 0x79,0xe8,0x5b,0x4a,0x35,0xf5,0xd4,0xbb,0x71,0x9f,0x52,0xc1,0xb1,0x2c,0x3c,0xf1, + 0x96,0x52,0x81,0xb5,0x4d,0xd1,0x7d,0x97,0x52,0x81,0xbe,0xa4,0x93,0xf8,0x24,0xa7, + 0x2,0xb9,0x4a,0xd5,0xf3,0x2d,0xa7,0x1a,0xa6,0x10,0xbf,0xcb,0xa,0x40,0x2c,0x4a, + 0x37,0xee,0xd3,0x7,0x18,0x97,0x6a,0xab,0xdf,0xa5,0x19,0x40,0x2c,0xa8,0xd1,0xef, + 0xd2,0x11,0x68,0x9d,0x11,0xba,0xcb,0xaa,0xde,0xc3,0x93,0x1a,0xd,0x95,0x8c,0xfb, + 0xbc,0xea,0x18,0xba,0xbb,0xef,0xd2,0xa5,0x61,0x9,0x10,0xf7,0xb5,0x87,0x3a,0x59, + 0xfd,0xae,0xa4,0x45,0x65,0xbc,0x93,0xa8,0xad,0x9a,0xf7,0xb9,0xd5,0x7b,0x6a,0xa7, + 0x8f,0xd2,0xdb,0xd0,0x56,0xf7,0xfd,0x11,0x5d,0x6,0x8f,0xba,0xeb,0xb7,0xf6,0x76, + 0x3e,0x7e,0x6a,0x20,0xed,0x5d,0x90,0xc6,0x37,0x4b,0x8e,0xa3,0x87,0x19,0xf2,0x2d, + 0xc3,0x7a,0xef,0xfc,0x9f,0x8f,0x1d,0xfd,0x53,0x63,0xc7,0xc7,0xf2,0x1c,0xc3,0xcf, + 0xfe,0xae,0xf6,0x95,0x12,0xe7,0xae,0xa2,0x7f,0x58,0xa2,0x23,0x15,0x5f,0x52,0xa2, + 0x93,0xba,0xd0,0xa8,0x9a,0x4d,0x56,0x36,0xa,0xe7,0x98,0x95,0x85,0x95,0xcc,0x2a, + 0xa0,0x9a,0xe2,0x98,0x3b,0xb4,0xcc,0xb5,0x6c,0x7,0x27,0xb5,0x56,0xf7,0xcd,0xac, + 0x2d,0xa2,0x9e,0x83,0xab,0x4a,0x19,0xe7,0xbb,0x48,0xa7,0xd1,0x6f,0x50,0x27,0xcd, + 0xc9,0x9e,0xcb,0x9f,0x84,0x88,0xd8,0xdb,0x11,0x9c,0x94,0x67,0x6e,0x95,0x6a,0x97, + 0xca,0x67,0xe7,0x3c,0x14,0x3f,0xb5,0x6d,0x79,0x10,0xa5,0xcf,0x21,0x2b,0x18,0x9a, + 0xbe,0x59,0x16,0x3d,0xf2,0x39,0x6a,0xa1,0xd2,0xdd,0x77,0x6d,0xd2,0x44,0xf1,0x9c, + 0x5c,0xa9,0xd7,0x2b,0x3e,0xcb,0x57,0x64,0x50,0xe7,0x60,0x7e,0xd2,0x14,0xdc,0x79, + 0x44,0xa1,0x33,0x7c,0x77,0xa6,0x5b,0xea,0xa9,0x6d,0x45,0x21,0xd9,0xcf,0x2a,0xb1, + 0xc2,0xe9,0x93,0x6f,0x70,0xe9,0x86,0xfe,0xfa,0xa3,0xca,0x9e,0x33,0x9f,0x2e,0x76, + 0x7d,0xd5,0x10,0x2a,0xf4,0x81,0xc5,0x3e,0xeb,0xd1,0xd4,0xf,0x7a,0xf4,0x47,0x5d, + 0x6a,0x9e,0x3d,0xfe,0xdf,0xea,0xce,0x65,0x47,0xb2,0x1c,0x37,0xc3,0xaf,0x92,0xb0, + 0x57,0x3,0x1c,0xd0,0xbc,0xfc,0xbc,0x1,0xde,0x79,0x5b,0x2f,0x31,0x17,0xf8,0x5, + 0x1a,0xf0,0x62,0x9e,0xde,0x21,0x2a,0x22,0x23,0xa2,0xfa,0x4,0x26,0xaa,0x5c,0xee, + 0xc9,0xe9,0x45,0x27,0xea,0x43,0x48,0xa2,0x48,0x5d,0x79,0x24,0xea,0xaf,0xfa,0x67, + 0x7c,0xa1,0x16,0x54,0x4a,0xca,0x5,0x1f,0x3b,0x96,0x77,0xd4,0x35,0x70,0x13,0xb, + 0xc3,0x64,0xd1,0xe8,0x2e,0xce,0x1d,0x47,0x29,0xbb,0x2e,0xcc,0xc8,0x22,0x5a,0xea, + 0xa3,0x72,0x66,0xb2,0x3,0x46,0xb0,0x74,0x93,0x95,0x36,0xa9,0xcb,0x3d,0xf4,0x80, + 0x90,0x25,0x9b,0x4d,0x5a,0x73,0x55,0x96,0xc5,0x24,0x11,0xd6,0x8b,0x29,0x27,0x20, + 0x2b,0x35,0xb3,0x78,0xf4,0x6e,0x41,0x8a,0x46,0xd7,0x81,0xa0,0x76,0x68,0x2d,0x11, + 0xad,0xc5,0xcb,0xf,0x67,0x6a,0x5e,0xe2,0x9c,0x89,0xfd,0xda,0x8e,0xf6,0x86,0x1d, + 0x4f,0xad,0xf8,0xf3,0x4e,0x7b,0x9c,0xf8,0x64,0x90,0x24,0x48,0x43,0x8c,0xab,0xcf, + 0x50,0xf3,0xbc,0x1f,0x9c,0xc,0x6e,0x21,0x8b,0x72,0x3a,0x8b,0x7e,0xc0,0xc8,0x2b, + 0x67,0xdc,0x32,0x4a,0x28,0xf7,0xde,0x41,0x78,0xb3,0x2e,0x6d,0x95,0x68,0x4e,0x7f, + 0xdb,0x1a,0x56,0x8c,0x5e,0x13,0xee,0x6e,0x1f,0x0,0x31,0x5b,0xb0,0x2e,0xe6,0xe8, + 0xd2,0x5a,0x4c,0x50,0xe6,0x93,0xda,0x32,0xb2,0xb0,0x4f,0xd3,0x8,0x87,0xb1,0x1f, + 0x48,0x32,0x6d,0x74,0x2c,0xd6,0x1,0x95,0x3a,0x5c,0x48,0x4b,0x25,0xfa,0x4c,0xf0, + 0x51,0xf6,0xd7,0x6c,0xe3,0x3f,0x73,0x31,0xf4,0xdf,0x3,0xf6,0x17,0xb1,0xaf,0xe5, + 0xef,0xf7,0x38,0xbb,0x24,0xa3,0x4d,0xa5,0x1,0x3b,0x8a,0x4a,0x5d,0x79,0xfa,0x9c, + 0xaa,0x50,0x66,0xd8,0xd1,0xc4,0x96,0xe3,0x44,0x56,0x51,0x82,0x97,0xdb,0x21,0x4a, + 0x6e,0x68,0xf3,0xbd,0x60,0x90,0x59,0xad,0x34,0xa5,0x46,0x62,0x12,0xb3,0x53,0xab, + 0x88,0x1e,0x9a,0xc4,0xae,0x6a,0x31,0x2c,0x45,0x52,0xe,0x73,0x6a,0x2f,0xef,0xc5, + 0x8a,0x2c,0xab,0xfc,0xc0,0x85,0x89,0xa2,0x6b,0xa5,0x16,0x21,0x57,0x37,0x3f,0x3c, + 0x29,0xdc,0x2d,0xfa,0xc2,0x82,0x6a,0x82,0xe5,0x6,0x8,0x5c,0xdc,0xf5,0xa1,0xca, + 0x24,0x6e,0xdd,0x33,0xd,0x88,0x21,0x74,0x4,0x37,0xd2,0xe2,0xc0,0x91,0x42,0xa5, + 0x2c,0xb3,0x4c,0xcb,0xb,0x73,0xcf,0x23,0x8d,0x8c,0xd3,0x32,0xee,0xd5,0x5e,0x4c, + 0xb5,0x93,0x31,0xa9,0x9b,0xda,0x23,0xf0,0x40,0xd5,0x98,0xc4,0xda,0x7a,0x33,0x87, + 0xc7,0x30,0xcd,0x36,0x79,0x4e,0x6d,0x3a,0x45,0xc6,0x63,0x39,0x16,0x4b,0xad,0xf2, + 0x28,0x8e,0xad,0x42,0x24,0xf1,0x2c,0x38,0x8c,0xd4,0xd9,0xeb,0xb1,0x8a,0xce,0xc4, + 0x6e,0xb9,0xdd,0xf6,0xe1,0xd1,0x76,0x61,0xfb,0xdc,0x70,0x3e,0x2b,0xcd,0x8d,0xd8, + 0x93,0x63,0xa9,0x37,0xda,0x22,0xe2,0xc2,0x40,0x52,0x88,0x27,0x33,0x38,0x53,0x95, + 0xd7,0xb3,0xbd,0x90,0x14,0x48,0xe9,0x47,0xcb,0x5a,0x4d,0xf,0xd6,0x7b,0xb,0xb8, + 0xd7,0xfa,0xa1,0xa9,0x7c,0x3b,0x6b,0x40,0xaf,0x47,0xce,0x37,0xf6,0x83,0xbf,0x5d, + 0xff,0x7b,0x73,0x3d,0x87,0xc,0xfe,0xf9,0xf5,0x9c,0x83,0xcc,0x8a,0xdf,0x70,0x5c, + 0xbd,0x2b,0xf2,0x79,0xbd,0xcf,0x3e,0xb9,0x82,0xc2,0xc5,0x3c,0xe,0x1,0x35,0xe0, + 0x7b,0x7,0x2f,0xc2,0x62,0x79,0x88,0x93,0x20,0x92,0xf3,0x3,0x45,0x56,0x2,0x1e, + 0x9b,0xc1,0xdc,0x5d,0xf7,0x18,0x9f,0x8e,0x3a,0x34,0x48,0xdb,0x70,0xbb,0x58,0xad, + 0x9e,0x1a,0x7d,0x98,0x91,0x66,0x65,0xdb,0x62,0x1c,0xe3,0x7d,0xb0,0xa6,0xa,0xa0, + 0xe4,0x3,0x20,0xf7,0xe,0xd3,0x3,0x4d,0xe6,0xa1,0x5c,0x2b,0x75,0x92,0x73,0xaa, + 0xe4,0x11,0x4c,0xee,0xb6,0xf,0xeb,0x3b,0x33,0x37,0x8e,0x8,0xea,0x36,0xb6,0xe5, + 0x64,0xf2,0x66,0x2b,0x3d,0x76,0xbc,0xb5,0xe4,0xeb,0xc3,0xd1,0x2e,0x6d,0x39,0xcb, + 0x2f,0xe,0xee,0xb0,0x8f,0x50,0xd2,0x94,0x71,0x6b,0x3b,0x21,0x5b,0x58,0xef,0x75, + 0x1e,0xc6,0xce,0x76,0x7b,0x63,0x21,0xcd,0xac,0x1e,0x68,0x6c,0x9d,0x58,0x6c,0xc6, + 0x5d,0xbe,0xfd,0x23,0x1e,0x9c,0xcf,0xa9,0x93,0xe0,0x5e,0x96,0xf,0xe5,0xa4,0x90, + 0x72,0x7a,0x3f,0x88,0x93,0x20,0xb1,0xf0,0x92,0x27,0xc1,0x33,0x49,0x35,0x2a,0xef, + 0x15,0x2c,0x23,0xef,0xee,0xf2,0x23,0x84,0x42,0x34,0x96,0x4f,0xc9,0xb7,0x5f,0xee, + 0x59,0x61,0x15,0x4,0x31,0x88,0x2d,0xd5,0x86,0x48,0xb9,0xae,0xb5,0xa,0xa2,0xa3, + 0xfd,0xc1,0x4,0x5,0xb2,0x6c,0x88,0x3f,0x19,0xab,0x64,0x1c,0x2a,0xf0,0x7,0xb3, + 0xa6,0x52,0x48,0x94,0xc4,0xdd,0xfc,0xf7,0x4a,0x7f,0x36,0x93,0x6f,0x27,0x4d,0xe7, + 0x8d,0x28,0x16,0xa7,0xdf,0xd9,0xbb,0xed,0x9f,0xb7,0xfd,0xf8,0xff,0xe8,0x69,0x7e, + 0x16,0xa7,0x45,0x8b,0x44,0x2d,0x71,0x14,0xc5,0xe7,0x14,0x27,0xca,0xa4,0xe2,0xa6, + 0x17,0x5a,0xd7,0x11,0x4e,0x76,0x88,0x14,0x1f,0x65,0xdb,0x1e,0x9,0x85,0x93,0x2a, + 0xbb,0xeb,0x50,0x21,0xbf,0x8d,0x99,0xc2,0xa0,0xb0,0x56,0x3b,0xb4,0xa8,0x66,0x70, + 0x1d,0x6,0x33,0x9f,0x39,0x2e,0x67,0x8e,0x9b,0xd4,0xec,0x36,0xa3,0x75,0xde,0x46, + 0x6b,0x11,0x26,0x1,0x4a,0xe,0x4f,0xc2,0x9e,0xe2,0x44,0x9c,0xac,0x78,0x86,0x7f, + 0xdd,0xc3,0xbf,0xc8,0x92,0x57,0x3c,0x8e,0x28,0xe2,0xdb,0x44,0x21,0x2a,0x14,0x6d, + 0x92,0x47,0xa,0xc5,0x9e,0x52,0xf6,0x73,0x3f,0x19,0x33,0x1f,0xc9,0xcc,0x3c,0xf7, + 0x5a,0x2f,0xc6,0xd7,0x39,0x6a,0xa8,0xba,0x44,0xdc,0xe9,0x30,0x98,0x48,0x6f,0xe6, + 0xf0,0x18,0xe6,0x51,0xe1,0xcf,0xa9,0x6d,0xe9,0x7,0x59,0x8f,0xe5,0x18,0xa8,0xbb, + 0x55,0x1e,0xe5,0xb1,0x22,0x4e,0x2e,0x7d,0x96,0x1c,0x42,0x26,0xe2,0x4f,0x75,0x44, + 0x52,0xb7,0xb3,0x1e,0x5e,0xe4,0x7b,0x8a,0x13,0x34,0x85,0x55,0x7c,0xa7,0x34,0x67, + 0x6a,0x38,0xb0,0xb4,0x8b,0x3d,0xc5,0x89,0xeb,0xd2,0xae,0xf8,0xa3,0x15,0x50,0x54, + 0xa2,0x78,0x36,0x17,0x9c,0xc2,0xb8,0xe4,0xd1,0xb0,0x16,0x84,0x4c,0xf6,0x7b,0x3, + 0xb8,0x57,0xfb,0xa1,0xa9,0x7c,0x3b,0x6b,0x40,0x6f,0xf4,0xb8,0x5f,0xe0,0xa2,0x64, + 0x89,0xef,0x5c,0x94,0xf6,0x7,0xbc,0xd0,0x76,0xee,0xca,0x64,0xe7,0x37,0xbf,0x24, + 0xb1,0xd6,0x4f,0xcf,0xc8,0x9e,0xe4,0x6a,0xe0,0x7c,0x77,0x46,0x3e,0xf,0xb2,0xd5, + 0xc8,0x4a,0xd3,0x5b,0xee,0x16,0xe8,0xd9,0xd3,0x18,0x71,0x65,0xce,0x91,0xe8,0xf1, + 0x1d,0x58,0x8c,0xa4,0xef,0xde,0x60,0xb5,0x10,0xfb,0x52,0x87,0x78,0xac,0xcc,0x4e, + 0x16,0xf5,0x86,0x24,0xed,0x6e,0x39,0x6c,0x5c,0xc2,0x39,0xe1,0x47,0x87,0x72,0x2, + 0x17,0x3a,0xbb,0x70,0xad,0xb,0xb,0x12,0xb8,0xd9,0xfc,0xd2,0x4a,0x3,0xc3,0x38, + 0x14,0x79,0x61,0x41,0xa6,0x92,0x39,0xa9,0x9d,0x3a,0x3b,0x56,0x9e,0x49,0x1a,0xdc, + 0xf3,0xc3,0x92,0x94,0x85,0x9a,0xdc,0xbc,0x37,0xeb,0x28,0xc4,0x30,0x69,0xd8,0x2e, + 0xba,0x48,0x8a,0x27,0x71,0x10,0xbc,0x42,0x47,0x1c,0x98,0x48,0x6d,0x56,0x81,0x3c, + 0x13,0xfc,0xe5,0x62,0xd2,0xed,0xad,0xc5,0xe4,0x8f,0xb6,0x9e,0x57,0x8d,0x47,0x84, + 0x49,0xbd,0x3b,0xe6,0x1a,0x0,0x5b,0x95,0xdb,0x9f,0xde,0x92,0xe0,0x95,0xfc,0x7e, + 0x72,0xa8,0x27,0x8a,0x26,0xbc,0x69,0x32,0xf5,0x36,0xdb,0x30,0x68,0x70,0x2e,0x28, + 0x63,0xb5,0x9,0x2c,0x5e,0x25,0xb5,0x50,0x95,0x6,0x6,0x79,0xa,0xef,0x8d,0xcf, + 0xb6,0xd9,0xc0,0x98,0xe7,0x6b,0x95,0x32,0xb8,0x27,0xaf,0x92,0xc0,0x91,0x4e,0x6c, + 0xde,0x9b,0x44,0x38,0xfb,0x91,0xa0,0x68,0xd8,0x2e,0x32,0x9,0xae,0xbd,0xf2,0xea, + 0x31,0xd6,0x35,0xa0,0xb3,0xd9,0xa0,0xa,0xe4,0x89,0xac,0x7f,0xff,0xc1,0xbe,0x24, + 0x5f,0xae,0x2f,0xfd,0xd4,0xea,0x7f,0x1c,0xd0,0xbf,0xcd,0xdf,0xfd,0xe7,0x95,0xc1, + 0xf3,0x64,0x6d,0x2,0x27,0x6f,0x91,0xa3,0x8,0x99,0xd9,0xe3,0x49,0x9f,0x2d,0xb2, + 0x6a,0xde,0xe1,0xcc,0x4b,0x70,0xc7,0x21,0x20,0x48,0x63,0xd8,0xec,0x2,0xcc,0xf7, + 0x4c,0x27,0x8e,0xcf,0xa7,0xf7,0x7a,0xcf,0x88,0xae,0xed,0xee,0xb3,0x62,0x28,0x76, + 0xf4,0x61,0xa0,0x46,0x64,0x2e,0x6,0x92,0x42,0xf9,0x1,0x90,0x36,0xeb,0xa,0xd6, + 0x3f,0xd4,0x52,0x6d,0xa8,0x4d,0x96,0x43,0x83,0xc0,0x16,0x7,0x8c,0x9c,0x9b,0x3f, + 0xa1,0x6b,0xad,0x6e,0x4e,0xd2,0x71,0x2d,0xdc,0x94,0x98,0x15,0x76,0x18,0x53,0xa1, + 0xba,0xf6,0xdd,0x4d,0x85,0xd8,0x6c,0x43,0xa5,0x1b,0xda,0x33,0xeb,0x67,0x56,0x1c, + 0xa,0xca,0x66,0xdd,0xd5,0x46,0x51,0x23,0x73,0x41,0x34,0x3a,0x7b,0xe6,0x7c,0xe5, + 0xac,0x3e,0xd4,0x66,0x89,0x9d,0x3e,0xac,0x23,0xe4,0x50,0xa5,0x8,0xbf,0xa6,0x75, + 0x23,0x8d,0xc2,0xde,0xd8,0x36,0xb7,0xae,0x1f,0x82,0x14,0x88,0xb,0xb,0x6a,0x94, + 0xca,0x66,0xbd,0xaa,0x22,0x46,0x56,0xe0,0x25,0xf5,0x40,0x2b,0x4d,0x3b,0x24,0x89, + 0x95,0x4d,0x7c,0x32,0x74,0xb9,0xc0,0x51,0xae,0x70,0xe,0x53,0x4a,0xd9,0x25,0xb7, + 0xec,0x92,0x7,0x22,0xa4,0x6d,0x89,0x68,0xc1,0xe6,0x3b,0x31,0xa7,0x2c,0xb1,0x41, + 0xcc,0xe,0xd9,0xc,0x23,0xf6,0xe8,0xfb,0x96,0xb8,0xa9,0x82,0xa1,0xcb,0x5a,0x8d, + 0x92,0x25,0x76,0x80,0xc0,0x9c,0xcb,0x58,0x9e,0xdb,0xd2,0xe1,0x37,0x63,0x19,0xa9, + 0x66,0x6e,0x63,0x45,0x12,0xec,0x4a,0x81,0x9b,0x9,0xa2,0x28,0x34,0x65,0x25,0xb7, + 0xaa,0xa9,0x4b,0x34,0xb9,0x47,0xe5,0x2a,0xc5,0x58,0x32,0x16,0xb,0x72,0xb6,0x78, + 0x6e,0x3b,0x81,0xb,0x8c,0x88,0x51,0x44,0x25,0xfb,0xfa,0xa1,0x10,0xab,0x4a,0x1e, + 0xa2,0xd4,0xa5,0x5b,0xb3,0x41,0x6a,0xea,0x17,0xc6,0x14,0xe9,0xa9,0xbb,0x32,0x3e, + 0x8e,0xfb,0xa1,0x8e,0xd4,0xf6,0x61,0x60,0x84,0x2f,0x86,0x66,0xc8,0x66,0xaa,0x7d, + 0xfd,0x5d,0xb3,0xf0,0x2d,0xb5,0x8,0x20,0x8b,0xaa,0x5a,0x5d,0xad,0x15,0x30,0xe0, + 0x68,0xea,0x72,0xf0,0x46,0xa,0xf5,0xba,0xa0,0x2,0x97,0xed,0xb4,0x42,0xa5,0x50, + 0x3b,0x8a,0x3a,0x2a,0xe0,0xb3,0x86,0xe4,0x4e,0xf5,0x87,0x3e,0x84,0x20,0xf6,0xae, + 0x7,0xf4,0xed,0xa4,0xff,0xbd,0x15,0x10,0xb0,0xfe,0x16,0x7f,0x41,0x7d,0x29,0xf7, + 0x5e,0x97,0xbd,0xb7,0x3e,0x43,0x57,0xbe,0xb3,0x3e,0x6b,0x16,0xc8,0x6d,0x12,0x64, + 0xd7,0x98,0xa8,0xdb,0xa0,0xf6,0xf5,0x8f,0x23,0x89,0xc1,0x2e,0xda,0x7f,0xfa,0x45, + 0x91,0xf3,0x50,0x9d,0x5f,0xe9,0x5b,0x58,0x80,0x42,0x5b,0x72,0x36,0x83,0x29,0x2e, + 0xae,0xfb,0x8,0x9a,0x95,0x83,0xf1,0x40,0x51,0xa4,0xa5,0xa,0x3f,0x94,0x89,0xdb, + 0xda,0xe7,0xde,0xab,0x8a,0x8b,0xe5,0x31,0x3,0xa5,0x49,0xdd,0x22,0x2c,0x54,0x85, + 0xc9,0x61,0x4a,0x15,0xa9,0xa5,0x73,0x1c,0x43,0xa,0xb0,0xc3,0x8a,0x22,0xc3,0x7d, + 0xfb,0xd7,0x99,0xb5,0xec,0x40,0x92,0x18,0x9a,0x27,0xa8,0x18,0x48,0x8b,0xb9,0x6b, + 0x68,0x98,0xb4,0x2f,0x1a,0xa4,0x17,0xdc,0x7e,0x20,0x8,0x9a,0x11,0xbd,0xa9,0x21, + 0x3b,0xe5,0x80,0xae,0xf2,0x53,0x7a,0x49,0x2f,0xe4,0x9d,0x80,0xcf,0x54,0x10,0xd1, + 0x59,0xcb,0xe9,0xe4,0xc5,0xcb,0xba,0x26,0x14,0x61,0x12,0x39,0xcf,0x18,0x6a,0xb2, + 0x1e,0xda,0x84,0x52,0x8d,0xdb,0x55,0x61,0xd4,0x30,0x15,0xb4,0xc6,0x7e,0x47,0x2d, + 0x12,0xb3,0xb,0x86,0x38,0xa,0x8b,0x65,0x59,0x65,0x1e,0x9a,0xe4,0x5e,0x3e,0xaf, + 0x54,0x9,0x75,0x4b,0xb5,0x1e,0xa,0x6a,0xf,0xdf,0x6f,0x8d,0xb5,0x16,0xaf,0xc, + 0x95,0xac,0x4c,0xf6,0x8b,0x5e,0xee,0xdd,0x3d,0x5e,0x11,0xf1,0x98,0xef,0xf6,0x8b, + 0x72,0x30,0x12,0xeb,0x97,0x40,0xd9,0x3e,0xcf,0xa8,0x26,0x0,0x46,0xbf,0x62,0x56, + 0xb2,0x4a,0x41,0xa8,0xf8,0x4c,0x35,0x59,0xa8,0x8e,0x5d,0xb6,0x4a,0x61,0x89,0x28, + 0x95,0xd9,0xb6,0x48,0xb1,0x59,0x2c,0x94,0x29,0x89,0x71,0xbd,0x48,0x9,0xc4,0x56, + 0xed,0x58,0xfb,0x33,0x42,0x9f,0x89,0x85,0x6f,0x77,0xe,0x42,0x3a,0x3f,0x4a,0x29, + 0x62,0x65,0xbe,0xcc,0x65,0x0,0xa7,0x2e,0xa7,0x11,0xa4,0xcb,0x7b,0x99,0x40,0xd2, + 0x38,0xec,0xfa,0x22,0x48,0x66,0x60,0x41,0x4b,0xe1,0xde,0x4e,0xa3,0x54,0x61,0xf5, + 0x95,0x5a,0x2e,0x90,0xb1,0x9c,0x46,0x21,0xe3,0x85,0xb2,0x95,0xb7,0x4c,0x8e,0x3b, + 0x18,0xaf,0xd7,0x53,0xf3,0x29,0xa5,0x8c,0x46,0xf8,0x52,0x84,0x73,0x15,0xeb,0xc4, + 0xa8,0xd0,0xcc,0x3e,0xa4,0x28,0xdb,0xb0,0x1f,0xbf,0x2a,0x3,0x3a,0xe,0x9,0x4a, + 0x46,0x79,0xef,0x13,0xb0,0x9e,0x55,0x6a,0x8b,0x7a,0x5d,0x60,0x2c,0x36,0xbd,0x78, + 0xd0,0x92,0x11,0x4b,0xd9,0x95,0xda,0xd5,0x8b,0x85,0xa6,0xf9,0xb6,0x40,0x86,0x4a, + 0xf8,0x82,0xda,0x9e,0x21,0x8b,0x99,0x30,0xba,0x16,0xe3,0xec,0xb6,0xab,0x4d,0x83, + 0xe3,0xc2,0x9c,0x1a,0x7d,0x7d,0xe3,0x8c,0x69,0x31,0x8b,0x45,0xc5,0xdb,0x59,0x56, + 0x63,0xea,0x96,0xd0,0xc7,0x7e,0x34,0xbe,0xae,0x4a,0xf1,0x7,0xf6,0xed,0xac,0x1f, + 0xbe,0xde,0x13,0xf4,0xbf,0xfd,0xc4,0x7a,0xed,0x64,0x0,0x3b,0xcd,0x3d,0xce,0x46, + 0x9,0xbb,0xdd,0x1a,0x35,0xff,0xbc,0xd5,0xea,0x46,0xa5,0xdd,0xd2,0x77,0x2a,0x73, + 0xd7,0x5c,0xa2,0x31,0x91,0x32,0x82,0x95,0xfd,0x3,0x76,0xbb,0x50,0xab,0x4a,0xd7, + 0x43,0x58,0x1c,0xda,0x2c,0xcb,0x37,0x4d,0x68,0x59,0x3b,0xaa,0xa6,0xa8,0x9,0xe8, + 0xde,0xc4,0xa1,0x9a,0xdb,0xa9,0xab,0x7e,0xf0,0xed,0xee,0xea,0x22,0xf3,0x6f,0xfb, + 0xfc,0xa7,0xb7,0xe5,0x22,0x52,0x79,0xcd,0x38,0x1b,0xb9,0x9e,0x37,0xd8,0xa7,0x65, + 0xe0,0xf3,0xb1,0x8f,0x33,0x65,0x15,0x86,0xb,0xf4,0xd0,0xf8,0x0,0x3e,0x45,0xe2, + 0x2d,0x52,0x7e,0x8a,0x9d,0x57,0xb1,0x1d,0x53,0x3d,0x5d,0xfb,0x68,0xbb,0x55,0x2f, + 0xb0,0x15,0x71,0x67,0xdb,0x76,0x6d,0x4f,0x6c,0x86,0x91,0x4e,0xf4,0x3,0x4b,0xa6, + 0xe4,0x8,0x97,0x61,0xec,0x1d,0xbd,0x1f,0xac,0xdb,0x21,0x7,0xae,0x75,0x58,0xc4, + 0xd5,0x2b,0x86,0x31,0xb4,0x6d,0xda,0x2f,0x37,0xb0,0x24,0x99,0x4e,0x9d,0xd5,0xb, + 0xee,0x94,0xb7,0x50,0x2c,0x8b,0x68,0x77,0xd4,0x30,0xb7,0x94,0x5e,0xa8,0xbc,0xc0, + 0x32,0xc,0xa9,0x52,0x1f,0xe9,0x9f,0x9,0xed,0x96,0xb2,0x49,0xaa,0xa5,0x6c,0xac, + 0x66,0xe5,0xdd,0x32,0x1f,0x90,0x59,0x92,0xf3,0x2,0x83,0x4,0x6d,0x1d,0xe3,0xe6, + 0xbd,0x5b,0x72,0x7e,0x93,0xc5,0xbe,0x7f,0xd3,0x6,0xf4,0x7e,0xc1,0xb,0x31,0x5, + 0xb0,0x85,0xfb,0x5d,0x54,0xbb,0x97,0x68,0x77,0xc1,0xec,0x26,0x98,0x7d,0xca,0x6f, + 0x37,0xf9,0xed,0x33,0xe5,0x67,0xc2,0xbb,0x2e,0xec,0x53,0x17,0xfa,0xa9,0x33,0xdc, + 0x74,0xa6,0xd7,0x94,0xb8,0x29,0x36,0xfa,0xae,0x7f,0xbf,0xe9,0x3f,0x62,0xcc,0xf4, + 0xd0,0xae,0xc3,0xc6,0x98,0xf,0xe4,0xdb,0x59,0xf3,0xff,0xfb,0x7a,0x79,0xcd,0x28, + 0x6b,0x4a,0xd1,0xa2,0xd0,0x2d,0xde,0x76,0x3e,0xe8,0x85,0x39,0xb9,0x8a,0x8a,0x2c, + 0x59,0xc0,0x95,0xbd,0xf5,0xd6,0xe9,0x11,0x33,0x5a,0xdc,0x1a,0x20,0x62,0x24,0x5c, + 0xac,0x9c,0x3b,0x63,0xa8,0xa4,0x78,0x8e,0x97,0x5f,0xc4,0x2b,0xd7,0xbd,0xb8,0xa6, + 0x2a,0x83,0xfa,0x82,0xa3,0xc9,0x61,0xb9,0x2b,0xb8,0x20,0x32,0x3d,0x6c,0x68,0xa8, + 0x68,0xc6,0x82,0x21,0x59,0x5a,0x3,0xdd,0xbc,0x30,0xc9,0x77,0xda,0x4f,0xad,0x2a, + 0x39,0x67,0xa1,0x26,0x44,0x8d,0xb0,0xa0,0x7c,0xdb,0x43,0xdb,0x72,0xea,0xa2,0xe2, + 0xdd,0xf5,0x7d,0x9d,0xb7,0x22,0xea,0x33,0xca,0x52,0x7d,0x5a,0xb8,0x94,0x4,0x3c, + 0xcf,0x2b,0x6,0x71,0x57,0x67,0xf8,0x82,0xc5,0x89,0xb1,0x31,0x79,0x5b,0x27,0xcf, + 0xbc,0xc2,0x93,0x98,0x77,0xd6,0xb7,0x17,0xd2,0x6,0xdd,0x6a,0xb7,0x90,0x41,0x61, + 0x3b,0x69,0x66,0x15,0x66,0x9a,0x82,0x5a,0xc5,0x2e,0xc3,0x12,0x1c,0x27,0xc2,0xbc, + 0xb5,0xd8,0xb5,0x3f,0xab,0x8b,0x7c,0xad,0xc5,0xae,0xe1,0xdd,0xc5,0xae,0xdb,0xcf, + 0x2e,0x76,0x8d,0x34,0xd,0x59,0x36,0xb3,0xba,0xa9,0xb3,0xfc,0x5f,0x4f,0x7b,0x85, + 0x7e,0xa5,0x15,0xee,0xf4,0x2a,0x49,0xf5,0x63,0x9f,0x30,0x74,0xd3,0x1d,0xda,0x4, + 0x92,0xf3,0x91,0x18,0x4b,0x17,0x6d,0x31,0xc7,0x88,0x45,0xdc,0xf6,0x46,0xbc,0x25, + 0x4d,0x3f,0x0,0x6a,0x53,0xd8,0x6c,0xf6,0x3b,0x43,0x79,0xa5,0x46,0x53,0x79,0x99, + 0xf9,0xec,0x87,0x53,0x5d,0x64,0xee,0x91,0xba,0x17,0xcf,0xbc,0xee,0xe6,0xa2,0x71, + 0x52,0xf6,0xeb,0x59,0x3d,0xde,0xf0,0xf4,0xfd,0xe4,0x79,0x9b,0x57,0x25,0xfa,0xf9, + 0xd9,0x38,0x33,0x71,0x3b,0xa4,0x88,0xb9,0x82,0x6d,0x6b,0x2b,0xbb,0xb5,0x7c,0xd6, + 0x36,0xad,0xcc,0xb9,0x74,0x10,0xe5,0xe5,0x39,0xfb,0x7f,0x35,0xb6,0x9c,0xfd,0x80, + 0x9a,0xb5,0x8e,0x6b,0xc4,0x5d,0xc2,0x6e,0x41,0x74,0x82,0x65,0xbc,0x7,0x89,0x66, + 0x97,0x95,0xa3,0x59,0xaa,0xd9,0xd2,0x56,0xa9,0x48,0xe7,0x59,0xd9,0xff,0xe8,0x6e, + 0x4a,0x96,0x9b,0x6,0xe7,0xeb,0x48,0xe5,0x9c,0xf1,0xb5,0x3e,0xfe,0xbd,0xdf,0x91, + 0xc4,0xfb,0x2b,0x75,0xa4,0x62,0x32,0xe7,0x86,0x1c,0xd9,0x14,0x6d,0x21,0xb8,0xae, + 0x1d,0xb8,0x44,0xfa,0x68,0xa6,0x40,0x24,0xf2,0x23,0x6b,0x56,0xf8,0x8c,0x9,0xc6, + 0x5d,0xc,0xb9,0xb0,0x20,0x77,0x51,0xdf,0x4f,0x46,0x84,0x42,0x6d,0xa7,0xb6,0x84, + 0xd9,0x4,0x2b,0x6f,0x8e,0xac,0x85,0xb8,0x60,0xb9,0x33,0x4c,0x46,0xe5,0x59,0xd1, + 0xaf,0xfb,0x51,0xfe,0xe1,0xfd,0xa8,0x4f,0x95,0x95,0xa6,0x16,0xfd,0xbd,0xb2,0x50, + 0xed,0xc8,0x47,0x65,0x35,0x31,0x14,0xa6,0xcf,0xca,0x6a,0xd3,0x28,0xfd,0x5e,0x59, + 0xe9,0x9e,0x9e,0xcf,0xda,0x42,0x78,0x71,0xde,0xb5,0x75,0x5a,0xf6,0x68,0xeb,0xfd, + 0x96,0x17,0xf6,0x2f,0xdb,0x69,0xd2,0xbe,0x54,0xa7,0x31,0xe2,0x98,0x70,0xea,0xe9, + 0x94,0xa2,0xdd,0xd7,0x27,0x42,0xdb,0x9a,0xf3,0x28,0xa7,0x96,0xee,0xde,0x2f,0xe4, + 0x71,0x72,0xf8,0xc4,0xdb,0xb5,0xb0,0xb,0x6b,0x25,0x65,0x35,0xc4,0xbe,0x6e,0x9e, + 0xd7,0x37,0x5e,0x8b,0xa2,0xc4,0x63,0x77,0x10,0xe,0xb5,0x5a,0x39,0x7a,0xa7,0x7a, + 0x4f,0x98,0x55,0x1,0x42,0x4f,0x8a,0x7e,0xd9,0x67,0x52,0xfe,0xe8,0x3e,0x93,0x76, + 0x7a,0xaa,0xb6,0x12,0xda,0xdf,0xa9,0x2a,0xd9,0xa4,0xed,0x59,0x55,0x50,0xee,0xc6, + 0xa3,0xaa,0x84,0x5a,0x42,0xd3,0xbf,0x57,0x95,0xb5,0xa3,0xeb,0x59,0x55,0xe0,0x70, + 0xf8,0x5d,0x55,0x27,0x25,0xff,0x60,0x7f,0xc9,0xfc,0x57,0xed,0x2f,0x2e,0x5f,0xea, + 0x6c,0xfe,0xf3,0xbd,0xb8,0xd0,0x79,0x9a,0x7f,0x51,0x48,0xb7,0xd7,0x51,0x71,0x7d, + 0xb3,0x75,0x31,0x75,0x55,0x4c,0x37,0xd0,0x90,0x54,0x5d,0x8c,0xad,0xd4,0xeb,0x7a, + 0xc3,0x26,0x6a,0x47,0x81,0x13,0xca,0xf0,0x7e,0x80,0xff,0x35,0xb0,0xc4,0xd3,0x57, + 0xf2,0x6,0x9b,0xe6,0xb0,0x96,0xe6,0x38,0x2a,0xc9,0x25,0x3d,0xe5,0xbb,0x5b,0x7e, + 0x91,0xd0,0xdf,0xdd,0xf2,0x2b,0x6e,0xc7,0x77,0xb7,0xfc,0x4,0x90,0x38,0xab,0xcd, + 0x6c,0x98,0x9e,0xaf,0x97,0x45,0x55,0xfe,0xfe,0xaa,0x25,0xbb,0xb4,0xbc,0x7f,0xd5, + 0x72,0xd1,0xa,0x78,0xe8,0x51,0xb5,0x5f,0xa7,0x5a,0xa8,0x21,0x8,0x9f,0xa7,0x2e, + 0x6c,0xd5,0x6c,0x58,0x47,0x72,0x3c,0xa9,0xc8,0x9a,0xd2,0x21,0x2e,0x8f,0x3a,0x5a, + 0xd4,0x9d,0x4d,0x97,0x8a,0xe0,0xe0,0x88,0x91,0xbc,0xdb,0xc5,0x96,0x25,0x50,0xe5, + 0x6d,0x67,0xb5,0x79,0x3d,0xd2,0xf8,0xaf,0x7a,0x82,0xc6,0xfc,0x6b,0xc5,0xd9,0x76, + 0xe8,0xd9,0x29,0x85,0x54,0xaa,0x6,0x8b,0x1c,0xa2,0x24,0xd7,0xcd,0xb6,0x9a,0x98, + 0x5e,0x88,0x93,0x9b,0xc5,0x3e,0xca,0x7,0xce,0xbe,0xa0,0x22,0x35,0x4b,0xcb,0x8f, + 0x28,0x6a,0x75,0xd,0x39,0x94,0xa9,0xc7,0xbd,0xb0,0x98,0x84,0xa6,0x5e,0x98,0x50, + 0x85,0x88,0xf6,0xb8,0x30,0xc4,0xdc,0xf6,0xb7,0xc2,0x52,0x81,0xcd,0xb5,0x4d,0xcb, + 0x8c,0x61,0xd7,0xb4,0x1e,0x24,0x88,0x25,0x88,0x3a,0x29,0xda,0xdb,0x67,0x1f,0x13, + 0x59,0x90,0x63,0xda,0x94,0x1b,0x63,0x9e,0x9,0xd8,0xc7,0xac,0x2c,0x28,0x56,0xe3, + 0x78,0x20,0x49,0x98,0xdc,0x1e,0x53,0x36,0xb9,0x65,0x31,0x1e,0x4b,0x8,0xe2,0x50, + 0x6e,0x7f,0x94,0xc4,0x28,0x73,0x25,0xbd,0x9,0x3c,0x8,0x8d,0x0,0x1e,0x2b,0xa6, + 0x14,0x50,0xcb,0x7e,0x54,0x80,0x50,0xc2,0x6e,0x3e,0x92,0xb0,0x1c,0x4d,0xf5,0x92, + 0x38,0x78,0xb4,0x17,0x16,0x86,0xb,0xcb,0x55,0x1a,0xf3,0xf8,0x5c,0x8c,0x59,0x63, + 0x94,0xbc,0x65,0xde,0x2c,0xe2,0xca,0xb4,0x3d,0x6b,0x98,0xba,0xf8,0x66,0x2c,0xa9, + 0x39,0xcc,0x2e,0x68,0x98,0x45,0x7d,0xba,0x48,0xc0,0xb2,0xac,0x6,0xd2,0x4a,0x66, + 0x5d,0x2c,0x2d,0xa2,0x2e,0xcc,0x48,0x2a,0xb2,0xfd,0x7b,0x7b,0x6f,0x47,0x11,0x53, + 0x46,0x2f,0xa6,0xb2,0x95,0x30,0xc8,0xe0,0x36,0xa8,0x20,0x1d,0x31,0x8c,0xdb,0x7d, + 0x58,0x5b,0x72,0xf6,0x62,0x91,0xae,0xb1,0x59,0x7f,0x2a,0x61,0xa5,0xd8,0x26,0x87, + 0x84,0xc6,0xf8,0x74,0x38,0x98,0x7d,0xb4,0xca,0xe6,0xc5,0xb2,0x18,0x3c,0x5c,0x86, + 0x19,0x6f,0x2d,0x54,0x93,0x16,0x4b,0xcb,0x81,0xa2,0x34,0xaf,0x98,0xb1,0x4b,0x32, + 0x23,0xf4,0xb0,0xa6,0xb6,0x72,0x3c,0x25,0x56,0xc2,0x2e,0x79,0x41,0x55,0x57,0xc, + 0x34,0xf3,0xae,0x5a,0xd2,0xb4,0xa9,0xe5,0x30,0xf6,0x6e,0xce,0xdf,0xd5,0xf8,0xf5, + 0x78,0xf0,0xd6,0x61,0xe9,0xe5,0xc3,0x9e,0xff,0xff,0x41,0x11,0x73,0xce,0x37,0x9b, + 0xa1,0xfe,0x7a,0x38,0x82,0xe4,0xd7,0x1a,0x8e,0x3c,0xf9,0x2c,0xf2,0x51,0x91,0x39, + 0xab,0xe8,0x32,0x96,0x77,0x78,0xcf,0x45,0x6d,0x26,0x2d,0x97,0xd0,0xe9,0x92,0xf0, + 0xcc,0x9a,0x90,0x23,0x91,0xa2,0x17,0x56,0x24,0xe1,0x2d,0x58,0xbd,0x5e,0xbc,0xaa, + 0xe3,0x30,0x25,0xe7,0x10,0xd9,0xdf,0x1,0xbc,0x23,0xac,0xe7,0x83,0x94,0x73,0x36, + 0x56,0x86,0xa9,0xca,0x9e,0xd3,0x4e,0x96,0xe2,0xed,0xac,0xe8,0xd7,0xcd,0xa2,0xdf, + 0x5c,0x90,0xfe,0x58,0xbc,0xc7,0x48,0x6b,0xb9,0x79,0xfc,0xf8,0x6f,0x1c,0xf8,0xef, + 0xaf,0x64,0xb3,0x16,0xc7,0x89,0xcd,0xbe,0xc0,0x63,0x8b,0x5f,0xe9,0x6d,0xc4,0x67, + 0x6d,0xbc,0x6c,0x42,0x25,0x6f,0x7d,0x25,0xfb,0xed,0x17,0x8c,0x28,0xf1,0x8b,0xee, + 0xc9,0x7a,0x7d,0x29,0xcf,0xa9,0x16,0x75,0xb0,0x62,0x5f,0xfb,0xe4,0x56,0xbf,0x5a, + 0x5c,0x59,0xd4,0x73,0x28,0x52,0xd9,0x3f,0xd4,0x49,0xc2,0xb5,0xed,0xc2,0x8a,0xa, + 0x88,0x3c,0x65,0xdf,0xa6,0xbd,0x68,0x49,0x5d,0x23,0x7d,0x38,0x4c,0x17,0x3d,0x29, + 0xe9,0xa5,0x5d,0xff,0x9,0x17,0x13,0xcb,0x4f,0x7a,0x25,0xcf,0x12,0xcc,0x64,0xe2, + 0x83,0xe9,0xd6,0xce,0xe,0xad,0xa4,0x6c,0x3,0x63,0x94,0x23,0xbc,0xe3,0x63,0xe7, + 0x28,0x82,0x81,0xc8,0x53,0xf6,0x6d,0x12,0x4b,0x9b,0x2d,0xda,0xa4,0x5b,0x39,0x67, + 0x5,0xfd,0xe0,0xf6,0xd4,0x1b,0x5f,0x71,0x7b,0x7a,0x1e,0x6d,0xa8,0xb5,0xd,0x19, + 0xaf,0x67,0xda,0x60,0x7c,0xad,0x99,0x36,0xe4,0x6c,0xd4,0x2e,0x23,0x38,0x5a,0xf3, + 0x68,0x23,0x11,0x37,0xc6,0xfe,0x8c,0x15,0x62,0x21,0xf3,0x76,0x4e,0xba,0x7b,0x62, + 0x31,0xe,0xae,0xb2,0xb9,0x9b,0xd,0x57,0x91,0xc5,0xba,0x25,0x64,0xf,0x73,0x6c, + 0xe6,0x93,0x1a,0x4,0x54,0x96,0xef,0x98,0x72,0xd9,0x6c,0x93,0x23,0xaa,0xdb,0x26, + 0x47,0x68,0x5b,0x9d,0x95,0xfd,0xba,0x3f,0xfd,0x98,0xbf,0x74,0xa2,0x2c,0xbf,0x7e, + 0xbb,0x18,0x35,0x33,0xf7,0xdb,0xef,0x90,0xee,0xcc,0xf6,0x9f,0xff,0xfc,0x8f,0xdf, + 0xfe,0xe7,0xf2,0xe7,0x7f,0x1,0x80,0x6f,0x4e,0x8a,0xf6,0x98,0xb,0x0, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/speaker_75.svg + 0x0,0x0,0xb,0x86, + 0x0, + 0x0,0x36,0x8c,0x78,0x9c,0xed,0x5a,0x5b,0x93,0xdb,0xb6,0x15,0x7e,0xf7,0xaf,0x50, + 0xe5,0x17,0x7b,0x2a,0x41,0xb8,0x5f,0xb4,0xbb,0xce,0x43,0x32,0xe9,0x64,0x26,0x99, + 0x76,0x9a,0x78,0xfa,0x98,0xe1,0x92,0x90,0x96,0x35,0x25,0xaa,0x24,0xe5,0x5d,0xe5, + 0xd7,0xf7,0x0,0x12,0x2f,0x90,0xa8,0x95,0xb4,0xd6,0xda,0xed,0x4c,0x56,0xc9,0x98, + 0x3c,0xb8,0x1c,0xe0,0x3b,0x1f,0xce,0x39,0x0,0x71,0xfb,0xdd,0xd3,0x22,0x1b,0x7c, + 0xb6,0x45,0x99,0xe6,0xcb,0xbb,0x21,0x41,0x78,0x38,0xb0,0xcb,0x38,0x4f,0xd2,0xe5, + 0xfc,0x6e,0xf8,0xf1,0xb7,0x1f,0xc7,0x7a,0x38,0x28,0xab,0x68,0x99,0x44,0x59,0xbe, + 0xb4,0x77,0xc3,0x65,0x3e,0xfc,0xee,0xc3,0x9b,0xdb,0xbf,0x8c,0xc7,0x83,0xef,0xb, + 0x1b,0x55,0x36,0x19,0x3c,0xa6,0xd5,0xc3,0xe0,0xa7,0xe5,0xa7,0x32,0x8e,0x56,0x76, + 0xf0,0xee,0xa1,0xaa,0x56,0xd3,0xc9,0xe4,0xf1,0xf1,0x11,0xa5,0x3b,0x21,0xca,0x8b, + 0xf9,0xe4,0xfd,0x60,0x3c,0x86,0x96,0xe5,0xe7,0xf9,0x9b,0xc1,0x60,0x0,0x6a,0x97, + 0xe5,0x34,0x89,0xef,0x86,0xbb,0xfa,0xab,0x75,0x91,0xf9,0x7a,0x49,0x3c,0xb1,0x99, + 0x5d,0xd8,0x65,0x55,0x4e,0x8,0x22,0x93,0x61,0x5b,0x3d,0x6e,0xab,0x3f,0xda,0x7b, + 0x54,0xd8,0x32,0x5f,0x17,0xf1,0xb6,0xfb,0x38,0xee,0xd6,0x2c,0x92,0x59,0x5b,0x15, + 0x46,0xf2,0xc8,0x7c,0x25,0x62,0x8c,0x99,0x60,0x3a,0xa1,0x74,0xc,0x35,0xc6,0xe5, + 0x66,0x59,0x45,0x4f,0xe3,0x65,0xf9,0xb6,0xd3,0x14,0x6,0xd8,0xd7,0x94,0x62,0x8c, + 0x27,0x50,0xd6,0xd6,0x3c,0xaf,0xd6,0xf4,0x29,0x3,0x18,0x8e,0xe,0xc6,0x97,0x76, + 0xb5,0x3,0xf4,0x2b,0xf8,0xbf,0x69,0x50,0xb,0xd0,0x76,0xae,0x33,0x68,0x69,0xd1, + 0xd2,0x56,0x93,0x1f,0x7e,0xfb,0xa1,0x29,0x1c,0x63,0x94,0x54,0x49,0xa7,0x9b,0x1a, + 0xf9,0x40,0x6f,0x60,0x8e,0x65,0xb4,0xb0,0xe5,0x2a,0x8a,0x6d,0x39,0xa9,0xe5,0xbe, + 0xfd,0x63,0x9a,0x54,0xf,0xc0,0x4,0xe9,0xdf,0x1e,0x6c,0x3a,0x7f,0xa8,0x9a,0xd7, + 0x34,0xb9,0x1b,0xc2,0xec,0xa8,0x7f,0xa9,0x95,0x4f,0x1b,0xfa,0x60,0xc4,0xb6,0x45, + 0x75,0x8f,0xdd,0x22,0x2e,0x10,0xf1,0x85,0x1,0xdb,0x82,0x8e,0x92,0x3c,0xbe,0x8f, + 0x4a,0x18,0xf4,0xe4,0x21,0x5f,0xd8,0x71,0x96,0xc7,0x51,0x36,0x59,0x65,0xf7,0x36, + 0x5a,0x27,0x79,0xba,0x9c,0xfc,0xfa,0xe3,0xcf,0xff,0x78,0x0,0x1a,0x4e,0xca,0x59, + 0xb6,0xa,0x1e,0xc6,0xf3,0xea,0xd3,0x64,0x95,0x3e,0x2d,0xa2,0x55,0x79,0xd0,0xa7, + 0x9b,0x2a,0x8c,0x7b,0x65,0xa3,0x4f,0xb6,0xf8,0x5d,0x9,0x54,0x1b,0xa8,0x19,0x66, + 0xbe,0xae,0x56,0xeb,0xea,0x77,0xfb,0x54,0xd9,0xe5,0x76,0x6c,0x0,0x51,0x7,0x2f, + 0x5f,0xec,0x9a,0x35,0xb2,0xe1,0x7,0xe8,0xe0,0x36,0xb1,0xb3,0xd2,0x75,0xb4,0x45, + 0xc6,0xbd,0x71,0x5f,0x0,0x45,0x60,0x57,0x1b,0x15,0x7f,0x2b,0xa2,0x24,0x5,0x2a, + 0x6f,0x2b,0x75,0x34,0xc6,0x79,0x96,0xd9,0x18,0x90,0x8d,0xb2,0xc7,0x68,0xb3,0x1d, + 0x73,0xdd,0x4f,0xd8,0x94,0x71,0xa2,0x76,0x9d,0x42,0xb7,0x65,0x95,0xaf,0xea,0xba, + 0x30,0xcb,0x6a,0x93,0xb9,0xa9,0x81,0x70,0xc,0x3d,0xe6,0xc5,0xf4,0x2d,0xf6,0x7f, + 0x37,0x5e,0x94,0x83,0x7d,0xd3,0x6a,0x33,0x25,0x37,0xc3,0xb6,0x4d,0x3e,0x9b,0x95, + 0x16,0x14,0xe3,0x8e,0xcc,0xdb,0x15,0x5a,0x80,0x2e,0x33,0x1c,0x4c,0xbe,0x4c,0x1b, + 0xee,0xd3,0x46,0x7a,0xb5,0x51,0xd2,0x68,0xbb,0x9d,0x84,0xd3,0x7e,0x1e,0xc6,0x43, + 0x94,0x98,0xc2,0x17,0xa0,0x94,0x28,0xf7,0x7b,0x29,0x4a,0x4c,0xd1,0x8b,0x50,0x52, + 0xb1,0xfb,0x9d,0xa1,0xad,0x17,0x25,0xa6,0xf8,0xf5,0x50,0x92,0xf4,0xab,0x71,0x89, + 0x49,0x7e,0x11,0x4a,0x33,0xff,0xf7,0x62,0x94,0xa4,0xbc,0x16,0x4a,0x1c,0x73,0x71, + 0x1,0x4a,0x7d,0xe3,0xc6,0x67,0x82,0x4,0xaa,0xd4,0x65,0x20,0xc5,0xb3,0xfb,0xf8, + 0x7e,0xf,0xa4,0x33,0x31,0x2,0x65,0xe6,0x6a,0x18,0x51,0x69,0x2e,0xc0,0x88,0x24, + 0xf7,0x2f,0x67,0x12,0xa7,0x8a,0x5c,0x4,0x52,0x9f,0xb6,0xb3,0xbd,0x12,0x68,0x63, + 0x57,0x43,0x89,0x68,0x76,0xc,0xa5,0x46,0x1f,0xd1,0xe2,0x4,0x10,0xe7,0x3,0x7a, + 0x14,0xa5,0x8e,0x36,0x75,0x2,0x88,0x3e,0x47,0x30,0x13,0xb3,0x67,0xb4,0x7d,0x31, + 0x4a,0xf2,0x92,0x8,0xa7,0x9d,0x53,0xb2,0x2f,0xe5,0x12,0x91,0x97,0x45,0x38,0x7, + 0x33,0xe1,0x2f,0xe5,0x12,0x51,0x2f,0x8d,0x70,0xa7,0x12,0x5,0x9f,0x38,0x4e,0x1f, + 0xa,0xb,0x89,0xee,0xdb,0x1e,0xd6,0x1d,0x87,0x9b,0x52,0xca,0xdb,0x6e,0x88,0x4b, + 0xee,0x90,0xa6,0x52,0x19,0xd9,0x48,0x37,0x20,0x95,0x48,0x51,0xad,0x15,0x69,0xbb, + 0x7a,0xa2,0x77,0x43,0xaa,0x90,0x90,0xb4,0x25,0xec,0xc6,0xc9,0x28,0x12,0x84,0xa, + 0xdc,0x4a,0xe7,0x3b,0x55,0x1f,0x97,0x69,0x5,0x79,0xf2,0xba,0xb4,0xc5,0xaf,0x2e, + 0xd7,0xfc,0xfb,0xf2,0x63,0x69,0xf,0x6a,0xfd,0x56,0x44,0xcb,0x12,0x12,0xdb,0xc5, + 0xdd,0x70,0x11,0x55,0x45,0xfa,0xf4,0xe,0x23,0xad,0x4,0xa6,0x62,0x84,0xdd,0xaf, + 0x79,0x41,0x52,0x4a,0x85,0x19,0x3c,0x10,0xa5,0xc,0x56,0xef,0x5b,0x6c,0xfb,0x51, + 0x3c,0xae,0x81,0x20,0x49,0xd,0x61,0x5e,0xc1,0xb8,0x7e,0x19,0x13,0x8c,0xb0,0x94, + 0x58,0x8f,0x98,0x41,0x8a,0x18,0xd,0x1a,0x2e,0x9b,0x92,0x83,0x43,0x22,0xa9,0x14, + 0x36,0x4a,0x7,0xc0,0x11,0x81,0x34,0x96,0x74,0x97,0x20,0xd7,0x20,0x3,0x74,0x5a, + 0x71,0x8a,0x75,0x68,0x10,0x81,0x24,0xc3,0xcc,0x88,0x67,0xac,0x8,0x6e,0x4a,0x9c, + 0x45,0x6,0xe7,0xa8,0x4f,0xb2,0xea,0x4,0x8e,0x6e,0x5a,0x84,0x21,0x3,0xdb,0x1b, + 0x11,0xf2,0x1,0xa8,0xc3,0x94,0xd6,0x46,0x5,0xd3,0x22,0x14,0x10,0x15,0x6,0xd3, + 0x60,0x5a,0x14,0xc0,0x15,0xe0,0x7f,0xd4,0x19,0xc,0x18,0x13,0x6f,0x1a,0x32,0x62, + 0xd0,0xa,0x8,0xad,0x47,0x63,0x80,0x4a,0x72,0xc5,0x2e,0x35,0xc9,0x21,0x74,0x84, + 0x69,0xfd,0xd5,0xa0,0xeb,0x99,0x62,0xe5,0x1e,0x33,0xd8,0x3b,0x3,0xcf,0x41,0x7, + 0x11,0x7e,0x72,0x4a,0x52,0xc2,0xe4,0x4b,0x8,0xf7,0x1a,0x96,0xe9,0x45,0x4d,0x7e, + 0x75,0xd4,0xce,0x98,0x3c,0x46,0x42,0x49,0x45,0x49,0xb8,0xda,0x38,0xc2,0x80,0x26, + 0xd3,0xe1,0x6a,0x43,0xa,0x83,0x4f,0x93,0xf2,0x60,0xb5,0x71,0xe8,0xe0,0x39,0x9f, + 0x9,0x93,0xe7,0x67,0x4d,0x3e,0x70,0xbd,0xaf,0x41,0x19,0xd8,0xea,0x1b,0xae,0x30, + 0x1,0xce,0x80,0x63,0xd4,0x2,0xbc,0xd4,0x8b,0x38,0x3,0x3e,0x9b,0x9,0x45,0x44, + 0x0,0x1b,0x23,0x88,0x41,0x30,0xd6,0xfb,0x94,0xd9,0xaf,0xea,0xb0,0xe4,0x88,0x19, + 0xd5,0x75,0xfa,0xbd,0xa8,0xd1,0xff,0xd,0xd4,0x8,0xa2,0x12,0x78,0x49,0x9c,0xaf, + 0x27,0x18,0x2b,0x41,0x5f,0x8,0x9a,0xa6,0x42,0x9b,0x70,0xa1,0x29,0x58,0x7d,0xc, + 0xfe,0x13,0xfb,0xa8,0xed,0xd7,0x25,0xfe,0xc8,0x3,0x73,0x60,0x9b,0x7c,0x1e,0x35, + 0xfc,0xd5,0x50,0xeb,0x53,0xaf,0xf8,0xa9,0x9c,0x15,0xea,0xb4,0x33,0x38,0x3b,0x67, + 0x3d,0x92,0xb8,0x9d,0xcc,0x59,0x41,0x9b,0xee,0xd1,0x76,0x22,0x67,0x3d,0x92,0xb8, + 0x5d,0x29,0x67,0x5,0xe7,0xa2,0x2f,0xc8,0x59,0xa9,0xfc,0x82,0xfd,0xf,0x71,0x67, + 0x1b,0x17,0xed,0x7f,0x78,0x6f,0xba,0x7e,0x5e,0xce,0x4a,0xba,0xa7,0x1b,0x5f,0x8e, + 0xd2,0xd1,0xf3,0x86,0x56,0x9f,0xe4,0x97,0x73,0xe9,0x8,0xa0,0x67,0x70,0x49,0xf6, + 0x31,0xf7,0x4,0x97,0xfa,0xb4,0xbd,0x98,0x4b,0xaf,0x97,0xd9,0x13,0x8e,0xe5,0x85, + 0x6e,0xad,0x3f,0x0,0x1e,0x9,0x96,0xfd,0x81,0x35,0x8,0xc2,0xa7,0xdc,0xcd,0xab, + 0x4e,0x5e,0x5f,0x38,0xf9,0x17,0x87,0xc,0x8f,0x9a,0x9b,0x33,0x37,0x6c,0xdf,0xeb, + 0x13,0x22,0x84,0x30,0x1,0x68,0x10,0xa9,0xa5,0x86,0xca,0x41,0xf6,0x4f,0xbb,0xb5, + 0xbf,0x25,0x6c,0x4,0x5f,0x13,0xb6,0x67,0xf3,0x13,0x87,0x1b,0xe4,0x18,0xd2,0x50, + 0x23,0xf7,0x92,0xc,0x7,0x37,0xa7,0x24,0x64,0x1b,0x65,0xd0,0x5,0x70,0x30,0xdc, + 0x6f,0x42,0xbe,0xcb,0x84,0x60,0xf4,0x55,0x51,0xb,0xb2,0xd8,0x3e,0xd4,0xe8,0x35, + 0x51,0x7b,0x6e,0x23,0xe0,0x40,0x53,0x8,0x90,0x74,0x4,0xa,0x41,0x13,0xc8,0x10, + 0x1a,0xec,0x66,0x7c,0x3e,0x42,0x8,0xe1,0x9a,0x93,0x10,0x34,0x82,0x84,0x51,0xc, + 0xb6,0xee,0xdf,0x14,0x35,0xfe,0xe5,0xa8,0x5d,0xb0,0x43,0xec,0xdf,0xdb,0x1c,0xd9, + 0x7,0xf5,0xef,0x99,0x82,0xfd,0x55,0x3,0x9d,0x1b,0x55,0x94,0x5d,0x15,0x3a,0x77, + 0xe8,0xdc,0x85,0x2e,0x54,0xc1,0xb1,0x68,0xed,0x19,0x3f,0xc1,0xa0,0xc,0xa2,0x3a, + 0xc8,0xca,0xe3,0xcd,0xdd,0xd0,0x20,0x27,0xe3,0x9d,0x3,0x9e,0x59,0x6f,0xdd,0x59, + 0x6f,0xdd,0xc2,0x7b,0x35,0xed,0xc5,0x17,0xda,0xa9,0x5c,0x15,0x36,0x4a,0x7e,0xb1, + 0xd5,0x43,0xee,0xc6,0x6e,0x67,0x6e,0xfe,0x67,0x9d,0xf4,0x80,0xe9,0x60,0x1f,0xb1, + 0x3b,0xe9,0xd9,0xbd,0x38,0x6f,0x80,0x5,0xd7,0x23,0x81,0x14,0x55,0x94,0xeb,0x93, + 0x27,0x3d,0x5f,0x2,0xbd,0xff,0x2a,0x72,0x9c,0xb5,0x8c,0xc9,0xbd,0xe3,0x19,0x89, + 0x30,0x53,0xdd,0xbd,0x8d,0x63,0x14,0x43,0x92,0x71,0xac,0x74,0xb8,0x39,0x0,0x6f, + 0xa8,0x34,0x80,0x1c,0xc6,0x4b,0x81,0x28,0xd1,0x42,0x5f,0xc3,0x87,0x34,0x38,0x2a, + 0x2d,0xd,0xa3,0x7c,0xd4,0x3e,0x8d,0x7b,0x85,0x6e,0x37,0x47,0x14,0xe3,0xc2,0x5, + 0x36,0x8c,0x21,0xc0,0x73,0xfa,0xfe,0x35,0x99,0xed,0x3f,0xcd,0x1d,0x67,0x36,0x83, + 0xbd,0x53,0xc0,0x6c,0x81,0x4,0xe7,0x52,0x74,0x8e,0x33,0x1c,0xb3,0x25,0xc,0x5b, + 0x29,0x8,0xa2,0x1,0xb3,0xf,0xeb,0xce,0x7a,0xeb,0x16,0xce,0x3e,0x4a,0x53,0x63, + 0xc4,0xe1,0xe9,0xd3,0x25,0xcc,0x5e,0x45,0xc9,0x59,0xd6,0x90,0x42,0x61,0xc9,0xdd, + 0x51,0x25,0xa7,0x40,0x16,0xea,0xc3,0x21,0xb8,0x21,0xc6,0xfd,0x41,0xa6,0x26,0x98, + 0x18,0x9,0xf4,0xa6,0xe0,0x82,0x84,0x52,0xde,0x16,0xda,0x40,0x5c,0x3c,0x7d,0xa8, + 0x79,0x55,0x5b,0x1c,0x7c,0x6b,0xde,0xdb,0xe5,0x23,0x46,0x68,0xb8,0xb1,0xe5,0xa1, + 0xc8,0x1f,0x1b,0xc0,0x7c,0xf6,0xce,0x84,0x61,0x5,0xab,0x40,0x78,0x8d,0x20,0x39, + 0xd2,0x88,0x71,0x63,0x18,0xb7,0x63,0xfa,0xba,0x30,0xb9,0x6f,0xee,0xcf,0xc1,0x44, + 0xc3,0x6d,0xbd,0x46,0xb0,0xfd,0xd7,0x5c,0xed,0x1d,0x1,0x0,0x3b,0x5,0xdd,0xc3, + 0x8a,0x3,0x21,0x38,0xa5,0x61,0x70,0x66,0x20,0x4,0x37,0x67,0xce,0xf5,0xba,0xdf, + 0x74,0xea,0xe6,0x42,0x9b,0x5e,0xc,0x10,0xd5,0x9c,0x69,0x6c,0x2,0x84,0x28,0x74, + 0xa0,0x25,0x96,0xea,0x9b,0xae,0xe,0x46,0x5e,0x91,0xcf,0xd7,0x5d,0x77,0x5b,0x98, + 0x6e,0x27,0xee,0x52,0x8a,0x7f,0x6a,0x6e,0xc4,0xb8,0xeb,0x30,0xc9,0xe7,0xd4,0x3e, + 0xbe,0x69,0xe6,0xe9,0x6e,0xdd,0xec,0xba,0x59,0x45,0x73,0xeb,0x77,0xbd,0x80,0xce, + 0xf6,0xcb,0xf6,0xae,0xe0,0x3e,0x2f,0x12,0x5b,0xd4,0x45,0xd2,0xff,0x5,0x45,0xbb, + 0x8d,0x71,0x7b,0xaf,0xa7,0x63,0xc,0xd7,0x6b,0x53,0x8e,0xfb,0xcb,0xcb,0x87,0x28, + 0xc9,0x1f,0x61,0xee,0xfb,0x85,0x7f,0xe4,0xf9,0xa2,0xb9,0x82,0xd4,0xb5,0xf0,0x93, + 0xdf,0xa5,0x52,0x4a,0x75,0x13,0x5f,0xdb,0xc2,0x8d,0x67,0x9d,0x16,0x1c,0x37,0x8b, + 0xad,0x29,0x4c,0xf2,0x78,0xed,0x6e,0x98,0x8d,0xd7,0x5b,0xeb,0xad,0x9e,0xe,0x9a, + 0xaf,0x8b,0xc2,0x55,0xc8,0xa2,0x8d,0x85,0xf9,0xfa,0x7f,0xea,0x6e,0x9a,0x2b,0x52, + 0x4d,0xb3,0xf6,0x9a,0x54,0x23,0x2a,0x1f,0xf2,0xc7,0xf9,0x3a,0x4d,0x6c,0xe9,0x4c, + 0xbe,0xb6,0xfb,0xa,0x7c,0xd9,0xf8,0xfe,0x3e,0x7f,0xea,0x2f,0x7f,0x4c,0x97,0x80, + 0xc6,0xb8,0xd6,0x85,0x9b,0x8c,0x6c,0xbf,0x46,0xad,0x1b,0xb6,0xaa,0x47,0x6a,0x80, + 0x6,0xc8,0x61,0x8e,0x14,0x2,0x4c,0x14,0xd7,0x9f,0xf2,0x5b,0x92,0xf8,0xe1,0xd5, + 0xc4,0xca,0xb,0xc7,0xe1,0xa8,0xf2,0x37,0xa3,0x3e,0xdb,0xa2,0x4a,0xe3,0x28,0x6b, + 0x68,0xb7,0xca,0xcb,0x74,0x5b,0x44,0x39,0xd2,0x34,0x48,0x76,0x1c,0xb9,0x7c,0x57, + 0x8c,0x70,0xd9,0x70,0xf2,0x90,0x8a,0x5e,0xbe,0xb0,0x55,0x94,0x44,0x55,0xd4,0xf2, + 0xb2,0x96,0xd4,0x9f,0x87,0x6f,0x8b,0x64,0x36,0xfd,0xe7,0xf,0x3f,0x36,0x87,0x3c, + 0x71,0x3c,0xfd,0x57,0x5e,0x7c,0xaa,0xd5,0x41,0xa0,0x87,0xa,0xd1,0x7d,0xbe,0x6, + 0x40,0x9a,0x83,0x27,0x77,0x51,0x2b,0x9e,0xba,0xd5,0x17,0x55,0x1f,0xd2,0x5,0x50, + 0xcd,0x5d,0xd1,0xfb,0xeb,0xd3,0x22,0x83,0xe5,0xd1,0x14,0x4,0x95,0xab,0xcd,0xca, + 0xb6,0x9d,0x6e,0xbb,0xad,0xaf,0x1b,0xf6,0x5e,0x59,0x4c,0xe2,0x45,0xea,0x1a,0x4d, + 0x7e,0xad,0xd2,0x2c,0xfb,0xc9,0x29,0xe9,0x1e,0x46,0x4d,0x76,0x3,0xad,0xcf,0x8b, + 0x3a,0xf3,0xb8,0x9d,0xd4,0xb3,0xf4,0x6f,0xf3,0x3d,0x33,0x65,0xd1,0xbd,0xcd,0xee, + 0x86,0xdf,0x47,0xd9,0x7f,0xd6,0x76,0x70,0x60,0xe2,0x79,0x91,0xaf,0x57,0x8b,0x3c, + 0xb1,0x3b,0x8e,0xe,0x5b,0xf0,0x76,0x9c,0xdd,0xa9,0x9c,0x7,0x26,0xe1,0x5c,0xb4, + 0x7e,0xa3,0xea,0x77,0x4e,0x90,0xa5,0x40,0xa8,0xd2,0x4a,0xbc,0x6f,0x8f,0xf0,0xe6, + 0x2d,0x28,0xcd,0x31,0x59,0x91,0x7f,0xb2,0xd3,0xb7,0x2c,0x72,0xbf,0x9b,0xed,0x6b, + 0xef,0xd5,0x94,0xaa,0xef,0x33,0xaf,0x61,0x5a,0x49,0x55,0x7f,0xe7,0xdd,0xbd,0xf9, + 0xc4,0x15,0xa2,0xa1,0xd2,0x20,0xa4,0xcc,0x10,0x86,0xcd,0xfb,0x4e,0x4f,0x7e,0xa, + 0x2e,0x93,0xea,0x9a,0x78,0x15,0x55,0xf,0x5d,0x93,0xed,0xc6,0xd7,0x1e,0xe,0xce, + 0xc0,0x30,0x53,0x30,0xd9,0xbb,0x83,0x88,0x47,0xcd,0x7b,0x5f,0xda,0x39,0x49,0xec, + 0x9f,0x96,0x5f,0x8d,0x4d,0xe9,0xd8,0xf5,0x3,0x56,0x98,0x82,0xd,0x96,0x49,0x57, + 0xf8,0xef,0x3c,0x5d,0x86,0x52,0x60,0x87,0x2d,0xb2,0x14,0xfe,0x99,0xf2,0x5a,0x96, + 0x44,0xe0,0xf2,0x8a,0x22,0xda,0x4c,0x97,0xf9,0xd2,0x76,0xa5,0xdb,0x63,0xc9,0x29, + 0x7e,0xe,0xce,0xc1,0x0,0x50,0xf8,0x65,0x0,0x3e,0xe,0xd2,0x46,0x4a,0xe8,0x88, + 0x40,0x6a,0x1,0x9,0xa4,0x26,0x83,0xef,0x7,0x12,0x71,0xc,0xa0,0xa9,0x11,0xec, + 0x73,0x29,0x27,0x6,0xb3,0x1,0x47,0x2,0x4b,0xa3,0x28,0x19,0x19,0x64,0xc,0xd6, + 0x54,0xca,0x1,0x6c,0x82,0x9,0x86,0xb0,0x4c,0x46,0xa,0x29,0x66,0x14,0x37,0x2, + 0x1a,0xb7,0x35,0x5,0xe2,0x5a,0x4b,0x45,0x65,0xdd,0xa1,0x94,0x23,0x6,0x16,0x51, + 0xc2,0x8,0x5a,0xab,0xc6,0xce,0x4a,0x46,0xc3,0x26,0x5b,0x49,0xd,0xcd,0x5b,0xf1, + 0xae,0x39,0x51,0x9d,0x51,0xb6,0xca,0xfb,0x46,0xfe,0xc7,0x20,0x98,0x61,0xea,0x33, + 0xee,0xea,0x81,0xb9,0x83,0xcd,0x76,0x39,0x39,0x47,0x0,0xa1,0xfd,0x85,0xd6,0x66, + 0xe4,0xff,0xd2,0xda,0x7e,0xe7,0x4,0xb3,0x6,0x2c,0x78,0x50,0xb0,0xb,0x11,0x2c, + 0x10,0xd6,0x51,0x41,0x20,0xa9,0x95,0x8,0x8a,0xdc,0x81,0x0,0x32,0x6c,0x4f,0xba, + 0x71,0x19,0x86,0x36,0xc2,0x18,0x13,0x76,0x5f,0x3c,0xb9,0x88,0x4d,0x19,0x6c,0x1f, + 0x49,0x67,0x9f,0xec,0x8b,0x36,0x41,0x51,0xd7,0xdf,0xcd,0x9b,0xc7,0x70,0x5d,0xb6, + 0xae,0x1f,0x7c,0x96,0x73,0x98,0x10,0x1e,0x63,0xf7,0xb7,0xb7,0xbc,0xdd,0x4c,0x81, + 0x1b,0xdd,0xbb,0x4a,0x9e,0xee,0xdc,0x5d,0xd0,0x80,0x19,0x99,0x91,0xcb,0x1d,0x25, + 0xc4,0x76,0x35,0xf8,0x19,0xd8,0xe9,0xbe,0x5a,0x4a,0x25,0x80,0x9d,0xee,0x9b,0x1b, + 0x30,0xa9,0x2b,0x84,0x27,0x25,0x5,0xb0,0xe,0xa4,0xd0,0x1,0xe7,0x4a,0x69,0xd, + 0x94,0xa7,0xda,0x7d,0xa0,0x10,0x5b,0xe9,0x41,0xb7,0x1,0x17,0x77,0xfc,0xf2,0xac, + 0x7a,0x3b,0x13,0xee,0x77,0x84,0x44,0x5d,0xeb,0x6e,0x19,0x4,0xbb,0x41,0x48,0x72, + 0x9d,0xae,0x53,0xfc,0x38,0xce,0x84,0xf6,0x53,0xc3,0xe,0xd9,0x0,0xd7,0x5e,0x54, + 0xcb,0x38,0x8,0xc3,0xdb,0x75,0xd4,0x39,0x2b,0xf4,0x78,0xba,0x53,0x6c,0x30,0x20, + 0x61,0xce,0x53,0xb8,0x4b,0x3c,0xd8,0x2d,0x61,0xe2,0x16,0xb4,0x90,0x44,0xba,0x93, + 0x18,0xcc,0x38,0xac,0xe1,0x81,0x3f,0xa1,0x35,0x42,0x38,0xff,0x21,0xa8,0xc2,0xa4, + 0x2b,0x52,0xfe,0x8e,0xe,0x20,0xeb,0x1a,0x37,0x52,0x89,0x20,0x37,0x33,0x46,0x99, + 0x4e,0x87,0x1c,0x29,0x22,0x98,0xb3,0x50,0xab,0x9a,0xb9,0xb3,0x38,0x8c,0x3b,0x1f, + 0x2f,0xe,0x96,0x73,0x78,0x23,0xd5,0x9b,0xc1,0x3,0xbd,0x67,0x3,0xff,0x5a,0xac, + 0x33,0x3b,0xb5,0x9f,0x2d,0x80,0x91,0xb4,0x4b,0x3b,0x56,0xca,0x5f,0x9c,0xc,0xc, + 0x23,0x30,0x93,0x8a,0x6b,0x79,0xde,0x1a,0xf7,0x66,0xbb,0x59,0x44,0xc5,0x27,0x5b, + 0x6c,0xd5,0x6f,0x9f,0xc7,0x65,0x15,0x15,0x55,0x20,0x59,0xa4,0x49,0xf0,0x6e,0x97, + 0x49,0xc0,0x8c,0x2b,0x79,0x88,0x9b,0xcf,0x69,0x99,0xde,0xa7,0x99,0x7b,0xf1,0x8f, + 0x99,0xbd,0x49,0xd2,0x72,0x5,0xb1,0x7f,0x9a,0x2e,0xdd,0xc0,0x6f,0x72,0x48,0xd8, + 0x66,0x59,0xfe,0x58,0x97,0xb7,0x54,0xa,0x18,0xf4,0x27,0xe0,0xaf,0x6,0x78,0xb8, + 0xe0,0x28,0xe2,0x84,0x1a,0xc,0x4b,0xb,0x7c,0x95,0x80,0xa0,0x2b,0xdd,0x9a,0x61, + 0xb0,0xcc,0x30,0xe5,0x3e,0x60,0x43,0xdc,0xc6,0x4c,0x39,0x19,0x87,0x88,0xcb,0xcd, + 0xc8,0x5d,0x4b,0xd3,0x94,0xb,0xd3,0x91,0xed,0x56,0x1c,0x31,0xdb,0xd6,0x3b,0x29, + 0xb8,0x7b,0x70,0x78,0x9c,0xcb,0x4e,0x8f,0xb0,0xba,0x4,0x35,0x10,0xc5,0x3b,0xba, + 0x61,0xad,0x1b,0xf0,0x72,0xca,0xf4,0xb8,0x88,0x8e,0xff,0x3f,0xe6,0x57,0xfa,0x29, + 0x74,0xb6,0x13,0xea,0xdc,0x34,0xdc,0x62,0x2,0x7b,0x7e,0x81,0x5,0x24,0x17,0xee, + 0x44,0x40,0x11,0xc6,0x5d,0x1a,0x2,0xcf,0x58,0x2b,0x8a,0x95,0x47,0xca,0x48,0xc8, + 0x8,0x9d,0x4c,0x62,0x77,0x13,0xc9,0x61,0xa2,0x61,0x7,0x4a,0x79,0x47,0xe6,0x30, + 0x81,0xfd,0xb4,0x31,0xdb,0xd6,0x3b,0x29,0x84,0x35,0xd,0x3b,0x7b,0xc8,0x38,0xda, + 0x1e,0x61,0xfe,0x82,0x11,0x48,0x73,0x3a,0xba,0xdd,0xad,0x42,0xc8,0x62,0x3a,0x89, + 0xf1,0x9f,0x8b,0xe2,0xb5,0xbd,0x90,0xf,0x67,0xb7,0x6e,0x3b,0xf6,0xe1,0xcd,0x7f, + 0x1,0xbd,0x78,0x13,0x16, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/speaker.svg + 0x0,0x0,0xb,0x5c, + 0x0, + 0x0,0x37,0x11,0x78,0x9c,0xed,0x5a,0x5b,0x93,0xe2,0xc6,0x15,0x7e,0xdf,0x5f,0x41, + 0xd8,0x17,0x6f,0x5,0x9a,0xbe,0x5f,0xd8,0x99,0xf5,0x83,0x5d,0x4e,0xb9,0xca,0xae, + 0xa4,0x62,0xbb,0xf2,0xe8,0xd2,0x48,0xd,0x28,0x2b,0x24,0x22,0x89,0x5,0xfc,0xeb, + 0x73,0x5a,0xa0,0x4b,0x83,0x18,0x60,0x96,0xd9,0x4d,0x52,0x99,0xd9,0xad,0x91,0xfa, + 0x76,0xfa,0x7c,0xe7,0xeb,0xd3,0xe7,0xb4,0xfa,0xe1,0xdb,0xed,0x32,0x19,0x7c,0xb2, + 0x79,0x11,0x67,0xe9,0xe3,0x90,0x20,0x3c,0x1c,0xd8,0x34,0xcc,0xa2,0x38,0x9d,0x3f, + 0xe,0x7f,0xfb,0xf5,0x87,0xb1,0x1e,0xe,0x8a,0x32,0x48,0xa3,0x20,0xc9,0x52,0xfb, + 0x38,0x4c,0xb3,0xe1,0xb7,0x1f,0xde,0x3c,0xfc,0x69,0x3c,0x1e,0x7c,0x97,0xdb,0xa0, + 0xb4,0xd1,0x60,0x13,0x97,0x8b,0xc1,0x8f,0xe9,0xc7,0x22,0xc,0x56,0x76,0xf0,0xcd, + 0xa2,0x2c,0x57,0xd3,0xc9,0x64,0xb3,0xd9,0xa0,0xf8,0x50,0x88,0xb2,0x7c,0x3e,0x79, + 0x37,0x18,0x8f,0xa1,0x67,0xf1,0x69,0xfe,0x66,0x30,0x18,0x80,0xd8,0xb4,0x98,0x46, + 0xe1,0xe3,0xf0,0xd0,0x7e,0xb5,0xce,0x93,0xaa,0x5d,0x14,0x4e,0x6c,0x62,0x97,0x36, + 0x2d,0x8b,0x9,0x41,0x64,0x32,0x6c,0x9b,0x87,0x6d,0xf3,0x8d,0x7d,0x42,0xb9,0x2d, + 0xb2,0x75,0x1e,0xee,0x87,0xf,0xc3,0x6e,0xcb,0x3c,0x9a,0xb5,0x4d,0x61,0x26,0x1b, + 0x56,0x35,0x22,0xc6,0x98,0x9,0xa6,0x13,0x4a,0xc7,0xd0,0x62,0x5c,0xec,0xd2,0x32, + 0xd8,0x8e,0xd3,0xe2,0x6d,0xa7,0x2b,0x4c,0xb0,0xaf,0x2b,0xc5,0x18,0x4f,0xa0,0xae, + 0x6d,0x79,0x5d,0xab,0xe9,0x36,0x1,0x18,0xce,0x4e,0xa6,0xaa,0xed,0x4a,0x7,0xe8, + 0x57,0xf0,0xbf,0xe9,0x50,0x17,0xa0,0xbd,0xae,0x33,0xe8,0x69,0x51,0x6a,0xcb,0xc9, + 0xf7,0xbf,0x7e,0xdf,0x54,0x8e,0x31,0x8a,0xca,0xa8,0x33,0x4c,0x8d,0xbc,0x27,0xd7, + 0x33,0x47,0x1a,0x2c,0x6d,0xb1,0xa,0x42,0x5b,0x4c,0xea,0xf2,0xaa,0xff,0x26,0x8e, + 0xca,0x5,0x30,0x41,0x56,0x6f,0xb,0x1b,0xcf,0x17,0x65,0xf3,0x1a,0x47,0x8f,0x43, + 0xd0,0x8e,0x56,0x2f,0xb5,0xf0,0x69,0x43,0x1f,0x8c,0xd8,0xbe,0xaa,0x1e,0xb1,0x5b, + 0xc5,0x5,0x22,0x55,0xa5,0xc7,0x36,0x6f,0xa0,0x28,0xb,0x9f,0x82,0x2,0x26,0x3d, + 0x59,0x64,0x4b,0x3b,0x4e,0xb2,0x30,0x48,0x26,0xab,0xe4,0xc9,0x6,0xeb,0x28,0x8b, + 0xd3,0xc9,0x2f,0x3f,0xfc,0xf4,0xb7,0x5,0xd0,0x70,0x52,0xcc,0x92,0x95,0xf7,0x30, + 0x9e,0x97,0x1f,0x27,0xab,0x78,0xbb,0xc,0x56,0xc5,0xc9,0x98,0x4e,0x55,0x98,0xf7, + 0xca,0x6,0x1f,0x6d,0x8e,0x6a,0xeb,0x34,0x73,0xcc,0xd6,0xe5,0x6a,0x5d,0xfe,0x6e, + 0xb7,0xa5,0x4d,0xf7,0x13,0x3,0x7c,0x3a,0x60,0x55,0xd5,0xae,0x5b,0x53,0x36,0xfc, + 0x0,0x3,0x3c,0x44,0x76,0x56,0xb8,0x81,0xf6,0xb0,0xb8,0x37,0x5e,0x55,0x40,0x15, + 0x18,0xd5,0x6,0xf9,0x5f,0xf2,0x20,0x8a,0x81,0xc7,0xfb,0x46,0x1d,0x89,0x61,0x96, + 0x24,0x36,0x4,0x58,0x83,0x64,0x13,0xec,0xf6,0x13,0xae,0xc7,0xf1,0xbb,0x32,0x4e, + 0xd4,0x61,0x50,0x18,0xb6,0x28,0xb3,0x55,0xdd,0x16,0x54,0x2c,0x77,0x89,0xd3,0xb, + 0xa,0xc7,0x30,0x62,0x96,0x4f,0xdf,0xe2,0xea,0xe7,0x7d,0x55,0x94,0x81,0x71,0xe3, + 0x72,0x37,0x25,0xef,0x87,0x6d,0x9f,0x6c,0x36,0x2b,0x2c,0x8,0xc6,0x9d,0xb2,0xca, + 0xa8,0xd0,0x3,0x64,0x99,0xe1,0x60,0xf2,0x79,0xd2,0x70,0x9f,0x34,0xd2,0x2b,0x8d, + 0x92,0x46,0xda,0xc3,0xc4,0x57,0xfb,0x79,0x18,0x4f,0x51,0x62,0xa,0xdf,0x80,0x52, + 0xa4,0xdc,0xef,0x4b,0x51,0x62,0x8a,0xde,0x84,0x92,0xa,0xdd,0xef,0x15,0xd2,0x7a, + 0x51,0x62,0x8a,0xdf,0xf,0x25,0x49,0xbf,0x18,0x97,0x98,0xe4,0x37,0xa1,0x34,0xab, + 0x7e,0x5e,0x8c,0x92,0x94,0xf7,0x42,0x89,0x63,0x2e,0x6e,0x40,0xa9,0x6f,0xde,0xf8, + 0x4a,0x90,0x40,0x94,0xba,0xd,0xa4,0x70,0xf6,0x14,0x3e,0x1d,0x81,0x74,0x25,0x46, + 0x20,0xcc,0xdc,0xd,0x23,0x2a,0xcd,0xd,0x18,0x91,0xe8,0xe9,0xe5,0x4c,0xe2,0x54, + 0x91,0x9b,0x40,0xea,0x93,0x76,0xb5,0x57,0x2,0x69,0xec,0x6e,0x28,0x11,0xcd,0xce, + 0xa1,0xd4,0xc8,0x23,0x5a,0x5c,0x0,0xe2,0x7a,0x40,0xcf,0xa2,0xd4,0x91,0xa6,0x2e, + 0x0,0xd1,0xe7,0x8,0x66,0x62,0xf6,0x8c,0xb4,0xcf,0x46,0x49,0xde,0xb2,0xc3,0x69, + 0xe7,0x94,0xec,0x4b,0xb9,0x44,0xe4,0x6d,0x3b,0x9c,0x83,0x99,0xf0,0x97,0x72,0x89, + 0xa8,0x97,0xee,0x70,0x97,0x2,0x85,0x2a,0x6a,0x9c,0x2e,0x72,0xb,0x51,0xee,0xdb, + 0x1e,0xd6,0x9d,0x87,0x9b,0x52,0xca,0xdb,0x61,0x88,0x8b,0xec,0x90,0xa6,0x52,0x19, + 0xd9,0x94,0xee,0xa0,0x54,0x22,0x45,0xb5,0x56,0xa4,0x1d,0x6a,0x4b,0x1f,0x87,0x54, + 0x21,0x21,0x69,0x4b,0xd8,0x9d,0x2b,0xa3,0x48,0x10,0x2a,0x70,0x5b,0x3a,0x3f,0x88, + 0xfa,0x2d,0x8d,0x4b,0x8,0x92,0xd7,0x85,0xcd,0x7f,0x71,0x81,0xe6,0x5f,0xd3,0xdf, + 0xa,0x7b,0xd2,0xea,0xd7,0x3c,0x48,0xb,0x88,0x6a,0x97,0x8f,0xc3,0x65,0x50,0xe6, + 0xf1,0xf6,0x1b,0x8c,0xb4,0x12,0x98,0x8a,0x11,0x76,0xbf,0xcd,0xb,0x92,0x52,0x2a, + 0xcc,0xe0,0x81,0x28,0x65,0xb0,0x7a,0xd7,0x62,0xdb,0x8f,0xe2,0x79,0x9,0x4,0x49, + 0x6a,0x8,0xab,0x4,0x8c,0xeb,0x97,0x31,0xc1,0x8,0x4b,0x89,0xf5,0x88,0x19,0xa4, + 0x88,0xd1,0x20,0xe1,0x36,0x95,0x1c,0x1c,0x12,0x49,0xa5,0xb0,0x51,0xda,0x3,0x8e, + 0x8,0xa4,0xb1,0xa4,0x87,0xe8,0xb8,0x6,0x19,0xa0,0xd3,0x8a,0x53,0xac,0x7d,0x83, + 0x8,0x24,0x19,0x66,0x46,0x3c,0x63,0x45,0x70,0x53,0xe2,0x2a,0x32,0x38,0x47,0x7d, + 0x91,0x55,0x17,0x70,0x74,0x6a,0x11,0x86,0xc,0xe4,0x36,0xc2,0xe7,0x3,0x50,0x87, + 0x29,0xad,0x8d,0xf2,0xd4,0x22,0x14,0x10,0x15,0x6,0x53,0x4f,0x2d,0xa,0xe0,0xa, + 0xf0,0x3f,0xea,0xa,0x6,0x8c,0x49,0x65,0x1a,0x32,0x62,0xd0,0xb,0x8,0xad,0x47, + 0x63,0x80,0x4a,0x72,0xc5,0x6e,0x35,0xc9,0x29,0x74,0x84,0x69,0xfd,0xc5,0xa0,0xeb, + 0x51,0xb1,0x74,0x8f,0x9,0x24,0xce,0xc0,0x73,0x90,0x41,0x44,0xa5,0x9c,0x92,0x94, + 0x30,0xf9,0x12,0xc2,0xbd,0x86,0x65,0x7a,0x51,0x93,0x5f,0x1c,0xb5,0x2b,0x94,0xc7, + 0x48,0x28,0xa9,0x28,0xf1,0x57,0x1b,0x47,0x18,0xd0,0x64,0xda,0x5f,0x6d,0x48,0x61, + 0xf0,0x69,0x52,0x9e,0xac,0x36,0xe,0x3,0x3c,0xe7,0x33,0x41,0x79,0x7e,0x95,0xf2, + 0x9e,0xeb,0x7d,0xd,0xca,0x40,0x9e,0x6f,0xb8,0xc2,0x4,0x38,0x3,0x8e,0x51,0xb, + 0xf0,0x52,0x2f,0xe2,0xc,0xf8,0x6c,0x26,0x14,0x11,0x1e,0x6c,0x8c,0x20,0x6,0x9b, + 0xb1,0x3e,0xa6,0xcc,0x71,0x53,0x87,0x25,0x47,0xcc,0xa8,0xae,0xd3,0xef,0x45,0x8d, + 0xfe,0x67,0xa0,0x46,0x10,0x95,0xc0,0x4b,0xe2,0x7c,0x3d,0xc1,0x58,0x9,0xfa,0x42, + 0xd0,0x34,0x15,0xda,0xf8,0xb,0x4d,0xc1,0xea,0x63,0xf0,0x4f,0x1c,0xa3,0x76,0xdc, + 0x96,0x54,0xe7,0x1d,0x98,0x3,0xdb,0xe4,0xf3,0xa8,0xe1,0x2f,0x86,0x5a,0x9f,0x78, + 0xc5,0x2f,0xc5,0xac,0xd0,0xa6,0xd5,0xe0,0xea,0x98,0xf5,0x4c,0xe0,0x76,0x31,0x66, + 0x5,0x69,0xba,0x47,0xda,0x85,0x98,0xf5,0x4c,0xe0,0x76,0xa7,0x98,0x15,0x9c,0x8b, + 0xbe,0x21,0x66,0xa5,0xf2,0x33,0xf2,0x1f,0xe2,0xce,0x36,0x6e,0xca,0x7f,0x78,0x6f, + 0xb8,0x7e,0x5d,0xcc,0x4a,0xba,0xa7,0x1b,0x9f,0x8f,0xd2,0xd9,0xf3,0x86,0x56,0x9e, + 0xe4,0xb7,0x73,0xe9,0xc,0xa0,0x57,0x70,0x49,0xf6,0x31,0xf7,0x2,0x97,0xfa,0xa4, + 0xbd,0x98,0x4b,0xaf,0x17,0xd9,0x13,0x8e,0xe5,0x8d,0x6e,0xad,0x7f,0x3,0x3c,0xb3, + 0x59,0xf6,0x6f,0xac,0xde,0x26,0x7c,0xc9,0xdd,0xbc,0xaa,0xf2,0xfa,0x46,0xe5,0x5f, + 0xbc,0x65,0x54,0xa8,0x39,0x9d,0xb9,0x61,0xc7,0x5e,0x9f,0x10,0x21,0x84,0xf1,0x40, + 0x83,0x9d,0x5a,0x6a,0x68,0xec,0x45,0xff,0xb4,0xdb,0xfa,0x6b,0xc2,0x46,0xf0,0x3d, + 0x61,0x7b,0x36,0x3e,0x71,0xb8,0x41,0x8c,0x21,0xd,0x35,0xf2,0x28,0xc8,0x70,0x70, + 0x73,0x4a,0x7c,0xb6,0x51,0x6,0x43,0x0,0x7,0xfd,0x7c,0x13,0xe2,0x5d,0x26,0x4, + 0xa3,0xaf,0x8a,0x9a,0x17,0xc5,0xf6,0xa1,0x46,0xef,0x89,0xda,0x73,0x89,0x80,0x3, + 0x4d,0x21,0x40,0xd2,0x11,0xc8,0x7,0x4d,0x20,0x43,0xa8,0x97,0xcd,0x54,0xf1,0x8, + 0x21,0x84,0x6b,0x4e,0x7c,0xd0,0x8,0x12,0x46,0x31,0x48,0xdd,0xbf,0x2a,0x6a,0xfc, + 0xf3,0x51,0xbb,0x21,0x43,0xec,0xcf,0x6d,0xce,0xe4,0x41,0xfd,0x39,0x93,0x97,0x5f, + 0x35,0xd0,0xb9,0x59,0x5,0xc9,0x5d,0xa1,0x73,0x87,0xce,0x5d,0xe8,0x7c,0x11,0x1c, + 0x8b,0xd6,0x9e,0xe1,0x16,0x26,0x65,0x10,0xd5,0x5e,0x54,0x1e,0xee,0x1e,0x87,0x6, + 0xb9,0x32,0xde,0x39,0xe0,0x99,0xf5,0xb6,0x9d,0xf5,0xb6,0xcd,0x2b,0xaf,0xa6,0xab, + 0xe2,0x1b,0xed,0x54,0xac,0x72,0x1b,0x44,0x3f,0xdb,0x72,0x91,0xb9,0xb9,0xdb,0x99, + 0xd3,0xff,0xaa,0x93,0x1e,0x30,0x1d,0xe4,0x11,0x87,0x93,0x9e,0xc3,0x8b,0xf3,0x6, + 0x58,0x70,0x3d,0x12,0x48,0x51,0x45,0xb9,0xbe,0x78,0xd2,0xf3,0x39,0xd0,0x57,0x5f, + 0x45,0xce,0xb3,0x96,0x31,0x79,0x74,0x3c,0x23,0x11,0x66,0xaa,0x9b,0xdb,0x38,0x46, + 0x31,0x24,0x19,0xc7,0x4a,0xfb,0xc9,0x1,0x78,0x43,0xa5,0x1,0x64,0x7f,0xbf,0x14, + 0x88,0x12,0x2d,0xf4,0x3d,0x7c,0x48,0x83,0xa3,0xd2,0xd2,0x30,0xca,0x47,0xed,0xd3, + 0xb8,0xb7,0xd0,0x65,0x73,0x44,0x31,0x2e,0xdc,0xc6,0x86,0x31,0x6c,0xf0,0x9c,0xbe, + 0x7b,0x4d,0x66,0x57,0x9f,0xe6,0xce,0x33,0x9b,0x41,0xee,0xe4,0x31,0x5b,0x20,0xc1, + 0xb9,0x14,0x9d,0xe3,0xc,0xc7,0x6c,0x9,0xd3,0x56,0xa,0x36,0x51,0x8f,0xd9,0xa7, + 0x6d,0x67,0xbd,0x6d,0x73,0x67,0x1f,0xa5,0xa9,0x31,0xe2,0xf4,0xf4,0xe9,0x16,0x66, + 0xaf,0x82,0xe8,0x2a,0x6b,0x48,0xa1,0xb0,0xe4,0xee,0xa8,0x92,0x53,0x20,0xb,0xad, + 0xb6,0x43,0x70,0x43,0x8c,0x57,0x7,0x99,0x9a,0x60,0x62,0x24,0xd0,0x9b,0x82,0xb, + 0x12,0x4a,0x55,0xb6,0xd0,0x6,0xf6,0xc5,0xcb,0x87,0x9a,0x77,0xb5,0xc5,0xc9,0xb7, + 0xe6,0xa3,0x2c,0x1f,0x31,0x42,0xfd,0xc4,0x96,0xfb,0x45,0xd5,0xb1,0x1,0xe8,0x73, + 0x74,0x26,0xc,0x2b,0x58,0x79,0x85,0xf7,0xd8,0x24,0x47,0x1a,0x31,0x6e,0xc,0xe3, + 0x76,0x4c,0x5f,0x17,0x26,0xf7,0xcd,0xfd,0x39,0x98,0xa8,0x9f,0xd6,0x6b,0x4,0xe9, + 0xbf,0xe6,0xea,0xe8,0x8,0x0,0xd8,0x29,0xe8,0x11,0x56,0x1c,0x8,0xc1,0x29,0xf5, + 0x37,0x67,0x6,0x85,0xe0,0xe6,0xcc,0xb5,0x5e,0xf7,0xab,0xaa,0x6e,0x6e,0xb4,0xe9, + 0xcd,0x0,0x51,0xcd,0x99,0xc6,0xc6,0x43,0x88,0xc2,0x0,0x5a,0x62,0xa9,0xbe,0xea, + 0xea,0x60,0xe4,0x15,0xf9,0x7c,0xdf,0x75,0xb7,0x87,0xe9,0x61,0xe2,0x2e,0xa5,0x54, + 0x4f,0xcd,0x75,0x18,0x77,0x17,0x26,0xfa,0x14,0xdb,0xcd,0x9b,0x46,0x4f,0x77,0xe5, + 0xe6,0x30,0xcc,0x2a,0x98,0xdb,0x2a,0xeb,0x5,0x74,0xf6,0x5f,0xb6,0xf,0x15,0x4f, + 0x59,0x1e,0xd9,0xbc,0xae,0x92,0xd5,0x8f,0x57,0x75,0x48,0x8c,0xdb,0x4b,0x3d,0x1d, + 0x63,0xb8,0x51,0x9b,0x7a,0xdc,0x5f,0x5f,0x2c,0x82,0x28,0xdb,0x80,0xee,0xc7,0x95, + 0x7f,0x64,0xd9,0xb2,0xb9,0x7f,0xd4,0xb5,0xf0,0xb6,0xca,0x52,0x29,0xa5,0xba,0xd9, + 0x5f,0xdb,0xca,0x9d,0xc3,0x7,0xc2,0x1e,0x8e,0x9b,0xc5,0xd6,0x54,0x46,0x59,0xb8, + 0x76,0xd7,0xcb,0xc6,0xeb,0xbd,0xf5,0x56,0xdb,0x93,0xee,0xeb,0x3c,0x77,0xd,0x92, + 0x60,0x67,0x41,0xdf,0xea,0x4f,0x3d,0x4c,0x73,0x3f,0xaa,0xe9,0xd6,0xde,0x91,0x6a, + 0x8a,0x8a,0x45,0xb6,0x99,0xaf,0xe3,0xc8,0x16,0xce,0xe4,0x6b,0x7b,0x2c,0xa0,0xaa, + 0x1b,0x3f,0x3d,0x65,0xdb,0xfe,0xfa,0x4d,0x9c,0x2,0x1a,0xe3,0x5a,0x16,0x6e,0x22, + 0xb2,0xe3,0x16,0xb5,0x6c,0x48,0x55,0xcf,0xb4,0x0,0x9,0x10,0xc3,0x9c,0xa9,0x4, + 0x98,0x28,0xae,0x3f,0xe5,0xb7,0x24,0xa9,0xa6,0x57,0x13,0x2b,0xcb,0x1d,0x87,0x83, + 0xb2,0xba,0x19,0xf5,0xc9,0xe6,0x65,0x1c,0x6,0x49,0x43,0xbb,0x55,0x56,0xc4,0xfb, + 0x2a,0xca,0x91,0xa6,0x5e,0xb0,0xe3,0xc8,0x55,0xd,0xc5,0x8,0x97,0xd,0x27,0x4f, + 0xa9,0x58,0x95,0x2f,0x6d,0x19,0x44,0x41,0x19,0xb4,0xbc,0xac,0x4b,0xea,0xcf,0xc3, + 0xf,0x79,0x34,0x9b,0xfe,0xfd,0xfb,0x1f,0x9a,0x43,0x9e,0x30,0x9c,0xfe,0x23,0xcb, + 0x3f,0xd6,0xe2,0x60,0xa3,0x87,0x6,0xc1,0x53,0xb6,0x6,0x40,0x9a,0x83,0x27,0x77, + 0x51,0x2b,0x9c,0xba,0xd5,0x17,0x94,0x1f,0xe2,0x25,0x50,0xcd,0xdd,0xcf,0xfb,0xf3, + 0x76,0x99,0xc0,0xf2,0x68,0x2a,0xbc,0xc6,0xe5,0x6e,0x65,0xdb,0x41,0xf7,0xc3,0xd6, + 0x77,0xd,0x7b,0xef,0x2b,0x46,0xe1,0x32,0x76,0x9d,0x26,0xbf,0x94,0x71,0x92,0xfc, + 0xe8,0x84,0x74,0xf,0xa3,0x26,0x87,0x89,0xd6,0xe7,0x45,0x1d,0x3d,0x1e,0x26,0xb5, + 0x96,0xd5,0xdb,0xfc,0xc8,0x4c,0x49,0xf0,0x64,0x93,0xc7,0xe1,0x77,0x41,0xf2,0xaf, + 0xb5,0x1d,0x9c,0x98,0x78,0x9e,0x67,0xeb,0xd5,0x32,0x8b,0xec,0x81,0xa3,0xc3,0x16, + 0xbc,0x3,0x67,0xf,0x22,0xe7,0x9e,0x49,0x20,0xe8,0x6a,0x8d,0x54,0xf6,0x7c,0x1d, + 0x85,0x8c,0x4a,0x42,0x8e,0xbb,0x4f,0xb1,0x9a,0x37,0x88,0x61,0xa0,0xa7,0x64,0x10, + 0xa2,0xbb,0x47,0x61,0xc0,0xdc,0x10,0xb0,0x34,0x6a,0xe6,0xe0,0x70,0x3b,0xb6,0xa8, + 0xd6,0xba,0xa6,0x58,0x13,0x46,0xba,0x27,0xb8,0xf9,0xf6,0x4c,0x45,0xa3,0x56,0xfe, + 0xbb,0x5b,0xbf,0x9d,0x75,0x71,0x5c,0xbb,0x3d,0xa9,0xdd,0xb9,0x5d,0x46,0x72,0x6c, + 0x4c,0x27,0xac,0x6,0x3f,0xe9,0x8a,0x89,0x90,0x54,0xc9,0xee,0xc5,0x87,0x7a,0xd5, + 0x28,0x84,0x85,0x92,0xa6,0x73,0x60,0xd3,0xac,0x6f,0x5,0x9b,0xb2,0x21,0x82,0x75, + 0x4f,0x27,0xab,0xf0,0x15,0x94,0x24,0x52,0x77,0x8f,0x11,0xf,0x47,0x86,0xfe,0xb5, + 0xa9,0x19,0x10,0x61,0xfa,0x36,0xe0,0xcd,0x4b,0xe7,0xa0,0xb2,0x7a,0xcd,0xd7,0x89, + 0x9d,0xda,0x4f,0x36,0xcd,0xa2,0xe8,0x7d,0x51,0xe6,0xd9,0x47,0x3b,0x4d,0xb3,0xd4, + 0x1e,0x9e,0xf7,0x6b,0x7f,0xa,0x38,0x43,0x3a,0x6,0x93,0xe4,0x75,0xb9,0xdb,0x95, + 0x0,0x87,0x69,0xf1,0xaf,0x75,0x90,0xdb,0x6e,0xe9,0x3f,0xb3,0x38,0x9d,0x2,0x23, + 0xd2,0xe8,0xfd,0x32,0xc8,0x3f,0xda,0x7c,0x3f,0xde,0xfe,0x79,0x5c,0x94,0x41,0x5e, + 0x7a,0x25,0xcb,0x38,0xf2,0xde,0x6d,0x1a,0x79,0x33,0x0,0x4e,0xdb,0x3c,0x89,0xe1, + 0xcf,0xb4,0x91,0x1e,0x5,0xe0,0xa8,0xf3,0x3c,0xd8,0x79,0x2d,0x5d,0xe9,0xfe,0x30, + 0x75,0x8a,0xeb,0xb2,0x56,0xdd,0x4f,0x71,0x11,0x3f,0xc5,0x89,0x7b,0xa9,0x1e,0x13, + 0xfb,0x3e,0x8a,0x8b,0x15,0x30,0x74,0x1a,0xa7,0x6e,0xe2,0xef,0x33,0x70,0x2b,0xb3, + 0x24,0xdb,0xd4,0xf5,0xdd,0xc5,0x33,0xbf,0xf,0x41,0x4e,0x69,0xee,0x82,0x73,0xea, + 0x22,0x90,0x3a,0xfb,0x3c,0xbc,0x49,0xc4,0x8d,0x82,0x4,0x6f,0x34,0x86,0xc0,0x4c, + 0x72,0x61,0x38,0x7f,0x77,0x44,0x82,0x39,0x34,0xe5,0x5d,0xf,0xb3,0xa,0xca,0x45, + 0xd7,0x63,0x1c,0x28,0xd1,0x62,0xd0,0x43,0x8e,0xa,0xc0,0x6b,0x99,0xd1,0xde,0x33, + 0xeb,0x90,0x3,0x92,0x39,0xa9,0xa8,0xd1,0x44,0x1d,0x93,0x63,0xcf,0x82,0xff,0x4d, + 0x6e,0x74,0x71,0x6,0x5b,0xfc,0x3c,0xd0,0x23,0x46,0x7,0x3f,0xd,0x88,0x1e,0x71, + 0xea,0xd5,0xc6,0x55,0xca,0x56,0x2e,0x8,0x53,0xca,0xaf,0x78,0x96,0x2a,0xfd,0x44, + 0x6b,0x29,0xd9,0x63,0xef,0xe7,0x99,0x79,0x85,0xc0,0xc3,0x4c,0x81,0x57,0xf4,0x54, + 0x41,0x72,0xd0,0xf0,0x44,0xc1,0xff,0xd3,0xec,0x8b,0xb8,0xa0,0xc9,0xbc,0xde,0xb9, + 0xe7,0xbd,0xfb,0x29,0xe7,0x42,0xf4,0xed,0xa7,0xdd,0x60,0x1f,0x76,0x3c,0x48,0xfd, + 0xb4,0x12,0x9d,0xd,0x73,0x7e,0xb2,0x87,0xd4,0x66,0x60,0x81,0xfb,0x3d,0xd1,0xe3, + 0x82,0x3f,0xd3,0x86,0x69,0xd8,0xe8,0xea,0x7b,0x53,0x87,0xb7,0xea,0x20,0x8,0xb2, + 0x4b,0xa5,0xa1,0x90,0x32,0x43,0x18,0x36,0x27,0xe,0xcd,0x9d,0x4c,0xdc,0xe4,0xd0, + 0x2a,0x6e,0x41,0x8,0xf4,0xcd,0x49,0x6,0x49,0xcd,0xbb,0x63,0xbe,0xf5,0xab,0xb5, + 0x67,0x17,0xb9,0x85,0x54,0xf7,0xa5,0x45,0x8f,0x2b,0x41,0xd4,0x18,0xc8,0xcf,0xe9, + 0x88,0x40,0xaa,0x6e,0x1c,0xe9,0x7,0xdf,0xd,0x60,0x47,0xc0,0x0,0x9a,0x1a,0x11, + 0x48,0x44,0x39,0x31,0x98,0xd,0x38,0x12,0x58,0x1a,0x45,0xc9,0xc8,0x20,0x63,0xb0, + 0xa6,0x52,0xe,0x28,0x92,0x4,0x43,0x9a,0x4b,0x46,0xa,0x29,0x66,0x14,0x37,0x2, + 0x3a,0xb7,0x2d,0x5,0xe2,0x5a,0xc3,0x4a,0x92,0xf5,0x80,0x52,0x8e,0x20,0x49,0x81, + 0x78,0xca,0x8,0x5a,0x8b,0xc6,0xce,0x4a,0x46,0x4b,0x41,0x94,0xd4,0xd0,0xbd,0x2d, + 0x3e,0x74,0x27,0xaa,0x33,0xcb,0x56,0x78,0xdf,0xcc,0xff,0x18,0xf4,0x3a,0x19,0xe6, + 0x3e,0x14,0x7a,0xee,0xcc,0x8f,0xdc,0x6e,0xb2,0x36,0x23,0xff,0x95,0xd6,0xae,0x43, + 0x39,0xc0,0x82,0x7b,0x15,0x87,0xf0,0x8f,0x79,0x85,0x75,0xbc,0x28,0x90,0xd4,0x4a, + 0x78,0x55,0xee,0x80,0x1d,0x19,0x76,0x54,0xba,0x73,0x19,0xbb,0x86,0xc0,0xd2,0x18, + 0x7f,0xf8,0x7d,0xf0,0x4b,0x99,0x34,0x8c,0x48,0xdf,0x99,0xef,0x3,0xe6,0xa6,0xaa, + 0xc7,0xff,0x9c,0xac,0xcb,0x36,0x95,0x82,0x1c,0xc0,0x25,0x20,0x90,0x6e,0x86,0xee, + 0xa7,0x27,0x68,0x5,0x6e,0x74,0x37,0xc1,0x8a,0xee,0xdc,0x5d,0x78,0x4,0x8d,0xcc, + 0xc8,0x9d,0xc5,0x48,0xc8,0x95,0x15,0x6c,0x33,0x12,0xb9,0x5b,0x40,0x12,0xc2,0x7c, + 0x86,0xdc,0x1d,0x16,0x60,0x52,0xb7,0x10,0x9e,0x94,0x14,0xc0,0x3a,0x28,0x85,0x1, + 0x38,0x57,0x4a,0x6b,0xa0,0x3c,0xd5,0xee,0x83,0xbf,0xd8,0x97,0x9e,0xc,0xeb,0x71, + 0xf1,0xc0,0xaf,0x7d,0x8c,0x3c,0x13,0xee,0xf7,0xc,0x89,0xfa,0x22,0x62,0x9,0xbb, + 0xa4,0x93,0x75,0x89,0x1f,0xe7,0x99,0xd0,0x7e,0xba,0x9f,0xef,0x93,0x30,0xf8,0xf3, + 0xe0,0xd2,0xc2,0xf,0x6f,0xfe,0xd,0xeb,0x45,0x37,0x2d, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/sflphone.svg + 0x0,0x0,0x52,0xa1, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x35,0x38,0x37,0x35,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73, + 0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x34,0x36,0x22,0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e, + 0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x73,0x66,0x6c,0x70, + 0x68,0x6f,0x6e,0x65,0x34,0x2e,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x65,0x78, + 0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x6f,0x72,0x67,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75,0x74,0x70,0x75,0x74,0x2e,0x73,0x76,0x67, + 0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22,0x3e,0xa,0x20,0x20,0x3c,0x64, + 0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x64,0x65,0x66, + 0x73,0x35,0x38,0x37,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x30,0x33,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f, + 0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x33,0x38,0x30,0x35,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f, + 0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x33,0x38,0x30,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38, + 0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66, + 0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x38,0x36,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x38,0x38,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f, + 0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x34,0x36,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a, + 0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36, + 0x37,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x35,0x39,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x36,0x31,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x36,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a, + 0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x35,0x38, + 0x35,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74, + 0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66, + 0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x35,0x38,0x35,0x34, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63, + 0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65, + 0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x35,0x38,0x35,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31, + 0x3d,0x22,0x34,0x37,0x36,0x2e,0x33,0x31,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x34,0x33,0x39,0x2e,0x30,0x32,0x39,0x33,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x34,0x37,0x37,0x2e, + 0x33,0x31,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x35,0x31,0x34,0x2e,0x34,0x32,0x31,0x38,0x38,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73, + 0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74, + 0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x35, + 0x30,0x30,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73, + 0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23, + 0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x35,0x30,0x30, + 0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72, + 0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x35,0x38,0x36,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73, + 0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x36,0x39,0x38,0x2e,0x33,0x38,0x35, + 0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x32, + 0x34,0x35,0x2e,0x35,0x34,0x37,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x37,0x30,0x32,0x2e,0x38,0x31,0x39,0x36,0x34,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x37,0x37,0x2e,0x37,0x38, + 0x33,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f, + 0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x34,0x39,0x39,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f, + 0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x34,0x39,0x39,0x35,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37, + 0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x78,0x3d,0x22,0x37,0x33, + 0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x79,0x3d,0x22, + 0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x72,0x3d,0x22,0x39,0x31,0x2e,0x39,0x36,0x34,0x32,0x30,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54, + 0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78, + 0x28,0x31,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x38,0x30,0x39,0x37,0x30,0x38,0x36, + 0x2c,0x30,0x2c,0x39,0x39,0x2e,0x31,0x34,0x31,0x38,0x34,0x29,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69, + 0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55, + 0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30, + 0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30, + 0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x37,0x34,0x34,0x2e, + 0x30,0x39,0x34,0x34,0x38,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30, + 0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f, + 0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x33,0x37,0x32,0x2e,0x30,0x34,0x37,0x32,0x34, + 0x20,0x3a,0x20,0x33,0x35,0x30,0x2e,0x37,0x38,0x37,0x33,0x39,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72, + 0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x35,0x38,0x38,0x33,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c, + 0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69, + 0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x35,0x39,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x37,0x33,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x33,0x35,0x32,0x2e,0x31,0x39,0x34,0x39, + 0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x34,0x35, + 0x31,0x2e,0x35,0x35,0x32,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x31,0x30,0x36,0x2e,0x33,0x34,0x30,0x33,0x38,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x36,0x35,0x38,0x2e,0x33,0x39, + 0x35,0x39,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53, + 0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66, + 0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x6c,0x61,0x74,0x65,0x28,0x2d, + 0x33,0x2e,0x38,0x32,0x36,0x38,0x31,0x39,0x36,0x2c,0x2d,0x31,0x2e,0x37,0x33,0x39, + 0x34,0x36,0x33,0x34,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74, + 0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70, + 0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x32,0x34,0x32,0x32,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22, + 0x33,0x37,0x32,0x2e,0x30,0x34,0x37,0x32,0x34,0x20,0x3a,0x20,0x33,0x35,0x30,0x2e, + 0x37,0x38,0x37,0x33,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d, + 0x22,0x37,0x34,0x34,0x2e,0x30,0x39,0x34,0x34,0x38,0x20,0x3a,0x20,0x35,0x32,0x36, + 0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79, + 0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38, + 0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63, + 0x74,0x69,0x76,0x65,0x32,0x34,0x33,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33, + 0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x31,0x36,0x38,0x2e,0x35,0x20, + 0x3a,0x20,0x31,0x30,0x39,0x2e,0x33,0x33,0x33,0x33,0x33,0x20,0x3a,0x20,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x33,0x33,0x37,0x20,0x3a,0x20,0x31,0x36,0x34, + 0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20, + 0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22, + 0x30,0x20,0x3a,0x20,0x31,0x36,0x34,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70, + 0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73, + 0x70,0x33,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22, + 0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x36,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36, + 0x37,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x2d, + 0x32,0x30,0x2e,0x36,0x35,0x37,0x39,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x32,0x34,0x34,0x2e,0x34,0x31,0x33,0x35,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x38,0x34, + 0x2e,0x35,0x37,0x39,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x32,0x3d,0x22,0x37,0x38,0x39,0x2e,0x36,0x31,0x34,0x36,0x39,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69, + 0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55, + 0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x70,0x72,0x65,0x61, + 0x64,0x4d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c, + 0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69, + 0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x39,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32,0x2e,0x39,0x38,0x37,0x37,0x38, + 0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x38, + 0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30,0x32,0x38,0x31,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x39,0x2e,0x35,0x30, + 0x30,0x36,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72, + 0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x35,0x31,0x34,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x70,0x72,0x65,0x61,0x64,0x4d,0x65, + 0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x31,0x3d,0x22,0x2d,0x32,0x30,0x2e,0x36,0x35,0x37,0x39,0x32,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x32,0x34, + 0x34,0x2e,0x34,0x31,0x33,0x35,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x31,0x38,0x34,0x2e,0x35,0x37,0x39,0x31,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x37,0x38,0x39,0x2e,0x36,0x31, + 0x34,0x36,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x61,0x64, + 0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22, + 0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x39,0x39,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x32, + 0x39,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70, + 0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f, + 0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30,0x2c,0x30, + 0x2c,0x30,0x2e,0x38,0x30,0x39,0x37,0x30,0x38,0x36,0x2c,0x30,0x2c,0x39,0x39,0x2e, + 0x31,0x34,0x31,0x38,0x34,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63, + 0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x63,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x79,0x3d,0x22,0x36,0x34,0x30, + 0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72, + 0x3d,0x22,0x39,0x31,0x2e,0x39,0x36,0x34,0x32,0x30,0x33,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e, + 0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73, + 0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x36,0x39,0x38, + 0x2e,0x33,0x38,0x35,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x31,0x3d,0x22,0x32,0x34,0x35,0x2e,0x35,0x34,0x37,0x32,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x37,0x30,0x32,0x2e,0x38,0x31,0x39,0x36, + 0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x37, + 0x37,0x2e,0x37,0x38,0x33,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72, + 0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x35,0x33,0x30,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73, + 0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32,0x2e,0x39,0x38,0x37,0x37, + 0x38,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d, + 0x38,0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30,0x32,0x38,0x31,0x33,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x39,0x2e,0x35, + 0x30,0x30,0x36,0x38,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f, + 0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66, + 0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x34,0x36,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x35,0x33,0x30,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72, + 0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35,0x32,0x2e,0x39,0x38,0x37,0x37,0x38,0x32, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x38,0x34, + 0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e,0x30,0x32,0x38,0x31,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x39,0x2e,0x35,0x30,0x30, + 0x36,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d, + 0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c, + 0x30,0x2c,0x30,0x2c,0x30,0x2e,0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c,0x30,0x2e, + 0x38,0x36,0x35,0x31,0x33,0x33,0x37,0x2c,0x30,0x2e,0x34,0x33,0x35,0x32,0x38,0x32, + 0x38,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38, + 0x30,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x30, + 0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x31,0x32, + 0x2e,0x36,0x36,0x33,0x34,0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x79,0x31,0x3d,0x22,0x38,0x2e,0x35,0x33,0x30,0x31,0x38,0x32,0x38,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x34,0x31,0x2e,0x38,0x35,0x38, + 0x36,0x35,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22, + 0x35,0x37,0x2e,0x35,0x33,0x33,0x32,0x37,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69, + 0x78,0x28,0x31,0x2e,0x30,0x30,0x35,0x34,0x35,0x31,0x38,0x2c,0x30,0x2c,0x30,0x2c, + 0x31,0x2e,0x30,0x30,0x35,0x34,0x35,0x31,0x38,0x2c,0x2d,0x34,0x2e,0x37,0x31,0x36, + 0x35,0x31,0x30,0x36,0x65,0x2d,0x33,0x2c,0x2d,0x30,0x2e,0x34,0x33,0x34,0x35,0x36, + 0x38,0x32,0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x64,0x65,0x66,0x73, + 0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x61, + 0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x62,0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65, + 0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x63,0x6f,0x6c,0x6f,0x72, + 0x3d,0x22,0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x62,0x6f,0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x31, + 0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x69,0x64,0x74,0x6f,0x6c, + 0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30,0x30,0x30,0x30,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x67,0x75,0x69,0x64,0x65,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e, + 0x63,0x65,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x6f,0x62,0x6a, + 0x65,0x63,0x74,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f,0x77,0x3d,0x22,0x32,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x7a,0x6f,0x6f, + 0x6d,0x3d,0x22,0x34,0x2e,0x36,0x35,0x32,0x37,0x36,0x37,0x32,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x78,0x3d,0x22, + 0x37,0x31,0x2e,0x31,0x32,0x35,0x39,0x30,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x79,0x3d,0x22,0x35,0x39,0x2e, + 0x36,0x34,0x31,0x33,0x31,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75, + 0x6e,0x69,0x74,0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x2d, + 0x6c,0x61,0x79,0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x32,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69,0x64,0x3d,0x22,0x66,0x61, + 0x6c,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d, + 0x22,0x31,0x39,0x31,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x68,0x65,0x69,0x67, + 0x68,0x74,0x3d,0x22,0x31,0x30,0x36,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x78, + 0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22,0x33,0x36,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65,0x73, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f,0x78, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x6d,0x65, + 0x74,0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x35,0x38,0x38,0x30,0x22,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22, + 0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66, + 0x6f,0x72,0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b, + 0x78,0x6d,0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a, + 0x72,0x65,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d, + 0x69,0x74,0x79,0x70,0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63, + 0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x49,0x63,0xc3,0xb4,0x6e,0x65,0x20,0x53,0x46, + 0x4c,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x64,0x61,0x74,0x65,0x3e,0x32,0x30, + 0x30,0x39,0x2d,0x30,0x34,0x2d,0x32,0x39,0x3c,0x2f,0x64,0x63,0x3a,0x64,0x61,0x74, + 0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x63, + 0x72,0x65,0x61,0x74,0x6f,0x72,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x69,0x74, + 0x6c,0x65,0x3e,0x4a,0xc3,0xa9,0x72,0xc3,0xb4,0x6d,0x65,0x20,0x4f,0x75,0x66,0x65, + 0x6c,0x6c,0x61,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x41,0x67, + 0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64, + 0x63,0x3a,0x63,0x72,0x65,0x61,0x74,0x6f,0x72,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x72,0x69,0x67,0x68,0x74,0x73,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x41,0x67,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x28,0x63,0x29,0x20,0x32,0x30, + 0x30,0x39,0x20,0x53,0x61,0x76,0x6f,0x69,0x72,0x2d,0x66,0x61,0x69,0x72,0x65,0x20, + 0x4c,0x69,0x6e,0x75,0x78,0x20,0x69,0x6e,0x63,0x2e,0x3c,0x2f,0x64,0x63,0x3a,0x74, + 0x69,0x74,0x6c,0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x63,0x3a,0x72,0x69,0x67,0x68,0x74,0x73,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x73,0x75,0x62, + 0x6a,0x65,0x63,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x72,0x64,0x66,0x3a,0x42,0x61,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x6c,0x69,0x3e,0x73,0x66, + 0x6c,0x20,0x69,0x63,0x6f,0x6e,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x6c,0x69,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a, + 0x42,0x61,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64, + 0x63,0x3a,0x73,0x75,0x62,0x6a,0x65,0x63,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65, + 0x6c,0x3d,0x22,0x43,0x69,0x72,0x63,0x6c,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f, + 0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e, + 0x73,0x6c,0x61,0x74,0x65,0x28,0x2d,0x31,0x38,0x32,0x2e,0x31,0x35,0x39,0x37,0x33, + 0x2c,0x2d,0x34,0x32,0x38,0x2e,0x38,0x30,0x37,0x36,0x33,0x29,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70,0x6c,0x61, + 0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67,0x35,0x38,0x36,0x38, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f, + 0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x36,0x34,0x35, + 0x33,0x39,0x30,0x37,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x36,0x34,0x35,0x33,0x39, + 0x30,0x37,0x2c,0x2d,0x38,0x36,0x2e,0x31,0x30,0x33,0x30,0x37,0x34,0x2c,0x31,0x34, + 0x38,0x2e,0x30,0x31,0x35,0x31,0x37,0x29,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69, + 0x78,0x28,0x30,0x2e,0x39,0x39,0x35,0x39,0x35,0x36,0x36,0x2c,0x30,0x2c,0x30,0x2c, + 0x31,0x2e,0x32,0x32,0x30,0x32,0x31,0x31,0x37,0x2c,0x31,0x2e,0x36,0x38,0x36,0x31, + 0x30,0x34,0x33,0x2c,0x2d,0x31,0x33,0x36,0x2e,0x35,0x33,0x31,0x32,0x35,0x29,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x36, + 0x30,0x32,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20,0x41,0x20,0x39,0x32,0x2e,0x35,0x2c, + 0x37,0x35,0x2e,0x35,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x34,0x31,0x37,0x2c,0x35, + 0x34,0x34,0x2e,0x35,0x20,0x41,0x20,0x39,0x32,0x2e,0x35,0x2c,0x37,0x35,0x2e,0x35, + 0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x36,0x30,0x32,0x2c,0x35,0x34,0x34,0x2e,0x35, + 0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64, + 0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x37,0x35,0x2e,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64, + 0x69,0x3a,0x72,0x78,0x3d,0x22,0x39,0x32,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x79, + 0x3d,0x22,0x35,0x34,0x34,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x78,0x3d,0x22,0x35, + 0x30,0x39,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39,0x38,0x37,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c, + 0x6c,0x3a,0x23,0x30,0x30,0x32,0x35,0x32,0x62,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75, + 0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79, + 0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72, + 0x69,0x78,0x28,0x30,0x2e,0x39,0x32,0x30,0x30,0x38,0x35,0x33,0x2c,0x30,0x2c,0x30, + 0x2c,0x31,0x2e,0x31,0x34,0x30,0x36,0x35,0x33,0x37,0x2c,0x2d,0x31,0x36,0x38,0x2e, + 0x35,0x31,0x36,0x38,0x33,0x2c,0x2d,0x36,0x36,0x2e,0x34,0x30,0x36,0x35,0x35,0x37, + 0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d, + 0x20,0x38,0x32,0x37,0x2c,0x35,0x32,0x31,0x20,0x41,0x20,0x39,0x30,0x2e,0x35,0x2c, + 0x37,0x33,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x36,0x34,0x36,0x2c,0x35,0x32,0x31, + 0x20,0x41,0x20,0x39,0x30,0x2e,0x35,0x2c,0x37,0x33,0x20,0x30,0x20,0x31,0x20,0x31, + 0x20,0x38,0x32,0x37,0x2c,0x35,0x32,0x31,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79, + 0x3d,0x22,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d,0x22,0x39,0x30,0x2e,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d,0x22,0x35,0x32,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63, + 0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39,0x38,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x38,0x33,0x30,0x36,0x34, + 0x35,0x31,0x35,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x72,0x61, + 0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39,0x37, + 0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f, + 0x64,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39, + 0x39,0x29,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a, + 0x32,0x2e,0x39,0x32,0x38,0x33,0x39,0x39,0x33,0x32,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a, + 0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x61, + 0x72,0x63,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa, + 0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d, + 0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x33,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c, + 0x3d,0x22,0x42,0x67,0x20,0x6c,0x6f,0x67,0x6f,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69, + 0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74, + 0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23, + 0x30,0x30,0x36,0x66,0x38,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a, + 0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23, + 0x30,0x30,0x36,0x66,0x38,0x32,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69, + 0x64,0x74,0x68,0x3a,0x31,0x2e,0x30,0x34,0x35,0x36,0x36,0x39,0x37,0x39,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x63,0x61,0x70,0x3a,0x72,0x6f, + 0x75,0x6e,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a, + 0x6f,0x69,0x6e,0x3a,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e, + 0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c, + 0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d, + 0x20,0x31,0x30,0x2e,0x35,0x35,0x31,0x31,0x34,0x2c,0x36,0x32,0x2e,0x30,0x33,0x33, + 0x36,0x39,0x35,0x20,0x4c,0x20,0x31,0x30,0x2e,0x35,0x34,0x35,0x38,0x37,0x32,0x2c, + 0x35,0x39,0x2e,0x36,0x33,0x31,0x38,0x32,0x31,0x20,0x4c,0x20,0x31,0x31,0x2e,0x33, + 0x32,0x39,0x36,0x35,0x36,0x2c,0x36,0x33,0x2e,0x35,0x33,0x33,0x36,0x36,0x20,0x4c, + 0x20,0x31,0x31,0x2e,0x33,0x32,0x31,0x30,0x38,0x38,0x2c,0x35,0x39,0x2e,0x36,0x33, + 0x30,0x36,0x32,0x31,0x20,0x4c,0x20,0x31,0x32,0x2e,0x36,0x32,0x31,0x34,0x35,0x38, + 0x2c,0x36,0x33,0x2e,0x34,0x33,0x31,0x35,0x38,0x35,0x20,0x4c,0x20,0x31,0x32,0x2e, + 0x36,0x31,0x31,0x35,0x38,0x34,0x2c,0x35,0x38,0x2e,0x39,0x32,0x38,0x30,0x37,0x34, + 0x20,0x4c,0x20,0x31,0x33,0x2e,0x36,0x35,0x37,0x37,0x32,0x32,0x2c,0x36,0x34,0x2e, + 0x36,0x33,0x30,0x39,0x31,0x34,0x20,0x4c,0x20,0x31,0x33,0x2e,0x38,0x39,0x37,0x30, + 0x31,0x39,0x2c,0x35,0x35,0x2e,0x39,0x32,0x33,0x37,0x33,0x35,0x20,0x4c,0x20,0x31, + 0x34,0x2e,0x36,0x39,0x36,0x31,0x38,0x33,0x2c,0x36,0x36,0x2e,0x38,0x33,0x31,0x30, + 0x32,0x39,0x20,0x4c,0x20,0x31,0x35,0x2e,0x39,0x35,0x39,0x30,0x30,0x38,0x2c,0x35, + 0x33,0x2e,0x35,0x31,0x38,0x36,0x35,0x33,0x20,0x4c,0x20,0x31,0x36,0x2e,0x32,0x35, + 0x32,0x33,0x31,0x31,0x2c,0x36,0x39,0x2e,0x34,0x33,0x30,0x36,0x36,0x32,0x20,0x4c, + 0x20,0x31,0x37,0x2e,0x32,0x35,0x38,0x32,0x37,0x39,0x2c,0x35,0x36,0x2e,0x38,0x31, + 0x39,0x32,0x32,0x37,0x20,0x4c,0x20,0x31,0x38,0x2e,0x30,0x35,0x32,0x38,0x31,0x38, + 0x2c,0x36,0x35,0x2e,0x36,0x32,0x34,0x38,0x38,0x34,0x20,0x4c,0x20,0x31,0x38,0x2e, + 0x35,0x35,0x31,0x38,0x34,0x34,0x2c,0x35,0x37,0x2e,0x35,0x31,0x37,0x37,0x37,0x20, + 0x4c,0x20,0x31,0x39,0x2e,0x33,0x34,0x37,0x39,0x31,0x38,0x2c,0x36,0x37,0x2e,0x30, + 0x32,0x33,0x39,0x37,0x35,0x20,0x4c,0x20,0x31,0x39,0x2e,0x38,0x33,0x33,0x35,0x34, + 0x36,0x2c,0x35,0x32,0x2e,0x38,0x31,0x32,0x31,0x31,0x32,0x20,0x4c,0x20,0x32,0x31, + 0x2e,0x34,0x32,0x34,0x38,0x32,0x33,0x2c,0x37,0x31,0x2e,0x34,0x32,0x34,0x32,0x31, + 0x20,0x4c,0x20,0x32,0x30,0x2e,0x38,0x35,0x36,0x34,0x31,0x2c,0x34,0x37,0x2e,0x39, + 0x30,0x36,0x36,0x38,0x35,0x20,0x4c,0x20,0x32,0x33,0x2e,0x37,0x36,0x30,0x35,0x37, + 0x35,0x2c,0x37,0x36,0x2e,0x30,0x32,0x34,0x31,0x38,0x38,0x20,0x4c,0x20,0x32,0x32, + 0x2e,0x39,0x32,0x34,0x31,0x30,0x32,0x2c,0x34,0x38,0x2e,0x31,0x30,0x33,0x36,0x33, + 0x39,0x20,0x4c,0x20,0x32,0x35,0x2e,0x33,0x31,0x32,0x30,0x39,0x37,0x2c,0x37,0x36, + 0x2e,0x35,0x32,0x32,0x31,0x37,0x31,0x20,0x4c,0x20,0x32,0x34,0x2e,0x32,0x31,0x33, + 0x39,0x32,0x35,0x2c,0x34,0x37,0x2e,0x31,0x30,0x30,0x38,0x35,0x37,0x20,0x4c,0x20, + 0x32,0x35,0x2e,0x38,0x31,0x34,0x32,0x30,0x34,0x2c,0x36,0x39,0x2e,0x38,0x31,0x36, + 0x31,0x35,0x35,0x20,0x4c,0x20,0x32,0x36,0x2e,0x32,0x39,0x39,0x31,0x37,0x37,0x2c, + 0x35,0x35,0x2e,0x33,0x30,0x34,0x30,0x34,0x36,0x20,0x4c,0x20,0x32,0x37,0x2e,0x31, + 0x30,0x35,0x37,0x39,0x2c,0x36,0x39,0x2e,0x36,0x31,0x33,0x39,0x39,0x38,0x20,0x4c, + 0x20,0x32,0x38,0x2e,0x31,0x30,0x30,0x35,0x34,0x36,0x2c,0x35,0x31,0x2e,0x38,0x39, + 0x38,0x35,0x39,0x35,0x20,0x4c,0x20,0x32,0x38,0x2e,0x31,0x33,0x33,0x34,0x38,0x36, + 0x2c,0x36,0x36,0x2e,0x39,0x31,0x30,0x32,0x38,0x32,0x20,0x4c,0x20,0x32,0x39,0x2e, + 0x33,0x38,0x33,0x38,0x30,0x32,0x2c,0x34,0x37,0x2e,0x38,0x39,0x33,0x34,0x37,0x35, + 0x20,0x4c,0x20,0x32,0x39,0x2e,0x31,0x37,0x34,0x37,0x39,0x2c,0x37,0x30,0x2e,0x34, + 0x31,0x31,0x34,0x32,0x34,0x20,0x4c,0x20,0x33,0x30,0x2e,0x34,0x32,0x32,0x36,0x39, + 0x2c,0x35,0x30,0x2e,0x32,0x39,0x33,0x37,0x34,0x33,0x20,0x4c,0x20,0x33,0x30,0x2e, + 0x39,0x39,0x35,0x39,0x32,0x36,0x2c,0x37,0x36,0x2e,0x30,0x31,0x32,0x39,0x37,0x37, + 0x20,0x4c,0x20,0x33,0x32,0x2e,0x34,0x37,0x39,0x36,0x31,0x38,0x2c,0x34,0x35,0x2e, + 0x35,0x38,0x36,0x38,0x37,0x36,0x20,0x4c,0x20,0x33,0x32,0x2e,0x38,0x31,0x30,0x32, + 0x35,0x39,0x2c,0x37,0x38,0x2e,0x35,0x31,0x32,0x31,0x33,0x20,0x4c,0x20,0x33,0x34, + 0x2e,0x30,0x32,0x32,0x35,0x38,0x33,0x2c,0x34,0x32,0x2e,0x31,0x38,0x31,0x38,0x32, + 0x31,0x20,0x4c,0x20,0x33,0x34,0x2e,0x36,0x32,0x33,0x36,0x39,0x39,0x2c,0x38,0x30, + 0x2e,0x36,0x31,0x30,0x39,0x35,0x34,0x20,0x4c,0x20,0x33,0x35,0x2e,0x35,0x36,0x37, + 0x35,0x32,0x39,0x2c,0x33,0x39,0x2e,0x36,0x37,0x37,0x34,0x36,0x39,0x20,0x4c,0x20, + 0x33,0x36,0x2e,0x31,0x37,0x37,0x34,0x34,0x2c,0x38,0x32,0x2e,0x31,0x30,0x39,0x37, + 0x20,0x4c,0x20,0x33,0x36,0x2e,0x38,0x35,0x36,0x37,0x30,0x38,0x2c,0x33,0x38,0x2e, + 0x33,0x37,0x34,0x34,0x35,0x37,0x20,0x4c,0x20,0x33,0x38,0x2e,0x32,0x35,0x30,0x31, + 0x36,0x35,0x2c,0x38,0x34,0x2e,0x36,0x30,0x38,0x34,0x36,0x35,0x20,0x4c,0x20,0x33, + 0x38,0x2e,0x31,0x35,0x39,0x32,0x37,0x37,0x2c,0x34,0x33,0x2e,0x31,0x37,0x36,0x31, + 0x39,0x36,0x20,0x4c,0x20,0x33,0x39,0x2e,0x32,0x37,0x35,0x32,0x32,0x36,0x2c,0x38, + 0x30,0x2e,0x37,0x30,0x33,0x38,0x33,0x32,0x20,0x4c,0x20,0x33,0x39,0x2e,0x37,0x32, + 0x30,0x30,0x33,0x2c,0x34,0x37,0x2e,0x38,0x37,0x37,0x34,0x35,0x38,0x20,0x4c,0x20, + 0x34,0x30,0x2e,0x35,0x35,0x37,0x36,0x30,0x31,0x2c,0x37,0x36,0x2e,0x32,0x39,0x38, + 0x33,0x39,0x35,0x20,0x4c,0x20,0x34,0x31,0x2e,0x30,0x32,0x32,0x35,0x38,0x39,0x2c, + 0x35,0x32,0x2e,0x36,0x37,0x39,0x32,0x20,0x4c,0x20,0x34,0x32,0x2e,0x33,0x36,0x31, + 0x31,0x36,0x33,0x2c,0x37,0x33,0x2e,0x38,0x39,0x33,0x37,0x32,0x20,0x4c,0x20,0x34, + 0x32,0x2e,0x35,0x37,0x35,0x32,0x32,0x31,0x2c,0x35,0x33,0x2e,0x36,0x37,0x37,0x35, + 0x37,0x34,0x20,0x4c,0x20,0x34,0x33,0x2e,0x33,0x39,0x34,0x31,0x32,0x36,0x2c,0x37, + 0x33,0x2e,0x35,0x39,0x31,0x38,0x39,0x20,0x4c,0x20,0x34,0x34,0x2e,0x31,0x32,0x38, + 0x30,0x37,0x32,0x2c,0x35,0x34,0x2e,0x37,0x37,0x36,0x30,0x33,0x31,0x20,0x4c,0x20, + 0x34,0x35,0x2e,0x31,0x39,0x37,0x34,0x37,0x37,0x2c,0x37,0x31,0x2e,0x30,0x38,0x37, + 0x31,0x34,0x38,0x20,0x4c,0x20,0x34,0x34,0x2e,0x36,0x34,0x36,0x34,0x32,0x2c,0x35, + 0x35,0x2e,0x34,0x37,0x35,0x37,0x37,0x37,0x20,0x4c,0x20,0x34,0x36,0x2e,0x37,0x34, + 0x36,0x31,0x35,0x37,0x2c,0x37,0x30,0x2e,0x32,0x38,0x34,0x31,0x31,0x35,0x20,0x4c, + 0x20,0x34,0x36,0x2e,0x32,0x30,0x31,0x34,0x36,0x32,0x2c,0x35,0x37,0x2e,0x35,0x37, + 0x35,0x30,0x31,0x33,0x20,0x4c,0x20,0x34,0x37,0x2e,0x37,0x36,0x36,0x33,0x38,0x37, + 0x2c,0x36,0x34,0x2e,0x31,0x37,0x37,0x37,0x35,0x33,0x20,0x4c,0x20,0x34,0x38,0x2e, + 0x31,0x35,0x37,0x33,0x37,0x34,0x2c,0x33,0x33,0x2e,0x35,0x35,0x39,0x36,0x34,0x34, + 0x20,0x4c,0x20,0x34,0x39,0x2e,0x35,0x37,0x34,0x37,0x38,0x36,0x2c,0x36,0x33,0x2e, + 0x39,0x37,0x34,0x37,0x39,0x38,0x20,0x4c,0x20,0x34,0x39,0x2e,0x37,0x33,0x37,0x30, + 0x34,0x34,0x2c,0x32,0x39,0x2e,0x30,0x35,0x37,0x31,0x39,0x32,0x20,0x4c,0x20,0x35, + 0x30,0x2e,0x36,0x30,0x38,0x38,0x34,0x38,0x2c,0x36,0x34,0x2e,0x31,0x37,0x33,0x33, + 0x35,0x32,0x20,0x4c,0x20,0x35,0x32,0x2e,0x30,0x37,0x32,0x31,0x34,0x36,0x2c,0x33, + 0x33,0x2e,0x33,0x36,0x32,0x32,0x32,0x34,0x20,0x4c,0x20,0x35,0x32,0x2e,0x32,0x33, + 0x37,0x39,0x35,0x37,0x2c,0x38,0x32,0x2e,0x32,0x30,0x35,0x34,0x35,0x20,0x4c,0x20, + 0x35,0x33,0x2e,0x36,0x31,0x38,0x34,0x30,0x34,0x2c,0x33,0x31,0x2e,0x34,0x35,0x35, + 0x39,0x39,0x33,0x20,0x4c,0x20,0x35,0x34,0x2e,0x32,0x36,0x39,0x36,0x30,0x34,0x2c, + 0x38,0x33,0x2e,0x38,0x30,0x31,0x32,0x31,0x20,0x4c,0x20,0x35,0x34,0x2e,0x37,0x30, + 0x34,0x33,0x30,0x37,0x2c,0x32,0x38,0x2e,0x35,0x34,0x36,0x31,0x36,0x39,0x20,0x4c, + 0x20,0x35,0x36,0x2e,0x35,0x36,0x39,0x37,0x33,0x31,0x2c,0x38,0x39,0x2e,0x39,0x39, + 0x32,0x35,0x32,0x31,0x20,0x4c,0x20,0x35,0x36,0x2e,0x32,0x33,0x33,0x36,0x35,0x31, + 0x2c,0x32,0x37,0x2e,0x38,0x34,0x33,0x32,0x35,0x20,0x4c,0x20,0x35,0x38,0x2e,0x31, + 0x30,0x36,0x30,0x35,0x38,0x2c,0x39,0x32,0x2e,0x34,0x37,0x35,0x30,0x38,0x38,0x20, + 0x4c,0x20,0x35,0x38,0x2e,0x32,0x33,0x37,0x36,0x31,0x35,0x2c,0x32,0x35,0x2e,0x37, + 0x33,0x34,0x33,0x39,0x33,0x20,0x4c,0x20,0x35,0x39,0x2e,0x34,0x36,0x32,0x30,0x31, + 0x38,0x2c,0x39,0x34,0x2e,0x38,0x37,0x31,0x33,0x34,0x36,0x20,0x4c,0x20,0x35,0x39, + 0x2e,0x33,0x30,0x38,0x38,0x30,0x32,0x2c,0x32,0x35,0x2e,0x30,0x32,0x39,0x32,0x35, + 0x31,0x20,0x4c,0x20,0x36,0x30,0x2e,0x39,0x39,0x37,0x37,0x35,0x31,0x2c,0x39,0x37, + 0x2e,0x30,0x38,0x30,0x36,0x35,0x34,0x20,0x4c,0x20,0x36,0x30,0x2e,0x38,0x35,0x39, + 0x32,0x33,0x37,0x2c,0x32,0x35,0x2e,0x30,0x32,0x36,0x38,0x34,0x37,0x20,0x4c,0x20, + 0x36,0x33,0x2e,0x33,0x34,0x38,0x30,0x30,0x35,0x2c,0x39,0x39,0x2e,0x33,0x38,0x31, + 0x31,0x35,0x36,0x20,0x4c,0x20,0x36,0x33,0x2e,0x34,0x39,0x33,0x31,0x32,0x38,0x2c, + 0x34,0x37,0x2e,0x37,0x34,0x30,0x35,0x34,0x32,0x20,0x4c,0x20,0x36,0x34,0x2e,0x34, + 0x33,0x32,0x35,0x38,0x35,0x2c,0x39,0x35,0x2e,0x38,0x36,0x39,0x31,0x32,0x20,0x4c, + 0x20,0x36,0x34,0x2e,0x32,0x37,0x36,0x30,0x33,0x32,0x2c,0x35,0x31,0x2e,0x32,0x34, + 0x32,0x30,0x37,0x31,0x20,0x4c,0x20,0x36,0x36,0x2e,0x36,0x38,0x35,0x31,0x30,0x32, + 0x2c,0x39,0x38,0x2e,0x31,0x38,0x30,0x33,0x34,0x32,0x20,0x4c,0x20,0x36,0x35,0x2e, + 0x35,0x37,0x30,0x39,0x31,0x31,0x2c,0x35,0x32,0x2e,0x35,0x34,0x31,0x30,0x38,0x34, + 0x20,0x4c,0x20,0x36,0x36,0x2e,0x35,0x36,0x33,0x37,0x38,0x31,0x2c,0x39,0x38,0x2e, + 0x32,0x37,0x35,0x33,0x32,0x34,0x20,0x4c,0x20,0x36,0x34,0x2e,0x39,0x39,0x33,0x37, + 0x32,0x37,0x2c,0x32,0x35,0x2e,0x30,0x32,0x30,0x34,0x34,0x33,0x20,0x4c,0x20,0x36, + 0x39,0x2e,0x30,0x36,0x34,0x39,0x39,0x39,0x2c,0x39,0x36,0x2e,0x31,0x36,0x32,0x37, + 0x36,0x20,0x4c,0x20,0x36,0x36,0x2e,0x30,0x32,0x39,0x39,0x38,0x34,0x2c,0x32,0x36, + 0x2e,0x32,0x31,0x39,0x37,0x37,0x35,0x20,0x4c,0x20,0x37,0x30,0x2e,0x33,0x37,0x33, + 0x35,0x30,0x33,0x2c,0x39,0x34,0x2e,0x37,0x35,0x36,0x31,0x31,0x38,0x20,0x4c,0x20, + 0x36,0x38,0x2e,0x34,0x33,0x36,0x32,0x37,0x32,0x2c,0x32,0x37,0x2e,0x33,0x31,0x38, + 0x30,0x38,0x34,0x20,0x4c,0x20,0x37,0x32,0x2e,0x36,0x37,0x37,0x36,0x31,0x38,0x2c, + 0x39,0x33,0x2e,0x38,0x35,0x30,0x30,0x38,0x36,0x20,0x4c,0x20,0x37,0x32,0x2e,0x32, + 0x33,0x34,0x33,0x35,0x32,0x2c,0x32,0x37,0x2e,0x34,0x31,0x31,0x31,0x20,0x43,0x20, + 0x37,0x32,0x2e,0x32,0x33,0x34,0x33,0x35,0x32,0x2c,0x32,0x37,0x2e,0x34,0x31,0x31, + 0x31,0x20,0x37,0x33,0x2e,0x39,0x34,0x30,0x34,0x32,0x32,0x2c,0x39,0x38,0x2e,0x33, + 0x36,0x33,0x39,0x38,0x31,0x20,0x37,0x34,0x2e,0x34,0x35,0x36,0x31,0x34,0x32,0x2c, + 0x39,0x37,0x2e,0x38,0x36,0x32,0x37,0x38,0x34,0x20,0x43,0x20,0x37,0x34,0x2e,0x39, + 0x37,0x31,0x38,0x34,0x37,0x2c,0x39,0x37,0x2e,0x33,0x36,0x31,0x35,0x39,0x32,0x20, + 0x37,0x35,0x2e,0x35,0x39,0x35,0x31,0x35,0x33,0x2c,0x32,0x38,0x2e,0x31,0x30,0x36, + 0x34,0x34,0x31,0x20,0x37,0x35,0x2e,0x35,0x39,0x35,0x31,0x35,0x33,0x2c,0x32,0x38, + 0x2e,0x31,0x30,0x36,0x34,0x34,0x31,0x20,0x4c,0x20,0x37,0x35,0x2e,0x37,0x33,0x39, + 0x38,0x31,0x31,0x2c,0x39,0x34,0x2e,0x30,0x34,0x36,0x36,0x36,0x36,0x20,0x4c,0x20, + 0x37,0x36,0x2e,0x38,0x39,0x30,0x39,0x32,0x33,0x2c,0x32,0x39,0x2e,0x38,0x30,0x35, + 0x37,0x36,0x35,0x20,0x4c,0x20,0x37,0x37,0x2e,0x30,0x34,0x39,0x36,0x32,0x34,0x2c, + 0x39,0x33,0x2e,0x32,0x34,0x32,0x32,0x35,0x20,0x4c,0x20,0x37,0x38,0x2e,0x31,0x38, + 0x34,0x32,0x36,0x2c,0x33,0x30,0x2e,0x34,0x30,0x34,0x32,0x33,0x31,0x20,0x4c,0x20, + 0x37,0x38,0x2e,0x33,0x33,0x38,0x38,0x31,0x32,0x2c,0x39,0x31,0x2e,0x39,0x34,0x35, + 0x37,0x31,0x32,0x20,0x4c,0x20,0x38,0x30,0x2e,0x30,0x30,0x30,0x33,0x34,0x34,0x2c, + 0x33,0x33,0x2e,0x37,0x30,0x34,0x30,0x30,0x32,0x20,0x4c,0x20,0x38,0x30,0x2e,0x33, + 0x38,0x31,0x39,0x39,0x2c,0x38,0x39,0x2e,0x38,0x38,0x36,0x36,0x35,0x38,0x20,0x4c, + 0x20,0x38,0x32,0x2e,0x30,0x37,0x31,0x37,0x35,0x38,0x2c,0x33,0x35,0x2e,0x36,0x30, + 0x32,0x32,0x37,0x38,0x20,0x4c,0x20,0x38,0x32,0x2e,0x31,0x39,0x38,0x35,0x2c,0x38, + 0x34,0x2e,0x34,0x36,0x34,0x33,0x36,0x32,0x20,0x4c,0x20,0x38,0x33,0x2e,0x34,0x30, + 0x39,0x32,0x36,0x36,0x2c,0x33,0x38,0x2e,0x35,0x30,0x35,0x39,0x39,0x39,0x20,0x4c, + 0x20,0x38,0x34,0x2e,0x34,0x39,0x34,0x31,0x39,0x34,0x2c,0x37,0x30,0x2e,0x38,0x31, + 0x30,0x32,0x35,0x20,0x4c,0x20,0x38,0x35,0x2e,0x34,0x38,0x32,0x32,0x32,0x39,0x2c, + 0x34,0x31,0x2e,0x31,0x30,0x38,0x33,0x34,0x35,0x20,0x4c,0x20,0x38,0x36,0x2e,0x33, + 0x30,0x30,0x36,0x32,0x33,0x2c,0x36,0x39,0x2e,0x37,0x30,0x33,0x36,0x35,0x31,0x20, + 0x4c,0x20,0x38,0x38,0x2e,0x33,0x31,0x32,0x38,0x32,0x32,0x2c,0x34,0x34,0x2e,0x36, + 0x30,0x39,0x36,0x33,0x37,0x20,0x4c,0x20,0x38,0x39,0x2e,0x34,0x30,0x31,0x35,0x30, + 0x36,0x2c,0x37,0x38,0x2e,0x36,0x31,0x37,0x35,0x34,0x38,0x20,0x4c,0x20,0x38,0x39, + 0x2e,0x38,0x39,0x30,0x35,0x35,0x37,0x2c,0x34,0x38,0x2e,0x31,0x32,0x36,0x39,0x35, + 0x32,0x20,0x4c,0x20,0x39,0x31,0x2e,0x32,0x34,0x35,0x30,0x34,0x35,0x2c,0x37,0x36, + 0x2e,0x36,0x30,0x35,0x35,0x31,0x20,0x4c,0x20,0x39,0x31,0x2e,0x36,0x36,0x33,0x33, + 0x32,0x33,0x2c,0x34,0x39,0x2e,0x35,0x31,0x35,0x33,0x32,0x37,0x20,0x4c,0x20,0x39, + 0x33,0x2e,0x30,0x34,0x36,0x32,0x31,0x35,0x2c,0x37,0x33,0x2e,0x31,0x30,0x30,0x35, + 0x36,0x31,0x20,0x4c,0x20,0x39,0x33,0x2e,0x35,0x31,0x34,0x35,0x35,0x35,0x2c,0x35, + 0x31,0x2e,0x30,0x31,0x32,0x34,0x35,0x38,0x20,0x4c,0x20,0x39,0x35,0x2e,0x35,0x36, + 0x34,0x35,0x39,0x34,0x2c,0x36,0x39,0x2e,0x39,0x30,0x30,0x30,0x32,0x33,0x20,0x4c, + 0x20,0x39,0x35,0x2e,0x33,0x35,0x30,0x34,0x32,0x38,0x2c,0x35,0x34,0x2e,0x34,0x31, + 0x33,0x34,0x35,0x32,0x20,0x4c,0x20,0x39,0x37,0x2e,0x31,0x37,0x36,0x33,0x30,0x33, + 0x2c,0x37,0x31,0x2e,0x30,0x39,0x34,0x33,0x35,0x31,0x20,0x4c,0x20,0x39,0x37,0x2e, + 0x34,0x32,0x31,0x31,0x39,0x2c,0x35,0x36,0x2e,0x30,0x31,0x32,0x36,0x37,0x31,0x20, + 0x4c,0x20,0x31,0x30,0x30,0x2e,0x31,0x37,0x32,0x38,0x31,0x2c,0x36,0x38,0x2e,0x30, + 0x39,0x35,0x35,0x38,0x31,0x20,0x4c,0x20,0x31,0x30,0x30,0x2e,0x32,0x36,0x35,0x33, + 0x37,0x2c,0x35,0x36,0x2e,0x38,0x30,0x33,0x30,0x32,0x32,0x20,0x4c,0x20,0x31,0x30, + 0x32,0x2e,0x33,0x33,0x34,0x37,0x34,0x2c,0x36,0x38,0x2e,0x35,0x39,0x38,0x34,0x38, + 0x39,0x20,0x4c,0x20,0x31,0x30,0x32,0x2e,0x34,0x31,0x34,0x31,0x35,0x2c,0x35,0x38, + 0x2e,0x33,0x30,0x30,0x32,0x37,0x36,0x20,0x4c,0x20,0x31,0x30,0x34,0x2e,0x31,0x35, + 0x33,0x36,0x38,0x2c,0x36,0x34,0x2e,0x32,0x37,0x39,0x39,0x37,0x20,0x4c,0x20,0x31, + 0x30,0x34,0x2e,0x35,0x35,0x31,0x38,0x35,0x2c,0x35,0x34,0x2e,0x37,0x37,0x37,0x37, + 0x38,0x39,0x20,0x4c,0x20,0x31,0x30,0x35,0x2e,0x32,0x38,0x39,0x30,0x34,0x2c,0x36, + 0x36,0x2e,0x30,0x38,0x35,0x34,0x39,0x39,0x20,0x4c,0x20,0x31,0x30,0x35,0x2e,0x39, + 0x37,0x33,0x31,0x2c,0x36,0x30,0x2e,0x31,0x38,0x39,0x37,0x39,0x34,0x20,0x43,0x20, + 0x31,0x30,0x35,0x2e,0x39,0x37,0x33,0x31,0x2c,0x36,0x30,0x2e,0x31,0x38,0x39,0x37, + 0x39,0x34,0x20,0x31,0x30,0x37,0x2e,0x30,0x37,0x33,0x32,0x36,0x2c,0x36,0x33,0x2e, + 0x37,0x37,0x32,0x37,0x31,0x33,0x20,0x31,0x30,0x37,0x2e,0x30,0x37,0x32,0x31,0x36, + 0x2c,0x36,0x33,0x2e,0x32,0x37,0x32,0x33,0x32,0x32,0x20,0x43,0x20,0x31,0x30,0x37, + 0x2e,0x30,0x37,0x31,0x30,0x35,0x2c,0x36,0x32,0x2e,0x37,0x37,0x31,0x39,0x33,0x37, + 0x20,0x31,0x30,0x38,0x2e,0x35,0x37,0x38,0x37,0x2c,0x36,0x31,0x2e,0x30,0x38,0x32, + 0x39,0x34,0x33,0x20,0x31,0x30,0x38,0x2e,0x33,0x31,0x38,0x32,0x38,0x2c,0x36,0x30, + 0x2e,0x31,0x38,0x32,0x36,0x33,0x36,0x20,0x43,0x20,0x31,0x30,0x38,0x2e,0x30,0x35, + 0x37,0x39,0x31,0x2c,0x35,0x39,0x2e,0x32,0x38,0x32,0x33,0x34,0x32,0x20,0x31,0x30, + 0x39,0x2e,0x34,0x31,0x35,0x36,0x31,0x2c,0x36,0x32,0x2e,0x34,0x37,0x35,0x31,0x30, + 0x33,0x20,0x31,0x30,0x39,0x2e,0x34,0x31,0x35,0x36,0x31,0x2c,0x36,0x32,0x2e,0x34, + 0x37,0x35,0x31,0x30,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39,0x32,0x32,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65, + 0x74,0x79,0x70,0x65,0x73,0x3d,0x22,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x67, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67, + 0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x32, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x48,0x61,0x6e,0x64,0x73,0x65,0x74,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70, + 0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x30, + 0x37,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c, + 0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x35,0x33,0x30,0x38,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x6e, + 0x6f,0x6e,0x7a,0x65,0x72,0x6f,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f, + 0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a, + 0x31,0x32,0x2e,0x32,0x39,0x36,0x39,0x39,0x39,0x39,0x33,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79, + 0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61, + 0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69, + 0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d, + 0x22,0x4d,0x20,0x35,0x39,0x2e,0x31,0x35,0x31,0x39,0x38,0x35,0x2c,0x37,0x2e,0x35, + 0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x43,0x20,0x33,0x30,0x2e,0x39,0x36,0x37,0x35, + 0x33,0x36,0x2c,0x38,0x2e,0x32,0x34,0x39,0x34,0x33,0x33,0x20,0x38,0x2e,0x33,0x32, + 0x37,0x34,0x36,0x34,0x31,0x2c,0x33,0x31,0x2e,0x33,0x35,0x34,0x36,0x37,0x35,0x20, + 0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31,0x2c,0x35,0x39,0x2e,0x37,0x31,0x30, + 0x33,0x38,0x38,0x20,0x43,0x20,0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31,0x2c, + 0x36,0x38,0x2e,0x32,0x32,0x32,0x30,0x36,0x35,0x20,0x31,0x30,0x2e,0x33,0x37,0x35, + 0x34,0x39,0x35,0x2c,0x37,0x36,0x2e,0x32,0x34,0x36,0x39,0x38,0x33,0x20,0x31,0x33, + 0x2e,0x39,0x39,0x34,0x38,0x30,0x32,0x2c,0x38,0x33,0x2e,0x33,0x34,0x37,0x38,0x32, + 0x33,0x20,0x43,0x20,0x31,0x33,0x2e,0x31,0x30,0x37,0x38,0x33,0x34,0x2c,0x37,0x39, + 0x2e,0x35,0x33,0x36,0x36,0x36,0x32,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35,0x31, + 0x35,0x2c,0x37,0x35,0x2e,0x35,0x36,0x38,0x36,0x37,0x37,0x20,0x31,0x32,0x2e,0x36, + 0x34,0x33,0x35,0x31,0x35,0x2c,0x37,0x31,0x2e,0x34,0x38,0x38,0x37,0x36,0x39,0x20, + 0x43,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35,0x31,0x35,0x2c,0x34,0x32,0x2e,0x36, + 0x38,0x32,0x39,0x36,0x34,0x20,0x33,0x36,0x2e,0x30,0x31,0x33,0x35,0x31,0x39,0x2c, + 0x31,0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x33,0x20,0x36,0x34,0x2e,0x38,0x31,0x39, + 0x33,0x32,0x32,0x2c,0x31,0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x33,0x20,0x43,0x20, + 0x38,0x35,0x2e,0x31,0x31,0x30,0x35,0x31,0x36,0x2c,0x31,0x39,0x2e,0x32,0x39,0x32, + 0x37,0x39,0x32,0x20,0x31,0x30,0x32,0x2e,0x36,0x39,0x37,0x30,0x36,0x2c,0x33,0x30, + 0x2e,0x39,0x30,0x34,0x38,0x34,0x31,0x20,0x31,0x31,0x31,0x2e,0x33,0x32,0x37,0x37, + 0x39,0x2c,0x34,0x37,0x2e,0x38,0x33,0x31,0x31,0x36,0x35,0x20,0x43,0x20,0x31,0x30, + 0x35,0x2e,0x39,0x34,0x35,0x34,0x2c,0x32,0x34,0x2e,0x37,0x34,0x33,0x36,0x35,0x36, + 0x20,0x38,0x35,0x2e,0x32,0x32,0x32,0x33,0x31,0x31,0x2c,0x37,0x2e,0x35,0x33,0x34, + 0x35,0x38,0x30,0x39,0x20,0x36,0x30,0x2e,0x35,0x30,0x33,0x32,0x37,0x32,0x2c,0x37, + 0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x43,0x20,0x36,0x30,0x2e,0x30,0x35, + 0x33,0x31,0x38,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x35,0x39, + 0x2e,0x35,0x39,0x39,0x33,0x35,0x36,0x2c,0x37,0x2e,0x35,0x32,0x33,0x32,0x33,0x34, + 0x32,0x20,0x35,0x39,0x2e,0x31,0x35,0x31,0x39,0x38,0x35,0x2c,0x37,0x2e,0x35,0x33, + 0x34,0x35,0x38,0x30,0x39,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x36,0x37,0x39,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x36,0x30,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x38,0x38,0x2e,0x39, + 0x30,0x36,0x38,0x37,0x34,0x2c,0x39,0x34,0x2e,0x30,0x36,0x33,0x33,0x35,0x39,0x20, + 0x43,0x20,0x38,0x38,0x2e,0x35,0x35,0x39,0x39,0x33,0x35,0x2c,0x39,0x34,0x2e,0x39, + 0x37,0x37,0x35,0x35,0x36,0x20,0x38,0x34,0x2e,0x39,0x36,0x36,0x30,0x32,0x33,0x2c, + 0x39,0x38,0x2e,0x33,0x37,0x36,0x20,0x38,0x33,0x2e,0x32,0x38,0x39,0x32,0x31,0x35, + 0x2c,0x39,0x39,0x2e,0x33,0x37,0x35,0x34,0x38,0x31,0x20,0x4c,0x20,0x38,0x31,0x2e, + 0x34,0x33,0x35,0x35,0x36,0x2c,0x31,0x30,0x30,0x2e,0x34,0x38,0x30,0x33,0x37,0x20, + 0x4c,0x20,0x37,0x33,0x2e,0x38,0x30,0x38,0x37,0x38,0x35,0x2c,0x39,0x30,0x2e,0x35, + 0x34,0x31,0x32,0x30,0x37,0x20,0x4c,0x20,0x36,0x36,0x2e,0x31,0x38,0x32,0x30,0x30, + 0x33,0x2c,0x38,0x30,0x2e,0x36,0x30,0x32,0x30,0x35,0x33,0x20,0x4c,0x20,0x36,0x37, + 0x2e,0x34,0x39,0x34,0x37,0x39,0x31,0x2c,0x37,0x39,0x2e,0x32,0x34,0x31,0x32,0x34, + 0x31,0x20,0x43,0x20,0x36,0x38,0x2e,0x37,0x37,0x39,0x35,0x34,0x34,0x2c,0x37,0x37, + 0x2e,0x39,0x30,0x39,0x34,0x37,0x36,0x20,0x37,0x32,0x2e,0x36,0x33,0x34,0x35,0x31, + 0x36,0x2c,0x37,0x35,0x2e,0x33,0x32,0x32,0x34,0x39,0x37,0x20,0x37,0x33,0x2e,0x38, + 0x38,0x37,0x36,0x37,0x31,0x2c,0x37,0x34,0x2e,0x39,0x35,0x31,0x31,0x32,0x38,0x20, + 0x43,0x20,0x37,0x34,0x2e,0x34,0x33,0x31,0x37,0x34,0x35,0x2c,0x37,0x34,0x2e,0x37, + 0x38,0x39,0x38,0x38,0x38,0x20,0x37,0x35,0x2e,0x35,0x32,0x38,0x31,0x33,0x39,0x2c, + 0x37,0x36,0x2e,0x30,0x37,0x38,0x33,0x36,0x31,0x20,0x38,0x31,0x2e,0x37,0x38,0x32, + 0x39,0x39,0x39,0x2c,0x38,0x34,0x2e,0x32,0x32,0x39,0x36,0x35,0x31,0x20,0x43,0x20, + 0x38,0x35,0x2e,0x37,0x37,0x37,0x39,0x32,0x38,0x2c,0x38,0x39,0x2e,0x34,0x33,0x35, + 0x38,0x30,0x39,0x20,0x38,0x38,0x2e,0x39,0x38,0x33,0x36,0x37,0x39,0x2c,0x39,0x33, + 0x2e,0x38,0x36,0x30,0x39,0x38,0x31,0x20,0x38,0x38,0x2e,0x39,0x30,0x36,0x38,0x37, + 0x34,0x2c,0x39,0x34,0x2e,0x30,0x36,0x33,0x33,0x35,0x39,0x20,0x7a,0x20,0x4d,0x20, + 0x35,0x30,0x2e,0x37,0x33,0x33,0x32,0x39,0x2c,0x34,0x34,0x2e,0x34,0x37,0x37,0x32, + 0x37,0x31,0x20,0x43,0x20,0x35,0x30,0x2e,0x34,0x34,0x36,0x36,0x32,0x37,0x2c,0x34, + 0x35,0x2e,0x32,0x33,0x32,0x36,0x33,0x36,0x20,0x34,0x35,0x2e,0x39,0x31,0x31,0x33, + 0x38,0x2c,0x34,0x39,0x2e,0x30,0x39,0x38,0x39,0x37,0x20,0x34,0x34,0x2e,0x34,0x33, + 0x33,0x33,0x33,0x31,0x2c,0x34,0x39,0x2e,0x38,0x34,0x38,0x30,0x33,0x34,0x20,0x4c, + 0x20,0x34,0x33,0x2e,0x30,0x39,0x30,0x34,0x37,0x34,0x2c,0x35,0x30,0x2e,0x35,0x32, + 0x38,0x35,0x36,0x39,0x20,0x4c,0x20,0x33,0x35,0x2e,0x35,0x37,0x33,0x35,0x34,0x35, + 0x2c,0x34,0x30,0x2e,0x35,0x35,0x35,0x39,0x31,0x34,0x20,0x4c,0x20,0x32,0x38,0x2e, + 0x30,0x35,0x36,0x36,0x30,0x38,0x2c,0x33,0x30,0x2e,0x35,0x38,0x33,0x32,0x35,0x34, + 0x20,0x4c,0x20,0x33,0x30,0x2e,0x36,0x34,0x34,0x37,0x35,0x2c,0x32,0x38,0x2e,0x34, + 0x34,0x38,0x33,0x39,0x37,0x20,0x43,0x20,0x33,0x32,0x2e,0x30,0x36,0x38,0x32,0x33, + 0x33,0x2c,0x32,0x37,0x2e,0x32,0x37,0x34,0x32,0x32,0x33,0x20,0x33,0x33,0x2e,0x39, + 0x33,0x34,0x39,0x32,0x34,0x2c,0x32,0x36,0x2e,0x30,0x32,0x33,0x37,0x35,0x38,0x20, + 0x33,0x34,0x2e,0x37,0x39,0x32,0x39,0x34,0x39,0x2c,0x32,0x35,0x2e,0x36,0x36,0x39, + 0x35,0x37,0x38,0x20,0x4c,0x20,0x33,0x36,0x2e,0x33,0x35,0x32,0x39,0x39,0x36,0x2c, + 0x32,0x35,0x2e,0x30,0x32,0x35,0x36,0x31,0x39,0x20,0x4c,0x20,0x34,0x33,0x2e,0x36, + 0x33,0x33,0x34,0x35,0x39,0x2c,0x33,0x34,0x2e,0x35,0x31,0x33,0x34,0x35,0x38,0x20, + 0x43,0x20,0x34,0x38,0x2e,0x35,0x31,0x34,0x38,0x38,0x36,0x2c,0x34,0x30,0x2e,0x38, + 0x37,0x34,0x38,0x39,0x36,0x20,0x35,0x30,0x2e,0x38,0x35,0x34,0x34,0x30,0x33,0x2c, + 0x34,0x34,0x2e,0x31,0x35,0x38,0x31,0x33,0x38,0x20,0x35,0x30,0x2e,0x37,0x33,0x33, + 0x32,0x39,0x2c,0x34,0x34,0x2e,0x34,0x37,0x37,0x32,0x37,0x31,0x20,0x7a,0x20,0x4d, + 0x20,0x38,0x30,0x2e,0x30,0x38,0x36,0x35,0x32,0x32,0x2c,0x31,0x30,0x31,0x2e,0x34, + 0x30,0x35,0x37,0x34,0x20,0x43,0x20,0x38,0x30,0x2e,0x30,0x33,0x38,0x32,0x39,0x34, + 0x2c,0x31,0x30,0x31,0x2e,0x35,0x33,0x32,0x36,0x31,0x20,0x37,0x39,0x2e,0x31,0x39, + 0x37,0x39,0x34,0x36,0x2c,0x31,0x30,0x32,0x2e,0x30,0x34,0x33,0x30,0x35,0x20,0x37, + 0x38,0x2e,0x32,0x31,0x39,0x30,0x38,0x34,0x2c,0x31,0x30,0x32,0x2e,0x35,0x34,0x30, + 0x30,0x35,0x20,0x43,0x20,0x37,0x30,0x2e,0x35,0x32,0x36,0x36,0x30,0x39,0x2c,0x31, + 0x30,0x36,0x2e,0x34,0x34,0x35,0x38,0x33,0x20,0x35,0x38,0x2e,0x31,0x36,0x33,0x31, + 0x31,0x38,0x2c,0x31,0x30,0x31,0x2e,0x38,0x34,0x38,0x31,0x35,0x20,0x34,0x36,0x2e, + 0x35,0x32,0x33,0x37,0x31,0x38,0x2c,0x39,0x30,0x2e,0x37,0x35,0x33,0x33,0x34,0x36, + 0x20,0x43,0x20,0x34,0x32,0x2e,0x34,0x30,0x33,0x39,0x36,0x33,0x2c,0x38,0x36,0x2e, + 0x38,0x32,0x36,0x33,0x33,0x38,0x20,0x33,0x33,0x2e,0x39,0x30,0x35,0x35,0x37,0x31, + 0x2c,0x37,0x36,0x2e,0x33,0x30,0x36,0x35,0x35,0x39,0x20,0x33,0x30,0x2e,0x35,0x34, + 0x38,0x33,0x31,0x39,0x2c,0x37,0x30,0x2e,0x39,0x37,0x38,0x30,0x39,0x35,0x20,0x43, + 0x20,0x32,0x34,0x2e,0x30,0x36,0x39,0x35,0x31,0x31,0x2c,0x36,0x30,0x2e,0x36,0x39, + 0x35,0x32,0x36,0x34,0x20,0x32,0x31,0x2e,0x30,0x32,0x32,0x37,0x31,0x38,0x2c,0x35, + 0x32,0x2e,0x30,0x36,0x32,0x32,0x35,0x33,0x20,0x32,0x31,0x2e,0x31,0x31,0x32,0x35, + 0x32,0x32,0x2c,0x34,0x34,0x2e,0x32,0x34,0x32,0x30,0x30,0x32,0x20,0x43,0x20,0x32, + 0x31,0x2e,0x31,0x36,0x38,0x35,0x36,0x38,0x2c,0x33,0x39,0x2e,0x33,0x36,0x31,0x35, + 0x31,0x33,0x20,0x32,0x32,0x2e,0x37,0x37,0x30,0x33,0x35,0x34,0x2c,0x33,0x35,0x2e, + 0x32,0x34,0x33,0x35,0x33,0x39,0x20,0x32,0x35,0x2e,0x36,0x34,0x32,0x36,0x37,0x38, + 0x2c,0x33,0x32,0x2e,0x35,0x39,0x35,0x35,0x33,0x36,0x20,0x4c,0x20,0x32,0x36,0x2e, + 0x36,0x32,0x37,0x35,0x36,0x34,0x2c,0x33,0x31,0x2e,0x36,0x38,0x37,0x35,0x36,0x33, + 0x20,0x4c,0x20,0x33,0x34,0x2e,0x31,0x38,0x32,0x36,0x34,0x2c,0x34,0x31,0x2e,0x33, + 0x38,0x36,0x32,0x35,0x33,0x20,0x4c,0x20,0x34,0x31,0x2e,0x37,0x33,0x37,0x37,0x32, + 0x32,0x2c,0x35,0x31,0x2e,0x30,0x38,0x34,0x39,0x34,0x34,0x20,0x4c,0x20,0x34,0x31, + 0x2e,0x31,0x32,0x36,0x36,0x37,0x32,0x2c,0x35,0x32,0x2e,0x31,0x34,0x33,0x33,0x34, + 0x33,0x20,0x43,0x20,0x34,0x30,0x2e,0x32,0x38,0x32,0x36,0x35,0x32,0x2c,0x35,0x33, + 0x2e,0x36,0x30,0x35,0x32,0x34,0x33,0x20,0x34,0x30,0x2e,0x34,0x33,0x35,0x33,0x32, + 0x31,0x2c,0x35,0x35,0x2e,0x35,0x32,0x32,0x36,0x30,0x35,0x20,0x34,0x31,0x2e,0x36, + 0x32,0x38,0x30,0x33,0x37,0x2c,0x35,0x38,0x2e,0x34,0x33,0x39,0x39,0x20,0x43,0x20, + 0x34,0x33,0x2e,0x31,0x32,0x34,0x39,0x34,0x39,0x2c,0x36,0x32,0x2e,0x31,0x30,0x31, + 0x32,0x32,0x37,0x20,0x35,0x35,0x2e,0x30,0x30,0x31,0x31,0x31,0x36,0x2c,0x37,0x37, + 0x2e,0x35,0x37,0x30,0x33,0x34,0x33,0x20,0x35,0x38,0x2e,0x31,0x38,0x37,0x32,0x39, + 0x34,0x2c,0x38,0x30,0x2e,0x30,0x30,0x38,0x39,0x30,0x33,0x20,0x43,0x20,0x36,0x30, + 0x2e,0x36,0x39,0x31,0x31,0x30,0x38,0x2c,0x38,0x31,0x2e,0x39,0x32,0x35,0x32,0x31, + 0x31,0x20,0x36,0x32,0x2e,0x32,0x33,0x31,0x34,0x33,0x37,0x2c,0x38,0x32,0x2e,0x34, + 0x38,0x34,0x36,0x35,0x31,0x20,0x36,0x34,0x2e,0x30,0x38,0x32,0x37,0x32,0x37,0x2c, + 0x38,0x32,0x2e,0x31,0x35,0x30,0x30,0x39,0x39,0x20,0x4c,0x20,0x36,0x35,0x2e,0x33, + 0x39,0x33,0x36,0x37,0x33,0x2c,0x38,0x31,0x2e,0x39,0x31,0x33,0x31,0x39,0x32,0x20, + 0x4c,0x20,0x37,0x32,0x2e,0x37,0x38,0x33,0x39,0x34,0x31,0x2c,0x39,0x31,0x2e,0x35, + 0x34,0x34,0x31,0x33,0x37,0x20,0x43,0x20,0x37,0x36,0x2e,0x38,0x34,0x38,0x35,0x38, + 0x39,0x2c,0x39,0x36,0x2e,0x38,0x34,0x31,0x31,0x35,0x39,0x20,0x38,0x30,0x2e,0x31, + 0x33,0x34,0x37,0x35,0x35,0x2c,0x31,0x30,0x31,0x2e,0x32,0x37,0x38,0x38,0x37,0x20, + 0x38,0x30,0x2e,0x30,0x38,0x36,0x35,0x32,0x32,0x2c,0x31,0x30,0x31,0x2e,0x34,0x30, + 0x35,0x37,0x34,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x33, + 0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30, + 0x30,0x30,0x30,0x30,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74, + 0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x66,0x69,0x6c,0x6c,0x3a,0x23,0x64,0x66,0x64,0x66,0x64,0x66,0x3b,0x66,0x69,0x6c, + 0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x39,0x32,0x2e,0x35,0x31,0x38,0x30, + 0x36,0x36,0x2c,0x39,0x30,0x2e,0x34,0x35,0x32,0x31,0x36,0x37,0x20,0x43,0x20,0x39, + 0x32,0x2e,0x31,0x37,0x31,0x31,0x32,0x37,0x2c,0x39,0x31,0x2e,0x33,0x36,0x36,0x33, + 0x36,0x34,0x20,0x38,0x38,0x2e,0x35,0x37,0x37,0x32,0x31,0x35,0x2c,0x39,0x34,0x2e, + 0x37,0x36,0x34,0x38,0x30,0x38,0x20,0x38,0x36,0x2e,0x39,0x30,0x30,0x34,0x30,0x37, + 0x2c,0x39,0x35,0x2e,0x37,0x36,0x34,0x32,0x38,0x39,0x20,0x4c,0x20,0x38,0x35,0x2e, + 0x30,0x34,0x36,0x37,0x35,0x32,0x2c,0x39,0x36,0x2e,0x38,0x36,0x39,0x31,0x38,0x31, + 0x20,0x4c,0x20,0x37,0x37,0x2e,0x34,0x31,0x39,0x39,0x37,0x36,0x2c,0x38,0x36,0x2e, + 0x39,0x33,0x30,0x30,0x31,0x35,0x20,0x4c,0x20,0x36,0x39,0x2e,0x37,0x39,0x33,0x31, + 0x39,0x34,0x2c,0x37,0x36,0x2e,0x39,0x39,0x30,0x38,0x36,0x31,0x20,0x4c,0x20,0x37, + 0x31,0x2e,0x31,0x30,0x35,0x39,0x38,0x33,0x2c,0x37,0x35,0x2e,0x36,0x33,0x30,0x30, + 0x35,0x20,0x43,0x20,0x37,0x32,0x2e,0x33,0x39,0x30,0x37,0x33,0x36,0x2c,0x37,0x34, + 0x2e,0x32,0x39,0x38,0x32,0x38,0x35,0x20,0x37,0x36,0x2e,0x32,0x34,0x35,0x37,0x30, + 0x37,0x2c,0x37,0x31,0x2e,0x37,0x31,0x31,0x33,0x30,0x35,0x20,0x37,0x37,0x2e,0x34, + 0x39,0x38,0x38,0x36,0x32,0x2c,0x37,0x31,0x2e,0x33,0x33,0x39,0x39,0x33,0x37,0x20, + 0x43,0x20,0x37,0x38,0x2e,0x30,0x34,0x32,0x39,0x33,0x36,0x2c,0x37,0x31,0x2e,0x31, + 0x37,0x38,0x36,0x39,0x37,0x20,0x37,0x39,0x2e,0x31,0x33,0x39,0x33,0x33,0x2c,0x37, + 0x32,0x2e,0x34,0x36,0x37,0x31,0x37,0x20,0x38,0x35,0x2e,0x33,0x39,0x34,0x31,0x39, + 0x31,0x2c,0x38,0x30,0x2e,0x36,0x31,0x38,0x34,0x36,0x20,0x43,0x20,0x38,0x39,0x2e, + 0x33,0x38,0x39,0x31,0x31,0x39,0x2c,0x38,0x35,0x2e,0x38,0x32,0x34,0x36,0x31,0x38, + 0x20,0x39,0x32,0x2e,0x35,0x39,0x34,0x38,0x37,0x2c,0x39,0x30,0x2e,0x32,0x34,0x39, + 0x37,0x39,0x20,0x39,0x32,0x2e,0x35,0x31,0x38,0x30,0x36,0x36,0x2c,0x39,0x30,0x2e, + 0x34,0x35,0x32,0x31,0x36,0x37,0x20,0x7a,0x20,0x4d,0x20,0x35,0x34,0x2e,0x33,0x34, + 0x34,0x34,0x38,0x31,0x2c,0x34,0x30,0x2e,0x38,0x36,0x36,0x30,0x38,0x20,0x43,0x20, + 0x35,0x34,0x2e,0x30,0x35,0x37,0x38,0x31,0x39,0x2c,0x34,0x31,0x2e,0x36,0x32,0x31, + 0x34,0x34,0x34,0x20,0x34,0x39,0x2e,0x35,0x32,0x32,0x35,0x37,0x31,0x2c,0x34,0x35, + 0x2e,0x34,0x38,0x37,0x37,0x37,0x38,0x20,0x34,0x38,0x2e,0x30,0x34,0x34,0x35,0x32, + 0x33,0x2c,0x34,0x36,0x2e,0x32,0x33,0x36,0x38,0x34,0x32,0x20,0x4c,0x20,0x34,0x36, + 0x2e,0x37,0x30,0x31,0x36,0x36,0x36,0x2c,0x34,0x36,0x2e,0x39,0x31,0x37,0x33,0x37, + 0x37,0x20,0x4c,0x20,0x33,0x39,0x2e,0x31,0x38,0x34,0x37,0x33,0x35,0x2c,0x33,0x36, + 0x2e,0x39,0x34,0x34,0x37,0x32,0x33,0x20,0x4c,0x20,0x33,0x31,0x2e,0x36,0x36,0x37, + 0x38,0x2c,0x32,0x36,0x2e,0x39,0x37,0x32,0x30,0x36,0x33,0x20,0x4c,0x20,0x33,0x34, + 0x2e,0x32,0x35,0x35,0x39,0x34,0x31,0x2c,0x32,0x34,0x2e,0x38,0x33,0x37,0x32,0x30, + 0x35,0x20,0x43,0x20,0x33,0x35,0x2e,0x36,0x37,0x39,0x34,0x32,0x35,0x2c,0x32,0x33, + 0x2e,0x36,0x36,0x33,0x30,0x33,0x32,0x20,0x33,0x37,0x2e,0x35,0x34,0x36,0x31,0x31, + 0x35,0x2c,0x32,0x32,0x2e,0x34,0x31,0x32,0x35,0x36,0x36,0x20,0x33,0x38,0x2e,0x34, + 0x30,0x34,0x31,0x34,0x31,0x2c,0x32,0x32,0x2e,0x30,0x35,0x38,0x33,0x38,0x37,0x20, + 0x4c,0x20,0x33,0x39,0x2e,0x39,0x36,0x34,0x31,0x38,0x38,0x2c,0x32,0x31,0x2e,0x34, + 0x31,0x34,0x34,0x32,0x37,0x20,0x4c,0x20,0x34,0x37,0x2e,0x32,0x34,0x34,0x36,0x35, + 0x2c,0x33,0x30,0x2e,0x39,0x30,0x32,0x32,0x36,0x37,0x20,0x43,0x20,0x35,0x32,0x2e, + 0x31,0x32,0x36,0x30,0x37,0x38,0x2c,0x33,0x37,0x2e,0x32,0x36,0x33,0x37,0x30,0x36, + 0x20,0x35,0x34,0x2e,0x34,0x36,0x35,0x35,0x39,0x34,0x2c,0x34,0x30,0x2e,0x35,0x34, + 0x36,0x39,0x34,0x36,0x20,0x35,0x34,0x2e,0x33,0x34,0x34,0x34,0x38,0x31,0x2c,0x34, + 0x30,0x2e,0x38,0x36,0x36,0x30,0x38,0x20,0x7a,0x20,0x4d,0x20,0x38,0x33,0x2e,0x36, + 0x39,0x37,0x37,0x31,0x33,0x2c,0x39,0x37,0x2e,0x37,0x39,0x34,0x35,0x35,0x20,0x43, + 0x20,0x38,0x33,0x2e,0x36,0x34,0x39,0x34,0x38,0x36,0x2c,0x39,0x37,0x2e,0x39,0x32, + 0x31,0x34,0x31,0x37,0x20,0x38,0x32,0x2e,0x38,0x30,0x39,0x31,0x33,0x37,0x2c,0x39, + 0x38,0x2e,0x34,0x33,0x31,0x38,0x35,0x32,0x20,0x38,0x31,0x2e,0x38,0x33,0x30,0x32, + 0x37,0x36,0x2c,0x39,0x38,0x2e,0x39,0x32,0x38,0x38,0x36,0x31,0x20,0x43,0x20,0x37, + 0x34,0x2e,0x31,0x33,0x37,0x38,0x30,0x31,0x2c,0x31,0x30,0x32,0x2e,0x38,0x33,0x34, + 0x36,0x34,0x20,0x36,0x31,0x2e,0x37,0x37,0x34,0x33,0x30,0x38,0x2c,0x39,0x38,0x2e, + 0x32,0x33,0x36,0x39,0x35,0x37,0x20,0x35,0x30,0x2e,0x31,0x33,0x34,0x39,0x30,0x39, + 0x2c,0x38,0x37,0x2e,0x31,0x34,0x32,0x31,0x35,0x34,0x20,0x43,0x20,0x34,0x36,0x2e, + 0x30,0x31,0x35,0x31,0x35,0x34,0x2c,0x38,0x33,0x2e,0x32,0x31,0x35,0x31,0x34,0x36, + 0x20,0x33,0x37,0x2e,0x35,0x31,0x36,0x37,0x36,0x32,0x2c,0x37,0x32,0x2e,0x36,0x39, + 0x35,0x33,0x36,0x37,0x20,0x33,0x34,0x2e,0x31,0x35,0x39,0x35,0x31,0x31,0x2c,0x36, + 0x37,0x2e,0x33,0x36,0x36,0x39,0x30,0x34,0x20,0x43,0x20,0x32,0x37,0x2e,0x36,0x38, + 0x30,0x37,0x30,0x32,0x2c,0x35,0x37,0x2e,0x30,0x38,0x34,0x30,0x37,0x33,0x20,0x32, + 0x34,0x2e,0x36,0x33,0x33,0x39,0x31,0x2c,0x34,0x38,0x2e,0x34,0x35,0x31,0x30,0x36, + 0x32,0x20,0x32,0x34,0x2e,0x37,0x32,0x33,0x37,0x31,0x34,0x2c,0x34,0x30,0x2e,0x36, + 0x33,0x30,0x38,0x31,0x20,0x43,0x20,0x32,0x34,0x2e,0x37,0x37,0x39,0x37,0x36,0x2c, + 0x33,0x35,0x2e,0x37,0x35,0x30,0x33,0x32,0x31,0x20,0x32,0x36,0x2e,0x33,0x38,0x31, + 0x35,0x34,0x36,0x2c,0x33,0x31,0x2e,0x36,0x33,0x32,0x33,0x34,0x38,0x20,0x32,0x39, + 0x2e,0x32,0x35,0x33,0x38,0x36,0x39,0x2c,0x32,0x38,0x2e,0x39,0x38,0x34,0x33,0x34, + 0x36,0x20,0x4c,0x20,0x33,0x30,0x2e,0x32,0x33,0x38,0x37,0x35,0x35,0x2c,0x32,0x38, + 0x2e,0x30,0x37,0x36,0x33,0x37,0x31,0x20,0x4c,0x20,0x33,0x37,0x2e,0x37,0x39,0x33, + 0x38,0x33,0x32,0x2c,0x33,0x37,0x2e,0x37,0x37,0x35,0x30,0x36,0x33,0x20,0x4c,0x20, + 0x34,0x35,0x2e,0x33,0x34,0x38,0x39,0x31,0x33,0x2c,0x34,0x37,0x2e,0x34,0x37,0x33, + 0x37,0x35,0x34,0x20,0x4c,0x20,0x34,0x34,0x2e,0x37,0x33,0x37,0x38,0x36,0x33,0x2c, + 0x34,0x38,0x2e,0x35,0x33,0x32,0x31,0x35,0x32,0x20,0x43,0x20,0x34,0x33,0x2e,0x38, + 0x39,0x33,0x38,0x34,0x34,0x2c,0x34,0x39,0x2e,0x39,0x39,0x34,0x30,0x35,0x32,0x20, + 0x34,0x34,0x2e,0x30,0x34,0x36,0x35,0x31,0x33,0x2c,0x35,0x31,0x2e,0x39,0x31,0x31, + 0x34,0x31,0x34,0x20,0x34,0x35,0x2e,0x32,0x33,0x39,0x32,0x32,0x39,0x2c,0x35,0x34, + 0x2e,0x38,0x32,0x38,0x37,0x30,0x39,0x20,0x43,0x20,0x34,0x36,0x2e,0x37,0x33,0x36, + 0x31,0x34,0x2c,0x35,0x38,0x2e,0x34,0x39,0x30,0x30,0x33,0x35,0x20,0x35,0x38,0x2e, + 0x36,0x31,0x32,0x33,0x30,0x37,0x2c,0x37,0x33,0x2e,0x39,0x35,0x39,0x31,0x35,0x32, + 0x20,0x36,0x31,0x2e,0x37,0x39,0x38,0x34,0x38,0x35,0x2c,0x37,0x36,0x2e,0x33,0x39, + 0x37,0x37,0x31,0x31,0x20,0x43,0x20,0x36,0x34,0x2e,0x33,0x30,0x32,0x33,0x2c,0x37, + 0x38,0x2e,0x33,0x31,0x34,0x30,0x32,0x20,0x36,0x35,0x2e,0x38,0x34,0x32,0x36,0x32, + 0x39,0x2c,0x37,0x38,0x2e,0x38,0x37,0x33,0x34,0x36,0x20,0x36,0x37,0x2e,0x36,0x39, + 0x33,0x39,0x31,0x38,0x2c,0x37,0x38,0x2e,0x35,0x33,0x38,0x39,0x30,0x37,0x20,0x4c, + 0x20,0x36,0x39,0x2e,0x30,0x30,0x34,0x38,0x36,0x35,0x2c,0x37,0x38,0x2e,0x33,0x30, + 0x32,0x20,0x4c,0x20,0x37,0x36,0x2e,0x33,0x39,0x35,0x31,0x33,0x32,0x2c,0x38,0x37, + 0x2e,0x39,0x33,0x32,0x39,0x34,0x35,0x20,0x43,0x20,0x38,0x30,0x2e,0x34,0x35,0x39, + 0x37,0x38,0x31,0x2c,0x39,0x33,0x2e,0x32,0x32,0x39,0x39,0x36,0x38,0x20,0x38,0x33, + 0x2e,0x37,0x34,0x35,0x39,0x34,0x37,0x2c,0x39,0x37,0x2e,0x36,0x36,0x37,0x36,0x38, + 0x32,0x20,0x38,0x33,0x2e,0x36,0x39,0x37,0x37,0x31,0x33,0x2c,0x39,0x37,0x2e,0x37, + 0x39,0x34,0x35,0x35,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x32,0x31,0x38,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72, + 0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28, + 0x30,0x2e,0x36,0x30,0x31,0x38,0x36,0x35,0x32,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e, + 0x36,0x30,0x31,0x38,0x36,0x35,0x32,0x2c,0x2d,0x31,0x30,0x36,0x2e,0x34,0x36,0x32, + 0x34,0x33,0x2c,0x2d,0x32,0x35,0x32,0x2e,0x36,0x37,0x34,0x37,0x36,0x29,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67,0x33,0x37,0x38,0x37, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x66,0x69,0x6c, + 0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x38,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x33, + 0x32,0x34,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x36,0x2e,0x31,0x30,0x35,0x39, + 0x32,0x20,0x43,0x20,0x33,0x32,0x34,0x2e,0x30,0x32,0x39,0x39,0x36,0x2c,0x35,0x37, + 0x37,0x2e,0x36,0x32,0x34,0x38,0x36,0x20,0x33,0x31,0x38,0x2e,0x30,0x35,0x38,0x36, + 0x37,0x2c,0x35,0x38,0x33,0x2e,0x32,0x37,0x31,0x33,0x38,0x20,0x33,0x31,0x35,0x2e, + 0x32,0x37,0x32,0x36,0x35,0x2c,0x35,0x38,0x34,0x2e,0x39,0x33,0x32,0x30,0x32,0x20, + 0x4c,0x20,0x33,0x31,0x32,0x2e,0x31,0x39,0x32,0x38,0x2c,0x35,0x38,0x36,0x2e,0x37, + 0x36,0x37,0x38,0x20,0x4c,0x20,0x32,0x39,0x39,0x2e,0x35,0x32,0x30,0x39,0x2c,0x35, + 0x37,0x30,0x2e,0x32,0x35,0x33,0x38,0x36,0x20,0x4c,0x20,0x32,0x38,0x36,0x2e,0x38, + 0x34,0x38,0x39,0x39,0x2c,0x35,0x35,0x33,0x2e,0x37,0x33,0x39,0x39,0x34,0x20,0x4c, + 0x20,0x32,0x38,0x39,0x2e,0x30,0x33,0x30,0x31,0x39,0x2c,0x35,0x35,0x31,0x2e,0x34, + 0x37,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x39,0x31,0x2e,0x31,0x36,0x34,0x38,0x31, + 0x2c,0x35,0x34,0x39,0x2e,0x32,0x36,0x36,0x32,0x32,0x20,0x32,0x39,0x37,0x2e,0x35, + 0x36,0x39,0x38,0x35,0x2c,0x35,0x34,0x34,0x2e,0x39,0x36,0x37,0x39,0x35,0x20,0x32, + 0x39,0x39,0x2e,0x36,0x35,0x31,0x39,0x37,0x2c,0x35,0x34,0x34,0x2e,0x33,0x35,0x30, + 0x39,0x32,0x20,0x43,0x20,0x33,0x30,0x30,0x2e,0x35,0x35,0x35,0x39,0x35,0x2c,0x35, + 0x34,0x34,0x2e,0x30,0x38,0x33,0x30,0x32,0x20,0x33,0x30,0x32,0x2e,0x33,0x37,0x37, + 0x36,0x31,0x2c,0x35,0x34,0x36,0x2e,0x32,0x32,0x33,0x38,0x32,0x20,0x33,0x31,0x32, + 0x2e,0x37,0x37,0x30,0x30,0x37,0x2c,0x35,0x35,0x39,0x2e,0x37,0x36,0x37,0x32,0x20, + 0x43,0x20,0x33,0x31,0x39,0x2e,0x34,0x30,0x37,0x36,0x35,0x2c,0x35,0x36,0x38,0x2e, + 0x34,0x31,0x37,0x32,0x34,0x20,0x33,0x32,0x34,0x2e,0x37,0x33,0x34,0x30,0x31,0x2c, + 0x35,0x37,0x35,0x2e,0x37,0x36,0x39,0x36,0x37,0x20,0x33,0x32,0x34,0x2e,0x36,0x30, + 0x36,0x34,0x2c,0x35,0x37,0x36,0x2e,0x31,0x30,0x35,0x39,0x32,0x20,0x7a,0x20,0x4d, + 0x20,0x32,0x36,0x31,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x39,0x33,0x2e,0x37, + 0x31,0x38,0x35,0x36,0x20,0x43,0x20,0x32,0x36,0x30,0x2e,0x37,0x30,0x34,0x36,0x34, + 0x2c,0x34,0x39,0x34,0x2e,0x39,0x37,0x33,0x36,0x20,0x32,0x35,0x33,0x2e,0x31,0x36, + 0x39,0x33,0x32,0x2c,0x35,0x30,0x31,0x2e,0x33,0x39,0x37,0x35,0x32,0x20,0x32,0x35, + 0x30,0x2e,0x37,0x31,0x33,0x35,0x34,0x2c,0x35,0x30,0x32,0x2e,0x36,0x34,0x32,0x30, + 0x39,0x20,0x4c,0x20,0x32,0x34,0x38,0x2e,0x34,0x38,0x32,0x33,0x38,0x2c,0x35,0x30, + 0x33,0x2e,0x37,0x37,0x32,0x38,0x20,0x4c,0x20,0x32,0x33,0x35,0x2e,0x39,0x39,0x32, + 0x39,0x39,0x2c,0x34,0x38,0x37,0x2e,0x32,0x30,0x33,0x32,0x32,0x20,0x4c,0x20,0x32, + 0x32,0x33,0x2e,0x35,0x30,0x33,0x35,0x39,0x2c,0x34,0x37,0x30,0x2e,0x36,0x33,0x33, + 0x36,0x33,0x20,0x4c,0x20,0x32,0x32,0x37,0x2e,0x38,0x30,0x33,0x37,0x39,0x2c,0x34, + 0x36,0x37,0x2e,0x30,0x38,0x36,0x35,0x36,0x20,0x43,0x20,0x32,0x33,0x30,0x2e,0x31, + 0x36,0x38,0x39,0x31,0x2c,0x34,0x36,0x35,0x2e,0x31,0x33,0x35,0x36,0x37,0x20,0x32, + 0x33,0x33,0x2e,0x32,0x37,0x30,0x34,0x32,0x2c,0x34,0x36,0x33,0x2e,0x30,0x35,0x38, + 0x30,0x32,0x20,0x32,0x33,0x34,0x2e,0x36,0x39,0x36,0x30,0x33,0x2c,0x34,0x36,0x32, + 0x2e,0x34,0x36,0x39,0x35,0x35,0x20,0x4c,0x20,0x32,0x33,0x37,0x2e,0x32,0x38,0x38, + 0x30,0x35,0x2c,0x34,0x36,0x31,0x2e,0x33,0x39,0x39,0x36,0x31,0x20,0x4c,0x20,0x32, + 0x34,0x39,0x2e,0x33,0x38,0x34,0x35,0x35,0x2c,0x34,0x37,0x37,0x2e,0x31,0x36,0x33, + 0x36,0x37,0x20,0x43,0x20,0x32,0x35,0x37,0x2e,0x34,0x39,0x35,0x30,0x35,0x2c,0x34, + 0x38,0x37,0x2e,0x37,0x33,0x33,0x32,0x31,0x20,0x32,0x36,0x31,0x2e,0x33,0x38,0x32, + 0x31,0x36,0x2c,0x34,0x39,0x33,0x2e,0x31,0x38,0x38,0x33,0x32,0x20,0x32,0x36,0x31, + 0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x39,0x33,0x2e,0x37,0x31,0x38,0x35,0x36, + 0x20,0x7a,0x20,0x4d,0x20,0x33,0x30,0x39,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35, + 0x38,0x38,0x2e,0x33,0x30,0x35,0x33,0x20,0x43,0x20,0x33,0x30,0x39,0x2e,0x38,0x37, + 0x31,0x32,0x34,0x2c,0x35,0x38,0x38,0x2e,0x35,0x31,0x36,0x30,0x39,0x20,0x33,0x30, + 0x38,0x2e,0x34,0x37,0x35,0x2c,0x35,0x38,0x39,0x2e,0x33,0x36,0x34,0x31,0x38,0x20, + 0x33,0x30,0x36,0x2e,0x38,0x34,0x38,0x36,0x32,0x2c,0x35,0x39,0x30,0x2e,0x31,0x38, + 0x39,0x39,0x36,0x20,0x43,0x20,0x32,0x39,0x34,0x2e,0x30,0x36,0x37,0x35,0x36,0x2c, + 0x35,0x39,0x36,0x2e,0x36,0x37,0x39,0x34,0x31,0x20,0x32,0x37,0x33,0x2e,0x35,0x32, + 0x35,0x36,0x2c,0x35,0x38,0x39,0x2e,0x30,0x34,0x30,0x33,0x36,0x20,0x32,0x35,0x34, + 0x2e,0x31,0x38,0x36,0x37,0x32,0x2c,0x35,0x37,0x30,0x2e,0x36,0x30,0x36,0x33,0x33, + 0x20,0x43,0x20,0x32,0x34,0x37,0x2e,0x33,0x34,0x31,0x37,0x34,0x2c,0x35,0x36,0x34, + 0x2e,0x30,0x38,0x31,0x36,0x20,0x32,0x33,0x33,0x2e,0x32,0x32,0x31,0x36,0x35,0x2c, + 0x35,0x34,0x36,0x2e,0x36,0x30,0x32,0x39,0x37,0x20,0x32,0x32,0x37,0x2e,0x36,0x34, + 0x33,0x35,0x37,0x2c,0x35,0x33,0x37,0x2e,0x37,0x34,0x39,0x37,0x32,0x20,0x43,0x20, + 0x32,0x31,0x36,0x2e,0x38,0x37,0x39,0x30,0x32,0x2c,0x35,0x32,0x30,0x2e,0x36,0x36, + 0x34,0x37,0x38,0x20,0x32,0x31,0x31,0x2e,0x38,0x31,0x36,0x37,0x37,0x2c,0x35,0x30, + 0x36,0x2e,0x33,0x32,0x31,0x30,0x32,0x20,0x32,0x31,0x31,0x2e,0x39,0x36,0x35,0x39, + 0x38,0x2c,0x34,0x39,0x33,0x2e,0x33,0x32,0x37,0x36,0x36,0x20,0x43,0x20,0x32,0x31, + 0x32,0x2e,0x30,0x35,0x39,0x31,0x2c,0x34,0x38,0x35,0x2e,0x32,0x31,0x38,0x37,0x32, + 0x20,0x32,0x31,0x34,0x2e,0x37,0x32,0x30,0x34,0x37,0x2c,0x34,0x37,0x38,0x2e,0x33, + 0x37,0x36,0x37,0x20,0x32,0x31,0x39,0x2e,0x34,0x39,0x32,0x38,0x34,0x2c,0x34,0x37, + 0x33,0x2e,0x39,0x37,0x37,0x30,0x34,0x20,0x4c,0x20,0x32,0x32,0x31,0x2e,0x31,0x32, + 0x39,0x32,0x33,0x2c,0x34,0x37,0x32,0x2e,0x34,0x36,0x38,0x34,0x34,0x20,0x4c,0x20, + 0x32,0x33,0x33,0x2e,0x36,0x38,0x32,0x2c,0x34,0x38,0x38,0x2e,0x35,0x38,0x32,0x38, + 0x33,0x20,0x4c,0x20,0x32,0x34,0x36,0x2e,0x32,0x33,0x34,0x37,0x38,0x2c,0x35,0x30, + 0x34,0x2e,0x36,0x39,0x37,0x32,0x32,0x20,0x4c,0x20,0x32,0x34,0x35,0x2e,0x32,0x31, + 0x39,0x35,0x32,0x2c,0x35,0x30,0x36,0x2e,0x34,0x35,0x35,0x37,0x35,0x20,0x43,0x20, + 0x32,0x34,0x33,0x2e,0x38,0x31,0x37,0x31,0x38,0x2c,0x35,0x30,0x38,0x2e,0x38,0x38, + 0x34,0x37,0x20,0x32,0x34,0x34,0x2e,0x30,0x37,0x30,0x38,0x34,0x2c,0x35,0x31,0x32, + 0x2e,0x30,0x37,0x30,0x34,0x20,0x32,0x34,0x36,0x2e,0x30,0x35,0x32,0x35,0x34,0x2c, + 0x35,0x31,0x36,0x2e,0x39,0x31,0x37,0x34,0x39,0x20,0x43,0x20,0x32,0x34,0x38,0x2e, + 0x35,0x33,0x39,0x36,0x36,0x2c,0x35,0x32,0x33,0x2e,0x30,0x30,0x30,0x37,0x39,0x20, + 0x32,0x36,0x38,0x2e,0x32,0x37,0x31,0x39,0x33,0x2c,0x35,0x34,0x38,0x2e,0x37,0x30, + 0x32,0x37,0x35,0x20,0x32,0x37,0x33,0x2e,0x35,0x36,0x35,0x37,0x37,0x2c,0x35,0x35, + 0x32,0x2e,0x37,0x35,0x34,0x34,0x32,0x20,0x43,0x20,0x32,0x37,0x37,0x2e,0x37,0x32, + 0x35,0x38,0x36,0x2c,0x35,0x35,0x35,0x2e,0x39,0x33,0x38,0x33,0x37,0x20,0x32,0x38, + 0x30,0x2e,0x32,0x38,0x35,0x31,0x32,0x2c,0x35,0x35,0x36,0x2e,0x38,0x36,0x37,0x38, + 0x38,0x20,0x32,0x38,0x33,0x2e,0x33,0x36,0x31,0x30,0x34,0x2c,0x35,0x35,0x36,0x2e, + 0x33,0x31,0x32,0x30,0x32,0x20,0x4c,0x20,0x32,0x38,0x35,0x2e,0x35,0x33,0x39,0x31, + 0x38,0x2c,0x35,0x35,0x35,0x2e,0x39,0x31,0x38,0x34,0x20,0x4c,0x20,0x32,0x39,0x37, + 0x2e,0x38,0x31,0x38,0x31,0x32,0x2c,0x35,0x37,0x31,0x2e,0x39,0x32,0x30,0x32,0x33, + 0x20,0x43,0x20,0x33,0x30,0x34,0x2e,0x35,0x37,0x31,0x35,0x34,0x2c,0x35,0x38,0x30, + 0x2e,0x37,0x32,0x31,0x32,0x34,0x20,0x33,0x31,0x30,0x2e,0x30,0x33,0x31,0x35,0x31, + 0x2c,0x35,0x38,0x38,0x2e,0x30,0x39,0x34,0x35,0x31,0x20,0x33,0x30,0x39,0x2e,0x39, + 0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x38,0x2e,0x33,0x30,0x35,0x33,0x20,0x7a,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x33,0x32,0x30,0x30,0x30, + 0x30,0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x66,0x69,0x6c, + 0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x33,0x33,0x30,0x2e,0x36, + 0x30,0x36,0x34,0x2c,0x35,0x37,0x30,0x2e,0x31,0x30,0x35,0x39,0x32,0x20,0x43,0x20, + 0x33,0x33,0x30,0x2e,0x30,0x32,0x39,0x39,0x36,0x2c,0x35,0x37,0x31,0x2e,0x36,0x32, + 0x34,0x38,0x36,0x20,0x33,0x32,0x34,0x2e,0x30,0x35,0x38,0x36,0x37,0x2c,0x35,0x37, + 0x37,0x2e,0x32,0x37,0x31,0x33,0x38,0x20,0x33,0x32,0x31,0x2e,0x32,0x37,0x32,0x36, + 0x35,0x2c,0x35,0x37,0x38,0x2e,0x39,0x33,0x32,0x30,0x32,0x20,0x4c,0x20,0x33,0x31, + 0x38,0x2e,0x31,0x39,0x32,0x38,0x2c,0x35,0x38,0x30,0x2e,0x37,0x36,0x37,0x38,0x20, + 0x4c,0x20,0x33,0x30,0x35,0x2e,0x35,0x32,0x30,0x39,0x2c,0x35,0x36,0x34,0x2e,0x32, + 0x35,0x33,0x38,0x36,0x20,0x4c,0x20,0x32,0x39,0x32,0x2e,0x38,0x34,0x38,0x39,0x39, + 0x2c,0x35,0x34,0x37,0x2e,0x37,0x33,0x39,0x39,0x34,0x20,0x4c,0x20,0x32,0x39,0x35, + 0x2e,0x30,0x33,0x30,0x31,0x39,0x2c,0x35,0x34,0x35,0x2e,0x34,0x37,0x38,0x39,0x35, + 0x20,0x43,0x20,0x32,0x39,0x37,0x2e,0x31,0x36,0x34,0x38,0x31,0x2c,0x35,0x34,0x33, + 0x2e,0x32,0x36,0x36,0x32,0x32,0x20,0x33,0x30,0x33,0x2e,0x35,0x36,0x39,0x38,0x35, + 0x2c,0x35,0x33,0x38,0x2e,0x39,0x36,0x37,0x39,0x35,0x20,0x33,0x30,0x35,0x2e,0x36, + 0x35,0x31,0x39,0x37,0x2c,0x35,0x33,0x38,0x2e,0x33,0x35,0x30,0x39,0x32,0x20,0x43, + 0x20,0x33,0x30,0x36,0x2e,0x35,0x35,0x35,0x39,0x35,0x2c,0x35,0x33,0x38,0x2e,0x30, + 0x38,0x33,0x30,0x32,0x20,0x33,0x30,0x38,0x2e,0x33,0x37,0x37,0x36,0x31,0x2c,0x35, + 0x34,0x30,0x2e,0x32,0x32,0x33,0x38,0x32,0x20,0x33,0x31,0x38,0x2e,0x37,0x37,0x30, + 0x30,0x37,0x2c,0x35,0x35,0x33,0x2e,0x37,0x36,0x37,0x32,0x20,0x43,0x20,0x33,0x32, + 0x35,0x2e,0x34,0x30,0x37,0x36,0x35,0x2c,0x35,0x36,0x32,0x2e,0x34,0x31,0x37,0x32, + 0x34,0x20,0x33,0x33,0x30,0x2e,0x37,0x33,0x34,0x30,0x31,0x2c,0x35,0x36,0x39,0x2e, + 0x37,0x36,0x39,0x36,0x37,0x20,0x33,0x33,0x30,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35, + 0x37,0x30,0x2e,0x31,0x30,0x35,0x39,0x32,0x20,0x7a,0x20,0x4d,0x20,0x32,0x36,0x37, + 0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x38,0x37,0x2e,0x37,0x31,0x38,0x35,0x36, + 0x20,0x43,0x20,0x32,0x36,0x36,0x2e,0x37,0x30,0x34,0x36,0x34,0x2c,0x34,0x38,0x38, + 0x2e,0x39,0x37,0x33,0x36,0x20,0x32,0x35,0x39,0x2e,0x31,0x36,0x39,0x33,0x32,0x2c, + 0x34,0x39,0x35,0x2e,0x33,0x39,0x37,0x35,0x32,0x20,0x32,0x35,0x36,0x2e,0x37,0x31, + 0x33,0x35,0x34,0x2c,0x34,0x39,0x36,0x2e,0x36,0x34,0x32,0x30,0x39,0x20,0x4c,0x20, + 0x32,0x35,0x34,0x2e,0x34,0x38,0x32,0x33,0x38,0x2c,0x34,0x39,0x37,0x2e,0x37,0x37, + 0x32,0x38,0x20,0x4c,0x20,0x32,0x34,0x31,0x2e,0x39,0x39,0x32,0x39,0x39,0x2c,0x34, + 0x38,0x31,0x2e,0x32,0x30,0x33,0x32,0x32,0x20,0x4c,0x20,0x32,0x32,0x39,0x2e,0x35, + 0x30,0x33,0x35,0x39,0x2c,0x34,0x36,0x34,0x2e,0x36,0x33,0x33,0x36,0x33,0x20,0x4c, + 0x20,0x32,0x33,0x33,0x2e,0x38,0x30,0x33,0x37,0x39,0x2c,0x34,0x36,0x31,0x2e,0x30, + 0x38,0x36,0x35,0x36,0x20,0x43,0x20,0x32,0x33,0x36,0x2e,0x31,0x36,0x38,0x39,0x31, + 0x2c,0x34,0x35,0x39,0x2e,0x31,0x33,0x35,0x36,0x37,0x20,0x32,0x33,0x39,0x2e,0x32, + 0x37,0x30,0x34,0x32,0x2c,0x34,0x35,0x37,0x2e,0x30,0x35,0x38,0x30,0x32,0x20,0x32, + 0x34,0x30,0x2e,0x36,0x39,0x36,0x30,0x33,0x2c,0x34,0x35,0x36,0x2e,0x34,0x36,0x39, + 0x35,0x35,0x20,0x4c,0x20,0x32,0x34,0x33,0x2e,0x32,0x38,0x38,0x30,0x35,0x2c,0x34, + 0x35,0x35,0x2e,0x33,0x39,0x39,0x36,0x31,0x20,0x4c,0x20,0x32,0x35,0x35,0x2e,0x33, + 0x38,0x34,0x35,0x35,0x2c,0x34,0x37,0x31,0x2e,0x31,0x36,0x33,0x36,0x37,0x20,0x43, + 0x20,0x32,0x36,0x33,0x2e,0x34,0x39,0x35,0x30,0x35,0x2c,0x34,0x38,0x31,0x2e,0x37, + 0x33,0x33,0x32,0x31,0x20,0x32,0x36,0x37,0x2e,0x33,0x38,0x32,0x31,0x36,0x2c,0x34, + 0x38,0x37,0x2e,0x31,0x38,0x38,0x33,0x32,0x20,0x32,0x36,0x37,0x2e,0x31,0x38,0x30, + 0x39,0x33,0x2c,0x34,0x38,0x37,0x2e,0x37,0x31,0x38,0x35,0x36,0x20,0x7a,0x20,0x4d, + 0x20,0x33,0x31,0x35,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x32,0x2e,0x33, + 0x30,0x35,0x33,0x20,0x43,0x20,0x33,0x31,0x35,0x2e,0x38,0x37,0x31,0x32,0x34,0x2c, + 0x35,0x38,0x32,0x2e,0x35,0x31,0x36,0x30,0x39,0x20,0x33,0x31,0x34,0x2e,0x34,0x37, + 0x35,0x2c,0x35,0x38,0x33,0x2e,0x33,0x36,0x34,0x31,0x38,0x20,0x33,0x31,0x32,0x2e, + 0x38,0x34,0x38,0x36,0x32,0x2c,0x35,0x38,0x34,0x2e,0x31,0x38,0x39,0x39,0x36,0x20, + 0x43,0x20,0x33,0x30,0x30,0x2e,0x30,0x36,0x37,0x35,0x36,0x2c,0x35,0x39,0x30,0x2e, + 0x36,0x37,0x39,0x34,0x31,0x20,0x32,0x37,0x39,0x2e,0x35,0x32,0x35,0x36,0x2c,0x35, + 0x38,0x33,0x2e,0x30,0x34,0x30,0x33,0x36,0x20,0x32,0x36,0x30,0x2e,0x31,0x38,0x36, + 0x37,0x32,0x2c,0x35,0x36,0x34,0x2e,0x36,0x30,0x36,0x33,0x33,0x20,0x43,0x20,0x32, + 0x35,0x33,0x2e,0x33,0x34,0x31,0x37,0x34,0x2c,0x35,0x35,0x38,0x2e,0x30,0x38,0x31, + 0x36,0x20,0x32,0x33,0x39,0x2e,0x32,0x32,0x31,0x36,0x35,0x2c,0x35,0x34,0x30,0x2e, + 0x36,0x30,0x32,0x39,0x37,0x20,0x32,0x33,0x33,0x2e,0x36,0x34,0x33,0x35,0x37,0x2c, + 0x35,0x33,0x31,0x2e,0x37,0x34,0x39,0x37,0x32,0x20,0x43,0x20,0x32,0x32,0x32,0x2e, + 0x38,0x37,0x39,0x30,0x32,0x2c,0x35,0x31,0x34,0x2e,0x36,0x36,0x34,0x37,0x38,0x20, + 0x32,0x31,0x37,0x2e,0x38,0x31,0x36,0x37,0x37,0x2c,0x35,0x30,0x30,0x2e,0x33,0x32, + 0x31,0x30,0x32,0x20,0x32,0x31,0x37,0x2e,0x39,0x36,0x35,0x39,0x38,0x2c,0x34,0x38, + 0x37,0x2e,0x33,0x32,0x37,0x36,0x36,0x20,0x43,0x20,0x32,0x31,0x38,0x2e,0x30,0x35, + 0x39,0x31,0x2c,0x34,0x37,0x39,0x2e,0x32,0x31,0x38,0x37,0x32,0x20,0x32,0x32,0x30, + 0x2e,0x37,0x32,0x30,0x34,0x37,0x2c,0x34,0x37,0x32,0x2e,0x33,0x37,0x36,0x37,0x20, + 0x32,0x32,0x35,0x2e,0x34,0x39,0x32,0x38,0x34,0x2c,0x34,0x36,0x37,0x2e,0x39,0x37, + 0x37,0x30,0x34,0x20,0x4c,0x20,0x32,0x32,0x37,0x2e,0x31,0x32,0x39,0x32,0x33,0x2c, + 0x34,0x36,0x36,0x2e,0x34,0x36,0x38,0x34,0x34,0x20,0x4c,0x20,0x32,0x33,0x39,0x2e, + 0x36,0x38,0x32,0x2c,0x34,0x38,0x32,0x2e,0x35,0x38,0x32,0x38,0x33,0x20,0x4c,0x20, + 0x32,0x35,0x32,0x2e,0x32,0x33,0x34,0x37,0x38,0x2c,0x34,0x39,0x38,0x2e,0x36,0x39, + 0x37,0x32,0x32,0x20,0x4c,0x20,0x32,0x35,0x31,0x2e,0x32,0x31,0x39,0x35,0x32,0x2c, + 0x35,0x30,0x30,0x2e,0x34,0x35,0x35,0x37,0x35,0x20,0x43,0x20,0x32,0x34,0x39,0x2e, + 0x38,0x31,0x37,0x31,0x38,0x2c,0x35,0x30,0x32,0x2e,0x38,0x38,0x34,0x37,0x20,0x32, + 0x35,0x30,0x2e,0x30,0x37,0x30,0x38,0x34,0x2c,0x35,0x30,0x36,0x2e,0x30,0x37,0x30, + 0x34,0x20,0x32,0x35,0x32,0x2e,0x30,0x35,0x32,0x35,0x34,0x2c,0x35,0x31,0x30,0x2e, + 0x39,0x31,0x37,0x34,0x39,0x20,0x43,0x20,0x32,0x35,0x34,0x2e,0x35,0x33,0x39,0x36, + 0x36,0x2c,0x35,0x31,0x37,0x2e,0x30,0x30,0x30,0x37,0x39,0x20,0x32,0x37,0x34,0x2e, + 0x32,0x37,0x31,0x39,0x33,0x2c,0x35,0x34,0x32,0x2e,0x37,0x30,0x32,0x37,0x35,0x20, + 0x32,0x37,0x39,0x2e,0x35,0x36,0x35,0x37,0x37,0x2c,0x35,0x34,0x36,0x2e,0x37,0x35, + 0x34,0x34,0x32,0x20,0x43,0x20,0x32,0x38,0x33,0x2e,0x37,0x32,0x35,0x38,0x36,0x2c, + 0x35,0x34,0x39,0x2e,0x39,0x33,0x38,0x33,0x37,0x20,0x32,0x38,0x36,0x2e,0x32,0x38, + 0x35,0x31,0x32,0x2c,0x35,0x35,0x30,0x2e,0x38,0x36,0x37,0x38,0x38,0x20,0x32,0x38, + 0x39,0x2e,0x33,0x36,0x31,0x30,0x34,0x2c,0x35,0x35,0x30,0x2e,0x33,0x31,0x32,0x30, + 0x32,0x20,0x4c,0x20,0x32,0x39,0x31,0x2e,0x35,0x33,0x39,0x31,0x38,0x2c,0x35,0x34, + 0x39,0x2e,0x39,0x31,0x38,0x34,0x20,0x4c,0x20,0x33,0x30,0x33,0x2e,0x38,0x31,0x38, + 0x31,0x32,0x2c,0x35,0x36,0x35,0x2e,0x39,0x32,0x30,0x32,0x33,0x20,0x43,0x20,0x33, + 0x31,0x30,0x2e,0x35,0x37,0x31,0x35,0x34,0x2c,0x35,0x37,0x34,0x2e,0x37,0x32,0x31, + 0x32,0x34,0x20,0x33,0x31,0x36,0x2e,0x30,0x33,0x31,0x35,0x31,0x2c,0x35,0x38,0x32, + 0x2e,0x30,0x39,0x34,0x35,0x31,0x20,0x33,0x31,0x35,0x2e,0x39,0x35,0x31,0x33,0x37, + 0x2c,0x35,0x38,0x32,0x2e,0x33,0x30,0x35,0x33,0x20,0x7a,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37, + 0x39,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c, + 0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x33,0x38,0x30,0x39,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x33,0x39, + 0x2e,0x39,0x36,0x31,0x39,0x39,0x31,0x2c,0x32,0x31,0x2e,0x34,0x30,0x32,0x35,0x38, + 0x37,0x20,0x4c,0x20,0x33,0x38,0x2e,0x33,0x39,0x30,0x39,0x37,0x32,0x2c,0x32,0x32, + 0x2e,0x30,0x36,0x32,0x34,0x31,0x35,0x20,0x43,0x20,0x33,0x37,0x2e,0x35,0x33,0x32, + 0x39,0x34,0x37,0x2c,0x32,0x32,0x2e,0x34,0x31,0x36,0x35,0x39,0x34,0x20,0x33,0x35, + 0x2e,0x36,0x36,0x36,0x39,0x36,0x37,0x2c,0x32,0x33,0x2e,0x36,0x35,0x33,0x32,0x33, + 0x34,0x20,0x33,0x34,0x2e,0x32,0x34,0x33,0x34,0x38,0x34,0x2c,0x32,0x34,0x2e,0x38, + 0x32,0x37,0x34,0x30,0x37,0x20,0x4c,0x20,0x33,0x31,0x2e,0x36,0x36,0x37,0x30,0x31, + 0x34,0x2c,0x32,0x36,0x2e,0x39,0x36,0x33,0x39,0x39,0x32,0x20,0x4c,0x20,0x33,0x39, + 0x2e,0x31,0x37,0x36,0x34,0x38,0x32,0x2c,0x33,0x36,0x2e,0x39,0x35,0x35,0x36,0x36, + 0x39,0x20,0x4c,0x20,0x34,0x33,0x2e,0x31,0x36,0x36,0x38,0x36,0x38,0x2c,0x34,0x32, + 0x2e,0x32,0x33,0x34,0x32,0x39,0x20,0x43,0x20,0x34,0x34,0x2e,0x38,0x33,0x33,0x34, + 0x39,0x33,0x2c,0x33,0x39,0x2e,0x30,0x30,0x37,0x36,0x34,0x38,0x20,0x34,0x36,0x2e, + 0x38,0x34,0x34,0x38,0x31,0x32,0x2c,0x33,0x36,0x2e,0x30,0x33,0x37,0x39,0x32,0x33, + 0x20,0x34,0x39,0x2e,0x31,0x30,0x35,0x33,0x31,0x38,0x2c,0x33,0x33,0x2e,0x33,0x34, + 0x32,0x33,0x32,0x36,0x20,0x43,0x20,0x34,0x38,0x2e,0x35,0x30,0x31,0x37,0x33,0x31, + 0x2c,0x33,0x32,0x2e,0x35,0x34,0x35,0x37,0x35,0x38,0x20,0x34,0x37,0x2e,0x39,0x36, + 0x32,0x37,0x38,0x38,0x2c,0x33,0x31,0x2e,0x38,0x31,0x38,0x34,0x36,0x32,0x20,0x34, + 0x37,0x2e,0x32,0x35,0x31,0x35,0x31,0x36,0x2c,0x33,0x30,0x2e,0x38,0x39,0x31,0x35, + 0x33,0x38,0x20,0x4c,0x20,0x33,0x39,0x2e,0x39,0x36,0x31,0x39,0x39,0x31,0x2c,0x32, + 0x31,0x2e,0x34,0x30,0x32,0x35,0x38,0x37,0x20,0x7a,0x20,0x4d,0x20,0x33,0x30,0x2e, + 0x32,0x35,0x33,0x30,0x39,0x37,0x2c,0x32,0x38,0x2e,0x30,0x36,0x33,0x37,0x30,0x35, + 0x20,0x4c,0x20,0x32,0x39,0x2e,0x32,0x34,0x37,0x36,0x34,0x35,0x2c,0x32,0x38,0x2e, + 0x39,0x37,0x34,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x36,0x2e,0x33,0x37,0x35,0x33, + 0x32,0x32,0x2c,0x33,0x31,0x2e,0x36,0x32,0x32,0x38,0x39,0x37,0x20,0x32,0x34,0x2e, + 0x37,0x37,0x39,0x31,0x35,0x37,0x2c,0x33,0x35,0x2e,0x37,0x35,0x31,0x33,0x36,0x35, + 0x20,0x32,0x34,0x2e,0x37,0x32,0x33,0x31,0x31,0x33,0x2c,0x34,0x30,0x2e,0x36,0x33, + 0x31,0x38,0x35,0x32,0x20,0x43,0x20,0x32,0x34,0x2e,0x36,0x33,0x33,0x33,0x30,0x39, + 0x2c,0x34,0x38,0x2e,0x34,0x35,0x32,0x31,0x30,0x34,0x20,0x32,0x37,0x2e,0x36,0x37, + 0x30,0x34,0x31,0x35,0x2c,0x35,0x37,0x2e,0x30,0x38,0x37,0x37,0x35,0x35,0x20,0x33, + 0x34,0x2e,0x31,0x34,0x39,0x32,0x32,0x33,0x2c,0x36,0x37,0x2e,0x33,0x37,0x30,0x35, + 0x38,0x34,0x20,0x43,0x20,0x33,0x35,0x2e,0x30,0x33,0x36,0x35,0x30,0x36,0x2c,0x36, + 0x38,0x2e,0x37,0x37,0x38,0x38,0x33,0x36,0x20,0x33,0x36,0x2e,0x33,0x30,0x31,0x33, + 0x39,0x36,0x2c,0x37,0x30,0x2e,0x35,0x34,0x34,0x37,0x35,0x37,0x20,0x33,0x37,0x2e, + 0x37,0x33,0x31,0x31,0x34,0x35,0x2c,0x37,0x32,0x2e,0x34,0x36,0x30,0x36,0x38,0x34, + 0x20,0x43,0x20,0x33,0x37,0x2e,0x35,0x31,0x38,0x39,0x35,0x31,0x2c,0x37,0x30,0x2e, + 0x35,0x31,0x32,0x32,0x36,0x20,0x33,0x37,0x2e,0x33,0x38,0x35,0x35,0x32,0x31,0x2c, + 0x36,0x38,0x2e,0x35,0x33,0x35,0x30,0x37,0x31,0x20,0x33,0x37,0x2e,0x33,0x38,0x35, + 0x35,0x32,0x31,0x2c,0x36,0x36,0x2e,0x35,0x32,0x32,0x32,0x33,0x34,0x20,0x43,0x20, + 0x33,0x37,0x2e,0x33,0x38,0x35,0x35,0x32,0x31,0x2c,0x35,0x38,0x2e,0x32,0x39,0x32, + 0x32,0x38,0x20,0x33,0x39,0x2e,0x31,0x39,0x32,0x34,0x36,0x31,0x2c,0x35,0x30,0x2e, + 0x35,0x32,0x36,0x33,0x37,0x32,0x20,0x34,0x32,0x2e,0x34,0x31,0x32,0x37,0x37,0x39, + 0x2c,0x34,0x33,0x2e,0x37,0x34,0x32,0x34,0x36,0x38,0x20,0x4c,0x20,0x33,0x37,0x2e, + 0x37,0x39,0x33,0x39,0x38,0x35,0x2c,0x33,0x37,0x2e,0x37,0x37,0x32,0x35,0x39,0x38, + 0x20,0x4c,0x20,0x33,0x30,0x2e,0x32,0x35,0x33,0x30,0x39,0x37,0x2c,0x32,0x38,0x2e, + 0x30,0x36,0x33,0x37,0x30,0x35,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x39,0x38,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa, + + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/speaker_50.svg + 0x0,0x0,0xb,0x30, + 0x0, + 0x0,0x34,0x49,0x78,0x9c,0xed,0x5a,0x5b,0x93,0xdb,0xb6,0x15,0x7e,0xf7,0xaf,0x50, + 0xe5,0x17,0x7b,0x2a,0x41,0xb8,0x5f,0xb4,0xbb,0xce,0x43,0x32,0xc9,0x64,0x26,0x99, + 0x76,0x9a,0x78,0xfa,0x98,0xe1,0x92,0x90,0xc4,0x9a,0x12,0x55,0x92,0xf2,0xae,0xf2, + 0xeb,0x7b,0x0,0x89,0x17,0x48,0xd4,0x4a,0x5a,0xef,0xda,0xed,0x4c,0x57,0xc9,0x98, + 0x3c,0xb8,0x1c,0xe0,0x3b,0x1f,0xce,0x39,0x0,0x71,0xfb,0xdd,0xe3,0x32,0x1b,0x7c, + 0xb6,0x45,0x99,0xe6,0xab,0xbb,0x21,0x41,0x78,0x38,0xb0,0xab,0x38,0x4f,0xd2,0xd5, + 0xfc,0x6e,0xf8,0xf1,0xf7,0x1f,0xc7,0x7a,0x38,0x28,0xab,0x68,0x95,0x44,0x59,0xbe, + 0xb2,0x77,0xc3,0x55,0x3e,0xfc,0xee,0xc3,0x9b,0xdb,0xbf,0x8c,0xc7,0x83,0xef,0xb, + 0x1b,0x55,0x36,0x19,0x3c,0xa4,0xd5,0x62,0xf0,0xf3,0xea,0x53,0x19,0x47,0x6b,0x3b, + 0x78,0xb7,0xa8,0xaa,0xf5,0x74,0x32,0x79,0x78,0x78,0x40,0xe9,0x5e,0x88,0xf2,0x62, + 0x3e,0x79,0x3f,0x18,0x8f,0xa1,0x65,0xf9,0x79,0xfe,0x66,0x30,0x18,0x80,0xda,0x55, + 0x39,0x4d,0xe2,0xbb,0xe1,0xbe,0xfe,0x7a,0x53,0x64,0xbe,0x5e,0x12,0x4f,0x6c,0x66, + 0x97,0x76,0x55,0x95,0x13,0x82,0xc8,0x64,0xd8,0x56,0x8f,0xdb,0xea,0xf,0xf6,0x1e, + 0x15,0xb6,0xcc,0x37,0x45,0xbc,0xeb,0x3e,0x8e,0xbb,0x35,0x8b,0x64,0xd6,0x56,0x85, + 0x91,0x3c,0x30,0x5f,0x89,0x18,0x63,0x26,0x98,0x4e,0x28,0x1d,0x43,0x8d,0x71,0xb9, + 0x5d,0x55,0xd1,0xe3,0x78,0x55,0xbe,0xed,0x34,0x85,0x1,0xf6,0x35,0xa5,0x18,0xe3, + 0x9,0x94,0xb5,0x35,0x2f,0xab,0x35,0x7d,0xcc,0x0,0x86,0x93,0x83,0xf1,0xa5,0x5d, + 0xed,0x0,0xfd,0x1a,0xfe,0x6f,0x1a,0xd4,0x2,0xb4,0x9b,0xeb,0xc,0x5a,0x5a,0xb4, + 0xb2,0xd5,0xe4,0x87,0xdf,0x7f,0x68,0xa,0xc7,0x18,0x25,0x55,0xd2,0xe9,0xa6,0x46, + 0x3e,0xd0,0x1b,0x98,0x63,0x15,0x2d,0x6d,0xb9,0x8e,0x62,0x5b,0x4e,0x6a,0xb9,0x6f, + 0xff,0x90,0x26,0xd5,0x2,0x98,0x20,0xfd,0xdb,0xc2,0xa6,0xf3,0x45,0xd5,0xbc,0xa6, + 0xc9,0xdd,0x10,0x66,0x47,0xfd,0x4b,0xad,0x7c,0xda,0xd0,0x7,0x23,0xb6,0x2b,0xaa, + 0x7b,0xec,0x16,0x71,0x81,0x88,0x2f,0xc,0xd8,0x16,0x74,0x94,0xe4,0xf1,0x7d,0x54, + 0xc2,0xa0,0x27,0x8b,0x7c,0x69,0xc7,0x59,0x1e,0x47,0xd9,0x64,0x9d,0xdd,0xdb,0x68, + 0x93,0xe4,0xe9,0x6a,0xf2,0xdb,0x8f,0xbf,0xfc,0x7d,0x1,0x34,0x9c,0x94,0xb3,0x6c, + 0x1d,0x3c,0x8c,0xe7,0xd5,0xa7,0xc9,0x3a,0x7d,0x5c,0x46,0xeb,0xf2,0xa8,0x4f,0x37, + 0x55,0x18,0xf7,0xda,0x46,0x9f,0x6c,0xf1,0x87,0xc0,0xa8,0x36,0x50,0x33,0xcc,0x7c, + 0x53,0xad,0x37,0xd5,0x1f,0xf6,0xb1,0xb2,0xab,0xdd,0xd8,0x0,0xa2,0xe,0x5e,0xbe, + 0xd8,0x35,0x6b,0x64,0xc3,0xf,0xd0,0xc1,0x6d,0x62,0x67,0xa5,0xeb,0x68,0x87,0x8c, + 0x7b,0xe3,0xbe,0x0,0x8a,0xc0,0xae,0x36,0x2a,0x7e,0x2a,0xa2,0x24,0x5,0x2a,0xef, + 0x2a,0x75,0x34,0xc6,0x79,0x96,0xd9,0x18,0x90,0x8d,0xb2,0x87,0x68,0xbb,0x1b,0x73, + 0xdd,0x4f,0xd8,0x94,0x71,0xa2,0xf6,0x9d,0x42,0xb7,0x65,0x95,0xaf,0xeb,0xba,0x30, + 0xcb,0x6a,0x9b,0xb9,0xa9,0x81,0x70,0xc,0x3d,0xe6,0xc5,0xf4,0x2d,0xf6,0x7f,0x37, + 0x5e,0x94,0x83,0x7d,0xd3,0x6a,0x3b,0x25,0x37,0xc3,0xb6,0x4d,0x3e,0x9b,0x95,0x16, + 0x14,0xe3,0x8e,0xcc,0xdb,0x15,0x5a,0x80,0x2e,0x33,0x1c,0x4c,0xbe,0x4c,0x1b,0xee, + 0xd3,0x46,0x7a,0xb5,0x51,0xd2,0x68,0xbb,0x9d,0x84,0xd3,0x7e,0x1a,0xc6,0x63,0x94, + 0x98,0xc2,0x57,0xa0,0x94,0x28,0xf7,0x7b,0x2e,0x4a,0x4c,0xd1,0xab,0x50,0x52,0xb1, + 0xfb,0x5d,0xa0,0xad,0x17,0x25,0xa6,0xf8,0xcb,0xa1,0x24,0xe9,0x57,0xe3,0x12,0x93, + 0xfc,0x2a,0x94,0x66,0xfe,0xef,0xd9,0x28,0x49,0xf9,0x52,0x28,0x71,0xcc,0xc5,0x15, + 0x28,0xf5,0x8d,0x1b,0x5f,0x8,0x12,0xa8,0x52,0xd7,0x81,0x14,0xcf,0xee,0xe3,0xfb, + 0x3,0x90,0x2e,0xc4,0x8,0x94,0x99,0x17,0xc3,0x88,0x4a,0x73,0x5,0x46,0x24,0xb9, + 0x7f,0x3e,0x93,0x38,0x55,0xe4,0x2a,0x90,0xfa,0xb4,0x5d,0xec,0x95,0x40,0x1b,0x7b, + 0x31,0x94,0x88,0x66,0xa7,0x50,0x6a,0xf4,0x11,0x2d,0xce,0x0,0x71,0x39,0xa0,0x27, + 0x51,0xea,0x68,0x53,0x67,0x80,0xe8,0x73,0x4,0x33,0x31,0x7b,0x42,0xdb,0x17,0xa3, + 0x24,0xaf,0x89,0x70,0xda,0x39,0x25,0xfb,0x5c,0x2e,0x11,0x79,0x5d,0x84,0x73,0x30, + 0x13,0xfe,0x5c,0x2e,0x11,0xf5,0xdc,0x8,0x77,0x2e,0x51,0xf0,0x89,0xe3,0x74,0x51, + 0x58,0x48,0x74,0xdf,0xf6,0xb0,0xee,0x34,0xdc,0x94,0x52,0xde,0x76,0x43,0x5c,0x72, + 0x87,0x34,0x95,0xca,0xc8,0x46,0xba,0x5,0xa9,0x44,0x8a,0x6a,0xad,0x48,0xdb,0xd5, + 0x23,0xbd,0x1b,0x52,0x85,0x84,0xa4,0x2d,0x61,0xb7,0x4e,0x46,0x91,0x20,0x54,0xe0, + 0x56,0x3a,0xdf,0xab,0xfa,0xb8,0x4a,0x2b,0xc8,0x93,0x37,0xa5,0x2d,0x7e,0x73,0xb9, + 0xe6,0xdf,0x56,0x1f,0x4b,0x7b,0x54,0xeb,0xf7,0x22,0x5a,0x95,0x90,0xd8,0x2e,0xef, + 0x86,0xcb,0xa8,0x2a,0xd2,0xc7,0x77,0x18,0x69,0x25,0x30,0x15,0x23,0xec,0x7e,0xcd, + 0xb,0x92,0x52,0x2a,0xcc,0xe0,0x81,0x28,0x65,0xb0,0x7a,0xdf,0x62,0xdb,0x8f,0xe2, + 0x69,0xd,0x4,0x49,0x6a,0x8,0xf3,0xa,0xc6,0xf5,0xcb,0x98,0x60,0x84,0xa5,0xc4, + 0x7a,0xc4,0xc,0x52,0xc4,0x68,0xd0,0x70,0xdd,0x94,0x1c,0x1c,0x12,0x49,0xa5,0xb0, + 0x51,0x3a,0x0,0x8e,0x8,0xa4,0xb1,0xa4,0xfb,0x4,0xb9,0x6,0x19,0xa0,0xd3,0x8a, + 0x53,0xac,0x43,0x83,0x8,0x24,0x19,0x66,0x46,0x3c,0x61,0x45,0x70,0x53,0xe2,0x22, + 0x32,0x38,0x47,0x7d,0x96,0x55,0x67,0x70,0x74,0xd3,0x22,0xc,0x19,0xd8,0xde,0x88, + 0x90,0xf,0x40,0x1d,0xa6,0xb4,0x36,0x2a,0x98,0x16,0xa1,0x80,0xa8,0x30,0x98,0x6, + 0xd3,0xa2,0x0,0xae,0x0,0xff,0xa3,0x2e,0x60,0xc0,0x98,0x78,0xd3,0x90,0x11,0x83, + 0x56,0x40,0x68,0x3d,0x1a,0x3,0x54,0x92,0x2b,0x76,0xad,0x49,0x8e,0xa1,0x23,0x4c, + 0xeb,0xaf,0x6,0x5d,0xcf,0x14,0x2b,0xf7,0x98,0xc1,0xde,0x19,0x78,0xe,0x3a,0x88, + 0xf0,0x93,0x53,0x92,0x12,0x26,0x9f,0x43,0xb8,0xd7,0xb0,0x4c,0x2f,0x6a,0xf2,0xab, + 0xa3,0x76,0xc1,0xe4,0x31,0x12,0x4a,0x2a,0x4a,0xc2,0xd5,0xc6,0x11,0x6,0x34,0x99, + 0xe,0x57,0x1b,0x52,0x18,0x7c,0x9a,0x94,0x47,0xab,0x8d,0x43,0x7,0x4f,0xf9,0x4c, + 0x98,0x3c,0xbf,0x68,0xf2,0x81,0xeb,0x7d,0xd,0xca,0xc0,0x56,0xdf,0x70,0x85,0x9, + 0x70,0x6,0x1c,0xa3,0x16,0xe0,0xa5,0x9e,0xc5,0x19,0xf0,0xd9,0x4c,0x28,0x22,0x2, + 0xd8,0x18,0x41,0xc,0x82,0xb1,0x3e,0xa4,0xcc,0x61,0x55,0x87,0x25,0x47,0xcc,0xa8, + 0xae,0xd3,0xef,0x45,0x8d,0xfe,0x77,0xa0,0x46,0x10,0x95,0xc0,0x4b,0xe2,0x7c,0x3d, + 0xc1,0x58,0x9,0xfa,0x4c,0xd0,0x34,0x15,0xda,0x84,0xb,0x4d,0xc1,0xea,0x63,0xf0, + 0x9f,0x38,0x44,0xed,0xb0,0x2e,0xf1,0x47,0x1e,0x98,0x3,0xdb,0xe4,0xd3,0xa8,0xe1, + 0xaf,0x86,0x5a,0x9f,0x7a,0xc5,0xcf,0xe5,0xac,0x50,0xa7,0x9d,0xc1,0xc5,0x39,0xeb, + 0x89,0xc4,0xed,0x6c,0xce,0xa,0xda,0x74,0x8f,0xb6,0x33,0x39,0xeb,0x89,0xc4,0xed, + 0x85,0x72,0x56,0x70,0x2e,0xfa,0x8a,0x9c,0x95,0xca,0x2f,0xd8,0xff,0x10,0x77,0xb6, + 0x71,0xd5,0xfe,0x87,0xf7,0xa6,0xeb,0x97,0xe5,0xac,0xa4,0x7b,0xba,0xf1,0xe5,0x28, + 0x9d,0x3c,0x6f,0x68,0xf5,0x49,0x7e,0x3d,0x97,0x4e,0x0,0x7a,0x1,0x97,0x64,0x1f, + 0x73,0xcf,0x70,0xa9,0x4f,0xdb,0xb3,0xb9,0xf4,0x7a,0x99,0x3d,0xe1,0x58,0x5e,0xe9, + 0xd6,0xfa,0x3,0xe0,0x89,0x60,0xd9,0x1f,0x58,0x83,0x20,0x7c,0xce,0xdd,0xbc,0xea, + 0xe4,0xf5,0x95,0x93,0x7f,0x76,0xc8,0xf0,0xa8,0xb9,0x39,0x73,0xc3,0xe,0xbd,0x3e, + 0x21,0x42,0x8,0x13,0x80,0x6,0x91,0x5a,0x6a,0xa8,0x1c,0x64,0xff,0xb4,0x5b,0xfb, + 0x5b,0xc2,0x46,0xf0,0x4b,0xc2,0xf6,0x64,0x7e,0xe2,0x70,0x83,0x1c,0x43,0x1a,0x6a, + 0xe4,0x41,0x92,0xe1,0xe0,0xe6,0x94,0x84,0x6c,0xa3,0xc,0xba,0x0,0xe,0x86,0xfb, + 0x4d,0xc8,0x77,0x99,0x10,0x8c,0xbe,0x2a,0x6a,0x41,0x16,0xdb,0x87,0x1a,0x7d,0x49, + 0xd4,0x9e,0xda,0x8,0x38,0xd0,0x14,0x2,0x24,0x1d,0x81,0x42,0xd0,0x4,0x32,0x84, + 0x6,0xbb,0x19,0x9f,0x8f,0x10,0x42,0xb8,0xe6,0x24,0x4,0x8d,0x20,0x61,0x14,0x83, + 0xad,0xfb,0x37,0x45,0x8d,0x7f,0x39,0x6a,0x57,0xec,0x10,0xfb,0xf7,0x36,0x27,0xf6, + 0x41,0xfd,0x7b,0xa6,0x60,0x7f,0xd5,0x40,0xe7,0x46,0x15,0x65,0x2f,0xa,0x9d,0x3b, + 0x74,0xee,0x42,0x17,0xaa,0xe0,0x58,0xb4,0xf6,0x8c,0x1f,0x61,0x50,0x6,0x51,0x1d, + 0x64,0xe5,0xf1,0xf6,0x6e,0x68,0x90,0x93,0xf1,0xce,0x1,0xcf,0xac,0xb7,0xee,0xac, + 0xb7,0x6e,0xe1,0xbd,0x9a,0xf6,0xe2,0x2b,0xed,0x54,0xae,0xb,0x1b,0x25,0xbf,0xda, + 0x6a,0x91,0xbb,0xb1,0xdb,0x99,0x9b,0xff,0x45,0x27,0x3d,0x60,0x3a,0xd8,0x47,0xec, + 0x4f,0x7a,0xf6,0x2f,0xce,0x1b,0x60,0xc1,0xf5,0x48,0x20,0x45,0x15,0xe5,0xfa,0xec, + 0x49,0xcf,0x97,0x40,0xef,0xbf,0x8a,0x9c,0x66,0x2d,0x63,0xf2,0xe0,0x78,0x46,0x22, + 0xcc,0x54,0x77,0x6f,0xe3,0x18,0xc5,0x90,0x64,0x1c,0x2b,0x1d,0x6e,0xe,0xc0,0x1b, + 0x2a,0xd,0x20,0x87,0xf1,0x52,0x20,0x4a,0xb4,0xd0,0x2f,0xe1,0x43,0x1a,0x1c,0x95, + 0x96,0x86,0x51,0x3e,0x6a,0x9f,0xc6,0xbd,0x42,0xb7,0x9b,0x23,0x8a,0x71,0xe1,0x2, + 0x1b,0xc6,0x10,0xe0,0x39,0x7d,0xff,0x9a,0xcc,0xf6,0x9f,0xe6,0x4e,0x33,0x9b,0xc1, + 0xde,0x29,0x60,0xb6,0x40,0x82,0x73,0x29,0x3a,0xc7,0x19,0x8e,0xd9,0x12,0x86,0xad, + 0x14,0x4,0xd1,0x80,0xd9,0xc7,0x75,0x67,0xbd,0x75,0xb,0x67,0x1f,0xa5,0xa9,0x31, + 0xe2,0xf8,0xf4,0xe9,0x1a,0x66,0xaf,0xa3,0xe4,0x22,0x6b,0x48,0xa1,0xb0,0xe4,0xee, + 0xa8,0x92,0x53,0x20,0xb,0xf5,0xe1,0x10,0xdc,0x10,0xe3,0xfe,0x20,0x53,0x13,0x4c, + 0x8c,0x4,0x7a,0x53,0x70,0x41,0x42,0x29,0x6f,0xb,0x6d,0x20,0x2e,0x9e,0x3f,0xd4, + 0x7c,0x51,0x5b,0x1c,0x7d,0x6b,0x3e,0xd8,0xe5,0x23,0x46,0x68,0xb8,0xb1,0xe5,0xa1, + 0xc8,0x1f,0x1b,0xc0,0x7c,0xe,0xce,0x84,0x61,0x5,0xab,0x40,0xf8,0x12,0x41,0x72, + 0xa4,0x11,0xe3,0xc6,0x30,0x6e,0xc7,0xf4,0x75,0x61,0x72,0xdf,0xdc,0x9f,0x82,0x89, + 0x86,0xdb,0x7a,0x8d,0x60,0xfb,0xaf,0xb9,0x3a,0x38,0x2,0x0,0x76,0xa,0x7a,0x80, + 0x15,0x7,0x42,0x70,0x4a,0xc3,0xe0,0xcc,0x40,0x8,0x6e,0xce,0x5c,0xea,0x75,0xbf, + 0xe9,0xd4,0xcd,0x95,0x36,0xbd,0x1a,0x20,0xaa,0x39,0xd3,0xd8,0x4,0x8,0x51,0xe8, + 0x40,0x4b,0x2c,0xd5,0x37,0x5d,0x1d,0x8c,0xbc,0x22,0x9f,0x5f,0x76,0xdd,0xed,0x60, + 0xba,0x9d,0xb8,0x4b,0x29,0xfe,0xa9,0xb9,0x11,0xe3,0xae,0xc3,0x24,0x9f,0x53,0xfb, + 0xf0,0xa6,0x99,0xa7,0xbb,0x75,0xb3,0xef,0x66,0x1d,0xcd,0xad,0xdf,0xf5,0x2,0x3a, + 0xbb,0x2f,0xdb,0xfb,0x82,0xfb,0xbc,0x48,0x6c,0x51,0x17,0x49,0xff,0x17,0x14,0xed, + 0x37,0xc6,0xed,0xbd,0x9e,0x8e,0x31,0x5c,0xaf,0x4d,0x39,0xee,0x2f,0x2f,0x17,0x51, + 0x92,0x3f,0xc0,0xdc,0xf,0xb,0xff,0xcc,0xf3,0x65,0x73,0x5,0xa9,0x6b,0xe1,0x47, + 0xbf,0x4b,0xa5,0x94,0xea,0x26,0xbe,0xb6,0x85,0x5b,0x87,0xf,0xa4,0x3d,0x1c,0x37, + 0x8b,0xad,0x29,0x4c,0xf2,0x78,0xe3,0x6e,0x98,0x8d,0x37,0x3b,0xeb,0xad,0x1f,0x8f, + 0x9a,0x6f,0x8a,0xc2,0x55,0xc8,0xa2,0xad,0x85,0xf9,0xfa,0x7f,0xea,0x6e,0x9a,0x2b, + 0x52,0x4d,0xb3,0xf6,0x9a,0x54,0x23,0x2a,0x17,0xf9,0xc3,0x7c,0x93,0x26,0xb6,0x74, + 0x26,0xdf,0xd8,0x43,0x5,0xbe,0x6c,0x7c,0x7f,0x9f,0x3f,0xf6,0x97,0x3f,0xa4,0x2b, + 0x40,0x63,0x5c,0xeb,0xc2,0x4d,0x46,0x76,0x58,0xa3,0xd6,0xd,0x5b,0xd5,0x13,0x35, + 0x40,0x3,0xe4,0x30,0x27,0xa,0x1,0x26,0x8a,0xeb,0x4f,0xf9,0x2d,0x49,0xfc,0xf0, + 0x6a,0x62,0xe5,0x85,0xe3,0x70,0x54,0xf9,0x9b,0x51,0x9f,0x6d,0x51,0xa5,0x71,0x94, + 0x35,0xb4,0x5b,0xe7,0x65,0xba,0x2b,0xa2,0x1c,0x69,0x1a,0x24,0x3b,0x8e,0x5c,0xbe, + 0x2b,0x46,0xb8,0x6c,0x38,0x79,0x4c,0x45,0x2f,0x5f,0xda,0x2a,0x4a,0xa2,0x2a,0x6a, + 0x79,0x59,0x4b,0xea,0xcf,0xc3,0xb7,0x45,0x32,0x9b,0xfe,0xe3,0x87,0x1f,0x9b,0x43, + 0x9e,0x38,0x9e,0xfe,0x33,0x2f,0x3e,0xd5,0xea,0x20,0xd0,0x43,0x85,0xe8,0x3e,0xdf, + 0x0,0x20,0xcd,0xc1,0x93,0xbb,0xa8,0x15,0x4f,0xdd,0xea,0x8b,0xaa,0xf,0xe9,0x12, + 0xa8,0xe6,0xae,0xe8,0xfd,0xf5,0x71,0x99,0xc1,0xf2,0x68,0xa,0x82,0xca,0xd5,0x76, + 0x6d,0xdb,0x4e,0x77,0xdd,0xd6,0xd7,0xd,0x7b,0xaf,0x2c,0x26,0xf1,0x32,0x75,0x8d, + 0x26,0xbf,0x55,0x69,0x96,0xfd,0xec,0x94,0x74,0xf,0xa3,0x26,0xfb,0x81,0xd6,0xe7, + 0x45,0x9d,0x79,0xdc,0x4e,0xea,0x59,0xfa,0xb7,0xf9,0x81,0x99,0xb2,0xe8,0xde,0x66, + 0x77,0xc3,0xef,0xa3,0xec,0xdf,0x1b,0x3b,0x38,0x32,0xf1,0xbc,0xc8,0x37,0xeb,0x65, + 0x9e,0xd8,0x3d,0x47,0x87,0x2d,0x78,0x7b,0xce,0xee,0x55,0xce,0x3,0x93,0x70,0x2e, + 0x5a,0xbf,0x51,0xf5,0x3b,0x27,0xc8,0x52,0x20,0x54,0x69,0x25,0xde,0xb7,0x47,0x78, + 0xf3,0x16,0x94,0xe6,0x98,0xac,0xc8,0x3f,0xd9,0xe9,0x5b,0x16,0xb9,0xdf,0xcd,0xee, + 0xb5,0xf7,0x6a,0x4a,0xd5,0xf7,0x99,0xd7,0x30,0xad,0xa4,0xaa,0xbf,0xf3,0xee,0xdf, + 0x7c,0xe2,0xa,0xd1,0x50,0x69,0x10,0x52,0x66,0x8,0xc3,0xe6,0x7d,0xa7,0x27,0x3f, + 0x5,0x97,0x49,0x75,0x4d,0xbc,0x8e,0xaa,0x45,0xd7,0x64,0xfb,0xf1,0xb5,0x87,0x83, + 0x33,0x30,0xcc,0x14,0x4c,0xf6,0xee,0x28,0xe2,0x51,0xf3,0xde,0x97,0x76,0x4e,0x12, + 0xfb,0xa7,0xe5,0x57,0x63,0x53,0x3a,0x76,0xfd,0x80,0x15,0xa6,0x60,0x83,0x55,0xd2, + 0x15,0xfe,0x2b,0x4f,0x57,0xa1,0x14,0xd8,0x61,0x8b,0x2c,0x85,0x7f,0xa6,0xbc,0x96, + 0x25,0x11,0xb8,0xbc,0xa2,0x88,0xb6,0xd3,0x55,0xbe,0xb2,0x5d,0xe9,0xee,0x58,0x72, + 0x8a,0x9f,0x82,0x73,0x30,0x0,0x14,0x7e,0x1d,0x40,0x64,0x85,0xb4,0x91,0x12,0x3a, + 0x22,0x90,0x5a,0x40,0x2,0xa9,0xc9,0xe0,0xfb,0x81,0x44,0x1c,0x3,0x68,0x6a,0x4, + 0xfb,0x5c,0xca,0x89,0xc1,0x6c,0xc0,0x91,0xc0,0xd2,0x28,0x4a,0x46,0x6,0x19,0x83, + 0x35,0x95,0x72,0x0,0x9b,0x60,0x82,0x21,0x2c,0x93,0x91,0x42,0x8a,0x19,0xc5,0x8d, + 0x80,0xc6,0x6d,0x4d,0x81,0xb8,0xd6,0x52,0x51,0x59,0x77,0x28,0xe5,0x8,0x9c,0x2a, + 0x53,0xc2,0x8,0x5a,0xab,0xc6,0xce,0x4a,0x46,0xc3,0x26,0x5b,0x49,0xd,0xcd,0x5b, + 0xf1,0xbe,0x39,0x51,0x9d,0x51,0xb6,0xca,0xfb,0x46,0xfe,0xe7,0x20,0x98,0x61,0xea, + 0x33,0xee,0x6a,0xc1,0xdc,0xc1,0x66,0xbb,0x9c,0x9c,0x23,0x80,0xd0,0xfe,0x4c,0x6b, + 0x33,0xf2,0x3f,0x69,0x6d,0xbf,0x73,0x82,0x59,0x3,0x16,0x3c,0x28,0xd8,0x87,0x8, + 0x16,0x8,0xeb,0xa8,0x20,0x90,0xd4,0x4a,0x4,0x45,0xee,0x40,0x0,0x19,0x76,0x20, + 0xdd,0xba,0xc,0x43,0x1b,0x61,0x8c,0x9,0xbb,0x2f,0x1e,0x5d,0xc4,0xa6,0xc,0xb6, + 0x8f,0xa4,0xb3,0x4f,0xf6,0x45,0xdb,0xa0,0xa8,0xeb,0xef,0xe6,0xcd,0x63,0xb8,0x2e, + 0x5b,0xd7,0xf,0x3e,0xcb,0x39,0x4c,0x8,0x8f,0xb1,0xfb,0x3b,0x58,0xde,0x6e,0xa6, + 0xc0,0x8d,0xee,0x5d,0x25,0x4f,0x77,0xee,0x2e,0x68,0xc0,0x8c,0xcc,0xc8,0xe5,0x8e, + 0x12,0x62,0xbb,0x1a,0xfc,0x2,0xec,0x74,0x5f,0x2d,0xa5,0x12,0xc0,0x4e,0xf7,0xcd, + 0xd,0x98,0xd4,0x15,0xc2,0x93,0x92,0x2,0x58,0x7,0x52,0xe8,0x80,0x73,0xa5,0xb4, + 0x6,0xca,0x53,0xed,0x3e,0x50,0x88,0x9d,0xf4,0xa8,0xdb,0x80,0x8b,0x7b,0x7e,0x79, + 0x56,0xbd,0x9d,0x9,0xf7,0x3b,0x41,0xa2,0xae,0x75,0x77,0xc,0x82,0xdd,0x20,0x24, + 0xb9,0x4e,0xd7,0x39,0x7e,0x9c,0x66,0x42,0xfb,0xa9,0x61,0x8f,0x6c,0x80,0x6b,0x2f, + 0xaa,0x65,0x1c,0x84,0xe1,0xdd,0x3a,0xea,0x9c,0x15,0x7a,0x3c,0xdd,0x29,0x36,0x18, + 0x90,0x30,0xe7,0x29,0xdc,0x25,0x1e,0xec,0x96,0x30,0x71,0xb,0x5a,0x48,0x22,0xdd, + 0x49,0xc,0x66,0x1c,0xd6,0xf0,0xc0,0x9f,0xd0,0x1a,0x21,0x9c,0xff,0x10,0x54,0x61, + 0xd2,0x15,0x29,0x7f,0x47,0x7,0x90,0x75,0x8d,0x1b,0xa9,0x44,0x90,0x9b,0x19,0xa3, + 0x4c,0xa7,0x43,0x8e,0x14,0x11,0xcc,0x59,0xa8,0x55,0xcd,0xdc,0x59,0x1c,0xc6,0x9d, + 0x8f,0x17,0x47,0xcb,0x39,0xbc,0x91,0xea,0xcd,0xe0,0x81,0x3e,0xb0,0x81,0x7f,0x2d, + 0x36,0x99,0x9d,0xda,0xcf,0x16,0xc0,0x48,0xda,0xa5,0x1d,0x2b,0xe5,0x2f,0x4e,0x6, + 0x86,0x11,0x98,0x49,0xc5,0xb5,0xbc,0x6c,0x8d,0x7b,0xb3,0xdd,0x2c,0xa3,0xe2,0x93, + 0x2d,0x76,0xea,0x77,0xcf,0xe3,0xb2,0x8a,0x8a,0x2a,0x90,0x2c,0xd3,0x24,0x78,0xb7, + 0xab,0x24,0x60,0xc6,0xb,0x79,0x88,0x9b,0xcf,0x69,0x99,0xde,0xa7,0x99,0x7b,0xf1, + 0x8f,0x99,0xbd,0x49,0xd2,0x72,0xd,0xb1,0x7f,0x9a,0xae,0xdc,0xc0,0x6f,0x72,0x48, + 0xd8,0x66,0x59,0xfe,0x50,0x97,0xb7,0x54,0xa,0x18,0xf4,0x7f,0xc0,0x5f,0xd,0xf0, + 0x70,0xc1,0x51,0xc4,0x9,0x35,0x18,0x96,0x16,0xf8,0x2a,0x1,0x41,0x57,0xba,0x35, + 0xc3,0x60,0x99,0x61,0xca,0x7d,0xc0,0x86,0xb8,0x8d,0x99,0x72,0x32,0xe,0x11,0x97, + 0x9b,0x91,0xbb,0x96,0xa6,0x29,0x17,0xa6,0x23,0xdb,0xaf,0x38,0x62,0x76,0xad,0xf7, + 0x52,0x70,0xf7,0xe0,0xf0,0x38,0x97,0x9d,0x1e,0x61,0x75,0x9,0x6a,0x20,0x8a,0x77, + 0x74,0xc3,0x5a,0x37,0xe0,0xe5,0x94,0xe9,0x71,0x11,0x1d,0xff,0x7f,0xca,0xaf,0xd4, + 0x89,0x3c,0xf8,0xa2,0x5b,0x97,0x4b,0x7f,0x78,0xf3,0x1f,0x4,0x19,0x60,0xf, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/ring.svg + 0x0,0x0,0x15,0x7a, + 0x0, + 0x0,0x8b,0xfe,0x78,0x9c,0xed,0x5d,0x5d,0x73,0x22,0x47,0x96,0x7d,0xef,0x5f,0xc1, + 0xca,0x2f,0x76,0x2c,0x14,0xf9,0xfd,0x21,0xb7,0x3c,0xf,0xed,0xf0,0xc6,0x44,0x78, + 0x62,0x27,0xc6,0x76,0xec,0xe3,0x4,0xd,0x85,0xc4,0x1a,0x1,0xb,0xa8,0x25,0xf9, + 0xd7,0xef,0xb9,0x59,0x54,0x91,0x5,0x89,0x28,0x24,0x40,0xdd,0xea,0x96,0xdb,0xdd, + 0x90,0x95,0x55,0x37,0xf3,0xe4,0xcd,0x73,0x3f,0x32,0x2b,0xf5,0xfe,0x6f,0xf,0xb7, + 0xe3,0xd6,0xa7,0x7c,0xbe,0x18,0x4d,0x27,0x57,0x17,0x3c,0x63,0x17,0xad,0x7c,0xd2, + 0x9f,0xe,0x46,0x93,0xeb,0xab,0x8b,0x3f,0x7e,0xff,0xa5,0xe3,0x2e,0x5a,0x8b,0x65, + 0x6f,0x32,0xe8,0x8d,0xa7,0x93,0xfc,0xea,0x62,0x32,0xbd,0xf8,0xdb,0x4f,0xef,0xde, + 0xff,0x47,0xa7,0xd3,0xfa,0x30,0xcf,0x7b,0xcb,0x7c,0xd0,0xba,0x1f,0x2d,0x6f,0x5a, + 0x7f,0x9f,0xfc,0xb9,0xe8,0xf7,0x66,0x79,0xeb,0xfb,0x9b,0xe5,0x72,0x76,0xd9,0xed, + 0xde,0xdf,0xdf,0x67,0xa3,0x55,0x61,0x36,0x9d,0x5f,0x77,0x7f,0x68,0x75,0x3a,0xb8, + 0x73,0xf1,0xe9,0xfa,0x5d,0xab,0xd5,0x82,0xd8,0xc9,0xe2,0x72,0xd0,0xbf,0xba,0x58, + 0xd5,0x9f,0xdd,0xcd,0xc7,0xa1,0xde,0xa0,0xdf,0xcd,0xc7,0xf9,0x6d,0x3e,0x59,0x2e, + 0xba,0x3c,0xe3,0xdd,0x8b,0x75,0xf5,0xfe,0xba,0x7a,0x9f,0x84,0x8f,0x3e,0xe5,0xfd, + 0xe9,0xed,0xed,0x74,0xb2,0x8,0x77,0x4e,0x16,0xdf,0x45,0x95,0xe7,0x83,0x61,0x55, + 0x9b,0x1a,0x73,0x2f,0x43,0x25,0xee,0xbd,0xef,0x32,0xd1,0x15,0xa2,0x83,0x1a,0x9d, + 0xc5,0xe3,0x64,0xd9,0x7b,0xe8,0xd4,0x6f,0x45,0x1b,0x53,0xb7,0xa,0xc6,0x58,0x17, + 0xd7,0xd6,0x35,0x9b,0xd5,0xba,0x7c,0x18,0x3,0x89,0x9d,0x8d,0x9,0x57,0x63,0xe9, + 0x40,0x7f,0x86,0xff,0xab,0x1b,0xca,0x82,0x6c,0x31,0xbd,0x9b,0xf7,0xf3,0x21,0xee, + 0xcc,0xb3,0x49,0xbe,0xec,0xfe,0xfc,0xfb,0xcf,0xd5,0xc5,0xe,0xcb,0x6,0xcb,0x41, + 0xf4,0x98,0x12,0xfc,0x9a,0xdc,0xda,0x88,0x4c,0x7a,0xb7,0xf9,0x62,0xd6,0xeb,0xe7, + 0x8b,0x6e,0x59,0x1e,0xee,0xbf,0x1f,0xd,0x96,0x37,0x57,0x17,0x42,0x85,0x6f,0x37, + 0xf9,0xe8,0xfa,0x66,0x59,0x7d,0x1d,0xd,0xae,0x2e,0xd0,0x3b,0x11,0xbe,0x94,0xc2, + 0x2f,0x2b,0xd,0x62,0x99,0x2c,0x2e,0x95,0x4f,0x8c,0x2f,0x29,0x13,0x2e,0xd5,0xd4, + 0xad,0xf6,0x98,0xc1,0xb4,0xff,0xb1,0xb7,0x40,0x93,0xbb,0x37,0xd3,0xdb,0xbc,0x3b, + 0x1b,0x7f,0xcc,0x7b,0x77,0x83,0xe9,0x68,0xd2,0xfd,0xed,0x97,0x5f,0xff,0x79,0x3, + 0xd,0xec,0x2e,0x86,0xe3,0x59,0xed,0x43,0xe7,0x7a,0xf9,0x67,0x77,0x36,0x7a,0xb8, + 0xed,0xcd,0x16,0x5b,0x4f,0xa3,0x2e,0x5e,0x5d,0xcc,0xa1,0xcd,0x59,0x39,0x24,0x55, + 0xc3,0xa6,0x77,0xcb,0xd9,0xdd,0xf2,0xdf,0xf9,0xc3,0x32,0x9f,0x14,0xed,0x1,0x28, + 0x11,0x42,0xe1,0x32,0xdd,0x96,0xd5,0xd0,0xa9,0x1e,0x7f,0x8b,0xbf,0x86,0xa3,0x1c, + 0x78,0x2c,0xe7,0x77,0xf9,0xc5,0x4f,0xb8,0xf8,0x7e,0x90,0xf,0x17,0x54,0xa9,0xc0, + 0x89,0xbe,0xa9,0x70,0x1,0x97,0x2a,0xb9,0x33,0x74,0x7f,0x96,0xf7,0x49,0x7b,0x8b, + 0xaa,0xd1,0x33,0x97,0x8f,0x34,0x60,0xf5,0xaa,0xb2,0x18,0xd5,0x56,0xd,0xd4,0xd9, + 0xbf,0x1f,0x80,0x68,0xeb,0xb2,0xc5,0x5,0xfd,0x95,0xac,0xf1,0xb8,0xaa,0x1,0x85, + 0xc4,0x3f,0x2c,0x59,0xe7,0x2f,0x1a,0xd8,0x27,0x1e,0xb3,0x6a,0x41,0x67,0x3a,0x1f, + 0x5d,0x8f,0x68,0xc8,0xa8,0x9e,0xab,0xd7,0x45,0x4f,0xa3,0x3e,0x59,0x6,0x4d,0x69, + 0x75,0x57,0xbd,0x86,0x6e,0xe7,0xbd,0xf9,0x7f,0xcd,0x7b,0x83,0x11,0x66,0x74,0x7c, + 0x4b,0xfd,0x8a,0x62,0x4a,0xaf,0x90,0xc2,0x5d,0x8b,0xe5,0x74,0x56,0xd6,0x5,0x3a, + 0xcb,0xc7,0x31,0x50,0xa1,0xc2,0x4e,0x7f,0x3a,0x9e,0xce,0x2f,0xbf,0x1b,0x86,0x9f, + 0x1f,0x43,0xd1,0x14,0x2a,0x3c,0x5a,0x3e,0x5e,0xae,0x3b,0xd8,0x6a,0x4d,0x87,0xc3, + 0x45,0xe,0xa5,0x8d,0xcb,0x82,0xe6,0xe2,0x6,0x88,0xb2,0x55,0x3,0x1b,0x9,0xeb, + 0xf,0x3f,0xf6,0x3f,0xd6,0x85,0xf1,0x84,0x30,0x9e,0x16,0xe6,0xd7,0x68,0x74,0xeb, + 0x9d,0x3e,0x14,0x23,0x61,0xfc,0x1,0x18,0xf1,0xc1,0x47,0x8c,0xfc,0x46,0xb3,0x7f, + 0x6c,0xa,0x92,0xb0,0xfc,0x20,0x90,0x52,0xd2,0x58,0x4a,0x5a,0x12,0x25,0x61,0xe5, + 0xd1,0x50,0xe2,0x4e,0xee,0x42,0xa9,0x92,0xc7,0x9d,0xde,0x3,0x44,0x73,0x40,0x77, + 0xa2,0x14,0x49,0xb3,0x7b,0x80,0x48,0x48,0x63,0x43,0x3d,0x7c,0x42,0xda,0x8b,0x51, + 0x32,0xf6,0x0,0x5d,0x72,0xe8,0x38,0xcb,0x9f,0xab,0x4b,0xdc,0xf8,0x83,0x74,0x89, + 0x60,0xe6,0xea,0xb9,0xba,0xc4,0x23,0xcd,0x3d,0xc,0xa5,0x92,0xf4,0xd0,0x8c,0x31, + 0xc8,0xec,0xea,0xa2,0x37,0xbe,0xef,0x3d,0x2e,0x2a,0x21,0xc1,0x52,0x5f,0xde,0xcc, + 0x73,0x78,0x16,0xdf,0x25,0xb4,0x6e,0x37,0xdc,0x42,0xac,0xcc,0x67,0x78,0xc,0x47, + 0xcb,0x4d,0xe6,0x84,0xb1,0xde,0x54,0xa5,0x8f,0x28,0x35,0x99,0x15,0xce,0x59,0xbe, + 0x7e,0xd4,0x83,0x0,0x41,0xdb,0x4c,0x1b,0xb1,0x56,0xd8,0x47,0x2a,0x13,0x99,0xe6, + 0x42,0xb3,0x75,0xe9,0xf5,0x4a,0xd4,0x1f,0x93,0xd1,0x12,0x8e,0xc9,0xdd,0x22,0x9f, + 0xff,0x46,0xc6,0xfd,0xbf,0x27,0x7f,0x2c,0xf2,0xad,0x5a,0xbf,0xcf,0x7b,0x93,0x5, + 0x3c,0x89,0xdb,0xab,0x8b,0xdb,0xde,0x72,0x3e,0x7a,0xf8,0x9e,0x65,0xce,0x6a,0x26, + 0x74,0x9b,0xd1,0x7f,0xd5,0x97,0xcc,0x18,0x63,0x99,0xc4,0x7,0x6e,0xad,0x67,0xf6, + 0x87,0x7d,0xdc,0xbe,0x5b,0x2,0xcf,0x8c,0xf0,0x5c,0x6,0x1,0x9d,0xf2,0x4b,0x87, + 0xb3,0x8c,0x19,0xc3,0x5c,0x5b,0xfa,0xcc,0x72,0xef,0x20,0xe1,0xb0,0x2e,0x11,0x1c, + 0x26,0x33,0xd6,0x32,0x6f,0x5d,0xd,0x38,0xae,0x33,0xc7,0x8c,0x58,0x79,0x24,0x25, + 0xc8,0x80,0xce,0x59,0x25,0x98,0xab,0xf,0x88,0xce,0x8c,0x64,0xd2,0xeb,0x27,0x46, + 0x11,0x34,0xa5,0x1b,0x29,0x3,0x11,0xf5,0x5e,0xad,0xda,0x83,0x23,0x75,0x8b,0xcb, + 0xcc,0xc3,0x9f,0xd4,0x75,0x7d,0x80,0xea,0x48,0xeb,0x9c,0xb7,0xb5,0x6e,0x71,0x1, + 0x44,0xb5,0x67,0xa2,0xd6,0x2d,0x1,0x70,0x35,0xf8,0xc7,0x36,0xd0,0x80,0xe,0xf, + 0x43,0xc3,0xdb,0x12,0x77,0x41,0xa1,0x5d,0xbb,0x3,0xa8,0x8c,0xb2,0xf2,0xd0,0x21, + 0xd9,0x86,0x8e,0x4b,0xe7,0xce,0x6,0x5d,0xa2,0x8b,0x4b,0xfa,0x38,0x46,0xbc,0x2, + 0x3d,0x87,0xc,0xae,0x43,0xe7,0xac,0x11,0x5c,0x9a,0xe7,0x28,0xdc,0x29,0x46,0x26, + 0x89,0x9a,0x39,0x3b,0x6a,0xd,0x3a,0xcf,0x32,0x6d,0x8d,0x15,0xbc,0x3e,0xdb,0x54, + 0xc6,0x80,0xa6,0x74,0xf5,0xd9,0x96,0xc1,0x21,0x74,0xce,0x98,0xad,0xd9,0xa6,0xf0, + 0x80,0xa7,0x38,0x13,0x9d,0x57,0x8d,0x3a,0x5f,0xa3,0xde,0x53,0xa8,0xc,0x62,0x2b, + 0xaf,0x2c,0xe3,0xd0,0x19,0x10,0xa3,0xd3,0x60,0xa9,0x67,0xe9,0xc,0x38,0x5b,0x6a, + 0xcb,0x75,0xd,0x36,0xc9,0x33,0x9,0x63,0xec,0x36,0x55,0x66,0xb3,0x2a,0x61,0xa9, + 0x32,0xe9,0x6d,0x4c,0xfa,0x49,0xd4,0xc4,0xe7,0x81,0x1a,0xcf,0x84,0x81,0x5e,0x72, + 0xe2,0x7a,0xc4,0x20,0x56,0x8b,0x67,0x82,0xe6,0x84,0x76,0xbe,0x3e,0xd1,0x2c,0x66, + 0x9f,0xc4,0x1f,0xbd,0x89,0xda,0x66,0x5d,0x1e,0xa2,0x4c,0xa6,0xa0,0x6d,0xe6,0x69, + 0xd4,0xd8,0xd9,0x50,0x4b,0x89,0xb7,0x6a,0x9f,0xcf,0x8a,0x3a,0xeb,0x1e,0x34,0xf6, + 0x59,0x77,0x38,0x6e,0x7b,0x7d,0x56,0x48,0x73,0x9,0x69,0x7b,0x7c,0xd6,0x1d,0x8e, + 0xdb,0x91,0x7c,0x56,0x90,0x8b,0x3b,0xc0,0x67,0x15,0xe6,0x5,0xf1,0xf,0xfa,0xcf, + 0xe,0x8b,0x7f,0x54,0xd2,0x5d,0x6f,0xe6,0xb3,0x42,0x9a,0x38,0x22,0x4a,0x62,0xbf, + 0x2e,0x19,0x75,0xb8,0x2e,0xed,0x0,0xb4,0x81,0x2e,0x99,0x94,0xe6,0xee,0xd1,0xa5, + 0x94,0xb4,0x67,0xeb,0xd2,0xe9,0x3c,0x7b,0xae,0x98,0x39,0x90,0xd6,0xd2,0x6,0x70, + 0x87,0xb1,0x4c,0x1b,0xd6,0x9a,0x11,0xde,0x47,0x37,0x27,0xed,0xbc,0x3b,0xb0,0xf3, + 0xcf,0x36,0x19,0x1,0x35,0xea,0xb3,0xf2,0x72,0x93,0xf5,0x39,0xd7,0x5a,0xfb,0x1a, + 0x68,0xb0,0xd4,0xc6,0xa1,0x72,0xcd,0xfb,0x17,0x71,0xed,0xd7,0x84,0x8d,0xb3,0x63, + 0xc2,0xf6,0xa4,0x7f,0x42,0xb8,0xc1,0xc7,0x30,0x5e,0x78,0xb3,0xe1,0x64,0x10,0xdc, + 0x4a,0xf0,0xba,0xb6,0x9,0x89,0x47,0x40,0x7,0xeb,0xf1,0x26,0xfc,0x5d,0xa9,0xb5, + 0x14,0x27,0x45,0xad,0xe6,0xc5,0xa6,0x50,0x13,0xc7,0x44,0xed,0xa9,0x40,0x80,0x40, + 0xb3,0x19,0x90,0x24,0x5,0xaa,0x83,0xa6,0x33,0xcf,0x45,0x2d,0x9a,0x9,0xfe,0x8, + 0xe7,0x5c,0x39,0xc5,0xeb,0xa0,0xf1,0x4c,0x7b,0x2b,0x11,0xba,0xbf,0x2a,0x6a,0xea, + 0xe5,0xa8,0x1d,0x10,0x21,0xa6,0x63,0x9b,0x1d,0x71,0x50,0x3a,0x66,0xaa,0xc5,0x57, + 0x15,0x74,0xd4,0xaa,0xde,0xf8,0xa8,0xd0,0x51,0xd2,0x39,0x86,0xae,0x2e,0x42,0x31, + 0xbd,0x1e,0xcf,0xfe,0x3,0x1a,0xe5,0x33,0xe1,0x6a,0x5e,0x79,0xff,0xf1,0xea,0xc2, + 0x67,0x54,0xa6,0xa2,0x4,0xcf,0x30,0x59,0x77,0x98,0xac,0x3b,0xf,0xac,0xe6,0x42, + 0xf1,0x81,0xe3,0xb4,0x98,0xcd,0xf3,0xde,0xe0,0x1f,0xf9,0xf2,0x66,0x4a,0x6d,0xcf, + 0x87,0xd4,0xff,0x46,0x99,0x1e,0xc,0x1d,0xe2,0x88,0x55,0xa6,0x67,0xf5,0x85,0xd8, + 0x80,0x69,0xe5,0xda,0x3a,0xb3,0xc2,0xa,0xe5,0xf6,0x66,0x7a,0x52,0x69,0x2e,0x7b, + 0x88,0x87,0xf6,0x92,0x2c,0xbe,0x10,0xee,0x30,0x7,0x6d,0x98,0xf,0xf3,0xdc,0x6e, + 0x8,0xcb,0x10,0x2c,0x30,0xc7,0xf7,0xfa,0xba,0x91,0xd4,0xa3,0x39,0x6a,0x78,0xd6, + 0x4e,0xa7,0xff,0xd8,0xe9,0x7c,0xc8,0x32,0xe7,0x4b,0xe7,0x43,0x9a,0x3b,0x1e,0x4a, + 0x9e,0xed,0x73,0x67,0x51,0x47,0xec,0x1,0xe2,0x88,0xe9,0x7c,0x48,0x4b,0x39,0xcf, + 0xaf,0x9a,0xce,0x47,0x9b,0xcc,0xb9,0xd2,0xf9,0x90,0xe5,0xce,0x97,0xce,0x17,0x92, + 0xb1,0xcf,0xce,0xe9,0x47,0xa3,0xea,0xc9,0xbc,0xb7,0x9b,0xce,0x7f,0x5b,0x69,0x68, + 0xc,0x5c,0xb3,0x9c,0xe2,0xb7,0x34,0x74,0x1d,0xb5,0xaf,0x37,0xd,0x8d,0xce,0x37, + 0x5b,0xb9,0xf8,0x96,0x86,0xae,0xa1,0xc6,0xcf,0x97,0x50,0x7d,0x33,0x69,0x68,0xa0, + 0x76,0xbe,0xe4,0x7d,0x52,0xfc,0xde,0x34,0x34,0xea,0x9c,0x31,0xd,0xd,0x69,0x9f, + 0x5d,0x1a,0x5a,0x48,0xb1,0xd3,0x23,0x3d,0x76,0x1a,0x1a,0xb2,0xc4,0xf9,0xd2,0xd0, + 0x90,0xa6,0x8e,0x88,0xd2,0x4e,0x8f,0x34,0x92,0x97,0x1a,0xdd,0x13,0xa5,0xa1,0x85, + 0x94,0xa9,0xe0,0xf2,0x6d,0xa4,0xa1,0xd1,0xb9,0x43,0x93,0x63,0x6f,0x27,0xd,0x8d, + 0xce,0x1f,0x21,0xc7,0xf5,0xd5,0xa5,0xa1,0x1,0xdb,0xa1,0x4b,0x17,0xdf,0xd2,0xd0, + 0x84,0xda,0x51,0xd7,0x3c,0xbe,0x8e,0x34,0xb4,0x90,0xea,0x8,0x4b,0x1e,0x5f,0x65, + 0x1a,0x1a,0xd0,0xad,0x9b,0xfa,0x16,0xd3,0xd0,0x22,0x53,0x4a,0x31,0x21,0xf3,0xe, + 0xf,0x23,0x19,0x7d,0x7b,0x41,0x76,0x7a,0xb7,0x60,0x3c,0x4a,0x1b,0x2d,0x78,0xb9, + 0x11,0x71,0xf5,0xad,0x43,0x33,0x4d,0x49,0xee,0xdb,0xc2,0x65,0xd6,0xc2,0x5b,0xf0, + 0xcf,0x89,0x14,0x1c,0x42,0x26,0x28,0xc,0xaf,0xdb,0x81,0xed,0xed,0x85,0x2f,0xdb, + 0x8a,0x28,0x0,0xd2,0xd9,0x42,0xf2,0xd7,0xcc,0x1,0xc1,0x2,0x5b,0xaf,0xed,0x51, + 0x93,0x40,0x4a,0x35,0x8b,0xb2,0x4e,0x9e,0x4,0x42,0xe7,0xa4,0x11,0xce,0x8b,0x2f, + 0x22,0xb,0xa4,0x54,0xb3,0x90,0xfe,0x4d,0x66,0x81,0x94,0xfc,0x5c,0xb2,0x40,0x1c, + 0x96,0x9f,0xa1,0xc7,0xfa,0x4b,0x48,0x3,0x29,0xd9,0x2c,0x73,0x78,0x86,0x34,0x90, + 0x17,0x82,0x79,0x67,0xbe,0x88,0x3c,0x90,0x92,0xe7,0xdb,0xfa,0x9a,0x12,0x2f,0x76, + 0x2e,0xe3,0x56,0xd1,0xb4,0x4a,0x46,0xd3,0xa7,0xca,0x3,0x29,0x99,0x5a,0xe1,0x7b, + 0xdd,0x3c,0x90,0x12,0x3b,0x37,0xda,0x1d,0x3d,0xf,0xa4,0xa2,0xcc,0xcc,0xe9,0xf3, + 0x40,0xa0,0xf0,0xe3,0xa1,0xc4,0xf7,0xe7,0x81,0x54,0x32,0xcb,0x77,0xaa,0x3c,0x10, + 0x1c,0xae,0xb7,0x9b,0x7,0x52,0xd1,0xe5,0xaf,0x2e,0xf,0xa4,0xdc,0x11,0x16,0x50, + 0x4f,0x92,0x7,0x22,0xf7,0xce,0xa,0xa3,0x4c,0x1d,0x34,0x91,0x79,0xe5,0x35,0x97, + 0xaf,0xb,0xda,0xb6,0x47,0xfe,0x2d,0xb,0xb4,0x2f,0x9f,0xa1,0x9c,0x3f,0x26,0x6a, + 0xfb,0xb2,0x40,0x80,0x47,0x31,0x27,0xdd,0x86,0x87,0x61,0xa0,0x6b,0x4c,0xbb,0x7a, + 0x2a,0xc3,0x66,0xc2,0x4b,0xc7,0xec,0xa6,0xaa,0x71,0x2e,0xad,0x7e,0xd5,0x24,0x90, + 0xf2,0xfc,0xe5,0xa0,0x7d,0xbe,0x49,0xa0,0x6,0xb9,0x8e,0x7d,0x5b,0xee,0xca,0x47, + 0x35,0x4b,0xaa,0x3c,0x8d,0x5d,0x32,0xa7,0x93,0x4e,0xff,0xa4,0x53,0x45,0xe9,0xb4, + 0x52,0x3a,0x5,0x95,0xca,0x5b,0xc5,0x9e,0x6f,0xd3,0xf4,0xd7,0x17,0x98,0xa2,0x38, + 0xc5,0x36,0x95,0x68,0xa2,0x9c,0x25,0xbb,0x53,0xa5,0x88,0xeb,0x44,0xb2,0x95,0x4e, + 0x4e,0xa7,0x9e,0x93,0x69,0xea,0x67,0xf3,0xdd,0xf3,0x51,0x8b,0x38,0xf9,0x4c,0x39, + 0xb1,0xc2,0xe,0xed,0x31,0x59,0x69,0xf3,0x96,0x34,0x85,0xa7,0xde,0x0,0x92,0x44, + 0xcd,0x36,0x42,0xed,0x18,0xb1,0x66,0x7d,0xe9,0x2b,0x86,0x2d,0xb9,0x50,0x96,0x76, + 0xa7,0x52,0x9e,0xd7,0x89,0xb7,0x80,0x24,0x61,0x6b,0xf6,0x2e,0xf8,0xd1,0x60,0x3b, + 0x41,0x9e,0xeb,0x5,0x9d,0x6f,0x46,0xed,0xa7,0xda,0xa7,0x62,0xf,0x39,0xbc,0xe2, + 0x85,0x3b,0x30,0xec,0x61,0x87,0x57,0xec,0x8,0x14,0x9f,0xe,0x38,0xd7,0xd2,0xdc, + 0x73,0xf,0xaf,0x48,0xa1,0xc4,0xf7,0xef,0xc0,0xb0,0x72,0xf,0x10,0x47,0xdd,0x81, + 0x11,0x9d,0x9f,0xd0,0x38,0xf2,0xde,0x91,0xca,0x38,0x1a,0x4a,0xe6,0x90,0x83,0x87, + 0x5e,0xb6,0x73,0x5a,0x9a,0xc3,0x4e,0x1e,0x7a,0xe1,0xce,0x69,0xf3,0xdc,0xa3,0x87, + 0x4e,0xb9,0xe7,0xc0,0xec,0x4b,0x87,0xee,0x48,0x9d,0xa6,0xd3,0xac,0xc9,0x94,0xec, + 0x89,0x42,0xff,0xd7,0xdc,0xa9,0x61,0x78,0xd,0xb5,0xed,0xdc,0xfb,0x8e,0x3c,0x7d, + 0x32,0xa5,0x9f,0xcc,0xfe,0x9f,0x2a,0xf4,0x7f,0x4d,0xd4,0x36,0xbd,0x86,0x23,0x66, + 0xb9,0x9a,0xc1,0xf6,0x9a,0x1b,0x2e,0xb4,0xad,0xab,0xcc,0x11,0xe3,0xe0,0x23,0xea, + 0x4c,0x2a,0x10,0x78,0x55,0xd4,0x8e,0xf7,0xa,0xc6,0xab,0x66,0x28,0x5e,0x3,0x3a, + 0xb9,0x35,0xdb,0x1a,0x6d,0x79,0x48,0x9f,0xd4,0x94,0x3c,0xd5,0xe9,0xa5,0x43,0xd2, + 0xf8,0x8,0xaa,0x67,0x6f,0x2e,0x69,0xfc,0xde,0xcd,0x61,0x5d,0x4a,0xbf,0x24,0x94, + 0x7c,0x9d,0x28,0xfd,0xe2,0x51,0xf2,0x25,0xa5,0xe4,0x28,0x36,0xcb,0x3c,0x1c,0x2d, + 0xac,0x79,0x43,0x49,0x1b,0x75,0xbe,0xf4,0xc3,0x89,0x93,0x2b,0xa7,0xca,0x9,0x25, + 0x51,0x6b,0x96,0x7e,0x78,0x93,0xbb,0x4a,0xa4,0x3a,0x5f,0x12,0xe1,0xd4,0xa9,0xa5, + 0x13,0x65,0xc4,0x92,0xa8,0x9d,0x2f,0xfb,0x70,0xe2,0xc4,0xd2,0xc9,0x12,0x62,0x49, + 0xd8,0xce,0x47,0xed,0xc9,0x7d,0xd3,0x3b,0x3,0xed,0xe8,0x15,0x8d,0xd4,0x49,0xa9, + 0x27,0x7b,0xb9,0x48,0xfa,0x84,0xb4,0xd7,0x7e,0xb9,0xe8,0x6c,0x67,0xfc,0xa2,0xff, + 0x87,0x9d,0xf1,0xbb,0xe3,0x1d,0xf6,0xa7,0x21,0x8c,0xa4,0x1d,0xed,0x8c,0x5f,0xa0, + 0xb4,0xf7,0x8c,0x5f,0x11,0x5b,0xae,0xd3,0x1f,0xa,0x20,0xc5,0x33,0xce,0xf8,0xdd, + 0x71,0xca,0xc2,0xd1,0x50,0xe2,0x3b,0xd3,0xa4,0xd1,0xb,0x76,0xa9,0x39,0xb0,0x7, + 0xa5,0xf4,0xc1,0x1d,0x4d,0x40,0xda,0x77,0x6e,0x76,0xe3,0xe3,0xb7,0x9f,0xc2,0xe8, + 0x7d,0x97,0x4e,0x5e,0xf,0x9f,0xaa,0x93,0xd5,0xe9,0x24,0xf8,0xc1,0xa7,0x51,0x7e, + 0xff,0xae,0x6a,0x12,0x1d,0x35,0xbf,0x12,0x3d,0xeb,0x5d,0xe7,0x41,0x1c,0xd8,0xb0, + 0xe8,0xdc,0xea,0xc2,0xc7,0xe9,0x7c,0x90,0xcf,0xcb,0x4b,0x26,0xfc,0xd4,0x2e,0xad, + 0x5a,0x74,0x55,0x1d,0x66,0x1f,0x71,0x26,0x3d,0xb5,0xba,0xce,0xd2,0xd7,0x17,0x37, + 0xbd,0xc1,0xf4,0x1e,0x46,0x72,0xf3,0xe2,0x5f,0xd3,0x29,0x6c,0x8d,0xdc,0x2a,0xf, + 0xcb,0xaf,0x32,0x63,0x92,0xb,0xb1,0x7d,0xf1,0x31,0x98,0x2,0xe1,0xad,0xa9,0xd6, + 0x7c,0xab,0x8b,0x83,0x69,0xff,0x8e,0x7e,0xaf,0x42,0xe7,0xae,0x30,0x49,0xb3,0x87, + 0xad,0xdb,0xef,0xe6,0x73,0xaa,0x30,0xee,0x3d,0xe6,0xe8,0x6f,0xf8,0xa7,0x1c,0x9d, + 0xd5,0x6f,0x5,0x90,0xa2,0xba,0xad,0xfc,0xcd,0x0,0x51,0xd1,0xe2,0x66,0x7a,0x7f, + 0x7d,0x37,0x1a,0xe4,0x8b,0xd5,0xa9,0xf8,0x1b,0x2,0xc2,0xb5,0xce,0xc7,0x8f,0xd3, + 0x87,0xf4,0xf5,0xfb,0xd1,0x4,0x68,0x74,0x56,0xb2,0x38,0xdb,0xee,0xfe,0xaa,0x46, + 0x29,0x7b,0x9d,0xf6,0xdb,0xac,0x1,0x9,0x8e,0xef,0xb8,0x6,0x94,0xaa,0x80,0x23, + 0x34,0x79,0x4e,0xfa,0x30,0xec,0x8d,0x17,0x79,0x79,0x5c,0x7f,0xa5,0x38,0xa1,0xc9, + 0xa5,0x82,0x4e,0xe7,0xa4,0x63,0xbd,0x65,0xf8,0x75,0x1,0x9f,0xf2,0xf9,0x72,0xd4, + 0xef,0x8d,0x2b,0xf5,0x9d,0x4d,0x17,0xa3,0xe2,0x12,0x39,0x37,0x5e,0x19,0x55,0xb7, + 0xc7,0xe1,0x51,0x92,0xab,0x72,0x73,0xdd,0xfb,0xee,0xb6,0x7a,0x86,0xf2,0xdb,0x7c, + 0xd9,0x1b,0xf4,0x96,0xbd,0xb5,0xae,0x96,0x25,0xe5,0x84,0x7e,0x3f,0x1f,0xc,0x2f, + 0xff,0xf5,0xf3,0x2f,0xd5,0x8c,0xeb,0xf7,0x2f,0xff,0x67,0x3a,0xff,0x73,0x3d,0x93, + 0xa8,0x42,0xef,0xe3,0xf4,0xe,0x20,0x55,0x24,0x80,0x7a,0x83,0xfe,0x25,0x79,0x31, + 0xbd,0xe5,0x4f,0xa3,0x5b,0xa8,0x1f,0xfd,0xa6,0x8a,0xff,0x7c,0xb8,0x1d,0x63,0xca, + 0x54,0x17,0x6a,0x95,0xe9,0x37,0x12,0xac,0x1f,0x5a,0x3c,0x76,0x9e,0x17,0xbf,0x89, + 0x22,0xf9,0xcb,0x3b,0x6,0xfd,0xdb,0x11,0xdd,0xd4,0xfd,0x6d,0x39,0x1a,0x8f,0xff, + 0x4e,0x42,0x62,0x66,0xe8,0xae,0x1a,0x5a,0xce,0xde,0xa8,0x1f,0xef,0xbb,0x65,0x2f, + 0xc3,0xb7,0xeb,0x8d,0xb1,0x1b,0xf7,0x3e,0xe6,0xe3,0xab,0x8b,0xf,0xbd,0xf1,0xff, + 0xdd,0xe5,0xad,0xad,0xa1,0xbd,0x9e,0x4f,0xef,0x66,0xb7,0xd3,0x41,0xbe,0xd2,0xdb, + 0x8b,0x35,0x78,0x2b,0x3d,0x5e,0x89,0xbc,0xae,0xd,0x89,0x50,0x91,0xdf,0xbe,0x62, + 0x9f,0xf5,0xf1,0x40,0x4a,0x7a,0xa1,0xe1,0x38,0x81,0x7d,0xe6,0xd3,0x3f,0x73,0x98, + 0xc0,0xf0,0xb3,0xfa,0x9a,0xf8,0x6d,0x0,0xcb,0x1d,0xce,0x35,0x6d,0x97,0x35,0xc1, + 0xb9,0xe6,0x8,0x2b,0xf0,0xe7,0x87,0x35,0x33,0xcf,0x7a,0xcb,0x9b,0x88,0x1,0x2b, + 0x95,0x40,0x5f,0x8,0x48,0x4c,0xa5,0xfe,0xa2,0xbf,0x61,0x51,0xe9,0x1e,0x34,0x3d, + 0xe6,0x69,0x94,0xfe,0xa3,0xa5,0x11,0xa0,0xc0,0x79,0xe7,0xba,0xad,0x32,0xcb,0x8d, + 0x46,0xf4,0xd7,0xfa,0xd0,0xb2,0x99,0xa4,0x74,0x0,0xd3,0x6d,0x8e,0x58,0xc5,0x48, + 0xa6,0x64,0x8b,0x82,0x69,0xd,0x47,0xd2,0x50,0x72,0xc2,0x4a,0x2b,0x10,0x43,0xb7, + 0xb8,0xa1,0x80,0xd1,0x70,0x41,0x2f,0xe5,0x70,0x6e,0xbc,0x53,0xb8,0x9d,0xbb,0x8c, + 0xc3,0x2f,0x31,0xa,0xa5,0xde,0x73,0x26,0x84,0x6d,0x71,0xf,0x37,0x94,0xe4,0x48, + 0xc8,0x81,0x4e,0x73,0x4f,0x45,0x9e,0xa6,0xac,0x2c,0x65,0xf3,0x4,0xb3,0xf,0xa1, + 0x14,0xe8,0xda,0x24,0xff,0x91,0x3e,0x45,0x36,0x36,0x8d,0x70,0x60,0x82,0x4b,0x78, + 0xd7,0x2a,0x6c,0x90,0xb1,0x65,0x39,0x74,0x2c,0x9f,0x8f,0x47,0xf8,0xe7,0xb2,0x1c, + 0x9c,0xce,0xa0,0x87,0xb9,0x1c,0x6c,0xca,0x65,0x62,0x84,0x22,0x1d,0x7c,0x1,0xe0, + 0x62,0x13,0x70,0x40,0x6b,0x99,0x66,0x4a,0xb7,0x4d,0x86,0xc8,0x47,0x3,0x12,0x20, + 0xe6,0x33,0xc6,0xa4,0x64,0x9a,0x86,0x41,0x39,0x1,0x36,0xf6,0x1,0x70,0x21,0xad, + 0x32,0x4,0x19,0x3a,0x23,0xb4,0x69,0x21,0x48,0x54,0xc0,0x5d,0x71,0xd4,0x43,0xd0, + 0xc3,0xb8,0xb7,0x84,0xb7,0xc9,0xa4,0x57,0x5a,0xb5,0x75,0x26,0x8d,0xd1,0x9a,0xe1, + 0x66,0x9b,0x31,0x8b,0x21,0xe0,0x28,0x73,0x6,0x8e,0x1b,0x8d,0xa0,0xcd,0xc,0xb7, + 0x42,0xb8,0x52,0x34,0xb3,0xdb,0x78,0xaf,0x1,0x7e,0x16,0xf2,0x2c,0xb3,0xce,0x70, + 0xe6,0x84,0x79,0x6d,0xe4,0xd5,0x26,0xf2,0x2e,0xf3,0x4e,0x1b,0x44,0xd0,0x6d,0x97, + 0xd1,0x76,0x37,0xeb,0x1d,0x61,0x7,0x3b,0x8b,0x38,0x4c,0x29,0x80,0xe2,0x3d,0xa2, + 0x4e,0xe9,0x8,0x79,0xe5,0xb9,0xd0,0x92,0x80,0xa2,0x1d,0xb2,0xe,0x80,0x2a,0xc, + 0x1c,0xe2,0x5c,0xde,0xc6,0x8,0xa,0x61,0x9c,0xd,0x77,0x63,0xfe,0xe0,0x76,0x6f, + 0x51,0xaa,0xe9,0x66,0x94,0xd2,0x18,0x19,0xa8,0xb5,0x6a,0xd3,0xfa,0x13,0xa3,0x33, + 0x2f,0xa9,0xcc,0x9,0xa9,0x85,0x2d,0x65,0x3b,0x77,0x2,0xe8,0xd1,0x56,0x5a,0xd7, + 0x3a,0x2,0xf4,0xef,0xbb,0xd7,0xab,0xf,0xf1,0x8,0x34,0x9d,0x92,0x5c,0x5a,0x79, + 0x8a,0x29,0xf9,0x2e,0x1e,0x4e,0x70,0x86,0x96,0xca,0x38,0x8f,0xa9,0x80,0x7,0x3b, + 0xc9,0x44,0x60,0x2e,0x8e,0x0,0x1b,0x83,0xd3,0xe,0xb1,0xb6,0x86,0x44,0x1a,0x4e, + 0x8c,0xa0,0x93,0x2,0xcc,0x25,0x84,0xf7,0x5e,0x4a,0x45,0x73,0x46,0x33,0xe6,0x1c, + 0x55,0xf4,0x94,0xe4,0x34,0x34,0xf,0x31,0x45,0xc0,0x7b,0x82,0x88,0x4b,0x2b,0xcc, + 0x1f,0x1a,0x3a,0x97,0x85,0xb0,0x9a,0xa6,0x21,0x1e,0xad,0x38,0xf1,0x96,0x51,0x4e, + 0xfb,0x52,0x72,0x7c,0x9a,0x58,0xa5,0x80,0x22,0x3a,0xcf,0x64,0x97,0xde,0x56,0x68, + 0x27,0x40,0x3e,0x40,0x19,0xf8,0xb0,0x2f,0x4e,0x31,0xf,0x6b,0x70,0x3,0x58,0x6, + 0x58,0x39,0xf1,0x16,0x67,0x98,0x49,0xde,0x0,0x2f,0x97,0x59,0xc5,0x35,0x10,0x0, + 0x14,0x4c,0x7a,0x16,0xcc,0x84,0x34,0x2,0x94,0xf,0xb8,0xa4,0x70,0xc6,0x4b,0x4b, + 0xda,0xcf,0x3d,0xe3,0xdc,0xa2,0x96,0xa6,0x97,0x45,0x8a,0xb9,0x63,0xc8,0x4a,0x38, + 0x6e,0x88,0xcb,0xc0,0x4a,0x44,0x79,0x26,0x73,0x9c,0x83,0xf4,0xc0,0x5a,0xb0,0x10, + 0x78,0xb0,0xa2,0x21,0x91,0x1a,0x9c,0xa6,0x4a,0xc1,0xce,0x6d,0xa1,0x2d,0x79,0x74, + 0xf4,0xfb,0x89,0xd1,0x36,0x83,0xe1,0x50,0x9f,0x60,0xea,0xd5,0xd0,0x6,0xae,0xb4, + 0xa7,0x8f,0x13,0xaf,0x0,0x41,0xa6,0x6c,0x61,0x25,0x1c,0x7,0x89,0x30,0x1b,0x8, + 0x5c,0xc3,0x8c,0x6,0x2b,0x1,0x9d,0xd6,0x18,0x1,0x93,0x31,0x80,0xc7,0x2c,0x51, + 0x15,0xa7,0x5,0x5c,0xaa,0x6,0xa8,0xbd,0x36,0xc1,0x28,0x63,0xc2,0xa0,0x8d,0x56, + 0xe2,0x91,0x5c,0x29,0xcf,0xc,0x2f,0x6,0xc6,0x19,0x94,0x28,0x6b,0xc0,0x53,0x9a, + 0x4a,0x60,0x87,0x1d,0x93,0x95,0xe0,0x14,0xd8,0xa6,0x39,0xd8,0x9b,0xde,0x93,0x8a, + 0x46,0xef,0x69,0x4f,0xad,0xe6,0x1c,0x95,0xf9,0x78,0x20,0x4d,0xab,0x24,0xc6,0x30, + 0x1,0x7b,0xd7,0xa9,0x7d,0xd4,0xf4,0x22,0xae,0x34,0x9a,0x59,0xdf,0x6,0xad,0x73, + 0xa8,0x94,0x55,0x91,0xdf,0x74,0xbd,0x66,0xdc,0xa4,0xdb,0x45,0x8,0x49,0xa8,0x29, + 0x1e,0x26,0xe1,0xc9,0x1,0x61,0x11,0xe5,0xe7,0x1a,0xb4,0xb7,0xec,0x24,0x9d,0x96, + 0x1d,0x79,0xc5,0x91,0xdc,0x35,0xc,0xf1,0xa1,0x38,0x8d,0x1e,0xbd,0xa3,0xd1,0x18, + 0x26,0xa5,0xb5,0xb5,0x3a,0x90,0x11,0xb3,0x46,0xcb,0x1f,0x22,0xe1,0x9b,0xe2,0x13, + 0x24,0xfe,0xb4,0xab,0xa,0x9f,0x56,0xc1,0xd3,0xd0,0x5a,0x5f,0xd4,0x9f,0x93,0x1c, + 0x1c,0x25,0xe1,0xaa,0x3a,0x41,0xa3,0x61,0xb5,0x83,0x3e,0xb6,0xc3,0x7,0x6e,0x35, + 0x6f,0x17,0x97,0xad,0xc,0x4c,0xaa,0xa1,0xb2,0x6,0x9a,0x27,0x31,0x82,0x82,0x29, + 0x5f,0x3,0x7a,0x8d,0x13,0x77,0xbc,0xd6,0x99,0x2d,0x97,0x60,0xd5,0xa7,0xb4,0x16, + 0xf6,0xfb,0x7f,0xf5,0xc3,0x3f,0xfd,0xfe,0xc5,0xe6,0x2d,0x15,0x51,0xc7,0xd9,0xcb, + 0xf2,0xa7,0x30,0x30,0x94,0xa3,0xf5,0x60,0xfc,0xd0,0x72,0xb4,0x4,0xae,0x93,0xc7, + 0x44,0x52,0xd0,0x34,0x86,0x9,0x47,0x6f,0x9b,0xa3,0xe9,0x1a,0xfe,0x9a,0x69,0x49, + 0x78,0x70,0x98,0x40,0xc6,0x52,0x87,0xad,0x91,0x64,0x9a,0x5a,0x12,0x4e,0x1,0x98, + 0x4d,0xfa,0xb2,0x90,0x33,0x22,0x4d,0x49,0x44,0x26,0x98,0xab,0x15,0x4b,0x9a,0xb4, + 0xa,0xa3,0x47,0x4b,0x7e,0xda,0x80,0x52,0xe1,0x9e,0x48,0x0,0x5,0xbc,0xb4,0xf, + 0x4d,0xf0,0x2,0xd8,0x62,0x7e,0xff,0x1a,0xca,0x8d,0xf,0x6b,0x91,0x82,0x3c,0x47, + 0x34,0xcd,0xd4,0x8b,0x11,0xf0,0x3b,0xa9,0x59,0x30,0x6a,0x92,0x67,0x4c,0x80,0xa7, + 0x83,0x5e,0x6b,0x4b,0x8e,0x3d,0x6f,0x1,0x78,0xef,0x2d,0x2b,0xa,0x9d,0x20,0xcf, + 0xc8,0xb6,0x68,0x6d,0x10,0x6e,0xa6,0x90,0x55,0x21,0xdc,0xc6,0xf,0x2d,0x1,0x72, + 0xd7,0x4a,0xc8,0xa8,0xd8,0xb7,0x28,0x4b,0x2f,0xe1,0xc9,0xd8,0xe2,0xa9,0xf0,0x81, + 0x10,0xf,0x8,0x8a,0x63,0x19,0xf,0x65,0xc,0xde,0x2f,0xbc,0x4c,0xb4,0x6b,0x5d, + 0xca,0x32,0xa9,0xe0,0xa2,0x86,0x66,0x89,0x22,0x61,0x6d,0xa9,0xc7,0xc2,0x7a,0x48, + 0x60,0x8a,0x6c,0x2b,0x4c,0x27,0x2a,0x85,0xb5,0x50,0x3,0xbe,0x2f,0x1c,0x57,0x38, + 0xc0,0x16,0x6d,0x5d,0x15,0x92,0x55,0xf,0x6,0x4,0xc6,0x17,0x8d,0x89,0x8b,0x31, + 0x89,0x69,0x5d,0xd8,0x53,0xa1,0x92,0x12,0x1e,0x80,0x45,0xa1,0x44,0xa4,0xa1,0x81, + 0x48,0x6d,0x28,0x7f,0xd,0x4c,0x29,0x9d,0x61,0x50,0x4e,0x8d,0x40,0x46,0x11,0x7, + 0xae,0xe2,0x17,0xe1,0x51,0x89,0xde,0xf1,0x7,0xdd,0xc1,0xec,0xa9,0x96,0x0,0xd2, + 0xf0,0xd0,0xbd,0x6e,0x77,0x1c,0x6d,0xa6,0xa1,0x57,0x6a,0x9,0x30,0x45,0xb,0x8f, + 0x82,0xa,0xb5,0xc6,0xa3,0x2c,0x39,0xe4,0x92,0x3c,0x8e,0xf0,0x58,0x7,0x7f,0x1d, + 0x72,0x25,0xd,0xba,0x80,0xb3,0xf,0xe5,0xc7,0x33,0x2d,0xbd,0xf0,0xf,0xfe,0x55, + 0xb4,0x76,0x2,0x9f,0xdc,0x92,0x7c,0x74,0x41,0x7a,0xaf,0xd0,0xac,0xb4,0xe6,0xfd, + 0xb5,0xa5,0xa6,0xc7,0xf2,0x1b,0x11,0x32,0x58,0x89,0x58,0xa1,0x2c,0xa7,0xc,0xd9, + 0xff,0x4e,0x47,0x93,0xcb,0x60,0xc5,0xf6,0x99,0xb4,0xde,0x7c,0xde,0x7b,0x8c,0xa9, + 0xe4,0x49,0x43,0x17,0xf1,0xc9,0xda,0xcf,0xf,0x13,0xbb,0x74,0x39,0xd3,0xb4,0x95, + 0xa6,0x1b,0xc5,0x8a,0x11,0x61,0x14,0x86,0xd2,0xbb,0x11,0xed,0xf5,0xa7,0xf8,0x3a, + 0xcc,0x1,0x8d,0x27,0x5c,0x36,0x8c,0x98,0xa3,0xd0,0x5a,0xa5,0x9,0x7,0xd1,0x55, + 0x23,0xc2,0x49,0x22,0x7f,0x37,0x1f,0x7f,0xbf,0xb1,0x38,0x42,0xd1,0xc3,0xf,0x3b, + 0x47,0x63,0xa8,0x4d,0x62,0x34,0x84,0x3e,0xc7,0x40,0xf0,0x34,0xeb,0x91,0x57,0x6, + 0x15,0xf1,0x64,0x4f,0x34,0x3c,0x0,0x5d,0xc4,0x48,0x5e,0xd1,0xb9,0x3,0x14,0xa8, + 0x2b,0x6b,0x19,0x34,0xdf,0x62,0x9e,0xa2,0xf5,0xdc,0xd3,0xcb,0x28,0xf0,0xa9,0x11, + 0x58,0xb5,0x60,0x35,0xc3,0x3b,0xd3,0xe4,0x3c,0xc0,0xf8,0xa,0x9a,0xfb,0x70,0x9a, + 0x11,0x72,0x51,0x19,0xe5,0x19,0x11,0xd9,0x5a,0xe2,0x50,0x44,0xb4,0xe,0xbe,0x3b, + 0xf,0xa5,0x9e,0x36,0x1f,0xf0,0x90,0x8a,0x80,0xf5,0x6,0xcb,0xd0,0x4a,0x32,0xe8, + 0x11,0x3a,0x6f,0xaa,0x27,0xae,0xcb,0xc8,0xc9,0xb7,0x98,0x49,0xf5,0x52,0x44,0x77, + 0x30,0x34,0x8a,0x85,0xb2,0xb0,0x45,0xd0,0xc1,0x5f,0x82,0x13,0xcf,0x4a,0xd9,0xc4, + 0x40,0x34,0xe9,0xd7,0xa5,0x3e,0xc3,0xdc,0xe,0x1d,0xa4,0x18,0xc0,0xd1,0x8e,0xe, + 0x7,0x4e,0xa2,0x7c,0x6,0xf9,0x55,0xe,0x8a,0xa4,0xa9,0x48,0x11,0xc,0x4,0x8c, + 0xd0,0xe5,0xb7,0xf,0xc4,0x54,0x8a,0x4e,0x9a,0xb0,0xab,0x22,0x6,0x52,0x5,0xa5, + 0x49,0xf4,0xcb,0x86,0xc7,0x20,0x64,0x80,0x3f,0x4c,0xfb,0x57,0xe0,0x90,0x80,0x21, + 0x3c,0xf1,0x7a,0xc0,0x64,0x5d,0x46,0x6e,0x8a,0xd1,0x3c,0x60,0x2,0x42,0x95,0xd6, + 0x23,0xf6,0xa0,0x97,0x70,0x10,0x90,0xa0,0x3,0x20,0x5e,0xe2,0x65,0x98,0x51,0xb4, + 0x50,0x3a,0x49,0x1d,0x15,0x1a,0x8e,0x99,0x8,0x37,0x57,0x65,0x1f,0x88,0x88,0xa4, + 0xa2,0x8,0x2b,0xae,0x49,0x47,0x8b,0x50,0xca,0x85,0x1e,0xa8,0x2c,0x61,0x2c,0x60, + 0xa6,0x0,0x97,0x2c,0x24,0x33,0xda,0xdd,0x41,0xed,0x1,0x78,0x0,0x7,0xa5,0x76, + 0xd5,0xc6,0xc0,0xf9,0x88,0x81,0xc1,0x68,0xc1,0x15,0xa7,0x19,0x43,0xbd,0x83,0xb7, + 0x2e,0xc,0x39,0xec,0xc6,0xd3,0x62,0xb5,0x4e,0xa8,0xcb,0x36,0x4d,0xad,0x83,0x72, + 0xbd,0x6d,0x6a,0x93,0xa6,0x3b,0x58,0xed,0xe2,0x4f,0x7f,0x83,0x26,0x8e,0x30,0x21, + 0xf5,0x81,0x13,0x12,0x41,0x24,0x53,0x88,0xe7,0x5f,0x71,0x56,0x62,0x1e,0x30,0xab, + 0xc9,0x84,0x53,0x2a,0x9f,0x63,0x74,0x65,0x31,0xf,0x5c,0xd0,0xd6,0xa8,0x94,0xb2, + 0x1c,0x12,0x81,0x48,0x9b,0xd2,0x47,0x9c,0x29,0xe7,0x49,0xe1,0xd,0xd1,0xbe,0xa4, + 0x32,0xc6,0x31,0x74,0xc5,0x2c,0x28,0xb,0xc9,0x50,0x62,0x3e,0xf8,0x10,0xcf,0x39, + 0x5a,0xe1,0xc1,0xac,0xe6,0xc1,0x6,0xc1,0xd6,0x7,0x29,0x5e,0xb0,0xf0,0xfa,0x99, + 0xf2,0xf8,0xcf,0xc5,0xcd,0xa9,0xca,0xe0,0x18,0x51,0x82,0x45,0xd5,0x4b,0x61,0x78, + 0xa1,0x77,0x98,0xf6,0xe1,0x81,0xf0,0xae,0x3d,0x31,0x2,0x15,0xd8,0xa0,0x97,0x8a, + 0x7c,0xf4,0x82,0x26,0xca,0x42,0x9a,0x8b,0x88,0x20,0x5d,0x41,0x13,0x6,0x84,0xe3, + 0x42,0x6f,0xb4,0x83,0xcb,0xe8,0x83,0x14,0x18,0x7a,0xa3,0xa3,0x4e,0xa7,0xe0,0x79, + 0x52,0xf,0x37,0x9d,0xd9,0xa7,0xf4,0xf0,0x4,0x1a,0x68,0xbf,0x3c,0xd,0x24,0xda, + 0xc1,0xf0,0x10,0x73,0xd0,0x4b,0xc8,0xca,0x98,0x8a,0x76,0xe0,0x83,0xc5,0xa5,0x44, + 0x3b,0x94,0x7,0xb7,0xed,0x62,0xd3,0xb0,0x83,0xb7,0x27,0x42,0xf6,0x17,0xae,0x69, + 0x18,0x5e,0x72,0x25,0x49,0x7,0xa3,0x52,0x10,0x27,0x98,0xae,0xf0,0xb,0x29,0x45, + 0x6,0xaf,0xab,0x60,0x72,0xf8,0xd1,0x70,0x94,0x82,0x1c,0xa8,0x65,0x50,0x23,0x25, + 0x28,0xbb,0x16,0xb7,0xa8,0x2a,0xb,0xbc,0xa5,0xe1,0x93,0xd7,0x4a,0xc1,0xac,0xf0, + 0xd2,0x39,0x77,0xe1,0x89,0x70,0x3d,0x8c,0x21,0xe,0x26,0x9f,0x12,0xfc,0x4e,0x5a, + 0xc8,0x2c,0x22,0xe6,0x82,0x99,0xcb,0x52,0x9e,0x39,0xe2,0x3f,0xb5,0x62,0x66,0x38, + 0xd0,0xc6,0x87,0x1e,0xc1,0x5b,0x57,0xba,0x90,0x63,0x29,0x55,0x11,0xf5,0x3c,0x81, + 0xd1,0x93,0x6a,0x68,0x5f,0x57,0xd,0xfd,0x2e,0x35,0x8c,0x75,0xe5,0x33,0xd2,0x41, + 0x43,0xc6,0x59,0xc0,0xec,0x4,0x32,0xd1,0x70,0x2,0x5c,0xe0,0x2c,0x66,0xe0,0xd9, + 0x9,0x19,0x95,0x3a,0x4a,0xe,0x6a,0xcf,0xc2,0xe8,0x5a,0x89,0x1f,0x10,0x1e,0x2d, + 0x49,0x68,0x1d,0x94,0x8d,0x4b,0xef,0x60,0xaf,0x89,0x6,0x31,0x9a,0x8a,0x92,0xec, + 0xe4,0xe9,0x83,0xf,0x83,0x12,0x39,0x1a,0x6f,0x84,0x29,0x64,0x10,0xc1,0x5f,0x82, + 0x96,0x35,0x28,0x26,0x80,0xd3,0xcf,0x4c,0x9b,0xf4,0x1b,0x5e,0x3d,0x6a,0x1a,0x4a, + 0xa9,0x40,0x79,0xa2,0xa2,0xf,0xf0,0x63,0x24,0x1d,0x1d,0x1a,0x17,0x92,0x2d,0x85, + 0x7f,0xd,0xc5,0x70,0x74,0x3c,0x95,0x55,0x8a,0x9c,0xa5,0x90,0xd3,0x97,0x94,0x50, + 0xc6,0xdf,0x88,0x58,0xa,0x1e,0x4,0x3b,0x28,0xca,0xc9,0x4,0x3,0xad,0x28,0x74, + 0x20,0x66,0x65,0xc1,0xf,0xb2,0xa1,0x3b,0xf4,0xde,0xa2,0x82,0x18,0x30,0xbf,0xb7, + 0x2b,0x66,0x2d,0xba,0x9d,0x2,0xe8,0x49,0x5,0xf4,0xaf,0xaa,0x80,0x9e,0x7f,0x61, + 0xa,0x28,0x68,0x8b,0xb2,0xa4,0xcc,0x6f,0x41,0x24,0x15,0xe5,0x80,0x1,0x9d,0x8d, + 0x4b,0x89,0x72,0xc,0x2d,0xb5,0x60,0xc0,0xc,0x94,0x41,0x6,0xc6,0xc1,0xb8,0xa, + 0x1e,0x86,0x96,0x49,0xf4,0xc6,0x16,0x8c,0x83,0x8,0xf,0x61,0xa,0x29,0xa0,0xb5, + 0xb0,0x9a,0xb6,0x60,0x1c,0x4e,0x94,0xa5,0xa0,0x30,0xc,0xf,0x2,0x55,0x90,0x18, + 0xee,0x1c,0xd4,0x96,0x1c,0x4e,0xc5,0xa1,0xdc,0x96,0x1a,0xa4,0x2d,0x39,0xbb,0x51, + 0x19,0xee,0xa6,0xa5,0x8c,0x10,0x18,0x47,0x35,0x6d,0x70,0xde,0x82,0x3f,0x8b,0x20, + 0x15,0xd1,0xb0,0xd,0x4c,0xed,0x11,0x87,0x3a,0x4a,0x0,0xa2,0x3,0xac,0x68,0x11, + 0x39,0x1,0x4e,0xda,0xe0,0x19,0x60,0x42,0x8,0xe9,0xb,0x56,0x16,0xe8,0x85,0x9, + 0x9e,0x23,0xed,0x11,0xa5,0x27,0x22,0x8c,0x85,0x2a,0xc6,0xdd,0x4e,0x0,0xf4,0x94, + 0x2,0x9a,0x6d,0xa0,0x9b,0x2b,0x60,0x2d,0x62,0x8c,0xbe,0xac,0x17,0x2f,0xaa,0xf, + 0xf5,0x2c,0xa4,0x8c,0x4f,0x26,0xdb,0xb5,0x86,0x6b,0xd7,0x36,0xb9,0xf9,0x1a,0x6e, + 0x7d,0xdb,0x30,0xfe,0x21,0x37,0x5a,0x53,0x3a,0x3,0x1f,0x10,0x61,0x8,0xcd,0x8f, + 0xb0,0x90,0x2b,0xe3,0x3,0xe9,0xbe,0x2d,0xe4,0x9e,0x7e,0x39,0x51,0xc6,0xa7,0x27, + 0x7e,0x5b,0xc8,0x3d,0x2f,0xf2,0x66,0x13,0xf9,0x6f,0xb,0xb9,0x6f,0x6a,0x21,0x97, + 0x12,0x29,0xda,0xa0,0xbb,0x6d,0x5a,0x58,0x5,0xf7,0x28,0x55,0xac,0xc4,0x52,0xde, + 0xd4,0x82,0x7a,0x68,0xfa,0xc0,0x88,0x9,0x4a,0xd3,0x38,0x4,0xa2,0x20,0x53,0x9, + 0xa,0x53,0xb0,0x8f,0x14,0x9c,0x32,0xaf,0xa8,0x16,0x1d,0x73,0x68,0x74,0x8,0x1b, + 0x31,0x8b,0x24,0x86,0x5d,0x50,0x21,0x1e,0x81,0x69,0x46,0x4e,0x99,0x16,0x14,0x16, + 0x53,0xd6,0x19,0xc6,0xcf,0x90,0x53,0x6,0xa2,0xb2,0x66,0x2d,0xb6,0x7e,0x38,0xc9, + 0x4a,0xfb,0xd6,0xc3,0xfb,0x16,0x56,0x71,0x39,0x2d,0xe3,0xd2,0x9b,0x1e,0x21,0xa5, + 0xe,0xf3,0xab,0xb,0xdd,0x57,0x98,0x6,0xe4,0xbf,0xf8,0xcc,0x81,0x7e,0x30,0x0, + 0x4,0x35,0xe6,0x8b,0x22,0xbc,0x10,0x30,0x59,0x40,0xd,0x6a,0x13,0x70,0x66,0x35, + 0xd5,0x92,0x86,0xf1,0xe0,0x6a,0x4,0x67,0x42,0x83,0xda,0x60,0x2a,0x40,0x52,0xe0, + 0x2c,0x22,0x46,0x4f,0x93,0x8e,0x8a,0x28,0xd,0xe7,0x5,0x6,0xc4,0xc1,0x9b,0x89, + 0xc4,0x9a,0x4,0xd4,0xfa,0x6c,0xb,0xe6,0x67,0x59,0xc2,0x25,0x54,0x9d,0x21,0xb8, + 0x34,0xbd,0x2a,0x81,0x39,0x53,0x2c,0xc2,0x4a,0xd0,0x3d,0x68,0x9f,0x96,0xb5,0xa1, + 0x90,0xc4,0xe6,0xd0,0x5c,0x47,0xba,0x4e,0x65,0xe,0xd6,0xc3,0xd8,0x40,0x66,0x5e, + 0x6a,0x4a,0x87,0x60,0x1e,0xc0,0x9c,0x84,0x48,0xc7,0x13,0x9e,0x0,0xb4,0x4d,0xd6, + 0x5a,0x7a,0x4c,0x1a,0x1a,0x14,0xe,0x25,0x16,0x54,0x4,0x7e,0x62,0x88,0x6c,0x5d, + 0xd8,0x9d,0xa0,0xfd,0x5a,0x70,0xa,0x6c,0xd1,0x10,0xec,0x40,0x20,0xef,0x69,0xdb, + 0xdf,0x4f,0xef,0xfe,0x1f,0x56,0x88,0xdd,0x89, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/mic_50.svg + 0x0,0x0,0xb,0xf9, + 0x0, + 0x0,0x34,0xd7,0x78,0x9c,0xed,0x5a,0x5b,0x6f,0xe3,0xc6,0x15,0x7e,0xdf,0x5f,0xc1, + 0x6a,0x5f,0xb2,0xa8,0x45,0xcd,0xfd,0x22,0xdb,0x1b,0x14,0x9,0x12,0x4,0x48,0xd0, + 0xa2,0x49,0xd0,0xc7,0x80,0x26,0x29,0x9b,0x5d,0x4a,0x54,0x49,0x6a,0x6d,0xe7,0xd7, + 0xf7,0x9b,0x91,0x78,0x93,0x28,0x5b,0xf2,0xda,0x49,0x1f,0x2a,0xad,0x57,0xe4,0x99, + 0xcb,0x99,0xf9,0xce,0x7d,0xc8,0xab,0xaf,0x1f,0x96,0x79,0xf0,0x39,0x2d,0xab,0xac, + 0x58,0x5d,0x4f,0x68,0x48,0x26,0x41,0xba,0x8a,0x8b,0x24,0x5b,0xdd,0x5e,0x4f,0x7e, + 0xfd,0xe5,0xbb,0xa9,0x99,0x4,0x55,0x1d,0xad,0x92,0x28,0x2f,0x56,0xe9,0xf5,0x64, + 0x55,0x4c,0xbe,0xfe,0xf8,0xee,0xea,0x2f,0xd3,0x69,0xf0,0x4d,0x99,0x46,0x75,0x9a, + 0x4,0xf7,0x59,0x7d,0x17,0xfc,0xb0,0xfa,0x54,0xc5,0xd1,0x3a,0xd,0xbe,0xba,0xab, + 0xeb,0xf5,0x7c,0x36,0xbb,0xbf,0xbf,0xf,0xb3,0x1d,0x31,0x2c,0xca,0xdb,0xd9,0x87, + 0x60,0x3a,0xc5,0xc8,0xea,0xf3,0xed,0xbb,0x20,0x8,0xc0,0x76,0x55,0xcd,0x93,0xf8, + 0x7a,0xb2,0xeb,0xbf,0xde,0x94,0xb9,0xef,0x97,0xc4,0xb3,0x34,0x4f,0x97,0xe9,0xaa, + 0xae,0x66,0x34,0xa4,0xb3,0x49,0xd7,0x3d,0xee,0xba,0xdf,0xa7,0x37,0x61,0x99,0x56, + 0xc5,0xa6,0x8c,0xb7,0xd3,0xc7,0x71,0xbf,0x67,0x99,0x2c,0xba,0xae,0x58,0xc9,0x3d, + 0xf7,0x9d,0xa8,0xb5,0x76,0x46,0xd8,0x8c,0xb1,0x29,0x7a,0x4c,0xab,0xc7,0x55,0x1d, + 0x3d,0x4c,0x57,0xd5,0xfb,0xde,0x50,0x2c,0x70,0x6c,0x28,0x23,0x84,0xcc,0xd0,0xd6, + 0xf5,0x3c,0xad,0xd7,0xfc,0x21,0x7,0xc,0x47,0x17,0xe3,0x5b,0xfb,0xdc,0x1,0xfd, + 0x1a,0x7f,0xed,0x80,0x86,0x10,0x6e,0xf7,0xba,0xc0,0xc8,0x34,0x5c,0xa5,0xf5,0xec, + 0xdb,0x5f,0xbe,0x6d,0x1b,0xa7,0x24,0x4c,0xea,0xa4,0x37,0x4d,0x83,0xfc,0x80,0xef, + 0x40,0x1c,0xab,0x68,0x99,0x56,0xeb,0x28,0x4e,0xab,0x59,0x43,0xf7,0xe3,0xef,0xb3, + 0xa4,0xbe,0x83,0x26,0x28,0x7f,0x77,0x97,0x66,0xb7,0x77,0x75,0x7b,0x9b,0x25,0xd7, + 0x13,0xec,0x8e,0xf9,0x9b,0x86,0xf9,0xbc,0x55,0x1f,0x12,0xf2,0x6d,0x53,0x33,0x63, + 0xbf,0x49,0xc8,0x90,0xfa,0xc6,0x81,0xb6,0xd,0x26,0x4a,0x8a,0xf8,0x26,0xaa,0xb0, + 0xe8,0xd9,0x5d,0xb1,0x4c,0xa7,0x79,0x11,0x47,0xf9,0x6c,0x9d,0xdf,0xa4,0xd1,0x26, + 0x29,0xb2,0xd5,0xec,0xe7,0xef,0x7e,0xfc,0xc7,0x1d,0xd4,0x70,0x56,0x2d,0xf2,0xf5, + 0xe0,0x62,0x7a,0x5b,0x7f,0x9a,0xad,0xb3,0x87,0x65,0xb4,0xae,0xe,0xe6,0x74,0x5b, + 0xbd,0x9e,0x2c,0xb3,0xf8,0x37,0x49,0xc2,0x46,0x38,0xed,0x12,0x8b,0x4d,0xbd,0xde, + 0xd4,0xbf,0xa5,0xf,0x75,0xba,0xda,0xae,0xb,0xf0,0xf4,0xb0,0xf2,0xcd,0x6e,0x58, + 0x4b,0x9b,0x7c,0xc4,0x4,0x57,0x49,0xba,0xa8,0xdc,0x44,0x5b,0x54,0xdc,0x9d,0xf0, + 0xd,0x68,0x82,0x4c,0xd3,0xa8,0xfc,0xbe,0x8c,0x92,0xc,0x6a,0xbc,0xed,0xd4,0xe3, + 0x18,0x17,0x79,0x9e,0xc6,0x40,0x35,0xca,0xef,0xa3,0xc7,0xed,0x7a,0x9b,0x79,0x86, + 0x43,0xb9,0x20,0xcd,0xa4,0x98,0xb6,0xaa,0x8b,0x75,0xd3,0x17,0x3b,0xac,0x1f,0x73, + 0x6c,0xcb,0x11,0xa7,0x98,0xb1,0x28,0xe7,0xef,0x59,0xe2,0xbe,0x97,0x9e,0x54,0x40, + 0xb6,0x59,0xfd,0x38,0xa7,0x97,0x93,0x6e,0x4c,0xb1,0x58,0x54,0x29,0x18,0x93,0x1e, + 0xcd,0xcb,0x14,0x23,0xc0,0x4b,0x4d,0x82,0xd9,0x97,0x71,0x23,0x63,0xdc,0xe8,0x38, + 0x37,0xd3,0x72,0xbb,0x9a,0xd,0xb7,0xfd,0x34,0x8c,0x87,0x28,0x71,0x4d,0xce,0x40, + 0x29,0xd1,0xee,0xfb,0x52,0x94,0xb8,0x66,0x67,0xa1,0xa4,0x63,0xf7,0x3d,0x81,0xdb, + 0x28,0x4a,0x5c,0x8b,0xd7,0x43,0x49,0xb1,0x33,0x50,0x22,0xfe,0xf3,0x62,0x94,0x94, + 0x38,0xb,0xa5,0x85,0xff,0xbc,0x18,0x25,0xa5,0x5e,0xb,0x25,0x18,0x9c,0x3c,0x3, + 0xa5,0xb1,0x75,0x93,0x13,0x41,0x2,0x2b,0x7d,0x1e,0x48,0xf1,0xe2,0x26,0xbe,0xd9, + 0x3,0xe9,0x44,0x8c,0xc0,0xcc,0xbe,0x1a,0x46,0x4c,0xd9,0x33,0x30,0xa2,0xc9,0xcd, + 0xcb,0x35,0x49,0x30,0x4d,0xcf,0x2,0x69,0x8c,0xdb,0xc9,0x5e,0x9,0xdc,0xf8,0xab, + 0xa1,0x44,0xd,0x3f,0x86,0x52,0xcb,0x8f,0x1a,0xf9,0xc,0x10,0xa7,0x3,0x7a,0x14, + 0xa5,0x1e,0x37,0xfd,0xc,0x10,0x63,0x8e,0x60,0x21,0x17,0x4f,0x70,0xfb,0x62,0x94, + 0x94,0x3e,0x43,0x97,0x8c,0x73,0x4a,0xe9,0x4b,0x75,0x89,0x2a,0x7b,0x96,0x2e,0x39, + 0x98,0xa9,0x78,0xa9,0x2e,0xd1,0x9e,0xe6,0x9e,0x87,0xd2,0x73,0x89,0x82,0x4f,0x1a, + 0xe7,0x77,0x65,0x8a,0x24,0xf7,0xfd,0x88,0xd6,0x1d,0x87,0x9b,0x31,0x26,0xba,0x69, + 0xa8,0x4b,0xec,0x42,0xc3,0x94,0xb6,0xaa,0xa5,0x3e,0x82,0xaa,0x42,0xcd,0x8c,0xd1, + 0xb4,0x9b,0xea,0x81,0x5d,0x4f,0x98,0xe,0xa5,0x62,0x9d,0xc2,0x3e,0x3a,0x1a,0xb, + 0x25,0x65,0x92,0x74,0xd4,0xdb,0x1d,0xab,0x5f,0x57,0x59,0x8d,0x1c,0x79,0x53,0xa5, + 0xe5,0xcf,0x2e,0xcf,0xfc,0xfb,0xea,0xd7,0x2a,0x3d,0xe8,0xf5,0x4b,0x19,0xad,0x2a, + 0x24,0xb5,0x4b,0x24,0x68,0x51,0x5d,0x66,0xf,0x5f,0x91,0xd0,0x68,0x49,0x98,0xbc, + 0x20,0xee,0xdb,0xde,0x84,0x4a,0x29,0x4d,0x38,0x2e,0xa8,0xd6,0x96,0xe8,0xf,0x1d, + 0xb6,0xe3,0x28,0x1e,0xe7,0x40,0x43,0xc5,0x2c,0xe5,0x9e,0xc1,0xb4,0xb9,0x99,0x52, + 0x12,0x12,0xa5,0x88,0xb9,0xe0,0x36,0xd4,0xd4,0x1a,0x70,0x38,0x6f,0x4b,0xe,0xe, + 0x15,0x2a,0xad,0x89,0xd5,0x66,0x0,0x1c,0x95,0xa1,0x21,0x8a,0xed,0x92,0xe3,0x6, + 0x64,0x40,0x67,0xb4,0x60,0xc4,0xc,0x5,0x22,0x43,0xc5,0x9,0xb7,0xf2,0x9,0x29, + 0xc2,0x4d,0xc9,0x93,0x94,0xc1,0x39,0xea,0x67,0xb5,0xea,0x19,0x1c,0xdd,0xb6,0x28, + 0xf,0x2d,0x4a,0x1b,0x39,0xd4,0x7,0xa8,0xe,0xd7,0xc6,0x58,0x3d,0xd8,0x16,0x65, + 0x40,0x54,0x5a,0xc2,0x6,0xdb,0x62,0x0,0x57,0xc2,0xff,0xe8,0x13,0x34,0x60,0x4a, + 0xbd,0x68,0xe8,0x5,0xc7,0x28,0x28,0xb4,0xb9,0x98,0x2,0x2a,0x25,0x34,0x3f,0x57, + 0x24,0x87,0xd0,0x51,0x6e,0xcc,0x1f,0x6,0xdd,0xc8,0x16,0x6b,0x77,0x99,0xa3,0x6e, + 0x86,0x9e,0x83,0x7,0x95,0x7e,0x73,0x5a,0x31,0xca,0xd5,0x4b,0x14,0xee,0x2d,0x24, + 0x33,0x8a,0x9a,0xfa,0xc3,0x51,0x3b,0x61,0xf3,0x24,0x94,0x5a,0x69,0x46,0x87,0xd6, + 0x26,0x42,0x2,0x34,0xb9,0x19,0x5a,0x5b,0xa8,0x9,0x7c,0x9a,0x52,0x7,0xd6,0x26, + 0x30,0xc1,0x53,0x3e,0x13,0x9b,0x17,0x27,0x6d,0x7e,0xe0,0x7a,0xdf,0x42,0x65,0x50, + 0xe6,0x5b,0xa1,0x9,0x85,0xce,0xc0,0x31,0x1a,0x9,0x2f,0xf5,0x22,0x9d,0x81,0xcf, + 0xe6,0x52,0x53,0x39,0x80,0x8d,0xd3,0x90,0x23,0x18,0x9b,0x7d,0x95,0xd9,0xef,0xea, + 0xb0,0x14,0x21,0xb7,0xba,0xef,0xf4,0x47,0x51,0x63,0xff,0x1b,0xa8,0xd1,0x90,0x29, + 0xe8,0x25,0x75,0xbe,0x9e,0x12,0xa2,0x25,0x7b,0x21,0x68,0x86,0x49,0x63,0x87,0x86, + 0xa6,0x61,0x7d,0x1c,0xff,0xe4,0x3e,0x6a,0xfb,0x7d,0xa9,0x3f,0xee,0x20,0x2,0xda, + 0xa6,0x9e,0x46,0x8d,0xfc,0x61,0xa8,0x8d,0xb1,0xd7,0x47,0xcf,0x1b,0x9a,0xbc,0x6, + 0x7d,0xba,0x1d,0x9c,0x9c,0xb3,0x1e,0x49,0xdc,0x9e,0xcd,0x59,0xc1,0xcd,0x8c,0x70, + 0x7b,0x26,0x67,0x3d,0x92,0xb8,0xbd,0x52,0xce,0xa,0xe7,0x62,0xce,0x39,0x95,0x51, + 0x5f,0x50,0xff,0x50,0x77,0xb6,0x71,0x56,0xfd,0x23,0x46,0xd3,0xf5,0xd3,0x72,0x56, + 0xda,0x3f,0xdd,0xf8,0x72,0x94,0x8e,0x9e,0x37,0x74,0xfc,0x94,0x38,0x5f,0x97,0x8e, + 0x0,0x7a,0x82,0x2e,0xa9,0x31,0xcd,0x7d,0x46,0x97,0xc6,0xb8,0xbd,0x58,0x97,0xde, + 0x2e,0xb3,0xa7,0xee,0xf8,0xee,0x3c,0xb7,0x36,0x1e,0x0,0x8f,0x4,0xcb,0xf1,0xc0, + 0x3a,0x8,0xc2,0xcf,0xb9,0x9b,0x37,0xdd,0xbc,0x39,0x73,0xf3,0x2f,0xe,0x19,0x1e, + 0x35,0xb7,0x67,0x61,0xf9,0xbe,0xd7,0xa7,0x54,0x4a,0x69,0x7,0xa0,0x21,0x52,0x2b, + 0x83,0xce,0x83,0xec,0x9f,0xf5,0x7b,0xff,0x99,0xb0,0x51,0xf2,0x9a,0xb0,0x3d,0x99, + 0x9f,0x38,0xdc,0x90,0x63,0x28,0xcb,0xac,0xda,0x4b,0x32,0x1c,0xdc,0x82,0xd1,0xa1, + 0xb6,0x31,0x8e,0x29,0xa0,0x83,0xc3,0x7a,0x13,0xf9,0x2e,0x97,0x92,0xb3,0x37,0x45, + 0x6d,0x90,0xc5,0x8e,0xa1,0xc6,0x5e,0x13,0xb5,0xa7,0xa,0x1,0x7,0x9a,0xe,0x81, + 0xa4,0x53,0xa0,0x21,0x68,0x32,0xb4,0x94,0xd,0xaa,0x19,0x9f,0x8f,0x50,0x4a,0x85, + 0x11,0x74,0x8,0x1a,0xd,0xa5,0xd5,0x1c,0xa5,0xfb,0x9f,0x8a,0x9a,0xf8,0x72,0xd4, + 0xce,0xa8,0x10,0xc7,0x6b,0x9b,0x23,0x75,0xd0,0x78,0xcd,0x34,0xa8,0xaf,0x5a,0xe8, + 0xdc,0xaa,0xa2,0xfc,0x55,0xa1,0x73,0x87,0xce,0x7d,0xe8,0x86,0x2c,0x4,0x91,0x9d, + 0x3c,0xe3,0x7,0x2c,0xca,0x86,0xcc,0xc,0xb2,0xf2,0xf8,0xf1,0x7a,0x62,0x43,0x47, + 0x13,0xbd,0x3,0x9e,0xc5,0x68,0xdf,0xc5,0x68,0xdf,0xd2,0x7b,0x35,0xe3,0xc9,0x67, + 0xca,0xa9,0x5a,0x97,0x69,0x94,0xfc,0x94,0xd6,0x77,0x85,0x5b,0x7b,0xba,0x70,0xfb, + 0x3f,0xe9,0xa4,0x7,0xa2,0x43,0x1d,0xb1,0x3b,0xe9,0xd9,0xdd,0x38,0x6f,0x40,0xa4, + 0x30,0x17,0x32,0xd4,0x4c,0x33,0x61,0x9e,0x3d,0xe9,0xf9,0x12,0xe8,0xfd,0x53,0x91, + 0xe3,0x5a,0x2b,0x5,0x3f,0x37,0xaa,0x3e,0xb5,0x5f,0x6d,0x94,0xe5,0x4c,0x5c,0x74, + 0x57,0xd3,0x51,0xa2,0xab,0xba,0xa8,0xe6,0x42,0xba,0x0,0x44,0x8,0x2,0xb1,0xd8, + 0x8f,0x40,0x2a,0x24,0x5c,0xf7,0x6b,0x2c,0xa7,0xd9,0x3c,0x54,0x5c,0x10,0x6d,0x86, + 0x45,0xa,0xbc,0xb2,0x36,0x10,0xf6,0x30,0x6e,0xcb,0x90,0x51,0x23,0xd,0x65,0x6f, + 0xa9,0xd9,0xfe,0xd1,0xdc,0x71,0xcd,0x6,0xbc,0xaf,0x10,0xb7,0x5b,0x78,0x95,0xd4, + 0x44,0x9,0x77,0x46,0x28,0x18,0xd0,0x61,0x3e,0xe,0xc1,0xfe,0xb9,0xf0,0x27,0x88, + 0x86,0x12,0x6a,0x15,0xf4,0x8a,0xc1,0xf6,0xa5,0xd6,0x1e,0x5c,0x63,0x11,0x90,0x7a, + 0x67,0x7d,0x43,0x65,0x5e,0x47,0xc9,0xc0,0xf2,0x64,0x28,0x85,0x50,0xb2,0x77,0xdc, + 0xe2,0x2c,0x4f,0x41,0x5c,0x5a,0x23,0xc8,0xf,0x2c,0xef,0xb0,0xef,0x62,0xb4,0x6f, + 0xe9,0xe4,0xa6,0xd,0xb3,0x56,0xea,0x37,0x95,0x85,0x7b,0x98,0xfc,0x94,0x2c,0xc4, + 0x2b,0x24,0x3,0xcd,0x11,0xeb,0xce,0xa6,0x19,0xa3,0x28,0x78,0x9d,0x85,0x8b,0x50, + 0x70,0xc4,0x20,0x22,0x3f,0xc,0x0,0x9d,0x72,0x64,0x52,0x16,0xa2,0xa2,0x3,0x44, + 0xa5,0x4b,0x40,0xf,0x10,0x1d,0xe9,0xbc,0x18,0xed,0x5c,0x7a,0x9c,0xd,0x32,0x34, + 0xda,0xe4,0x57,0x57,0x33,0xf7,0x88,0xde,0x5f,0xb5,0xef,0x6,0xb8,0x17,0x3,0x92, + 0xcf,0x59,0x7a,0xff,0xae,0xc5,0xc4,0xbd,0x7f,0xb0,0x9b,0x66,0x1d,0xdd,0xa6,0xbe, + 0x6,0x0,0x92,0xdb,0xe7,0x7c,0xbb,0x86,0x9b,0xa2,0x4c,0xd2,0xb2,0x69,0x52,0xfe, + 0x33,0x68,0xda,0x95,0x9,0xdd,0x1b,0xe,0x3d,0xc1,0xb9,0x59,0xdb,0x76,0x32,0xde, + 0x5e,0xdd,0x45,0x49,0x71,0x8f,0xf0,0xb5,0xdf,0xf8,0x7b,0x51,0x2c,0x7d,0x38,0xe7, + 0xae,0x2e,0x34,0xfb,0xcd,0xe,0x50,0x6,0x33,0xe0,0xb0,0x3,0x7b,0xd0,0xf8,0xe8, + 0xf4,0x8c,0x2a,0x85,0x6a,0x46,0xef,0x37,0x26,0x45,0xbc,0x71,0xaf,0xdc,0x4c,0x37, + 0x5b,0x81,0xaf,0x1f,0xe,0x86,0x6f,0xca,0xd2,0x75,0xc8,0xa3,0xc7,0x14,0xdb,0xf6, + 0x3f,0x8d,0x18,0xda,0x77,0x46,0xda,0x61,0xdd,0x7b,0x23,0x2d,0xa9,0xba,0x2b,0xee, + 0x6f,0x37,0x59,0x92,0x56,0x2e,0xf9,0xd9,0xa4,0xfb,0xc,0x7c,0xdb,0xf4,0xe6,0xa6, + 0x78,0x18,0x6f,0xbf,0xcf,0x56,0x0,0x65,0xda,0xf0,0x22,0x6d,0x98,0xda,0xef,0xd1, + 0xf0,0x46,0xfe,0x7e,0xa4,0x7,0x38,0xf0,0xd6,0xaf,0xef,0x37,0x3e,0x3a,0xc,0x9b, + 0xe7,0x9b,0x9d,0xae,0xf8,0xe5,0x35,0xfa,0x55,0x94,0x4e,0xed,0xa3,0xda,0xbf,0x2e, + 0xf2,0x39,0x2d,0xeb,0x2c,0x8e,0xf2,0x56,0xfb,0xd6,0x45,0x95,0x6d,0x9b,0x98,0x8, + 0xd,0x1b,0x78,0x5e,0xa7,0x63,0x7e,0x2a,0x4e,0x85,0x6a,0x55,0xf3,0x50,0x23,0x3d, + 0x7d,0x99,0xd6,0x51,0x12,0xd5,0x51,0xa7,0x9e,0xd,0xa5,0x79,0x66,0x76,0x55,0x26, + 0x8b,0xf9,0x3f,0xbf,0xfd,0xae,0xad,0x7c,0xe3,0x78,0xfe,0xaf,0xa2,0xfc,0xd4,0x55, + 0xb4,0xae,0x43,0x74,0x53,0x6c,0x0,0x48,0x5b,0x8d,0xbb,0xb7,0x57,0xe2,0xb9,0x33, + 0xd8,0xa8,0xfe,0x98,0x2d,0xa1,0x71,0xee,0x9d,0xa5,0xbf,0x3e,0x2c,0x73,0x58,0x49, + 0xdb,0x30,0xe8,0x5c,0x3f,0xae,0xd3,0x6e,0xd2,0xed,0xb4,0xcd,0xfb,0x57,0xa3,0xef, + 0x70,0x25,0xf1,0x32,0x73,0x83,0x66,0x3f,0xd7,0x59,0x9e,0xff,0xe0,0x98,0xf4,0x2b, + 0xf4,0xd9,0x6e,0xa1,0x4d,0x11,0xdd,0xdb,0xc7,0xd5,0xac,0xd9,0xa5,0xbf,0xbb,0xdd, + 0x13,0x53,0x1e,0xdd,0xa4,0xf9,0xf5,0xe4,0x9b,0x28,0xff,0xcf,0x26,0xd,0xe,0x44, + 0x7c,0x5b,0x16,0x9b,0xf5,0xb2,0x48,0xd2,0x9d,0x8e,0x4e,0x3a,0xf0,0x76,0x3a,0xbb, + 0x63,0x79,0x3b,0x10,0x9,0x22,0x51,0xe7,0xfd,0xea,0xb1,0xd8,0x42,0x89,0xd0,0xb6, + 0xc9,0x55,0xda,0xbb,0x90,0xe1,0x7,0xd9,0xfb,0x5,0x42,0x2f,0xb1,0xc2,0xa,0xf1, + 0xa1,0x3b,0xf4,0x58,0x47,0xf5,0x5d,0x7,0x5a,0x27,0x64,0xac,0xce,0x41,0x3,0x43, + 0x88,0x9b,0xcf,0xde,0x61,0x4c,0x9,0xdf,0xce,0xfa,0xd1,0x3d,0x8,0x40,0xfd,0x29, + 0x80,0x57,0x53,0x46,0x4b,0xb,0x77,0x6a,0x15,0x27,0x86,0xc9,0xe0,0x9b,0x40,0xa3, + 0x7c,0xb2,0x9c,0x58,0x7e,0x81,0x1c,0x16,0xa9,0xaa,0xd1,0x3c,0x30,0xae,0xa8,0xf0, + 0xb,0x33,0xc8,0x81,0xd,0x41,0x5a,0x11,0x20,0xbf,0xa3,0x2,0x79,0xaf,0x1,0x4d, + 0xa,0xc2,0xe0,0x44,0x30,0x1a,0x54,0xc,0xd7,0x4a,0x81,0x8a,0x3c,0x3,0x1,0xd1, + 0xc,0x68,0x6,0xee,0x4,0x4e,0xbc,0x1d,0xad,0x41,0xb3,0x60,0x81,0x7a,0x22,0xf8, + 0x31,0x70,0xe5,0x98,0xa5,0x40,0xe3,0x82,0x8a,0xad,0x73,0xc6,0x94,0x3c,0x64,0x5c, + 0x32,0x94,0x7f,0x8e,0xa8,0x9,0xdc,0x91,0x1,0xd,0xbf,0x86,0xe9,0x96,0x64,0x3, + 0x86,0xa,0x6,0x1,0xd9,0xc8,0x76,0x2c,0x75,0xeb,0xc1,0xce,0xe0,0xba,0x95,0x9f, + 0x91,0xc2,0xb1,0xb,0x6,0x1a,0x3a,0x62,0x65,0x18,0xed,0x18,0x32,0x49,0x6c,0xe0, + 0x9e,0x8,0x5a,0x6d,0x51,0x1,0x5d,0x20,0xa1,0x17,0xda,0x10,0x8d,0xd1,0x88,0xf7, + 0x58,0x24,0xc7,0x7f,0x8e,0x8a,0x5f,0x46,0x69,0x4b,0x64,0xd4,0x11,0xa9,0x44,0x67, + 0xd9,0x8e,0xd7,0xdc,0x11,0x9,0xf0,0x63,0x1a,0x1b,0x52,0x21,0x45,0x25,0x4a,0xc1, + 0xbe,0xf,0xb1,0xa,0x99,0xc0,0x30,0x9,0xa2,0xe1,0x96,0x1,0x4c,0x15,0xa,0x21, + 0x2c,0x2a,0x83,0x96,0x44,0xc7,0xa4,0xf3,0x7b,0x70,0x78,0xba,0xb4,0x80,0x41,0xcc, + 0x61,0x2a,0x5f,0xbd,0x3f,0x4c,0x36,0x3f,0x5c,0xba,0xd6,0xde,0xb1,0x56,0x55,0x97, + 0xc5,0xa7,0xd4,0x3d,0xf4,0x77,0xdf,0xdd,0xed,0xd6,0xb,0xce,0x1d,0x2c,0xcc,0x58, + 0xc2,0x55,0x43,0x87,0xcd,0xa5,0x65,0x9e,0xe1,0x67,0x2e,0x1a,0x5a,0x12,0xc1,0xf5, + 0xfa,0xb3,0xae,0x39,0x69,0x68,0xdd,0xeb,0x23,0x3d,0x9b,0x1c,0xaa,0xeb,0xa1,0x11, + 0x80,0x9d,0xd1,0xd4,0x30,0xb5,0x2d,0xbe,0xda,0x3b,0xea,0x12,0x2f,0x6d,0x19,0xbf, + 0x98,0x42,0xb6,0xae,0x5a,0x92,0xbd,0x3a,0x6c,0xa7,0xb9,0xee,0xc8,0x44,0x70,0xa1, + 0x34,0xd4,0xd5,0xba,0x92,0xcc,0xda,0xe0,0x6f,0x4e,0x53,0xb6,0x89,0x4f,0xef,0x8a, + 0x4,0x14,0x5f,0x10,0xac,0xd6,0x80,0x5c,0x5d,0x9c,0x38,0x60,0x8c,0xc3,0xef,0x93, + 0x11,0xfb,0x2b,0x7d,0x24,0xdc,0x8d,0x1e,0xed,0xf0,0xf0,0x4c,0x7,0x17,0x4b,0x5b, + 0x26,0xa3,0x1d,0x1e,0x5c,0x7,0xa6,0xe0,0x25,0x7a,0x47,0x6b,0x5b,0xdb,0x76,0x30, + 0x33,0x18,0xdf,0xa1,0x62,0x74,0x52,0xef,0x54,0xe4,0x30,0x61,0x3e,0xaa,0x22,0x22, + 0x76,0xdf,0x3d,0x15,0x79,0x4e,0x33,0xa2,0xb2,0x8c,0x1e,0xe1,0x92,0x56,0xe9,0x69, + 0xfa,0x32,0xb2,0x59,0xe7,0xcb,0x90,0x88,0x96,0xf1,0x71,0x65,0x1a,0xf7,0x7d,0x23, + 0xc0,0x70,0x6e,0xc5,0xbe,0xea,0x8,0xf7,0x60,0x4a,0x2a,0xa7,0x69,0x90,0xa,0x51, + 0x9a,0x53,0xef,0x64,0x38,0x63,0xc,0xe,0xd7,0x99,0xaf,0x76,0x15,0x23,0x1c,0x8a, + 0x80,0x9f,0x13,0x86,0xba,0x22,0xd2,0x52,0x14,0x3,0xd6,0xbb,0x13,0x7f,0x96,0x79, + 0x1,0xfd,0xb0,0xd6,0x50,0xce,0x8e,0x58,0xa4,0xc7,0xe0,0x2c,0xeb,0x23,0x92,0x18, + 0x83,0xcc,0xbd,0xa1,0x3b,0x73,0x46,0x10,0x9a,0x23,0x4,0xad,0x92,0x3e,0xf1,0xdf, + 0x45,0xb6,0x1a,0x52,0x5f,0x4b,0x1c,0x67,0x98,0xaf,0x3b,0x9c,0x73,0x5e,0x49,0xef, + 0xce,0x4e,0x2c,0x8a,0x1f,0x94,0xfb,0x8a,0xe3,0x8a,0x12,0x6e,0x6d,0xff,0xb4,0x6e, + 0x7,0x3d,0xbc,0x36,0x91,0xae,0x96,0xa,0xda,0x24,0x1b,0x46,0xd8,0xe6,0xd6,0x40, + 0x57,0xe0,0x12,0x15,0x67,0x63,0x84,0xee,0x35,0xa,0x38,0x4f,0xe5,0xca,0xac,0x93, + 0x6,0x8c,0x71,0x38,0x6a,0xb5,0xed,0xe8,0x63,0x56,0xdb,0x65,0xfd,0x47,0xac,0xf6, + 0xb0,0x56,0xd8,0xb3,0xda,0x91,0x1a,0xa3,0x67,0xb6,0x82,0xf3,0xe3,0x66,0x4b,0x42, + 0xae,0x10,0xa5,0x24,0x95,0x4f,0xd8,0xaf,0x20,0xc7,0xec,0xb7,0x2f,0xf4,0x3d,0xe3, + 0xfd,0x13,0x14,0xeb,0x24,0x3b,0xbf,0x9a,0xdd,0xee,0x2e,0xfa,0xca,0x37,0x6a,0xec, + 0x55,0x3c,0xc8,0x81,0xbd,0xad,0x8b,0xde,0xe9,0x65,0x17,0x24,0xdc,0x93,0x53,0x1f, + 0xbc,0x51,0xb7,0xb,0x17,0x7c,0xa9,0x7f,0x72,0x8a,0x34,0xc3,0x9f,0xd,0x41,0xba, + 0xc4,0x38,0x1a,0x8c,0x5a,0x22,0x9f,0xb0,0xa8,0x9d,0x1,0xab,0xee,0xd3,0x4c,0x48, + 0x39,0x6,0x53,0xb6,0x1d,0xbd,0xa3,0x22,0x64,0x1b,0x8a,0x8,0xa1,0x7b,0x33,0x22, + 0x52,0x23,0x95,0xd1,0xc2,0xf6,0x78,0xbb,0x83,0x67,0x2e,0x78,0x4f,0x47,0xe,0xfc, + 0xf3,0xf0,0x25,0xd9,0xa3,0xee,0xc3,0xdf,0x96,0x9b,0x3c,0x9d,0xa7,0x9f,0x53,0xa0, + 0x91,0xb4,0xe,0x85,0xc7,0x5a,0xfb,0x77,0x39,0x7b,0xe2,0xc6,0x2,0x10,0xca,0xb5, + 0x30,0xea,0x34,0xb9,0x7b,0x51,0x5f,0x2e,0xa3,0xf2,0x53,0x5a,0x6e,0xd9,0x6f,0xaf, + 0xa7,0x55,0x1d,0x95,0xf5,0x80,0xb2,0xcc,0x92,0xc1,0x7d,0xba,0x4a,0x6,0xba,0xf0, + 0x4a,0x5a,0x73,0xf9,0x39,0xab,0xb2,0x9b,0x2c,0x77,0x37,0xfe,0x32,0x4f,0x2f,0x93, + 0xac,0x5a,0x23,0xf3,0x9e,0x67,0x2b,0xb7,0xf0,0xcb,0x2,0xe5,0xd2,0x22,0x2f,0xee, + 0x9b,0xf6,0x4e,0x97,0x6,0x2a,0xf4,0x7f,0xc0,0xdf,0xc,0xf0,0xa1,0xc5,0xb9,0x98, + 0x49,0x8d,0x61,0x2e,0xb6,0x1a,0x8a,0x2c,0xd6,0xd7,0x4,0xf0,0xca,0x2,0x39,0x2d, + 0xdf,0x26,0xd1,0xc8,0x7c,0x85,0xa3,0xa1,0x90,0x55,0x4c,0xba,0x40,0xea,0x5e,0xdf, + 0xb7,0xaa,0x47,0xdb,0x5a,0x1c,0x4a,0x8f,0xed,0xe8,0x1d,0x55,0x86,0x96,0x49,0xc4, + 0x5c,0xd1,0x9b,0x91,0xbb,0xac,0x5f,0x10,0xd1,0x63,0x8d,0xb,0x77,0x54,0x26,0xf4, + 0x88,0x8b,0xe8,0xa5,0x3,0xc7,0xfc,0x4a,0x53,0x45,0xc3,0x17,0x5d,0xb9,0x42,0xf6, + 0xe3,0xbb,0xff,0x2,0x95,0x2b,0x74,0x4f, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/missed.svg + 0x0,0x0,0x12,0x74, + 0x0, + 0x0,0x72,0xe0,0x78,0x9c,0xe5,0x5d,0x5d,0x73,0x22,0xc7,0x92,0x7d,0xf7,0xaf,0xe8, + 0x65,0x5e,0x3c,0xb1,0xd0,0xd4,0xf7,0x87,0xee,0xc8,0xf7,0x61,0x1c,0xde,0xb8,0x11, + 0xbe,0xb1,0x1b,0x6b,0x3b,0xf6,0xf1,0x6,0x82,0x46,0x62,0x8d,0x80,0x5,0x34,0x92, + 0xe6,0xd7,0xef,0xc9,0x6a,0xba,0xe9,0x86,0x2,0x1a,0x9,0x90,0x3c,0x23,0xdb,0x12, + 0x64,0x55,0x57,0x55,0x66,0x65,0x65,0x9e,0xcc,0xaa,0x2e,0x7f,0xfa,0xfb,0xd3,0xfd, + 0x38,0xf9,0x92,0xcd,0x17,0xa3,0xe9,0xe4,0xba,0xc5,0x53,0xd6,0x4a,0xb2,0x49,0x7f, + 0x3a,0x18,0x4d,0x6e,0xaf,0x5b,0x7f,0xfc,0xfe,0x4b,0xc7,0xb5,0x92,0xc5,0xb2,0x37, + 0x19,0xf4,0xc6,0xd3,0x49,0x76,0xdd,0x9a,0x4c,0x5b,0x7f,0xff,0xe9,0x87,0x4f,0xff, + 0xd6,0xe9,0x24,0x9f,0xe7,0x59,0x6f,0x99,0xd,0x92,0xc7,0xd1,0xf2,0x2e,0xf9,0xc7, + 0xe4,0xcf,0x45,0xbf,0x37,0xcb,0x92,0x1f,0xef,0x96,0xcb,0xd9,0x55,0xb7,0xfb,0xf8, + 0xf8,0x98,0x8e,0x56,0xc4,0x74,0x3a,0xbf,0xed,0x7e,0x4c,0x3a,0x1d,0x3c,0xb9,0xf8, + 0x72,0xfb,0x43,0x92,0x24,0xe8,0x76,0xb2,0xb8,0x1a,0xf4,0xaf,0x5b,0xab,0xfa,0xb3, + 0x87,0xf9,0x38,0xd4,0x1b,0xf4,0xbb,0xd9,0x38,0xbb,0xcf,0x26,0xcb,0x45,0x97,0xa7, + 0xbc,0xdb,0x5a,0x57,0xef,0xaf,0xab,0xf7,0xa9,0xf3,0xd1,0x97,0xac,0x3f,0xbd,0xbf, + 0x9f,0x4e,0x16,0xe1,0xc9,0xc9,0xe2,0x43,0xa5,0xf2,0x7c,0x30,0x2c,0x6b,0xd3,0x60, + 0x1e,0x65,0xa8,0xc4,0xbd,0xf7,0x5d,0x26,0xba,0x42,0x74,0x50,0xa3,0xb3,0x78,0x9e, + 0x2c,0x7b,0x4f,0x9d,0xfa,0xa3,0x18,0x63,0xec,0x51,0xc1,0x18,0xeb,0xa2,0x6c,0x5d, + 0xb3,0x59,0xad,0xab,0xa7,0x31,0x24,0xb1,0x73,0x30,0xa1,0xb4,0xda,0x3b,0xa4,0x3f, + 0xc3,0x7f,0xe5,0x3,0x5,0x21,0x5d,0x4c,0x1f,0xe6,0xfd,0x6c,0x88,0x27,0xb3,0x74, + 0x92,0x2d,0xbb,0x3f,0xff,0xfe,0x73,0x59,0xd8,0x61,0xe9,0x60,0x39,0xa8,0x34,0x53, + 0x8,0xbf,0xd6,0x6f,0x6d,0x46,0x26,0xbd,0xfb,0x6c,0x31,0xeb,0xf5,0xb3,0x45,0xb7, + 0xa0,0x87,0xe7,0x1f,0x47,0x83,0xe5,0xdd,0x75,0x4b,0xa8,0xf0,0xed,0x2e,0x1b,0xdd, + 0xde,0x2d,0xcb,0xaf,0xa3,0xc1,0x75,0xb,0xdc,0x89,0xf0,0xa5,0xe8,0xfc,0xaa,0xd4, + 0x20,0x96,0xca,0xbc,0xa8,0x68,0xb1,0x5a,0xa4,0x4c,0x28,0xaa,0xa9,0x5b,0xad,0x99, + 0xc1,0xb4,0x7f,0xd3,0x5b,0x60,0xc8,0xdd,0xbb,0xe9,0x7d,0xd6,0x9d,0x8d,0x6f,0xb2, + 0xde,0xc3,0x60,0x3a,0x9a,0x74,0x7f,0xfb,0xe5,0xd7,0xff,0xba,0x83,0x6,0x76,0x17, + 0xc3,0xf1,0xac,0xf6,0xa1,0x73,0xbb,0xfc,0xb3,0x3b,0x1b,0x3d,0xdd,0xf7,0x66,0x8b, + 0xad,0xd6,0x88,0xc5,0xeb,0xd6,0xfd,0x68,0xb1,0xc8,0x6,0x69,0x31,0x29,0xe5,0xd0, + 0xa6,0xf,0xcb,0xd9,0xc3,0xf2,0x5f,0xd9,0xd3,0x32,0x9b,0xe4,0x23,0x82,0x58,0x2a, + 0x32,0xa,0xc5,0xf4,0x58,0x5a,0x93,0x4f,0xd9,0xc1,0x3d,0x7e,0xd,0x47,0x19,0x24, + 0xb2,0x9c,0x3f,0x64,0xad,0x9f,0x50,0xf8,0x69,0x90,0xd,0x17,0x54,0x29,0x97,0x14, + 0x7d,0x53,0xa1,0x0,0x45,0x98,0xe7,0xac,0x37,0xff,0x8f,0x79,0x6f,0x30,0x82,0x76, + 0xe7,0x95,0x2a,0xa3,0xe9,0x4f,0xc7,0xe3,0xac,0xf,0x49,0xf7,0xc6,0x8f,0xbd,0xe7, + 0x9c,0x97,0xa2,0x9d,0xfa,0xa3,0x42,0x33,0xb6,0x6a,0x14,0xcd,0x2e,0x96,0xd3,0x59, + 0x51,0x17,0x83,0x5b,0x3e,0x8f,0xc1,0x32,0x11,0x3b,0x68,0x71,0x3a,0xbf,0xfa,0xe0, + 0x18,0xfd,0xfc,0x2d,0x90,0xa6,0x98,0xef,0xd1,0xf2,0xf9,0x8a,0xff,0xad,0xb5,0x7e, + 0x66,0x3a,0x1c,0x2e,0x32,0x74,0xcc,0x2a,0xb4,0x30,0xcf,0x78,0x2,0x7d,0x89,0x56, + 0xd2,0x7d,0x5d,0x6f,0x2c,0xd6,0x1b,0x8f,0xf7,0xa6,0xca,0xde,0x3e,0x75,0xeb,0x6c, + 0xaf,0xa8,0xa5,0xc0,0x66,0xd0,0xa3,0x19,0x24,0x6,0x33,0x50,0xb4,0x54,0x4e,0xcd, + 0xf2,0x99,0x34,0xbf,0x5e,0x55,0xe,0x5a,0x5b,0x42,0xff,0x32,0xfb,0xd7,0x13,0x18, + 0x4f,0xae,0x12,0x2e,0xe8,0x57,0xb4,0xc6,0xf3,0xaa,0x6,0xf8,0xc2,0x1f,0x16,0xad, + 0xf3,0x95,0x56,0xc8,0x9e,0x66,0x56,0x23,0xe8,0x4c,0xe7,0xa3,0xdb,0x11,0xe9,0x3e, + 0xd5,0x73,0xf5,0xba,0x10,0x42,0x85,0x27,0x2e,0xec,0x5a,0x14,0x3b,0x74,0x67,0x4b, + 0x35,0x94,0xd4,0x76,0xbb,0xf3,0x4d,0xd5,0xda,0x31,0x9b,0xc5,0x2c,0xa0,0x11,0x7f, + 0x40,0x3d,0x22,0x13,0x7f,0x13,0x53,0xb3,0xdd,0xaa,0xb3,0xee,0xcc,0xf0,0x3,0xda, + 0x11,0xed,0x4c,0xf0,0x2d,0x2d,0x3b,0xa4,0x39,0x27,0x5b,0x80,0x4a,0x18,0x7f,0xc4, + 0x2,0x24,0xc9,0x70,0xf5,0xc2,0x5,0xa8,0x84,0xdd,0x23,0xc5,0x86,0xbd,0x35,0x5e, + 0x80,0xe8,0x4d,0xbe,0x50,0x8c,0xdb,0x52,0xe2,0x4e,0x1e,0x54,0x35,0xee,0xf4,0xcb, + 0x54,0x2d,0x22,0xd0,0xc3,0xba,0xc6,0x9d,0x3d,0x5e,0xd7,0x2c,0xe9,0x75,0x7f,0x67, + 0x6f,0xaf,0x96,0x92,0xb1,0xc7,0x1a,0xf3,0xec,0xa5,0xba,0xc4,0xa1,0xb7,0x97,0xd3, + 0x25,0x5e,0xd1,0xdc,0xd3,0x2e,0xc9,0x80,0x99,0xae,0xee,0xe6,0x19,0x30,0xde,0x87, + 0x88,0x3c,0xf7,0x89,0x1b,0xa,0x5e,0x36,0xc3,0xaf,0x5b,0x36,0xe5,0x42,0x79,0x65, + 0x4c,0x49,0x7d,0x6,0x55,0xc8,0x14,0x34,0xcd,0xdd,0xba,0xae,0x0,0x95,0xa5,0xcc, + 0xb0,0x8a,0x85,0x7d,0x6,0x91,0x9b,0x54,0x59,0xc7,0x57,0xb8,0x87,0x7e,0x6e,0x57, + 0x7d,0xfd,0x31,0x19,0x2d,0x81,0x11,0x1f,0x16,0xd9,0xfc,0x37,0xc2,0x59,0xff,0x39, + 0xf9,0x63,0x91,0x6d,0xd5,0xfa,0x7d,0xde,0x9b,0x2c,0x0,0xea,0xee,0x9,0x46,0xe0, + 0xe3,0x18,0xa8,0xfa,0x47,0x93,0x4a,0x2e,0x95,0x96,0x59,0x47,0xb4,0x1,0xed,0xa4, + 0xc3,0xc2,0xd4,0x1f,0xf,0xfa,0x83,0xd7,0xc8,0xad,0xe6,0x39,0x22,0x26,0xcf,0xea, + 0x9a,0xdc,0xb8,0x4e,0x8d,0x64,0xd2,0xeb,0xba,0xdc,0x44,0xea,0xac,0x12,0xac,0x2e, + 0x37,0xd4,0x75,0xcc,0x88,0x8a,0x88,0x48,0x70,0x26,0x35,0xd6,0x32,0x6f,0xdd,0xeb, + 0x5,0x77,0xdf,0x5b,0xce,0x47,0x4f,0x3f,0xfa,0xd4,0x49,0xc1,0x9d,0xf2,0x59,0x47, + 0xb6,0x3b,0x88,0x1e,0xb4,0xe3,0x9a,0xc9,0xf6,0xfa,0x53,0xbd,0x86,0x4f,0x35,0xf8, + 0xb2,0xd6,0xb4,0x85,0x4d,0x2d,0xe7,0xca,0xf9,0xc3,0x32,0xde,0x86,0x63,0x2,0x2c, + 0x34,0x5f,0x53,0xc3,0xf0,0xb3,0xe9,0xba,0x1a,0xa2,0x31,0xe1,0xd8,0x51,0xb,0x78, + 0x98,0xd,0xb3,0xcc,0x6e,0x74,0x96,0x3a,0x2f,0x99,0xe3,0x15,0xc1,0x1f,0x40,0x65, + 0xc2,0x89,0x53,0x99,0x3b,0xb4,0xa5,0x8e,0x10,0x16,0x1f,0xdc,0xbc,0x2,0xbb,0xa, + 0x67,0x8e,0x92,0x56,0xac,0xb7,0xe6,0xd8,0x55,0x38,0x77,0x3a,0x29,0xf9,0x9d,0x8, + 0x7f,0xdd,0x9f,0x17,0xc7,0xbb,0xce,0x1d,0x2,0x3d,0xe8,0x3a,0xd1,0x9b,0x3a,0xde, + 0x75,0xb2,0xa1,0x1e,0xee,0xe9,0xed,0xb5,0x52,0x92,0x90,0xc0,0x85,0x5c,0x27,0xfa, + 0x52,0x97,0x73,0x9d,0xe8,0xcd,0xbc,0x85,0xeb,0x74,0x72,0x8f,0xb,0xc0,0xa0,0x58, + 0xdd,0x5,0x98,0xd4,0x9,0x63,0x7d,0xdd,0x75,0x9a,0xd4,0x62,0x25,0x58,0x2e,0xeb, + 0xae,0xd3,0xa6,0xda,0x8,0x5d,0x73,0x0,0x70,0x16,0x9a,0x23,0xe4,0xd3,0x27,0x73, + 0x0,0x30,0x6d,0x16,0x1,0xab,0x6e,0x33,0xfa,0xa7,0xfc,0x92,0x1a,0x63,0x2c,0xac, + 0x3f,0x4b,0xb9,0xb5,0x9e,0xd9,0x83,0x46,0x3e,0xf8,0x75,0x40,0x0,0xc1,0x98,0xae, + 0xf3,0x1,0x96,0xa5,0x75,0xce,0xdb,0x1a,0xcf,0x5c,0xa4,0x60,0xce,0x33,0x51,0x93, + 0x8f,0x0,0x5a,0x0,0x84,0xb0,0xb6,0xc1,0xc8,0x3b,0x3c,0x8c,0x99,0xb7,0x25,0x9e, + 0xc2,0x44,0xb8,0x76,0x7,0xae,0xd4,0x28,0x2b,0x3f,0x1e,0x29,0x9d,0xd8,0xc4,0x31, + 0xd5,0x68,0xfe,0x29,0xac,0x39,0xa8,0x48,0x7,0x44,0xb7,0x17,0xd6,0xb0,0x14,0x7d, + 0xc0,0x17,0x13,0x73,0xd6,0x8,0x2e,0xcd,0xb1,0xdc,0x9d,0x6b,0x66,0xa2,0x52,0x33, + 0x17,0x97,0x5a,0x3,0xe6,0x59,0xaa,0xad,0xb1,0x82,0xd7,0x98,0xe7,0x2a,0x65,0x90, + 0xa6,0x74,0x35,0xe6,0x21,0x64,0x86,0xb5,0x58,0xc1,0xb6,0x5,0x72,0x53,0x68,0x60, + 0xff,0x5a,0x77,0xcd,0x98,0xaf,0x99,0x8c,0x73,0xa8,0xc,0xd0,0xaf,0x57,0x96,0x71, + 0x47,0x38,0xd8,0x39,0xcd,0xbd,0x7b,0x91,0xce,0xc0,0xd6,0x0,0xe1,0x72,0x5d,0x13, + 0x9b,0xe4,0xc0,0xd9,0xc6,0xba,0x4d,0x95,0xd9,0xac,0x4a,0xb2,0x54,0xa9,0xf4,0xb6, + 0x6a,0xac,0x62,0x52,0xe3,0xec,0x7d,0x48,0x8d,0xa7,0xc2,0x40,0x2f,0x79,0x40,0xc1, + 0x8c,0x59,0x2d,0x5e,0x28,0x34,0x27,0x34,0xd0,0x62,0x4d,0x68,0x16,0xab,0xf,0x9e, + 0x57,0xea,0x4d,0xa9,0x6d,0xd6,0xe5,0x21,0xc5,0xcb,0x14,0xb4,0xcd,0xec,0x97,0x9a, + 0xb8,0x98,0xd4,0xa2,0xaa,0x7e,0x18,0x6b,0x41,0x4b,0x8e,0xc7,0x5a,0x3b,0x0,0xc7, + 0x61,0xac,0x25,0xf9,0x21,0x68,0xde,0x1c,0x70,0x9c,0xc,0x6b,0x61,0xe,0x9b,0xa3, + 0x1f,0x61,0x5e,0x83,0xdb,0xa5,0x38,0x2e,0xe7,0xcc,0x55,0x14,0x66,0x36,0xc5,0x5a, + 0xe2,0x60,0xce,0xb9,0xb9,0x94,0xc4,0x4e,0x29,0x55,0xfa,0x8b,0xcd,0xee,0x1,0x5d, + 0xda,0x21,0xd0,0x6,0xba,0x24,0x63,0xc1,0xe5,0x1,0x5d,0x8a,0xf5,0xf6,0x62,0x5d, + 0x3a,0x27,0x22,0x3d,0x3a,0xeb,0x12,0x77,0x80,0x3b,0x9c,0x65,0xdc,0xb1,0xd6,0x9c, + 0xf0,0x39,0x33,0x32,0x7,0x99,0x57,0x47,0x32,0xff,0x62,0x97,0x11,0xa4,0x46,0x3c, + 0x2b,0x2f,0x37,0xad,0x3e,0xe7,0x5a,0x57,0xf6,0xb,0x48,0x68,0xf0,0xd4,0xc6,0xa1, + 0xf2,0x66,0xc6,0x67,0x5d,0xfb,0x4d,0xc5,0x66,0x4e,0x29,0xb6,0xbd,0xf8,0x84,0xe4, + 0x6,0x8c,0x61,0xbc,0xf0,0x66,0x3,0x64,0x90,0xb8,0x95,0xe0,0x75,0x6d,0x13,0x12, + 0x4d,0x40,0x7,0xeb,0x71,0x12,0xf0,0xae,0xd4,0x5a,0x8a,0xb3,0x4a,0xad,0x86,0x62, + 0x63,0x52,0x3b,0x41,0x9a,0xae,0x59,0x20,0x90,0x67,0x65,0x21,0x49,0x52,0xa0,0xba, + 0xd0,0x74,0xea,0x39,0xfc,0x75,0x3d,0xbb,0x68,0xa1,0x54,0x5c,0x39,0xc5,0xeb,0x42, + 0xe3,0xa9,0xf6,0x56,0x22,0xe4,0x7c,0x4b,0xa9,0x29,0xf6,0x7a,0xa9,0x1d,0x11,0x21, + 0xc6,0x63,0x9b,0x1d,0x71,0x50,0x3c,0x66,0xaa,0xc5,0x57,0xa5,0xe8,0x68,0x54,0xbd, + 0xf1,0x49,0x45,0xc7,0x54,0x1d,0x4a,0xd7,0xbb,0x80,0xe8,0xd6,0x43,0xed,0x3f,0x61, + 0x50,0x3e,0x15,0xae,0x86,0xca,0xfb,0xcf,0xd7,0x2d,0x9f,0x12,0x4d,0x89,0xb5,0x25, + 0x1c,0x46,0xeb,0xe,0xa3,0x75,0xe7,0xc1,0xaa,0xb9,0x40,0x3e,0x72,0x9e,0x16,0xb3, + 0x79,0xd6,0x1b,0xfc,0x33,0x5b,0xde,0x4d,0x69,0xec,0xd9,0x90,0xf8,0x6f,0x94,0xa1, + 0xc0,0xd4,0x21,0x8e,0x68,0x8b,0x54,0x29,0xc5,0x84,0xcc,0x3a,0x3c,0xcc,0x64,0xe5, + 0x5b,0x59,0x87,0x8c,0x4,0xd3,0xca,0xb5,0x75,0x6a,0x85,0x15,0xca,0x1d,0x4c,0x5c, + 0xec,0xee,0x18,0x4d,0x69,0xa3,0x45,0xae,0x44,0x9d,0xf2,0x5b,0x87,0x56,0x9a,0x92, + 0xdc,0xb7,0x85,0x4b,0xad,0x5,0x5a,0xf0,0x2f,0x89,0x14,0x1c,0x42,0x26,0x28,0xc, + 0xaf,0xfb,0x81,0xc6,0x7b,0x4,0xd1,0xfd,0x84,0xc8,0x7a,0x82,0x90,0x2e,0x16,0x92, + 0xbf,0x65,0xe,0x8,0x1e,0xd8,0x7a,0x6d,0x4f,0x9a,0x4,0x52,0xaa,0x59,0x94,0x75, + 0xf6,0x24,0x10,0x98,0x93,0x46,0x38,0x2f,0xfe,0x12,0x59,0x20,0xa5,0x9a,0x85,0xf4, + 0xdf,0x64,0x16,0x48,0x55,0x9a,0x7a,0xdb,0x2c,0x10,0x87,0xe7,0x67,0xe0,0x58,0xff, + 0x15,0xd2,0x40,0x4a,0xbe,0x93,0xe4,0x19,0xa4,0x26,0x4,0xf3,0xce,0xfc,0x25,0xf2, + 0x40,0x4a,0x36,0xb3,0xee,0x67,0xca,0x3,0x29,0xb1,0x73,0x1b,0xb7,0x8c,0xa6,0x55, + 0x34,0x9a,0x3e,0x57,0x1e,0x48,0xc9,0xd8,0xe,0xdf,0xdb,0xe6,0x81,0x94,0x38,0x66, + 0xcf,0xed,0x75,0x79,0x20,0x25,0x8e,0xdb,0x73,0x7b,0x5d,0x1e,0x8,0x26,0xfc,0x74, + 0x52,0xe2,0x87,0xf3,0x40,0x2a,0x9a,0xe5,0x3b,0x57,0x1e,0x8,0x80,0xeb,0x52,0x79, + 0xa0,0x78,0xb0,0xd0,0x0,0x13,0xe7,0xbb,0x76,0xbb,0xc1,0xef,0x71,0xe0,0x7b,0xbf, + 0x5d,0x8b,0x62,0xff,0x78,0x98,0x10,0xf,0x29,0xe2,0xe1,0x47,0x3c,0x54,0xd9,0x8e, + 0x6f,0x14,0xd3,0xbc,0x91,0xb1,0xab,0x85,0x49,0x7f,0x41,0x28,0x7b,0xfa,0xed,0x4c, + 0xae,0xf8,0x85,0xa3,0x80,0x32,0x95,0x50,0x77,0x7f,0x5b,0x69,0x87,0x78,0x8a,0x22, + 0x9a,0xce,0x38,0xf3,0x36,0x69,0x54,0x6a,0x97,0xc3,0xff,0xb5,0xac,0x55,0x55,0x68, + 0x91,0x4,0x57,0x3c,0x19,0x16,0x4d,0x9c,0x9d,0x7b,0xa3,0x30,0x2a,0xb5,0xcb,0xed, + 0xe8,0xd5,0x53,0xa4,0x55,0xb1,0x45,0x13,0xaa,0xf1,0xf4,0x6b,0x2c,0x53,0x7b,0xe6, + 0xad,0xc2,0x98,0xd8,0xd8,0xe5,0x2,0x87,0x73,0xc5,0x43,0xaf,0x60,0xfe,0x72,0xf0, + 0x3f,0xd2,0x3d,0x82,0xeb,0x4b,0x21,0x34,0xf4,0x75,0x1c,0x42,0xdb,0x1,0x28,0x9a, + 0x21,0x34,0xf4,0x76,0x32,0x84,0x86,0xb6,0xe,0xa2,0x7d,0x2e,0xed,0xb,0xd0,0xfe, + 0x4b,0x11,0x1a,0x7a,0x7b,0x1,0xda,0xdf,0x1,0x79,0x4f,0x26,0x25,0x7b,0xcc,0x69, + 0xcd,0x57,0x9d,0xb0,0xe3,0xb4,0xc3,0x7c,0xb1,0x13,0x76,0xe8,0xed,0xa5,0xa7,0x35, + 0xcf,0xb7,0x37,0xc5,0xe9,0x28,0x42,0xcd,0x28,0x6d,0x85,0xcd,0x3b,0x42,0xec,0x78, + 0x38,0x1e,0xd,0xdd,0xcf,0xb4,0x55,0xf8,0x76,0x3b,0x7a,0x90,0xda,0x6,0x50,0xdd, + 0xca,0xd1,0xec,0xc8,0xe7,0x44,0x53,0x3f,0xd1,0x2c,0xd1,0xb9,0x36,0xa,0xdf,0x54, + 0x6a,0xaa,0xae,0x6b,0x27,0xdc,0x15,0x6f,0x26,0xb6,0xb7,0xdb,0x98,0xe3,0xb5,0xe3, + 0x6d,0x27,0xde,0x34,0x3b,0xa1,0xce,0xc4,0x2,0x81,0x37,0x95,0xda,0xe9,0xde,0xd5, + 0x78,0xd3,0xed,0xcc,0x37,0xd8,0x9,0x16,0xef,0xff,0xf5,0x19,0xc4,0x5b,0xc2,0x73, + 0x59,0xec,0x10,0xe6,0x5f,0x3a,0x9c,0x5e,0x7a,0x32,0xcc,0xb5,0xa5,0x4f,0x2d,0x8c, + 0xd6,0xe1,0xd3,0xd3,0xfb,0x32,0x3d,0xd,0xcf,0x67,0x1f,0xc7,0x52,0xfc,0x30,0x79, + 0xf4,0xd8,0x79,0xfc,0x80,0x7a,0xf4,0x30,0x7b,0xec,0xb5,0xc,0x71,0xb9,0xc,0xf5, + 0xb7,0x95,0xb4,0x9,0x67,0xfa,0x8e,0x5e,0x47,0xef,0xf8,0xc,0xfa,0x19,0x72,0x42, + 0x51,0xa9,0x7d,0xc7,0xbb,0x8f,0xd5,0x63,0xb0,0xdf,0xc4,0x19,0xf4,0xd3,0x67,0xc4, + 0xa2,0x52,0x7b,0x37,0x9b,0x8f,0x27,0x3a,0x83,0x7e,0xfa,0x84,0x58,0x54,0x6c,0x6f, + 0xba,0xf9,0x28,0xd9,0xe1,0xcd,0xc7,0xea,0xdb,0x5,0x97,0x38,0x84,0xfe,0xfe,0x36, + 0x1f,0x25,0x3b,0x26,0xb5,0xf5,0xba,0x97,0x47,0x25,0x3b,0x2e,0xb5,0xb5,0xe3,0x5d, + 0xc7,0xfd,0x22,0xac,0xf4,0x76,0xba,0xcd,0x47,0x58,0x88,0x6,0x2f,0x8f,0xbe,0x60, + 0xf3,0xf1,0xc5,0x2f,0x8f,0x4a,0xf6,0x82,0xcd,0xc7,0x1d,0x6f,0xe3,0x9e,0xea,0xde, + 0x5,0xda,0x58,0x3b,0x74,0x5f,0x4,0x53,0xb1,0xfb,0x22,0xe,0x48,0x29,0xfe,0x82, + 0xf7,0xe1,0xcb,0x29,0x98,0x8a,0xdd,0xba,0x72,0x40,0x48,0xc3,0xfe,0xf0,0xa6,0x7f, + 0xb3,0xeb,0xd6,0x95,0x8b,0x25,0xb6,0xc2,0x95,0x44,0x7b,0x54,0x52,0xb3,0xba,0x27, + 0x53,0x70,0xa8,0x88,0x5d,0xd4,0x6,0x84,0x35,0xa9,0x16,0x70,0x85,0x9b,0x51,0x9d, + 0x60,0x40,0xc1,0xd5,0xc4,0x4,0x79,0x0,0x38,0x53,0xe1,0x68,0x9f,0xf5,0xed,0xb3, + 0xd,0x7,0xb8,0x97,0x5e,0x36,0x4d,0x89,0x9c,0x4d,0x46,0x6f,0xca,0xfd,0xb1,0x39, + 0x91,0x6f,0x8b,0xfb,0x63,0xb3,0x88,0xdf,0x16,0xf7,0x4d,0x97,0xe7,0xb7,0xc9,0xbd, + 0xff,0x9e,0xb9,0x57,0xdf,0xb5,0xd5,0x53,0xdf,0xb5,0xd5,0x53,0xdf,0xb5,0xd5,0x53, + 0xdf,0xb5,0xd5,0x53,0xef,0xc4,0xea,0x7d,0xea,0xd2,0xfd,0x9b,0xe1,0x53,0x79,0x31, + 0x24,0xdd,0x8,0x3a,0xf8,0x32,0xca,0x1e,0x7f,0x28,0x87,0x4f,0x57,0x8e,0xae,0x1a, + 0x9a,0xf5,0x6e,0xb3,0x0,0xac,0xc1,0x74,0xe,0xe3,0x57,0x5,0x37,0xd3,0xf9,0x20, + 0x9b,0x17,0x45,0x26,0xfc,0xd4,0x8a,0x56,0xd8,0x7b,0x7d,0xa9,0x69,0x45,0xc6,0xd4, + 0x6a,0x59,0xce,0xe2,0xe5,0x8b,0xbb,0xde,0x60,0xfa,0x78,0xdd,0x12,0x9b,0x85,0x5f, + 0xa7,0xd3,0xfb,0x90,0xdd,0x56,0x9b,0x25,0xe1,0xa8,0x21,0x44,0x61,0xad,0xd2,0x66, + 0xab,0xf0,0x39,0x14,0x1a,0x27,0x6d,0xb9,0x9b,0x50,0x16,0xe,0xa6,0xfd,0x7,0xba, + 0x61,0xb7,0xf3,0x90,0x4f,0xcb,0xec,0x69,0xeb,0xf1,0x87,0xf9,0x9c,0x2a,0x8c,0x7b, + 0xcf,0x19,0x38,0xe,0x7f,0xa,0x6b,0xbe,0xba,0x1f,0x56,0x8a,0xf2,0xb1,0xe2,0x8e, + 0xd8,0xa,0x69,0x71,0x37,0x7d,0xbc,0x7d,0x18,0xd,0xb2,0xc5,0xea,0x76,0xd4,0x8d, + 0xe,0x42,0x59,0xe7,0xe6,0x66,0xfa,0x14,0x2f,0x7f,0x1c,0x4d,0x20,0x8f,0xce,0xaa, + 0x2f,0x6e,0xac,0xdf,0x51,0xa3,0xe8,0xdb,0xdb,0x2d,0x19,0xac,0x6a,0x3c,0xad,0x83, + 0xa8,0xcd,0x22,0x8,0x49,0xb9,0xea,0x88,0xe7,0xa4,0x10,0xc3,0xde,0x78,0x91,0x15, + 0xb7,0xb6,0x96,0x9a,0x13,0x46,0x5c,0xe8,0xdb,0x74,0x4e,0x5a,0xdd,0x5b,0x86,0x5b, + 0x63,0xef,0xf0,0xed,0xeb,0x14,0x5f,0xc7,0xa5,0x3e,0xce,0xa6,0x8b,0x51,0x5e,0xe8, + 0x52,0x46,0x5b,0xc9,0xaa,0x9e,0x7c,0xa,0x8d,0x49,0xae,0x2a,0x6f,0x9e,0x37,0xe8, + 0xe8,0x4b,0x36,0x5f,0x8e,0xfa,0xd1,0x6e,0x28,0xc7,0xec,0xc4,0xae,0x6e,0x4c,0xb9, + 0x22,0xb6,0x17,0x42,0xa0,0xdf,0x67,0xcb,0xde,0xa0,0xb7,0xec,0xad,0x57,0x45,0x41, + 0x29,0x2e,0x27,0xfc,0x34,0x1f,0xc,0xaf,0xfe,0xfb,0xe7,0x5f,0xca,0x28,0xb6,0xdf, + 0xbf,0xfa,0x9f,0xe9,0xfc,0xcf,0xa2,0xbb,0x24,0xa1,0xa,0xbd,0x9b,0xe9,0x3,0x26, + 0xa3,0xc,0xac,0x51,0x6f,0xd0,0xbf,0xa2,0xcc,0x60,0x6f,0xf9,0xd3,0xe8,0x1e,0x8a, + 0x4e,0x77,0x23,0xff,0xfb,0xd3,0xfd,0x18,0x8b,0xb3,0x2c,0xa8,0x55,0xa6,0xab,0x5b, + 0xd7,0x8d,0xe6,0xcd,0xce,0xb3,0xfc,0xee,0xe3,0xe8,0x75,0xd1,0x83,0xfe,0xfd,0x88, + 0x1e,0xea,0xfe,0xb6,0x1c,0x8d,0xc7,0xff,0xa0,0x4e,0xaa,0xd1,0x76,0x77,0x35,0xd0, + 0x22,0x22,0xae,0xf0,0xf1,0xa9,0x5b,0x70,0x19,0xbe,0xdd,0x6e,0x28,0xc9,0xb8,0x77, + 0x93,0x8d,0xaf,0x5b,0x9f,0x7b,0xe3,0xff,0x7b,0xc8,0x92,0x2d,0x1d,0xba,0x9d,0x4f, + 0x1f,0x66,0xf7,0xd3,0x41,0xb6,0x5a,0x1f,0xad,0xb5,0xf0,0x56,0xeb,0x65,0xd5,0xe5, + 0xac,0xb7,0xbc,0x2b,0x38,0x5a,0x85,0xf0,0xeb,0xec,0xc9,0x10,0x63,0xbe,0x2,0x37, + 0x3f,0x6e,0xa5,0xf4,0xad,0xfe,0x18,0x4a,0x2b,0xa9,0x96,0xc5,0x72,0x3e,0xfd,0x33, + 0xbb,0x9a,0x4c,0x27,0xd9,0xea,0x73,0xbe,0x42,0xae,0x18,0xed,0xfd,0x14,0x24,0x6a, + 0xe8,0x7f,0xa7,0xa3,0xc9,0x15,0xe4,0x92,0xcd,0xb,0x6a,0xf8,0x32,0x1e,0xe1,0xcf, + 0x95,0x2a,0x68,0x83,0x1e,0xec,0xce,0x7c,0xde,0x7b,0xae,0x35,0x49,0xd4,0x3c,0xfd, + 0x70,0xc5,0xa,0xda,0x3a,0xb7,0x50,0x70,0x2,0x36,0xff,0x99,0xc0,0xe6,0x32,0xcf, + 0xb9,0xe6,0xa2,0xcd,0x65,0x6a,0xb5,0x73,0xc6,0x27,0xbf,0x26,0x2e,0x95,0x8e,0x5b, + 0xeb,0x2c,0x51,0x9d,0xa6,0x34,0x70,0x4e,0xd5,0x30,0xda,0xc,0x54,0x9b,0x6a,0xa7, + 0x98,0x31,0xa0,0xe2,0x33,0x67,0x46,0x72,0xdd,0xf6,0xa9,0x62,0xda,0x3b,0x65,0x42, + 0x5d,0xe5,0x99,0x90,0x1e,0x75,0x53,0xe6,0x98,0x12,0x4c,0xe4,0x54,0xed,0xb4,0x17, + 0xb6,0xad,0x52,0xc7,0xa0,0xef,0x96,0xda,0xa5,0x41,0x40,0xf3,0xa5,0x15,0x20,0x5b, + 0x1e,0xae,0xb6,0x5b,0x91,0xb7,0xc6,0xf6,0xb5,0xb6,0x3e,0xe6,0x70,0x7d,0x4a,0x98, + 0xca,0x9b,0xd5,0xb7,0xb5,0xe5,0x23,0x14,0x8b,0x5c,0xa7,0x1b,0xd7,0x8b,0x24,0x59, + 0x6e,0xef,0xa8,0x31,0x7a,0x2f,0x12,0xdc,0xd9,0xb0,0x73,0xa0,0xf2,0x97,0xfa,0xd6, + 0x9f,0x2a,0xe5,0x21,0x73,0x6d,0x95,0xd1,0xe1,0x45,0x4c,0xe9,0x9d,0xaf,0xa4,0xcb, + 0x57,0x5a,0xb3,0x4b,0x57,0x28,0xbd,0xb2,0xa9,0x2b,0xeb,0xdc,0xd6,0xed,0x7a,0x35, + 0x2d,0xa3,0x79,0x7a,0x8,0x4d,0x32,0xce,0x55,0x1b,0x12,0x53,0x52,0x6b,0x2d,0x2a, + 0x5d,0x37,0xe0,0xbb,0x10,0x16,0x1d,0x6,0x5c,0xd3,0xe,0x8c,0x99,0x60,0xc2,0xce, + 0x31,0xd7,0x47,0x5d,0x4e,0x86,0xaa,0x5e,0xc2,0xd2,0x68,0x60,0x3b,0x58,0xb6,0x0, + 0x1b,0x5a,0x5b,0xab,0xa1,0x30,0xc2,0x32,0x6b,0xb4,0xfc,0x58,0x7b,0xea,0xf0,0xe0, + 0xed,0x9e,0xc1,0x6f,0xe,0xbf,0x41,0x7b,0x52,0xee,0x5a,0xec,0x1f,0x58,0x71,0xb1, + 0x72,0x6d,0x21,0xb2,0x54,0x29,0x6f,0x1c,0x66,0xab,0x55,0xef,0x2a,0xaa,0x85,0x4a, + 0x5a,0x63,0x5d,0xb8,0x4b,0x14,0xb,0x1,0x2b,0xa4,0x1d,0x3e,0x70,0xab,0x79,0x3b, + 0x2f,0xb6,0x52,0x98,0xb6,0x4c,0xb5,0xd7,0xc2,0x38,0x7c,0x82,0x92,0xa,0xa6,0xbc, + 0xf8,0xb8,0xd1,0x7c,0x3e,0x15,0xdc,0xd5,0xf9,0xdd,0xb0,0x72,0x25,0xdb,0xa5,0xb7, + 0x81,0x99,0x24,0x1b,0xd,0x34,0xd0,0x5f,0xf4,0xfb,0xfd,0xaf,0xfd,0xf0,0xa7,0xdf, + 0x6f,0x6d,0x3e,0x12,0x6e,0xc1,0x46,0x53,0xa2,0xba,0xd1,0x52,0xfc,0x4,0x9b,0xa3, + 0x68,0x3b,0xc9,0x1b,0xaf,0xc2,0xc8,0x31,0x12,0x2b,0x84,0x4f,0x3e,0x27,0xa,0x8b, + 0x89,0x69,0xe1,0x69,0x81,0x61,0xe8,0x5a,0x39,0x61,0x12,0xe9,0x53,0xa6,0x98,0x33, + 0x96,0x18,0xb6,0x46,0x6a,0x9,0xf3,0x22,0x61,0x7e,0xbc,0x80,0x75,0x29,0x88,0x30, + 0x40,0x68,0x40,0x1a,0x34,0x2c,0x98,0xab,0x91,0xa5,0xc2,0xba,0xc4,0xb2,0xc,0xa7, + 0x13,0xb4,0x71,0xc2,0x7b,0x97,0x48,0x8,0xa,0xf2,0xd2,0x3e,0xc,0xc1,0xb,0xc8, + 0x96,0x59,0x98,0x1c,0xa2,0x1b,0x1f,0x8e,0x4d,0x88,0x94,0x31,0x89,0xa1,0x99,0x3a, + 0x19,0x36,0xc9,0xc1,0xa,0x1a,0x4d,0xfd,0xc1,0xb4,0x9,0xab,0xf2,0x85,0x7,0x73, + 0x0,0xd3,0xc5,0x13,0x8,0xde,0x7b,0xcb,0x72,0x22,0xa1,0x59,0x18,0x87,0x84,0x8e, + 0x31,0x8,0x98,0x51,0x59,0x12,0x95,0x44,0x3,0x42,0xa5,0x4c,0x2b,0x21,0x2b,0x64, + 0x9f,0xd0,0x86,0x22,0x6c,0xac,0xb5,0x79,0xab,0xda,0x5b,0xee,0x12,0xc1,0x53,0xe1, + 0x19,0xf,0x34,0xa6,0xe0,0x2b,0xa4,0xc6,0xb8,0xd6,0x54,0x96,0x4a,0x25,0x81,0x69, + 0x69,0x58,0x22,0xdf,0x5b,0xb3,0xc4,0xb1,0xb0,0x1e,0x3d,0x30,0x95,0xd0,0x3b,0x2d, + 0x82,0xa3,0x52,0x38,0xb6,0x61,0x18,0xcc,0xb4,0x24,0xd3,0x6d,0xad,0x0,0xb8,0x29, + 0x88,0x56,0x28,0x34,0x40,0xa0,0xd4,0x61,0xb8,0x35,0x32,0xac,0xc,0x1d,0x61,0xf1, + 0x44,0x84,0xad,0x16,0xe8,0x0,0x44,0x99,0x7a,0xae,0x21,0x91,0xda,0x54,0xfe,0x4a, + 0x95,0xe9,0x88,0x16,0x83,0x72,0xea,0xd4,0x1a,0x65,0x30,0x85,0xd4,0xb0,0x4b,0xb9, + 0xf0,0xa8,0x44,0xaf,0xad,0x4b,0xee,0xac,0xe3,0x2a,0x1,0x34,0x66,0x12,0x7e,0x43, + 0xb7,0x3b,0x8e,0xce,0xfd,0xd1,0x5b,0xa2,0x24,0x30,0x45,0x67,0x24,0x4,0x11,0xb5, + 0x46,0x53,0xd6,0x92,0xc4,0x45,0xba,0x6a,0x96,0x3c,0x9,0xfa,0x95,0x34,0xe9,0x42, + 0x7b,0xe,0xe5,0x47,0x9b,0x96,0xde,0x61,0x37,0x9c,0x54,0x9,0xde,0x82,0x93,0xc, + 0x35,0xb1,0x20,0xbd,0x57,0x18,0x56,0x5c,0xf3,0xbe,0x6e,0xa9,0x69,0x63,0x27,0x4f, + 0x99,0xe1,0x86,0xeb,0xbe,0xf4,0xf3,0xb0,0x5b,0xd2,0x1b,0x7e,0x9,0x67,0x5f,0xb1, + 0x31,0x6b,0x40,0x15,0x16,0x7b,0xf7,0x76,0x9f,0xb5,0x8b,0x9b,0x20,0xc5,0xf2,0x59, + 0x62,0x74,0xec,0x82,0x5e,0xed,0x6a,0xaf,0x3f,0x55,0xcb,0x39,0x56,0x0,0x24,0xeb, + 0x3d,0xdd,0xca,0xb,0x55,0x36,0x4e,0xc5,0x8d,0x90,0xd2,0xbc,0x75,0xa4,0x99,0x55, + 0x5b,0x98,0xaa,0x91,0x19,0x3b,0x62,0x3e,0x77,0x82,0xb6,0xf,0xda,0x40,0xd5,0xb7, + 0xe7,0xf3,0xd2,0xb8,0xad,0x66,0x4b,0x39,0x99,0x3c,0xc6,0x3c,0x39,0x42,0xed,0xa5, + 0xa5,0xf5,0x4f,0xf2,0x57,0xf4,0x82,0x3e,0xa1,0x29,0x65,0x2d,0xc3,0x7a,0xb2,0x58, + 0xfd,0x1a,0xb,0xc7,0xd3,0xdb,0x78,0xde,0x7b,0x23,0x55,0x2,0xb0,0x10,0x5e,0x2e, + 0x96,0x6d,0x94,0x3a,0x2e,0xc8,0xa2,0xc8,0x54,0x48,0xa5,0x89,0x86,0x56,0x84,0xc0, + 0x52,0x24,0xcb,0xc,0xf4,0x5,0x54,0xe7,0x78,0xa0,0x7a,0x3a,0x7d,0xc5,0x13,0x1d, + 0xe,0x8b,0x68,0xd8,0x2e,0x3a,0x4a,0x3,0xa3,0x8b,0x95,0x64,0xca,0x16,0xd7,0xb4, + 0xcf,0xe8,0xdb,0x62,0x7d,0xd6,0xa9,0xe,0xcd,0x10,0x82,0xc,0xb4,0x70,0x46,0xda, + 0x25,0x74,0x9b,0xb3,0x65,0x45,0xdf,0x64,0xd7,0xc8,0x94,0xac,0xa9,0x3e,0x85,0xc5, + 0x8,0xc,0xf2,0x14,0x5a,0x4d,0x47,0xda,0x1c,0x2c,0x9d,0x30,0x5c,0x24,0x74,0x4c, + 0x1a,0xaa,0xa8,0x89,0xa4,0x48,0xc,0x24,0x18,0xa1,0x8b,0x6f,0x9f,0xc9,0xfe,0x5, + 0xcc,0x66,0x57,0x24,0x6,0x53,0x2d,0xc2,0xc5,0xdc,0xc6,0x86,0x66,0x0,0x23,0x99, + 0x24,0x63,0x4,0x4f,0x80,0x48,0x8c,0x7a,0xa3,0x93,0x67,0x64,0x65,0x4b,0x1a,0xc6, + 0xc5,0x8d,0xe6,0x41,0x26,0x30,0xd3,0xd2,0x7a,0xa1,0x88,0xe8,0xac,0x27,0x6,0x60, + 0xce,0xc9,0xda,0xc3,0x39,0x63,0x84,0xd2,0x49,0x62,0x54,0x20,0xae,0x83,0xd5,0xa4, + 0x87,0x4b,0xda,0x67,0x32,0x6f,0x12,0x7e,0x3,0x38,0xb8,0x52,0x93,0xee,0xe0,0x80, + 0x35,0xd,0xd,0x2a,0x4b,0x32,0x16,0x70,0x7e,0x10,0x97,0xcc,0x7b,0x66,0x74,0xbc, + 0x8d,0xc6,0x3,0xe1,0x41,0x38,0xa0,0xda,0xd5,0x18,0x83,0x27,0x51,0x78,0x16,0x8e, + 0x5f,0xc3,0xb0,0xd1,0x9a,0x23,0xee,0x1c,0x7,0x72,0x37,0x50,0x3,0xe3,0xe9,0xb4, + 0x8e,0x8e,0xa8,0xcb,0xb6,0xf1,0x2b,0x1d,0xb8,0xd2,0xdb,0xe,0x3c,0xa,0x8,0x2, + 0x16,0xc8,0xff,0xed,0x6f,0x18,0x9a,0x13,0x2c,0xc8,0x2d,0xa0,0x76,0x60,0x41,0x6a, + 0xb,0xf0,0x20,0x85,0x7a,0xc3,0x55,0x89,0x75,0xc0,0xac,0x26,0x60,0xc0,0x29,0xb4, + 0xc1,0xec,0xca,0x7c,0x1d,0xb8,0xa0,0xad,0x15,0x2a,0xa6,0x12,0xb3,0x2f,0xd,0x85, + 0xf,0x86,0x33,0xe5,0x3c,0x29,0xbc,0x21,0xc7,0x21,0x89,0xc6,0x38,0xa6,0x2e,0x5f, + 0x5,0x5,0x91,0xdc,0x2f,0xd6,0x3,0xa9,0x91,0x3,0x68,0x90,0xdc,0x63,0x55,0xf3, + 0xe0,0xd9,0x80,0x20,0x42,0x2f,0x1e,0x36,0x99,0x48,0xa,0x18,0x1d,0x7a,0x59,0x19, + 0x4e,0x49,0x3,0xdc,0x42,0xd7,0x5a,0xd5,0xa9,0x70,0xe7,0xd0,0x3b,0x2c,0xfb,0xd0, + 0x20,0x82,0xa,0x4f,0x16,0x81,0x8,0x36,0xe8,0xa5,0x82,0xcb,0x54,0xb9,0x99,0x28, + 0x88,0xb4,0x16,0x8d,0x8,0xee,0x1d,0x66,0xc2,0xc0,0xe0,0xb8,0xc0,0xd,0xe2,0x3c, + 0x8a,0x1a,0xa9,0x17,0xc0,0x7,0x84,0x45,0x6b,0xa6,0x63,0xe2,0xd9,0xab,0x87,0x9b, + 0x10,0x79,0x9f,0x1e,0x9e,0x41,0x3,0xb7,0xe2,0x9c,0xf7,0xaf,0x81,0x64,0x76,0x30, + 0x3d,0x64,0x39,0x4,0xbc,0x81,0x32,0xa6,0x34,0x3b,0x40,0x76,0x55,0x2a,0x99,0x1d, + 0x25,0x29,0x24,0xcf,0xdf,0x9a,0x70,0xc0,0x90,0xb0,0x3b,0x9c,0xfe,0xdf,0x56,0xc1, + 0x90,0x79,0x2,0xa8,0xa4,0x83,0x15,0x2a,0xc,0x27,0x2c,0x5d,0x8e,0x36,0x29,0x57, + 0x0,0x2c,0x97,0x5b,0x72,0xa0,0x73,0xc0,0xaf,0xd0,0xf,0xd4,0x32,0xa8,0x11,0x42, + 0x7f,0xc8,0xa2,0x3a,0xa2,0x92,0x16,0xec,0x96,0x6,0xd2,0xaf,0x51,0x61,0x59,0x81, + 0xfd,0x39,0x77,0xa1,0x45,0x80,0x17,0x63,0xc8,0x6,0x13,0x52,0x85,0x7d,0x27,0x2d, + 0x64,0x96,0x73,0x93,0x5b,0xe6,0x82,0xca,0x53,0x47,0xf6,0x4f,0xad,0x2c,0x33,0x60, + 0xb9,0xf1,0x81,0x23,0xc4,0x0,0x4a,0xe7,0xfd,0x58,0x91,0xc7,0xe9,0x5,0xe7,0x11, + 0x19,0xed,0x55,0x43,0xfb,0xa6,0x6a,0xa8,0x76,0x22,0xcd,0x58,0x3a,0xe9,0x1d,0xe8, + 0x20,0x65,0xaf,0x1,0x21,0x44,0x30,0x12,0x5c,0x3,0x4,0xb8,0x60,0xb3,0x98,0x1, + 0x36,0x14,0xb2,0x42,0x75,0x88,0x65,0xa5,0xf6,0x2c,0xcc,0xae,0x95,0xf8,0x81,0xc1, + 0x83,0xd7,0x4,0x56,0xe,0xca,0xc6,0xa5,0x77,0xf0,0xd7,0x64,0x6,0x31,0x9b,0xa, + 0x73,0xdb,0xa6,0xf8,0x1,0xf6,0x30,0x28,0x91,0xa3,0xf9,0x46,0xf0,0x43,0xe,0x11, + 0xf6,0xb,0xde,0x56,0x25,0x14,0x69,0x20,0x94,0x60,0xa6,0x4d,0xfa,0x8d,0x58,0x1, + 0x35,0xd,0xe0,0x10,0x82,0x21,0x5b,0x21,0x7d,0x6,0x8e,0x91,0x74,0xc7,0x66,0x95, + 0x48,0xbe,0x14,0x8,0x1d,0x8a,0xe1,0xe8,0x1e,0x27,0xab,0x14,0x81,0x25,0x58,0x31, + 0x84,0x5d,0x1c,0x7d,0xe0,0x37,0xe2,0xa0,0xdc,0xe,0x2a,0x67,0x15,0xdd,0xcf,0x12, + 0x1c,0xb4,0xa2,0x80,0x84,0x2c,0x2b,0xb,0x38,0xc8,0x6,0x76,0x84,0x74,0x8,0x3e, + 0x74,0xa,0xcb,0xef,0xed,0xca,0xb2,0xe6,0x6c,0xc7,0x4,0xb4,0x57,0x1,0xfd,0xdb, + 0x2a,0xe0,0xce,0x14,0xc7,0x3b,0x55,0x40,0x41,0xef,0x68,0x40,0xaf,0xfc,0xca,0x90, + 0x94,0x26,0x7,0x16,0x10,0x90,0xad,0x42,0x25,0x93,0x3,0xf8,0x18,0xf4,0xcf,0x40, + 0x19,0x64,0xb0,0x38,0x98,0x57,0xc1,0xc3,0xd4,0x32,0x9,0x6e,0x6c,0x6e,0x71,0x10, + 0x37,0x22,0xd0,0x21,0x5,0xb4,0x16,0x5e,0xd3,0xe6,0x16,0x87,0x93,0xc9,0x52,0x50, + 0x18,0x86,0x86,0x60,0x2a,0xa8,0x1b,0xee,0x1c,0xd4,0x96,0x0,0xa7,0xe2,0x50,0x6e, + 0x4b,0x3,0xd2,0x96,0xc0,0x6e,0x85,0x86,0xa7,0x4d,0x8a,0xf5,0xa0,0x6b,0x54,0x8a, + 0x9c,0x0,0xde,0x2,0x9e,0x45,0xe8,0xb,0x2f,0x63,0x83,0xa5,0xf6,0x88,0x6e,0x1d, + 0xfa,0x56,0x60,0x80,0xe5,0x23,0x22,0x10,0xe0,0xa4,0xd,0xc8,0x0,0xb,0x42,0x48, + 0x9f,0x5b,0x65,0x1,0x2e,0x4c,0x40,0x8e,0x74,0x48,0x9e,0x5a,0x44,0x70,0xc,0x55, + 0xac,0xb2,0x1d,0x11,0xd0,0x3e,0x5,0x34,0xdb,0x82,0x6e,0xae,0x80,0xb5,0x98,0xb3, + 0xf2,0xa5,0xfc,0xb8,0xfa,0x10,0xfe,0x7c,0xa2,0x6d,0x86,0x9f,0x7e,0xf8,0x7f,0xc3, + 0x40,0x51,0xf1, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/x-office-address-book.png + 0x0,0x0,0xf,0xd3, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x40,0x0,0x0,0x0,0x40,0x8,0x6,0x0,0x0,0x0,0xaa,0x69,0x71,0xde, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x37,0x5c,0x0,0x0,0x37,0x5c, + 0x1,0xcb,0xc7,0xa4,0xb9,0x0,0x0,0x0,0x6,0x62,0x4b,0x47,0x44,0x0,0xff,0x0, + 0xff,0x0,0xff,0xa0,0xbd,0xa7,0x93,0x0,0x0,0xf,0x45,0x49,0x44,0x41,0x54,0x78, + 0xda,0xb5,0x5b,0x4b,0xac,0x25,0xc7,0x59,0xfe,0xfe,0xea,0xf3,0xba,0x8f,0xe3,0x3b, + 0x9e,0x3b,0x9e,0x19,0x4f,0x4c,0x86,0xb1,0x33,0xb6,0x15,0x59,0x56,0x82,0xc,0x66, + 0x31,0x1,0x5,0x9,0x5,0x65,0x83,0x58,0x20,0x11,0x1,0x16,0xb2,0x88,0x0,0x89, + 0x4d,0x2,0x3b,0xa4,0x2c,0x10,0x49,0x36,0x89,0xb2,0xc8,0x82,0x4,0x64,0x81,0x78, + 0x28,0x8,0x84,0x22,0x13,0x36,0x20,0x14,0xc0,0xb1,0x6c,0x62,0x43,0x20,0xf2,0x38, + 0x31,0x21,0x6,0x19,0x8f,0x9d,0x79,0xcf,0x7d,0xce,0x3d,0xa7,0xbb,0xab,0x2a,0xf5, + 0x57,0xd5,0xe9,0x5f,0x5d,0xd5,0x67,0xce,0xdc,0x7b,0xec,0xba,0xf3,0xdf,0xaa,0xae, + 0x47,0x9f,0xfe,0xbf,0xfa,0xfe,0x47,0xf5,0x3d,0x43,0x58,0x5c,0x94,0x13,0x83,0xbb, + 0x2c,0xd6,0xda,0xf6,0xb5,0x13,0x8a,0xf5,0xf7,0x9d,0xbc,0xe6,0xe4,0x8a,0x5,0x6e, + 0x12,0xb0,0x33,0x5,0xf6,0xaf,0x80,0x26,0x37,0x80,0x72,0xc7,0xc9,0xae,0x45,0xb9, + 0x4f,0xa8,0xe,0xc,0x74,0x35,0x25,0x98,0x1a,0xd6,0x18,0x27,0x35,0x8c,0xd1,0xb0, + 0x9a,0xeb,0xda,0xd5,0x1a,0x46,0xd7,0x51,0x2a,0xee,0xb,0xed,0xba,0x2,0x40,0x18, + 0xab,0x5d,0xda,0xff,0xbf,0x17,0xec,0xf3,0x5f,0xf9,0x7d,0xff,0xdc,0x8f,0x3e,0xf6, + 0x1,0xc,0x8f,0x9f,0xc5,0xb7,0x9f,0x7b,0x16,0x69,0x21,0xdc,0x45,0x39,0x7b,0xf6, + 0xec,0xfa,0xcd,0x9b,0x37,0x7b,0xfd,0x7e,0x5f,0xf,0x6,0x3,0x33,0x1a,0x8d,0xcc, + 0x78,0x3c,0x36,0xa7,0x4e,0x9d,0x32,0x3f,0xfe,0x13,0x4f,0x9a,0xdf,0xfd,0xed,0x8f, + 0x9b,0xcf,0x3f,0xf9,0x63,0xb8,0xf6,0xe6,0x4d,0x9c,0x54,0x64,0x1f,0x31,0x16,0xbf, + 0x1a,0xd7,0xee,0x38,0x29,0x9d,0xdc,0x87,0x77,0xbf,0xfc,0xe4,0x27,0xff,0x1c,0x98, + 0x4c,0x1,0xde,0x4,0x22,0x50,0x55,0xc1,0x12,0xcd,0x76,0x6,0xff,0xf6,0xc7,0xbf, + 0x75,0x8,0x0,0x64,0xe3,0x3e,0xe1,0xe4,0x53,0x4e,0xaa,0xc8,0x4,0x2d,0x12,0xae, + 0x47,0xab,0xf7,0xe8,0x8f,0xfc,0xfa,0x67,0xd0,0x1b,0xad,0x5b,0xa3,0x6b,0x26,0x81, + 0x35,0xee,0x27,0xfc,0x93,0x62,0xe2,0x85,0xaf,0x4c,0xbc,0x74,0x55,0xd3,0xf0,0xbd, + 0xcd,0x30,0xb7,0x60,0x64,0x71,0xd3,0xe6,0x3a,0x19,0x93,0x8f,0x2,0xcc,0xc6,0x4a, + 0x41,0x45,0xbd,0xf3,0xd7,0x38,0xfd,0xe4,0x5f,0x1a,0x3,0xac,0xfc,0xd1,0x2f,0x63, + 0x7a,0xe1,0x67,0xf0,0xd2,0xf3,0x5f,0x5f,0x0,0x40,0xa2,0xbc,0xdb,0xf1,0xf7,0x56, + 0x55,0x75,0xf1,0xa9,0xa7,0x9e,0x1a,0x3f,0xf1,0xc4,0x13,0x76,0x32,0x99,0x90,0x2b, + 0x33,0xaa,0x37,0x42,0xa4,0xb0,0xfe,0x9e,0xc7,0xa0,0xfa,0xa3,0xc8,0x79,0x92,0xdb, + 0x10,0xf9,0x2e,0x58,0x57,0x53,0xe8,0x9b,0x59,0x89,0xe5,0x36,0xa4,0xd,0x1b,0xeb, + 0x88,0x3c,0xcf,0x93,0xb6,0xd4,0x79,0x9b,0xc1,0x8,0xf7,0x2e,0xab,0xca,0xfe,0xfd, + 0x4b,0x6f,0xa3,0x2a,0x27,0xb4,0x56,0x5f,0xfd,0x90,0xb5,0xf6,0x79,0x43,0x7d,0x6f, + 0xc6,0xff,0xfe,0x17,0xbf,0x83,0xb4,0xf4,0xee,0x4,0x80,0x53,0xfe,0xc1,0xd5,0xd5, + 0xd5,0xf1,0xd3,0x4f,0x3f,0x5d,0x6f,0x6e,0x6e,0x16,0x5a,0x6b,0x53,0x14,0x5,0x18, + 0x4,0xa5,0x14,0x4b,0xd3,0xb6,0xf5,0xd4,0xd5,0x4,0xa2,0xd8,0xe7,0x84,0xfc,0x35, + 0xc9,0x35,0x91,0x9d,0x5d,0xd3,0x6c,0x1c,0x72,0x1d,0xf0,0x9a,0xf5,0x1,0x88,0x6d, + 0x10,0xa4,0x4f,0xea,0xf8,0x2f,0xb6,0x63,0x55,0xc0,0xe2,0xa5,0x6f,0x7e,0xb3,0xbe, + 0x38,0xb9,0x7f,0x88,0xf1,0xb9,0x87,0xb5,0xa1,0xe7,0xb5,0xd1,0x44,0x56,0xdc,0xd8, + 0x22,0x0,0x4,0x5,0x57,0x6e,0xdf,0xbe,0x8d,0x17,0x5f,0x7c,0x51,0x5d,0xb8,0x70, + 0x81,0x98,0x1,0x51,0x69,0x2f,0x71,0x4e,0x14,0xc5,0xe,0x29,0x3a,0x3d,0x6,0x65, + 0x36,0x47,0x14,0xcb,0x4,0xd2,0x16,0x0,0x4,0x30,0xc8,0x9c,0xfc,0x1e,0x39,0x70, + 0x9e,0x5,0xc7,0xd6,0x57,0xf0,0xd0,0x3,0x9b,0xf8,0x8f,0x97,0xaf,0x43,0x1d,0x3f, + 0x5f,0x6a,0x43,0x30,0xe5,0x4,0xda,0x2,0x1f,0xfa,0xd8,0xef,0xe1,0x1b,0x5f,0xf9, + 0x74,0xa,0xc0,0x62,0x8f,0xfe,0xcc,0x33,0xcf,0xe0,0xd5,0x57,0x5f,0x45,0xaf,0xe7, + 0xa7,0x27,0xf,0x4d,0x9e,0x87,0x3d,0x47,0xff,0xf1,0xa9,0x7,0x31,0xe8,0xf7,0xa0, + 0x8,0xa8,0xb4,0xf5,0x43,0x83,0x62,0xa6,0x8,0x57,0x51,0x20,0x3b,0x99,0x59,0x23, + 0xc1,0x2b,0xc2,0xb6,0xdb,0xe3,0xb5,0xd9,0xdc,0x14,0x7c,0x19,0x67,0xf4,0x47,0x43, + 0x85,0xbd,0x9d,0x2d,0xc,0xaa,0x1d,0xec,0x5f,0x7b,0xbd,0xd2,0xda,0xc0,0xfb,0xf, + 0x0,0x7f,0xf6,0xd5,0x3f,0xc0,0xb9,0x4,0x0,0x5a,0x10,0xfa,0x3e,0xec,0xe4,0xeb, + 0x6b,0x6b,0x6b,0x4c,0x7d,0x95,0x2,0x63,0xc,0x4f,0x21,0xe8,0xba,0xc4,0x78,0xf3, + 0xc,0x3e,0xf5,0xc5,0xaf,0xe2,0x56,0xbd,0x8e,0x5b,0x7b,0x25,0xde,0x77,0xb2,0x7, + 0x6d,0x80,0xff,0xbd,0x56,0x83,0x28,0xd8,0xa8,0xf8,0xd,0x64,0xb5,0xe1,0x1a,0x16, + 0x5a,0x5b,0xac,0xd,0x8,0xe3,0x11,0xe1,0xf2,0x76,0x8d,0xda,0x33,0x57,0xe6,0x66, + 0x35,0xb2,0xfb,0x30,0x70,0xa6,0x80,0x51,0xfb,0x37,0xde,0xf8,0xe7,0xbf,0xfb,0xdc, + 0xaf,0xfc,0x2c,0x0,0xfd,0xf8,0x4f,0xfd,0x2,0x46,0x1b,0xa7,0xf1,0xd2,0xd7,0xfe, + 0x30,0x65,0xc0,0xe2,0xb2,0xbf,0xbf,0xcf,0xbb,0xcf,0xb6,0xde,0x28,0xc1,0xa5,0xae, + 0x6b,0x90,0xeb,0x2b,0x60,0xb0,0xb5,0x7b,0x80,0x97,0xdf,0xd0,0xf8,0xe0,0x23,0x6b, + 0xf8,0xa7,0xd7,0x34,0x76,0xeb,0x3e,0x3e,0xf2,0xd8,0xa,0x5e,0xbe,0x74,0x1b,0x6f, + 0xdc,0xa8,0x31,0xe8,0x51,0x8c,0x4e,0x82,0xbb,0xd8,0xb0,0xec,0x22,0xcf,0xe9,0x97, + 0x84,0xf,0xde,0x3b,0xc0,0x58,0x19,0x7c,0xe7,0x7,0x35,0x8a,0x96,0xcd,0xcb,0x16, + 0x51,0x6b,0xff,0xe4,0xde,0x13,0x6b,0x9,0xa4,0xec,0xe8,0xcc,0xe9,0xf,0x7f,0xec, + 0xb3,0xcf,0x3d,0xe,0xe0,0x3f,0xd9,0x11,0x32,0x15,0xe,0xb,0x0,0x6b,0xda,0x38, + 0x3a,0xc7,0x2,0x56,0x9e,0x77,0x9e,0x6b,0xb1,0x55,0x10,0x86,0xfd,0x2,0xdf,0xbb, + 0x52,0x61,0xf3,0x44,0x89,0x9f,0x7b,0x6c,0x88,0xaf,0x7d,0xfb,0x0,0xa7,0xef,0x1, + 0x2e,0xbc,0xaf,0x8f,0xcb,0x5b,0x95,0xf7,0xf7,0xa4,0x70,0xc7,0x42,0x36,0x68,0x58, + 0x55,0xc0,0xc5,0x4b,0x1a,0x1f,0xf8,0x91,0x3e,0x4e,0xac,0x1a,0xdc,0xd8,0x33,0x28, + 0x54,0xf3,0x34,0x73,0xe3,0x98,0x15,0x28,0xfd,0xd5,0x44,0x13,0xca,0xc1,0xd9,0x30, + 0x12,0xc1,0xcf,0xa9,0x7e,0x77,0x25,0xf5,0xfa,0x5c,0xb7,0x6d,0x92,0xa,0xac,0xe, + 0xb,0x7c,0xeb,0x8d,0x12,0xfb,0x53,0x8b,0x9f,0x7e,0x64,0x84,0x7f,0xfd,0xde,0x14, + 0x3c,0xf4,0xe8,0xfd,0x7d,0x94,0x3a,0x3e,0x58,0x87,0x10,0x14,0x88,0xd1,0x89,0x60, + 0xb2,0xed,0xef,0x97,0xc0,0x9b,0x37,0xd,0x1e,0x38,0xce,0xcc,0x23,0x80,0xfc,0x9c, + 0xdc,0xff,0xf8,0xb6,0x6a,0x49,0xec,0x23,0xb7,0xce,0x42,0x97,0x25,0x74,0x5,0x98, + 0xda,0x1a,0xae,0x8f,0x2,0x0,0x11,0x35,0x8a,0xcf,0x8d,0x2,0xaa,0xf0,0x20,0xac, + 0xf4,0x9,0x2f,0xbc,0x3e,0x75,0x36,0xac,0xf0,0xe8,0xe9,0x3e,0xbe,0xe1,0x40,0x78, + 0xfc,0x81,0x1,0x46,0xae,0xdf,0x42,0x9c,0x60,0xe6,0xfd,0x21,0xc2,0xa5,0x5f,0x10, + 0x2e,0xef,0x18,0xf0,0xa2,0xfb,0xc6,0x5,0x8c,0x69,0xf0,0xe1,0x5a,0xd6,0x87,0x15, + 0x6d,0x27,0x2b,0x21,0xd4,0x10,0xa9,0x5a,0x42,0xb3,0xca,0x1,0x38,0x84,0x9,0xa4, + 0xd2,0xd8,0x9d,0x12,0x56,0x34,0xf,0xff,0x9c,0x53,0xfc,0xfc,0xa9,0x3e,0x2a,0x3, + 0x5c,0xdb,0xd5,0x78,0x7f,0x64,0x81,0x84,0x37,0x88,0x84,0x5f,0x2d,0xa5,0x14,0xc1, + 0x87,0xae,0xb7,0xb7,0xc,0x4e,0x8e,0x55,0x8c,0x8,0xd4,0xb0,0xa8,0x5b,0x61,0xf9, + 0x89,0x60,0x69,0x27,0xb5,0x7c,0xd0,0x72,0x26,0x60,0xd9,0x7,0xb4,0x58,0x10,0x11, + 0x20,0xbe,0x2e,0x8a,0x48,0x3f,0x9e,0x1b,0x62,0xf2,0xb,0xdf,0xe7,0xdd,0xef,0xe3, + 0xf5,0xeb,0x1a,0xef,0xdd,0x2c,0xb0,0x36,0x54,0xdc,0xcf,0x6b,0x33,0x85,0x1b,0x3f, + 0x17,0x24,0x98,0x82,0x22,0xdc,0xbc,0x6d,0x51,0x69,0x60,0x73,0x3d,0xac,0x55,0x5d, + 0xa,0x13,0x4b,0x7b,0x7d,0x1c,0xd1,0x44,0x54,0x91,0xcc,0x3d,0xba,0x9,0x64,0xca, + 0x8b,0x12,0x91,0x1,0x5,0xb7,0x5b,0x14,0xde,0x2b,0x81,0x57,0x2e,0xd5,0x78,0xcf, + 0xb1,0x2,0xdb,0x4e,0x91,0x87,0x4f,0x16,0xa8,0x4d,0x54,0x2,0xf3,0xe8,0x9c,0xef, + 0x30,0x9b,0xc2,0xf1,0x55,0x12,0x16,0xa4,0xa,0xcb,0x4f,0xb3,0x28,0x56,0x9a,0x40, + 0x35,0xa1,0xb9,0x5e,0xca,0x4,0x52,0x10,0x12,0xff,0x50,0x30,0x13,0x1a,0x45,0xac, + 0x93,0x61,0x8f,0x70,0x7d,0xcf,0xb8,0x30,0xa8,0x3d,0x20,0xa7,0x37,0x1c,0xb,0x6, + 0x2a,0x86,0xc3,0x9c,0xce,0x22,0x92,0x5,0x16,0xca,0x1,0x39,0x5,0xa6,0x35,0x70, + 0xef,0xaa,0x30,0x88,0x44,0xe1,0xf6,0x5a,0x40,0xee,0x4b,0xcc,0x0,0xd4,0x2,0xf2, + 0x12,0xc,0x60,0xa5,0xd3,0x48,0x20,0x63,0xc1,0x9,0x12,0x49,0x1f,0xc5,0xc3,0xca, + 0xb0,0xa7,0xf0,0x83,0x6d,0xc3,0x66,0xe0,0x15,0xf8,0xd1,0x13,0xcc,0x2,0x82,0x4a, + 0xec,0x17,0x89,0xfd,0xc6,0xae,0xc6,0x1f,0x5c,0xdf,0xb7,0xb8,0x67,0x25,0xb2,0xa0, + 0x23,0xab,0x14,0x66,0xb4,0x76,0xbb,0x6e,0x18,0x20,0x51,0xf2,0xd0,0x89,0x50,0xe7, + 0xe1,0xc7,0x18,0x23,0xbb,0xcf,0x52,0xf4,0x3c,0x0,0x92,0xe7,0xc8,0xa9,0x8e,0x99, + 0xc0,0x21,0x6d,0x3c,0xac,0xf1,0xf0,0xa9,0xc2,0x31,0xc2,0x78,0x53,0xa0,0x8e,0x58, + 0x4e,0x1d,0x1d,0x5,0x11,0xe,0x4a,0xa0,0xac,0xe1,0x41,0xd8,0xba,0x6d,0x3d,0xe8, + 0x52,0xb2,0xf5,0x36,0xd2,0xa0,0x8e,0x12,0x1,0x5e,0xc2,0x4,0x3a,0x7d,0x0,0x10, + 0x94,0x56,0x24,0x26,0x20,0x27,0xb7,0x46,0x2c,0xc8,0x87,0xc1,0xef,0x5e,0xd6,0x78, + 0x6b,0xcb,0xe0,0x21,0xf6,0x5,0x1a,0xac,0x44,0xdb,0x86,0xa9,0x8b,0xd2,0xc2,0xb2, + 0x5b,0x4e,0xf1,0xf5,0x61,0x30,0xb,0xb4,0x33,0x89,0xc4,0x2f,0x35,0x63,0x35,0x9b, + 0x81,0x98,0xcc,0xf2,0x89,0x50,0xe6,0x3,0x54,0xc3,0x80,0xc2,0xd5,0x4a,0x8e,0xaf, + 0xa9,0x87,0x6,0x7c,0x3a,0x7c,0xf1,0x2d,0x8d,0x8d,0x15,0xf2,0x3b,0xa9,0x8d,0x57, + 0x6e,0x9e,0xfd,0xb6,0x80,0x2e,0x28,0xf8,0x81,0x4a,0xc3,0x83,0x60,0x6d,0x97,0xc2, + 0xd9,0xa9,0xb3,0x26,0x40,0x87,0x7e,0x1c,0xd9,0x7,0xa4,0x8a,0xb7,0x1d,0x8a,0x24, + 0x42,0x4e,0xe4,0x68,0x9a,0x7a,0x68,0x20,0x0,0xc5,0xf6,0x7f,0xe9,0x96,0x75,0xe1, + 0xb1,0x7,0xd5,0xdc,0xa2,0xc3,0x7e,0x93,0xdd,0x45,0x4,0x7a,0x67,0x2,0xac,0xe, + 0x98,0x11,0xe8,0x3e,0x66,0xb7,0xcf,0x6,0x55,0xc3,0x80,0x20,0xcb,0x26,0x42,0x39, + 0x8,0x8a,0x6b,0xee,0x8f,0x4e,0x50,0x68,0x99,0xd2,0x59,0x58,0xf0,0xf6,0xb6,0xf1, + 0xe,0xf2,0xfd,0x67,0xa,0x18,0x2b,0xf,0xbd,0x80,0xce,0x28,0x54,0x60,0x80,0x36, + 0x1,0x4,0x9b,0xae,0x4d,0x0,0x1,0x88,0x23,0x80,0x16,0x67,0x89,0x65,0xa3,0x40, + 0x7e,0x16,0x10,0x10,0x8a,0x7c,0x27,0x1b,0xe7,0xd3,0xde,0x21,0x86,0xe9,0x7f,0xae, + 0x1a,0x6c,0x8c,0x8,0x67,0x8e,0x29,0x9f,0xf1,0xa9,0x96,0xc2,0x22,0x68,0x29,0x14, + 0xea,0xfd,0x32,0xf8,0x14,0x25,0xa,0x4b,0x24,0x69,0x81,0x81,0xea,0x6f,0x3e,0xf1, + 0x57,0x66,0xc0,0xc8,0x85,0x79,0x4b,0x45,0x1,0xae,0xe7,0x49,0xc3,0x0,0x58,0xdd, + 0xac,0xe9,0xf6,0xd0,0x1c,0xca,0x80,0xed,0x3,0xe0,0x6,0x87,0xb6,0x11,0xa1,0xd2, + 0xca,0xb7,0x7b,0x2a,0x9e,0x17,0x3a,0x9f,0x41,0x3c,0x79,0xa5,0x67,0x21,0x96,0xc2, + 0x21,0x8b,0x92,0x4f,0x90,0x90,0x57,0xfd,0xe2,0x17,0x7e,0xc9,0xcd,0x9,0x11,0xb, + 0x76,0x79,0x6,0x74,0x1f,0x86,0xd4,0x2c,0xc,0x92,0x88,0xd0,0x59,0x24,0xc9,0xe0, + 0xae,0xec,0x2,0x0,0x2b,0x2,0x1c,0x8b,0x4e,0x51,0xf1,0x78,0x46,0xe7,0x3c,0x61, + 0x9a,0x54,0xc0,0xb0,0x9f,0xe4,0xf,0xc8,0xe,0x4c,0x95,0x9a,0x31,0x14,0x4b,0xf8, + 0x80,0xe,0xe5,0x53,0x13,0x68,0xfb,0x80,0x45,0x74,0xf6,0x2c,0x8,0xe,0xad,0xd2, + 0xf0,0x8e,0x71,0x6d,0xe0,0x64,0x48,0x21,0xdf,0xef,0xa4,0xb3,0x68,0xc7,0xe3,0x95, + 0x9,0xe3,0xfd,0x22,0x1,0x4c,0xa0,0x0,0x4f,0x43,0x68,0x73,0x99,0x9f,0xa,0x2f, + 0x6f,0x2,0x8a,0xc3,0x60,0x6c,0x67,0xa,0x8b,0xa4,0xf6,0xa7,0x38,0xcf,0x7,0x8e, + 0xaf,0xc1,0x1d,0x7a,0xc0,0xf9,0xbe,0x4f,0x99,0x2d,0x44,0x61,0x51,0x2a,0x7f,0xaf, + 0x38,0xd5,0x3e,0xdd,0x96,0x79,0x69,0x3a,0xd,0xaa,0xe2,0x75,0x7c,0x8b,0x75,0x44, + 0x1f,0x10,0xcf,0x1,0x19,0x10,0x0,0x62,0x4,0x90,0x30,0x68,0x4d,0x6a,0xff,0x2, + 0x46,0x7e,0xdf,0x10,0xdb,0x77,0x27,0x84,0x13,0xeb,0xc0,0xb5,0x3d,0xe0,0xbe,0x75, + 0x62,0xd3,0x88,0x6b,0x64,0xbd,0xb4,0x64,0x6d,0xad,0x81,0x41,0x11,0x80,0x34,0x36, + 0x8c,0x27,0xee,0xa0,0x6c,0x3e,0x3d,0xe0,0xba,0x44,0x18,0xcc,0xe9,0x9f,0x38,0xc1, + 0x90,0xa,0xcb,0x4e,0x24,0xe1,0xc,0xc8,0x29,0x8d,0xb0,0xe3,0xac,0xf8,0xda,0x80, + 0x95,0x62,0x30,0x80,0xcd,0x35,0xc0,0xb6,0xf7,0x3d,0xf,0xa9,0xd1,0xa6,0x6b,0x13, + 0xee,0x1,0x74,0x9e,0x10,0xcb,0xc4,0x28,0x72,0x0,0x8e,0xe8,0x0,0x25,0xa4,0xcd, + 0xc6,0x8b,0x38,0x6,0xcc,0xb3,0xdf,0xb9,0x94,0x66,0x76,0x5e,0xdd,0x3,0xce,0x6c, + 0x10,0x76,0xa7,0xec,0xc,0xc9,0x65,0x8b,0xbc,0xab,0xb2,0x5e,0x54,0x68,0xd1,0xbd, + 0x39,0x5e,0x2b,0xd5,0x99,0x4e,0x97,0xb1,0xc6,0x32,0x3e,0x20,0x55,0xbe,0x69,0x23, + 0xb,0x83,0x72,0x9d,0x2b,0xdb,0xf9,0x4a,0x2b,0x86,0xc5,0xa0,0x78,0xa5,0xf9,0xf5, + 0x17,0xfb,0x3,0xee,0x6b,0xa5,0xbc,0xc9,0x9,0x91,0x45,0xee,0xaf,0x2d,0x79,0x33, + 0x90,0x31,0xd8,0x70,0x41,0x95,0xf0,0xe,0xef,0x4e,0x26,0x48,0x4d,0x7f,0xd1,0x7e, + 0x3f,0x27,0x8d,0x79,0x1e,0xba,0x91,0xe0,0x10,0xd9,0x14,0xc8,0xe5,0x5,0xc0,0xca, + 0x0,0xd8,0x72,0x20,0xac,0xf4,0x39,0xd4,0x41,0x40,0x48,0x77,0x38,0x82,0x6a,0x2c, + 0xa1,0xe0,0x67,0xcc,0x12,0xb1,0x86,0x1,0x24,0xca,0x2f,0x61,0x2,0xdc,0x9e,0x13, + 0x6,0x25,0xa,0x88,0xcc,0x55,0x98,0xb2,0xf3,0xbf,0xbc,0x3,0xe4,0xdd,0xbf,0x6f, + 0x3d,0xf8,0x80,0xed,0x9,0x61,0x7d,0x10,0x43,0x9d,0x45,0x3b,0xc2,0x40,0x3e,0xc7, + 0xfa,0xe1,0xce,0x1c,0xa2,0xcc,0x9f,0x79,0xf9,0xc3,0x50,0xd3,0x2f,0x2c,0x68,0xbf, + 0x12,0x23,0x4a,0xa5,0xdb,0x7e,0x91,0xd8,0x37,0xb3,0x60,0x7f,0x4a,0xa8,0x35,0x87, + 0xc4,0x90,0x1f,0xec,0x95,0xe4,0x4c,0x81,0x9f,0xa1,0xa5,0xb4,0x1c,0x98,0xa2,0x12, + 0xc6,0xca,0xdf,0x23,0x5,0x76,0x94,0xbe,0x16,0x39,0x7a,0x2a,0xcc,0x92,0x5f,0xb, + 0xb5,0xe5,0x2c,0x20,0x31,0x48,0x9a,0x79,0x3a,0xdc,0xae,0xa4,0x14,0x8a,0x59,0xa0, + 0x70,0x6a,0x6c,0xb1,0x3a,0xb0,0x98,0x54,0x84,0x83,0xa,0x18,0xf,0xe1,0xfc,0x44, + 0x77,0x48,0x25,0xa9,0x3d,0xb,0xac,0xf8,0xfb,0x29,0x92,0x72,0x68,0x1f,0x90,0xd0, + 0x27,0x1,0x22,0x77,0x82,0x40,0x97,0xc3,0x4a,0xed,0x37,0xa7,0x33,0x92,0xcf,0xb9, + 0x75,0x40,0xb8,0x77,0x5,0xec,0xc,0x7d,0xd6,0x37,0xd5,0x60,0x26,0xcc,0x7d,0xa5, + 0xce,0x62,0x2d,0xa5,0xb9,0x40,0x29,0x17,0x38,0xf2,0x61,0x68,0x1e,0xfd,0x13,0x33, + 0x50,0xa2,0x58,0xb6,0xc3,0x69,0x11,0xa,0x77,0xee,0xa4,0x2,0x4a,0xcd,0xa7,0x3e, + 0x30,0x8,0x3e,0x4b,0xac,0x74,0xf0,0x13,0xab,0x7d,0x38,0x46,0x74,0xaf,0xb7,0x94, + 0xc5,0xfa,0x32,0x79,0x80,0x43,0x2,0x20,0xa,0xde,0x59,0x79,0xa,0x20,0xc9,0x4e, + 0x67,0x6a,0xcd,0x55,0x38,0x1d,0x24,0x31,0x5,0x7,0x80,0x42,0xbf,0xb0,0x1c,0x19, + 0x7c,0x98,0x2c,0x63,0xe6,0x37,0xea,0x87,0xc,0x52,0x96,0xc9,0xfa,0x3c,0x13,0x94, + 0xf2,0x27,0x1f,0x3f,0x79,0xe4,0xc3,0x10,0xe5,0x40,0xa4,0xef,0xec,0x8a,0x86,0xde, + 0xb8,0xe3,0x1b,0x1e,0xa4,0xb9,0x42,0x46,0x67,0x79,0x25,0xe,0xec,0x4c,0x43,0x4e, + 0xc0,0x21,0x11,0x20,0xcf,0x4,0x1b,0x4f,0x90,0xe2,0x58,0xf3,0x84,0x2b,0xcf,0x4, + 0x9,0xbf,0xf6,0xe5,0x2b,0x4b,0x33,0x20,0x61,0x1,0x65,0x26,0x0,0x12,0x12,0xce, + 0x77,0x58,0xad,0x9,0xdd,0xc,0x15,0xff,0xe1,0xd3,0xe3,0x8d,0x15,0xeb,0x3d,0x7d, + 0x6d,0x82,0x39,0x70,0x68,0x1c,0xf4,0x42,0x3b,0xdf,0xf9,0xd8,0x4c,0x18,0xf0,0xa7, + 0xbf,0x71,0xea,0xc8,0x3e,0xa0,0xb,0x88,0xe4,0xaf,0x43,0xd1,0x4,0x42,0xff,0xa1, + 0x15,0xce,0xe9,0x2c,0xfd,0xec,0xdc,0xf6,0xa6,0x7c,0x64,0xb6,0xde,0x14,0x2c,0x2, + 0x10,0x3d,0x5,0x6,0x82,0xdb,0x73,0x5e,0xa9,0x2f,0x8e,0x2,0xbd,0xc3,0x46,0x81, + 0xf9,0x4e,0xb0,0x90,0xf6,0x5d,0x2b,0x9c,0x8f,0xe4,0xdd,0x92,0x24,0x1d,0xd4,0x21, + 0x12,0xec,0xc5,0x33,0x9e,0xe6,0xc,0x10,0x16,0x7d,0x5,0xd4,0x36,0x26,0xc0,0xed, + 0xb5,0xe5,0xb2,0x0,0xb4,0x73,0xff,0xf9,0xe6,0x21,0xef,0xf8,0x5,0x9c,0x85,0xa, + 0x53,0x37,0x4d,0x92,0x4b,0x71,0x56,0xb5,0x56,0x28,0xc9,0xba,0x48,0x60,0x71,0x50, + 0x29,0xf,0x8c,0xb1,0xf2,0xda,0xdc,0x22,0xe6,0x0,0xb2,0xee,0x1d,0x5,0x60,0x81, + 0x34,0xef,0xa9,0xef,0x48,0x6b,0x5a,0xa8,0x6c,0x4e,0x67,0x31,0xc5,0x59,0x38,0x24, + 0x8c,0x1c,0x8,0xd3,0x9a,0x41,0xb0,0xb0,0x49,0xa4,0x91,0xe6,0xf2,0xc,0xb0,0x69, + 0x2,0xd1,0x6d,0x2,0x8a,0x45,0xbe,0x3f,0x14,0x99,0x60,0xad,0xdc,0x46,0xbe,0x60, + 0x99,0xd3,0x3c,0xcf,0x19,0xba,0xbf,0x43,0x14,0x41,0x68,0xc2,0xe1,0xa0,0x67,0x3, + 0x20,0x69,0xb8,0x95,0x15,0x95,0xe8,0xf1,0xce,0x30,0xa0,0xdb,0x4,0x94,0x97,0xa0, + 0x7c,0x0,0x21,0xf1,0xe6,0x94,0xf4,0x45,0xbe,0xc2,0xc6,0xeb,0xf4,0xfb,0x3f,0x11, + 0x44,0x57,0xc9,0xee,0xda,0x8,0x60,0x30,0xb5,0x32,0x46,0x82,0x1e,0xdb,0xbf,0xe1, + 0xbe,0x4e,0x6b,0x2a,0x13,0xf5,0x97,0xe,0x83,0xdd,0x6f,0x83,0x22,0xb,0xac,0xff, + 0x1,0x88,0x41,0x98,0xa7,0x28,0xe4,0x52,0x94,0x97,0x81,0x14,0x90,0x8,0x86,0x30, + 0x7,0xb1,0x4d,0x6c,0xe,0x21,0x61,0x52,0x14,0x42,0x64,0x82,0x3a,0x3,0xf8,0x6e, + 0x39,0x41,0x29,0x92,0xe3,0x2b,0x78,0x2,0x24,0x4f,0xda,0x2e,0xf3,0x14,0xed,0x6, + 0x44,0xac,0x3b,0x65,0x87,0xac,0xab,0x75,0x48,0x98,0x8,0xc,0x42,0x74,0x82,0x64, + 0x9,0xbe,0x8d,0x4a,0xa6,0x2e,0x11,0x6,0xbb,0x4c,0x80,0x28,0x4d,0x82,0x3c,0xcd, + 0x1b,0x91,0x99,0xb3,0x87,0xea,0x6,0xc4,0x36,0xbf,0x5,0x9a,0x4,0xea,0x74,0x4c, + 0xda,0x1,0x89,0xf0,0x5a,0xcc,0xb7,0xb2,0xf,0xa9,0xec,0x92,0xc,0x58,0x70,0xe, + 0x40,0xcb,0x4,0x82,0xf2,0x0,0xa2,0x9,0xd0,0xe2,0x87,0x97,0xeb,0x16,0x28,0x56, + 0xe6,0x7a,0x2a,0xa7,0x73,0xf3,0x79,0x1a,0xe2,0x5c,0x19,0xff,0x38,0xa7,0x7a,0xd7, + 0x4c,0x40,0x52,0x61,0xc9,0x8,0x8d,0xb5,0x5e,0xc8,0x9,0x24,0x26,0x47,0x6f,0x96, + 0x83,0x80,0x45,0xa0,0x2c,0x66,0x45,0xe,0x48,0xec,0x88,0x55,0xbd,0x74,0x18,0x5c, + 0x14,0x5,0x20,0xe3,0xb0,0xc6,0xc6,0x48,0x90,0x50,0xda,0xff,0xea,0x54,0x74,0x31, + 0x28,0x81,0x2,0x32,0xd6,0x35,0x2f,0x6d,0xb,0x8,0xe5,0x61,0xc3,0x60,0x63,0xcb, + 0x8b,0x4d,0x20,0x4f,0x84,0x8c,0xf8,0x80,0xf4,0x1,0x5b,0x69,0xaa,0x9d,0xc1,0xe0, + 0xab,0x44,0x21,0x2b,0x41,0x81,0x64,0xee,0x3c,0x5,0xd1,0x10,0x8c,0x5a,0xd0,0x72, + 0x65,0x0,0xfb,0x8e,0x46,0x81,0x1c,0x8,0x19,0x6f,0x4c,0xc0,0x8a,0x9,0x74,0xed, + 0xd4,0xd1,0x80,0xb1,0x12,0x15,0x49,0xd6,0x65,0xd7,0x24,0x59,0x21,0xaf,0xd1,0x44, + 0xa4,0xb1,0x6c,0x14,0x98,0x7d,0x2d,0xbe,0xae,0x6b,0x2f,0x5a,0x6b,0x7f,0x2d,0x99, + 0x9d,0xe5,0x3e,0xae,0x45,0x4c,0x64,0x40,0xd4,0x44,0x14,0x11,0xc7,0xd6,0x2,0xc2, + 0xca,0x5,0x2d,0x0,0x46,0xc2,0xbd,0x8d,0xc0,0x90,0xac,0x95,0x85,0xdc,0x65,0x14, + 0xa0,0x97,0x8e,0x2,0x0,0xbc,0xe2,0x65,0x59,0xa2,0xaa,0xaa,0x19,0x10,0xcd,0x37, + 0xc5,0xb4,0x6b,0xbb,0x6e,0x68,0x6d,0x84,0x1,0x33,0xfb,0x6e,0x3f,0x10,0x6c,0xe2, + 0x18,0x48,0x60,0x90,0xf0,0x4e,0xc2,0x13,0x4a,0x6c,0x23,0x54,0x69,0x9a,0x2c,0xa8, + 0x90,0x20,0xca,0xab,0x35,0xd4,0x51,0x9d,0xa0,0x3c,0xeb,0xae,0x53,0xa8,0x72,0xa5, + 0xef,0x0,0xb0,0xa5,0x80,0x10,0xbf,0x3a,0x6f,0x50,0x6b,0xed,0xfa,0xc,0xb4,0x31, + 0xcd,0x57,0xe9,0x49,0x11,0xa4,0x24,0x99,0x61,0x42,0xeb,0xc,0x20,0xb,0xf1,0xe9, + 0x14,0x5a,0x2,0x8e,0x9f,0x20,0x7d,0x9,0x38,0x56,0xe8,0xc1,0xec,0xab,0x61,0x54, + 0x25,0x9,0x15,0x2d,0x4,0xa0,0xa1,0x34,0x4,0x80,0xff,0x77,0xd7,0x6f,0x3a,0xc5, + 0x1f,0x54,0x4a,0x31,0x12,0x14,0x19,0x10,0x95,0xb5,0x91,0x1d,0x40,0xad,0x8d,0x84, + 0x41,0x93,0x9e,0x5,0xda,0x5c,0x17,0x65,0xa4,0x9f,0x92,0xc9,0xd4,0x72,0x12,0x7e, + 0x55,0x42,0x21,0x80,0x92,0x1b,0x51,0x83,0x8a,0xef,0xaf,0xd,0xea,0x92,0x54,0xf, + 0xba,0x9a,0xa2,0x3f,0x5a,0x3f,0x9c,0x9,0x9c,0x3f,0x7f,0x5e,0x19,0x63,0xa6,0x57, + 0xaf,0x5e,0x7d,0xcd,0x29,0xce,0x0,0xb4,0x18,0x0,0x20,0x9a,0x80,0x46,0x9,0x1d, + 0xfc,0x80,0x9,0xa0,0x90,0x32,0x98,0x95,0x98,0x95,0xa6,0x5a,0x45,0x7a,0x77,0xd1, + 0x59,0x26,0xb,0xa5,0x21,0xeb,0x72,0x9b,0x6f,0xbf,0x7c,0x89,0xe,0x83,0xc8,0xea, + 0x5e,0x7f,0xe8,0x1f,0xe4,0xe0,0xf6,0x16,0xfe,0xf6,0x93,0xf,0xdd,0x3d,0x0,0x1b, + 0x1b,0x1b,0xb8,0x7e,0xfd,0x3a,0x45,0xe7,0xf7,0x5f,0x4e,0xf1,0x8f,0xb2,0xbe,0x4e, + 0x79,0xe5,0xc4,0x2b,0xb,0xc0,0xf2,0x78,0x55,0x57,0x50,0xa6,0x62,0x53,0x60,0x33, + 0x70,0x6b,0xb4,0xc4,0xfd,0x84,0x5c,0xe9,0x2e,0xe7,0xa7,0xb7,0x66,0xc6,0xc2,0x97, + 0x29,0xd2,0x95,0xad,0xb1,0x3e,0x35,0xb7,0x30,0x5b,0x6f,0xbd,0x8a,0x8d,0xfb,0x1f, + 0xc1,0x60,0xed,0x5e,0xfb,0x9b,0xcf,0x5a,0x7c,0xe9,0xe7,0x69,0xe,0x0,0xf2,0x17, + 0xa6,0x82,0xfb,0xb6,0xb7,0xb7,0xfb,0x0,0x86,0xc,0x9e,0xb3,0xf5,0x37,0xa7,0xd3, + 0x29,0x78,0x3c,0x9a,0xc0,0xc,0x0,0x6,0xc8,0xb7,0xcb,0xba,0xa,0x5f,0x77,0x2b, + 0xfa,0xb0,0xaa,0xf,0xa8,0xa2,0x4b,0x11,0x12,0xff,0x45,0xdd,0xb9,0x3f,0x75,0x85, + 0xcb,0x36,0x83,0x68,0x51,0x66,0x43,0x64,0xd8,0x3c,0x77,0xde,0xfe,0xce,0xcd,0x7f, + 0xf9,0xfc,0x47,0x8f,0x51,0x31,0x58,0xb1,0xa6,0x62,0x9b,0x2d,0x1,0xd4,0x10,0x31, + 0x4e,0x6c,0x2f,0x7e,0xce,0x4c,0xe1,0x81,0x17,0x69,0x6f,0x3a,0x5,0xbf,0xeb,0x0, + 0x79,0x65,0x38,0x1c,0x3e,0xe4,0xda,0x95,0x13,0x38,0x31,0x44,0xb4,0xe7,0xc0,0x18, + 0x61,0x7f,0x1f,0xa4,0x27,0xe6,0xc6,0xa5,0xff,0x56,0xe6,0xe2,0x3f,0x28,0x5d,0xee, + 0x5b,0x40,0x9,0x6f,0xfd,0xbf,0x58,0xfb,0x96,0xd,0xbf,0x90,0x72,0x9e,0x6c,0xba, + 0x93,0xd1,0xf6,0xdb,0xfa,0x12,0x18,0x6a,0x99,0x93,0x67,0xae,0x54,0x4f,0xf7,0x76, + 0x2f,0xbf,0xf2,0x8f,0x5f,0x0,0xb0,0x6,0x98,0x7b,0x60,0xed,0x4,0x40,0x9,0x91, + 0xe9,0xac,0x4d,0xb2,0x56,0x18,0x10,0xa5,0x1f,0x85,0xe7,0xac,0x38,0x39,0x11,0xe7, + 0xf4,0xb8,0x8e,0x28,0x8e,0x7c,0x5b,0xd8,0x54,0x64,0x7f,0x8b,0xcc,0xeb,0xb9,0xf, + 0x9f,0xd6,0x89,0x98,0xb4,0x8e,0xa2,0x1b,0x91,0xdd,0xdd,0x3,0xa9,0x12,0xd6,0xaa, + 0x98,0xd,0x56,0x5e,0x64,0x5c,0xc7,0xb5,0xa0,0xbb,0x38,0x1,0xd2,0xe6,0xe6,0x26, + 0x9c,0x33,0xb4,0xe7,0xce,0x9d,0x53,0xce,0x37,0x28,0x67,0x12,0x1e,0x28,0xad,0xb5, + 0x22,0xa5,0x14,0x1,0x85,0xb1,0x4e,0x8c,0x55,0x20,0x6,0x84,0x3c,0x98,0x61,0x3, + 0xb9,0xed,0xfb,0x88,0x5a,0xff,0xa3,0x21,0x71,0x73,0x94,0x2a,0x4f,0xa2,0x2c,0x91, + 0xab,0xc9,0x10,0xf1,0xb5,0x32,0x20,0xd2,0x44,0xca,0x90,0x2a,0x34,0x8b,0x2a,0xfa, + 0x46,0xf5,0x47,0xba,0x37,0x1a,0x9b,0xe1,0xfa,0x9,0x3d,0x3e,0x7d,0x1e,0xd3,0xad, + 0xb7,0xec,0xa5,0x6f,0x3d,0xab,0xad,0xb5,0xcd,0xfb,0xa,0x58,0x83,0xb4,0xfc,0x10, + 0x46,0xd2,0x65,0xb9,0x7c,0xe5,0x30,0x6,0x0,0x0,0x0,0x22,0x7a,0x54,0x58,0x74, + 0x53,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x0,0x0,0x78,0xda,0x2b,0x2f,0x2f,0xd7, + 0xcb,0xcc,0xcb,0x2e,0x4e,0x4e,0x2c,0x48,0xd5,0xcb,0x2f,0x4a,0x7,0x0,0x36,0xd8, + 0x6,0x58,0x10,0x53,0xca,0x5c,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/document-encrypt.svgz + 0x0,0x0,0x4e,0xbe, + 0x1f, + 0x8b,0x8,0x8,0x90,0x7f,0x75,0x46,0x0,0x3,0x65,0x6e,0x63,0x72,0x79,0x70,0x74, + 0x65,0x64,0x2e,0x73,0x76,0x67,0x7a,0x0,0xec,0x7d,0x6d,0x73,0xdc,0xc8,0x91,0xe6, + 0xf7,0xfd,0x15,0x3c,0xfa,0x8b,0x27,0x8e,0x2c,0x56,0xbe,0x67,0xca,0x96,0x37,0x46, + 0xd4,0x68,0xc3,0x11,0xb3,0xb7,0x1b,0x6b,0x3b,0xee,0xbe,0x39,0x28,0xb2,0x25,0xf1, + 0x4c,0x91,0x3a,0x92,0x1a,0x8d,0xe6,0xd7,0x5f,0x1,0x4d,0x12,0x40,0xa3,0x5a,0x80, + 0x28,0xb2,0x67,0xa7,0xcd,0x86,0x27,0x86,0x78,0x50,0xc8,0xac,0x7a,0xf2,0xa9,0xac, + 0x42,0xa1,0x30,0xfe,0xe3,0xbf,0xfe,0xfc,0xfe,0x6c,0xe7,0xa7,0xc5,0xe5,0xd5,0xe9, + 0xc5,0xf9,0xf3,0x5d,0x48,0x79,0x77,0x67,0x71,0x7e,0x7c,0x71,0x72,0x7a,0xfe,0xf6, + 0xf9,0xee,0xdf,0xfe,0xfa,0x6a,0xdf,0x77,0x77,0xae,0xae,0x8f,0xce,0x4f,0x8e,0xce, + 0x2e,0xce,0x17,0xcf,0x77,0xcf,0x2f,0x76,0xff,0xf5,0x4f,0xff,0xf2,0xc7,0xff,0xb1, + 0xbf,0xbf,0x73,0x78,0xb9,0x38,0xba,0x5e,0x9c,0xec,0x7c,0x3a,0xbd,0x7e,0xb7,0xf3, + 0xe7,0xf3,0x7f,0x5c,0x1d,0x1f,0x7d,0x58,0xec,0xfc,0xfe,0xdd,0xf5,0xf5,0x87,0x67, + 0x7,0x7,0x9f,0x3e,0x7d,0x4a,0xa7,0x37,0x60,0xba,0xb8,0x7c,0x7b,0xf0,0xdd,0xce, + 0xfe,0x7e,0xb9,0xf3,0xea,0xa7,0xb7,0xff,0xb2,0xb3,0xb3,0x53,0xdc,0x9e,0x5f,0x3d, + 0x3b,0x39,0x7e,0xbe,0x7b,0x53,0xfe,0xc3,0xc7,0xcb,0xb3,0xb6,0xdc,0xc9,0xf1,0xc1, + 0xe2,0x6c,0xf1,0x7e,0x71,0x7e,0x7d,0x75,0x0,0x9,0xe,0x76,0xbb,0xe2,0xc7,0x5d, + 0xf1,0x4f,0x8b,0xd7,0xe9,0x72,0x71,0x75,0xf1,0xf1,0xf2,0x78,0x69,0xfe,0xf8,0xb8, + 0x5f,0xf2,0xf2,0xe4,0x4d,0x29,0xda,0xd5,0xe4,0x13,0xb5,0x85,0x20,0x22,0xe,0x32, + 0x1e,0x20,0xee,0x97,0x12,0xfb,0x57,0x9f,0xcf,0xaf,0x8f,0x7e,0xde,0x3f,0xbf,0xfa, + 0x5d,0xef,0xd6,0x52,0xc1,0xda,0xad,0x98,0x73,0x3e,0x28,0xd7,0xba,0x92,0xf3,0x4a, + 0x3d,0xfb,0xf9,0xac,0xd0,0xb0,0xb6,0x32,0xed,0xd5,0xbe,0xf7,0x42,0xfd,0x87,0xf2, + 0xcf,0xdd,0xd,0xb7,0x40,0x5a,0xb6,0xf5,0x4d,0xb9,0x73,0x91,0xce,0x17,0xd7,0x7, + 0x2f,0xff,0xfa,0xf2,0xee,0xe2,0x7e,0x4e,0x27,0xd7,0x27,0x3d,0x33,0xb7,0xcc,0x37, + 0x66,0xea,0xe1,0x38,0x3f,0x7a,0xbf,0xb8,0xfa,0x70,0x74,0xbc,0xb8,0x3a,0xb8,0xc5, + 0x9b,0xfb,0x4b,0x34,0x4f,0xae,0xdf,0x15,0x25,0xa0,0xb7,0xa7,0xef,0x16,0xa7,0x6f, + 0xdf,0x5d,0x77,0xe7,0xa7,0x27,0xcf,0x77,0x4b,0xfb,0x80,0xb2,0xb5,0xe7,0xb7,0x35, + 0x78,0x76,0xa7,0xa1,0x9c,0x8,0xdb,0x4b,0xb7,0x66,0xfb,0x97,0x98,0x9b,0x4b,0x3, + 0xc1,0xd,0xcd,0x9c,0x5c,0x1c,0xbf,0x3e,0xba,0x2a,0xf5,0x3e,0x78,0x77,0xf1,0x7e, + 0x71,0x70,0x72,0xf4,0xd3,0xe9,0xc9,0xc1,0x7f,0x5e,0x5e,0xbc,0x5d,0x5c,0x5f,0x9f, + 0x1e,0x5c,0x15,0x21,0xbe,0xbe,0xf8,0x79,0x74,0x4b,0x69,0x4c,0xb9,0xa5,0x8,0xf7, + 0xf2,0xf3,0x87,0x22,0xc9,0xd4,0x44,0xe0,0x4f,0xa5,0xd0,0x1f,0x4f,0x16,0x6f,0xae, + 0x9a,0xc2,0xcb,0x8a,0x37,0x67,0x40,0x39,0xda,0x6b,0xe5,0xea,0xe5,0xd1,0xc9,0xe9, + 0xd1,0xd9,0xbf,0x35,0xff,0x2a,0x72,0x6b,0xb1,0x7e,0xbd,0x8f,0x2f,0xce,0xce,0x16, + 0xc7,0xa5,0xf1,0x47,0x67,0x9f,0x8e,0x3e,0x5f,0xed,0xde,0x16,0x68,0x63,0xf6,0xec, + 0xdd,0xe5,0xa2,0x68,0xec,0x77,0xe5,0xef,0xc5,0xd1,0xe5,0xad,0xd,0xc2,0x80,0xa6, + 0xdc,0x9d,0xcb,0xa1,0xb,0x22,0xd2,0xbb,0xcb,0x6f,0x6f,0xc0,0xbf,0x9d,0x9f,0x5e, + 0x17,0x31,0x7d,0xbc,0x5a,0x5c,0xfe,0xa5,0x9,0xc8,0x7f,0x9c,0xff,0xed,0x6a,0x31, + 0x2a,0xf5,0xd7,0xcb,0xa3,0xf3,0xab,0x12,0xfd,0xf7,0xcf,0x77,0xdf,0x1f,0x5d,0x5f, + 0x9e,0xfe,0xfc,0x7b,0xd8,0xcb,0xcd,0x91,0x20,0xcc,0x33,0x96,0x3f,0x3,0x93,0x23, + 0xa8,0x7e,0x77,0x77,0xf3,0xf1,0xcf,0xcf,0x77,0x95,0x52,0x0,0x62,0x8e,0xe,0xfd, + 0x5c,0x88,0x7,0x49,0x96,0x3,0x3a,0xf4,0x4d,0xb5,0xec,0x9b,0xae,0x2c,0xdd,0x81, + 0x97,0xfd,0x92,0x3b,0x7,0x37,0x6c,0xe,0x99,0xe8,0x93,0xf0,0x7f,0xfe,0xfd,0xc7, + 0x3f,0xbf,0xfc,0x3b,0xf2,0xdf,0xbf,0xb2,0xed,0x3f,0xc3,0xf3,0x5d,0xe3,0xc4,0x18, + 0x96,0x3b,0xef,0x9f,0xb,0xea,0x90,0x82,0x8d,0x32,0x77,0x65,0xb1,0x11,0x29,0x27, + 0x1,0xb0,0xae,0x28,0xf6,0x8a,0xb6,0x51,0x6f,0x6b,0x7a,0x75,0x7d,0xf1,0xa1,0xfd, + 0xbb,0xfd,0x5d,0xbc,0x79,0x73,0xb5,0x28,0x51,0xce,0xbb,0x1d,0x76,0x75,0xfd,0xf9, + 0xac,0x28,0xaa,0x29,0xb8,0x5f,0x64,0x70,0x71,0xf9,0xec,0x77,0x2f,0x7f,0x78,0x71, + 0xe8,0xd2,0x95,0x29,0x2d,0x5b,0x16,0x40,0xe3,0x42,0xc2,0x94,0xf1,0x4,0xa6,0xf4, + 0x65,0xf,0x2f,0x5e,0xc6,0xb,0xa5,0xaa,0x7,0x9d,0xe3,0x81,0x5c,0xe3,0xcb,0x1e, + 0xe2,0xd0,0x9c,0x5e,0x55,0x3d,0xf8,0x1c,0xf,0xf2,0x65,0xf3,0xfe,0x4a,0x5f,0x10, + 0xd6,0xcc,0x7b,0x9e,0x36,0xf,0xf7,0xe5,0xdf,0xb1,0x13,0xe1,0xc1,0x50,0x85,0x73, + 0xa5,0x49,0xf7,0x92,0x26,0x25,0xa2,0xb0,0xf0,0x81,0x34,0x21,0x43,0x72,0x2,0x58, + 0x51,0xa6,0x24,0xcd,0xa0,0x7d,0x65,0x76,0x25,0x27,0x79,0xcf,0x48,0x36,0xa1,0x1d, + 0xa,0x94,0x97,0x35,0x76,0xc0,0xe6,0x44,0x36,0xa3,0x4c,0x38,0xb0,0xb0,0x35,0xe, + 0x62,0x96,0x3,0x62,0x9f,0x8,0x30,0xbc,0x10,0xf9,0xbe,0xe6,0x1,0x61,0x96,0x7, + 0x96,0x9,0x9,0xfd,0x20,0x87,0x2f,0xc5,0xab,0x1e,0x68,0x96,0x7,0xd1,0x2f,0x3b, + 0x78,0xc5,0x2f,0x7f,0x10,0xad,0x3a,0x90,0x59,0xe,0xd4,0x27,0x1c,0x1c,0xfe,0xe0, + 0x22,0x55,0x7,0xf3,0xc2,0xec,0x38,0xe5,0xe1,0xd5,0xf,0x2f,0xd6,0x78,0x98,0x17, + 0xe7,0x70,0x9d,0x6c,0x3,0x72,0x35,0x4b,0xd0,0xac,0x38,0x3,0xda,0x54,0x1b,0xfc, + 0xa5,0xa0,0x54,0x3d,0xd0,0x2c,0xf,0x32,0x19,0x7,0x39,0x7c,0x1,0x50,0xf5,0x20, + 0xb3,0x3c,0xb8,0xf0,0x94,0x94,0xe,0x25,0x73,0xd5,0xc3,0xac,0x48,0x23,0xd0,0x84, + 0x3,0x3a,0xa4,0x9c,0xab,0xe,0x62,0x96,0x83,0xa0,0xa9,0x8c,0xfd,0xea,0xfb,0x1f, + 0xea,0x1e,0x78,0x56,0xa0,0xc9,0x54,0xa6,0x52,0x46,0xac,0xf3,0x30,0x2b,0xd0,0xcc, + 0x34,0x11,0xe8,0xc3,0xc3,0x88,0x35,0x1e,0x66,0x5,0x5a,0xc3,0x71,0x22,0x29,0xd1, + 0xf7,0x2f,0xd7,0x78,0x98,0x15,0x68,0xe7,0x8c,0x53,0x5d,0xfa,0xe5,0x3a,0xf,0x31, + 0xcb,0x83,0x4e,0x7b,0xf8,0xc1,0xb0,0x3a,0xaf,0x10,0x98,0xe5,0xc1,0x75,0x32,0x2d, + 0xbd,0x62,0xf5,0xaa,0x87,0x59,0x91,0x8e,0xac,0x3a,0xe9,0xe1,0xd0,0xf,0xab,0x1e, + 0x64,0x96,0x7,0xb0,0x29,0x96,0xca,0x2f,0xa2,0xea,0xc1,0x66,0x79,0xa0,0xcc,0x53, + 0xa9,0xf5,0xd5,0x8b,0xd0,0xaa,0x87,0x98,0xe5,0x81,0xa7,0x1c,0xe0,0xf,0x3f,0x78, + 0x75,0x16,0xa0,0x30,0xcb,0x81,0xf8,0x54,0x6f,0x78,0xf9,0xbd,0x55,0x95,0xa4,0xf3, + 0xe2,0x3c,0x15,0x84,0xc3,0x97,0x2f,0x5e,0xea,0x8b,0xaa,0x83,0x79,0x61,0x76,0x9d, + 0x98,0x28,0x41,0xb8,0x40,0xd5,0xc1,0x8c,0x28,0xc3,0x7d,0x67,0xd8,0x1a,0xdf,0x3c, + 0x9,0xc6,0xfb,0x4c,0x82,0x1,0x3c,0x51,0x4,0xf,0xe6,0xc0,0x4a,0x49,0x72,0xd0, + 0x60,0xa,0xec,0x39,0x91,0x87,0xf6,0x1f,0xe4,0xb0,0x2b,0x39,0x3d,0xdc,0x78,0xc4, + 0x74,0xf7,0x7a,0x55,0x95,0x4e,0xd6,0x59,0x83,0x81,0xc4,0x84,0x36,0xf,0x9b,0xa3, + 0xea,0xc0,0x67,0x65,0x39,0x80,0x9,0x6d,0x7a,0x73,0xd4,0x1c,0xc0,0xb7,0x3f,0x3f, + 0xbd,0x68,0x7f,0x55,0xe3,0x38,0x21,0x9d,0xfe,0x42,0x49,0x5d,0x3a,0xf0,0xf7,0xc1, + 0x9a,0x43,0x78,0x52,0xb5,0x88,0xe1,0x9a,0x83,0x53,0x42,0x66,0xc8,0xd8,0x5f,0x48, + 0x20,0x4d,0xaa,0x59,0xbe,0x62,0xbd,0x23,0x1c,0xb0,0xfc,0x1,0x9,0x5,0xe1,0xbb, + 0x99,0x92,0x9d,0xd6,0x97,0x30,0xdf,0x53,0x5f,0xe0,0x33,0x27,0x4c,0x99,0xa6,0xb2, + 0x6b,0x73,0xd4,0x3c,0x4,0xcc,0x53,0xb0,0xc7,0x84,0x8,0xa2,0x39,0xaa,0x1e,0x66, + 0xa5,0x57,0xf1,0x9,0x92,0x42,0x9a,0xa3,0xea,0x60,0xde,0x7c,0x49,0xf2,0x44,0x13, + 0xbc,0xfd,0x55,0x3d,0xcc,0x9b,0x2f,0x9,0x4f,0x78,0xf8,0x3e,0xca,0x51,0x27,0x29, + 0x1e,0xb1,0x1b,0x66,0xe8,0x75,0xc3,0x7e,0x8f,0x9b,0x9f,0xc1,0xf3,0xfd,0x32,0xb8, + 0x25,0x24,0x5a,0xc9,0xe0,0x9c,0x10,0xc8,0xc3,0x87,0x39,0x9c,0x52,0xa6,0x8c,0x31, + 0x58,0xc7,0xe8,0xca,0xde,0xbf,0x13,0x4f,0x45,0xed,0xbe,0x92,0x30,0x9c,0xf5,0xcc, + 0x9a,0x6d,0x4a,0x74,0xda,0x1c,0x35,0xf,0x33,0x17,0xff,0x58,0x26,0xfa,0xbe,0x62, + 0x73,0x54,0x3d,0xe8,0xbc,0xe7,0xbd,0xa9,0xbe,0x2f,0xed,0xaf,0xea,0xc1,0x67,0x79, + 0x60,0xa3,0x9,0xf,0xd6,0x1c,0xd5,0xc,0x99,0xe7,0x78,0x30,0xb2,0x89,0xde,0x63, + 0x2f,0x9a,0xa3,0xea,0x61,0x46,0xa4,0xe1,0xbe,0x32,0x72,0xfe,0xd6,0xc9,0x15,0xc4, + 0x7d,0xba,0x66,0x44,0x62,0xcb,0xab,0x8b,0xdf,0x8a,0x49,0x4c,0x75,0xa5,0x6f,0x2, + 0xe6,0x44,0xe1,0xdc,0x15,0xc5,0x7e,0xd1,0x19,0x9d,0x40,0xee,0x9d,0x79,0xc5,0xe6, + 0xad,0x80,0x9b,0xdc,0x33,0x39,0xc2,0xbc,0xe7,0x17,0x26,0xb7,0x89,0x29,0x16,0x37, + 0x47,0xcd,0x83,0xc2,0xbc,0xd1,0x63,0x72,0x4d,0xe2,0x45,0x73,0x54,0x3d,0xd0,0x2c, + 0xf,0x6e,0x3a,0xe1,0xa1,0xfd,0x55,0x3d,0xc8,0xe3,0x8d,0x4f,0xa0,0xf6,0xcd,0x9d, + 0xc0,0xef,0xb5,0xcc,0xee,0x49,0x18,0x23,0x62,0xb2,0x13,0xc,0x3a,0xcc,0xe6,0x7b, + 0x1,0xe3,0x63,0xf7,0x2,0xe6,0xc7,0xee,0x5,0xac,0x8f,0xdd,0xb,0xd8,0x1f,0xbb, + 0x17,0x48,0x7e,0xc4,0x5e,0x20,0xf8,0xcd,0xbd,0xc0,0x1e,0xaa,0x17,0x6c,0x7e,0x28, + 0x98,0x26,0x1f,0xe7,0xad,0x7f,0x67,0xbd,0x77,0x27,0xc0,0x79,0xeb,0xdf,0x16,0x31, + 0xe1,0x1,0x9b,0xa3,0xea,0x21,0xe6,0x78,0x10,0x99,0x9a,0xad,0xb4,0xf,0x5b,0xd5, + 0x36,0x10,0xcc,0x9b,0xf,0x85,0xde,0x37,0x19,0x11,0x3d,0x62,0x27,0x20,0x99,0xd9, + 0x9,0xe6,0x6f,0xad,0xe8,0x3c,0x8c,0x77,0x54,0x54,0x15,0x5b,0xaf,0x73,0x6e,0x7f, + 0x7f,0x68,0xa1,0x8b,0xd2,0x93,0x4e,0xaf,0x3f,0x3f,0x83,0x3f,0xec,0x56,0xd8,0xad, + 0xb4,0x8b,0x30,0x3a,0xd6,0xee,0xeb,0x2d,0xd7,0xbc,0x41,0xdd,0xdb,0x7d,0x68,0xac, + 0xb3,0x4,0x1c,0x5f,0xc1,0x92,0x2f,0x9a,0xe3,0xbe,0x2c,0x81,0xc0,0x57,0xb1,0xf4, + 0xc6,0x9b,0x63,0x86,0x37,0xa8,0x7b,0xa3,0x7,0x63,0x9,0x65,0xa4,0xa5,0x71,0x54, + 0x84,0x26,0x88,0x98,0x2d,0xbb,0xaf,0xd3,0x52,0x34,0xc7,0x8a,0x96,0x92,0x9a,0x5b, + 0xce,0x14,0xd5,0xe0,0x24,0xcb,0x6e,0x1,0xd5,0x1c,0xc6,0xe3,0x9,0x6d,0xbd,0xb5, + 0xb2,0xfb,0xd5,0x89,0x1,0xa8,0x39,0x46,0xb2,0x7f,0xa0,0x28,0x21,0x87,0x4d,0x45, + 0x9,0x39,0xe2,0xeb,0xa3,0xf4,0xa6,0xfd,0x7d,0x53,0x94,0x16,0xc7,0xcd,0x31,0xa7, + 0xe7,0x24,0xa9,0x85,0x5,0x80,0x7d,0x3a,0x2c,0x28,0x19,0xbe,0x3e,0x2c,0xc7,0xd0, + 0x1c,0xb5,0xe6,0x4d,0x87,0xe5,0xdb,0x36,0xc1,0xd,0x37,0x78,0xd5,0xc3,0x6a,0xc6, + 0xf8,0x60,0x7b,0xdf,0xf6,0x21,0x31,0x99,0x32,0xb5,0xcb,0x49,0xe5,0x44,0xd9,0x30, + 0xf6,0x30,0x5b,0xca,0x99,0x7c,0x6f,0x5f,0x21,0x89,0x87,0xeb,0x77,0x8f,0xb4,0x99, + 0xac,0xb0,0xfa,0xf0,0xfc,0xd1,0x4,0x7f,0xf2,0x60,0xfc,0x41,0x12,0xca,0x26,0xb7, + 0xec,0x39,0x7,0xee,0xed,0x23,0x68,0x42,0x15,0x2c,0xec,0x51,0x42,0xc8,0xe6,0x43, + 0xf6,0x0,0x35,0x31,0x4a,0x68,0x65,0xbf,0x53,0xe,0x1d,0xb0,0xb7,0xdc,0x1b,0x15, + 0x24,0x7d,0xfa,0xba,0xb2,0x8f,0x41,0x1f,0xd8,0x97,0xe9,0xcb,0xf4,0x80,0xf4,0xb1, + 0x73,0x56,0xeb,0xf8,0x6b,0x4e,0xf6,0xc1,0x24,0x29,0xe6,0xd8,0xdb,0xe7,0x9c,0x48, + 0x9d,0xf1,0xbb,0x47,0x9a,0xc3,0x3f,0xa,0x7f,0x3e,0xc1,0x9f,0x6c,0xea,0xe1,0x7d, + 0x83,0x6d,0x8e,0x89,0x36,0xdb,0x6,0x56,0xed,0x36,0x1b,0x66,0xcc,0x13,0x4d,0x8e, + 0x47,0xeb,0x26,0xa2,0xa0,0xda,0xef,0x26,0xe4,0x49,0x20,0x23,0x7e,0xf7,0x48,0x2f, + 0x24,0xa,0x7f,0xf,0xb8,0xd5,0x7b,0xf8,0xae,0xb3,0xbe,0xc3,0xdb,0xc,0xe0,0xd7, + 0xe2,0xef,0xfe,0x6f,0x5f,0x1f,0x45,0x67,0xf8,0x65,0x9d,0xc1,0xaf,0x91,0x8e,0x1f, + 0x63,0xeb,0x42,0xcb,0x5d,0x99,0x5d,0x35,0x5f,0x17,0xb4,0x7f,0xdd,0x7d,0x99,0xd0, + 0x7c,0x96,0x70,0xf2,0xd3,0xe9,0xe2,0x53,0xf7,0x9,0xc2,0xeb,0xa3,0xbb,0x16,0x7d, + 0x38,0x7a,0xbb,0x68,0x67,0x6e,0x85,0xb2,0xe5,0xcc,0xf4,0xe6,0xc2,0xeb,0x8b,0xcb, + 0x93,0xc5,0xe5,0xed,0x25,0x6d,0x7f,0x83,0x4b,0x37,0x93,0xbb,0xee,0xf3,0x89,0x5e, + 0x84,0x1a,0xab,0x77,0xd7,0x73,0xfd,0xfa,0xd5,0xbb,0xa3,0x93,0x8b,0x4f,0xcf,0x77, + 0x71,0xf5,0xe2,0x2f,0x17,0x17,0x85,0x55,0x58,0x85,0x1b,0x51,0x29,0x8f,0xd0,0xcf, + 0x55,0xf4,0xe3,0xe5,0x65,0x9,0xd2,0xfe,0xd9,0xd1,0xe7,0x45,0xa9,0x7e,0xfb,0xaf, + 0x5b,0x83,0x57,0xef,0x2e,0x3e,0xbd,0xbd,0x6c,0x68,0xb8,0xbe,0xfc,0xb8,0x58,0xbd, + 0xb3,0x7c,0xc7,0xf1,0xf1,0x7d,0x73,0xeb,0xc7,0xa5,0xc,0x3e,0xfc,0xbc,0x5a,0xa2, + 0xb9,0x77,0xff,0x75,0xf9,0x0,0x64,0x60,0xe0,0xed,0xc7,0xd3,0x93,0xc5,0xf5,0xc5, + 0xd9,0xa2,0xe8,0xe2,0x78,0xd1,0x34,0x1a,0xca,0xad,0x9d,0xc7,0xf6,0xfa,0x55,0xdd, + 0x67,0x7b,0xad,0x35,0x59,0xbf,0xfe,0xe9,0xf4,0xbc,0x30,0xb5,0x7f,0xfb,0x51,0x4c, + 0x6,0x5f,0x53,0xe2,0xf6,0x3b,0x19,0xd,0x5e,0x53,0xa2,0x78,0xc8,0x6b,0x2e,0x7d, + 0xee,0x2e,0x35,0x4d,0xbc,0x6a,0xc2,0x77,0xfe,0xb6,0xdc,0xc0,0xa5,0x21,0x23,0xfc, + 0xf3,0x12,0x6f,0xa4,0xd6,0x17,0x5b,0xdb,0x94,0x5b,0x7d,0x5e,0x5c,0x36,0x3d,0xe5, + 0xe8,0xba,0xfd,0xc8,0xe6,0x5d,0x39,0xfb,0xe5,0xa2,0x9c,0x9e,0xdd,0xe9,0xf7,0xc3, + 0xc5,0xd5,0xe9,0xf2,0x22,0x61,0x62,0x37,0x76,0x18,0x74,0xd6,0xd6,0x18,0x62,0xe6, + 0x3b,0x75,0x8f,0x45,0xdd,0xe2,0xef,0x17,0xd7,0x47,0x27,0x47,0xd7,0x47,0x9d,0xc2, + 0x6f,0x11,0x20,0xc0,0xdb,0x4a,0x96,0x8f,0xad,0x9e,0xfd,0xd7,0xcb,0x57,0x77,0x4f, + 0x3d,0xc7,0xc7,0xcf,0xfe,0xf7,0xc5,0xe5,0x3f,0xba,0xa7,0x99,0xa6,0xc0,0xd1,0xeb, + 0x8b,0x8f,0x85,0xc1,0xf6,0x9e,0x9b,0x72,0x27,0xc7,0xcf,0x9a,0x8e,0x7e,0x74,0xfd, + 0xa7,0xd3,0xf7,0x45,0xb7,0xcd,0x97,0x55,0xff,0xb3,0x7c,0xe0,0xf4,0xc7,0x83,0xee, + 0xc2,0xa0,0xf0,0xf5,0xe7,0xf,0xd,0x5,0x3,0xb3,0xb7,0x5f,0x89,0xd5,0xbe,0x34, + 0x2b,0xff,0x7b,0x7f,0xda,0xdc,0x74,0xf0,0x97,0xeb,0xd3,0xb3,0xb3,0x3f,0x37,0x4e, + 0x6e,0x5a,0xdc,0xd5,0xf4,0xec,0xf4,0x78,0x71,0x7e,0x35,0x6d,0xf7,0xf8,0x72,0x51, + 0x8,0xff,0xa9,0xf4,0xe9,0xf7,0xef,0x2f,0xce,0xaf,0x5a,0x17,0x37,0xf7,0x5e,0x1d, + 0xfc,0xdb,0x7f,0xfe,0x78,0x80,0x29,0x1f,0x14,0xeb,0xc3,0x2a,0x1f,0x97,0xc0,0x5c, + 0x9e,0xbe,0xfe,0x78,0x7d,0x71,0xd9,0x5c,0xe8,0x3b,0xfe,0xfe,0xed,0xdd,0x53,0xda, + 0xa0,0x91,0xa7,0xd7,0x67,0x8b,0x3f,0xfd,0xc7,0xcf,0x9f,0xcb,0xe5,0x9d,0xeb,0xc5, + 0xd1,0xfb,0x96,0x8e,0x16,0x1d,0x58,0x38,0xe8,0x4c,0x74,0x58,0xd5,0x63,0xc1,0x6f, + 0x22,0xd2,0x8f,0xd0,0x8f,0x5d,0xbb,0x47,0x41,0x9a,0xd3,0xe4,0x1f,0x97,0x6d,0x86, + 0x83,0xdd,0x21,0x9f,0x1f,0x16,0x97,0x85,0xf4,0xab,0x9,0x3e,0xeb,0x9f,0xf8,0xfd, + 0xd7,0xe2,0xc3,0xe5,0xc5,0xc9,0xc7,0xe3,0x46,0xbb,0x85,0xca,0x87,0x33,0xfc,0xf2, + 0xf4,0xaa,0x25,0xa5,0x66,0xb8,0x58,0xf8,0x7f,0x1f,0x4f,0x2f,0x17,0xf7,0xb3,0xfc, + 0xbf,0x2e,0xae,0xb,0x23,0xf,0x5b,0xd9,0xc5,0xe5,0xe9,0x4f,0x2d,0xf1,0x4d,0xcc, + 0xae,0x1e,0xb6,0xbe,0x7f,0x79,0x77,0x74,0xb9,0xf8,0xfe,0xec,0xf4,0x1f,0x8b,0x7, + 0xb6,0xdb,0x9e,0x1d,0x5e,0x9c,0x34,0x76,0x3b,0xe1,0x75,0x42,0x2b,0x58,0x8b,0x74, + 0xc9,0xa2,0x9c,0xdc,0x66,0x93,0xf6,0xec,0x6d,0x97,0x65,0xba,0x71,0xa5,0x9f,0x4f, + 0xcf,0x8e,0x5e,0x2f,0xce,0x9e,0xef,0xfe,0xd8,0x5c,0xdc,0x81,0xf1,0xf0,0x71,0xf1, + 0xf1,0xc3,0xfb,0x52,0x81,0x9b,0xdb,0x6f,0xb3,0xd3,0x87,0xa3,0xeb,0x77,0xcb,0xa2, + 0xdd,0x57,0x85,0x6d,0x2a,0x29,0xd3,0x9c,0xcb,0xe3,0x62,0x65,0xb0,0xe2,0xd2,0xad, + 0xcd,0x91,0x3,0x85,0x90,0xfc,0xe1,0x4d,0xc9,0x1d,0xcf,0x4a,0x56,0xf9,0xfd,0xef, + 0xc6,0x9f,0xfb,0x7d,0xd7,0x5e,0xed,0xd6,0x63,0x96,0xa7,0x97,0x1f,0xcf,0x16,0xcf, + 0xce,0x2f,0xce,0x7f,0x29,0x83,0xf9,0x1f,0x8a,0xf2,0x2e,0xfe,0xd1,0x9e,0x2e,0x6e, + 0xfe,0x5e,0xe,0x38,0xcf,0xf2,0xed,0x69,0x33,0x77,0x2a,0x4d,0x78,0x56,0x1a,0x70, + 0x7e,0xd2,0x7,0xff,0xef,0xc5,0xe9,0xf9,0x10,0x2d,0xa2,0x5a,0x5c,0x9e,0x9d,0x96, + 0x7f,0x3d,0xe3,0x5b,0xec,0xe4,0xe8,0xaa,0x4,0xf5,0xf2,0xe8,0x73,0xeb,0xa3,0x8f, + 0xb6,0x2b,0x4b,0x5d,0xc9,0xae,0x9a,0x83,0xd1,0xa0,0x21,0x8,0x44,0x69,0x77,0xc4, + 0x52,0xf5,0x3,0xc3,0xee,0x72,0xf5,0x4b,0xc3,0xee,0xf2,0xe5,0x97,0xef,0xbe,0x6c, + 0xee,0xc6,0xa4,0xc,0xd1,0x7b,0x65,0x5a,0xea,0xf3,0xef,0x3b,0x80,0x96,0x1c,0x99, + 0x71,0xe7,0xce,0xfc,0xce,0xf7,0x3b,0x77,0xb6,0x76,0xee,0x6e,0xdb,0xc9,0x3b,0x50, + 0x8e,0x9d,0xbc,0x37,0xaf,0x60,0xd5,0xf2,0x2f,0x77,0xce,0xaf,0x2b,0x73,0xcf,0x9c, + 0x81,0xf8,0x76,0x5f,0x13,0x43,0x26,0xd9,0xc3,0x94,0x5d,0xc0,0x60,0xb1,0x4f,0x7b, + 0x26,0x89,0x8,0xe0,0xbb,0x56,0xf5,0xeb,0xf5,0x76,0x5e,0x74,0x59,0x34,0xd7,0x4c, + 0x54,0x8e,0x8f,0x8f,0x47,0xf4,0x23,0x9a,0xe,0x29,0x90,0x9c,0x3c,0xd0,0x22,0xf6, + 0x28,0xa1,0x3,0x86,0xc4,0xce,0x8f,0x3d,0x34,0x27,0x76,0x15,0x37,0xb6,0x2,0xd7, + 0xa,0xff,0xb2,0xb3,0x2a,0xed,0x56,0xc7,0x37,0x73,0xd1,0xa1,0x6c,0x73,0x32,0x51, + 0xf7,0x6c,0xfa,0x55,0xfa,0x4d,0xf2,0xeb,0x29,0xf8,0xdb,0xf8,0x16,0x21,0x1b,0xf2, + 0xed,0x94,0x24,0x6b,0xd6,0xd8,0xdb,0xc7,0x1c,0x9,0xd,0xb0,0x10,0xdb,0x47,0x1, + 0x53,0x56,0x9,0x28,0x70,0xa5,0xf0,0x3a,0xbe,0x3f,0xbd,0x2b,0xed,0xdd,0x22,0xb6, + 0xdf,0xae,0xcd,0x97,0x9c,0x41,0x29,0x88,0xbe,0xd0,0x9b,0xf6,0x73,0x32,0xc7,0x8, + 0xb9,0xe9,0x4e,0x2a,0xd9,0xad,0x21,0x11,0x29,0x12,0x9,0xed,0xb1,0x59,0x42,0x56, + 0xf9,0x6e,0x38,0x5d,0x65,0xe5,0x3c,0xaa,0x42,0x77,0x4d,0x1f,0xc6,0xe5,0x64,0xcb, + 0xd6,0x56,0xc1,0x28,0x7f,0x29,0x87,0xc,0x5d,0x87,0x42,0x52,0xc8,0xb2,0xc7,0xce, + 0x49,0x8c,0x69,0xb6,0xe7,0xf9,0xfc,0xdf,0xbf,0x26,0xc3,0x76,0xb1,0xaf,0x6b,0xb3, + 0xa9,0xe7,0x2f,0xe7,0x4d,0xca,0x44,0xda,0x3a,0x2c,0x27,0x2a,0x5a,0x4e,0x2,0x93, + 0x73,0x30,0x15,0xfa,0x29,0x5,0x8b,0x7b,0xb7,0x37,0xb4,0xeb,0xc7,0x5d,0xa7,0xdc, + 0x47,0x4b,0x11,0x41,0x19,0xf6,0x50,0x13,0x22,0x6b,0x96,0x9d,0xc3,0x9d,0x7d,0x96, + 0x4,0x42,0x8a,0xd2,0x83,0xf7,0x25,0x52,0x16,0x73,0x86,0x3d,0x8a,0xe4,0x60,0xa0, + 0xd1,0x7,0x45,0x93,0x38,0x43,0xb9,0xbf,0x8f,0x1a,0x25,0x12,0x0,0xc2,0x1,0xe8, + 0xc9,0x8c,0x2,0xaa,0xd8,0x8f,0xc5,0xbd,0x25,0x65,0x72,0xa7,0xe,0x3d,0x1c,0xa0, + 0x90,0x32,0xb3,0x7,0xf5,0x41,0xd1,0xc4,0xa0,0x2c,0x50,0x5,0x87,0x6,0x58,0x52, + 0x78,0x70,0x2e,0x65,0xc9,0x93,0x13,0x48,0xd6,0x3d,0xb2,0x24,0x59,0xd9,0xbc,0xd0, + 0xe2,0x29,0xe7,0x6c,0x6e,0x1d,0xd8,0x18,0x0,0x4b,0xa0,0x2e,0x4e,0xfd,0xb2,0x9e, + 0x48,0x4c,0x1d,0xbc,0xb3,0xda,0x3,0xfb,0x35,0xa8,0xc3,0x1d,0xd8,0xb5,0x6b,0x0, + 0x76,0xc4,0x50,0xca,0xa2,0x68,0x8a,0x75,0xb0,0x8b,0x40,0xb,0x9a,0x9,0x61,0x3f, + 0x56,0x90,0x93,0xb3,0xb2,0x52,0x17,0xd5,0xaa,0x2,0xba,0x54,0xdb,0x4f,0xe9,0xa6, + 0x58,0xd9,0xbc,0xde,0xcd,0xdd,0xc6,0xef,0xb,0xba,0x31,0xbb,0x53,0x77,0xa7,0xe6, + 0xfb,0xaf,0x40,0xd,0xbb,0x9,0xea,0x9d,0xc4,0xeb,0xb,0x70,0xeb,0x17,0xd1,0x14, + 0xbd,0xb3,0x37,0x7b,0x21,0x6d,0xfd,0xda,0xfc,0xfa,0xb5,0xea,0xf5,0x6b,0xf4,0xeb, + 0xf7,0x17,0xd,0x5f,0x70,0x4e,0xec,0x33,0x9a,0xb7,0xc7,0x65,0xf4,0xa6,0xd4,0x94, + 0x9a,0xc4,0x5f,0x77,0x39,0xb9,0xfb,0x6e,0x7a,0xe7,0x4b,0xdd,0x25,0x4e,0xb9,0xac, + 0x6f,0xc7,0x9b,0xb7,0x25,0xaf,0xee,0x92,0xa7,0x5c,0xd6,0xf7,0xe7,0xcd,0xdb,0xa3, + 0x57,0x77,0xa9,0x5f,0xe5,0xd2,0x4d,0x67,0xb8,0x6c,0x7f,0xeb,0x5d,0xfa,0x7c,0x97, + 0xf0,0xcd,0x61,0xe4,0xbe,0x72,0xea,0xef,0xc7,0xc7,0x23,0x4f,0x37,0xf6,0xb4,0xdd, + 0x87,0xf6,0x54,0x12,0x61,0xec,0x1c,0xde,0x9e,0x9b,0x26,0x45,0xbb,0x3d,0xf3,0x9c, + 0xd0,0x61,0x78,0x56,0x72,0x9e,0x45,0x32,0xf2,0xdb,0xf3,0xc3,0xe1,0xf9,0xcd,0xd9, + 0x9d,0xa5,0xf6,0xac,0xf3,0x73,0x73,0x2e,0x9c,0x32,0xc1,0x8e,0x7b,0x12,0xc3,0x3d, + 0xe6,0xe4,0x86,0x3b,0x6d,0xf7,0xbc,0x39,0x29,0x45,0xdd,0x52,0xc0,0xdd,0xc5,0x65, + 0x25,0x6e,0x6f,0x1c,0x56,0x7f,0x99,0x31,0x2b,0x39,0x93,0xb1,0xbd,0x30,0x3f,0x6b, + 0x4a,0x93,0x35,0xef,0x9d,0xd0,0x98,0xef,0x9f,0xd0,0xba,0xe4,0x34,0x27,0xa1,0xd5, + 0x5f,0xc0,0xfd,0xfa,0xf9,0x8c,0x75,0xe3,0xf9,0x8c,0x7d,0xe3,0xf9,0x4c,0xf2,0xc6, + 0xf3,0x99,0xe0,0xc6,0xf3,0x99,0xf0,0x26,0xf3,0x99,0xe8,0x37,0xe5,0xb3,0xb6,0xf7, + 0x40,0x97,0x3c,0x0,0x72,0x22,0x8d,0x5b,0x0,0x20,0x12,0xe6,0xbb,0xf4,0xb1,0x3c, + 0xbd,0xcb,0x1f,0x3f,0xde,0x2,0x5d,0x8e,0xbb,0xe9,0x59,0x23,0xa0,0xcb,0x64,0x37, + 0x40,0x67,0x12,0x52,0xc6,0x5b,0x87,0xc3,0xfa,0xac,0x4f,0x50,0xe2,0x5f,0x99,0xa0, + 0x6c,0x30,0xad,0x3b,0x78,0xfb,0xe5,0xe7,0xb,0x4d,0x14,0xc1,0x16,0x7b,0x4,0x9, + 0x81,0x33,0x69,0x3b,0x13,0xc7,0x94,0x23,0xb,0x60,0xf,0xde,0x17,0x4c,0x14,0xd6, + 0x3e,0x32,0xe6,0x84,0xc,0xa,0xd8,0x7,0x45,0x53,0x6,0x34,0x97,0x62,0xa0,0x6, + 0xf7,0x41,0xc3,0x14,0x24,0x12,0xdc,0x3,0x87,0x4f,0x18,0x9e,0x18,0x2c,0x47,0x7, + 0x1e,0xf6,0x41,0x4c,0x1,0x44,0x84,0x3d,0x4c,0x24,0x39,0x67,0x25,0xaa,0x61,0x83, + 0xbb,0x99,0x92,0xb1,0xb3,0x2e,0x1f,0x2e,0x84,0x2,0x98,0xf6,0x88,0x52,0x40,0x16, + 0x97,0x3e,0x27,0x1d,0x58,0xee,0x7,0x4e,0xa8,0x68,0xe6,0xfd,0xb2,0x9c,0xc8,0x95, + 0x40,0xbd,0xb3,0xda,0x3,0xfb,0x15,0xa8,0xc3,0x1d,0xd8,0x35,0xaa,0x7,0xe,0x38, + 0x81,0xa4,0xa4,0xc4,0xec,0x3,0x52,0x3a,0xb4,0x23,0xb5,0x3,0x3b,0xfa,0xab,0xe0, + 0xad,0x1,0x73,0xca,0xde,0xf,0x2b,0xe4,0x64,0x39,0x82,0x7a,0x2,0xa8,0x8a,0x65, + 0xdd,0xa3,0x88,0xe6,0xaf,0x7a,0x14,0x89,0xbe,0x66,0xeb,0x42,0xf5,0x94,0x19,0x89, + 0xb8,0x61,0x1f,0xcd,0xc9,0xf0,0x46,0xa8,0xc6,0x98,0x1,0x3b,0x78,0x20,0x54,0x48, + 0x1,0xa2,0x14,0x7d,0x50,0x2c,0xe5,0x8c,0x2a,0x56,0xc,0xd4,0xe0,0x3e,0x68,0x94, + 0x20,0xb2,0xb,0x8d,0x84,0x2a,0x14,0x72,0xa3,0x54,0x55,0xf3,0xb0,0x1e,0x7c,0x38, + 0x80,0x29,0x81,0xba,0x4,0xf4,0x41,0xd1,0xe4,0x64,0x81,0x5a,0x5,0x87,0x6,0x58, + 0x12,0x1a,0x0,0x50,0xd1,0x6b,0x24,0x6,0x36,0xd2,0x3d,0x92,0xe4,0x62,0xea,0x3d, + 0x66,0x3a,0xac,0x89,0xaa,0x26,0x55,0x67,0xe9,0x97,0xb4,0xc4,0xa0,0xe6,0xd9,0x5b, + 0x93,0x1a,0x8a,0xd1,0x3,0xfb,0xee,0xeb,0x70,0x7,0x76,0x8d,0xea,0x83,0x43,0x5e, + 0x1a,0x89,0x33,0xab,0xf,0x79,0xe9,0xe0,0x8e,0xda,0xe,0xec,0x82,0x50,0x7,0x97, + 0x6,0xc8,0x43,0xb3,0x2f,0x83,0xcb,0x20,0x8d,0xde,0x29,0x11,0x85,0x6,0x75,0x32, + 0xa8,0x4a,0x66,0xad,0x5c,0xf1,0x4b,0x72,0x1d,0x6f,0x81,0xa9,0xcb,0x75,0xfd,0xa, + 0xec,0xd5,0xf1,0xf1,0x55,0xf9,0xa7,0x5b,0x89,0xad,0xae,0xf0,0x78,0xca,0x11,0x60, + 0xde,0x36,0x93,0x12,0xb1,0x66,0xea,0xa1,0xfb,0x22,0xc9,0x5c,0x43,0xa4,0x69,0x3a, + 0x8,0x3a,0xe,0x40,0xd1,0x2,0x92,0x59,0x49,0xb,0x7d,0x58,0xbd,0x95,0x8f,0x51, + 0x1f,0x34,0x4d,0x60,0x61,0xda,0x7,0x7,0xc9,0x46,0x38,0x89,0x64,0xc3,0x7e,0x6, + 0x1e,0xa0,0x9c,0x42,0xdd,0x94,0xfb,0xa0,0x7a,0xca,0xe,0x8,0xd4,0x7,0xc5,0x93, + 0x22,0x1b,0xe3,0xd0,0x0,0x53,0x81,0xd5,0xd4,0x7b,0x6d,0x25,0x48,0xac,0xec,0xcc, + 0x3d,0x5a,0x3a,0xb0,0x95,0x35,0x24,0x12,0x62,0xee,0x17,0x85,0xc4,0x6c,0x6e,0xb8, + 0x54,0x44,0xb8,0x81,0xf6,0xc1,0xce,0xff,0x8f,0x3d,0x78,0xd0,0xd8,0x9c,0x10,0x8, + 0x90,0x9c,0xd6,0xc1,0x22,0x89,0x38,0x7b,0x93,0x31,0x7,0x38,0x45,0x52,0x57,0x74, + 0x2b,0xa6,0x31,0x81,0xb2,0x99,0x74,0x21,0xab,0x46,0x77,0xad,0x6,0xbf,0x6a,0xf5, + 0x6,0xa8,0xd3,0x60,0x19,0xe4,0xab,0x4b,0x94,0x1,0xd4,0xdb,0x69,0x7e,0x59,0x36, + 0x36,0x55,0xd7,0x78,0xca,0xdb,0xc3,0xb3,0x45,0xd9,0x72,0xbc,0x7,0xfd,0xd5,0x9b, + 0xf2,0xee,0x6a,0x1f,0x32,0xf7,0x90,0xf2,0xba,0x4a,0xb4,0x77,0x7e,0xb3,0x6b,0xc4, + 0x73,0xf,0xbb,0xdb,0x27,0xc2,0x2b,0x6d,0x6c,0xbc,0xa3,0xc1,0xd7,0x34,0x91,0x65, + 0xc6,0x2,0x55,0xfb,0xe7,0xd9,0xd1,0x75,0x69,0x0,0x26,0x71,0x51,0xda,0xcb,0xe3, + 0x45,0x28,0x3,0xd9,0x1d,0xcf,0xf,0x47,0x41,0x40,0x61,0xd9,0x1d,0x4d,0x1c,0x95, + 0x52,0x86,0x9c,0x3,0xf7,0x2,0x12,0x8b,0x65,0x69,0xa4,0x4,0x59,0x92,0x88,0xa0, + 0xe,0x50,0xe7,0x24,0xa1,0xca,0xd4,0xa0,0xe0,0x1a,0x0,0x5,0xad,0x59,0xe8,0x54, + 0x50,0x5f,0xcd,0xce,0x18,0xcd,0xcf,0x97,0x6f,0x5f,0x5f,0x9f,0x1d,0x1d,0xff,0x63, + 0xfd,0xab,0xd6,0xc5,0x4f,0x8b,0x92,0x6e,0x4e,0xd6,0xbf,0x3c,0x29,0x5b,0x86,0x56, + 0x5f,0x9e,0x94,0xcd,0x0,0xd7,0xa3,0x77,0x27,0xed,0xeb,0x92,0xda,0xdb,0x8f,0x79, + 0xec,0xd9,0x98,0x3d,0xc8,0x94,0x82,0x49,0x96,0x3c,0x29,0x86,0x49,0x61,0x64,0x88, + 0x5a,0x98,0xc3,0x2d,0x7b,0x92,0xc5,0x1b,0x54,0xc3,0x29,0xe3,0xd,0x7b,0xd9,0x23, + 0xa0,0x6e,0xa1,0x43,0xe7,0x73,0xda,0xbd,0x99,0xfa,0x6,0x4e,0x73,0xa,0x42,0xa2, + 0x70,0x79,0x60,0x72,0x7f,0x33,0xba,0xa8,0xf4,0x95,0x9c,0x72,0x70,0x46,0xde,0xf3, + 0x48,0xe0,0x28,0xa4,0x6d,0xac,0x30,0x29,0xc5,0xa,0xea,0x90,0xd4,0xb3,0x42,0xec, + 0xb9,0xa7,0x0,0x6c,0x27,0xe,0x35,0xb,0xeb,0x1e,0x8e,0x50,0x82,0xe6,0x4a,0x33, + 0x64,0xb2,0xb2,0x1e,0x0,0x5d,0x65,0xfb,0xe8,0xb0,0xb2,0x91,0x18,0xc9,0xb0,0xa0, + 0x35,0xb,0x5b,0x28,0xc2,0x8e,0x46,0x85,0x4a,0xcc,0x5d,0x93,0x5a,0xd6,0x6c,0x4d, + 0x4f,0x44,0x36,0xcf,0xd4,0xeb,0x9f,0xde,0xa0,0x1c,0x2a,0xaa,0xab,0xa8,0x32,0x40, + 0xdb,0xc3,0xc5,0x93,0xa,0xf,0xc1,0x9a,0xd9,0x6d,0x4c,0x9a,0xa,0x34,0xa6,0x74, + 0x48,0x93,0x0,0x2,0xac,0x92,0x67,0x26,0x12,0x23,0x9e,0x22,0xb2,0x61,0x47,0x69, + 0xdd,0x40,0x87,0x6e,0xbb,0x5c,0x79,0x53,0x29,0x6a,0xb,0x94,0xf9,0xdb,0x52,0xc0, + 0x26,0xb3,0x79,0x5d,0x5a,0x34,0x57,0x84,0x12,0x4f,0x39,0xf3,0x81,0xfb,0xb5,0xc2, + 0x53,0xce,0x7c,0x2c,0x6e,0xbd,0x22,0xd7,0x86,0x25,0x27,0xf6,0x3d,0xd7,0xc4,0x6c, + 0xc4,0x36,0x60,0xa6,0xa0,0x9a,0x21,0x2,0x57,0x51,0x83,0x50,0xe2,0x82,0x5a,0x4e, + 0x14,0xc6,0x12,0x7d,0xb4,0x62,0x76,0x2b,0xd5,0x1a,0x15,0xb5,0xe,0x69,0x42,0x25, + 0xe3,0x55,0xf2,0x1c,0xd,0xdc,0x57,0x68,0xa,0x71,0x22,0xe8,0x33,0x5a,0x37,0xd0, + 0xa1,0x5b,0xad,0x56,0x23,0xab,0x24,0xd7,0x48,0x59,0xd5,0x72,0xa1,0x86,0x13,0x18, + 0x3b,0x7a,0x8f,0x1a,0x6d,0x50,0x52,0x65,0xa2,0x55,0x94,0x99,0xac,0x65,0x5c,0x2d, + 0xb1,0x67,0x65,0xe8,0xa3,0x35,0xbb,0xdb,0xa8,0x57,0xa3,0x4a,0x6,0x18,0xf2,0x24, + 0x99,0x9d,0x57,0xd9,0x13,0x30,0xcb,0x23,0x9e,0xd4,0xc5,0x61,0x44,0x69,0xd5,0x40, + 0x8b,0x6e,0xb9,0x5e,0x5d,0x9e,0xf4,0xfa,0xe0,0x9c,0xda,0x93,0x5e,0x1f,0x89,0x5b, + 0xcf,0xb5,0xd9,0x80,0x27,0xce,0x8a,0x8,0x7b,0x81,0x9,0x59,0x88,0x1b,0x6a,0x98, + 0x53,0xd6,0x30,0x8c,0x1,0x6a,0x39,0x39,0x69,0xa8,0xb6,0x33,0x2d,0x13,0x44,0x29, + 0x68,0xc5,0xc2,0xd3,0x13,0xd4,0x86,0x15,0x30,0x15,0x57,0x1,0x1b,0x87,0xb5,0x80, + 0x2b,0x51,0xc5,0xc4,0xae,0x22,0x58,0xd0,0xf1,0xfd,0x6b,0x1f,0x9f,0x1c,0xb6,0x6b, + 0xdd,0x33,0x22,0x21,0x73,0x14,0x3e,0x38,0x59,0x26,0x96,0x28,0x7c,0xa0,0x27,0x43, + 0x60,0x1e,0x80,0x4a,0x89,0x15,0x8d,0xa5,0x41,0x29,0x47,0x78,0x41,0x2b,0xf7,0xaf, + 0xa7,0xe,0x67,0x77,0x5e,0xa4,0x89,0x9a,0x2,0x9a,0x71,0xaf,0xa6,0x1d,0x38,0xac, + 0xa9,0xa4,0x2c,0xec,0xe0,0x5,0x1d,0xdf,0xff,0xb4,0xec,0xfe,0xeb,0xcb,0x4f,0x12, + 0x47,0x6,0xd3,0x3d,0x8f,0x14,0x96,0x97,0xeb,0x19,0xc,0x9,0x84,0xca,0xd9,0x0, + 0x55,0x4b,0x81,0x39,0x98,0x1a,0xd4,0x72,0x16,0x2f,0x60,0xc5,0xc0,0x7a,0x1,0xca, + 0x6c,0x1,0xa,0x4d,0xd6,0xd5,0x0,0xac,0x5f,0xd7,0xe,0x1d,0xd4,0x35,0x72,0x42, + 0x80,0x40,0x2f,0x68,0xc5,0xc2,0x76,0xf,0xc2,0x4a,0xd5,0xe5,0x2e,0x61,0x55,0xe2, + 0x26,0xd9,0x66,0x62,0xc6,0x36,0x5,0x6b,0x22,0xca,0x84,0xd8,0xa0,0x8c,0x66,0x4a, + 0x5,0xa5,0x9c,0x4c,0x5c,0xb2,0xae,0x47,0xc9,0xb2,0x66,0x29,0x68,0xc5,0xee,0x36, + 0x4e,0x1a,0x5d,0x65,0xcc,0xe9,0x90,0x3d,0x32,0xc7,0x58,0x65,0xc4,0x3c,0x1b,0xe1, + 0x88,0x53,0x77,0x64,0x1b,0xa2,0x9d,0x85,0x9a,0xdd,0xed,0x16,0xac,0x6f,0x28,0x47, + 0x3d,0x4d,0x1a,0x37,0x2c,0x80,0x4d,0xa6,0xf3,0xba,0xb2,0x68,0xae,0x6,0xe3,0x29, + 0x69,0x3e,0x78,0xbf,0x8e,0xa7,0xa4,0xf9,0x4f,0x3e,0xd3,0x84,0x2c,0xc9,0x82,0x98, + 0xf7,0xdc,0x92,0x64,0xd5,0xb6,0x63,0xb,0x24,0x16,0xd,0xc6,0x1,0x6a,0x9e,0x10, + 0x19,0x2c,0x1a,0x14,0x49,0xd9,0xb4,0xa0,0x63,0xb,0xeb,0xbb,0x7b,0xc0,0x5c,0x69, + 0xc6,0xfa,0xd7,0xe8,0x1a,0xd1,0xba,0x2,0xec,0xde,0x50,0x74,0x28,0x86,0xe3,0x6d, + 0x5d,0xc9,0xc0,0x1a,0xd0,0xd8,0x89,0x6f,0x9b,0x25,0x66,0x5a,0xbf,0xbf,0x43,0xb7, + 0x7a,0x34,0xf,0x8c,0x1a,0xb5,0x7a,0xb3,0xdd,0xce,0x23,0x85,0xb2,0x1,0x34,0x3d, + 0xd9,0x12,0xe4,0x40,0x1f,0x80,0x6,0x89,0x88,0xd,0xa5,0x41,0xc5,0x0,0x9b,0x44, + 0x5a,0x33,0xb0,0x8d,0x29,0x33,0x68,0xfd,0xcb,0x9f,0x9b,0x1,0x8f,0xc,0x4b,0xbf, + 0xe8,0xc0,0xc8,0x29,0x43,0x36,0x8c,0x25,0x77,0xce,0x1e,0x2a,0xd,0x4a,0xa0,0x8a, + 0x7e,0x47,0x73,0x40,0x54,0xd,0x74,0xe0,0x76,0xcb,0x52,0xaa,0xb2,0xc4,0xe4,0x66, + 0x4d,0x22,0x92,0x84,0x4,0x11,0xed,0x1a,0x96,0x27,0xe1,0x1c,0x3c,0x0,0x4d,0x12, + 0x65,0x7,0x2b,0x62,0xe5,0x14,0xa,0x2e,0x5,0xad,0x18,0x78,0x5a,0x99,0xdc,0xb4, + 0x0,0x26,0xc3,0xea,0xc,0xd8,0xb,0x6b,0x7,0xe,0xc3,0x2a,0x89,0x8d,0x10,0xa9, + 0xa0,0x15,0x3,0xeb,0x7,0x1d,0x9d,0x2d,0xc1,0xda,0x43,0x24,0x4b,0x72,0x9,0x12, + 0xdb,0x73,0x4d,0x80,0x16,0x1a,0x37,0x3b,0x4e,0x98,0x32,0x4a,0x83,0xa,0x2,0xc6, + 0xdd,0xc4,0x87,0xc9,0xd6,0x82,0x18,0xc1,0x8c,0x5,0xad,0x58,0xdd,0xca,0x74,0xa9, + 0x36,0x66,0x74,0xc8,0x1d,0x1,0x99,0xad,0x32,0xe2,0xc6,0x68,0x3,0xf6,0xba,0x17, + 0xe0,0x43,0xb4,0xb3,0x50,0xb3,0xfb,0x34,0xc3,0xfc,0x6f,0x30,0xc3,0xe4,0x64,0xa0, + 0xd6,0xce,0xf,0x35,0x32,0xe4,0x36,0xae,0x9c,0x20,0x8,0x61,0x0,0xaa,0xa7,0x20, + 0x96,0xdc,0x16,0xc5,0x50,0x55,0x28,0x68,0xc5,0xc0,0xfa,0xbe,0x6e,0xb3,0x95,0x69, + 0x34,0x59,0xd7,0x60,0xf5,0x5e,0x5d,0x3b,0x70,0x58,0x57,0x4f,0x99,0x81,0x3d,0xa, + 0x5a,0x31,0xf0,0x24,0xc1,0x8d,0x4b,0x70,0xf3,0xb3,0x88,0x4e,0x58,0x94,0x73,0x8d, + 0xbc,0x7a,0x49,0xda,0xcc,0xd0,0xb8,0x35,0x12,0xac,0xb3,0x68,0x4f,0x83,0xf6,0x3, + 0x33,0x1a,0x4f,0x83,0xf6,0xa3,0x91,0xb,0xb4,0x91,0x31,0x72,0x3b,0x95,0x9,0x32, + 0xb1,0x2a,0xa4,0x61,0xde,0x68,0x70,0x88,0x5a,0x66,0x85,0x3b,0xf6,0x44,0xb3,0x2c, + 0x47,0xed,0x6c,0xe,0x77,0x44,0x3,0x61,0xdd,0xc2,0x1d,0xfa,0xb4,0x60,0xf9,0xeb, + 0x8f,0xe5,0x62,0x9,0x49,0x2d,0xfb,0x1e,0xe4,0x9c,0x28,0x13,0xf0,0x72,0x17,0x83, + 0x39,0x78,0xd0,0x0,0x35,0x4f,0x8e,0x84,0x8e,0x2d,0x9a,0x89,0x32,0x14,0xb4,0x62, + 0x61,0xfd,0x60,0xae,0x31,0x57,0x9a,0x36,0xa3,0xb2,0x21,0x54,0xa9,0x6c,0x41,0x47, + 0x95,0x15,0x66,0xe2,0x82,0x56,0x2c,0x6c,0x77,0x7a,0xf4,0xda,0x3,0x23,0x25,0x7, + 0x64,0x6b,0x48,0xc0,0x44,0xea,0xe0,0xbd,0xf5,0xb1,0x16,0x54,0xcd,0x6a,0xab,0xa0, + 0x29,0x48,0xc1,0x44,0x92,0x85,0xb2,0xf4,0xb0,0x9a,0xc9,0xad,0x4c,0x98,0xb5,0xdd, + 0xff,0x43,0x8e,0xc,0x74,0x95,0x37,0x17,0x8f,0x58,0x21,0x89,0x12,0x94,0x1f,0xd, + 0xe8,0xac,0xdf,0xde,0x62,0x5b,0x2d,0x52,0x80,0x8a,0x48,0x85,0x13,0x61,0x56,0xc5, + 0xbd,0xf0,0x94,0xd1,0x25,0x64,0xf9,0xd6,0xcb,0x55,0xdc,0x6,0xa0,0x49,0x8a,0x6c, + 0x48,0x5,0xb5,0x76,0x4e,0x24,0x5,0xad,0x19,0x78,0x5a,0xaa,0xdc,0xb0,0x0,0xa6, + 0xc2,0x4a,0x1c,0x81,0xbd,0xb0,0x76,0xe0,0x30,0xac,0x9e,0x50,0xa3,0xfd,0x8,0xac, + 0x66,0x60,0xed,0x70,0x3,0x10,0x73,0x25,0x48,0x5a,0xc9,0x93,0x39,0x79,0x4,0x28, + 0x2c,0xc7,0xbb,0x40,0x1a,0x7c,0x43,0xd2,0xa2,0x8c,0x2,0x30,0x46,0x5d,0xb4,0x29, + 0x2b,0x98,0xdc,0x42,0x2d,0xfa,0x68,0xcd,0xee,0x36,0x26,0x4b,0x20,0x1f,0x71,0xba, + 0xca,0x53,0x88,0xd1,0x88,0x3d,0x29,0x30,0x8c,0x78,0x72,0x72,0x85,0x3e,0xa7,0x75, + 0xb,0x1d,0xfa,0x34,0xbb,0xdc,0xb0,0x2e,0x36,0x97,0xc4,0xeb,0x7a,0x53,0x9d,0xab, + 0x4c,0xf5,0xcd,0x64,0xa6,0xed,0x1e,0xb6,0x9d,0x9f,0x72,0xe6,0x83,0x73,0xaa,0x4f, + 0x39,0xf3,0xb1,0xc8,0xc5,0xec,0xd5,0x4f,0xcd,0x11,0x30,0x53,0xbb,0x8d,0x1f,0x43, + 0x90,0xfa,0xd2,0xd4,0x6,0x2d,0x98,0x83,0x8f,0x50,0x65,0xe0,0x28,0xa8,0x72,0x52, + 0x44,0x21,0xee,0xa3,0x35,0xbb,0xdb,0x28,0x58,0x84,0x3c,0xe6,0x74,0xc8,0x93,0x65, + 0xf7,0x11,0x7b,0x9a,0xcd,0xd9,0x57,0x79,0xf2,0xac,0x10,0x34,0xe2,0xb4,0x6a,0xa1, + 0x45,0x9f,0x5e,0x7,0xfd,0xfa,0x83,0xbc,0x42,0xb2,0x6c,0x1e,0xbe,0x17,0x94,0xd0, + 0xc3,0x9c,0x6e,0x96,0x50,0x51,0x28,0xf,0x51,0xa7,0x84,0xc1,0x6c,0xd0,0xa0,0x19, + 0x42,0xb9,0xa0,0x35,0xb,0x6b,0x47,0x79,0x14,0x9d,0x2b,0x4d,0xf1,0xa9,0xca,0x86, + 0x82,0xc5,0xb0,0xb2,0x1d,0x3a,0xac,0xac,0x50,0x8e,0x2,0xd6,0xc,0x6c,0x77,0xd2, + 0xb4,0xda,0x28,0xef,0x9,0x9d,0x41,0xa0,0xe9,0x88,0x24,0x62,0x32,0x58,0x41,0x2a, + 0xa0,0x78,0xe,0xd3,0x15,0xd0,0x38,0xb2,0xd8,0x72,0xfb,0x2b,0xaa,0x43,0xc6,0x3e, + 0x5a,0xb3,0xba,0x95,0x29,0xd3,0xea,0x63,0x7c,0x47,0x93,0x88,0x85,0xad,0x70,0x17, + 0x39,0x13,0xe1,0x90,0x25,0x4d,0x39,0x5c,0x6d,0xc0,0x68,0xd5,0x40,0x7,0x6e,0xb5, + 0x56,0x29,0xf3,0x86,0xd2,0xd3,0xd3,0x4a,0xd2,0x86,0x15,0xb0,0xc1,0x4c,0x5e,0x57, + 0x96,0xce,0xd5,0x20,0xe2,0x53,0xbe,0x7c,0xd8,0x5e,0x8d,0xfc,0x94,0x2f,0xff,0x99, + 0xbf,0xde,0xc5,0xa4,0x84,0x4e,0xb1,0x7,0x19,0x52,0xe,0xe0,0x26,0xac,0xe4,0x9, + 0x43,0x49,0x87,0xa8,0x4a,0xca,0x5,0xcc,0xb6,0x7c,0xfc,0x5d,0x6e,0x3f,0xa9,0x59, + 0x58,0xdf,0xd3,0xd1,0xe7,0xea,0x92,0xf2,0x74,0x65,0xcd,0xa9,0x52,0xd9,0x82,0xae, + 0x54,0x16,0x12,0x11,0x2a,0x17,0xb4,0x62,0x61,0xbb,0x7,0x6d,0xce,0xd5,0x37,0xbd, + 0xea,0xce,0xa,0xcb,0x57,0x65,0xc2,0x6e,0xd,0x35,0x94,0xd8,0x10,0x38,0x5a,0xb4, + 0x80,0xd0,0xdb,0x1e,0x23,0xf6,0x5,0x94,0x35,0x5b,0xb1,0x50,0xb3,0xbb,0x95,0x29, + 0x93,0xc7,0x83,0xd0,0x2a,0x7b,0xe2,0x28,0x23,0x46,0x22,0x3,0xe8,0x88,0x3d,0x25, + 0x11,0x1b,0xa2,0x9d,0x85,0xaa,0xdd,0x69,0x4e,0x73,0xf3,0xc3,0xdf,0xa4,0x60,0xad, + 0x22,0x58,0x8f,0x64,0xa0,0x16,0xb4,0x17,0x9e,0x1c,0x74,0xb9,0x60,0x41,0x92,0xc8, + 0x33,0xa1,0xf,0x50,0xc5,0x4,0x6c,0xa2,0xd0,0xa0,0xc2,0x6a,0x5c,0xc8,0xad,0x59, + 0x78,0x9a,0x65,0x6e,0x58,0x1,0x53,0x71,0x45,0xa2,0x2c,0xfd,0xb8,0x76,0xe8,0x30, + 0xae,0x91,0xb2,0x38,0x80,0x15,0xb4,0x62,0x61,0xfd,0xe0,0x63,0x38,0x57,0x84,0x8e, + 0xd5,0x57,0x18,0x66,0x2,0x7e,0x33,0xfa,0x39,0x52,0x9b,0x35,0x73,0x12,0x11,0x56, + 0x69,0x7,0x14,0x34,0xd1,0x2e,0x3f,0xa,0xea,0x17,0x50,0x10,0x56,0x2e,0xe8,0xd8, + 0xee,0x76,0x66,0xcd,0xca,0xb,0x8d,0x55,0xf6,0x5c,0x4c,0x56,0x18,0x81,0xa4,0x28, + 0x38,0x66,0x8f,0x3c,0x42,0x87,0x68,0x67,0x61,0x6c,0xf7,0xe9,0x3f,0xd0,0xbe,0x71, + 0x5d,0x6c,0x30,0x8d,0x57,0x5,0xc7,0x39,0xcf,0x94,0x26,0x67,0xdc,0x50,0x6e,0xda, + 0xea,0xb9,0x26,0xc3,0x53,0xd6,0x7c,0x78,0x4e,0x9f,0xb2,0xe6,0xe3,0x91,0x4b,0xd5, + 0xd7,0x6b,0x39,0x65,0x88,0xd0,0xbd,0xd0,0x44,0x82,0x1a,0xbe,0xfc,0x76,0x40,0x9d, + 0x38,0x78,0x80,0x1a,0x26,0x96,0x6c,0xd9,0x1b,0x34,0x3b,0x8a,0x14,0xb4,0x62,0xe1, + 0x69,0xae,0xb9,0x69,0x5,0x4c,0xc6,0x35,0x0,0x74,0x18,0xd7,0xe,0x1d,0xc6,0x55, + 0x82,0x2,0xad,0xa0,0x15,0xb,0xeb,0x7,0x1f,0xc2,0x2d,0xfb,0x2a,0x2d,0x27,0x17, + 0x77,0x58,0xe,0xbc,0xd9,0xe5,0x26,0x8d,0x10,0x9,0xaa,0xc,0x50,0x95,0x94,0x4d, + 0x25,0xac,0x41,0x19,0x8c,0xb3,0x17,0xb4,0x62,0x61,0x3d,0x7b,0xec,0x73,0xbb,0xb0, + 0xe4,0xa9,0xca,0x62,0x86,0xa0,0x7e,0x65,0x3b,0x74,0x58,0xd9,0x48,0xa0,0x88,0x8d, + 0x0,0x2a,0x16,0x9e,0x36,0xbc,0xfd,0xfa,0x22,0xc,0x4b,0x90,0x39,0xa3,0xef,0x5, + 0xa7,0x6c,0x9e,0xad,0xed,0xc2,0x98,0x4c,0x4d,0x64,0x88,0x6a,0x24,0x21,0xb6,0x28, + 0xd1,0xa6,0x54,0xb0,0x20,0x29,0x68,0xc5,0xc2,0x7a,0x11,0xda,0x6c,0x11,0x7a,0x9e, + 0xaa,0xac,0x33,0x1b,0xf4,0x2b,0xdb,0xa1,0xc3,0xca,0x72,0x22,0x8,0x74,0x2a,0x68, + 0xc5,0xc2,0x76,0xf,0xc7,0x51,0xa1,0x51,0x31,0x81,0x66,0x0,0x6c,0x92,0x2e,0x30, + 0x32,0x2e,0x99,0x9,0x26,0xcf,0xd0,0x80,0x42,0x62,0xc3,0x45,0xc9,0xf5,0x28,0x87, + 0x1b,0x59,0x41,0xc7,0x66,0xb7,0x72,0xf6,0x18,0x38,0x66,0x74,0x48,0x1e,0x8b,0xe7, + 0x11,0x21,0xee,0xae,0x6e,0x23,0x4a,0x2d,0x98,0x87,0x60,0x67,0xa0,0x66,0x76,0xab, + 0xd5,0x2a,0x98,0x37,0x93,0xa1,0x9e,0xfe,0xff,0x7d,0x36,0xad,0x80,0x4d,0x26,0xf3, + 0xba,0xb4,0x70,0xdb,0xc6,0xed,0x60,0xf4,0xb8,0x49,0xcc,0x8a,0xd0,0xbe,0x63,0x84, + 0x44,0x59,0x89,0x71,0x80,0x2a,0x27,0x20,0x74,0xbe,0xc9,0xcb,0xa6,0x5c,0xc0,0x8a, + 0x81,0xf5,0xe4,0x11,0xce,0xed,0xc1,0xc4,0x53,0x75,0x65,0x11,0x8e,0x41,0x5d,0x3b, + 0x74,0x58,0x57,0x77,0x13,0x2b,0x58,0xe5,0xfe,0x2d,0x4a,0x83,0xd3,0xef,0x9c,0xfe, + 0xdb,0xee,0xa2,0xcc,0x2e,0xaa,0x7b,0x90,0xa5,0xa1,0x87,0x6f,0x77,0x68,0x2b,0x65, + 0xe7,0x1,0xea,0x98,0xd4,0x10,0x89,0x5a,0x54,0x15,0xb,0x58,0xb9,0x7f,0xbd,0xfe, + 0xdc,0xe7,0xea,0x2f,0xf2,0x64,0x4d,0xdd,0xb9,0x52,0xd3,0x82,0xae,0xd4,0x54,0x13, + 0x18,0xa9,0x14,0x74,0x6c,0x60,0xab,0xdf,0x17,0x6a,0xae,0x7d,0x5b,0x66,0x49,0x95, + 0xa4,0x5d,0xc8,0xb2,0x14,0x21,0xba,0xf2,0xd,0xae,0x27,0xa4,0x1c,0x23,0x90,0xdc, + 0x23,0xa,0x28,0x91,0x94,0x39,0x3b,0xf4,0xd1,0x9a,0xd5,0xd9,0xd4,0xfe,0x86,0x26, + 0x8d,0x5a,0xdb,0xc8,0x3f,0xa4,0x29,0x22,0x8f,0xb8,0x13,0xd2,0x55,0x92,0x3c,0x19, + 0x43,0x68,0x9f,0xd0,0xea,0xfd,0x1d,0xb8,0xdd,0x52,0xa5,0x8a,0x54,0xc5,0x13,0x68, + 0x28,0xc8,0x72,0x2f,0x80,0x58,0xc0,0xcd,0xfa,0x83,0x1,0xfb,0x0,0xb4,0x48,0x26, + 0x8a,0xd0,0x82,0xe4,0x66,0x85,0xef,0xda,0xfd,0x5b,0x20,0xca,0xdf,0x56,0xfc,0x27, + 0xa3,0xaa,0x4c,0xa3,0xa0,0x16,0x6c,0x35,0xa6,0x1e,0x1,0x38,0x8e,0xa9,0x7e,0x61, + 0xb4,0x51,0xf2,0xb9,0xea,0x93,0xda,0x56,0x73,0x4e,0xc6,0x6a,0xb1,0x1c,0xec,0xc, + 0x9,0x7c,0xe5,0xd3,0x25,0x4d,0x39,0x23,0xc4,0x8,0x5,0x50,0x29,0xa0,0x68,0x32, + 0xca,0xa6,0xdc,0x3,0x2b,0x56,0xb7,0x33,0x51,0xca,0xb8,0x3f,0xaf,0xb2,0x84,0x2a, + 0x3a,0xe2,0xe,0xd1,0x18,0x57,0x78,0xd2,0xc4,0xaa,0x39,0xfa,0x94,0xd6,0x2d,0x74, + 0xe8,0x6c,0x4e,0x9f,0xe6,0x95,0xf,0xa3,0x8b,0x8d,0x65,0xef,0xba,0xdc,0x9c,0xe7, + 0xa,0xd3,0x75,0x3,0x29,0x69,0x9b,0x87,0x6a,0xcb,0xf8,0x94,0x2c,0x1f,0x98,0x51, + 0x7e,0x4a,0x96,0x8f,0x46,0x2e,0x61,0x75,0x97,0x40,0x96,0x50,0x6e,0x8,0xcb,0x29, + 0x10,0xb5,0x4f,0xcd,0xcd,0x6e,0x8a,0xcc,0x10,0x63,0x34,0x38,0xb8,0xa0,0xea,0x89, + 0x8d,0x14,0xfb,0x60,0xcd,0xec,0x36,0x2e,0x9d,0x1b,0x55,0xf4,0x3a,0xa4,0x9,0x33, + 0xa8,0x8f,0xc8,0x43,0xf3,0x88,0x15,0x9e,0x20,0x31,0x91,0x62,0x8f,0xd2,0xba,0x81, + 0xe,0xdd,0xea,0xa5,0x73,0xf3,0x5c,0x7d,0x66,0x7,0x46,0xb7,0xf6,0x95,0xab,0x4a, + 0x46,0xa4,0x1e,0x35,0xdc,0xa0,0xae,0x42,0x32,0x42,0x3,0x2,0x18,0x96,0xaf,0x72, + 0x45,0xd4,0xd1,0xfa,0x68,0xcd,0xee,0x56,0xea,0xb5,0xb6,0x65,0x75,0xc8,0x13,0x8a, + 0x8b,0x8f,0xd8,0x33,0xc,0xf4,0x21,0x4f,0x91,0x40,0x1,0x5c,0x46,0x9c,0x56,0x2d, + 0xb4,0xe8,0x76,0xb,0xd6,0xd1,0x9f,0x4,0xfb,0xd0,0x9c,0x52,0x7e,0x12,0xec,0x3f, + 0xf7,0xd3,0x53,0x68,0x62,0x7,0x5d,0xce,0xd2,0xc,0xb3,0xf1,0xf2,0xa5,0x1a,0xb0, + 0x20,0xe1,0x0,0x55,0x4f,0x1,0xc8,0xbc,0x2c,0xcb,0x92,0xb5,0x80,0xe3,0xfb,0xd7, + 0x3e,0x3c,0xb9,0xe0,0x5c,0x5d,0xa,0x4f,0xd6,0xd4,0xa0,0x56,0x53,0x83,0x71,0x4d, + 0x43,0x21,0x64,0x5c,0x55,0x83,0xed,0x5e,0x95,0x77,0xad,0x7f,0x2b,0x2e,0x14,0x2c, + 0xbe,0x5c,0x1a,0x76,0xd1,0x9b,0xbd,0x1c,0x4,0xa1,0x81,0x5,0x8d,0x4,0xe6,0x21, + 0x77,0x7b,0xc,0x48,0xe3,0x4b,0x28,0x9,0x16,0xb,0x35,0xbb,0xdb,0xf8,0x4,0xe5, + 0xaa,0x23,0x4e,0x57,0xd9,0xf3,0x58,0xe1,0x23,0x92,0x10,0x4,0x8c,0xb8,0x43,0xc, + 0xd2,0x3e,0xda,0xdd,0x3f,0xb6,0xb9,0xdd,0x52,0xd,0xae,0x7e,0xcd,0x27,0x2a,0xd6, + 0xbe,0x45,0xe3,0xc4,0xac,0xcb,0x37,0xd6,0x2d,0x6f,0x18,0x32,0x40,0x55,0x52,0x84, + 0xa,0x71,0x8b,0x82,0x49,0x78,0x41,0x2b,0x16,0x9e,0xd6,0xe5,0x37,0xac,0x80,0xc9, + 0xb8,0xa,0xca,0x38,0xac,0x5,0x1c,0x45,0x55,0xdd,0x88,0xa,0x3a,0xbe,0x7f,0xfd, + 0x88,0x13,0x3a,0x53,0x81,0x91,0xeb,0xcb,0x75,0x8a,0x68,0xb2,0x1c,0x5c,0x24,0x87, + 0x71,0xe3,0x9f,0x13,0x67,0xca,0xd4,0x82,0x91,0x29,0xcb,0x60,0x3f,0xd6,0x7a,0xd4, + 0x51,0x1a,0x3,0x35,0xb3,0xdb,0x98,0x2b,0xa3,0xf6,0xe,0x73,0x48,0x1e,0x10,0xac, + 0x12,0x62,0x9,0x45,0x33,0x8e,0x29,0xf5,0x4c,0x3a,0x44,0x3b,0xb,0x15,0xb3,0x4f, + 0xb,0xf3,0x1b,0x56,0xc5,0x6,0x13,0x78,0x5d,0x6e,0xc8,0x73,0x85,0x89,0xff,0x9f, + 0xbd,0x6b,0xdb,0x91,0x1b,0x39,0xb2,0xff,0xa2,0x27,0xf,0x40,0xc5,0xc6,0xfd,0xf2, + 0xe0,0x8f,0x31,0xd6,0xe3,0x81,0x1f,0xbc,0x36,0xc6,0xf3,0xb0,0xfb,0xf7,0xcb,0x62, + 0x95,0x9a,0xca,0x62,0x72,0x8a,0x3d,0x5d,0x4d,0x77,0x53,0x94,0x30,0x80,0x74,0x30, + 0xc,0x44,0x9f,0x88,0x13,0x91,0x19,0x99,0xa4,0x7c,0x8f,0xaa,0x74,0xe8,0x8e,0x5d, + 0x72,0xd6,0xcb,0xa7,0x53,0x7a,0xd6,0xcb,0xf7,0xa2,0xd6,0x56,0x6,0xc9,0xe9,0x59, + 0xd7,0x89,0x6f,0x25,0xe3,0x45,0xc7,0x5a,0x60,0xc2,0x9a,0xd5,0xa0,0xe1,0xc0,0x55, + 0xc1,0x36,0xa1,0x41,0x54,0x23,0xb8,0x34,0x70,0x7e,0x35,0x6b,0xef,0x4,0x78,0x1c, + 0xd6,0x54,0x6a,0xc2,0x3a,0xa3,0x6d,0x58,0x19,0x98,0x85,0x79,0x44,0x3b,0x16,0xd6, + 0xbb,0x8e,0x6d,0x5e,0x61,0xf6,0xb6,0x8e,0xea,0x90,0xc6,0x5c,0x32,0x39,0x90,0x51, + 0x4c,0xb7,0x4b,0x85,0x62,0x95,0xd7,0xe3,0x5f,0xe,0x36,0x69,0xfe,0x39,0xa4,0x75, + 0x14,0x1d,0xc3,0x46,0xb4,0x63,0xf7,0x88,0xf3,0xcb,0xf2,0x65,0xc9,0xbc,0x67,0x2f, + 0xd9,0xf9,0x8e,0x11,0x1,0x67,0x33,0x5e,0xb0,0xa7,0x1e,0x46,0x2d,0x3a,0x5b,0xe8, + 0xd9,0x3d,0xe7,0x97,0x1f,0xe3,0xdf,0x23,0xc7,0x94,0xbc,0x2d,0x11,0x91,0xe2,0xfa, + 0x89,0x0,0x4a,0x4d,0xf6,0x6,0xf5,0x82,0x62,0x27,0x9d,0x40,0x54,0x1f,0xb1,0xde, + 0xf3,0xeb,0x62,0xf,0xde,0x9a,0x98,0xa1,0x8f,0x5d,0x2d,0xa3,0xd6,0xd5,0x19,0x6d, + 0x5d,0x8d,0xa2,0x49,0xeb,0x1d,0x3,0x9b,0xdb,0xf6,0xf9,0x46,0xe4,0x7b,0xbe,0x96, + 0x5b,0xc6,0x95,0x43,0x15,0x4,0x86,0xd4,0xb5,0xdc,0x38,0xb9,0xd1,0xf7,0x58,0x8, + 0x48,0x4a,0xa8,0x5f,0x40,0x95,0x60,0x1d,0xd1,0xce,0xe3,0x6b,0xf9,0xa7,0x88,0x1b, + 0xf3,0x4f,0x11,0xf5,0x91,0xa3,0x24,0x91,0xd1,0x78,0x3a,0x83,0xad,0xab,0xa5,0x69, + 0x35,0xa2,0x3d,0x3,0x47,0x3e,0x72,0x54,0xa4,0x2e,0x8b,0x4,0x51,0x14,0x3a,0xb5, + 0x56,0x72,0xbb,0xb6,0x61,0x2,0xf6,0x64,0xe2,0x6,0x75,0x7,0xc4,0x32,0x94,0xeb, + 0xb2,0x31,0x18,0x47,0x1a,0x3b,0x16,0xce,0x75,0xe3,0xde,0x19,0xf0,0x30,0xae,0xa1, + 0x19,0x4d,0x5c,0x67,0xb4,0x8d,0x2b,0x83,0x91,0x67,0x8e,0x68,0xc7,0xc2,0xba,0x94, + 0xc9,0xb7,0x26,0xa1,0xea,0xe,0x35,0xe7,0x4c,0xc0,0xbd,0x13,0x70,0xff,0xf2,0xdc, + 0x66,0x95,0x1f,0xa0,0x9,0xef,0x58,0x95,0x5b,0xf6,0x6c,0xb3,0x7a,0x2d,0x77,0x29, + 0x35,0x7,0xef,0xc4,0xd4,0xfd,0xac,0x95,0x81,0x10,0xb3,0xf9,0x40,0xa4,0x10,0x91, + 0x76,0x7b,0xc9,0x37,0x2d,0xd4,0xa5,0x41,0xc3,0x21,0x2b,0xd3,0x68,0x42,0xd,0x53, + 0x46,0x1a,0x7b,0x16,0x1e,0xd3,0x48,0x78,0xf9,0x45,0x9f,0xaa,0x10,0xb6,0xae,0x7f, + 0xd4,0x42,0xd8,0x8f,0x6b,0x6a,0x71,0x13,0xd7,0x19,0x6d,0xe3,0x6a,0x80,0x54,0x21, + 0x23,0xda,0xb1,0xb0,0xaa,0x65,0x22,0x7d,0x40,0xe3,0x3f,0xff,0xfa,0xf7,0x7f,0x8d, + 0xff,0x8d,0x14,0xfc,0xf5,0xe7,0xdf,0xfe,0xef,0x5f,0x3f,0xff,0xfb,0xcf,0x5f,0xfe, + 0x7b,0xfc,0xf5,0x49,0xd2,0xa4,0x4f,0xb1,0x40,0x6,0xa5,0x5e,0x68,0xb,0x60,0xf1, + 0xdb,0x1d,0x58,0x6,0x24,0x46,0x6f,0xd0,0x24,0xc8,0x2c,0xf2,0x1c,0x51,0x87,0xd4, + 0x69,0x48,0xd6,0xb3,0xb0,0x4e,0xb1,0xe0,0x5b,0x29,0x6e,0xcd,0xf1,0xc3,0x9f,0x48, + 0xfd,0x5b,0x95,0xd4,0xa2,0x9c,0x30,0x75,0xb,0xbe,0xfb,0x79,0x2,0x2c,0x13,0x65, + 0x44,0x17,0xcf,0x6f,0x2e,0x4,0x1f,0xbc,0x9e,0x7e,0xe6,0x2c,0x65,0x90,0x72,0x16, + 0x1e,0x88,0x18,0xc,0xa5,0xea,0x7a,0x76,0x51,0x4a,0x4a,0xde,0xa0,0x21,0x50,0xc9, + 0x89,0x57,0x94,0x45,0xd2,0x46,0xb4,0x63,0x61,0x3d,0x4b,0x1d,0xb7,0x76,0x23,0xe7, + 0x87,0xce,0x12,0x4a,0xe3,0x6c,0x83,0xb6,0xce,0x86,0x1a,0x8f,0x60,0xc7,0xc0,0xd1, + 0x72,0xb0,0x65,0x31,0xb2,0xc3,0x22,0x42,0x99,0x45,0xe5,0x54,0xb9,0xcb,0x19,0x75, + 0x12,0xb2,0x3,0x85,0x69,0x3,0x46,0x42,0x85,0x10,0x5f,0x51,0xf3,0xb4,0x18,0xd1, + 0x8e,0x81,0xe3,0xb4,0xf4,0xf5,0x42,0x79,0x88,0xbe,0xdf,0x86,0x2e,0x48,0xbe,0xbd, + 0x2c,0xa3,0x85,0xc4,0xd7,0xe,0xcf,0x2e,0xdf,0x4e,0x6e,0x32,0x52,0x6a,0x42,0xc5, + 0x53,0x64,0x44,0x3b,0x16,0xd6,0xe5,0x9e,0x5b,0xe5,0xce,0x98,0x3b,0xd5,0xa6,0x73, + 0xf1,0xb9,0x73,0x12,0xee,0x5f,0xc6,0xdb,0xcc,0x22,0x3c,0xfa,0xda,0x73,0x7b,0x89, + 0x17,0x50,0x63,0xbb,0xa,0x9a,0xd4,0xc8,0xde,0x52,0xe3,0x67,0x8a,0xd9,0xb7,0xca, + 0x9c,0x73,0xfd,0x65,0x88,0x97,0x8a,0x82,0x39,0x39,0xdb,0xa0,0x15,0xf5,0xe2,0x2c, + 0xa5,0xdf,0x6a,0x12,0x49,0xf9,0x8b,0xb3,0xe9,0xd2,0xb7,0x30,0xa3,0x9b,0xc5,0x7f, + 0x1e,0x26,0xbe,0x57,0x6a,0x3a,0x83,0x57,0xd9,0xd4,0x6b,0x10,0x50,0xea,0x1a,0x2a, + 0x3,0x56,0x8d,0xef,0xb1,0x54,0xe0,0x74,0x4c,0x1b,0x8,0xb,0xc2,0xcb,0x6b,0x44, + 0x97,0x8f,0xaf,0xa7,0xa5,0x6d,0xee,0x3e,0xc6,0xf,0x1d,0x55,0xe7,0x85,0xa3,0x13, + 0x36,0x3b,0x3a,0x81,0x9c,0x84,0x34,0xa2,0xcb,0xc7,0x8f,0x7c,0xfd,0x47,0xb9,0x7a, + 0xd,0xbc,0x20,0x52,0xd4,0x63,0x20,0xc,0x8,0x37,0x8e,0xdb,0x16,0x58,0x38,0x3d, + 0x1b,0x34,0x9,0x24,0x10,0x9d,0x27,0x54,0xcb,0x48,0x46,0xb4,0x63,0xe1,0xbc,0x5e, + 0xbe,0x73,0x6,0x3c,0x8c,0x6b,0x90,0x67,0x13,0xd7,0x19,0x6d,0xe3,0x9a,0x80,0xe8, + 0x5a,0x23,0xba,0xb4,0xb0,0xae,0x63,0xc1,0xad,0x3a,0x16,0xf2,0xee,0xbf,0xcd,0x2c, + 0x8e,0x42,0x3a,0xd5,0x91,0x14,0xc2,0x9a,0x9b,0x83,0x5f,0xd5,0x99,0x6e,0x71,0xf, + 0x32,0xab,0x4c,0xae,0x26,0x88,0x2a,0x67,0x34,0x68,0xc7,0xea,0x51,0x12,0xb3,0x65, + 0xb4,0x23,0xeb,0x96,0x26,0x21,0xe2,0x7b,0xee,0xc4,0x98,0xa2,0x65,0x69,0x44,0x2d, + 0x14,0xa9,0x61,0xb4,0x67,0x60,0x6,0xcf,0xfb,0xe5,0x7b,0x27,0xc5,0xfe,0x15,0xbc, + 0xcd,0x36,0xf5,0xad,0x79,0xa9,0xb9,0x53,0x59,0x3a,0x74,0xd7,0x16,0xd7,0xb3,0x60, + 0x3e,0x99,0x51,0x3f,0xb,0xe6,0xfb,0x30,0x1b,0xd8,0xfd,0xf8,0x4b,0x60,0xca,0x75, + 0x70,0x65,0xee,0x79,0x21,0x46,0x1c,0x24,0x28,0x39,0x1a,0xd4,0x5,0x48,0xa,0x5d, + 0x27,0x94,0x6b,0x3a,0x79,0xe9,0x18,0x38,0x7,0x44,0x3b,0xc7,0xff,0x51,0x54,0x43, + 0xb8,0x89,0x6a,0x83,0xb6,0x51,0x4d,0x9c,0x4e,0x9a,0x3a,0x6,0xd6,0x7b,0x4e,0xf0, + 0xa1,0xe,0x74,0x32,0x20,0x8a,0xd9,0x78,0x20,0x12,0xe0,0x62,0xce,0xb,0x79,0x2, + 0x6a,0x16,0x61,0xd,0xea,0x8,0xcc,0x82,0x54,0x13,0x8a,0xcc,0x64,0x23,0xda,0xb1, + 0xb0,0xca,0x9e,0x12,0x6f,0x94,0xaf,0x92,0x3e,0x76,0x36,0xa3,0xe3,0x6b,0xc6,0xc2, + 0x55,0x13,0x31,0xea,0xb8,0x9a,0x71,0xe8,0xe3,0x1c,0x55,0xde,0x29,0xe0,0x67,0x11, + 0xdc,0x39,0x3,0x76,0xd7,0x46,0x9b,0x57,0x7a,0xac,0xb7,0x62,0x13,0xb0,0xcc,0x4c, + 0xa6,0xa5,0x51,0x72,0x4e,0x2b,0x58,0x15,0x8,0x2b,0x4c,0x6d,0xd0,0x40,0x30,0x76, + 0x99,0x30,0xb3,0x69,0xca,0xdc,0x7b,0x7e,0x9d,0xbb,0xd8,0x5c,0x1,0x43,0x1f,0xba, + 0x2a,0x6a,0xb4,0x70,0x75,0x42,0x1b,0x57,0x9,0xd0,0x4b,0x64,0xc4,0x3a,0xcf,0x1f, + 0x7a,0x15,0xa8,0x85,0x5d,0x12,0x4b,0x54,0xf2,0x9a,0xe9,0xe9,0x7c,0x9,0x22,0x27, + 0x28,0x61,0x6a,0x3,0xba,0x0,0x19,0x93,0xda,0x88,0x32,0x64,0x4d,0x55,0x71,0xf9, + 0xf8,0x59,0xfe,0x76,0x8e,0xfe,0xa3,0x98,0x96,0x59,0x35,0x31,0x9d,0xc1,0x26,0xa6, + 0x2,0x2e,0xe1,0x34,0xa2,0xcb,0xe7,0xd7,0x25,0x5c,0x5b,0x25,0x6c,0xdc,0xcb,0x3e, + 0x3,0x8a,0xd2,0x8c,0x69,0x94,0x60,0x26,0x1a,0x17,0x9,0x23,0xa4,0xa,0x52,0x36, + 0xa8,0x7,0x38,0x21,0x9b,0x4e,0x28,0xa7,0x4c,0x22,0x5e,0x5a,0x38,0xa7,0xdc,0x7b, + 0x67,0xe0,0xe3,0xb8,0x56,0xd6,0x22,0xae,0x13,0xba,0x88,0x6b,0xd4,0x14,0xec,0xa5, + 0x81,0xf5,0x1c,0x34,0xde,0x9c,0x83,0xd2,0x3b,0xac,0x42,0x60,0xf1,0x6b,0xb3,0x47, + 0x70,0x8a,0xb8,0x7d,0x8d,0xb,0xa9,0x4a,0xe9,0xda,0x32,0x88,0x30,0xe6,0x6f,0x21, + 0x65,0xae,0xa2,0x8,0x65,0x68,0xa3,0x85,0x9e,0xdd,0x23,0x4e,0x6d,0x4c,0x7a,0xad, + 0xb9,0x65,0x8f,0x89,0xe4,0x8e,0x11,0x2,0x71,0x45,0x5d,0x72,0x1a,0x64,0xd9,0xa2, + 0xb3,0x85,0x9e,0xdd,0xf3,0x5c,0x7a,0xef,0xbc,0xd8,0xbf,0x8a,0xb7,0x9,0xe7,0x9b, + 0xe5,0xee,0xba,0x4f,0x69,0x3a,0xf4,0xb2,0xd1,0x62,0x4d,0xe0,0xa9,0x6a,0xdf,0xa, + 0xa1,0xd3,0x4d,0xb4,0x65,0xe2,0xd5,0xa0,0xce,0x50,0x6c,0xe6,0x76,0x2b,0x84,0x49, + 0x3e,0xa2,0x1d,0xb,0x9b,0x69,0x3c,0x97,0x8e,0x4f,0x6f,0xdc,0xfd,0xb8,0x32,0x96, + 0x35,0x71,0x9d,0xd1,0x36,0xae,0x4,0xe2,0x5c,0x31,0xa2,0x1d,0xb,0xeb,0x52,0xe, + 0x7f,0x2d,0x8d,0x8a,0x95,0xe2,0xf4,0x71,0x5f,0xf3,0xd2,0xcb,0xaf,0x21,0x12,0x32, + 0xc3,0xf3,0xc6,0x5e,0x31,0x66,0x45,0x83,0xba,0x81,0x3b,0x53,0xea,0x5,0xd5,0x52, + 0x9e,0xda,0xde,0xd2,0xc2,0x2a,0x7b,0x86,0x98,0xdb,0x24,0x6c,0x48,0xf8,0xc8,0xd9, + 0xa,0x54,0x69,0x9c,0x9d,0xd1,0xc6,0xd9,0x2,0x96,0x42,0xb7,0x11,0xed,0x59,0x68, + 0x9d,0x5d,0xf,0xe0,0xf9,0xc2,0xff,0x3b,0x9e,0x3b,0xab,0x38,0x79,0xe,0xa9,0xa0, + 0x19,0x22,0x71,0x8b,0x55,0x25,0x89,0x35,0x68,0x12,0x20,0x73,0xa8,0x5c,0x50,0xa6, + 0xa0,0xf2,0x11,0xed,0x58,0x58,0x4d,0x42,0x22,0xdc,0x98,0x84,0x44,0xfc,0xc8,0xd9, + 0x92,0x10,0x69,0x9d,0x9d,0xd1,0xd6,0xd9,0xe0,0x34,0xd5,0x11,0xed,0x58,0x38,0xf2, + 0xbb,0x86,0x46,0x2b,0x17,0x75,0x90,0x18,0x39,0x86,0x74,0x30,0x23,0xfb,0xfe,0x93, + 0xe2,0x5a,0x17,0x34,0x9,0x15,0xf5,0x1e,0x2d,0xd5,0xc,0x1e,0x51,0xb,0xa8,0x72, + 0x64,0x6a,0xd0,0xa5,0xdd,0x23,0x7e,0x68,0xdc,0xa8,0x77,0x55,0xa7,0xe5,0xc9,0xb4, + 0xbc,0x25,0x2f,0x0,0x83,0x9d,0xb5,0xa5,0x29,0x80,0x2b,0x52,0xa9,0xa1,0xb4,0x67, + 0x60,0x6,0xf,0x9d,0xad,0xdc,0x13,0xbd,0x83,0x31,0x12,0xcb,0x90,0xc,0x4c,0x1c, + 0xd7,0x97,0x13,0xa,0xd0,0x4d,0x5a,0x30,0x12,0x8,0x3d,0x28,0x87,0x24,0x28,0x65, + 0xb7,0x11,0xed,0x18,0x38,0xbf,0x10,0xb0,0x77,0x2,0x3c,0xc,0x6b,0x31,0x45,0x1b, + 0xd6,0x1b,0xd8,0x86,0x95,0x41,0x4d,0x91,0x73,0x44,0x3b,0x6,0xd6,0xfb,0xe,0xeb, + 0xe6,0x14,0xec,0x88,0x3b,0x5,0xb0,0x4c,0x94,0xa7,0xc6,0x17,0x16,0xf8,0x9d,0x38, + 0xfd,0x2,0x5a,0x24,0xdb,0x3d,0xe8,0xc1,0xb7,0x6b,0xf3,0x6,0x18,0x25,0x12,0xd, + 0xda,0xb1,0x7a,0xc8,0x72,0x29,0xb8,0x64,0xb4,0xa5,0xa9,0xb0,0xf8,0x8e,0xbb,0xb0, + 0x8a,0x7b,0x96,0xc,0x90,0xa9,0x4a,0x1b,0x46,0x7b,0x6,0x66,0x70,0x33,0xa1,0xe7, + 0xa,0xf3,0x49,0x49,0xb1,0x7f,0xfd,0x6e,0x93,0x6d,0xb3,0xd0,0xc5,0xf7,0x29,0x4a, + 0xc7,0xee,0xd8,0x8a,0x67,0xb9,0x7c,0x32,0xa3,0x7c,0x96,0xcb,0x77,0x62,0xb6,0xb7, + 0x17,0x4a,0x50,0x22,0xaf,0x69,0x56,0xa1,0x91,0xae,0xdc,0xbc,0xd1,0x36,0xa2,0x1e, + 0x5e,0xae,0xf7,0x68,0x68,0x58,0x8e,0xa0,0x3b,0x24,0x33,0x15,0x7f,0x7,0xf6,0xac, + 0x1e,0x33,0x57,0x73,0xc9,0x68,0xcb,0x92,0x29,0x47,0xdc,0x73,0x97,0xa4,0x89,0x7a, + 0xcf,0x53,0x65,0x39,0x4a,0x43,0x69,0xd7,0xc2,0x8c,0x1e,0x3b,0x5d,0x2d,0xbb,0x17, + 0x36,0x35,0x25,0xdc,0x2e,0x24,0x98,0x14,0xb1,0xcd,0xd4,0xf8,0xc4,0x8c,0x28,0x31, + 0xdf,0x81,0x25,0xac,0x7a,0x9b,0xc2,0xaa,0x47,0x34,0x60,0xcf,0xe8,0x21,0xb3,0xd5, + 0x97,0xbd,0xaa,0x65,0x49,0x59,0x8b,0x9a,0xc2,0x88,0x40,0x24,0xe5,0xd2,0xb0,0x34, + 0xa2,0x9c,0x8c,0xaa,0x33,0xa1,0xfd,0xe7,0x67,0xf0,0xd8,0x99,0x1a,0x78,0x66,0xea, + 0x73,0x9,0xe5,0x33,0x53,0x7f,0xdc,0x1d,0x53,0x29,0xa4,0x30,0x65,0xd,0x69,0xc0, + 0x61,0x6e,0x74,0x3d,0x74,0xd6,0xb2,0xe0,0x6,0xf4,0x0,0x76,0x2e,0xf3,0xb,0x8a, + 0x68,0x46,0x23,0xda,0x33,0xb0,0xbe,0x63,0xa,0xdf,0x9c,0x95,0xf9,0xc8,0xd7,0x64, + 0xd4,0x68,0x7c,0x9d,0xc1,0xd6,0x57,0x23,0x4f,0xab,0x11,0x5d,0x1a,0x38,0x78,0x5b, + 0xcf,0xfe,0xb,0x75,0x99,0x49,0x34,0xd,0x8a,0x45,0xc9,0x9c,0xaf,0x77,0x7,0x3c, + 0x28,0xd2,0x2e,0x68,0x88,0x66,0x7e,0xf7,0x99,0xf7,0xf4,0x75,0xd4,0x3,0x2b,0x6d, + 0x44,0x3b,0x76,0xf,0x59,0x2f,0x7b,0x77,0x55,0x5b,0xf6,0x94,0x2c,0xaa,0x65,0x24, + 0x1,0x53,0x35,0x69,0xc1,0x69,0x99,0x78,0xb4,0xe8,0x6c,0xa1,0x67,0xf7,0xd8,0x9, + 0x5b,0xda,0x21,0x97,0xa0,0xc8,0x49,0x75,0x48,0x1,0x44,0x22,0xd2,0xb,0x61,0x1, + 0x16,0xe5,0xd1,0xa2,0xae,0x20,0xea,0x45,0xd3,0x4c,0x24,0x4,0x2b,0x64,0x44,0x3b, + 0x16,0x36,0x1f,0x7,0x7f,0xcc,0xd4,0xfc,0x7c,0x27,0xd9,0xf,0xe3,0x1a,0x46,0x6d, + 0x58,0x6f,0x60,0x1b,0x55,0x1,0x56,0x16,0x1e,0xd1,0xce,0xf3,0xeb,0x8d,0xa7,0xb6, + 0x36,0x1e,0xc6,0xfe,0xa8,0xae,0x82,0xd8,0x6a,0xea,0x7c,0x6e,0x3e,0xd,0x3a,0x8a, + 0x21,0x4c,0x2b,0xe8,0x82,0xaa,0x15,0x52,0x73,0x69,0x70,0x1d,0x15,0x27,0x63,0x1f, + 0xd1,0x8e,0xdd,0x23,0x96,0xcc,0xee,0x77,0xc0,0x5a,0xf6,0xbc,0x8,0xf9,0x9e,0x91, + 0x24,0xaa,0xe4,0x7b,0xf6,0xcc,0x84,0x4c,0x5a,0x74,0xb6,0xd0,0xb3,0x7b,0x94,0x92, + 0xf9,0x79,0xea,0xd5,0xfe,0x35,0xbc,0x4d,0x38,0xe2,0xad,0xa9,0x49,0xba,0x63,0x61, + 0xda,0xbf,0x64,0xef,0x22,0xef,0xfe,0xa1,0x1b,0x3,0x53,0xe9,0x90,0x8,0x26,0x5e, + 0x7c,0x89,0xac,0x6,0x64,0x72,0x9,0x37,0x68,0x28,0xb8,0x21,0x79,0x5d,0x50,0x76, + 0x8f,0x94,0x11,0x5d,0x1a,0x38,0xf,0xd2,0x77,0x8e,0xff,0x83,0xa8,0xaa,0x8,0x37, + 0x41,0x9d,0xc1,0x36,0xa6,0x11,0x49,0x42,0x23,0xba,0x78,0x7c,0x5d,0xc1,0xc2,0x7, + 0xbb,0x7f,0xa9,0x80,0x96,0x39,0x9d,0xe0,0x55,0x19,0x5e,0xfb,0x9a,0x80,0x89,0x9, + 0x7b,0x83,0x7a,0x2,0x87,0xbb,0xd1,0x5,0x75,0x24,0xa7,0x11,0xed,0x59,0x58,0x67, + 0x4f,0x37,0xd7,0x3f,0xd5,0xdf,0x75,0x56,0x0,0x51,0xa5,0xa2,0x71,0x76,0x46,0x1b, + 0x67,0x5,0x44,0x5d,0x95,0x46,0xb4,0x63,0xe1,0xd8,0x25,0xb0,0x3f,0xee,0x45,0x20, + 0x65,0xb6,0x49,0x3,0x8c,0x2a,0x39,0x52,0xc3,0x5,0x4e,0x19,0xcc,0xd,0xea,0xa, + 0xe2,0x88,0x24,0x17,0x54,0xd8,0xcb,0x47,0xb4,0x67,0xe1,0xdc,0xb7,0xec,0x9c,0x1, + 0xf,0xe3,0x5a,0x61,0xd2,0xc4,0x75,0x46,0x9b,0xb8,0x12,0x60,0xd0,0x74,0x70,0xda, + 0xb3,0xb0,0xae,0x65,0x3f,0x56,0x25,0xec,0xab,0x42,0x8,0x42,0x32,0xb3,0x45,0xdd, + 0x40,0xc5,0xc2,0x6a,0x8b,0x2a,0xfa,0xec,0x45,0x6e,0x95,0x70,0xe2,0xb6,0x50,0xcf, + 0xce,0x36,0xe8,0xec,0xec,0xa3,0x50,0x1f,0xa1,0x12,0xfe,0xb2,0x69,0x35,0xd3,0xfc, + 0x98,0xbf,0xfd,0xfa,0x97,0xff,0xf9,0xf7,0xdf,0xfe,0xf9,0xeb,0x3f,0xfe,0xfc,0xe5, + 0x1f,0x7f,0xf9,0xed,0xd7,0xbf,0xff,0xef,0x9f,0xbe,0x1a,0x70,0x39,0xa9,0xfc,0xfc, + 0x95,0x7,0x1c,0x7f,0x7,0x20,0x52,0xb0,0x5d,0xfe,0xfe,0x55,0xb,0x98,0x2b,0x79, + 0xf0,0x0,0xb2,0x20,0xfe,0x69,0x11,0xe2,0x5f,0x5c,0xc4,0xbe,0xcc,0x6e,0xcd,0xf1, + 0xed,0x44,0xd8,0x45,0x62,0xb6,0x30,0xc7,0xf8,0x2b,0x55,0x18,0x30,0xb1,0xd,0x62, + 0x4,0x2c,0x79,0xd9,0xdd,0x8f,0xb0,0x26,0x43,0xa0,0xd3,0x1d,0x1c,0x6c,0x20,0xac, + 0x3e,0x88,0x6,0x48,0x4e,0xd7,0x1b,0xba,0x46,0x9a,0x38,0xf7,0x89,0x92,0x8,0xd4, + 0xa2,0xf8,0x20,0xc5,0x7a,0x3b,0x93,0xd5,0xfc,0x64,0xdd,0xe0,0x12,0x70,0x4,0x69, + 0x4c,0x91,0x25,0x30,0x71,0x49,0x1d,0xbe,0x72,0x22,0x3,0x49,0xe,0x5f,0xc9,0x8a, + 0xc1,0xd2,0x7f,0xea,0x47,0x5,0x29,0xc1,0x6,0x62,0x37,0x98,0x8e,0xf3,0x1a,0x44, + 0xd1,0x27,0xda,0x53,0x5,0x88,0x27,0x30,0x40,0x25,0xec,0x2,0xba,0x6,0xa8,0x67, + 0xac,0x3e,0xcd,0xf6,0x8a,0xd8,0x7c,0x60,0x15,0xfe,0xd7,0x2f,0x8d,0x24,0x97,0xea, + 0x50,0x7a,0x9b,0x4,0x3,0x54,0x99,0x62,0x70,0x85,0x4c,0xf6,0x56,0x82,0xeb,0xba, + 0x5f,0x4a,0xf2,0x33,0xe9,0x60,0xff,0x1a,0xd1,0x17,0x99,0xca,0x6b,0x24,0xa9,0xb6, + 0xc1,0x71,0x11,0x94,0x6a,0x1d,0x9f,0xe1,0xd6,0x71,0x53,0xf0,0xd4,0x11,0xec,0x99, + 0x38,0xb4,0x7c,0xfa,0x42,0x71,0xc8,0x90,0x4c,0xfb,0x26,0x14,0x4,0x42,0xaa,0x8c, + 0xe1,0x6b,0x4,0x4,0x73,0xd5,0x60,0xe,0x44,0x14,0xd6,0x6d,0x54,0x1a,0x4f,0xd0, + 0x4e,0x1b,0xf1,0xd,0x45,0x18,0xa1,0x52,0x11,0xbf,0x15,0x61,0x34,0x8d,0xc8,0xb1, + 0x8,0x5b,0x8,0xe8,0xf8,0x87,0x4a,0x3,0x74,0x94,0x7e,0xd,0x4e,0x27,0x28,0xb9, + 0xd6,0x51,0xe9,0xd4,0x51,0xf3,0x7b,0xcc,0xa1,0x6e,0x95,0xd9,0x31,0x1b,0x60,0x61, + 0xec,0xc0,0xed,0xd1,0xe8,0xbd,0x23,0x33,0x33,0x1e,0x6d,0x0,0x12,0xc8,0x16,0x7c, + 0x7,0xbe,0xa0,0x8e,0xd9,0x79,0x2a,0xe,0x2e,0xe8,0x75,0xb9,0x3d,0xb7,0x3f,0x76, + 0x95,0x6f,0xb2,0x5d,0xd3,0x66,0xe7,0x12,0xf5,0x75,0x1a,0xfc,0x8c,0x59,0xbb,0x7f, + 0xa7,0xee,0x27,0x5b,0x3c,0x4b,0x3e,0x6d,0xbe,0xd7,0x97,0x27,0xf6,0xd2,0xed,0xda, + 0x71,0x3a,0xfb,0xe1,0xc7,0xec,0x87,0x2e,0x67,0x3f,0xfc,0x90,0xfb,0x43,0xb7,0x37, + 0xf5,0x3f,0x13,0x8,0x2b,0xb4,0xc1,0x19,0x94,0x52,0xea,0xa7,0x67,0xaf,0x71,0x3d, + 0xde,0x30,0x68,0xc8,0x0,0x37,0xb9,0xc,0x1a,0x58,0xa1,0x30,0xfa,0xa9,0x53,0x84, + 0x80,0xb7,0xc4,0xa0,0x84,0x7b,0x9,0x33,0x2,0x2e,0x30,0x7a,0xc9,0x9f,0x20,0x5, + 0x95,0x68,0xd0,0xa5,0xcd,0x63,0xab,0xbb,0xde,0x39,0x46,0x2d,0xf3,0x4c,0x99,0x6d, + 0x34,0xb8,0xcb,0x3b,0xb,0x48,0x58,0x13,0xa3,0xce,0xf3,0x33,0x76,0x70,0xc9,0xaf, + 0x8f,0x99,0xdf,0x56,0x2,0x8,0x2a,0x88,0x69,0x70,0x4,0x52,0xa9,0xee,0xa,0x38, + 0x68,0xbb,0xe2,0x43,0xde,0x90,0x4d,0x26,0x90,0x15,0x63,0x36,0x69,0x31,0x28,0xd3, + 0x4a,0x1b,0x4f,0x1,0x37,0x67,0x1b,0x88,0x2a,0xa0,0xd1,0x36,0x55,0x1,0x27,0x71, + 0x93,0x21,0x88,0x53,0xab,0xc8,0xbc,0xfd,0x79,0x61,0xe2,0xc8,0xf2,0xe,0x7b,0xe7, + 0x80,0x34,0x44,0xdf,0x8a,0x6d,0x8b,0x79,0x86,0xdd,0xb1,0xce,0xc8,0xc0,0x36,0x87, + 0x65,0xe5,0x49,0xf4,0x1f,0x66,0xd6,0x1b,0xf1,0x64,0x21,0x6f,0x2b,0x1e,0xdb,0xf3, + 0xa8,0x4e,0x61,0x7f,0x28,0x61,0x27,0x9d,0xc2,0xfe,0xc,0xc2,0x4e,0x79,0x20,0x6c, + 0x87,0x70,0x29,0xa7,0x9e,0xae,0xc9,0x13,0x38,0x59,0x6,0xf,0x28,0x35,0x8d,0xa7, + 0x2f,0xd1,0xf3,0x1c,0x59,0x9d,0x23,0xab,0xbd,0x46,0x56,0x19,0xaf,0x15,0xcf,0xa3, + 0x61,0x54,0x42,0x44,0x56,0xf0,0x62,0x16,0xc5,0xe8,0x50,0x66,0x3a,0x58,0x1,0x85, + 0x5a,0x9d,0x87,0x9f,0x3b,0x1e,0x7e,0xd6,0xab,0x5a,0x59,0xc9,0x79,0xf8,0xb9,0xc3, + 0x59,0xc9,0x1b,0xda,0x50,0x20,0x60,0xa0,0xc,0x6e,0xe0,0x81,0xe1,0xdd,0x7d,0x62, + 0xd9,0x29,0x9e,0xa7,0x88,0x27,0x5e,0x25,0x9e,0x3a,0xc5,0xb3,0xbf,0x78,0xb6,0xb7, + 0xa1,0x84,0x50,0xe1,0xc1,0x1c,0xa,0x91,0x7a,0xc2,0x51,0xdc,0xbe,0xf,0x53,0x7c, + 0x3c,0x60,0x41,0x88,0x40,0xd,0xb9,0x9b,0xc5,0x13,0x8b,0x83,0x87,0xd,0x5f,0xab, + 0x18,0x22,0xcb,0xfa,0xab,0x7e,0x17,0x5,0xa6,0xbc,0x8d,0xda,0x5f,0x4e,0x45,0xca, + 0x12,0xcc,0x79,0x42,0xf5,0x65,0xc,0x27,0x3e,0xff,0xcf,0x6b,0xb0,0xdc,0x36,0xa, + 0x4b,0xd3,0x87,0x9e,0xac,0x2a,0xda,0x7b,0x87,0xaa,0x8d,0x89,0x10,0x2f,0x59,0xe, + 0xb0,0x4e,0x9c,0x22,0x89,0x1b,0xb8,0xb1,0xb0,0xb0,0xfb,0xa3,0x6c,0xd6,0x14,0xe3, + 0x99,0x5d,0xf2,0xd9,0x9b,0x35,0xc5,0x3a,0x37,0x6b,0xe7,0x66,0x6d,0x9f,0xcd,0x9a, + 0xd2,0x6b,0xc5,0x43,0xf2,0xac,0x2e,0xf9,0x74,0xe1,0x90,0x9d,0x5d,0xf3,0x93,0x74, + 0x4d,0x8a,0xb3,0x6b,0xfe,0xd0,0x7b,0x4d,0x67,0x8,0xe3,0x1a,0x5c,0x80,0xd1,0x43, + 0xbb,0x4b,0x66,0xaa,0x73,0xaf,0xf9,0x84,0xbd,0xa6,0xf2,0xab,0xb4,0xc9,0x8f,0x37, + 0x1f,0x74,0x77,0xd6,0x50,0x52,0x50,0x6a,0x3c,0xca,0x73,0x84,0x80,0xdc,0x7e,0xef, + 0xac,0x41,0x88,0x7,0x62,0x4e,0x30,0xb9,0x4a,0xad,0x85,0x5f,0x4a,0x62,0xa4,0x81, + 0x4c,0xfa,0x13,0x84,0xb8,0x95,0x4f,0x53,0x86,0xb0,0x95,0xe7,0x67,0xf8,0x14,0xe5, + 0xab,0xbb,0x33,0x81,0xb2,0xc5,0x60,0xa,0x2a,0x96,0xd1,0x55,0x24,0xdb,0xf6,0x76, + 0xcc,0xe7,0xab,0x5c,0x4f,0xea,0x96,0x5c,0x7f,0xb8,0x5b,0x92,0x2b,0x4,0xf3,0x28, + 0x51,0x4f,0x70,0x4e,0x7e,0x70,0x8,0x68,0x74,0x7b,0x6f,0xab,0xc5,0x6e,0x82,0xe4, + 0x0,0x2b,0x89,0x9,0x54,0xb0,0x92,0x49,0x92,0x4a,0xc,0x41,0x19,0xdd,0xe7,0x67, + 0xec,0x7,0xd9,0x5d,0xa,0xbd,0xa9,0x2f,0x2a,0x98,0xa2,0xf,0x3e,0x39,0x8f,0xf2, + 0xf4,0x45,0xb2,0xc8,0xa9,0xca,0x73,0x77,0xb9,0xd3,0xee,0x52,0xec,0xb1,0x78,0x5e, + 0xdf,0xa9,0x28,0x20,0x34,0x6,0x43,0xa8,0x92,0xca,0x6e,0xa3,0x92,0x78,0xba,0x70, + 0xfe,0x78,0x11,0x16,0x29,0x60,0xf1,0xcb,0x3a,0x49,0x21,0xa3,0xfa,0x35,0xd8,0x90, + 0xe6,0xb,0xa9,0x6,0xfe,0xed,0x4e,0x34,0x1b,0xe8,0xd,0x2d,0x10,0xe2,0xc5,0xa6, + 0x65,0xd,0xe,0x98,0xc0,0x9e,0xe1,0x3,0x37,0x4b,0xa5,0x77,0x8e,0x53,0x1b,0x10, + 0x45,0xe7,0x7b,0x92,0x99,0x6f,0xbd,0xb1,0xd,0x8,0xd3,0x62,0x8,0xd0,0x1a,0x69, + 0x4d,0xff,0x48,0x4d,0x53,0xdf,0x30,0x55,0x12,0x60,0x92,0x1c,0x8c,0x81,0x9c,0x24, + 0xcf,0x2b,0x0,0x3b,0xee,0x2c,0xd5,0x5e,0x25,0xcd,0x38,0x4f,0x31,0x3f,0xee,0x58, + 0xa6,0xbf,0xfc,0xec,0x89,0xf5,0x1c,0xcb,0x3c,0x45,0x3c,0xf6,0xaa,0xbe,0x66,0xe7, + 0xfd,0x99,0xdd,0xc4,0xd3,0xe6,0xbb,0xd9,0x97,0xa7,0x2d,0x55,0xb7,0x87,0x3b,0xce, + 0xe5,0xe6,0x67,0x58,0x6e,0x5a,0x9d,0xcb,0xcd,0x3,0xe8,0xfe,0xd9,0xcb,0xcf,0xb6, + 0x82,0x38,0x6d,0x17,0xbe,0x9f,0x3,0x9a,0x27,0x49,0xd3,0xed,0x8f,0x8f,0x4d,0xd3, + 0x0,0xf3,0x22,0x4d,0x75,0x10,0x36,0x79,0x7c,0x9e,0x21,0x78,0xab,0x7f,0x2d,0xf8, + 0x52,0x2b,0x3,0x9,0x6e,0x12,0x14,0x79,0xf9,0xe,0x96,0xa4,0x3,0x27,0xb1,0xfd, + 0x8e,0x85,0x1f,0xe6,0x62,0x8e,0xbf,0xed,0xf5,0x28,0x55,0xf0,0x2c,0xcd,0x21,0x7c, + 0x84,0x45,0xce,0x4f,0x61,0xed,0xb9,0x9a,0xf5,0x7a,0x8d,0x36,0x83,0xce,0xd5,0xec, + 0x7f,0xe8,0x53,0x58,0x6,0x15,0xc4,0x35,0x78,0x0,0xb,0xab,0x75,0x3b,0x56,0xc8, + 0xb3,0xe7,0xa7,0x61,0x6f,0xf8,0xc0,0x84,0x6,0x54,0xd9,0x58,0x98,0xb1,0x14,0x8, + 0xd7,0xde,0x2d,0x14,0x7,0x94,0xa9,0x98,0x8a,0xfb,0xfd,0x67,0x2,0xc4,0xb,0x44, + 0x25,0x1b,0x2c,0xf0,0xe5,0x8d,0x43,0x4b,0x6,0x2c,0x89,0x6,0xee,0x19,0x3d,0x70, + 0xcb,0x8c,0x78,0xe7,0x20,0xb5,0xd4,0x4b,0x58,0x1b,0x8d,0x6b,0x8b,0xbc,0xa7,0x3d, + 0x4,0x4c,0xda,0x20,0x75,0xd,0xdc,0xa0,0xf3,0x46,0xce,0x1f,0x6b,0x9f,0xc,0x85, + 0x94,0x32,0x84,0x40,0x70,0xa6,0xf4,0xb,0x43,0x6d,0x97,0x7c,0xd2,0xb9,0x94,0x3d, + 0xcf,0x1a,0x77,0x3a,0x6b,0x4c,0x79,0x97,0xe1,0x4f,0xda,0x1b,0xbe,0x94,0xa5,0x40, + 0x29,0xa6,0x83,0x2b,0x94,0x45,0xf9,0x2b,0xe6,0x3f,0xf9,0x96,0x4a,0xcc,0x4,0x93, + 0x3,0x84,0x41,0x10,0x95,0x2b,0xed,0x12,0xb,0x7c,0x2a,0xb0,0x6a,0xa0,0x9e,0x6d, + 0x67,0xd4,0xeb,0x3d,0xc7,0x16,0x2b,0xa0,0x2b,0x64,0x76,0x9d,0xec,0x34,0xe8,0xd2, + 0xe2,0x81,0x5b,0x65,0xd6,0x3b,0x7,0xa8,0xe1,0xfd,0x36,0xca,0x69,0xb1,0x18,0xb1, + 0x96,0x76,0x63,0x50,0x74,0x6e,0x22,0xd4,0x7b,0x7e,0xc6,0x7e,0x90,0xad,0x65,0xd1, + 0x73,0x7b,0xe3,0xb9,0xb5,0xdc,0x71,0x6b,0x59,0xf2,0x1a,0x61,0xd6,0xf9,0x95,0xe5, + 0xb7,0xc9,0xe7,0x99,0xfd,0xae,0x27,0xc5,0xa7,0x5f,0xcd,0xa9,0x3a,0x7b,0xe5,0x47, + 0xee,0x95,0x86,0x74,0xf6,0xca,0x1f,0x76,0x5f,0x69,0x8,0x4c,0xa5,0x34,0x4,0x1, + 0xbb,0x76,0x8b,0x82,0xa1,0x6c,0x96,0xbb,0xe1,0x5b,0xbe,0x76,0xc6,0x8,0x39,0x3a, + 0x45,0x6e,0x4,0xac,0xb5,0xa2,0x76,0xb,0x88,0xbc,0xe,0x1f,0x10,0x21,0xa3,0x95, + 0x36,0xca,0xdd,0x5f,0xbf,0xcd,0x21,0xdc,0xe7,0xe9,0xc4,0x8c,0x2e,0xad,0x1d,0x59, + 0xea,0xf1,0xbe,0xc1,0x69,0x79,0x57,0x59,0x84,0x66,0xa2,0x7a,0x41,0xbb,0x81,0x73, + 0x1b,0xa2,0x75,0x3,0x7a,0xe8,0x11,0x52,0x2b,0xbb,0x7a,0xdb,0xb2,0x38,0x41,0x85, + 0xcc,0x7,0x4f,0xa8,0xac,0x3c,0xbf,0xbf,0xb3,0xe3,0xb2,0xd8,0xe8,0x55,0xc2,0xa4, + 0xf3,0xfe,0xd0,0x7f,0x6a,0x59,0x9c,0x10,0xc4,0x54,0x83,0x4f,0x9d,0x90,0xa5,0xdb, + 0x1,0xc9,0x9e,0xbc,0x2c,0x36,0x7a,0xcb,0x8,0x29,0x3,0x32,0xf4,0xb2,0xea,0x62, + 0x3,0x11,0x5d,0x69,0x94,0xe1,0x70,0x5b,0x37,0x21,0x75,0x8b,0xa9,0x9,0x71,0x8b, + 0x19,0xe0,0xed,0xb6,0x8a,0x33,0x83,0x73,0x3,0x2e,0x4d,0x1e,0xba,0x5b,0x52,0xbd, + 0x73,0x88,0x5a,0xe2,0xc9,0xfc,0x2e,0x18,0xe,0x76,0x4f,0x7a,0x82,0x68,0x1b,0x9f, + 0xfe,0xb3,0x13,0x76,0x5e,0x19,0x7a,0x6e,0xe7,0x6c,0x6b,0x2,0xd3,0x76,0xb5,0xf3, + 0x79,0x6f,0xe8,0x3c,0x6c,0xd9,0xe9,0xb0,0xc5,0xd8,0xde,0xe3,0xb0,0xc5,0x38,0xbe, + 0x3c,0xb3,0xcb,0x6e,0xd7,0x4e,0x9d,0x9d,0xf2,0x83,0x77,0x4a,0xa1,0xb3,0x53,0xfe, + 0x3f,0x7b,0xd7,0xb2,0xeb,0x46,0x72,0x43,0xff,0xc5,0x3b,0x3,0x25,0x82,0xef,0xc7, + 0x22,0x5f,0x93,0x99,0x45,0x56,0x19,0x20,0xd9,0xe4,0xef,0x33,0x90,0x65,0xd9,0xa5, + 0x2e,0x61,0xd4,0xb7,0x5b,0x3d,0xb2,0x6e,0x19,0xf0,0xe2,0x12,0x10,0x17,0xa4,0x4e, + 0x1d,0x92,0xe2,0xe3,0x53,0x2e,0xa5,0x24,0x48,0xa6,0x6a,0xe1,0x10,0x45,0x3e,0xe6, + 0x49,0x91,0x99,0x51,0xee,0x91,0x51,0x8a,0xad,0x82,0xe4,0x1c,0xe7,0x7a,0x2a,0x78, + 0x10,0x11,0x91,0x3f,0x3e,0x7b,0x82,0xa0,0x65,0xd4,0x3c,0x1,0x19,0x93,0xc6,0xc8, + 0xa9,0xc7,0x59,0x72,0xc3,0x64,0x2d,0x9b,0x83,0x4b,0x3b,0x11,0x21,0x41,0xde,0xe9, + 0xa6,0x76,0x4c,0xf8,0xd1,0xf1,0x55,0x17,0x8a,0x2c,0xe1,0x6b,0x6d,0x3e,0x62,0x30, + 0xe9,0x70,0x5f,0xec,0x97,0x5a,0xe0,0x42,0xf5,0x7b,0x53,0xa5,0xca,0x33,0xfd,0xb4, + 0xf0,0x88,0x67,0xd8,0x8d,0x8d,0x13,0x21,0xc3,0x16,0xfe,0x48,0x50,0x74,0xee,0xc4, + 0x9d,0x8a,0xa5,0xe6,0x4f,0x53,0x88,0x55,0xdb,0x44,0x92,0x2,0x8e,0x15,0x2d,0x14, + 0x8c,0xbc,0x76,0x3f,0x20,0x60,0x3a,0x77,0xf9,0xcc,0xe4,0xf2,0xa8,0xe4,0x52,0x6b, + 0x25,0x78,0x8c,0x3e,0x4e,0x92,0xc,0x9c,0x5c,0xcd,0xd,0x42,0x1d,0x6b,0x77,0xe4, + 0xd8,0x86,0xc7,0x38,0x1c,0xaa,0xce,0x69,0x4b,0x14,0x18,0xc7,0x9d,0x41,0xce,0x24, + 0x28,0xbc,0xfe,0xa6,0x9d,0xdf,0x17,0x15,0xa2,0x5f,0x9f,0x58,0x73,0x50,0x5f,0x8c, + 0x2,0xde,0x15,0xdb,0x25,0xaf,0x19,0xe9,0x7e,0x67,0xe2,0x34,0x7b,0xae,0xaf,0x16, + 0x4e,0x31,0x67,0x5b,0x98,0xb9,0x20,0x68,0xe0,0x94,0x0,0x13,0xe2,0x4e,0xdc,0x29, + 0x59,0xea,0x9e,0xab,0x29,0x77,0x25,0xd3,0xfe,0xc9,0x89,0x99,0x71,0xee,0x91,0x71, + 0x5a,0xad,0x1,0xa8,0xcf,0xa9,0xb1,0xc3,0xc1,0xb3,0x9d,0x4c,0x7b,0xe4,0xf8,0x8a, + 0x4e,0x1f,0xb7,0x49,0x9e,0xbf,0xa,0x79,0x7a,0x4c,0xf2,0xfc,0x15,0x33,0x4f,0xaf, + 0x2d,0x64,0xe9,0x1,0x5c,0x5c,0x2d,0x18,0xd0,0x38,0x74,0xf7,0xf8,0x39,0xe6,0xc, + 0xd9,0xcc,0x3c,0x8f,0xca,0x3c,0x43,0x56,0x82,0x27,0xec,0xc3,0x64,0x89,0xa,0xe5, + 0xa6,0xcd,0x5,0x38,0x19,0x67,0xeb,0xdc,0x91,0x61,0x67,0xc4,0x1a,0x6a,0x8b,0x79, + 0x7d,0xeb,0xd5,0xf7,0xd6,0x15,0x60,0x62,0x34,0x2f,0x88,0x48,0xb6,0x61,0xe4,0x99, + 0x34,0xc1,0xb3,0x7,0x78,0x52,0xd6,0x80,0x27,0xe7,0x38,0xd6,0x4b,0xef,0xaf,0xa, + 0x8,0x93,0x6c,0x4e,0x80,0x18,0x92,0x63,0xe4,0xc4,0xe3,0x1,0x5b,0xd6,0xc7,0xf3, + 0x0,0x36,0x50,0x3c,0x6f,0x90,0x10,0x1,0xf4,0x7b,0xbf,0x13,0x6a,0x42,0xea,0xa5, + 0x85,0x3f,0x2f,0xbb,0xe9,0x2b,0x4,0x2e,0xf1,0x3b,0xf1,0xe8,0x77,0xa6,0xfb,0xe2, + 0xcb,0xf1,0xea,0xa5,0xe2,0x77,0x4e,0xd7,0x8a,0x9e,0xed,0xa6,0xde,0x23,0xb,0x3, + 0x93,0x81,0x67,0xd8,0xc0,0x1d,0x49,0x3c,0x12,0xf,0xdc,0xfc,0x59,0x72,0xb4,0x92, + 0x3d,0xc9,0x71,0xf7,0x1c,0xad,0xe6,0x79,0xf1,0x99,0xa3,0x1d,0x95,0xa3,0x55,0xac, + 0x5,0x4f,0xfd,0x25,0x39,0x72,0x19,0xd1,0x92,0x1c,0xa9,0x12,0xa8,0xdc,0x2e,0xe4, + 0x38,0x77,0x8b,0x1f,0x19,0x66,0x3a,0xae,0xe1,0x33,0xc7,0x39,0xde,0xb4,0x37,0xed, + 0x38,0xda,0xd6,0x19,0x7,0x34,0x24,0x6f,0x49,0xe0,0xc2,0x16,0xb,0xf8,0x8c,0x3b, + 0xde,0x26,0x7c,0x76,0x81,0x4f,0xac,0x82,0xcf,0x2c,0x71,0xfc,0x7d,0xd3,0x81,0x22, + 0x84,0xd5,0x82,0x21,0x9d,0x8a,0x47,0x19,0x98,0x13,0x6d,0xc7,0x4e,0xef,0x71,0x92, + 0x2d,0xd,0xf5,0xc,0xc2,0xda,0x4e,0x44,0x5a,0xc0,0x15,0xf7,0x66,0x1e,0x10,0xbe, + 0x8d,0x5a,0x2b,0x25,0xd4,0xcd,0xcc,0x83,0x32,0x1,0x71,0x2f,0xfa,0x69,0x95,0xb5, + 0x93,0x43,0x79,0x46,0x27,0x5e,0xea,0x7c,0xe7,0x24,0xcd,0xc9,0x9e,0xec,0xa3,0xde, + 0xf4,0x9e,0xb7,0x1e,0x12,0x28,0xcf,0x5b,0xbb,0xb3,0x41,0x86,0x75,0x3e,0x1a,0x7e, + 0xfe,0x2a,0x9b,0xbd,0xdb,0x1f,0xa2,0x4f,0x7,0x76,0x66,0x6e,0x51,0x20,0x96,0x98, + 0xe3,0x87,0x21,0x56,0x40,0x7e,0x5e,0x16,0x9f,0x79,0xda,0x41,0x79,0x9a,0xf3,0x76, + 0xf8,0x8c,0xbe,0xef,0x2c,0x1b,0x46,0x4,0x1d,0x4c,0x85,0xb4,0x5,0x82,0x65,0x30, + 0x7d,0x7d,0x1c,0x3b,0xbc,0xe5,0x29,0x36,0x7,0x21,0x6f,0x27,0x22,0x76,0xa8,0xb2, + 0x3b,0x74,0xa9,0xa,0xd6,0x48,0x2a,0x20,0x6f,0x89,0x11,0x71,0x71,0x57,0x53,0x91, + 0xae,0x1d,0x28,0x56,0x8,0xe6,0xdc,0x49,0x17,0xa,0xdf,0x98,0x28,0x39,0x9e,0xec, + 0x9d,0xde,0xec,0xe6,0xb7,0xee,0x61,0xb0,0x9f,0x2c,0xae,0xa8,0x10,0xb4,0x70,0xcd, + 0xf0,0x93,0xf4,0x89,0x9a,0x4d,0x9c,0x6b,0x5f,0x4a,0x9c,0x19,0xe5,0x81,0x19,0xa5, + 0xac,0x82,0xa4,0xcc,0x82,0xcc,0x36,0xf8,0xec,0x49,0x73,0x3,0x28,0x8a,0xed,0x9d, + 0x51,0x4a,0x4c,0x8a,0x7c,0x5d,0x8a,0x94,0x9a,0x14,0xf9,0x19,0xb7,0x2f,0x32,0x58, + 0x14,0x52,0xb,0x87,0x2c,0x71,0x19,0x3e,0x6,0x4a,0x8f,0xc3,0x5c,0x65,0xc3,0x86, + 0x3f,0x37,0x90,0xf0,0x76,0xa2,0x10,0x2,0xd7,0xbc,0x3,0xf3,0xfa,0x31,0x7,0x6a, + 0x2,0x74,0xbb,0x80,0xd1,0x14,0x16,0x22,0xbb,0x7e,0x9d,0xbc,0xa2,0x13,0xc,0xd4, + 0xbd,0x33,0xd0,0xd5,0x9e,0xed,0x9f,0xde,0xea,0x49,0xdc,0x7b,0xc2,0xc1,0x16,0x56, + 0x8f,0x6b,0xf9,0xcf,0x2b,0x86,0x1f,0xbc,0xca,0x3e,0x49,0x28,0xac,0xb1,0x75,0xab, + 0x6a,0x14,0xa1,0xb7,0x50,0x70,0x2a,0xda,0xbd,0xf3,0xda,0xb5,0x36,0x7c,0x8f,0x84, + 0xc0,0xcf,0x9b,0x3c,0xab,0x80,0x9c,0xef,0xc0,0xdc,0x7f,0x34,0xdd,0xb,0x3,0xde, + 0xae,0x50,0x16,0x1d,0xca,0xec,0x22,0xf3,0x38,0xd3,0x46,0x27,0x1d,0x29,0x7d,0x67, + 0xb0,0x1b,0x3d,0xd7,0x49,0xbd,0xe5,0x17,0xce,0x30,0xc0,0x91,0xd9,0x1d,0x92,0x46, + 0x3e,0x1a,0x38,0x73,0x12,0xfb,0x5e,0xf,0xc0,0x90,0xd8,0x4d,0x1e,0x7,0xbc,0xd9, + 0x4,0xfc,0xeb,0x3,0x3e,0x26,0xe0,0xdf,0xe3,0xf7,0xa0,0xf5,0x5d,0x7c,0xea,0x2c, + 0x2d,0x19,0x94,0x31,0x78,0xc,0xf7,0x79,0x9a,0x7d,0x97,0x52,0x97,0xaf,0xc2,0xa4, + 0xcf,0x52,0xd7,0x2b,0x2f,0xc2,0xc2,0x4,0x12,0xd3,0x16,0x2,0x6e,0x88,0x3e,0x44, + 0x8e,0xdb,0xe3,0x44,0xb9,0x65,0xd4,0x95,0xb,0xc2,0xda,0x89,0xc8,0x2,0x90,0xe3, + 0x5e,0x87,0xbb,0x7c,0x7f,0x5b,0x95,0xfd,0x7a,0x8a,0xb2,0x3c,0xc0,0x84,0xf8,0x2c, + 0x2e,0x28,0x59,0xb4,0x4f,0xdf,0x17,0x5f,0x6,0x60,0x87,0xba,0xdf,0x98,0x2e,0xbd, + 0x9e,0xea,0xaa,0xde,0x27,0x82,0x80,0x3,0x2b,0x8b,0x8c,0xe,0xb1,0xab,0xe0,0x62, + 0x1e,0xa1,0x53,0x32,0xd0,0xfd,0x69,0x92,0xe3,0xa0,0x8d,0x3b,0x23,0xd9,0x5a,0x22, + 0x90,0x3a,0xf3,0xd7,0xbd,0xeb,0xdc,0x31,0x37,0x2d,0xcf,0x36,0x8a,0xa3,0xda,0x28, + 0xc2,0xd6,0x42,0x27,0x3e,0x4e,0x94,0x5,0xc5,0xd2,0x82,0x40,0xc2,0x44,0xf7,0x7, + 0xce,0x86,0xc7,0xd8,0x10,0x88,0xce,0xdd,0x6c,0xa2,0x10,0xac,0x77,0x88,0x93,0xfc, + 0xfb,0xcd,0x17,0x45,0xfb,0xde,0x5e,0x58,0x4a,0x80,0x25,0x71,0x96,0x26,0x44,0x2e, + 0x56,0x41,0xdc,0x17,0x5f,0xf2,0x9d,0x91,0xea,0x37,0xa6,0xcd,0xa4,0xe7,0x7a,0x6a, + 0xe1,0x93,0x8c,0x85,0x91,0x2f,0x83,0x79,0xb,0x97,0x14,0x74,0xb2,0x4e,0xc1,0xad, + 0xda,0xd9,0x7c,0xb8,0x23,0x83,0xf6,0xef,0x4c,0xce,0x9d,0xcb,0xbb,0xa4,0x9a,0x69, + 0xab,0x80,0x39,0x77,0x2e,0x1f,0xe,0x9d,0xed,0xc,0xda,0x3,0xa7,0x1e,0x67,0xcc, + 0xa2,0xc9,0x98,0xbf,0x6,0x63,0x96,0x4c,0xc6,0xfc,0xb5,0x72,0xcc,0xb2,0x4d,0xe5, + 0x58,0x81,0x12,0xb6,0x16,0x1,0x9e,0x54,0xbb,0x2f,0x8e,0xf5,0x9a,0x2b,0x97,0x67, + 0x96,0x79,0x54,0x96,0x59,0xf5,0x0,0x78,0x56,0xb3,0x21,0x5,0x90,0x14,0x37,0xf, + 0x8,0x95,0x1a,0xb6,0x1e,0x5,0xd2,0xce,0xc8,0x9,0xfc,0xf8,0x53,0x2c,0xc2,0x20, + 0x44,0xed,0x44,0x58,0x5,0x44,0x3e,0x7e,0x8a,0x8d,0xf0,0x7a,0x44,0x34,0xe8,0x7a, + 0xe7,0x55,0x14,0xf4,0x22,0x34,0x40,0x59,0x90,0xe3,0x5d,0xb1,0x5c,0xde,0xed,0x81, + 0xe6,0x37,0xe6,0xcc,0x40,0x7b,0xb6,0xa3,0x7a,0x97,0xd0,0xc0,0xc6,0x9,0x42,0x6c, + 0x83,0xd3,0x11,0xa9,0x92,0x9d,0xb8,0xd3,0xb1,0x50,0xfc,0x39,0x48,0x33,0x70,0x43, + 0x75,0x89,0xc1,0xd1,0xa2,0x79,0x42,0x11,0x99,0xce,0xde,0xfd,0xe3,0xb2,0xcc,0xc0, + 0x5a,0x3,0x4c,0x9a,0x7b,0x96,0x5f,0x7d,0xe1,0x9d,0x41,0x30,0x6a,0xb,0x3,0xc5, + 0xb0,0x21,0xb3,0xd2,0xac,0xd0,0xec,0x82,0x1d,0xb2,0x55,0xd8,0x99,0x15,0x9a,0x97, + 0xde,0x77,0xa7,0x20,0x25,0xda,0xdc,0xc1,0xc5,0x5d,0xc6,0xc8,0xa9,0xc7,0xa3,0x4d, + 0x9e,0xb,0x8a,0x67,0x9e,0x76,0x50,0x9e,0x16,0x2c,0x2b,0xe3,0x35,0xb6,0x3d,0x59, + 0x66,0xef,0x4c,0x8d,0x67,0x8d,0x63,0x62,0xe7,0x30,0xec,0xd4,0x4a,0xec,0x8,0xed, + 0xc6,0x32,0x73,0x71,0xdc,0x81,0xf1,0x9a,0xc8,0x9a,0x78,0x4d,0xe6,0x7e,0xe2,0x67, + 0xc6,0x6b,0x84,0x88,0x88,0xb4,0x6d,0xec,0x5f,0xc0,0x8,0x89,0x5b,0x21,0x68,0xa4, + 0xc5,0x30,0x68,0x93,0x78,0x9c,0x78,0x64,0x6e,0xc2,0x99,0xc4,0x73,0x14,0xf1,0xe8, + 0x76,0xf8,0x8c,0xbe,0xef,0xba,0x65,0x13,0x8e,0x42,0x14,0xa1,0xb5,0x24,0x8,0x8c, + 0xa2,0xaf,0x7f,0x49,0x3d,0xff,0xfe,0xed,0x5f,0x7f,0xfc,0xf9,0xff,0x4f,0x6f,0xfd, + 0xf6,0xfb,0x7f,0xff,0xf7,0xc7,0xef,0xff,0xf9,0xc7,0x97,0x7f,0xfe,0xf9,0xef,0xcb, + 0xbb,0x32,0x94,0xa9,0x41,0x6a,0xc8,0x33,0x18,0x4a,0xbb,0x8a,0xc2,0x6,0x83,0x77, + 0x4a,0xd7,0x15,0x1e,0x4c,0x13,0xa8,0x98,0x9a,0x98,0x80,0xa6,0x86,0x4e,0x22,0x5b, + 0x62,0xac,0xb6,0x11,0x17,0x41,0x30,0x63,0xb6,0x4c,0x60,0x54,0xec,0x88,0xeb,0x3e, + 0xdc,0xe7,0x9d,0x8a,0x5d,0x50,0x66,0xab,0x7e,0x8c,0xb2,0x39,0xc4,0xf3,0x77,0xed, + 0xab,0x11,0x40,0x14,0x6d,0x51,0xa0,0x22,0x3c,0xc,0xee,0xcc,0x36,0x20,0x67,0xec, + 0xef,0x59,0x7b,0x78,0xc4,0xd1,0xeb,0xf9,0xe9,0xed,0x23,0x45,0x43,0x7,0x37,0xe7, + 0xb3,0x38,0x3d,0x2b,0xcf,0xe2,0xd0,0x2,0xe,0x8d,0x26,0x66,0xc0,0xcc,0x56,0x1f, + 0x88,0x15,0xad,0x8e,0x48,0xb5,0xd6,0x33,0x56,0x8f,0x46,0x5f,0x81,0x33,0x9f,0xd3, + 0x32,0x33,0xd5,0x3a,0x2a,0xd5,0x72,0x7b,0x4a,0xaa,0xe5,0xf1,0x65,0x2f,0x76,0x9b, + 0x89,0xd6,0x22,0xd1,0x42,0x87,0x2a,0xe2,0x73,0x22,0x82,0xa2,0x2c,0xfb,0x85,0x80, + 0xbe,0xaa,0xed,0x21,0x68,0xc3,0x8a,0x34,0x54,0x48,0x96,0x76,0x22,0x26,0x81,0x10, + 0xfe,0x8b,0x15,0x69,0x29,0x8b,0x5,0x48,0x9a,0x7a,0x6d,0xf,0x8b,0x62,0x20,0x73, + 0x3e,0x8b,0xfd,0xba,0x85,0xdb,0x24,0x81,0x29,0xe3,0xae,0x6,0xf9,0x44,0x2b,0x94, + 0x22,0x64,0x1b,0xd7,0x15,0xa0,0x94,0x79,0x4b,0x83,0x90,0xca,0xd9,0x91,0x74,0x64, + 0x76,0x16,0xb6,0xa,0x9a,0xb3,0xab,0xe2,0xe5,0xf7,0xd5,0x7,0xb0,0x51,0x50,0x4b, + 0x1,0x75,0x93,0x71,0x53,0x52,0xac,0x68,0xad,0xc8,0xd9,0x5a,0x31,0x43,0xc7,0xa3, + 0x42,0xc7,0x94,0x67,0xec,0xab,0x8f,0xb4,0xd,0xa1,0x63,0x80,0x9,0xbb,0xb6,0x50, + 0xf0,0x52,0x8d,0xaf,0x2b,0xb0,0xb3,0x65,0x19,0x6f,0x20,0x4,0xb5,0x13,0x91,0x7, + 0xb0,0xd7,0x9d,0xde,0x6a,0x2b,0xb8,0xec,0xa6,0xf0,0x2e,0x8,0x91,0x4,0x9,0xeb, + 0x45,0x5,0x6e,0x7e,0x6,0x9e,0xa3,0x1,0x65,0x74,0xd2,0x5e,0xd9,0x1b,0x77,0xbc, + 0x67,0x3d,0xd7,0x2b,0xbd,0xc9,0x83,0x32,0x3b,0x37,0x28,0x42,0xaa,0x64,0x6f,0x70, + 0x65,0x28,0xec,0x7c,0x33,0xfe,0xf8,0x55,0xf6,0x49,0xa2,0xcb,0xa2,0x7d,0xe9,0x70, + 0x46,0x97,0x7,0x46,0x97,0x25,0x6b,0x60,0x59,0xb3,0x7,0x64,0x1b,0x7c,0xf6,0xa4, + 0xb8,0x11,0x14,0x63,0xe7,0x55,0x24,0x51,0x35,0xe9,0xf1,0xe5,0xe8,0x31,0x91,0x26, + 0x3d,0xfe,0x22,0xf4,0x98,0x28,0x9b,0x16,0x8c,0x8,0x20,0x52,0xb5,0x22,0x60,0xf7, + 0x92,0xaf,0x3b,0xff,0xbc,0x97,0x38,0x6f,0x52,0xcf,0xdc,0xf1,0xa0,0xdc,0x31,0x31, + 0xd6,0x82,0xa7,0x3e,0xdc,0x5a,0x4c,0x4,0x1e,0x5a,0x2d,0x19,0xb4,0x1c,0x6d,0xb6, + 0x94,0x1c,0x17,0x56,0x26,0xad,0xa2,0x33,0x9a,0x2d,0x25,0x7,0xb4,0x16,0x6f,0xa2, + 0x21,0x85,0xc8,0x8a,0x96,0x9,0x55,0xac,0xc3,0x85,0x3d,0x49,0x36,0xc1,0xb3,0xb, + 0x78,0x62,0x15,0x78,0xe6,0x45,0xea,0x3,0xc1,0xb3,0x9e,0x86,0x4,0xd4,0xd9,0x5b, + 0x22,0x30,0x93,0xf9,0x10,0x39,0xbc,0x22,0x60,0xe3,0xd9,0x27,0x32,0x3,0xb6,0xa3, + 0x2,0x36,0xb6,0x95,0x1,0x1b,0xc7,0x9e,0x34,0xb3,0x7b,0xb6,0xc3,0x73,0x9e,0x65, + 0x82,0xe7,0x28,0xf0,0xc8,0xda,0x52,0x81,0xc8,0x6e,0x34,0x33,0xb3,0x9d,0x3,0x3, + 0x36,0xb1,0x35,0x1,0x9b,0xcc,0x16,0x8d,0x57,0x3f,0x21,0x93,0xa0,0xc1,0xd5,0xd2, + 0xc1,0x38,0x79,0x18,0xb2,0xc9,0xbc,0x20,0xb3,0xb,0x76,0x74,0x55,0xa5,0x40,0x67, + 0xa5,0xe0,0x95,0x93,0x1d,0xc,0x20,0xf5,0x16,0x1,0x61,0x21,0x32,0x4,0x8e,0xda, + 0xe3,0xe1,0x9a,0xce,0xd9,0x93,0x19,0xae,0x1d,0x15,0xae,0x69,0xad,0xc,0xd7,0x6c, + 0x5b,0x49,0xd,0x81,0x1d,0xbd,0xa5,0x2,0x9b,0x4,0xed,0x7d,0x45,0x22,0x6d,0x16, + 0xa,0x26,0x78,0x8e,0x2,0x8f,0xd9,0x5a,0xf0,0xc4,0x96,0x3b,0x65,0x25,0x62,0x2d, + 0xc,0x34,0x39,0xf7,0xaf,0x12,0xd8,0x86,0xfb,0x2b,0x92,0x90,0x7a,0xde,0x51,0x1e, + 0xa,0x55,0xf7,0xe,0x97,0x9,0x81,0xe2,0xb7,0xb1,0x5,0x95,0xeb,0x6a,0xd5,0x32, + 0x83,0x38,0xcb,0x1c,0xca,0x17,0xa7,0xb0,0xee,0x8b,0x2f,0x17,0xb2,0x86,0x8a,0xdf, + 0xb8,0xf,0xc2,0xe9,0xd9,0x8e,0xfa,0xe1,0x91,0x0,0x74,0xb6,0x5b,0x1b,0x1b,0x2, + 0xdb,0xc2,0x1f,0x1,0xb6,0x58,0x5f,0xdc,0xa9,0xe8,0xd4,0xce,0x4b,0x9f,0xbb,0x32, + 0x68,0xff,0xce,0xf8,0x5c,0xee,0xb9,0x4b,0x9e,0xe6,0xb6,0xa,0x98,0xb3,0xc6,0xf1, + 0xa,0x79,0x1a,0x51,0x91,0xf9,0x82,0x41,0xa9,0xc,0xa,0x89,0x3a,0x6,0x5d,0x22, + 0xa7,0x1e,0x67,0xcc,0x98,0x13,0x28,0x33,0xd6,0x3c,0x2a,0xd6,0x8c,0xd,0x13,0x28, + 0x8a,0x95,0xe2,0x34,0xfa,0xbe,0xc7,0x86,0x9,0x94,0x44,0x48,0x2b,0xd2,0xa6,0xc, + 0x16,0xe8,0x5f,0x57,0x40,0x67,0xc3,0x0,0x8a,0x53,0x1,0xa1,0xb7,0x53,0x1a,0x3, + 0xa7,0xdb,0x9d,0x20,0x6,0x13,0x84,0xd8,0x1a,0x91,0xc4,0x6d,0x53,0x2d,0x49,0x75, + 0x7f,0x2a,0xfd,0x38,0xce,0x6a,0xa,0xa2,0x12,0x9d,0x78,0xa9,0xee,0x9d,0x23,0xcc, + 0xa8,0x27,0x7b,0xa7,0xb7,0x3c,0xb1,0xf5,0xce,0x60,0xc8,0xb0,0x1b,0xa3,0xab,0x2, + 0xe7,0xc2,0x43,0xc3,0x8f,0xd3,0xe7,0x39,0xb9,0x90,0x19,0x5b,0xd6,0x90,0x3a,0xba, + 0x37,0x15,0x10,0xcb,0xea,0x1c,0x75,0xff,0x15,0x99,0xbf,0x9e,0xed,0x12,0x59,0x66, + 0xad,0x1,0x64,0xcd,0x93,0xb,0x7b,0x23,0xa7,0xd0,0xb6,0x4e,0x70,0xa1,0x64,0x44, + 0x73,0x4,0xca,0x50,0x9f,0xf0,0x39,0xe,0x3e,0x85,0xb1,0x2,0x3e,0x85,0xb3,0x5b, + 0xf0,0xef,0x9b,0xe0,0x12,0x2a,0xad,0x66,0x4,0x4a,0x9e,0xc3,0x72,0x45,0xd1,0xde, + 0x57,0xbe,0x8a,0x64,0xc3,0xac,0x90,0x7,0x38,0x49,0x3b,0x95,0x14,0x20,0xeb,0xbd, + 0x9,0x2e,0x83,0xf2,0xc,0x6b,0xc4,0x54,0x60,0x25,0xdd,0xbc,0xf,0x33,0xf7,0x7f, + 0xa,0x5c,0xea,0x68,0xc8,0x80,0x42,0xdc,0x9,0x7,0xca,0xde,0x37,0xbc,0x2c,0xb2, + 0xe7,0x3a,0xa7,0x37,0xbb,0xe8,0xad,0x67,0x14,0x54,0x62,0x61,0x77,0x76,0x30,0x21, + 0xee,0x7c,0x34,0xd4,0x70,0x95,0xbd,0x39,0xd2,0xef,0x73,0xd8,0x36,0xe2,0x54,0x60, + 0x43,0xe7,0x66,0x1,0x45,0x5c,0x31,0x7e,0x12,0x62,0x5,0xd8,0x67,0x7f,0xe3,0xac, + 0xc3,0x1c,0x54,0x87,0x29,0xa6,0x67,0xd4,0x61,0x8a,0xb7,0xec,0xeb,0x36,0x30,0xa1, + 0xd4,0xa6,0x5,0xa4,0x4c,0x8f,0xd7,0x61,0x8a,0xb7,0x3c,0xc5,0x4a,0xe0,0xa8,0xed, + 0x54,0xe4,0x10,0x8c,0x79,0x87,0x28,0xb9,0xc0,0x2e,0x49,0x7c,0x25,0xe8,0x4d,0x25, + 0x86,0x91,0x80,0x6f,0x24,0x7c,0x3d,0xc6,0x18,0x6,0x56,0x12,0x9d,0x74,0xa4,0xf1, + 0x8d,0xd9,0x92,0xe3,0xd9,0x2e,0xea,0x2d,0x9f,0xb1,0xf0,0x46,0x49,0xdc,0x1a,0x9e, + 0xd1,0x40,0x62,0xe9,0xa4,0xb1,0x2,0xfa,0x34,0x87,0xa3,0x8b,0x6b,0x5f,0x76,0x9c, + 0x69,0xe5,0x81,0x69,0xa5,0xac,0x42,0xa6,0xcc,0xbe,0xcc,0x6d,0xf0,0xd9,0x91,0xf1, + 0x6,0x48,0x14,0xdb,0x0,0x9d,0xb1,0xc3,0x63,0xb2,0xe5,0x8b,0xb3,0xa5,0xd4,0x64, + 0xcb,0xcf,0x9b,0x5b,0x1a,0x81,0x79,0x4,0x35,0x33,0x50,0xcd,0xd0,0xe1,0xc3,0xa0, + 0x2b,0x20,0xaf,0xf,0x14,0x92,0x8,0x38,0x82,0xf4,0xfb,0xf7,0xc9,0xc4,0x25,0xb5, + 0x9d,0x38,0xd5,0x81,0x93,0xda,0x89,0x94,0xd,0xc4,0xef,0x55,0x92,0x22,0x20,0xbe, + 0x75,0x4b,0x91,0x9,0xe4,0x4d,0xb5,0x81,0xcc,0xc0,0x33,0xac,0x97,0xf9,0xb5,0x2a, + 0xe1,0x79,0x29,0x56,0x74,0xe2,0x91,0xd6,0x37,0x86,0xbd,0xda,0x93,0xdd,0xd4,0xdb, + 0x5e,0xd1,0xf9,0xd6,0x1f,0xe5,0xb9,0x34,0x7c,0x82,0x55,0xef,0xa6,0xb1,0x86,0xab, + 0x6c,0xd2,0x7c,0xdf,0x60,0x80,0x8e,0x5e,0x4d,0x15,0x14,0xc5,0x6a,0x8,0x67,0x93, + 0xbd,0x79,0xde,0x36,0x64,0xc5,0x8e,0x1,0x5a,0xd4,0x4e,0x19,0x8,0x6c,0x71,0x8f, + 0xe7,0xcb,0xbf,0xb9,0x5d,0x87,0x5f,0x5,0xa6,0xcc,0x5e,0x96,0x3f,0x3a,0x31,0x95, + 0xc1,0x9c,0x3b,0xe9,0x42,0xe1,0x1b,0x63,0xdd,0xe2,0xc9,0xde,0xe9,0xcd,0x4e,0x76, + 0xeb,0x9e,0x82,0xe8,0x4c,0xee,0x4,0x42,0x9d,0x6f,0xc6,0x1f,0xbd,0xca,0x26,0xb9, + 0xff,0x4,0x5f,0x97,0x2f,0x3b,0x3e,0x10,0x8f,0x83,0xdc,0x27,0xc8,0x5f,0x18,0xe4, + 0x3e,0x41,0xfe,0x16,0xd7,0xf7,0xd7,0x77,0xb7,0x6b,0x88,0x37,0x47,0xa8,0xb0,0xe4, + 0x21,0xe1,0xfb,0x9c,0x42,0xfe,0x3f,0x7b,0xd7,0xb2,0xdc,0x38,0x96,0x5c,0xff,0x65, + 0x56,0xae,0x8,0x28,0x9d,0xef,0xc7,0x62,0x3e,0x66,0x16,0x76,0x87,0x17,0x63,0x47, + 0xb4,0x67,0xe1,0xcf,0x37,0x9,0x51,0x64,0x25,0x75,0xc1,0x22,0x5b,0x14,0x4a,0x85, + 0x42,0xf7,0x46,0x75,0x82,0x38,0x1,0x9d,0xcc,0x93,0x79,0x6f,0xe2,0x82,0x7a,0xca, + 0xb4,0x2b,0x1e,0x72,0x64,0xec,0xd3,0xae,0x15,0xcd,0xf3,0xf8,0x69,0xbe,0x2,0x52, + 0xf7,0xc9,0x18,0x18,0x8d,0x7c,0xe8,0x9c,0xb0,0xfb,0xfb,0x63,0xc4,0x5f,0x7f,0xcd, + 0x48,0x9,0x38,0xa6,0x97,0x52,0x87,0x30,0x59,0xd8,0x50,0x39,0x27,0xf0,0xeb,0x93, + 0xf7,0xf3,0xcc,0xa4,0x8c,0xcf,0xd3,0x11,0x41,0xb0,0x92,0xf6,0xde,0xd7,0x4d,0xf8, + 0x80,0x74,0xce,0x6d,0x4f,0xba,0xa2,0x3e,0x37,0x3e,0xd7,0xb1,0x70,0x73,0x6e,0x12, + 0x8b,0x40,0xea,0x20,0x10,0x34,0xb7,0xbf,0x6,0x37,0x86,0x11,0xf1,0x6f,0xf2,0x70, + 0x28,0xe9,0x43,0xcd,0x91,0x81,0x9d,0x78,0xb2,0x84,0x40,0x12,0xfe,0xf6,0xec,0x7d, + 0x6f,0xee,0x2f,0x4f,0xef,0x7,0x29,0xd6,0x3a,0x48,0x91,0xf6,0xa0,0x79,0x3e,0x70, + 0xd4,0x9d,0x10,0x4a,0x54,0x27,0x2d,0x28,0x41,0xb5,0x6f,0xcf,0x3e,0x6f,0x98,0x1f, + 0x28,0xc6,0x4e,0xe0,0x22,0xd3,0x4b,0xb1,0x82,0x1a,0xf2,0x42,0xb7,0x44,0x82,0x3c, + 0x3f,0x4c,0x88,0x3c,0xbd,0x95,0xc2,0xe,0x64,0xfe,0xa,0x17,0xa8,0x84,0xf5,0xc2, + 0xbb,0xc,0xe7,0xe9,0xb8,0xdb,0x88,0x7a,0xc3,0x6d,0xb3,0xe8,0xb3,0x23,0xd5,0x63, + 0x32,0x52,0x99,0x18,0x82,0xf2,0x5d,0xe7,0x24,0x4,0x21,0xb6,0x6,0x37,0x8e,0x1, + 0xf5,0x3e,0x4b,0x7a,0x62,0x27,0xed,0xf5,0xa6,0xf6,0x97,0xa8,0x9f,0xb2,0xcd,0x2c, + 0x7b,0xc8,0x9f,0xfb,0x4b,0xd4,0x4f,0x5f,0x76,0x56,0x7d,0xc4,0x2c,0xae,0x50,0xaa, + 0x93,0x39,0xb0,0x4,0x3d,0x79,0xd1,0x19,0x88,0xfb,0x5b,0xd4,0xfb,0xa2,0x73,0x9d, + 0x45,0x67,0x20,0xca,0x43,0xd6,0x9,0x44,0xfb,0xeb,0x13,0x19,0x1,0x27,0xaf,0x49, + 0x3,0xd4,0x9d,0x79,0x3f,0xc9,0xb7,0x5a,0xd3,0x9,0x7c,0xe4,0x5,0xb1,0xc0,0xfd, + 0x5,0xb1,0xaf,0xbe,0x62,0xf3,0x80,0x10,0xd6,0xc9,0x4,0xca,0x79,0x34,0xdd,0xc, + 0xa4,0xdd,0x3b,0x4f,0xf1,0xe,0xc9,0x23,0xde,0xa1,0xfd,0xcf,0xe3,0xad,0xe8,0x9d, + 0xc7,0xbb,0x90,0x81,0xa2,0xfa,0xa4,0x6,0x54,0x14,0x3c,0x76,0x4e,0xdc,0xbf,0x5e, + 0xdb,0xdf,0xb6,0xda,0xd7,0x6b,0xab,0xad,0xd7,0x98,0x1e,0x5c,0xaf,0xb1,0x3c,0xb1, + 0xcb,0x3c,0x7d,0xaf,0xc3,0xfb,0xdf,0x9d,0xdb,0xbd,0xb3,0x9a,0x77,0xe2,0x51,0xef, + 0xd4,0xf,0xbb,0x8c,0x91,0xa1,0xd6,0xa0,0xcb,0x20,0x50,0x51,0xbe,0x75,0x99,0x7d, + 0xaf,0xb3,0xe6,0x7a,0x4d,0xe8,0x91,0xf5,0xda,0xfe,0xd6,0xd2,0x7,0xd6,0x6b,0x5d, + 0xdb,0xdb,0xc9,0xfd,0x55,0x72,0xb4,0x7,0xda,0x5,0x90,0x10,0x8b,0xa7,0x20,0x90, + 0xa8,0x28,0x39,0xc4,0x8e,0xd0,0xc0,0xcc,0xd8,0x1b,0x9a,0xa,0x56,0xee,0x2a,0x47, + 0x14,0x95,0x5d,0xf,0xe8,0x88,0xe1,0x12,0xe6,0x9e,0x6d,0x15,0x85,0x4d,0xca,0xfb, + 0xd5,0xfb,0x72,0x15,0xbd,0xcb,0x48,0x28,0x50,0x2a,0xf6,0x2a,0x58,0x6,0x85,0x1f, + 0xa4,0x69,0xa8,0x62,0x92,0xfa,0x9b,0x8c,0x86,0x96,0x47,0xd4,0x13,0x53,0xe9,0x24, + 0x23,0x66,0x15,0x35,0x86,0x11,0xef,0xb2,0xb8,0x3c,0x10,0x77,0xfc,0x49,0x1d,0x64, + 0x2,0x2,0x96,0x22,0xeb,0xe4,0x9,0xa6,0x44,0x41,0xf3,0xd,0x30,0xb8,0xd4,0x15, + 0x9a,0xf3,0x8d,0x3b,0xd5,0x11,0x65,0x54,0x74,0x3b,0xa0,0x3,0x86,0x76,0xb3,0x5f, + 0xdd,0x1d,0x1b,0x4b,0xcd,0x71,0x5c,0x8b,0xaa,0x2e,0x71,0xed,0x68,0x8f,0x6b,0x2a, + 0x33,0x1d,0xd0,0x21,0xc3,0x72,0x12,0xfa,0x2c,0xe3,0x56,0xea,0x63,0x3a,0x78,0xa0, + 0x63,0x1c,0xd,0x48,0x94,0xae,0x76,0xb1,0xe5,0xab,0x85,0x95,0x8b,0xc8,0xaf,0x51, + 0xc7,0xd2,0xb0,0x3,0x6a,0x9,0x6e,0xda,0xc1,0x21,0xed,0xb2,0xa4,0xb9,0xcd,0xcc, + 0xec,0x7a,0x31,0x63,0xe8,0xb5,0x8a,0x11,0x21,0xdc,0xf5,0x62,0x40,0xb5,0xc4,0x68, + 0xd2,0x8e,0xae,0xbf,0xa0,0x8b,0xd2,0x26,0xe2,0x6,0xb2,0x75,0xcd,0x1a,0xde,0xd5, + 0xbb,0xb7,0xe1,0x24,0xea,0x8a,0x85,0xe9,0xd7,0xf3,0xc6,0x5e,0x32,0x9f,0x5b,0x32, + 0x13,0x7d,0x2f,0x99,0x9f,0x55,0x32,0x1f,0xee,0x46,0x8e,0xc7,0xff,0xbe,0x68,0xb6, + 0x16,0x41,0xa5,0x68,0x4e,0x6e,0x10,0x52,0x28,0xd9,0x4,0x71,0x83,0x2c,0x71,0xe7, + 0x8e,0x3a,0x20,0x91,0xb0,0x1d,0xd0,0x40,0x90,0xa,0xb5,0x6a,0xe8,0x80,0x76,0x51, + 0x51,0xc2,0xf,0x28,0xfa,0x95,0x93,0xb5,0xeb,0x95,0xa8,0x72,0xad,0x22,0x51,0x66, + 0x54,0xd3,0xcb,0x81,0xd,0x91,0xa9,0x49,0xdb,0x8,0x6,0xb4,0xcb,0xda,0xf2,0xa6, + 0xb2,0x35,0x11,0xc4,0x10,0x43,0x26,0x17,0x50,0x77,0xa3,0x7c,0xeb,0x99,0x69,0xae, + 0x47,0xd4,0x2d,0x49,0xed,0x1a,0xd,0x31,0xb5,0x38,0xa0,0x1a,0x50,0x4a,0x86,0xd9, + 0xd0,0x11,0xef,0xb2,0xa6,0xba,0xcd,0x7c,0xed,0x82,0x29,0x53,0xe8,0xb5,0x8c,0x89, + 0x25,0x55,0xd7,0x82,0x55,0x84,0x21,0x37,0x71,0x1b,0xc3,0x80,0x77,0x59,0x5c,0xdf, + 0x13,0xf6,0xe9,0x9,0x9b,0x7b,0xc2,0x7e,0x5a,0xc2,0xf2,0xb6,0xb6,0x50,0x95,0xa0, + 0xe8,0xcc,0x34,0x5,0x83,0xb8,0x98,0xe9,0x51,0x27,0x5,0xf4,0xa,0xae,0x86,0x6, + 0x42,0x8a,0x97,0xfb,0x11,0x45,0x76,0x65,0x3f,0xa0,0x23,0x86,0x65,0xf5,0xee,0xde, + 0x42,0xb1,0xfe,0xe8,0x66,0x83,0x4c,0xaa,0xdf,0xec,0x5,0xed,0x37,0xeb,0xae,0x3e, + 0x27,0xc0,0x80,0x61,0x73,0x5b,0xa8,0x2e,0xa3,0xf,0x64,0x2c,0x60,0xd5,0xf2,0x29, + 0xc,0x54,0x88,0xe5,0x18,0x5c,0x4e,0x8,0x26,0xd5,0x6,0xce,0xc5,0x86,0x43,0x6d, + 0xa,0x85,0x52,0x64,0x92,0x3,0xfa,0xfe,0xfa,0x7d,0xee,0xb9,0x76,0xf8,0x6f,0x7, + 0x55,0x39,0xb3,0x7a,0x50,0x4f,0x60,0xf,0xaa,0x41,0x7a,0x85,0xd8,0x1,0x1d,0x5c, + 0xbf,0xec,0xe2,0xbc,0x37,0xfd,0x4,0x7,0x77,0x6a,0xa0,0x85,0x14,0x3e,0x79,0x81, + 0xb1,0xa6,0xce,0x7d,0x8f,0x80,0x4c,0x2,0xa3,0xa1,0x1e,0x50,0x8c,0xa5,0x72,0x44, + 0x29,0x23,0xe6,0x7e,0x3a,0x60,0xd8,0x33,0xf0,0xa7,0x67,0x60,0x8f,0x8a,0x70,0xa, + 0xf7,0xb8,0x5e,0xd0,0x1e,0xd7,0x64,0xcb,0xb9,0x11,0xf,0x18,0x96,0x93,0x50,0x78, + 0x6b,0xb3,0x4c,0x53,0x77,0xd1,0x29,0x18,0x8,0x51,0x74,0x6e,0xae,0xe,0x22,0x28, + 0xcc,0x47,0xd4,0x8a,0xa8,0xe2,0x80,0xa,0x42,0x58,0x1a,0xfa,0xd,0x94,0x2a,0xcb, + 0xe,0xe8,0x88,0x77,0x59,0x53,0xdd,0x64,0x6a,0x76,0x19,0x1d,0x25,0xae,0xa5,0x11, + 0x40,0xa1,0x20,0xbb,0x96,0xd1,0xdd,0x3,0xbd,0xa3,0x17,0x86,0x21,0xef,0xb2,0xb8, + 0xbe,0x81,0x84,0x5d,0xb3,0x8c,0x77,0xf5,0xee,0xee,0x39,0x8a,0x2b,0xd5,0xa6,0x7d, + 0xf8,0xbe,0x57,0xcd,0x39,0xe1,0x78,0xaf,0x9a,0x9f,0x56,0x35,0x55,0xef,0xf6,0xbd, + 0x8f,0x46,0x6,0x6,0x51,0xa2,0x3a,0xb9,0x43,0x54,0x72,0x1e,0x6f,0xcb,0x8,0xd4, + 0xbc,0x94,0x1b,0x1a,0x9,0xcc,0x4a,0x51,0x47,0xd4,0xf8,0x74,0x7c,0x65,0xc0,0xd0, + 0x6e,0xf6,0xab,0xcf,0xa8,0xb6,0x3c,0x6b,0xf7,0x9a,0x63,0x95,0xa8,0x81,0xc7,0xc4, + 0xea,0x28,0x93,0xd1,0x5b,0x58,0x25,0x28,0x26,0xf,0x40,0x45,0xc4,0x7a,0x4b,0x1, + 0x8b,0xf0,0x46,0x30,0xa2,0x5d,0xce,0xcc,0xdc,0x54,0x29,0x25,0x74,0x40,0x74,0xd4, + 0xb9,0xc1,0x51,0x48,0xe4,0xd1,0xc1,0x1,0x84,0xc5,0xd9,0xc0,0x20,0x40,0x2d,0x7e, + 0xfd,0x28,0xb2,0xcb,0x3c,0x2c,0x18,0x10,0x2c,0x8b,0x67,0xdb,0x3e,0x19,0x77,0x5a, + 0xd2,0xe4,0x3c,0x75,0xea,0x60,0x68,0x4,0xbd,0x8a,0x98,0x9a,0xe5,0x76,0x44,0xcb, + 0xdc,0xdc,0xce,0x7a,0x17,0x55,0x23,0x18,0xb0,0x2e,0x2b,0xbb,0xad,0x47,0x40,0x84, + 0xc,0x19,0xa1,0x3c,0xb9,0x82,0xb1,0x78,0x1e,0x65,0xd2,0x4,0x53,0x2c,0x6d,0x60, + 0x18,0x8,0x26,0x45,0x1e,0x51,0x36,0x31,0xd5,0x3,0x3a,0x22,0x58,0x16,0xef,0xee, + 0x6e,0x63,0xfe,0xa3,0x7b,0x15,0xc4,0xa4,0x76,0xaf,0x17,0xb0,0xdf,0x6b,0xb8,0x66, + 0xf1,0x1,0x1d,0x10,0xdc,0xdb,0x6c,0xf6,0x45,0xe6,0xa7,0xa5,0xa0,0x1a,0xa4,0x95, + 0x58,0x4c,0x6e,0xa0,0x54,0xee,0x6f,0x7,0x8a,0x54,0x90,0xed,0x88,0x26,0x71,0xe5, + 0x79,0xc1,0xa3,0x12,0x8b,0xa0,0x15,0x11,0x1d,0xae,0x1f,0xb2,0x2e,0xe7,0xe5,0x46, + 0xcf,0xc4,0x75,0x11,0x59,0xd0,0xb3,0x4b,0xe3,0x40,0x6e,0xe5,0xd5,0x64,0x3c,0x3f, + 0x8,0xef,0xe8,0x85,0x61,0xc4,0xbb,0x2c,0xae,0xe3,0xbd,0xa6,0x77,0x1e,0x99,0x5e, + 0x21,0xc8,0x63,0x5e,0x20,0x56,0x52,0xf2,0x31,0xba,0xa2,0x40,0x25,0x4c,0xd,0xf4, + 0x84,0x12,0x35,0x9c,0x3f,0x6a,0x99,0x62,0x7,0x74,0x40,0x70,0xb7,0xe9,0xf7,0x69, + 0xe6,0xa7,0x65,0x66,0x8f,0x4a,0x11,0x91,0xf5,0xb0,0x9e,0xc0,0x1e,0xd6,0x0,0x11, + 0x99,0x87,0x1b,0xa3,0xeb,0x97,0x33,0x50,0xef,0xce,0x40,0x5f,0xa7,0x45,0xee,0x7b, + 0x9c,0xb5,0x33,0x70,0xfd,0xd5,0x44,0x4f,0xac,0xdc,0x7b,0xf6,0x73,0x7b,0x76,0xe0, + 0xde,0xb3,0x3f,0xad,0x67,0xc7,0x6,0x76,0x39,0x6b,0x2e,0x22,0xba,0x78,0xba,0xc9, + 0xcc,0xec,0xe3,0x9b,0xca,0xb2,0xb9,0xc,0x76,0xb4,0x9c,0x33,0xdf,0x64,0x34,0x47, + 0x7b,0x6d,0xda,0xac,0xc1,0x67,0xc5,0x49,0xb8,0x31,0x8c,0x78,0x97,0xc5,0xf5,0x7b, + 0x7b,0x79,0xe4,0xfb,0x5f,0xc1,0x2,0x58,0x3c,0x30,0xa7,0x28,0xb0,0xd2,0x44,0x7e, + 0x7d,0x38,0x1f,0x49,0x59,0xd2,0xd0,0x48,0x48,0x16,0x4e,0x3e,0xa2,0xc2,0xea,0x7e, + 0x40,0x87,0xc,0xfd,0x66,0x97,0xbf,0xf2,0xf3,0x97,0x6a,0xe6,0xfd,0xd6,0xbf,0x76, + 0x6a,0xf6,0xa8,0x38,0x12,0x55,0xf5,0xb8,0x5e,0xd0,0x1e,0xd7,0x14,0x47,0x3a,0x80, + 0x3,0x82,0xe5,0x1c,0x4c,0xfc,0x80,0x8a,0x5f,0xf2,0x54,0x65,0x56,0x91,0xd3,0x9c, + 0xe8,0xa9,0x88,0xd9,0x8f,0xf1,0x17,0x4,0x79,0x22,0xbd,0x43,0x23,0x84,0xf3,0xa8, + 0x1e,0x43,0x46,0x79,0x54,0x43,0x47,0xbc,0xcb,0x9a,0xfa,0x36,0x33,0xb3,0xb,0x96, + 0xa1,0xe4,0xd7,0x32,0xa6,0x12,0xa3,0x36,0xc1,0x12,0x81,0x4,0x39,0xbc,0x89,0xdb, + 0x18,0x6,0xbc,0xcb,0xe2,0xe6,0x9e,0xb0,0xcf,0x4e,0xd8,0xd2,0x3d,0x61,0x3f,0x2d, + 0x61,0xcb,0xb7,0x95,0xb0,0xe,0x4c,0x8c,0x62,0x53,0x38,0x90,0x57,0x98,0xf4,0xd7, + 0xf1,0x1d,0xd4,0xc,0x35,0xae,0x51,0x43,0x93,0xa8,0x3,0xea,0xa,0xce,0x6c,0xa2, + 0xd,0x1d,0xf1,0x2e,0x6b,0x9a,0xdb,0x4c,0xd8,0x2e,0x18,0x49,0x94,0xbc,0x93,0xd1, + 0xaa,0x28,0xaf,0x5,0x4b,0xc,0xb5,0x68,0xe2,0xe,0x19,0xce,0xe8,0xb2,0xb8,0x85, + 0xf7,0xe,0x39,0xb,0x7,0x43,0x4e,0x27,0x8,0x8c,0xac,0x9c,0x42,0xc0,0xdd,0xab, + 0xf4,0xb4,0xe9,0x60,0x13,0xec,0x68,0xa,0x70,0xa9,0x6,0x1d,0x51,0xe1,0x4a,0xf7, + 0x3,0x3a,0x60,0xd8,0x97,0xa5,0x3f,0x3d,0x35,0x7b,0x54,0x42,0x2b,0xb2,0xc7,0xf5, + 0x82,0xf6,0xb8,0x96,0xcf,0x7b,0x90,0x21,0xc1,0x72,0xe,0xea,0xb6,0x8a,0x66,0x2, + 0xa7,0x92,0xd1,0xd1,0x7f,0xac,0x26,0x68,0x17,0x57,0xbe,0x9a,0x92,0x5d,0x8a,0xaf, + 0xc0,0x10,0xa7,0x98,0x5d,0x8d,0xc0,0x9e,0x84,0xdc,0xd0,0x11,0xeb,0xb2,0xa2,0xdb, + 0x5c,0x94,0x76,0xbd,0x54,0x4d,0xe3,0x4a,0xc4,0x62,0x2d,0xad,0x2e,0x57,0x0,0x5, + 0xab,0x37,0x69,0x1b,0xc1,0x80,0x75,0x59,0xd9,0xd,0xac,0x48,0xd7,0x2c,0xe0,0x5d, + 0x3d,0xba,0xbb,0xdb,0x10,0xaf,0x57,0x95,0x7e,0x3d,0x67,0xec,0xf5,0xf2,0xb9,0xf5, + 0x92,0x74,0xaf,0x97,0x9f,0x53,0x2f,0xc9,0xef,0x76,0xfc,0x60,0xec,0x59,0xc,0x2e, + 0x9c,0x52,0x53,0x22,0x48,0xa,0xcd,0x3b,0x32,0x49,0xe0,0x72,0xf1,0x8e,0xba,0x1, + 0xba,0x38,0xc6,0x11,0x25,0xe2,0x8a,0x3,0x3a,0x62,0x58,0xfb,0x9d,0xa0,0xdd,0xe9, + 0x97,0x74,0x44,0x40,0xaa,0xf2,0x29,0x2,0x34,0x4b,0x53,0x5e,0x1f,0x11,0x79,0x8a, + 0x96,0x36,0x34,0x18,0xd4,0x30,0x30,0x8f,0x28,0x19,0xcb,0xec,0xea,0x1,0xc3,0x72, + 0xee,0x71,0xde,0x9b,0x7b,0x82,0x3f,0xba,0xd9,0xa,0xad,0x76,0xaf,0x17,0xb0,0xdf, + 0x6a,0x14,0x1a,0x1d,0xc0,0xc1,0xe5,0x5b,0x6b,0x35,0x5d,0x42,0x1f,0xd8,0x37,0x80, + 0x50,0x91,0x73,0xa,0x5,0x37,0xc,0xb3,0xa3,0x86,0xc,0xe1,0x61,0xd6,0x51,0x2f, + 0x30,0xd1,0x28,0x3b,0xa2,0x42,0xe2,0x9a,0x7,0x74,0xc0,0xb0,0xbf,0xd2,0xb7,0x7e, + 0x5b,0xb9,0x1d,0xd7,0x8c,0x94,0x1e,0xd7,0xb,0xda,0xe3,0x5a,0x46,0x89,0x7,0x74, + 0xc4,0xb0,0xec,0x63,0xd9,0xd6,0x19,0x4,0x67,0x20,0x47,0x22,0x9e,0x22,0x80,0x39, + 0x90,0x4f,0x99,0x5e,0x2a,0x89,0x74,0x44,0x83,0x22,0x23,0x2e,0x8f,0xc4,0x2d,0x96, + 0x51,0xf,0xa,0xe3,0x3,0x3a,0xe0,0x5d,0xd6,0x54,0x71,0x3,0x9a,0xae,0x59,0x69, + 0xba,0x7a,0x7a,0x6f,0x59,0x54,0x5f,0xc9,0x3e,0x9b,0xfe,0xbe,0x82,0xd2,0x1c,0xca, + 0x58,0xca,0x59,0x27,0x6f,0xa4,0x31,0x1f,0xbd,0x41,0x20,0xe8,0xa2,0xdc,0x50,0x57, + 0x20,0xe1,0xd4,0x93,0x35,0x34,0xce,0x96,0xeb,0x4,0xfb,0xda,0xf0,0xa7,0x39,0x18, + 0x1,0xad,0x5c,0x65,0x4a,0x4,0x26,0x15,0xee,0xf,0x15,0x12,0x41,0xca,0xd2,0xed, + 0x1a,0xd5,0x74,0x97,0xd3,0x79,0x4b,0xd,0x71,0x6e,0xe0,0x80,0x76,0xd9,0xd6,0xc6, + 0xf7,0xe6,0xa3,0xf3,0x78,0xc1,0x58,0xc6,0x95,0x53,0x24,0x54,0xd5,0xe9,0x60,0x9e, + 0x83,0x93,0x1b,0x35,0x30,0x4,0x24,0x25,0xd4,0x8f,0x68,0x70,0x96,0x1e,0xd0,0x11, + 0xc1,0x3e,0xb,0x5f,0xb9,0x20,0xdd,0xc,0x6b,0x1,0xa2,0x69,0x44,0xb,0xeb,0x19, + 0x6c,0x61,0x2d,0x60,0x45,0xce,0x3a,0xa0,0x3,0x82,0xe5,0x14,0xf4,0xd,0xcc,0xc2, + 0xd7,0xf4,0x44,0x17,0xcf,0xef,0xf6,0x6f,0xae,0x16,0xe8,0xed,0x8f,0x17,0xe9,0x8b, + 0xce,0x15,0x15,0x54,0x14,0xab,0x26,0x73,0xa8,0x4a,0x4f,0xbf,0x7c,0xab,0x97,0xc5, + 0x64,0x1,0x14,0xa2,0x69,0xd7,0xa8,0x14,0x55,0xea,0xeb,0x92,0x4c,0xdc,0x9d,0xbc, + 0xa1,0x3,0xde,0xe5,0x94,0xc,0x7c,0x54,0xcc,0xaf,0x5d,0xe,0xbb,0x52,0x8a,0x4c, + 0xf4,0x4e,0x55,0x2b,0x14,0xa3,0xae,0x54,0x40,0x28,0x39,0x7b,0x53,0xb5,0x31,0xc, + 0x78,0x97,0x55,0xbd,0xbb,0x51,0xd7,0x60,0xb2,0x23,0x6,0xe9,0x12,0x5e,0x93,0xb, + 0x44,0xd4,0x69,0x3,0x56,0x10,0x52,0x6e,0xd1,0x50,0x4f,0xe0,0x10,0x42,0x3b,0xa2, + 0x86,0x99,0x19,0x7,0x74,0xc0,0xb0,0xbf,0x19,0xf1,0xd3,0x53,0xb3,0x47,0x25,0x4d, + 0x59,0x5b,0x5c,0xcf,0x68,0x8f,0xab,0x2,0x32,0xf2,0xbc,0x5a,0x1c,0x30,0x2c,0x27, + 0x61,0x6d,0xec,0x4b,0x55,0x1d,0x90,0x18,0xf9,0xf5,0xf4,0xbd,0xa,0x7f,0xff,0x35, + 0xb3,0x5a,0x93,0x3b,0x10,0x32,0x96,0x5d,0xa3,0x2c,0x6e,0x7a,0x3a,0x62,0x5c,0xe5, + 0xc8,0xd4,0xd0,0x11,0xef,0xb2,0xa6,0xba,0xcd,0xd4,0xec,0x82,0xa9,0xbb,0xd1,0xb5, + 0x8c,0xe2,0xca,0x25,0x5d,0x30,0x7,0xcb,0x32,0x69,0xe2,0x36,0x86,0x11,0xef,0xb2, + 0xb8,0xbe,0xa9,0x99,0x8f,0x20,0x68,0x1a,0x99,0x4c,0x4e,0x60,0xa8,0xf3,0x2c,0xbe, + 0x14,0xc4,0x9,0xb9,0xbe,0x7,0x9d,0x21,0x4b,0x35,0xe7,0x4f,0xb2,0xe8,0xec,0xf5, + 0xc1,0xe5,0xcb,0xca,0xdd,0xf9,0x24,0x81,0x10,0x11,0x7f,0x74,0xa7,0x84,0x99,0xd1, + 0x6f,0xf5,0x82,0xf6,0x7b,0xd,0x35,0xaf,0x3c,0xa0,0x3,0x86,0xfd,0x6b,0x86,0x7e, + 0x7a,0x6,0x6,0x82,0xa4,0xb2,0xbd,0x2e,0xe,0x3c,0x24,0x5e,0x8b,0x23,0x81,0xa7, + 0x61,0x1e,0xd1,0xf4,0x2a,0xcd,0x6b,0xb4,0xfc,0xf4,0x87,0x26,0x38,0x41,0x98,0xca, + 0xaa,0xa1,0x3,0xde,0x1e,0xed,0x9e,0x71,0xbc,0xe9,0x9a,0xe9,0xb3,0x34,0x81,0xaf, + 0xf3,0xd0,0xb,0xa8,0x80,0x46,0x3a,0x7b,0x26,0x5,0xb0,0x4c,0x94,0x8f,0xa8,0xd0, + 0xe9,0xa5,0x56,0x33,0xc0,0x28,0x91,0x18,0x12,0x5c,0xc0,0x5b,0xd2,0xea,0xfd,0xbe, + 0xf7,0x15,0x2a,0xd4,0xfe,0xec,0x6b,0xfd,0xac,0x5c,0xbf,0x96,0xf7,0xbc,0xca,0xbd, + 0x64,0x3e,0xbd,0x64,0x12,0xee,0x25,0xf3,0x93,0x4a,0x26,0xf1,0x36,0xa6,0x47,0x51, + 0x20,0xee,0xce,0x3e,0x59,0x42,0x4,0xa,0xd1,0x65,0x4a,0xe1,0x79,0x44,0xcb,0xd3, + 0xcd,0x3b,0x5a,0x80,0x52,0x6c,0xaf,0x83,0xc3,0x32,0xce,0x8c,0xef,0xc0,0x11,0xeb, + 0x2d,0x2d,0x37,0xba,0x1b,0xea,0x7a,0xa9,0x55,0xd6,0xb5,0x8a,0x84,0xae,0x75,0xa5, + 0x58,0x1,0x27,0x71,0x69,0x13,0x77,0xc8,0x70,0x41,0x6f,0xa9,0xeb,0x77,0x37,0xf7, + 0xd1,0xd9,0x34,0x65,0xb0,0x70,0x4f,0x9b,0xcc,0x21,0xdc,0xc2,0xdf,0xbe,0xed,0x4c, + 0x8d,0x2d,0x1a,0x1a,0xa,0x95,0x8e,0x4c,0x47,0x54,0xcb,0x9c,0xf,0xe8,0x88,0x61, + 0xcb,0x53,0xa4,0x5f,0x25,0x2b,0x7d,0xe,0x47,0x88,0xfa,0x21,0xa7,0x3a,0x9a,0x88, + 0xa2,0xfc,0x16,0xd0,0xd0,0xe0,0xc9,0x2,0x10,0x4d,0xd9,0xdf,0x2,0x9a,0x85,0xd9, + 0x18,0x46,0xbc,0xcb,0x59,0xc9,0xb8,0xad,0xa9,0x12,0x83,0x46,0x58,0xd9,0x64,0x9, + 0x29,0x98,0xdf,0xf,0x7b,0x5f,0xdd,0xcb,0x16,0x45,0x57,0x20,0xb3,0x12,0xcd,0x55, + 0x14,0x41,0xc9,0x4,0x1b,0x3a,0x62,0xbd,0x25,0xe9,0x36,0x37,0x48,0x5d,0x30,0x51, + 0x46,0xb9,0x52,0x51,0xd1,0x5c,0xb8,0xeb,0x55,0x60,0x21,0x21,0x4d,0xdb,0x21,0xc1, + 0x5,0xbc,0x25,0xad,0x6e,0xa4,0xdb,0x5f,0xfc,0xec,0xa0,0xa5,0xaa,0xf2,0xce,0xb9, + 0x22,0x44,0xf1,0xe,0x75,0xf,0xa3,0xee,0xfd,0xb,0x3a,0xe0,0xbd,0xa9,0xa6,0xef, + 0xde,0x7f,0xb6,0xf7,0x73,0xf7,0xfe,0x27,0x79,0x5f,0xf0,0xee,0xf5,0x93,0xf0,0xe0, + 0xc0,0x8f,0x42,0xa,0x53,0xd6,0xe4,0xa,0xe6,0x21,0x7c,0xba,0xad,0xb2,0xe0,0xef, + 0x31,0xf,0x60,0xe7,0x32,0x3f,0x82,0x5c,0xf3,0x97,0xc4,0xf,0xae,0xde,0x1f,0xc0, + 0xfd,0xf4,0xa4,0xec,0x41,0x9,0x9,0xf2,0x16,0xd3,0xb,0xd8,0x83,0x9a,0x98,0xc6, + 0xe7,0xa8,0x76,0x82,0x5b,0x9,0xa8,0x9b,0x1a,0x8d,0x58,0x41,0x66,0x12,0xd5,0xe4, + 0xe,0x2e,0xc2,0x42,0x47,0x49,0xc,0x3c,0x28,0xd2,0x26,0xf,0x40,0x76,0x33,0xbe, + 0x9c,0x0,0x4e,0x5f,0x42,0x1d,0xca,0xd9,0xe3,0x20,0xf5,0x88,0xf7,0x96,0xa8,0xbe, + 0xcd,0xb9,0x5d,0xd7,0x51,0x84,0x35,0xbb,0x36,0x1,0x12,0x4e,0xf1,0x5e,0xdd,0xc, + 0x14,0xef,0xe8,0x85,0x61,0xc4,0x7b,0x4b,0xdd,0xdc,0x56,0xca,0x3a,0x54,0x10,0xdb, + 0xec,0x57,0xb1,0x90,0xb4,0xa3,0x24,0xc,0x61,0x5a,0x41,0x47,0x34,0xc,0x3,0xed, + 0x2c,0x9f,0x64,0x2e,0xa3,0x6e,0xc2,0xf3,0x12,0x6b,0xc4,0xbb,0x2c,0xaa,0xea,0x36, + 0x53,0xb6,0xeb,0xe8,0x18,0x25,0x5d,0x1b,0x3,0x42,0xf1,0x90,0x6b,0x1d,0x53,0x35, + 0xb5,0xa9,0xdb,0x18,0x6,0xbc,0xb7,0xd4,0xf5,0xae,0xee,0x1f,0xd7,0x9f,0xfb,0x83, + 0x10,0xc3,0xdb,0xe5,0xff,0xfa,0xf3,0x1f,0xff,0xfd,0xbf,0xff,0xf9,0x3f,0x7f,0xfe, + 0xf3,0xef,0x7f,0xfb,0xe7,0x3f,0xfe,0xf5,0xe7,0x7f,0xfd,0xdf,0xbf,0xbd,0x18,0x70, + 0x39,0xa9,0xfc,0xc7,0xb,0x4f,0x78,0xf8,0x3f,0x21,0x24,0xd1,0xe6,0x7f,0xbf,0x68, + 0x1,0x73,0x25,0x4f,0x4a,0x80,0x26,0xe1,0xdf,0xee,0x7b,0xcc,0xf1,0xb7,0xf3,0x7d, + 0xb5,0xb8,0x2f,0x5f,0x28,0x11,0xa8,0x45,0xf1,0x75,0xec,0xd4,0x43,0xfe,0x42,0x15, + 0x6,0x4c,0x6c,0x93,0x18,0x1,0x4b,0xce,0xe3,0xae,0x17,0xd2,0x64,0x8,0x74,0xba, + 0x82,0x83,0xd,0x84,0xd5,0x27,0xd1,0x0,0x49,0x2c,0x9e,0xe1,0x1,0x49,0xf,0x70, + 0xf,0x71,0xb4,0xaa,0xf4,0xa0,0x94,0x5f,0xd2,0x44,0x5d,0x53,0xa4,0x4,0x9b,0x88, + 0xdd,0x60,0x9e,0xc2,0x36,0x44,0xd1,0x67,0xd1,0x52,0x5,0x88,0x67,0x30,0x40,0x25, + 0xe6,0xf,0xba,0x6,0xa8,0x67,0x2c,0x5e,0xcd,0xad,0x30,0x2d,0x66,0x3f,0x1,0x47, + 0x90,0xc6,0x9c,0xfa,0x4,0x26,0x2e,0xa9,0xd3,0xb,0x27,0x32,0x90,0xe4,0xf4,0x42, + 0x56,0xc,0x96,0xfe,0x6d,0x39,0x4a,0x89,0xdd,0x88,0xff,0xfe,0x47,0x73,0xe5,0x3d, + 0x7e,0xf9,0x98,0x49,0x3,0x54,0x99,0x62,0x92,0x4,0x26,0x53,0x39,0xdf,0x6b,0x2b, + 0x5,0xc9,0x63,0x57,0x8e,0x7f,0x27,0x5d,0xdd,0x5,0xbf,0x50,0x85,0xd8,0xb4,0x2b, + 0x7b,0x78,0x44,0x50,0xaa,0xc7,0xf8,0x2,0xf7,0x18,0x9b,0x82,0xa7,0xce,0xe0,0x80, + 0xe2,0x56,0x9d,0x4b,0x7f,0x9a,0x83,0x7a,0xca,0xe7,0x8f,0x8c,0xe5,0x90,0x21,0x99, + 0xf6,0x66,0x2c,0x4,0xe2,0xe0,0xa8,0xe9,0x25,0x2,0x82,0xb9,0x6a,0xe2,0x0,0xf6, + 0x52,0xf9,0xb6,0xbd,0xa6,0x96,0x4e,0x50,0xf2,0x5a,0x44,0x65,0x50,0x44,0xcd,0xaf, + 0x31,0x87,0x3a,0x95,0x65,0xc7,0x6c,0x40,0x27,0xbb,0xb7,0xfe,0x22,0x54,0x2a,0xe2, + 0x5b,0xfd,0x45,0xd3,0x88,0x9c,0x5e,0xd8,0x42,0x40,0xf,0x3f,0x54,0x1a,0xa0,0xa3, + 0xdc,0x28,0xbf,0x85,0xbf,0x49,0x93,0x8c,0x1e,0x8a,0x4,0xb2,0x77,0xca,0x7,0x9e, + 0x51,0xc7,0x1c,0x5c,0x15,0xab,0x85,0x85,0xef,0xf0,0x74,0x73,0x6b,0xe9,0x73,0xdb, + 0xe0,0xbe,0x56,0x5d,0x73,0xad,0x5a,0x3e,0xb2,0xe1,0xf2,0xc7,0x73,0xe5,0xe6,0xf3, + 0x2b,0x16,0x84,0x5b,0xe,0x7a,0x66,0x63,0x1b,0xb8,0x91,0x10,0xef,0xb3,0xcf,0xde, + 0x15,0xbf,0x62,0x57,0x24,0xe4,0xbd,0x2b,0x7e,0xbd,0xae,0x48,0xa8,0xab,0xef,0x15, + 0x3,0x10,0x29,0xd8,0xe6,0x26,0x69,0x2,0x61,0x85,0x36,0x29,0x41,0x10,0x12,0x2f, + 0x98,0xdf,0xb7,0x67,0xeb,0x22,0x4,0x3c,0x25,0x4,0x25,0x5c,0x9b,0x98,0x11,0xf0, + 0x1d,0x46,0xe7,0xbc,0x9,0x52,0x50,0x89,0x86,0xe,0x38,0x3f,0x38,0x75,0xc8,0x0, + 0x37,0x39,0x4e,0x1d,0x58,0xa1,0x30,0x6e,0x65,0xd2,0x6f,0x32,0x1b,0x62,0x2,0xa6, + 0xcc,0x1e,0x17,0x1e,0x46,0x80,0x5,0x24,0xac,0x47,0xab,0x5f,0xdf,0x39,0x57,0x8b, + 0x15,0xe1,0x83,0x6b,0x61,0x22,0xfe,0x98,0xcd,0x9,0x2a,0x88,0x69,0x92,0x2,0x15, + 0xf3,0xdf,0x77,0x2d,0x9c,0x29,0xe0,0xe6,0x6c,0x13,0x51,0x5,0x34,0x7f,0x53,0x15, + 0x70,0x12,0xb7,0xdc,0x40,0x9c,0xdb,0x44,0xe6,0xf9,0xe7,0x2b,0x8a,0xf,0x5a,0xdc, + 0x4,0xb2,0x62,0x7a,0x21,0x2d,0x6,0x65,0xba,0x95,0x36,0xfa,0x7b,0x58,0x1c,0xcf, + 0xa5,0xb7,0x61,0x9e,0x61,0x57,0xfa,0x33,0x32,0xb0,0x9d,0x3,0xd4,0xae,0xec,0x6c, + 0x2b,0x46,0xe9,0x49,0xc3,0xab,0xe7,0x7b,0xbd,0x57,0x94,0xdc,0xcd,0xfd,0x95,0xcc, + 0xcd,0xb8,0x9b,0xfb,0xeb,0x9b,0x9b,0xf9,0xb3,0xcd,0xed,0x10,0x2e,0xe5,0x34,0x9a, + 0x69,0x91,0x27,0x70,0xb2,0x4c,0xca,0x80,0x12,0x6e,0x63,0x6b,0xb3,0xee,0x33,0xac, + 0x67,0xcc,0xb0,0x88,0x1f,0x9a,0x61,0x11,0xef,0x33,0xac,0x3b,0xa2,0xfb,0xc9,0xfe, + 0x49,0x88,0xc8,0xa,0x7e,0x37,0xe8,0x62,0x74,0x28,0x33,0x9d,0x84,0x0,0x8b,0x32, + 0xc6,0xe6,0x11,0xbc,0xff,0xb1,0x28,0x9,0xef,0x8f,0x45,0xf7,0xc7,0xa2,0x2b,0x3d, + 0x16,0x25,0xd1,0x47,0xb7,0x8d,0xe2,0x1f,0xe9,0x36,0x81,0x80,0x81,0x32,0x49,0x1, + 0x55,0x66,0x3e,0x65,0xd3,0xd8,0x7f,0xa3,0xdc,0xfd,0xb3,0xfb,0x67,0x2d,0xff,0xe8, + 0xc3,0x63,0x17,0xe5,0xbf,0xde,0x6d,0x12,0x42,0x85,0x27,0x4e,0x60,0x13,0xfa,0x6d, + 0x7,0x2e,0x2e,0xa,0x4c,0x79,0x9a,0xbb,0x9f,0x1f,0x96,0x94,0x25,0x98,0xf3,0x8c, + 0xea,0x79,0x22,0x27,0x7e,0xfe,0xf0,0x22,0x2c,0xa7,0xbd,0xc2,0x80,0xfa,0xbe,0x8d, + 0x0,0x42,0x4,0x6a,0xc8,0xd5,0xd8,0x9e,0x58,0x1c,0x3c,0x6c,0x7a,0xa9,0x62,0x88, + 0x2c,0xbb,0xb1,0xf,0xd0,0x6d,0x8f,0x62,0x7a,0x74,0x84,0xf8,0xbd,0xde,0x1,0x36, + 0x88,0x58,0x24,0x71,0x83,0x1b,0xc3,0x80,0x77,0xb5,0x80,0x3d,0x65,0x2a,0xf3,0xfc, + 0x56,0xda,0xcb,0x4d,0xee,0x1b,0xb7,0xa7,0x6c,0xdc,0xc,0x1f,0xda,0xb8,0x19,0xef, + 0x1b,0xb7,0xaf,0xbc,0x71,0xeb,0xad,0x74,0xec,0x1d,0xd3,0xbd,0x77,0xfe,0x1a,0xbd, + 0xd3,0x7c,0xef,0x9d,0xbf,0x54,0xef,0xb4,0x7c,0x74,0xdd,0xec,0xf8,0x50,0xb3,0xec, + 0x4f,0x30,0xc8,0x19,0xc2,0xb8,0x26,0x65,0xd0,0x4a,0xfd,0x84,0x7d,0xa7,0xef,0x73, + 0x9b,0x5b,0x69,0xbd,0xfd,0x7,0x11,0x42,0x3c,0x11,0xf3,0xfc,0xd3,0x1c,0xb5,0xe, + 0x9f,0xcb,0x64,0xa4,0x81,0xcc,0x4e,0x14,0x84,0x38,0x95,0x54,0x53,0x86,0xb0,0x76, + 0xfd,0x88,0xf6,0x1e,0x7b,0xd2,0xd5,0xc3,0x88,0x92,0x82,0x52,0xe3,0x83,0x43,0x4d, + 0x1c,0xc8,0x6f,0xf9,0xd2,0xf5,0x61,0x5f,0xfa,0x5f,0x6f,0xc2,0x4,0xca,0x16,0x13, + 0x1b,0x50,0x24,0xf2,0x7e,0x9a,0x76,0xcd,0x5,0xad,0xff,0x26,0xa7,0x7b,0x8c,0x4e, + 0xef,0x79,0x75,0xec,0x64,0x46,0xe,0xb0,0x92,0x98,0x41,0x5,0x2b,0x99,0xed,0xa8, + 0xc4,0x10,0x94,0x31,0xbc,0xfe,0x82,0x7d,0xa4,0x5b,0x92,0x2b,0x4,0xf3,0xc1,0x9f, + 0x9e,0xe0,0x9c,0x7c,0xc3,0x95,0x81,0x6b,0xef,0x34,0x7b,0xf3,0x54,0x30,0x45,0x9f, + 0x14,0x81,0x59,0x62,0xe1,0x29,0x47,0xf0,0x6e,0xcc,0xa7,0x18,0x33,0xf4,0xa1,0x9d, + 0x66,0xf8,0xbe,0xd3,0xfc,0x8c,0x9d,0x66,0xff,0xfa,0x8d,0x71,0xca,0xe7,0xe3,0xbd, + 0xf,0xa9,0x32,0x26,0xa6,0x80,0xd0,0x98,0x4,0x81,0xd3,0x82,0x36,0xf8,0xe6,0x97, + 0x21,0x5d,0xe,0xae,0x1a,0xf8,0xdb,0x99,0x69,0x36,0xd0,0x13,0x5a,0x20,0xc4,0x6d, + 0xdf,0x72,0xb,0xe,0x98,0xc1,0x1,0xf1,0x87,0xa,0xb1,0x48,0x1,0x8b,0x1f,0x17, + 0x4a,0xa,0x19,0x75,0xa3,0xe,0xe7,0xb6,0xf,0xd4,0xf4,0xd0,0x28,0x3a,0x5f,0xcb, + 0xcd,0x7c,0x6a,0x91,0x3d,0x34,0x4c,0x83,0xd9,0x40,0x23,0x19,0x50,0xaf,0x14,0x32, + 0x5e,0x73,0xc8,0xd4,0x3d,0x8e,0x2,0x4c,0x92,0x93,0x10,0xa8,0xc9,0xd2,0x41,0xf8, + 0xd4,0x7,0x76,0x99,0xe9,0xfb,0x2e,0x73,0x7f,0xba,0xb9,0xd6,0xd3,0xcd,0x7c,0x78, + 0x4a,0x53,0xf8,0xcc,0x85,0xe6,0xf3,0xa7,0x34,0xb5,0x4f,0x69,0xfe,0xbf,0xbd,0x6b, + 0xdb,0x6d,0xe4,0x38,0xa2,0xbf,0xb2,0xd8,0xbc,0x64,0x81,0x71,0xa5,0xee,0x97,0x20, + 0x79,0xca,0x43,0xbe,0x43,0x88,0xe4,0x64,0x1,0xc3,0x6b,0x48,0x76,0x0,0xe7,0xeb, + 0x33,0xe4,0x70,0x9,0x37,0xd5,0x18,0x6b,0x4c,0x6a,0x56,0x22,0x47,0x80,0x20,0xe9, + 0x88,0xac,0x99,0xee,0xd3,0xa7,0xaa,0xba,0xa7,0xbb,0xb8,0xe9,0x67,0x35,0xfd,0x94, + 0xce,0xe9,0xe7,0x62,0xa9,0x63,0x57,0x88,0xfe,0xb2,0x8a,0x78,0x5b,0xde,0xf9,0xe, + 0xf2,0xce,0xca,0x2d,0xef,0x7c,0x5f,0x79,0x27,0xe3,0xd2,0x8d,0x41,0x8c,0x7c,0xa9, + 0x44,0x73,0x5b,0x48,0x5d,0x73,0xbd,0x86,0x51,0x6f,0xe6,0xe9,0x86,0xe0,0xc1,0x17, + 0xb6,0xe0,0xd1,0x6f,0x6,0x12,0x1c,0x44,0x28,0x72,0xac,0xa4,0x25,0xe9,0xc0,0x49, + 0x6c,0x33,0x16,0xce,0x7b,0xf4,0x48,0x69,0x80,0xb9,0x13,0xa6,0x3a,0x8,0x9b,0xcc, + 0x29,0xf3,0x1b,0x1f,0xa6,0x52,0x5,0xcf,0xd2,0x1c,0xcc,0x80,0xcb,0xb0,0x7f,0xe2, + 0x82,0x31,0x5f,0x9e,0xd6,0x32,0xe1,0x96,0xd6,0x6e,0x69,0xed,0x4a,0x69,0x2d,0x13, + 0x5f,0xa6,0x6a,0x48,0x1b,0xc5,0xbe,0xb,0x5,0x4a,0x31,0x1d,0x54,0x81,0xb5,0xbc, + 0xfa,0xc2,0xe0,0xdb,0xad,0x1a,0x82,0x5,0xce,0x36,0x90,0xa8,0x81,0x7a,0x7b,0xe2, + 0x5c,0x74,0xda,0xcb,0xd1,0x62,0x5,0x34,0x41,0x66,0x53,0xc6,0xda,0xa0,0x1d,0x8b, + 0x67,0x15,0xa9,0x60,0x82,0x3d,0x93,0x84,0x41,0x10,0x95,0x33,0x5e,0x98,0x6f,0xa3, + 0x78,0x88,0x68,0x1d,0x52,0xd4,0x16,0x8b,0x11,0x6b,0x9,0x30,0x3e,0x26,0xad,0xd, + 0x57,0xfd,0xf7,0x33,0xad,0xc9,0x95,0xbe,0x4a,0xed,0x3c,0x16,0xfe,0x78,0x41,0x67, + 0xb1,0xe9,0xfd,0x2d,0xeb,0x5d,0x74,0xd3,0xfb,0x7b,0xd1,0xbb,0xf8,0xd2,0xb9,0xab, + 0xe4,0x59,0x75,0xf5,0xc,0x81,0xa9,0x94,0x6,0x75,0xa0,0xa8,0xa2,0xdb,0xad,0x25, + 0x62,0x1,0x31,0x4d,0x95,0x4,0x11,0x32,0x5a,0x7d,0xa3,0xb4,0x7f,0x1e,0xab,0xd1, + 0xb8,0x33,0x60,0x49,0x34,0x68,0xc7,0xda,0x79,0xa7,0xda,0x19,0x21,0x47,0xba,0xc8, + 0x8d,0x80,0x75,0x6e,0xf9,0x43,0xf1,0x36,0xe4,0x8e,0xc7,0x59,0x6e,0x83,0x45,0x12, + 0x3f,0x23,0xc0,0xc0,0xb9,0x21,0x6b,0xc6,0x80,0xca,0x8a,0x5c,0xf1,0x37,0x2e,0x2e, + 0x9d,0xa0,0x42,0xe6,0x83,0xa,0x88,0x12,0x49,0x3f,0xef,0x57,0x5d,0x30,0x21,0xd6, + 0xed,0x39,0xe9,0x36,0x21,0x5e,0x6d,0x42,0xac,0xf9,0x3a,0x9,0xb2,0xe1,0x19,0xc5, + 0xa5,0x13,0x82,0x98,0x6a,0x10,0x6,0x29,0x93,0xb8,0xc6,0x4,0x39,0x1c,0xe,0x79, + 0x13,0x52,0xd7,0x8f,0x9a,0x10,0xb7,0x98,0x1,0x1e,0x9e,0x24,0x38,0x33,0x38,0x37, + 0x60,0xcf,0xe4,0x79,0x69,0x57,0x6,0x64,0xe8,0x2e,0xed,0x62,0x3,0x11,0x9d,0xf1, + 0xc3,0xc6,0x37,0x12,0x33,0xd,0xc8,0xfc,0x84,0x16,0x7,0x3b,0xed,0xfe,0x4,0xd1, + 0x86,0xa9,0xee,0x7b,0x8f,0xd8,0x7a,0x3c,0xe9,0xd2,0xf4,0xd8,0xfc,0xa2,0x1,0x72, + 0x2b,0x3b,0xbd,0xea,0xf3,0x1d,0xcb,0x25,0xfb,0x71,0xd9,0x71,0xdb,0x8f,0xbb,0x62, + 0xd9,0xe9,0xf9,0x90,0xd7,0x53,0xa3,0xf3,0xcb,0xe4,0xb3,0xc5,0xcb,0xb7,0x1d,0x2f, + 0x5d,0xb7,0x78,0xf9,0x1e,0xe2,0xa5,0xfb,0xb7,0x2d,0x70,0x17,0xc0,0xc5,0x35,0x68, + 0x0,0xb9,0x58,0xf5,0x9d,0x42,0xe2,0x16,0x2d,0x2f,0x12,0x2d,0x93,0x17,0x45,0xcb, + 0xd4,0x2d,0x5a,0x2e,0x88,0x96,0xab,0x6f,0x61,0x57,0x28,0x37,0x1d,0x94,0xc1,0x42, + 0x92,0xfb,0xe2,0x49,0xff,0xb8,0x80,0xf1,0xad,0x40,0xd7,0xb6,0x34,0xb3,0xda,0xd2, + 0x4c,0x2d,0xde,0x87,0x57,0x7c,0x56,0xb4,0x29,0xc0,0xc4,0x18,0x54,0x41,0x58,0x93, + 0x2f,0xbe,0x85,0x9d,0x6b,0xfb,0xdc,0xbc,0x4d,0x3f,0xeb,0xe9,0xc7,0x17,0xeb,0x27, + 0xff,0x78,0x41,0x80,0x80,0x30,0xc9,0x41,0x4,0x24,0x8a,0xfd,0x76,0x2b,0xdc,0x69, + 0x42,0xaa,0xc4,0x21,0xaf,0x9f,0xe6,0x69,0x15,0x2,0x94,0x7b,0x8c,0x18,0x14,0xbd, + 0x29,0xed,0x32,0xf,0x4f,0x55,0xae,0x3b,0x86,0xcf,0x2a,0xf8,0xc2,0x6,0x8a,0x36, + 0xfe,0x86,0x22,0x80,0x3e,0xb3,0xeb,0x52,0x10,0xaf,0x5a,0x99,0x2d,0x37,0xcf,0xba, + 0x9a,0xc,0x3c,0xc3,0x3a,0xc4,0x24,0x71,0xf,0xee,0x10,0xbe,0x1e,0x55,0xeb,0x17, + 0x24,0x9f,0x8f,0xa0,0x1d,0x2f,0x23,0xb8,0x15,0x24,0xbf,0xc8,0x7c,0x4d,0x70,0x51, + 0x41,0x72,0xc1,0xad,0x20,0xf9,0x5b,0x98,0xaf,0x71,0x19,0xd1,0xf3,0x8,0x4a,0x95, + 0x40,0xe5,0x76,0x8c,0xa0,0x7d,0xf1,0xd0,0x82,0x82,0xe4,0x42,0xdb,0x91,0xc9,0x2d, + 0xdf,0x5c,0x2b,0xdf,0x14,0xfa,0xd6,0x9f,0x5e,0x87,0x10,0x45,0xe8,0x83,0x9,0x14, + 0x11,0x56,0x5f,0x41,0xe4,0xd7,0xf8,0xa1,0x94,0x7e,0x4c,0x41,0x84,0x1,0x4f,0x37, + 0x97,0x8a,0x76,0x31,0x3b,0x60,0x3e,0xd5,0x7c,0x6c,0xd0,0x9e,0xd1,0x33,0xf7,0x35, + 0x9,0x81,0xef,0xf7,0x35,0x55,0x1,0x39,0xcf,0xe4,0x31,0x94,0x57,0x2c,0xce,0x96, + 0x83,0x67,0xb4,0x18,0x60,0x8f,0x0,0x87,0xa4,0x1e,0x5b,0x1d,0x5a,0x57,0x24,0x8a, + 0x97,0xae,0xd1,0x8,0xf3,0x2b,0x89,0x7c,0xde,0xb3,0x6c,0x9a,0x7f,0xeb,0x9a,0x67, + 0xdd,0x34,0xff,0x3e,0x34,0xef,0x8b,0x35,0x9f,0x67,0x95,0x16,0x31,0x8,0x46,0x1d, + 0x4c,0xc1,0xab,0x58,0x2e,0xbe,0x2e,0x2b,0xb2,0x9d,0xc1,0xdc,0xf2,0xe4,0xd5,0xf2, + 0x64,0x59,0x63,0x91,0x66,0xb9,0x9c,0x5a,0xc9,0xca,0xb6,0x48,0x73,0x99,0x45,0x1a, + 0x59,0xb6,0x48,0x23,0xdb,0x22,0xcd,0x42,0x8f,0xb4,0x7e,0x15,0x80,0x0,0x94,0x8c, + 0x18,0xa4,0x40,0x23,0x2b,0xfb,0xa,0x8a,0x25,0x2b,0x35,0xb1,0xad,0xd4,0x6c,0x11, + 0x68,0xb5,0x8,0x14,0xaf,0x73,0x2a,0x58,0xc2,0xcf,0x38,0x15,0x1c,0x20,0x54,0x5a, + 0x83,0x20,0x4,0xa6,0xe9,0x35,0x1e,0x7a,0x30,0x83,0xf2,0x63,0xa5,0x23,0x2b,0x39, + 0xfd,0xe4,0xfa,0xf6,0x4f,0x81,0x43,0xf6,0x8f,0xc,0x28,0xc4,0xd,0xd8,0x31,0x76, + 0xde,0xbe,0x40,0xf,0x70,0x92,0xa9,0xea,0x3c,0xb2,0xce,0xcc,0x0,0xe2,0x46,0xea, + 0x8f,0xb3,0x80,0xe8,0x29,0x47,0xa,0x2a,0xf1,0x8c,0x1,0x76,0x30,0x21,0x6e,0xd8, + 0xea,0x5b,0x98,0xb0,0xf5,0xc8,0x4a,0x7c,0x9d,0x92,0x1f,0x6,0x26,0x94,0x3a,0x70, + 0x82,0x8a,0x38,0xf7,0xa3,0x60,0xe6,0xcd,0xae,0xcf,0x70,0x81,0x4d,0xc3,0x80,0x2a, + 0x9f,0x6d,0xd9,0x66,0x24,0xe0,0x13,0x84,0x8f,0x25,0x0,0xc2,0xc0,0x4a,0xa2,0x41, + 0x7b,0x16,0xcf,0x1b,0x44,0x4a,0xe0,0xa8,0xe3,0x20,0x22,0x87,0x60,0xcc,0x99,0x51, + 0x54,0x78,0xcd,0x92,0x6f,0x39,0xc8,0x78,0xc6,0x4b,0x49,0x9c,0x52,0xc0,0x68,0x20, + 0xd1,0xd0,0x35,0x63,0x80,0x72,0x4d,0xb2,0xf8,0x55,0xe2,0xbb,0x22,0x7e,0xbc,0xa0, + 0xbf,0xd8,0x24,0xff,0xa6,0x25,0xaf,0xc8,0x9b,0xe4,0xdf,0x8b,0xe4,0x15,0x97,0x9e, + 0x6c,0x54,0xd1,0x73,0x56,0x91,0x2,0x41,0x43,0xa6,0x7a,0xcf,0x1e,0xa2,0x9f,0xce, + 0xa8,0x59,0xdb,0x6f,0x91,0x6c,0x75,0x0,0xb6,0x29,0xf1,0x5a,0x53,0x62,0x95,0x5c, + 0xaa,0x1f,0xc5,0x3f,0x7e,0x34,0xa3,0x80,0xd4,0x7d,0x10,0x2,0x2d,0xaf,0xdb,0xdd, + 0x2b,0xcb,0x9,0x3c,0xcd,0x9e,0x8e,0xee,0xb6,0x8c,0x8f,0x8e,0x55,0xb0,0x53,0x3b, + 0x78,0x6,0xde,0x21,0xad,0xcd,0x33,0x77,0xc9,0x2a,0x1,0xc7,0x54,0x9a,0x34,0x4c, + 0x74,0xc6,0xff,0xea,0x55,0x7,0xcb,0x53,0x56,0xdc,0x9c,0x9b,0xce,0x16,0x81,0xd4, + 0xe,0x25,0x4,0x64,0xce,0xd,0xdc,0x58,0xe8,0x19,0x5e,0x8b,0x31,0xbd,0xd8,0x27, + 0xb,0x2d,0xaf,0x3,0x8f,0x50,0xa2,0x3a,0x70,0x1,0x33,0x55,0xff,0xb4,0xb3,0x1a, + 0x5f,0xa1,0xe4,0x91,0x20,0xbf,0x26,0x53,0xc7,0x62,0x4b,0xc5,0xe,0x64,0x3e,0xc1, + 0x5,0x2a,0xed,0x86,0xeb,0x39,0x38,0xf,0xeb,0x2e,0x1d,0xd3,0xe7,0x8d,0x24,0x27, + 0x70,0xd9,0xad,0xb0,0xb0,0x82,0x1a,0xf2,0xcc,0x50,0x32,0xbd,0x6a,0xf1,0xb7,0xec, + 0xf4,0xfa,0x9b,0x18,0xa2,0x57,0xcd,0x1d,0x3b,0x65,0xf9,0x1b,0x1b,0x1d,0xd3,0xab, + 0x91,0xe6,0x1d,0xfd,0x37,0xfc,0xcd,0xba,0x0,0x9a,0x5c,0xc0,0x5b,0x11,0x5a,0x4b, + 0x99,0x20,0x94,0x32,0xa1,0xe,0x44,0x2,0x26,0xe6,0xbb,0xa4,0x28,0x4,0x34,0x83, + 0xab,0x1a,0xd4,0x18,0x8c,0xd3,0xd3,0xf7,0x28,0xbb,0x69,0x8d,0x68,0xc7,0x42,0x43, + 0x4c,0xd3,0x97,0x95,0x7,0x1,0xb4,0xdd,0xd7,0x7f,0xa9,0xff,0xee,0xed,0x2a,0xa3, + 0xb4,0xb7,0x7b,0x44,0x4f,0x6f,0x37,0x62,0xca,0xf7,0x3a,0x16,0x9a,0xdb,0x9d,0xa3, + 0xf0,0x4d,0x9,0xf0,0xe5,0xfd,0x98,0xcf,0xfb,0x91,0xb,0xc,0xc9,0x73,0x20,0x32, + 0xa8,0x92,0x88,0x5d,0x37,0x6,0xb8,0x52,0x31,0x35,0xa8,0x5,0x18,0x15,0xa2,0xed, + 0x51,0x47,0x14,0x1a,0xd1,0x8e,0x81,0xb1,0x17,0xdf,0xa7,0x10,0x9e,0xbe,0xdc,0x7f, + 0xfe,0x69,0xfc,0x1e,0xaf,0x72,0xff,0xf0,0xf3,0xaf,0x3f,0x3d,0x3c,0xfd,0xfd,0xe3, + 0xbf,0xc6,0xaf,0x4e,0xf,0xbf,0xbb,0x51,0x32,0x4b,0xbd,0x3,0xa2,0x10,0x4d,0xd4, + 0x4b,0x14,0xf2,0x1e,0x64,0xe6,0x94,0x13,0xe6,0x1d,0x44,0x8d,0x46,0xb4,0xf3,0xfe, + 0x19,0xb9,0x17,0x2e,0xe8,0xe9,0x2b,0x71,0xa9,0xec,0x60,0x69,0x2e,0x93,0xdb,0xa1, + 0xa2,0x5d,0x58,0x4b,0x82,0x44,0x63,0x6f,0x40,0x53,0x70,0xe4,0x9a,0x40,0x61,0xf3, + 0x1c,0xc1,0xce,0xdb,0x67,0xfa,0x97,0x5f,0xec,0x6,0x4a,0x7f,0xef,0x56,0x39,0x75, + 0xef,0x6,0xa,0x88,0xaa,0xc2,0x26,0x34,0x45,0x79,0x44,0x8d,0xa0,0x28,0xbc,0x72, + 0x44,0x15,0x88,0x4d,0x69,0x44,0x3b,0x6,0xde,0x82,0x33,0x5d,0xdf,0x1f,0xb4,0x5d, + 0xed,0x9d,0xae,0x4e,0x60,0x25,0x3d,0x19,0x1,0x51,0x80,0xc9,0x52,0xb9,0x47,0xb, + 0x99,0xf7,0x81,0xd6,0x40,0xc2,0xd0,0xad,0x19,0x18,0x1d,0xb,0x9b,0xcf,0x7d,0x1f, + 0x3e,0x37,0xa,0x2c,0x44,0xca,0xbf,0xea,0x84,0x7c,0x47,0x7e,0x8b,0x9a,0xe1,0x81, + 0x7c,0x35,0xd4,0xac,0xbd,0xd0,0x30,0x8,0x63,0x22,0x5f,0xd2,0x83,0x62,0xc6,0xc2, + 0x84,0xce,0x38,0x8b,0x69,0xe5,0xaa,0xcd,0x62,0x8f,0xdd,0xdc,0xde,0x31,0x21,0xe, + 0xe6,0x1f,0xfe,0xf1,0xa1,0xa,0x94,0x23,0x45,0x7,0x2b,0x90,0x74,0x35,0xfe,0x90, + 0x2,0x26,0x4e,0x14,0x83,0x23,0x64,0xa2,0x86,0x7d,0x70,0x81,0xda,0x7d,0xfd,0x6, + 0x1b,0xdf,0xad,0xa,0xea,0x26,0x98,0xbf,0x41,0x39,0xc1,0x82,0xc9,0x6b,0xb2,0xa8, + 0x95,0x39,0x62,0x83,0x8d,0xd,0x9a,0x2e,0x7b,0x6c,0x43,0xdb,0x82,0x43,0x19,0x99, + 0x76,0x28,0xec,0x79,0xff,0xe5,0xf1,0x87,0x3f,0xff,0x69,0x47,0xca,0xdd,0xe3,0x3f, + 0x1f,0xef,0xee,0x3f,0x3f,0xfc,0xf8,0x73,0x84,0xf2,0xa7,0x7d,0x73,0x9b,0xc6,0x4e, + 0x4d,0x9d,0x1f,0x83,0xe3,0x45,0xda,0xb,0x87,0x33,0x4f,0xe0,0x71,0xa2,0xa3,0x2, + 0x2e,0x66,0x59,0x3,0x3b,0x64,0xa6,0xc7,0x18,0x1a,0x1b,0x58,0x1,0x4b,0xca,0x47, + 0x46,0xfb,0xaf,0x9e,0x9a,0xd8,0x36,0xa5,0x3f,0x84,0x11,0xc2,0x3c,0x13,0xc3,0x8f, + 0x63,0x79,0x3f,0x78,0xff,0xf7,0xf0,0xf8,0x65,0x6e,0x2c,0xdb,0xe9,0x10,0x7e,0xfc, + 0xf2,0xcb,0x8f,0xf7,0xa7,0x63,0xb8,0x45,0xf7,0x3,0xfa,0x87,0xcf,0xe3,0x8f,0xbf, + 0xea,0x57,0xec,0xfe,0xee,0xe9,0x3f,0x77,0x8f,0x8f,0x77,0xbf,0x36,0x57,0xd9,0xa1, + 0x5f,0xbe,0xff,0xfe,0xe9,0x61,0x7c,0x65,0x2f,0x37,0x3d,0xab,0xbf,0xdd,0x4f,0xfa, + 0x9b,0x8,0x90,0x59,0xa8,0x86,0xef,0x28,0xd,0xdc,0x25,0x77,0x41,0xa9,0xc5,0x13, + 0xd4,0xd2,0x46,0x22,0xfa,0xaf,0xbf,0x8d,0x2e,0x9f,0x56,0xa4,0xfa,0xde,0x52,0x91, + 0x5c,0x4a,0x64,0xec,0x86,0x99,0x47,0x4c,0x91,0x5c,0x65,0x87,0x75,0x28,0x37,0xcc, + 0x18,0x7b,0x91,0x45,0x4,0x32,0x69,0x30,0x44,0x48,0x93,0xfa,0xd4,0xd0,0xf6,0xef, + 0x70,0xcf,0xe6,0x16,0x9a,0xff,0x5,0x5e,0xec,0x92,0xf3,0x2d,0x9b,0xb9,0x5,0x9e, + 0xb9,0x5,0x6a,0x2f,0x9d,0x1e,0x80,0xc9,0xbb,0x2b,0x27,0x50,0x52,0x2c,0xbe,0xf2, + 0xfc,0x6b,0xcf,0xbc,0x93,0xb6,0x5d,0x3a,0x5d,0x79,0xf2,0x71,0x7f,0xfb,0xcb,0xd3, + 0x7f,0xc7,0x1f,0xff,0x7,0xf8,0x94,0xd1,0xde,0x9,0x33,0x4,0x0, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/remove.png + 0x0,0x0,0x1,0x4c, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x6,0x0,0x0,0x0,0x1f,0xf3,0xff,0x61, + 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x1,0xbb,0x0,0x0,0x1,0xbb, + 0x1,0x3a,0xec,0xe3,0xe2,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66, + 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x0,0xc9,0x49,0x44, + 0x41,0x54,0x78,0xda,0xed,0x92,0xb1,0xe,0x82,0x30,0x10,0x86,0xaf,0x40,0x45,0x49, + 0xdc,0x74,0x32,0xe,0xc4,0xd1,0xa7,0xe0,0x59,0x90,0xdd,0xc9,0xb8,0x3b,0x3b,0xaa, + 0x13,0x8b,0x2f,0xd2,0xd5,0x89,0x37,0x60,0x73,0x23,0x62,0x8,0x68,0x8c,0x5,0xea, + 0x4f,0x42,0x24,0x3a,0xe8,0xe0,0xe2,0xc0,0x97,0xfc,0x49,0xff,0xbb,0xcb,0xdd,0x35, + 0x2d,0x53,0x4a,0xd1,0x2f,0x68,0x50,0xdb,0xa0,0x81,0x41,0x6,0x7d,0xc7,0x80,0x58, + 0x63,0x6a,0xe,0x9e,0xb7,0xba,0x85,0xe1,0x22,0x11,0x82,0x9b,0xf0,0x95,0x3a,0xd0, + 0xfb,0xb9,0xef,0x38,0xb9,0x65,0xdb,0xeb,0x9e,0xef,0x2f,0x9,0x3c,0x9f,0x71,0xcf, + 0xf9,0x71,0xea,0xba,0x23,0x3d,0x4d,0xa9,0xb,0xcf,0x6b,0xe9,0x50,0x45,0x69,0x59, + 0x74,0x46,0xee,0x1a,0xc7,0x34,0x11,0xe2,0x34,0x94,0x72,0xf0,0xb2,0xc1,0x3d,0xcf, + 0xe9,0x12,0x45,0x64,0x4a,0x49,0xba,0x61,0x90,0x86,0xc6,0x5a,0x51,0x10,0x21,0x5e, + 0x22,0x9f,0x4,0x1,0xc5,0x59,0x86,0x55,0x3a,0x24,0x11,0xab,0x69,0x36,0xd8,0x31, + 0x36,0xc3,0xe4,0x8d,0x59,0x95,0xc0,0x7f,0xb8,0x86,0x44,0xdd,0x7c,0xac,0xd4,0x96, + 0x40,0xfb,0x13,0xff,0xa1,0xc1,0x3,0x6,0xaf,0x45,0x37,0x7,0xf3,0x26,0xc3,0x0, + 0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/refuse.svg + 0x0,0x0,0x9,0xa8, + 0x0, + 0x0,0x22,0x6,0x78,0x9c,0xe5,0x59,0x5b,0x93,0xd3,0xc8,0x19,0x7d,0xe7,0x57,0x28, + 0xe6,0x5,0x2a,0xb6,0xdc,0xf7,0x8b,0x19,0xb3,0xf,0x43,0xed,0xd6,0x56,0x91,0x4a, + 0x2a,0x40,0xe5,0x59,0x23,0x69,0x6c,0x5,0xdb,0x72,0x24,0x19,0xcf,0xf0,0xeb,0x73, + 0xba,0x75,0xb7,0x3d,0x30,0x3b,0x40,0x36,0x9b,0xc,0x50,0x63,0x7d,0x7d,0xf9,0xba, + 0x8f,0x4e,0x9f,0x3e,0x9f,0xb9,0xfa,0xe9,0x6e,0xbb,0x9,0x3e,0xa5,0x45,0x99,0xe5, + 0xbb,0xe5,0x84,0x86,0x64,0x12,0xa4,0xbb,0x38,0x4f,0xb2,0xdd,0x6a,0x39,0xf9,0xf0, + 0xfe,0xe7,0x99,0x99,0x4,0x65,0x15,0xed,0x92,0x68,0x93,0xef,0xd2,0xe5,0x64,0x97, + 0x4f,0x7e,0x7a,0xfd,0xec,0xea,0x4f,0xb3,0x59,0x70,0x5d,0xa4,0x51,0x95,0x26,0xc1, + 0x31,0xab,0xd6,0xc1,0xaf,0xbb,0x8f,0x65,0x1c,0xed,0xd3,0xe0,0xc5,0xba,0xaa,0xf6, + 0x8b,0xf9,0xfc,0x78,0x3c,0x86,0x59,0x13,0xc,0xf3,0x62,0x35,0x7f,0x19,0xcc,0x66, + 0x18,0x59,0x7e,0x5a,0x3d,0xb,0x82,0x0,0x69,0x77,0xe5,0x22,0x89,0x97,0x93,0xa6, + 0xff,0xfe,0x50,0x6c,0x7c,0xbf,0x24,0x9e,0xa7,0x9b,0x74,0x9b,0xee,0xaa,0x72,0x4e, + 0x43,0x3a,0x9f,0xf4,0xdd,0xe3,0xbe,0xfb,0x31,0xbd,0x9,0x8b,0xb4,0xcc,0xf,0x45, + 0x5c,0x4f,0x1f,0xc7,0xc3,0x9e,0x45,0x72,0xdb,0x77,0xc5,0x4a,0x8e,0xdc,0x77,0xa2, + 0xd6,0xda,0x39,0x61,0x73,0xc6,0x66,0xe8,0x31,0x2b,0xef,0x77,0x55,0x74,0x37,0xdb, + 0x95,0xcf,0x7,0x43,0xb1,0xc0,0x4b,0x43,0x19,0x21,0x64,0x8e,0xb6,0xbe,0xe7,0xe3, + 0x7a,0x2d,0xee,0x36,0x80,0xe1,0xc1,0xc5,0xf8,0xd6,0x61,0x76,0x40,0xbf,0xc7,0xbf, + 0x6e,0x40,0x87,0x61,0xbd,0xd7,0x5b,0x8c,0x4c,0xc3,0x5d,0x5a,0xcd,0xdf,0xbc,0x7f, + 0x33,0x6f,0x7b,0xcf,0x48,0x98,0x54,0xc9,0x60,0x9a,0x76,0xd4,0x28,0xef,0xe8,0x75, + 0xec,0xa2,0x6d,0x5a,0xee,0xa3,0x38,0x2d,0xbb,0x14,0x7e,0xfc,0x31,0x4b,0xaa,0xf5, + 0x72,0xc2,0x84,0x7f,0x5a,0xa7,0xd9,0x6a,0x5d,0x75,0x8f,0x59,0xb2,0x9c,0x60,0x77, + 0xcc,0x3f,0xb4,0xc9,0x17,0x1d,0x7d,0x48,0xc8,0xeb,0xa6,0x76,0xc6,0x61,0x93,0xe0, + 0xbe,0x69,0xc4,0xb5,0xd1,0x34,0x49,0x1e,0xdf,0x44,0x25,0x96,0x3c,0x5f,0xe7,0xdb, + 0x74,0xbe,0xcf,0xd2,0xa2,0x48,0xe7,0xef,0x7e,0x7e,0xfb,0xb7,0x35,0xa8,0x87,0x2d, + 0x1a,0xc4,0xee,0xb6,0xd1,0xbe,0x3c,0x1b,0xe7,0x36,0xb3,0x9c,0x14,0xe9,0xed,0xa1, + 0x4,0x50,0x80,0xff,0x35,0x7a,0x5c,0x25,0xe9,0x6d,0xe9,0x7a,0xd6,0xeb,0x76,0x4f, + 0xc2,0x37,0xa0,0x9,0xa8,0xa7,0x51,0xf1,0x4b,0x11,0x25,0x19,0x88,0x56,0x77,0x1a, + 0x2c,0x3b,0xce,0x37,0x9b,0x34,0xc6,0xbe,0xa3,0xcd,0x31,0xba,0xaf,0xf3,0xb5,0xf3, + 0x8c,0x87,0xa,0x26,0x49,0x33,0x29,0xa6,0x2d,0xab,0x7c,0xdf,0xf6,0xc5,0xa,0xab, + 0xfb,0xd,0x96,0xe5,0x82,0x33,0xcc,0x98,0x17,0x8b,0xe7,0x37,0xe0,0x7,0x15,0xaf, + 0x7c,0x28,0x7,0xfa,0x59,0x75,0xbf,0xa0,0xaf,0x26,0xfd,0x98,0xfc,0xf6,0xb6,0x4c, + 0x91,0x98,0xc,0x62,0x1e,0x75,0x8c,0x40,0x2e,0x36,0x9,0xe6,0xdf,0x96,0x8d,0x5c, + 0xca,0x46,0x2f,0x67,0x13,0x5d,0xb6,0xab,0xf9,0x78,0xdb,0x5f,0x86,0xf1,0x1c,0x25, + 0x6a,0xf8,0x43,0x28,0x75,0xf9,0xa8,0x91,0x5f,0x1,0xe2,0xf1,0x80,0x3e,0x88,0xd2, + 0x20,0x9b,0xfe,0xa,0x10,0x17,0xb2,0x69,0x64,0x23,0xf1,0x83,0xd9,0xbe,0x19,0x25, + 0xa5,0x7f,0x3,0x97,0x8c,0x5b,0x4c,0xfa,0x54,0x2e,0x51,0x65,0xff,0x83,0x5c,0xa2, + 0x9a,0x3e,0x11,0xa5,0xaf,0x1d,0x49,0x2f,0xa0,0x8b,0x35,0xce,0xfe,0x72,0xf2,0xfc, + 0x2,0x9e,0x5f,0x82,0x5b,0xf3,0x7e,0x1a,0xba,0x9c,0xe8,0x90,0x32,0x61,0x85,0x52, + 0x5d,0xf4,0x1e,0x51,0xc6,0x43,0xc4,0x24,0x35,0x7d,0x5f,0x86,0x28,0x9,0x89,0x22, + 0xb2,0x9f,0xff,0x1e,0x41,0xaa,0x42,0xa1,0xd,0x6d,0x44,0xd0,0xfd,0xac,0x9a,0x5c, + 0x1f,0x76,0x59,0x85,0xb,0x3,0xf2,0x54,0xbc,0x73,0xa2,0xfb,0xd7,0xdd,0x87,0x32, + 0x3d,0xeb,0xf5,0xbe,0x88,0x76,0x25,0x14,0x7e,0xbb,0x9c,0x54,0xee,0xe3,0x6,0xf7, + 0xeb,0xb,0x15,0x72,0xca,0x85,0xe4,0xe9,0x8c,0x4d,0x21,0x82,0xdc,0x8,0xa6,0xe5, + 0xcb,0x1e,0xcd,0x1f,0x81,0x9b,0xe1,0x5f,0xc4,0xcd,0xd0,0x11,0x6e,0x50,0x72,0x22, + 0x94,0xd0,0x63,0xdc,0x28,0xb,0xd,0x93,0xc6,0xf2,0x11,0x6e,0x3a,0xb4,0x8c,0xe3, + 0xaf,0x1c,0x3,0x77,0xd6,0xf7,0x3b,0x0,0x47,0x43,0xa6,0x98,0xb2,0x74,0x3a,0x83, + 0x8d,0x20,0x44,0x4b,0xf6,0xfb,0xa2,0x66,0xe5,0x8,0x35,0x26,0x42,0x6e,0xb5,0x24, + 0xf2,0x14,0x35,0xc9,0xa5,0xa6,0x72,0x84,0x1a,0xa7,0x20,0x81,0xd2,0xe6,0x14,0xb4, + 0x93,0xae,0xdf,0x1,0x34,0x30,0xcc,0xa,0x4d,0xa8,0x71,0x5c,0x33,0x46,0x52,0x6b, + 0x7e,0x57,0xd4,0x18,0x19,0x9f,0x51,0x2a,0x43,0x30,0x8d,0x51,0x3e,0x3e,0xa3,0xa1, + 0x26,0xcc,0x98,0xc1,0xc9,0x75,0xa8,0x51,0x11,0x12,0xca,0x15,0x3f,0x81,0x8d,0x84, + 0x52,0x2b,0x4c,0xf1,0x48,0xd8,0x7e,0xe4,0xe6,0x9d,0x79,0xf8,0xa2,0xb7,0x50,0x63, + 0xca,0x40,0x73,0x20,0x44,0x5a,0x9f,0x52,0x46,0x31,0x69,0x9,0x1b,0x6d,0x5e,0x85, + 0x86,0x6b,0x63,0xec,0x89,0x42,0x41,0xcc,0xe0,0x51,0xe5,0x77,0x3d,0x68,0xf0,0x76, + 0x4c,0x51,0x9,0xca,0xe0,0x3d,0x28,0xbc,0x1b,0xf5,0x63,0x29,0xf3,0x35,0xd4,0x14, + 0xf9,0xf6,0xdd,0x6d,0xa3,0xaa,0xc8,0xee,0x5e,0xcc,0xe8,0x94,0xe0,0xf,0x9d,0x72, + 0x60,0xf,0xae,0xfa,0x3d,0x1a,0x30,0x90,0xbf,0xfc,0x61,0x6f,0xa6,0x86,0xee,0x6a, + 0xee,0xc,0xab,0xff,0xd4,0x39,0x5d,0x67,0x73,0x93,0x4f,0x59,0x7a,0xec,0x5d,0xad, + 0x73,0xcc,0xcd,0x3c,0xfb,0x68,0x95,0xfa,0xcb,0x1a,0x88,0xdd,0xfa,0x9f,0xa6,0xe1, + 0x26,0x2f,0x92,0xb4,0x68,0x9b,0x94,0xff,0x19,0x35,0x35,0xf7,0x79,0xef,0xc9,0x7, + 0x2f,0xc8,0xcd,0xda,0xb5,0x93,0xcb,0xed,0xe5,0x3a,0x4a,0xf2,0x23,0x50,0x38,0x6d, + 0xfc,0x9c,0xe7,0xc0,0x92,0x42,0x89,0x4f,0x5b,0xe2,0x3b,0x74,0x47,0x3a,0xdc,0x6c, + 0x96,0x9e,0x35,0xde,0xfb,0x63,0x6a,0x28,0x55,0xec,0x6c,0x24,0xec,0xfe,0xc1,0x55, + 0x87,0xb3,0x43,0xfd,0x4e,0xf7,0x77,0x67,0xc3,0xf,0x28,0x1c,0xd0,0x61,0x13,0xdd, + 0xa7,0xd8,0xb1,0xff,0xd5,0xe6,0x68,0xca,0x1b,0xce,0xba,0x61,0x6d,0x89,0x33,0x8, + 0x95,0xeb,0xfc,0xb8,0x3a,0x64,0x49,0x5a,0x3a,0x9a,0x1f,0xd2,0xd3,0x4,0xbe,0x6d, + 0x76,0x73,0x93,0xdf,0x5d,0x6e,0x3f,0x66,0x3b,0xe0,0x31,0x6b,0x72,0x51,0xf8,0xa6, + 0x7,0x7a,0xb4,0xb9,0xd5,0x39,0x6,0x4d,0x8f,0xbb,0xde,0xbe,0x9d,0x36,0x1,0x24, + 0x26,0xdb,0x82,0xa6,0xe3,0x88,0x5f,0x5b,0x4b,0xac,0xbc,0x70,0xb4,0x8e,0x2a,0x5f, + 0x70,0xad,0xf1,0xf4,0x39,0xc7,0xe3,0xa6,0x23,0xde,0x3e,0x2f,0xb3,0xba,0xd1,0xe0, + 0x55,0xe0,0x2e,0x11,0x63,0x31,0xf6,0x93,0x71,0x2a,0x6,0x85,0xc0,0x23,0x12,0xa1, + 0xc4,0xab,0xb2,0xf8,0x62,0x1a,0xc8,0xb7,0x35,0xec,0xa1,0x34,0xaa,0xe3,0xfe,0x39, + 0xe5,0x7d,0x7c,0x9b,0x56,0x51,0x12,0x55,0x51,0xcf,0xff,0x36,0xd2,0x1a,0xe7,0x2b, + 0xd4,0xf5,0x8b,0xbf,0xbf,0xf9,0xb9,0x33,0xb6,0x71,0xbc,0xf8,0x47,0x5e,0x7c,0xec, + 0x3d,0xa9,0xeb,0x10,0xdd,0xe4,0x7,0xc0,0xde,0x99,0x6d,0x57,0x2c,0xc6,0xb,0x77, + 0xf2,0xa3,0xea,0x75,0xb6,0x5,0xa5,0x5d,0x11,0xff,0x67,0xd4,0xd2,0x38,0x86,0x5d, + 0xc3,0xa8,0x73,0x75,0xbf,0x4f,0xfb,0x49,0xeb,0x69,0xdb,0x2f,0x24,0x2e,0x7e,0xa9, + 0x91,0xc4,0xdb,0xcc,0xd,0x9a,0xbf,0xab,0xb2,0xcd,0xe6,0x57,0x97,0x64,0x68,0xc0, + 0xe7,0xcd,0x42,0x5b,0x8f,0x3c,0xd8,0xc7,0xd5,0xbc,0xdd,0xa5,0x7f,0x5a,0x9d,0xd0, + 0x61,0x13,0xdd,0xa4,0x9b,0xe5,0xe4,0x3a,0xda,0xfc,0xeb,0x90,0x6,0x67,0x44,0x5a, + 0x15,0xf9,0x61,0xbf,0xcd,0x93,0xb4,0x39,0x9,0x93,0x1e,0xbc,0xe6,0x64,0x34,0x29, + 0xf7,0x51,0xb5,0x6e,0x77,0xd4,0x14,0x0,0xb7,0x58,0xe9,0x62,0x87,0xea,0xfb,0x95, + 0xfb,0xd4,0xfb,0xfe,0x50,0xcb,0x3a,0x52,0x1c,0x36,0xe9,0x22,0xfd,0x94,0xee,0xf2, + 0x24,0x41,0x6d,0x50,0xe4,0x1f,0xd3,0xc5,0x73,0x19,0xa3,0x56,0x30,0xcd,0x63,0x7d, + 0xa,0x16,0x22,0x14,0x46,0x28,0xce,0x8,0x6b,0xe3,0x4e,0xb5,0xb1,0xc0,0xc5,0xcd, + 0xa1,0xaa,0x86,0xb1,0x7f,0xe6,0xd9,0x6e,0x1,0xa8,0xd2,0xa2,0x8d,0xfa,0x87,0x4d, + 0x86,0x5f,0xb,0xd1,0xc6,0x92,0x8,0xa2,0x53,0x14,0xd1,0x7d,0xbd,0xbc,0x26,0xda, + 0x95,0x41,0x1d,0xbd,0xb0,0xcb,0xbf,0x4,0x1c,0xf6,0xc0,0x8,0xd,0x53,0xc3,0x43, + 0x9,0x4b,0x88,0x3,0x19,0xbc,0xd,0x60,0xe1,0xb5,0x36,0x9a,0xeb,0x29,0x3e,0x49, + 0xab,0xa9,0x92,0x23,0x56,0x3a,0x3c,0x28,0x1f,0x98,0xf9,0x9e,0x94,0x40,0xd3,0xbd, + 0x4a,0xc8,0x43,0x1c,0xf7,0x47,0xe3,0x7f,0x1f,0x40,0xd9,0x43,0x35,0x2,0xb0,0x85, + 0x55,0x5f,0x2,0x50,0x3c,0x1a,0xc0,0xd5,0x48,0x14,0x50,0xbe,0xf5,0x17,0x79,0x75, + 0x76,0x35,0x23,0xb9,0x51,0xc8,0xef,0x2f,0xe8,0xee,0x1,0xae,0x55,0x33,0xa5,0x98, + 0x99,0x8a,0x50,0x11,0x4e,0x9,0x4a,0xa5,0xee,0x8c,0xd,0x5f,0xd0,0x43,0xab,0x89, + 0xcb,0xf6,0x6f,0x7c,0x52,0xc8,0xba,0xd1,0x9c,0xe,0xac,0x53,0x3,0xe,0xaa,0x3e, + 0x94,0x17,0xc4,0x4a,0xa4,0x94,0x96,0x6b,0x19,0x5c,0x7,0xd4,0xd9,0x68,0xac,0xc2, + 0x22,0xa6,0x85,0xd6,0x44,0xe9,0x40,0x85,0x52,0x29,0x6a,0x5,0x9f,0xca,0x50,0x5b, + 0x6b,0x15,0x17,0x81,0x37,0x4c,0x40,0x4e,0x4f,0x75,0xc8,0xc,0x65,0x1e,0x56,0xf8, + 0x53,0xf8,0x6e,0xc4,0x30,0xb,0x63,0xf0,0xaa,0x16,0x33,0x72,0x14,0xa7,0x92,0x39, + 0xb0,0xdd,0xdc,0x1a,0x6e,0x97,0x6,0xa8,0x20,0xa4,0x60,0x42,0x22,0x46,0x43,0x49, + 0x8c,0x65,0x36,0x90,0xdd,0x8c,0x7d,0xec,0x3a,0x40,0x69,0xcb,0xa9,0x19,0x47,0x8d, + 0xab,0x29,0x4,0x67,0x3e,0xe6,0x2b,0x38,0x83,0x98,0x31,0x5a,0xb5,0xb9,0xdd,0x1b, + 0xb5,0x58,0x51,0x1f,0xb5,0x21,0x4c,0x8e,0xdf,0x20,0x2a,0x12,0x62,0xd9,0xd4,0x84, + 0xca,0xc0,0xfc,0xb1,0xc0,0x95,0x70,0xb8,0xad,0xe1,0x2,0x4d,0x28,0x1c,0x8,0xe, + 0x16,0x26,0xdb,0x27,0x8c,0xb0,0x28,0x8e,0xad,0xd4,0xba,0x9,0x11,0x42,0x3,0x38, + 0x0,0xe,0x5a,0xd7,0xd3,0x38,0xe3,0xc6,0x3,0x94,0xdb,0x5a,0xa3,0x32,0x67,0x2e, + 0x97,0x54,0x35,0x22,0x5d,0xc,0xab,0x2,0xf7,0xa8,0x47,0xc4,0x15,0x50,0x82,0x59, + 0xeb,0x82,0x46,0x5b,0xb7,0x7c,0x26,0x41,0x44,0x2d,0x39,0x75,0x5b,0xe2,0x86,0xbb, + 0x6d,0x32,0xf8,0x2d,0xab,0xfc,0xe0,0x2e,0x86,0xc1,0xd8,0x3d,0xc1,0x44,0x7a,0xd8, + 0xd3,0x2,0x1a,0x56,0xcf,0x87,0x3a,0x1e,0x0,0x73,0x18,0x1e,0xc9,0x70,0x63,0xf9, + 0xc4,0x84,0x29,0xf,0x7,0xfa,0x19,0x25,0x5,0xa2,0xba,0x59,0xe2,0xb5,0xcb,0xc, + 0xef,0x86,0x2b,0x14,0x2f,0x57,0x30,0xca,0x94,0x51,0x7e,0x77,0x52,0x52,0xca,0x1d, + 0x17,0xe1,0xe5,0x99,0x10,0x17,0xc8,0xf2,0x39,0x38,0xff,0xce,0xa9,0xff,0x3a,0xc7, + 0xb,0x8,0x6e,0x91,0x17,0x67,0x26,0x98,0xf0,0x97,0x63,0x51,0xa1,0x5f,0xd4,0xf, + 0xe2,0x96,0xf0,0xbd,0x64,0xc2,0x45,0xeb,0xef,0x7b,0x16,0xe4,0x5c,0x3a,0x6,0xb7, + 0xda,0x63,0x4f,0xdc,0xe5,0xb3,0xa6,0xe8,0xe9,0x59,0x3,0xbb,0x85,0x81,0xa6,0x98, + 0x29,0xfc,0x32,0xa1,0x78,0x6b,0xbc,0x66,0x37,0xce,0x83,0xe4,0x6a,0x10,0xc5,0xfb, + 0xc5,0xc9,0x60,0x46,0x4c,0x9d,0xb,0xa7,0x44,0x18,0xc7,0x78,0xb,0x87,0x6d,0x1d, + 0xe3,0x61,0xd8,0xa9,0xb2,0xca,0x93,0xbb,0xb,0xba,0x2f,0xa9,0x89,0x35,0x8e,0x1f, + 0x6,0x3c,0x83,0x4b,0xc7,0x61,0xa5,0xee,0xdb,0x3,0xcb,0x8c,0xf4,0x69,0xac,0xb6, + 0x5a,0xb8,0x98,0xb0,0xf8,0x63,0x86,0xb,0xea,0x62,0xd7,0xee,0x60,0x3a,0x32,0x8f, + 0xa2,0x1c,0x31,0xa3,0x3d,0xb,0x29,0xc7,0x22,0xdd,0x39,0x77,0x8c,0xa9,0x9,0x8c, + 0x49,0xb4,0xa8,0xf,0x7f,0x1b,0xa4,0xa1,0x85,0x90,0x11,0x53,0x1f,0x7e,0x62,0x88, + 0xa6,0x6e,0xdd,0xd2,0x38,0xad,0xf5,0x29,0xb4,0xe1,0x50,0x98,0x7e,0xcf,0x97,0xd0, + 0x79,0x22,0xbd,0xa8,0xa1,0xbf,0x91,0x5e,0x52,0x33,0x2,0x35,0x11,0x7f,0x28,0x8e, + 0x9,0x2a,0xc8,0x29,0xc7,0x20,0x18,0x96,0x83,0x50,0xcc,0xa1,0x6d,0x85,0x50,0xaa, + 0x15,0xc,0x8a,0x2,0x6d,0x18,0xf5,0x82,0x1,0x7d,0xf6,0x7c,0x92,0x5c,0x42,0x15, + 0xbc,0x64,0xa0,0xbe,0x13,0x5e,0x82,0xac,0x60,0x9c,0x3b,0x92,0xd,0xa2,0x4,0xa2, + 0xa0,0xb8,0xf2,0xa2,0x61,0xa1,0x60,0xca,0x72,0x4f,0x32,0x94,0x42,0xb8,0x1e,0x9a, + 0x3c,0xb8,0x3c,0x3c,0x75,0x70,0xca,0x99,0x18,0xae,0xa8,0x8b,0x79,0xc9,0x91,0xc4, + 0xd2,0x51,0x14,0x9a,0x8,0xc1,0x31,0xca,0x13,0x8f,0x48,0x89,0x1b,0xc7,0xab,0x27, + 0xf2,0x11,0xe3,0x79,0x6,0x16,0x51,0xd5,0x68,0x6a,0x13,0xa5,0x10,0x48,0x94,0xef, + 0xa2,0xd6,0x54,0x66,0x29,0xa3,0xd6,0xef,0x88,0x12,0x25,0xa4,0xcf,0x83,0x13,0x60, + 0xf4,0x70,0xe7,0x17,0x30,0x7a,0x2a,0xd3,0xac,0xfc,0xbf,0x60,0x1a,0x13,0xea,0x5c, + 0xcd,0x70,0x91,0x53,0x41,0x6b,0x91,0x91,0x1a,0x2f,0xd3,0xab,0x19,0x87,0x6e,0x29, + 0x4a,0x7,0x51,0x94,0x67,0xc2,0x95,0xca,0xca,0xbd,0x43,0xcd,0xf1,0x83,0x10,0xcc, + 0x84,0x64,0xdc,0xcb,0x7,0xe5,0xd6,0xe0,0x3e,0x7d,0x1b,0xf8,0xb,0x5a,0x73,0xe1, + 0xc,0x85,0x30,0x44,0x62,0x94,0x57,0x33,0x1,0xaa,0x30,0xc5,0x71,0xd1,0xe2,0x4d, + 0xe3,0xba,0x13,0x48,0xe3,0xfe,0xf,0x0,0x9f,0x10,0x93,0x2,0xed,0xa0,0x8f,0x72, + 0x55,0x20,0x2e,0x50,0x33,0x88,0x39,0x35,0x53,0x70,0xf,0xe3,0x28,0xd8,0x63,0xac, + 0xbb,0x2,0x31,0xa1,0x93,0x44,0xe1,0x42,0xf0,0xd5,0x9e,0x3b,0x1a,0x87,0xc1,0x71, + 0xb8,0x16,0x34,0x8d,0xf5,0x28,0x27,0x9a,0xee,0xa,0x15,0x86,0x73,0x2f,0x68,0x30, + 0xd6,0x44,0x1b,0xe9,0xf7,0xc3,0x20,0x63,0x2,0x69,0x70,0x59,0xc2,0xe3,0x8a,0xc1, + 0xbe,0x2f,0x21,0xf4,0xd4,0xb,0x53,0xaa,0x87,0x78,0x36,0x24,0xc3,0x1f,0x9c,0x64, + 0xd2,0x5c,0x90,0x33,0x61,0x25,0xac,0x5c,0x23,0x9,0x9d,0x78,0x50,0xa,0xb8,0x87, + 0x51,0x1c,0x7e,0xe7,0x26,0x6b,0xb7,0xa3,0x38,0xc1,0x6b,0x73,0x32,0x61,0x84,0x41, + 0x47,0x17,0x23,0x1c,0xa0,0xe8,0x5a,0x3c,0x98,0x21,0xdc,0xdb,0x56,0xae,0x35,0x2e, + 0x38,0x5d,0x8b,0x7,0xc,0x23,0xe4,0x5,0xa4,0x20,0xce,0xee,0x48,0x5d,0xfb,0x22, + 0x4a,0x89,0x63,0x9e,0xc0,0x59,0x27,0x46,0xfb,0x15,0xe1,0xf2,0x52,0x6a,0x10,0xc3, + 0x68,0x1d,0x1a,0x98,0xaa,0x51,0x14,0x62,0xa8,0x40,0x12,0x3f,0x21,0x1c,0x20,0xc4, + 0xd6,0x69,0xa6,0x90,0xb0,0x6b,0x8e,0xdf,0xb8,0x4f,0x49,0xbd,0x1e,0x1b,0xc2,0x9e, + 0x2a,0xed,0xe9,0x4,0x8d,0xc6,0xa9,0xa8,0xe5,0x95,0xe2,0x2a,0x55,0x9e,0x7a,0xee, + 0x7b,0x49,0x97,0xc3,0xc2,0x55,0x58,0x35,0xdc,0xf5,0x5,0x7c,0x9e,0x4a,0x31,0x45, + 0xfe,0xfb,0x29,0x76,0x35,0x5f,0xd5,0x5f,0x2a,0xe0,0xd7,0x95,0xfb,0x9a,0xe3,0xf5, + 0xb3,0x7f,0x3,0xdd,0xef,0x39,0x5e, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/transfert.svg + 0x0,0x0,0x11,0xea, + 0x0, + 0x0,0x76,0xd5,0x78,0x9c,0xed,0x5d,0x5b,0x73,0x2a,0xc7,0x11,0x7e,0xf7,0xaf,0xd8, + 0xe0,0x17,0xab,0x2,0xcb,0xdc,0x2f,0x8a,0xe4,0x3c,0x1c,0x97,0x53,0xae,0x72,0x2a, + 0xa9,0xd8,0xae,0x3c,0xa6,0x10,0x2c,0x12,0x31,0x2,0x2,0xc8,0x92,0xfc,0xeb,0xf3, + 0xf5,0x2c,0xb,0xbb,0x30,0x88,0xe5,0x2a,0xf9,0xd8,0x3a,0xf6,0x11,0xf4,0xce,0x4e, + 0xcf,0xf4,0xf4,0x7c,0xf3,0x75,0xef,0xec,0x9c,0x9b,0xbf,0xbe,0x3c,0xe,0x93,0x5f, + 0xb2,0xe9,0x6c,0x30,0x1e,0xdd,0x36,0x78,0xca,0x1a,0x49,0x36,0xea,0x8e,0x7b,0x83, + 0xd1,0xfd,0x6d,0xe3,0xa7,0x1f,0xbf,0x6d,0xb9,0x46,0x32,0x9b,0x77,0x46,0xbd,0xce, + 0x70,0x3c,0xca,0x6e,0x1b,0xa3,0x71,0xe3,0xaf,0x5f,0x7f,0x71,0xf3,0xa7,0x56,0x2b, + 0xf9,0x34,0xcd,0x3a,0xf3,0xac,0x97,0x3c,0xf,0xe6,0xf,0xc9,0x77,0xa3,0x9f,0x67, + 0xdd,0xce,0x24,0x4b,0xbe,0x7a,0x98,0xcf,0x27,0xd7,0xed,0xf6,0xf3,0xf3,0x73,0x3a, + 0x58,0x8,0xd3,0xf1,0xf4,0xbe,0x7d,0x95,0xb4,0x5a,0xb8,0x73,0xf6,0xcb,0xfd,0x17, + 0x49,0x92,0x40,0xed,0x68,0x76,0xdd,0xeb,0xde,0x36,0x16,0xe5,0x27,0x4f,0xd3,0x61, + 0x28,0xd7,0xeb,0xb6,0xb3,0x61,0xf6,0x98,0x8d,0xe6,0xb3,0x36,0x4f,0x79,0xbb,0xb1, + 0x2a,0xde,0x5d,0x15,0x7f,0xce,0xee,0xd2,0x69,0x36,0x1b,0x3f,0x4d,0xbb,0x79,0xf5, + 0xdd,0x6e,0xb9,0xe4,0xb4,0xd7,0x5f,0x15,0x45,0x4b,0x9e,0x65,0x28,0xc4,0xbd,0xf7, + 0x6d,0x26,0xda,0x42,0xb4,0x50,0xa2,0x35,0x7b,0x1d,0xcd,0x3b,0x2f,0xad,0xd1,0xec, + 0xcb,0xd2,0xad,0x68,0x60,0xec,0x56,0xc1,0x18,0x6b,0xe3,0xda,0xaa,0x64,0xbd,0x52, + 0xd7,0x2f,0x43,0x98,0x61,0x6b,0x63,0xc2,0xd5,0xb2,0x76,0x98,0x7e,0x82,0xff,0x97, + 0x37,0x14,0x82,0x34,0xef,0x6b,0x1f,0x77,0x66,0xe9,0x28,0x9b,0xb7,0xbf,0xf9,0xf1, + 0x9b,0xe5,0xc5,0x16,0x4b,0x7b,0xf3,0x5e,0xa9,0x9a,0xc2,0xf2,0x15,0xbd,0x95,0xe1, + 0x18,0x75,0x1e,0xb3,0xd9,0xa4,0xd3,0xcd,0x66,0xed,0x42,0x1e,0xee,0x7f,0x1e,0xf4, + 0xe6,0xf,0xb7,0xd,0xa1,0xc2,0xb7,0x87,0x6c,0x70,0xff,0x30,0x5f,0x7e,0x1d,0xf4, + 0x6e,0x1b,0xe8,0x9d,0x8,0x5f,0xa,0xe5,0xd7,0x4b,0xf7,0x61,0xa9,0xcc,0x2f,0x15, + 0x35,0x96,0x2f,0x29,0x1d,0x2e,0x55,0x7c,0xad,0x52,0x4d,0x6f,0xdc,0xbd,0xeb,0xcc, + 0xd0,0xe4,0xf6,0xc3,0xf8,0x31,0x6b,0x4f,0x86,0x77,0x59,0xe7,0xa9,0x37,0x1e,0x8c, + 0xda,0x3f,0x7c,0xfb,0xfd,0x3f,0x1f,0xe0,0x7e,0xed,0x59,0x7f,0x38,0xa9,0x7c,0x68, + 0xdd,0xcf,0x7f,0x6e,0x4f,0x6,0x2f,0x8f,0x9d,0xc9,0x6c,0xa3,0x36,0xea,0xe2,0x6d, + 0x63,0x3e,0xed,0x8c,0x66,0xfd,0x6c,0x3a,0x4f,0x8b,0x71,0x59,0xb6,0x6e,0xfc,0x34, + 0x9f,0x3c,0xcd,0xff,0x93,0xbd,0xcc,0xb3,0x51,0xde,0x28,0x58,0xa6,0x64,0xa6,0x70, + 0x99,0x6e,0x4b,0x2b,0x26,0x5a,0xea,0x78,0xc4,0x5f,0xfd,0x41,0xd6,0x23,0x25,0x4f, + 0x59,0xe3,0x6b,0x5c,0xbc,0xe9,0x65,0xfd,0x19,0x15,0xca,0x8d,0x45,0xdf,0x54,0xb8, + 0x80,0x4b,0x18,0xea,0xac,0x33,0xfd,0xdb,0xb4,0xd3,0x1b,0xc0,0xbb,0xf3,0x42,0x79, + 0xb1,0xea,0x15,0x25,0x8c,0x5f,0xdc,0x83,0xbb,0x66,0xf3,0xf1,0xa4,0x28,0xb,0xdd, + 0xf3,0xd7,0x21,0x3a,0x45,0xc2,0x56,0x77,0x3c,0x1c,0x4f,0xaf,0xbf,0xe4,0xc2,0xb8, + 0x7e,0xff,0x2f,0x41,0x34,0xc6,0x88,0xe,0xe6,0xaf,0xd7,0xfc,0x2f,0x8d,0xd5,0x3d, + 0xe3,0x7e,0x7f,0x96,0x61,0x10,0x59,0x49,0x16,0x46,0x12,0x77,0x28,0x61,0x79,0x23, + 0x69,0x1f,0xa7,0x8d,0xc5,0xb4,0xf1,0xb8,0x36,0xb9,0xd4,0x76,0xd3,0xae,0x76,0x7b, + 0x5f,0x2b,0x71,0x27,0xb7,0x59,0x69,0xa9,0x8f,0x3b,0xbd,0xc3,0x10,0x91,0x2e,0xaa, + 0x3e,0x7a,0xb8,0x69,0xd0,0xad,0x56,0x2a,0x69,0xb3,0x3b,0xc,0x11,0xd1,0xc6,0x98, + 0xe4,0xae,0xb3,0x55,0xdb,0xd1,0x56,0x32,0x76,0xf,0x5f,0x72,0xc0,0x2f,0x96,0x1d, + 0xea,0x4b,0x1c,0x7e,0xbb,0x8f,0x2f,0xdd,0x41,0x19,0x57,0x87,0xfa,0x12,0x2f,0x79, + 0xee,0x7e,0x56,0x2a,0xe6,0x3f,0x9a,0x31,0xcc,0xba,0xa8,0xbf,0x33,0x7c,0xee,0xbc, + 0xce,0x96,0x4a,0x2,0x28,0x5f,0x3f,0x4c,0x33,0x2c,0x22,0x5f,0x46,0xbc,0xee,0x4d, + 0xa7,0x5c,0xb5,0xf5,0x85,0xa3,0xe5,0x2c,0xd5,0x56,0xf9,0xd5,0x3d,0xaf,0x24,0x14, + 0x29,0xe7,0x5a,0x6b,0xbf,0x2a,0x2a,0x6e,0x1b,0x0,0x71,0xe3,0x50,0x58,0x2c,0x40, + 0x34,0x94,0x16,0xb1,0xd2,0xf7,0xb,0x6d,0x3f,0x8d,0x6,0x73,0x2c,0x43,0x4f,0xb3, + 0x6c,0xfa,0x3,0x41,0xf9,0x3f,0x46,0x3f,0xcd,0xb2,0x8d,0x52,0x3f,0x6,0x0,0x1c, + 0x4f,0x1f,0x17,0x58,0x38,0xc4,0xaa,0xfd,0x15,0x4f,0x85,0x1,0xcc,0xf0,0x66,0xb, + 0x6b,0x2c,0x63,0x56,0x8b,0xab,0x95,0x31,0xdf,0xc1,0x6c,0x5e,0x57,0xcc,0x26,0x79, + 0x6a,0xbc,0xf0,0xc6,0x55,0xed,0x46,0xad,0x56,0x82,0x9b,0x8a,0xdd,0x84,0x4c,0x1d, + 0x7e,0x8c,0xae,0x5a,0x4d,0xa6,0x52,0xeb,0x92,0x29,0x4f,0x60,0x34,0x8c,0x90,0x57, + 0x96,0x71,0xd7,0xc4,0x27,0xe7,0x34,0xf7,0xee,0x5d,0xad,0x26,0x98,0xac,0x3a,0x9b, + 0x4e,0x8d,0xb2,0x82,0x57,0xbd,0x4d,0xa4,0x96,0x9,0xd8,0xa7,0x6a,0x35,0xae,0x52, + 0xc6,0xa5,0x91,0xae,0x6a,0x35,0x72,0x57,0x83,0x2a,0x6a,0x9a,0xed,0x9c,0x9d,0xa7, + 0x55,0xf0,0xad,0xce,0x6b,0x53,0xe9,0xbc,0x4d,0x31,0x20,0x34,0x7b,0xaa,0x2e,0xa3, + 0x53,0xcf,0x85,0x74,0xae,0xd2,0x79,0x8b,0x19,0xc5,0x95,0x53,0xbc,0xda,0x79,0x9e, + 0x6a,0x6f,0xa5,0xd0,0xa7,0xf4,0x19,0x10,0x1f,0x61,0xb8,0x86,0xcb,0x60,0x1c,0xc, + 0xc6,0xc6,0x9c,0xd7,0x65,0x76,0x59,0xcd,0xb0,0xe3,0x7b,0xf7,0xd8,0x99,0x4f,0x7, + 0x2f,0x5f,0xb5,0x78,0x13,0xe0,0x21,0xe1,0x5c,0x3c,0x6b,0x71,0xbb,0xf6,0xa5,0x29, + 0x45,0xca,0xe0,0xc1,0xa1,0xe7,0xe,0x7e,0x29,0xaf,0x2a,0xe3,0x85,0xab,0x46,0x63, + 0xc5,0xb4,0xd5,0xf1,0x12,0xa9,0x11,0xda,0x33,0x51,0x19,0x2f,0x93,0x3a,0x69,0x9d, + 0xf3,0x76,0x7d,0x8a,0x7b,0x10,0x6e,0x2d,0xdf,0xd5,0xa0,0x56,0x6f,0xcc,0x41,0xc9, + 0x64,0x9,0xcf,0xc2,0x1c,0x84,0x9,0xe0,0x9b,0xac,0xea,0x86,0x91,0xb2,0xa1,0xb3, + 0x42,0x2a,0xad,0xcc,0x9,0xa0,0x6b,0x31,0x50,0x3c,0x95,0x86,0x59,0xee,0xb2,0x96, + 0xa3,0x41,0x12,0xce,0x8b,0xd2,0x87,0x56,0xf9,0x32,0xbe,0x58,0xe1,0xb5,0xb2,0xaa, + 0xd9,0xf2,0x69,0x0,0xdb,0x1a,0xe,0xbb,0x69,0x16,0x6,0xba,0x5f,0x9f,0x8,0xf4, + 0xc3,0xcf,0x1a,0x11,0xa8,0xcb,0x3a,0x98,0xb2,0x7b,0xb1,0x8e,0x7e,0xb7,0x7f,0xd7, + 0xbd,0x5b,0xe3,0x38,0x75,0x49,0x7,0x53,0xfe,0x54,0xd4,0x4c,0x8,0x2f,0xf6,0xa1, + 0xf9,0x3d,0xa2,0x4b,0x7,0x52,0x33,0xe8,0x52,0xfb,0xd1,0xfc,0x88,0xb6,0xda,0xd4, + 0xc,0xda,0xcc,0x9,0xad,0xe4,0x76,0xd1,0x7c,0x21,0xd9,0x2e,0x6f,0xa9,0x6f,0xd0, + 0x9d,0x34,0x1f,0xda,0xc4,0xe,0x43,0xc4,0x68,0x7e,0x5f,0xf7,0xdf,0xd0,0x76,0xac, + 0x95,0x24,0x53,0x97,0xa2,0xf9,0xd0,0x65,0x2e,0x47,0xf3,0xa1,0xcd,0x7d,0x38,0x9a, + 0x2f,0x24,0x67,0x55,0xd4,0xff,0x83,0xe6,0xd7,0x33,0x9b,0xa8,0x98,0xed,0xf,0x9a, + 0x5f,0xc7,0x6a,0x4a,0x6c,0x52,0x8c,0xdf,0xb,0xcd,0x87,0xcb,0xfc,0x41,0xf3,0xf, + 0xb1,0x9a,0x3b,0xbe,0x77,0x2b,0x9a,0xcf,0xf0,0xe7,0xb3,0x21,0xf4,0x3b,0x67,0xdb, + 0x5a,0x6,0x7,0x6d,0x15,0xc6,0x7a,0x53,0xe9,0x96,0x1,0x4d,0x76,0xce,0x96,0xe6, + 0x60,0xc0,0x28,0x9b,0x6a,0x23,0xaa,0x8,0x5,0xea,0xaf,0xb9,0xd0,0xec,0x4,0xee, + 0xb6,0x18,0x10,0x80,0x92,0xd5,0x4c,0xe8,0x30,0x2c,0xab,0x2f,0xa9,0x31,0xc6,0x32, + 0x89,0xf,0xdc,0x5a,0xcf,0xec,0x4e,0x7,0x7c,0x2b,0x60,0x30,0xc2,0x73,0x19,0x14, + 0xb4,0x8a,0x2f,0x2d,0xa0,0x6,0x33,0x86,0xb9,0xa6,0xf4,0xa9,0x5,0x28,0xda,0xab, + 0x3d,0xbb,0x94,0x47,0x37,0xc6,0x5a,0xe6,0xed,0x46,0x24,0xe4,0x98,0xa9,0x2c,0x89, + 0xf1,0xa8,0x29,0x1a,0x61,0xc5,0x46,0x91,0xfb,0xfd,0xe7,0xd1,0x36,0xaf,0xda,0x61, + 0xc7,0xaa,0xeb,0xee,0x70,0xf3,0xf8,0x94,0x88,0x4e,0x9f,0xe3,0xa6,0x64,0xbd,0x21, + 0xd9,0x34,0x1d,0xaf,0xa0,0xe8,0x99,0x4d,0xb7,0x37,0xa6,0xee,0xef,0x70,0xe7,0x18, + 0x99,0xa8,0xd5,0xcc,0xc5,0xad,0x56,0xa3,0xf3,0x1b,0xb,0xfd,0x16,0x52,0x10,0x27, + 0x10,0x51,0xb2,0x11,0xed,0xbc,0xda,0x1f,0x7a,0xcf,0xe1,0x32,0x51,0xea,0x76,0x80, + 0xd9,0x80,0xd9,0x52,0x5b,0xae,0x2b,0x66,0x3,0x5b,0x5,0x1b,0xb1,0x6e,0xdd,0x65, + 0xd6,0x8b,0x92,0x2d,0x55,0x2a,0xbd,0x2d,0x83,0x7e,0xd4,0x6a,0xe2,0x63,0x58,0x2d, + 0x16,0x25,0x1c,0x64,0x34,0x27,0xb4,0xf3,0xd5,0x89,0x66,0x31,0xfb,0x24,0xfe,0xd3, + 0xeb,0x56,0x5b,0x2f,0xcb,0xc3,0x23,0x61,0xa6,0xe0,0x6d,0xe6,0x6d,0xab,0xb1,0x8b, + 0x59,0x2d,0xa6,0xde,0x6e,0xd,0xb4,0x8b,0x90,0x15,0x65,0x56,0x3d,0xa8,0x9d,0x8e, + 0xd8,0x12,0x93,0xef,0x4c,0x47,0x40,0x9b,0x8b,0x68,0xdb,0x91,0x8e,0xd8,0x12,0x93, + 0x9f,0x28,0x1d,0x1,0x70,0xd9,0x9a,0xb4,0x89,0x34,0x46,0x98,0x23,0x52,0x5b,0xe8, + 0x3f,0xdb,0x2f,0xb5,0xa5,0xa2,0x99,0x98,0xb7,0x4d,0x58,0xd2,0x26,0x4e,0x68,0xa5, + 0xad,0x9,0xc0,0x95,0x3e,0xa3,0xf6,0xf7,0xa5,0x2d,0x6,0xad,0xe1,0x4b,0x26,0xe6, + 0xb9,0x3b,0x7c,0x29,0xa6,0xed,0x60,0x5f,0x3a,0x1f,0xb3,0xe7,0x8a,0x99,0x3d,0x61, + 0xed,0xd4,0xd1,0xf6,0xfb,0x85,0x35,0xe8,0xfc,0x9,0x22,0xc2,0x7a,0x4b,0xc6,0xc9, + 0x13,0x62,0xef,0x69,0x36,0x7e,0x82,0xe7,0x65,0x35,0xf9,0xc9,0x89,0x33,0x62,0xef, + 0x97,0x7e,0x80,0xd5,0x4e,0x9a,0x90,0x7b,0x2b,0x10,0x38,0x75,0x4e,0xe8,0x5d,0xad, + 0xa6,0x8e,0xb7,0xda,0x47,0x48,0xda,0x50,0xab,0x3a,0xc3,0x93,0x9a,0x8e,0xa9,0x2a, + 0x95,0xae,0xaa,0x50,0x4c,0xaf,0xc6,0xb3,0xfb,0x82,0x46,0xf9,0x54,0xb8,0xa,0x2b, + 0xef,0xbe,0xde,0x36,0x7c,0x4a,0x32,0x25,0x56,0x66,0xee,0x47,0xcb,0xf6,0xa3,0x65, + 0xa7,0x1,0xd5,0x5c,0x10,0xef,0x39,0x4e,0xb3,0xc9,0x34,0xeb,0xf4,0xfe,0x9e,0xcd, + 0x1f,0xc6,0xd4,0xf6,0xac,0x4f,0xfd,0xaf,0x95,0xe9,0xc1,0xd0,0x21,0x8e,0x58,0x64, + 0x7a,0x16,0x5f,0x8,0xd,0x98,0x56,0xae,0xa9,0x53,0x2b,0xac,0x50,0xbb,0xb3,0xd3, + 0x9f,0x57,0x86,0x42,0x28,0xcf,0xf7,0x9f,0x6f,0xc7,0x24,0x77,0x68,0x25,0x92,0x56, + 0xeb,0x35,0x24,0x11,0x1e,0xc1,0xc8,0x9a,0xe5,0xc,0x8a,0x32,0xed,0xaa,0x96,0xc3, + 0x88,0x61,0xfd,0x95,0x6e,0x33,0x7,0x78,0xa6,0xc4,0x47,0xcc,0x68,0xee,0xe2,0x19, + 0xb1,0xea,0x93,0x99,0x2d,0x4b,0x56,0x7c,0x79,0x8b,0x2e,0x85,0xe7,0xe,0xfd,0xa3, + 0x56,0xb3,0xb5,0xac,0x76,0x8a,0x68,0x73,0xe1,0x6a,0x5e,0x79,0xbd,0x9e,0x57,0x4e, + 0x89,0x3f,0x1a,0x65,0xd6,0x67,0xe9,0x3a,0x9d,0x8a,0x31,0xaf,0x33,0x87,0xfe,0x51, + 0xa3,0xe9,0xcb,0x1a,0xed,0xc,0x59,0xae,0x23,0x3a,0x2f,0x2f,0xd6,0xf9,0x68,0xe2, + 0xdb,0x5c,0x2a,0xf2,0x86,0x2e,0xb7,0x57,0xe4,0xbd,0x25,0x50,0x7c,0x3b,0xe0,0x5c, + 0x69,0x13,0xec,0x54,0x91,0x37,0xea,0xda,0x19,0x79,0x8b,0xf2,0xda,0x7f,0xf6,0xc8, + 0x1b,0xda,0xe,0x88,0xbc,0xb7,0xa4,0x32,0x4e,0x67,0xa5,0x7d,0xb2,0x38,0xc7,0x6d, + 0x2a,0x51,0x72,0xbf,0x2c,0xce,0x71,0x9b,0x4a,0x94,0x3c,0x34,0x8b,0x73,0xce,0x27, + 0x8f,0x52,0x55,0x41,0x69,0x23,0x1d,0xba,0x25,0x75,0x1a,0x4f,0xb3,0x46,0x53,0xb2, + 0x27,0x9,0xfd,0xbd,0x10,0xcc,0x3b,0xf3,0x41,0x36,0x95,0x28,0x59,0xc5,0xf2,0xcd, + 0xdc,0xfb,0x96,0x3c,0x7d,0x34,0xa5,0x1f,0xcd,0xfe,0x9f,0x22,0xf2,0x87,0xd9,0x38, + 0xc3,0x2a,0xa5,0x3f,0xca,0xae,0x12,0xb9,0xf9,0x58,0xf5,0x77,0xb3,0xab,0x44,0xa9, + 0xea,0xfe,0xad,0x53,0x86,0xc1,0x27,0x9d,0x6a,0x94,0x23,0x76,0x5e,0x7c,0x90,0x6d, + 0x25,0x4a,0x9d,0x6e,0x53,0xf2,0x2a,0x42,0x44,0x2f,0xad,0xd7,0xf6,0xb7,0xbe,0xaf, + 0x64,0xa7,0xed,0xd4,0xc6,0x7c,0x3b,0x6e,0xa3,0xb8,0x3,0x4c,0xa1,0x53,0xfc,0x4, + 0x3b,0x6,0x97,0xfb,0x3e,0x84,0x36,0x5a,0xf0,0x62,0xe3,0xc7,0xe2,0x5b,0x8b,0x12, + 0x6c,0xa,0x8a,0x9a,0xc2,0xa5,0xd6,0x4a,0xc9,0xfc,0xd5,0xae,0x6c,0x4f,0x8d,0xa4, + 0x86,0x48,0x61,0x13,0x26,0x64,0xd6,0xe2,0x61,0xec,0x4b,0xdf,0xde,0xca,0x75,0x14, + 0x1a,0xea,0x25,0x55,0xde,0x36,0x45,0x34,0xa7,0x13,0x4f,0xff,0xc4,0x53,0x45,0xf1, + 0xb4,0x52,0x3c,0x5,0xb5,0x99,0xb7,0x12,0x52,0xd5,0x7b,0x4,0x5c,0x49,0x7f,0xfd, + 0xb1,0x4d,0x25,0x37,0x5d,0xbd,0xe7,0xc0,0x27,0xcb,0x67,0x6c,0x6c,0x1b,0xdc,0x92, + 0x4e,0x8e,0xa7,0x9e,0xa3,0x69,0xea,0xcb,0x67,0x81,0xa4,0xbc,0xdc,0xe6,0x9e,0xcf, + 0x27,0xb,0x24,0x65,0xbd,0xcd,0x3d,0x27,0xcc,0x2,0xd5,0x7d,0x50,0xf6,0x91,0xf3, + 0x40,0xd2,0x5e,0x2e,0x15,0xf2,0xe1,0xf2,0x40,0xb4,0x2d,0xe1,0x52,0x9d,0x8f,0xa9, + 0x37,0x97,0xcb,0x3,0x49,0x71,0xc9,0x3c,0x90,0x94,0xa7,0xcb,0x3,0xd1,0x6e,0x8e, + 0x9d,0xaf,0xfb,0x98,0xd8,0xeb,0x3e,0xe7,0xca,0x3,0xc5,0xf7,0x7b,0xbc,0x6f,0x1e, + 0x88,0xf6,0x33,0x5d,0xec,0xe5,0x22,0xbd,0xdf,0xdb,0x7c,0x47,0xbe,0x5c,0xa4,0xf, + 0x7d,0x9d,0xef,0x9c,0x6f,0xc9,0xb8,0xb5,0x97,0x8b,0x3e,0x6a,0x1e,0xe8,0x63,0xbd, + 0x5b,0xb4,0xf6,0xcc,0xed,0x83,0xa6,0x81,0x3e,0xd8,0xbb,0x45,0x52,0xaf,0x3d,0xa9, + 0xfc,0x3d,0x65,0x81,0x24,0x5b,0xcb,0x1c,0x7e,0xcc,0x2c,0xd0,0x47,0x7b,0xb7,0xc8, + 0xed,0xbb,0x8d,0xee,0xb8,0x8,0xf1,0xc2,0x39,0xa0,0xb7,0x12,0x17,0x35,0xdf,0xbb, + 0xd9,0xcf,0x3a,0xf1,0x97,0x84,0xa2,0xaf,0x13,0xc5,0x5f,0x3c,0x8a,0xbe,0xa4,0x14, + 0x75,0xf7,0xcb,0xed,0x37,0x8f,0xbe,0xc8,0xbd,0x95,0x45,0x94,0x5e,0x1c,0x8f,0xed, + 0x65,0x3e,0xd3,0xce,0x69,0x2c,0x94,0xbb,0xde,0xfb,0xbf,0xf8,0xce,0x69,0x58,0x80, + 0x5d,0xf0,0x50,0x0,0xb1,0x17,0xd7,0xda,0xf2,0xe,0x7b,0x5d,0xae,0xe5,0xf5,0xe9, + 0xac,0xe4,0x76,0xee,0xc2,0x47,0x99,0x3,0x76,0xe1,0x1f,0x7c,0x28,0x80,0x70,0x7, + 0xec,0xc2,0xdf,0x72,0xca,0xc2,0xc9,0xac,0x64,0x77,0x1f,0x9d,0x20,0xdc,0x1,0x47, + 0x27,0xc4,0xcf,0xeb,0xa8,0x63,0xa4,0x3,0x4e,0x4e,0xe8,0x67,0xfd,0x2c,0xb3,0x6b, + 0xca,0x52,0x90,0x59,0xe6,0xb8,0x3d,0xf0,0x6c,0x80,0x77,0xc9,0x85,0x86,0xb3,0x55, + 0x8c,0xf6,0x22,0x1c,0x90,0x53,0xfd,0x76,0xa6,0x1c,0xa9,0xac,0xf7,0x5e,0xd6,0x6f, + 0xe5,0x55,0xbe,0x33,0xa4,0x60,0xa3,0x56,0xab,0xb7,0x4e,0x7e,0x8e,0xaf,0xf2,0x85, + 0xec,0xca,0xa5,0x48,0xc2,0xb9,0x33,0xb9,0x67,0x4a,0x40,0xc7,0xac,0x26,0xea,0xa5, + 0xd5,0x7f,0x3b,0xaf,0xf2,0x9d,0x3e,0xff,0x1c,0x35,0xdb,0xe5,0xf2,0xea,0x51,0xf5, + 0x5b,0xb9,0x56,0x29,0xb7,0x79,0x40,0xf6,0xef,0x70,0x46,0x1a,0xdd,0x73,0xf6,0xbe, + 0x8c,0x54,0xf2,0x7d,0x8e,0x16,0x62,0xac,0xa3,0xef,0xe,0xcf,0x24,0xf3,0xfd,0x8e, + 0x16,0xc2,0xf2,0xed,0x75,0x9d,0xb3,0x6f,0xe3,0x8c,0x94,0x1f,0x7a,0xb4,0x50,0x2c, + 0xb8,0xaa,0x71,0x4c,0x15,0x3f,0x80,0x6b,0xc1,0xa0,0x26,0x62,0xd0,0x1a,0xbe,0xc4, + 0xf,0x20,0x5b,0x31,0x6d,0x3b,0x7c,0xe9,0xa6,0x4d,0xa7,0x1c,0x87,0x4f,0xcb,0x93, + 0x91,0xe9,0xe8,0xe5,0xde,0x2f,0x83,0xec,0xf9,0x8b,0x65,0x9b,0xe8,0x6c,0xe7,0x85, + 0xee,0x49,0xe7,0x3e,0xb,0xfa,0x30,0xd3,0x73,0x2a,0xb9,0xb8,0x70,0x37,0x9e,0xf6, + 0xb2,0x69,0x71,0xc9,0x84,0x9f,0xca,0xa5,0x45,0x93,0x6e,0x97,0xa7,0x47,0x97,0xf0, + 0x80,0x6a,0x5d,0x5e,0x67,0xf1,0xeb,0xb3,0x87,0x4e,0x6f,0xfc,0x8c,0x5,0x60,0xfd, + 0xe2,0xaf,0xe3,0xf1,0xe3,0xca,0x38,0x2b,0x8c,0x79,0xa1,0xc5,0x94,0x23,0xb0,0x16, + 0x7c,0xf3,0xe2,0x2b,0x11,0xa,0x5c,0xd3,0x91,0x8b,0xbd,0x71,0xf7,0x89,0xe,0x31, + 0x6f,0x3d,0xe5,0x68,0x3b,0x79,0xd9,0xb8,0xfd,0x69,0x3a,0xa5,0x2,0xc3,0xce,0x6b, + 0x86,0xee,0x86,0x5f,0x45,0x35,0x8b,0x53,0xb8,0xa5,0x58,0xde,0x56,0x9c,0xc4,0x5d, + 0x12,0xcd,0x1e,0xc6,0xcf,0xf7,0x4f,0x83,0x5e,0x36,0x5b,0x1c,0x40,0xbd,0xa6,0x20, + 0x5c,0x6b,0xdd,0xdd,0x8d,0x5f,0xe2,0xd7,0x9f,0x7,0x23,0x18,0xa3,0xb5,0xd0,0xc5, + 0xd9,0x72,0xb,0xc4,0x7a,0x89,0x42,0x37,0x67,0x7e,0xa3,0x9f,0x8b,0x22,0x50,0xa1, + 0xb7,0x5c,0x82,0x95,0x96,0x87,0xe6,0xdd,0x3c,0x66,0xf3,0x4e,0xaf,0x33,0xef,0xac, + 0xfc,0xa2,0x90,0x14,0xc7,0x14,0xdf,0x4c,0x7b,0xfd,0xeb,0x7f,0x7d,0xf3,0xed,0xd2, + 0xbd,0xbb,0xdd,0xeb,0x7f,0x8f,0xa7,0x3f,0xaf,0xdc,0x96,0xa,0x74,0xee,0xc6,0x4f, + 0x68,0xd1,0x72,0xca,0xa1,0x5c,0xaf,0x7b,0x4d,0xab,0x61,0x67,0xfe,0xf5,0xe0,0x11, + 0x43,0x4d,0xc7,0xb0,0xff,0xf9,0xe5,0x71,0x8,0xf7,0x5c,0x5e,0xa8,0x14,0x9e,0xbf, + 0x4e,0xb2,0x55,0xa5,0x79,0xb5,0xc5,0x91,0xf2,0xd1,0x63,0xe9,0x7b,0xdd,0xc7,0x1, + 0xdd,0xd4,0xfe,0x61,0x3e,0x18,0xe,0xbf,0x23,0x25,0xe5,0x69,0xd8,0x5e,0x34,0xb4, + 0x98,0x29,0xa5,0x7e,0xdc,0xb4,0x8b,0x5e,0x86,0x6f,0xf7,0x6b,0x86,0x1a,0x76,0xee, + 0xb2,0xe1,0x6d,0xe3,0x53,0x67,0xf8,0xbf,0xa7,0x2c,0xd9,0x30,0xf1,0xfd,0x74,0xfc, + 0x34,0x79,0x1c,0xf7,0xb2,0x85,0x93,0x34,0x56,0xc6,0x5b,0x38,0xcd,0x42,0xe5,0xa4, + 0x33,0x7f,0x28,0x7a,0xb4,0x98,0xdb,0x2b,0xc4,0xe8,0xa3,0xcd,0xd7,0xe8,0xcd,0x57, + 0x1b,0x34,0xd6,0xea,0xab,0x70,0x75,0x5,0x2f,0x29,0x21,0xc0,0x74,0xfc,0x73,0x76, + 0x3d,0x1a,0x8f,0xb2,0xc5,0xe7,0xdc,0x51,0x10,0x7a,0x21,0x12,0x2a,0x44,0x54,0xd5, + 0x7f,0xc7,0x83,0xd1,0x35,0x2c,0x93,0x4d,0xb,0x69,0xf8,0x32,0x1c,0xe0,0xd7,0xb5, + 0x2a,0x64,0xbd,0xe,0xe6,0xde,0x74,0xda,0x79,0xad,0x54,0x49,0xd2,0x1c,0x99,0xae, + 0xb,0x95,0x91,0x33,0x19,0xd1,0xd1,0xbf,0x27,0x2a,0x55,0x4a,0x4a,0xc7,0x74,0x93, + 0x28,0x2f,0x73,0xa0,0xbd,0xc9,0xf7,0x9,0x71,0x5a,0x61,0x9c,0x10,0x4b,0xa9,0xaa, + 0x48,0x59,0x2a,0xad,0xa5,0x28,0xd,0x52,0x81,0x22,0x1e,0xc1,0x5d,0xd3,0x21,0x1a, + 0x61,0xc6,0x2a,0x5b,0x29,0xca,0x4d,0xaa,0x40,0xff,0x9c,0x29,0x49,0x65,0x93,0x1e, + 0x9d,0x48,0xa6,0x35,0x84,0x45,0xb,0x4c,0x4c,0x58,0x6e,0xd6,0xaf,0x49,0x85,0xf4, + 0x4c,0xc1,0x52,0x10,0x2c,0x94,0x76,0x1c,0xdf,0x97,0x2f,0xdf,0xb,0x55,0x8a,0x5d, + 0x76,0x38,0x45,0x92,0xcc,0xb7,0x90,0x65,0xc3,0x38,0x37,0xdc,0x13,0x5b,0xe6,0xa0, + 0xb1,0xca,0xeb,0xab,0xd5,0x82,0x74,0xbf,0x72,0xf4,0xf8,0xfd,0x12,0x14,0x4e,0x9, + 0x70,0x5f,0x4a,0x63,0x2a,0x63,0xb9,0xd0,0x57,0xe5,0x25,0x73,0x57,0xab,0x96,0x5d, + 0x61,0xb2,0x3c,0x27,0xef,0xcb,0x13,0x2c,0x2f,0x51,0x7d,0xc0,0x59,0xab,0xea,0x2d, + 0x8d,0x46,0xec,0x63,0x25,0x7a,0xad,0x9a,0x68,0xbe,0x2,0xcb,0xd7,0x42,0x5c,0x95, + 0xb4,0xaf,0xeb,0xdf,0x52,0x8d,0x45,0x9c,0xa1,0xb5,0xb5,0x34,0x82,0xc2,0x32,0x6b, + 0xb4,0xbc,0x6a,0x54,0xef,0xab,0xd5,0xc6,0xd5,0x68,0x9a,0x4a,0x23,0x36,0x9b,0x51, + 0x94,0x2c,0x1f,0x16,0x1e,0x69,0x62,0x91,0x39,0x40,0xf0,0x2c,0x11,0xf9,0x39,0x41, + 0x63,0x6b,0xb5,0x63,0x8e,0x37,0xc3,0x7,0x6e,0x35,0x6f,0xe6,0x97,0x11,0x15,0x9b, + 0xa6,0x44,0x78,0xac,0xe1,0xb6,0xf8,0x84,0x90,0x49,0x30,0xe5,0xc5,0x7a,0x4f,0x96, + 0xc0,0x10,0xe0,0xa0,0x34,0x15,0x69,0xe9,0x67,0x79,0x32,0xaa,0x32,0xb,0x51,0xbb, + 0x42,0xf0,0x3,0xe3,0xae,0x75,0x6a,0xd,0x6f,0x36,0x14,0xac,0x21,0x4f,0x50,0x55, + 0x45,0x99,0x2d,0x9a,0x97,0x30,0x83,0x41,0x91,0xde,0xf0,0x4b,0x60,0x4d,0xa9,0x97, + 0x9b,0x1d,0xca,0xe1,0x87,0xe2,0x29,0x6f,0xbc,0xa,0x6,0xc7,0xc8,0x59,0x21,0x7c, + 0xf2,0x29,0x51,0x8,0x73,0x98,0x16,0x9e,0xf6,0x2c,0xc2,0xe2,0x5a,0x39,0x61,0x12, + 0xe9,0x53,0xa6,0x98,0x33,0x96,0xc6,0xc9,0x1a,0xa9,0xa5,0x82,0xd0,0x62,0x78,0x84, + 0x90,0xbe,0x10,0x72,0x66,0x50,0x81,0x34,0xa8,0x58,0x30,0x57,0x11,0x4b,0x45,0xf3, + 0x11,0x9e,0x48,0xd3,0x51,0x3,0x88,0xbc,0x77,0x89,0xc4,0xf8,0x4a,0x4a,0x19,0x85, + 0x26,0x78,0x1,0x97,0x60,0x4,0x61,0x24,0x37,0x3e,0x1c,0xd1,0x25,0x52,0xfa,0xe7, + 0x4,0xac,0x30,0x55,0xb1,0x4c,0x99,0x93,0x1a,0x30,0x48,0xfa,0x80,0xee,0xc2,0xaa, + 0x7c,0xd6,0x68,0xeb,0x2c,0x16,0xfe,0x4,0xfe,0xe2,0x3d,0x82,0xed,0x20,0x74,0xc2, + 0x69,0x23,0x6d,0x42,0x8f,0x1f,0x84,0x36,0x42,0x2e,0x85,0x4a,0xa2,0x2,0x82,0x51, + 0x8d,0x20,0xb0,0x24,0xf6,0x9,0x45,0xd4,0x92,0x59,0x6b,0xf3,0x5a,0xb5,0xb7,0xdc, + 0x25,0x2,0xd1,0xa8,0x67,0x3c,0xc8,0x98,0xc2,0xb2,0x21,0x9,0x31,0x57,0x52,0x80, + 0xb3,0x92,0xa0,0x78,0xd4,0x2c,0x91,0x7,0x97,0x96,0x7a,0x2c,0xac,0x87,0x6,0xa6, + 0x12,0xda,0x43,0x29,0x38,0xa,0x85,0xc7,0x2d,0x86,0x79,0x87,0x16,0x70,0x70,0x2e, + 0x2b,0x2c,0xda,0xba,0x10,0x5a,0xa1,0x50,0x1,0xe0,0x5b,0x38,0x34,0xb7,0x22,0x6, + 0x44,0xd0,0xa9,0x62,0x9e,0x84,0x80,0x69,0x1,0x5,0x10,0xca,0xd4,0x73,0xd,0x8b, + 0x54,0x86,0xf2,0x7b,0x2a,0x4c,0xc7,0x38,0x31,0xcc,0x29,0x9d,0x5a,0x83,0xc5,0x80, + 0x39,0xaa,0xd8,0x1,0x50,0x3d,0xa,0xd1,0x3e,0x58,0x84,0xc,0xd6,0x61,0x8d,0x11, + 0xb0,0xb4,0xa4,0xe0,0xa3,0xd9,0x72,0xf4,0x9c,0x99,0x76,0xf6,0x93,0xc1,0x14,0x25, + 0xf,0x5,0x9,0xb5,0x46,0x55,0xd6,0x92,0xc5,0x45,0xba,0xa8,0x16,0xb,0xf,0xe9, + 0x95,0x34,0xe8,0x42,0x7b,0xe0,0x34,0xd5,0x69,0x69,0x13,0xaf,0xe1,0xe4,0x4a,0xce, + 0x19,0x4e,0x36,0xd4,0xd4,0x5,0xe9,0x3d,0x2d,0x66,0x71,0xcf,0x2b,0xad,0x31,0x55, + 0x58,0xa1,0x49,0x29,0xca,0x1,0x73,0x69,0x66,0x2e,0xe9,0x39,0xc8,0x4,0x31,0x19, + 0x10,0xc7,0xee,0xac,0xdb,0xed,0xfe,0xda,0xd,0xbf,0xba,0xdd,0x12,0x9f,0x59,0xcc, + 0xf1,0xf6,0x7d,0x3d,0x2c,0x53,0xba,0x2e,0x96,0x29,0x96,0xdb,0x8d,0x51,0x26,0x90, + 0x36,0xf7,0x36,0x57,0x9f,0xca,0xd7,0x39,0x7c,0x12,0x7d,0xf5,0xbe,0x9,0xbb,0xc2, + 0xb9,0x8c,0x53,0x57,0xb5,0x31,0x28,0xd6,0xd3,0xd0,0xc9,0xfc,0xbf,0xee,0x5b,0xc6, + 0x53,0x3a,0x66,0xbc,0x80,0x2,0xf4,0x7a,0x2f,0xa0,0xca,0xd3,0x5a,0xa1,0xc1,0x25, + 0xc8,0x73,0xa9,0x9d,0x8a,0x76,0xe9,0x43,0x6,0x4e,0x1,0xb6,0x61,0x13,0xb,0xbf, + 0xd5,0x18,0x72,0x4f,0xfb,0x96,0xbd,0xf7,0x46,0xaa,0x4,0x6b,0x54,0x78,0x6f,0x46, + 0x36,0x71,0xd5,0x61,0x81,0xa5,0x39,0x1a,0xce,0xfa,0x26,0x19,0x6a,0x11,0x2,0x4e, + 0x44,0x98,0x22,0x53,0xeb,0x94,0x71,0x3c,0x48,0x3d,0x3d,0xef,0xe3,0x89,0xe,0x79, + 0x3e,0x8d,0x59,0x47,0x59,0x50,0xc0,0x5,0x7c,0xc0,0x2c,0x6b,0x5c,0xc9,0x3e,0x25, + 0x14,0x92,0xc0,0x61,0x2b,0x52,0x87,0x6a,0xb4,0xc3,0xe2,0x4c,0xb2,0xb0,0x9b,0xc4, + 0x25,0x3e,0xd5,0xca,0xb2,0x42,0x37,0xcd,0x48,0x9a,0x4,0x2b,0xa9,0x4f,0xe1,0xeb, + 0xa1,0x83,0x3c,0x5,0x36,0xd2,0xc1,0x7f,0xe,0x73,0x54,0x18,0x2e,0x12,0x22,0x40, + 0x18,0x32,0x1d,0xb8,0x14,0x99,0x81,0xc,0x23,0x74,0xf1,0xed,0x13,0xcd,0x5c,0x45, + 0x9b,0xfa,0xed,0x42,0xc4,0x0,0x32,0x98,0xe2,0x12,0xfd,0xb2,0xa1,0x1a,0x3a,0x89, + 0x5e,0xd2,0x34,0x2,0x86,0x79,0xcc,0x18,0x4f,0x38,0x17,0x6c,0xb2,0x92,0xa1,0x5d, + 0x1c,0xd4,0x2d,0xd8,0x4,0x0,0x23,0xad,0x17,0x8a,0x84,0xe,0x31,0x17,0x3a,0x0, + 0x20,0x22,0x9c,0xc2,0x6a,0x88,0x16,0x4a,0x27,0xa9,0xa3,0x42,0xa7,0x1e,0xf3,0x9d, + 0x6e,0x5e,0xca,0x3e,0xd1,0xc4,0x94,0x40,0x3c,0x61,0xcb,0x25,0x69,0xfb,0x3c,0x70, + 0x20,0x54,0xa8,0x2c,0xd9,0x58,0x0,0xb6,0x61,0x2e,0x99,0x6b,0x66,0xf4,0x40,0x95, + 0xda,0x3,0xe3,0xc1,0x38,0x90,0xda,0x45,0x1b,0x3,0x6,0x2a,0xdc,0x8b,0x95,0x56, + 0x63,0x4a,0x92,0x6f,0x52,0xef,0x1c,0x7,0x69,0x34,0x70,0x3,0xe3,0x29,0xd1,0xaa, + 0x23,0xee,0x12,0x9d,0xb6,0xb5,0xb9,0x3a,0xbd,0x5c,0xba,0xce,0xd5,0x97,0xab,0xa8, + 0x60,0x42,0x99,0xfe,0xbb,0x91,0xf5,0x75,0xe4,0x38,0x60,0x6e,0xee,0x98,0x95,0x5b, + 0xd7,0x66,0xcc,0x3,0x66,0x35,0x2d,0x69,0x80,0x76,0x4c,0x3a,0xe1,0x65,0x3e,0xf, + 0x5c,0xf0,0xd6,0x92,0x14,0x43,0x89,0xd1,0x97,0x81,0xc1,0x1b,0xce,0x94,0xf3,0xe4, + 0xf0,0x86,0xe8,0x47,0xa0,0xfa,0x8c,0x63,0xe8,0xf2,0x59,0x50,0x8,0x69,0xe1,0xc0, + 0x7c,0x20,0x37,0x72,0x58,0xee,0x24,0xf7,0x98,0xd5,0x3c,0x60,0x32,0xd6,0xbe,0xa0, + 0xc5,0x3,0xbb,0x48,0xa4,0x3c,0xfe,0xb8,0x72,0x73,0x96,0x32,0x10,0x5,0xa8,0xd6, + 0xaa,0x2a,0xc5,0x42,0x4,0xbf,0xc3,0xb4,0xf,0x15,0x82,0xcb,0x7a,0x42,0x4,0x12, + 0xd8,0xe0,0x97,0xa,0x60,0xaf,0x72,0x98,0x28,0x84,0x34,0x17,0x8d,0x8,0xb,0x93, + 0xa4,0xb7,0xc2,0xe1,0xb9,0xa1,0x37,0xda,0x81,0xf9,0xf9,0xa0,0x5,0xb,0x9f,0xd1, + 0xa5,0x4e,0xc7,0xcc,0x73,0xb4,0x1f,0x6e,0xc4,0x8c,0x3b,0xfc,0x50,0x5b,0xb0,0x23, + 0x29,0xd4,0xe7,0xe2,0x8c,0x76,0x9b,0x33,0x12,0x2,0x61,0xa4,0x8,0x44,0xe8,0x5d, + 0x7e,0x65,0xcc,0x12,0x81,0x40,0x4f,0xca,0x52,0x42,0x20,0x5,0x2c,0xb2,0xcd,0x7c, + 0xab,0x99,0x3,0x11,0x2,0x4,0x71,0xfa,0x87,0xe1,0x2,0xa6,0x79,0x62,0x59,0xe4, + 0x8e,0x25,0x29,0x30,0x14,0xa0,0x97,0x53,0x26,0x47,0x58,0xc6,0x73,0xa0,0x67,0xa0, + 0x98,0xe0,0x10,0x41,0xf,0x3c,0x34,0x78,0x14,0xfd,0x3,0x31,0x20,0x41,0xa5,0x16, + 0x2d,0x65,0x1,0xc2,0x34,0xe8,0x6a,0x45,0xa,0x90,0x5,0x81,0xe5,0xdc,0x85,0x1a, + 0xc1,0x86,0x8d,0x21,0x38,0x26,0xba,0x5,0xa8,0x27,0x87,0x64,0x16,0x51,0x66,0xe, + 0xd2,0x85,0x94,0xa7,0x8e,0xa0,0x50,0x2d,0x40,0x1a,0xdc,0xd2,0xf8,0xd0,0x23,0x10, + 0x59,0xa5,0x73,0x3d,0x56,0x48,0x5b,0xee,0x79,0xc4,0x46,0x47,0x7b,0xa4,0xfd,0x9d, + 0x7b,0xa4,0xdf,0xe,0x8f,0x94,0xdf,0xc0,0x7a,0x14,0x50,0x46,0x83,0x1d,0xb8,0x0, + 0x66,0xcc,0x80,0x5c,0x9,0x59,0x92,0x3a,0x44,0x95,0x52,0x7b,0x16,0xc6,0xda,0x4a, + 0xfc,0x0,0x9,0xb1,0x9c,0x22,0x14,0xb,0xae,0xc7,0xa5,0x77,0x8c,0x7,0x7c,0xc4, + 0xd8,0x2a,0x8c,0x74,0x93,0x28,0x31,0x80,0x32,0xb8,0x94,0xa3,0xd1,0x7,0x9f,0xa7, + 0x95,0x12,0xc0,0x86,0x65,0x58,0x25,0x44,0x9e,0xc1,0x8e,0x99,0x69,0x92,0xb7,0x83, + 0xfe,0xa2,0xa4,0x1,0x4f,0x2,0xbf,0xb7,0x25,0xd1,0x27,0x10,0x1c,0x49,0xf,0x1f, + 0xcb,0x42,0x5a,0x64,0x11,0x0,0xc2,0x4d,0x1c,0xe5,0x60,0xad,0x52,0xc4,0xa2,0x2c, + 0x1d,0x88,0x2e,0x39,0x74,0xe0,0x6f,0x50,0xfb,0x1c,0x20,0x31,0xfe,0x8a,0xde,0x49, + 0xe,0x2b,0xb7,0x22,0x8e,0x4d,0x90,0xcb,0x2,0x41,0xb2,0xa1,0x3b,0x42,0x3a,0xf0, + 0x69,0x9d,0x62,0x49,0xf0,0x76,0x1,0xb9,0x79,0xb7,0x63,0x6,0x3a,0xda,0x1d,0xfd, + 0x36,0x77,0x8c,0xa5,0xd4,0x3e,0x33,0x5f,0x34,0x9b,0xb1,0xc0,0xa,0x1d,0x8d,0x84, + 0x8b,0xf9,0x5,0xc2,0x2c,0xb1,0x8,0xd0,0x8,0x5a,0x57,0x92,0x12,0x16,0x81,0x62, + 0x6,0x57,0x34,0xf0,0xb,0x19,0xa0,0x8,0x43,0x4c,0x49,0x2a,0x3a,0x8a,0x5a,0xc2, + 0x66,0x36,0x87,0x22,0x44,0x45,0x8,0x1a,0xc8,0x17,0xad,0xc5,0xca,0x6a,0x73,0x28, + 0xe2,0x84,0x65,0xa,0xbe,0xc3,0x50,0x11,0x10,0x9b,0xd4,0x70,0xe7,0xe0,0xc1,0x44, + 0x4a,0x15,0x87,0x9f,0x5b,0x6a,0x90,0xb6,0x44,0x88,0x4b,0x32,0xdc,0x6d,0x10,0xf, + 0x87,0x60,0xb2,0x54,0xd2,0x6,0x82,0x17,0x38,0x2f,0x2,0x3b,0x44,0x90,0x36,0x40, + 0xb8,0x47,0xec,0xe6,0xa0,0x5b,0xa1,0x3,0x2c,0x6f,0x11,0x11,0x5,0x27,0x6d,0x60, + 0xf,0x98,0x1b,0x88,0xf9,0x73,0xb8,0x16,0xe8,0x85,0x9,0xec,0x92,0xf6,0x40,0x50, + 0x8d,0x8,0xfd,0xe0,0x95,0xe5,0x6e,0x47,0xc,0x74,0xac,0x2f,0x7a,0xfe,0xdb,0xf1, + 0xc5,0xb5,0x80,0xb3,0xf2,0xb5,0xf4,0x65,0xf9,0x71,0xf1,0x21,0xfc,0xba,0xa1,0x9c, + 0xff,0xd7,0x5f,0xfc,0x1f,0x3,0xbc,0x39,0x77, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_hangup.svg + 0x0,0x0,0xf,0x33, + 0x0, + 0x0,0x48,0x49,0x78,0x9c,0xe5,0x5c,0xdb,0x72,0xe3,0xc6,0x11,0x7d,0xf7,0x57,0x20, + 0xf4,0x8b,0xb7,0x42,0x82,0x73,0xbf,0xd0,0xab,0xcd,0xc3,0xba,0x9c,0x72,0x95,0x53, + 0x49,0xc5,0x76,0xe5,0xd1,0x5,0x81,0x90,0xc4,0x2c,0x45,0x30,0x24,0xb4,0x92,0xf6, + 0xeb,0x73,0x7a,0x40,0xdc,0x48,0xf0,0x26,0x69,0x2f,0xb5,0x2b,0xd9,0x16,0xd9,0x33, + 0x98,0x9e,0xee,0x39,0x73,0xba,0x7b,0x38,0xf4,0xeb,0xbf,0x3d,0xdc,0xce,0xa3,0xf7, + 0xd9,0x6a,0x3d,0xcb,0x17,0x17,0x3,0x1e,0xb3,0x41,0x94,0x2d,0xd2,0x7c,0x3a,0x5b, + 0x5c,0x5f,0xc,0xfe,0xf8,0xfd,0xe7,0x91,0x1b,0x44,0xeb,0x22,0x59,0x4c,0x93,0x79, + 0xbe,0xc8,0x2e,0x6,0x8b,0x7c,0xf0,0xb7,0x37,0xdf,0xbd,0xfe,0xcb,0x68,0x14,0xbd, + 0x5d,0x65,0x49,0x91,0x4d,0xa3,0xfb,0x59,0x71,0x13,0xfd,0xb2,0x78,0xb7,0x4e,0x93, + 0x65,0x16,0xfd,0x70,0x53,0x14,0xcb,0xc9,0x78,0x7c,0x7f,0x7f,0x1f,0xcf,0x36,0xc2, + 0x38,0x5f,0x5d,0x8f,0x5f,0x45,0xa3,0x11,0x9e,0x5c,0xbf,0xbf,0xfe,0x2e,0x8a,0x22, + 0xa8,0x5d,0xac,0x27,0xd3,0xf4,0x62,0xb0,0xe9,0xbf,0xbc,0x5b,0xcd,0x43,0xbf,0x69, + 0x3a,0xce,0xe6,0xd9,0x6d,0xb6,0x28,0xd6,0x63,0x1e,0xf3,0xf1,0xa0,0xe9,0x9e,0x36, + 0xdd,0x53,0x52,0x3e,0x7b,0x9f,0xa5,0xf9,0xed,0x6d,0xbe,0x58,0x87,0x27,0x17,0xeb, + 0xef,0x5b,0x9d,0x57,0xd3,0xab,0xba,0x37,0x4d,0xe6,0x5e,0x86,0x4e,0xdc,0x7b,0x3f, + 0x66,0x62,0x2c,0xc4,0x8,0x3d,0x46,0xeb,0xc7,0x45,0x91,0x3c,0x8c,0xba,0x8f,0x62, + 0x8e,0x7d,0x8f,0xa,0xc6,0xd8,0x18,0x6d,0x4d,0xcf,0xd3,0x7a,0x4d,0x1e,0xe6,0xf0, + 0xc4,0xde,0xc9,0x84,0xd6,0xb6,0x76,0x78,0x7f,0x89,0x7f,0xeb,0x7,0x2a,0x41,0xbc, + 0xce,0xef,0x56,0x69,0x76,0x85,0x27,0xb3,0x78,0x91,0x15,0xe3,0x9f,0x7e,0xff,0xa9, + 0x6e,0x1c,0xb1,0x78,0x5a,0x4c,0x5b,0xc3,0x54,0xce,0xef,0xe8,0xed,0xac,0xc8,0x22, + 0xb9,0xcd,0xd6,0xcb,0x24,0xcd,0xd6,0xe3,0x4a,0x1e,0x9e,0xbf,0x9f,0x4d,0x8b,0x1b, + 0x80,0xc1,0x84,0x77,0x37,0xd9,0xec,0xfa,0xa6,0xa8,0xdf,0xce,0xa6,0x17,0x3,0x58, + 0x27,0xc2,0x9b,0x4a,0xf9,0xa4,0x46,0x10,0x8b,0x65,0xd9,0x54,0x8d,0xd8,0x6e,0x52, + 0xe5,0x10,0x1d,0xb8,0x75,0x86,0x99,0xe6,0xe9,0x65,0xb2,0xc6,0x94,0xc7,0x37,0xf9, + 0x6d,0x36,0x9a,0xe7,0x69,0x32,0x1f,0x2f,0xe7,0x97,0x59,0x72,0x37,0xcd,0x67,0x8b, + 0xf1,0x6f,0x3f,0xff,0xfa,0xaf,0x1b,0xe0,0x70,0xbc,0xbe,0x9a,0x2f,0x3b,0x2f,0x46, + 0xd7,0xc5,0xbb,0xf1,0x72,0xf6,0x70,0x9b,0x2c,0xd7,0x3b,0x63,0x92,0xa1,0x17,0x83, + 0x59,0x9a,0x2f,0xfe,0xbc,0x49,0x16,0xd7,0x77,0xcb,0xb8,0x5a,0x9f,0x7a,0x96,0xf9, + 0x5d,0xb1,0xbc,0x2b,0xfe,0xcc,0x1e,0x8a,0x6c,0x51,0x4e,0xe,0x1e,0x6a,0xb9,0x2b, + 0x34,0xd3,0x63,0xb5,0x6c,0xf0,0x6,0x3,0xbc,0x9e,0x66,0x57,0x6b,0x1a,0xa8,0x74, + 0xc,0xbd,0x53,0xa1,0x1,0x4d,0x58,0xd6,0x2c,0x59,0xfd,0x7d,0x95,0x4c,0x67,0x0, + 0x73,0xd9,0xa9,0xa5,0x31,0xcd,0xe7,0xf3,0x2c,0x85,0x63,0x93,0xf9,0x7d,0xf2,0x58, + 0x4e,0xba,0x1a,0xa7,0xfb,0xa8,0xd0,0x8c,0x6d,0x6,0xc5,0xb0,0xeb,0x22,0x5f,0x56, + 0x7d,0x61,0x66,0xf1,0x38,0x87,0x6d,0x24,0x1c,0x61,0xc4,0x7c,0x35,0xf9,0xde,0x31, + 0xfa,0xf9,0x31,0x88,0x72,0x2c,0xef,0xac,0x78,0x9c,0xf0,0x1f,0x7,0xcd,0x33,0xf9, + 0xd5,0xd5,0x3a,0x83,0x62,0xd6,0x92,0x85,0x65,0xc5,0x13,0xd0,0x25,0x6,0xd1,0xf8, + 0x79,0xda,0x58,0x9f,0x36,0xde,0xaf,0x4d,0xd5,0xda,0x5e,0x8f,0xbb,0x66,0x3f,0xcf, + 0x8d,0x61,0x57,0x4d,0x6e,0x56,0x19,0x58,0xe0,0xfb,0x1e,0x7f,0x1e,0x74,0xb7,0x69, + 0x86,0xe1,0x17,0x3,0x15,0x7b,0xc5,0xbc,0x55,0xb6,0x96,0x3e,0x72,0xda,0xf,0xb1, + 0x16,0xce,0x68,0xd1,0xf4,0x15,0x17,0x3,0x13,0xb,0xe6,0x5,0xe3,0xb2,0xe9,0xb, + 0xe9,0x48,0x62,0x5b,0x38,0xe1,0x74,0x33,0xc4,0xf5,0x46,0xdb,0x1f,0x8b,0x59,0x1, + 0x1e,0xb9,0x5b,0x67,0xab,0xdf,0x68,0x2f,0xfe,0x73,0xf1,0xc7,0x3a,0x6b,0x7c,0xb2, + 0xc7,0xfa,0x9d,0x49,0x2b,0xd9,0x1a,0x7b,0xaf,0x73,0xf6,0x2c,0x6b,0xb5,0x1c,0x18, + 0xc4,0x1f,0xc1,0x49,0xf,0x2,0x2e,0xfb,0xf0,0xb6,0x1f,0x43,0x8d,0x32,0xc3,0x8f, + 0xc0,0xa4,0x57,0x99,0xe0,0x3b,0x70,0xfb,0xf4,0x10,0xea,0xba,0x7b,0x77,0x35,0x84, + 0xd5,0x1d,0x8,0x71,0x1d,0x1b,0xc9,0xa4,0xd7,0x1d,0x8,0x9,0x11,0x3b,0xab,0x4, + 0x73,0x1d,0x8,0xa1,0xaf,0x63,0x46,0x48,0xd1,0x81,0x90,0x89,0x8d,0xb5,0x40,0xa1, + 0x3b,0x11,0x41,0xdb,0xbd,0x7e,0x5f,0x25,0x8b,0x35,0x42,0xc7,0xed,0xc5,0xe0,0x36, + 0x29,0x56,0xb3,0x87,0x1f,0x58,0xc,0xdd,0xca,0x59,0x37,0x64,0xf4,0x1b,0x5b,0xe3, + 0x98,0x36,0x6a,0x8,0xb0,0x3a,0xef,0x8c,0x31,0x72,0x38,0xe2,0xb1,0x36,0xdc,0x39, + 0xc7,0x5f,0x1d,0x85,0xe4,0x13,0x78,0x4d,0x49,0x79,0x6,0xaf,0x31,0xe6,0x9e,0xc1, + 0x6b,0x58,0xb1,0xb3,0x78,0xad,0x4f,0xdb,0xe9,0xbc,0xa6,0xa4,0xfd,0xc,0xbc,0x46, + 0xfe,0x3c,0xe8,0x6e,0xdf,0x1,0xa5,0x88,0xbd,0xd1,0x56,0x77,0x31,0x89,0x3c,0x2, + 0x86,0x3b,0xe5,0xb4,0xea,0xa0,0x52,0x8a,0x58,0x5b,0x27,0x84,0xeb,0xa0,0x12,0x24, + 0x68,0xa5,0xc7,0xef,0xb9,0xbc,0x56,0xdb,0xb9,0x44,0x32,0xb0,0x84,0xa1,0xc8,0xe5, + 0xaa,0x21,0xea,0xd0,0x5d,0x3c,0x52,0xfa,0xd2,0xed,0x2a,0xa7,0xbb,0x34,0xf7,0x7e, + 0xf9,0xe7,0x3,0x96,0x3d,0x9a,0x44,0xe,0xff,0xf2,0xde,0xe,0x8f,0x65,0x7,0x90, + 0x7,0xfd,0x61,0xbd,0x7d,0x3e,0x90,0x41,0xfb,0x47,0xd9,0xe8,0x1f,0xe5,0xab,0xd9, + 0xf5,0xc,0x19,0x2,0x75,0xd3,0xb1,0x2c,0x7f,0xba,0x8f,0xc0,0xf9,0x2d,0xc3,0x94, + 0x70,0xf2,0x7c,0x4a,0x97,0xd2,0x9e,0x13,0xf6,0xa7,0x96,0x7e,0x9f,0xb8,0x3d,0xa0, + 0xeb,0xbc,0xb0,0x6f,0x53,0xfa,0x3d,0x41,0x5b,0xdf,0xf6,0x80,0xb6,0xa7,0x86,0xfd, + 0x1e,0x2f,0x19,0x71,0x16,0x89,0x3c,0x23,0x39,0x82,0x2e,0x75,0x96,0x97,0xae,0xc2, + 0xcf,0x93,0xbd,0x64,0xcc,0x4b,0x79,0x49,0x31,0xa5,0xcf,0xf0,0x52,0xdf,0xbc,0xd9, + 0x89,0x4e,0x82,0x2a,0x7b,0x9e,0x93,0xd2,0xab,0xcb,0xf4,0x72,0x3b,0x7f,0x38,0xcd, + 0x47,0x50,0xe6,0x5f,0xcc,0x47,0xc2,0xf8,0x33,0x7c,0xc4,0xa7,0x97,0x4f,0x47,0x12, + 0x12,0x84,0x3,0x29,0xd2,0x89,0xda,0x4e,0xe,0x47,0xd0,0x26,0x5f,0xcc,0x4b,0xdc, + 0xed,0xd,0xda,0xb5,0x3e,0xee,0xf4,0x11,0x47,0x9c,0xee,0xd0,0xe3,0x89,0x24,0x77, + 0xf6,0x88,0x23,0xfa,0x88,0xe0,0x4a,0x5f,0x1d,0xd0,0xf6,0x6c,0x2f,0x19,0x7b,0x6e, + 0xc9,0x96,0x3d,0x15,0x4b,0xdc,0xf8,0xb3,0xb0,0x44,0x6e,0xe6,0xea,0xa9,0x58,0xe2, + 0x2d,0xe4,0x7e,0xba,0x7c,0x9b,0x50,0x77,0x20,0xb5,0x11,0xa2,0x95,0xad,0x94,0xc5, + 0x99,0x13,0xc6,0xfa,0xa6,0x90,0xa3,0xdc,0x6,0xc9,0x8a,0x70,0xce,0xb6,0x8a,0x33, + 0xca,0x6c,0x84,0x45,0x92,0x2b,0x5a,0x59,0x90,0x8,0x99,0xb9,0xe6,0x28,0x4,0x1b, + 0xe9,0xf3,0xb3,0x6d,0x67,0x51,0x5b,0xeb,0x4d,0xb2,0x5d,0xbd,0x89,0x91,0x67,0x5b, + 0x26,0xf1,0x82,0x5b,0xeb,0x99,0x3d,0x9a,0x67,0x87,0xac,0x4b,0xc6,0xa8,0x31,0x99, + 0xee,0xda,0x1,0x93,0xa5,0x75,0xce,0x6f,0x95,0xa9,0x22,0x86,0x71,0x9e,0x89,0x8e, + 0x7f,0x44,0xcc,0x8c,0xc6,0xbe,0xd9,0xad,0x47,0x77,0x67,0x3e,0xe2,0x61,0xce,0x7c, + 0x88,0x14,0x90,0x61,0x21,0xdc,0x70,0x84,0xba,0xc5,0x28,0x2b,0x5f,0x9d,0xe9,0x9d, + 0xdd,0x85,0xe3,0xd2,0xb9,0x93,0xd6,0x9f,0xb8,0xf9,0x28,0x90,0x8e,0xb8,0xae,0xc7, + 0xc4,0x82,0x5e,0xce,0x93,0x22,0xc3,0xfa,0x40,0x7,0xd7,0xc1,0x38,0x6b,0x4,0x97, + 0xe6,0x5c,0xeb,0x3e,0xd6,0xca,0xf4,0x7a,0xcd,0x7c,0x72,0xaf,0x9d,0x60,0x3c,0x43, + 0x89,0x60,0xac,0xe0,0x1d,0xe3,0xb9,0x8a,0x19,0xbc,0x29,0x5d,0xc7,0x78,0x38,0x99, + 0x61,0x2f,0x9a,0xee,0x49,0xb,0x95,0xc9,0xa,0x3,0x1c,0xda,0xeb,0x30,0x5e,0x9d, + 0x4f,0x19,0x1f,0x3,0x32,0x28,0x95,0xbc,0xb2,0x8c,0x3,0x33,0xd8,0xd0,0x4e,0x73, + 0xef,0x9e,0x84,0x19,0x70,0x8d,0xd4,0x96,0xeb,0x8e,0xdb,0x24,0x8f,0x25,0x82,0x88, + 0xdb,0x86,0xcc,0x76,0x57,0xf2,0xa5,0x8a,0xa5,0xb7,0x6d,0xb2,0xea,0xf5,0x9a,0xf8, + 0x32,0xbc,0xc6,0x63,0x61,0x80,0x4b,0x4e,0x87,0xb,0xa8,0xc6,0xac,0x16,0x4f,0x74, + 0x9a,0x13,0xda,0xf9,0xee,0x46,0xb3,0xd8,0x7d,0x12,0xff,0xe8,0x6d,0xaf,0x6d,0xf7, + 0xe5,0xe1,0xf0,0x99,0x29,0xa0,0xcd,0x1c,0xf6,0x1a,0xfb,0x64,0x5e,0xeb,0x53,0x6f, + 0xd5,0xb1,0x5c,0xb,0x7d,0x1a,0xb,0x4e,0xce,0xb5,0xf6,0x24,0x1c,0x47,0x73,0x2d, + 0x68,0x73,0x3d,0xda,0x8e,0x1e,0xda,0xf5,0x26,0x1c,0x2f,0x94,0x6b,0x81,0x5c,0xdc, + 0x19,0xb9,0x96,0x30,0xcf,0xc8,0xdb,0x39,0xd5,0xe4,0x67,0xe5,0xed,0xaa,0x37,0xcd, + 0x3c,0x2d,0xd7,0xe2,0xed,0xaa,0xfc,0xf9,0x5e,0xda,0x5b,0x27,0x37,0xfa,0x8c,0x3a, + 0x1f,0x4b,0x7b,0x1c,0x7a,0x2,0x96,0x4c,0x1f,0x72,0x8f,0x60,0xa9,0x4f,0xdb,0x93, + 0xb1,0xf4,0xf1,0x32,0x52,0xae,0x5a,0x1f,0x22,0x9c,0x46,0x6b,0xfd,0x1,0x70,0x4f, + 0xb0,0xec,0xf,0xac,0x9d,0x20,0xfc,0xdc,0x3,0xdb,0x67,0x19,0xff,0x2,0xc7,0xd4, + 0xa7,0x85,0x8c,0xe0,0x35,0xb2,0x59,0x79,0xb9,0xcd,0xfa,0x9c,0x6b,0xdd,0xfa,0x44, + 0x83,0x9c,0x86,0x48,0x6d,0x1c,0x3a,0x6f,0x1f,0xaf,0x37,0xbd,0x3f,0xa7,0xdb,0x38, + 0x7b,0x49,0xb7,0x1d,0xcc,0x4f,0xc8,0x6f,0xc8,0x31,0x8c,0x17,0xde,0x6c,0x25,0x19, + 0xe4,0x6e,0x25,0x78,0x17,0x6d,0x42,0x62,0x8,0x60,0xb0,0x5b,0x27,0x21,0xdf,0x95, + 0x5a,0x4b,0xf1,0x51,0xbd,0xd6,0xc9,0x62,0xfb,0xbc,0x26,0x5e,0xd2,0x6b,0x87,0xa, + 0x1,0x72,0x9a,0x8d,0xe1,0x49,0x2,0x50,0xd7,0x69,0x3a,0xf6,0x5c,0x74,0xaa,0x99, + 0x90,0x8f,0x70,0xce,0x95,0x53,0xbc,0xeb,0x34,0x1e,0x6b,0x6f,0xa5,0xd0,0x9f,0xd7, + 0x6b,0xea,0xf9,0x5e,0x3b,0xa3,0x42,0xec,0xaf,0x6d,0xf6,0xd4,0x41,0xfd,0x35,0x53, + 0xa7,0xbe,0xfa,0x88,0xae,0x3b,0xf2,0xf9,0xb0,0x94,0xe2,0x5c,0xd7,0xbd,0xf8,0xa7, + 0xc8,0x9f,0xd5,0xfa,0xa7,0x4,0xb6,0xaf,0xc7,0xfa,0x73,0x23,0xdb,0x57,0x65,0xbd, + 0x3c,0x37,0x40,0x7d,0x5d,0xd6,0x9f,0x1b,0x68,0xbe,0x2e,0xeb,0xbf,0x69,0xd6,0x93, + 0xdf,0x34,0xeb,0xc9,0x6f,0x9a,0xf5,0xd4,0x37,0xcd,0x7a,0xea,0xb,0x61,0xbd,0xd7, + 0x63,0xba,0x5e,0x19,0x5e,0xd5,0x37,0x44,0xe8,0x66,0xe7,0xf4,0xfd,0x2c,0xbb,0xff, + 0xae,0x9e,0x3e,0x5d,0x20,0xdd,0xc,0xb4,0x4c,0xae,0xb3,0x70,0x6c,0x0,0xa3,0xcb, + 0x8f,0xb4,0x37,0xd,0x97,0xf9,0x6a,0x9a,0xad,0xaa,0x26,0x13,0x7e,0x3a,0x4d,0x9b, + 0x93,0x85,0xe6,0x8a,0x6a,0xfb,0x1a,0x8,0x46,0xad,0xdb,0x59,0x7f,0xfb,0xfa,0x26, + 0x99,0xe6,0xf7,0xc8,0x78,0xb7,0x1b,0x3f,0xe4,0xf9,0x6d,0xa8,0x0,0x24,0x1d,0x25, + 0xb9,0xed,0xe6,0xf4,0x1,0xcf,0xa0,0x44,0x95,0xda,0x32,0xbf,0xd3,0x8,0x7d,0x32, + 0xe6,0xc6,0x30,0xd4,0xc0,0xdb,0x8d,0xd3,0x3c,0xbd,0xa3,0x4b,0xd3,0xa3,0xbb,0x72, + 0x6d,0x96,0xf,0x3b,0x8f,0xdf,0xad,0x56,0xd4,0x61,0x9e,0x3c,0x66,0x30,0x3b,0xfc, + 0xa9,0xa,0x93,0xfa,0xca,0x6f,0xfd,0x58,0x73,0xed,0xb7,0x16,0xad,0x6f,0xf2,0xfb, + 0xeb,0xbb,0xd9,0x34,0x5b,0x53,0xbd,0x74,0x97,0x6d,0x2b,0x8,0x6d,0xa3,0xcb,0xcb, + 0xfc,0xa1,0xbf,0xfd,0x7e,0xb6,0x80,0x53,0x46,0x95,0x2e,0x56,0x57,0x20,0xdb,0x3d, + 0x2a,0xdd,0x56,0xec,0xf8,0x6f,0xd3,0x3,0x1a,0x1a,0x46,0xde,0x6e,0x7c,0x24,0x1f, + 0xfa,0xf6,0xa4,0x57,0x4,0x8c,0xab,0x64,0xbe,0xce,0xaa,0xcb,0xb9,0x35,0x82,0xc2, + 0xa4,0x2b,0xdc,0xe5,0x2b,0x42,0x77,0x52,0x84,0xb,0xc0,0xef,0xb3,0x55,0x31,0x4b, + 0x93,0x79,0x8d,0xca,0x65,0xbe,0x9e,0x95,0x4d,0x42,0xc5,0x4e,0x70,0xd5,0xca,0x5, + 0x49,0x41,0x18,0x4a,0x72,0x65,0x6a,0xc0,0xee,0xe2,0x34,0xc8,0x6f,0xb3,0x22,0x99, + 0x26,0x45,0xd2,0x80,0xb6,0x92,0x54,0x1f,0x1a,0xbf,0x5e,0x4d,0xaf,0x26,0xff,0xfe, + 0xe9,0xe7,0xfa,0x8,0x2d,0x4d,0x27,0xff,0xc9,0x57,0xef,0x2a,0x75,0x51,0x44,0x1d, + 0x92,0xcb,0xfc,0xe,0x6e,0xaa,0x8f,0xf5,0xe8,0x3e,0x72,0x3a,0xa1,0xd2,0x2c,0x29, + 0xde,0xcc,0x6e,0x81,0x43,0xba,0x88,0xfe,0xd7,0x87,0xdb,0x39,0xf6,0x4e,0xdd,0xd0, + 0xe9,0x4c,0x57,0xac,0x9a,0x41,0xcb,0x61,0x57,0x59,0x79,0xd1,0xbc,0xf7,0x6e,0xfe, + 0x34,0xbd,0x9d,0xd1,0x43,0xe3,0xdf,0x8a,0xd9,0x7c,0xfe,0xb,0x29,0x69,0x1f,0xf5, + 0x8d,0x37,0x13,0xad,0x4e,0xe3,0x5a,0x76,0xbc,0x1e,0x57,0x56,0x86,0x77,0xd7,0x5b, + 0x8b,0x37,0x4f,0x2e,0xb3,0xf9,0xc5,0xe0,0x6d,0x32,0xff,0xdf,0x5d,0x56,0xdf,0xa5, + 0x6a,0xc0,0xb5,0xca,0xef,0x96,0xb7,0xf9,0x34,0xdb,0x20,0x77,0xd0,0x38,0x6f,0x83, + 0xe4,0x8d,0xca,0x65,0x52,0xdc,0x54,0x16,0x6d,0xce,0xf,0x9b,0x53,0xc9,0x2b,0xcc, + 0x79,0x2,0x6b,0x7e,0xd8,0xa9,0x96,0xad,0x7e,0x15,0x5a,0x5b,0x47,0x98,0xeb,0x62, + 0x95,0xbf,0xcb,0x26,0x8b,0x7c,0x91,0x6d,0x5e,0x97,0xd8,0x9d,0x30,0x2a,0x58,0x2b, + 0x11,0xd,0xf4,0xdf,0x7c,0xb6,0x98,0xc0,0x2f,0xd9,0xaa,0x92,0x86,0x37,0xf3,0x19, + 0xfe,0x4c,0x54,0x25,0x9b,0x26,0xa0,0x85,0xd5,0x2a,0x79,0xec,0xc,0x49,0xd2,0xf2, + 0xec,0x73,0xc2,0x2a,0xd9,0xee,0x35,0x18,0x98,0xf9,0x8f,0x48,0xc7,0xcc,0x31,0xeb, + 0x1d,0x1f,0xa2,0x64,0x46,0x75,0xcc,0x85,0x88,0x7e,0x6d,0x49,0x39,0x8b,0x85,0x42, + 0x3,0x49,0xd1,0xc3,0x33,0xf,0x30,0x76,0xa4,0x36,0x46,0x3f,0x0,0x77,0x8,0x26, + 0x66,0xcc,0x58,0x6f,0x21,0x44,0x51,0x2d,0x2c,0x97,0xc6,0x77,0xba,0x72,0x3a,0x33, + 0xa2,0xc3,0x8b,0x3d,0xd2,0xfe,0x29,0x34,0xd2,0xf,0x9d,0xbd,0xb1,0x42,0x54,0x52, + 0xc2,0xb4,0xe,0x8a,0xae,0x3b,0x5b,0x47,0x28,0xd6,0x73,0x7f,0xb9,0x1f,0x13,0x51, + 0x54,0xec,0x1e,0x41,0xd0,0x17,0xf,0x98,0x96,0x56,0xd,0xc3,0x61,0xa0,0x64,0xda, + 0xd2,0xb1,0x97,0xd6,0x74,0xe0,0x20,0xe8,0xa5,0x94,0x5c,0x5b,0xd,0x7f,0xb8,0xd8, + 0x28,0x4,0x27,0x4f,0x77,0x5e,0xa5,0x37,0x4a,0xda,0xe6,0x98,0x62,0x83,0x98,0x7d, + 0x38,0xa1,0xbb,0xe1,0xdb,0x38,0x69,0x4e,0xd5,0xaf,0x9b,0x9d,0x54,0xf4,0x9e,0x63, + 0x2a,0x28,0x64,0xf0,0x3f,0xdd,0xb1,0x55,0x12,0x73,0x13,0xad,0x93,0xcc,0x13,0xec, + 0xae,0x9c,0xd5,0x3d,0xa7,0x3f,0x32,0x67,0x8a,0xe0,0x7b,0xe7,0xdc,0x9d,0x75,0xbd, + 0x18,0xaa,0x7d,0x32,0x7f,0xd2,0xc4,0xf6,0x98,0xc,0xc0,0x29,0xad,0xad,0xd5,0x43, + 0x5,0x90,0x31,0x6b,0xb4,0x7c,0xd5,0x79,0xea,0xf8,0xe4,0xd9,0x81,0xc9,0x6f,0x4f, + 0xff,0x84,0xf1,0xc4,0xce,0x2,0x56,0x1b,0xbd,0xb9,0x1c,0xd8,0xd9,0x84,0x2c,0x56, + 0xca,0x1b,0xa7,0xb5,0x1e,0x74,0x55,0xf5,0xa2,0x10,0x68,0x32,0xd6,0x5,0xc0,0x59, + 0xed,0x18,0xb6,0x44,0x78,0xc1,0xad,0xe6,0xc3,0xb2,0xd9,0x62,0xa,0x43,0x19,0x6b, + 0xaf,0x85,0x71,0x78,0x85,0x1d,0x25,0x98,0xf2,0xe2,0xd5,0xd6,0xf0,0xe5,0x52,0x70, + 0xd7,0xb5,0x77,0x8b,0xe1,0x6a,0xb3,0xeb,0x48,0x3,0x8a,0x24,0x7e,0x46,0x8c,0x4e, + 0xd7,0x69,0x9a,0x7e,0x48,0xc3,0x9f,0x34,0x1d,0x6c,0x3f,0x12,0x2e,0xa9,0x62,0x28, + 0xd1,0x3e,0x95,0xae,0x7e,0x2,0xdf,0x28,0x3a,0x6e,0xf7,0xc6,0xab,0x30,0x73,0xcc, + 0x4,0x1,0xd9,0x47,0x6f,0x23,0x85,0x7d,0xc5,0xb4,0xf0,0xe,0xb6,0x61,0xea,0x5a, + 0x39,0x61,0x22,0xe9,0x63,0xa6,0x98,0x33,0x96,0xc,0xb6,0xc8,0x60,0xa4,0x82,0xd0, + 0xc2,0x4e,0x21,0xa4,0xaf,0x84,0x9c,0x19,0xc,0x20,0xd,0x6,0x16,0xcc,0x75,0xc4, + 0x52,0xc5,0xd8,0x1a,0x0,0x8,0x5d,0x86,0xd1,0xc6,0x9,0xef,0x5d,0x24,0xe1,0x28, + 0xf8,0x4b,0xfb,0x30,0x5,0x2f,0xe0,0x5b,0x46,0x9c,0x45,0x72,0xe3,0x3d,0x97,0x74, + 0xd4,0xc8,0x98,0xc4,0xd4,0x4c,0x57,0x2c,0xc1,0x49,0x12,0xdb,0x55,0x93,0x3e,0xa4, + 0x71,0xc2,0xaa,0x72,0xe3,0x69,0xeb,0x2c,0x92,0x8f,0x8,0x8e,0xf7,0xde,0xb2,0x52, + 0x48,0x89,0x26,0x98,0x2b,0xa2,0xcb,0x40,0x42,0x1b,0x21,0x6b,0xa1,0x92,0x18,0x0, + 0x1,0x9f,0x69,0x25,0x64,0x4b,0xec,0x23,0x3a,0x12,0x97,0xcc,0x5a,0x5b,0x8e,0xaa, + 0xbd,0xe5,0x2e,0x12,0x3c,0x16,0x9e,0xf1,0x20,0x63,0xa,0x71,0x42,0x6a,0x62,0xe3, + 0x5a,0xa,0x1e,0x52,0x12,0xe9,0x26,0x4d,0x4b,0x94,0x1f,0x46,0x58,0xb2,0x58,0x58, + 0xf,0xd,0x4c,0x45,0xdc,0xc7,0x42,0x70,0x74,0xa,0xb7,0x84,0xc,0xf3,0xe,0x33, + 0xe0,0x16,0x7e,0x2,0x49,0xab,0x4a,0x68,0x85,0xc2,0x0,0x60,0x71,0xa4,0xc8,0x74, + 0x69,0xbf,0x25,0x6,0xcb,0xd0,0xb7,0x7,0x3c,0x9,0x15,0xf0,0xe,0x5,0x8a,0x38, + 0xde,0x73,0xd,0x8f,0x74,0x96,0xf2,0x57,0xea,0x4c,0xb7,0x49,0x18,0xc0,0xa9,0x63, + 0x6b,0x94,0xc1,0x12,0xd2,0xc0,0x2e,0xe6,0xc2,0x73,0x22,0x4e,0x8b,0x54,0xd5,0x81, + 0xd2,0x55,0x24,0xe0,0x69,0xf0,0xaa,0xd7,0xc3,0x91,0xa3,0x1b,0x7,0xd8,0xcd,0xc1, + 0x61,0x8a,0xe,0x6a,0x5,0x9,0xb5,0xc6,0x50,0xd6,0x92,0xc7,0x45,0xbc,0x19,0xd6, + 0xc5,0x8a,0xf4,0x4a,0x5a,0x74,0xa1,0x3d,0x7,0xf8,0x31,0xa6,0x5,0x57,0x73,0xc3, + 0x9,0x4a,0xce,0x19,0x4e,0x3e,0xd4,0x64,0x82,0xf4,0x5e,0x61,0x5a,0xfd,0xc8,0xfb, + 0xb0,0x3,0xd3,0x93,0x3,0x3c,0x1d,0xda,0x9e,0xb8,0xef,0xeb,0x18,0xf,0xde,0x42, + 0x78,0xe0,0x9f,0x22,0xd0,0xb7,0x38,0xa6,0x49,0xa6,0xc2,0x66,0x1f,0x5f,0x1f,0x62, + 0xbb,0x7e,0xa,0x52,0xac,0x5c,0x25,0xfa,0x4e,0x87,0x40,0x54,0x54,0xc3,0xe6,0x55, + 0xbb,0x1d,0xc1,0x9c,0xd6,0x18,0x91,0x10,0xab,0x8,0x28,0x1b,0xa7,0xfa,0x49,0x48, + 0x69,0x3e,0x38,0x93,0x66,0xa5,0x3b,0x48,0xdb,0xfb,0x68,0xec,0x8c,0xf5,0xdc,0x51, + 0x50,0xaf,0xa7,0x36,0x80,0xfa,0xee,0x7a,0x7e,0xea,0x9c,0xad,0xc3,0xa5,0x9c,0x28, + 0x8f,0x31,0x4f,0x81,0x50,0x7b,0x69,0x69,0xff,0x93,0xff,0x41,0x11,0xa0,0x41,0x24, + 0x6,0xca,0x5a,0x24,0x64,0xc8,0xd0,0x4,0x36,0x34,0xe3,0x7e,0x88,0xfd,0xe8,0xbd, + 0x37,0x52,0x45,0x48,0x16,0xb0,0x78,0x1e,0x9b,0x17,0xad,0x48,0xae,0x88,0x51,0x90, + 0xb3,0x49,0xa5,0x49,0x46,0xe9,0x99,0xc0,0x56,0x24,0x66,0x96,0xb1,0x75,0xca,0x38, + 0x1e,0xa4,0x9e,0x6e,0x3b,0x72,0x4a,0xce,0x90,0xdc,0x69,0x70,0x17,0x7d,0xf0,0x4, + 0xd2,0xc5,0x4e,0x32,0xf5,0x88,0x8d,0xec,0x2d,0x74,0x5b,0xec,0xcf,0xae,0xd4,0x61, + 0x18,0xed,0x14,0xb,0xb2,0x70,0x63,0xc6,0x45,0x3e,0xd6,0xca,0xb2,0x4a,0x37,0xf1, + 0x1a,0x51,0x49,0x23,0xf5,0x31,0x18,0x23,0x18,0xc8,0x63,0xa0,0xda,0x30,0x37,0x44, + 0xce,0x85,0x20,0xc1,0x45,0x44,0x97,0x71,0x0,0x45,0x4d,0x22,0x45,0x6e,0x20,0xc7, + 0x8,0x5d,0xbd,0x7b,0x4b,0xfc,0xa7,0xac,0x7,0x69,0x6d,0x44,0xc,0x54,0xd,0xa2, + 0x94,0xb0,0xcb,0x86,0x61,0x90,0x46,0x32,0x49,0x64,0x14,0x52,0x4e,0x41,0xda,0xe8, + 0xfe,0x26,0xb1,0x6c,0x2d,0xc3,0xbc,0xb8,0xd1,0x3c,0xf8,0x4,0x34,0x2d,0xad,0x17, + 0x21,0x8f,0x75,0xd6,0x93,0x1,0xa0,0x73,0x1d,0xf2,0x54,0x32,0x4a,0x3a,0x49,0x86, + 0xa,0x1d,0x7b,0xb0,0x26,0x3d,0x5c,0xcb,0xde,0x12,0xbd,0x49,0xc4,0xd,0x61,0xdb, + 0x3d,0x41,0x74,0x12,0x6c,0x1a,0x6,0x54,0x96,0x7c,0x2c,0x10,0xfc,0xe0,0x2e,0x59, + 0x6a,0x66,0x74,0xf5,0x94,0xe6,0x3,0xe7,0xc1,0x39,0x90,0xda,0xcd,0x1c,0x43,0x24, + 0x51,0x78,0x16,0x81,0x5f,0x83,0xd8,0x68,0xcf,0x91,0x75,0x8e,0x1b,0x61,0xc,0x60, + 0x60,0x3c,0x7d,0xfe,0xaf,0x7b,0xe0,0xb2,0x4b,0x7e,0x75,0x0,0x57,0x7a,0x37,0x80, + 0xf7,0x26,0x4,0x21,0x17,0x28,0xff,0x49,0xb7,0x88,0xe6,0xf9,0x1b,0x52,0xee,0x24, + 0x6a,0x47,0x36,0xa4,0xb6,0x48,0x1e,0xc0,0xcb,0x9f,0x71,0x57,0x62,0x1f,0x30,0xab, + 0x29,0x31,0x40,0x80,0xc4,0xa6,0x13,0x5e,0x96,0xfb,0xc0,0x5,0xb4,0xb6,0xa4,0x58, + 0x4a,0xac,0xbe,0x44,0xf9,0x80,0x12,0x87,0x33,0xe5,0x3c,0x1,0x9e,0x8e,0x62,0x68, + 0x6b,0x20,0x32,0x72,0x2c,0x5d,0xb9,0xb,0x2a,0x21,0x85,0x5f,0xec,0x7,0x82,0x91, + 0x43,0xd2,0x20,0xb9,0xc7,0xae,0xe6,0x21,0xb2,0x21,0x83,0x8,0x5a,0x3c,0x38,0x99, + 0x44,0xca,0xe3,0xd7,0xb5,0xa7,0x53,0xcb,0x90,0x6e,0x41,0xb5,0x56,0x5d,0x29,0xc2, + 0x39,0x70,0x87,0x6d,0x1f,0x6,0x44,0x51,0xe1,0x89,0x11,0x48,0x60,0x3,0x2e,0x15, + 0x42,0xa6,0x2a,0x69,0xa2,0x12,0xd2,0x5e,0x34,0x22,0x84,0x77,0xd0,0x84,0x1,0xe1, + 0xb8,0x60,0x8d,0x76,0x48,0x44,0x7d,0xd0,0x82,0xf4,0xc1,0xe8,0x96,0xd1,0x7d,0xee, + 0x39,0x88,0xc3,0xed,0x14,0xf9,0x10,0xe,0x3f,0x2,0x2,0x77,0xea,0x9c,0x2f,0x1f, + 0x81,0x44,0x3b,0x58,0x1e,0x62,0xe,0x81,0x68,0xa0,0x8c,0xa9,0x69,0x7,0x99,0x5d, + 0x5b,0x4a,0xb4,0xa3,0x40,0x40,0x76,0x58,0x5e,0x3,0x75,0xc8,0x21,0xc1,0x3b,0x9c, + 0xfe,0x27,0x2,0x81,0xc8,0x3c,0x25,0xa8,0x84,0xc1,0x96,0x14,0xc4,0x9,0xa6,0x2b, + 0xb3,0x4d,0x47,0x4,0xc6,0x4b,0x76,0x67,0xc8,0xce,0x91,0x7e,0x5,0x3d,0x80,0x65, + 0x80,0x91,0x12,0xc,0xbe,0x68,0xcf,0xa8,0x96,0x5,0xde,0xd2,0xc8,0xf4,0x3b,0x52, + 0x30,0x2b,0x72,0x7f,0xce,0x5d,0x18,0x11,0xc9,0x8b,0x31,0xc4,0xc1,0x94,0xa9,0x82, + 0xdf,0x9,0x85,0xcc,0x72,0x6e,0x4a,0x66,0xae,0xa4,0x3c,0x76,0xc4,0x7f,0x6a,0xc3, + 0xcc,0x48,0xcb,0xe9,0xe0,0x81,0xee,0xdb,0x33,0xa3,0x74,0xa9,0xc7,0xa,0x69,0xdb, + 0x96,0xf7,0xf8,0xe8,0x20,0xc,0xed,0xe7,0x85,0xe1,0xde,0x4c,0xb3,0xef,0x28,0xe9, + 0xb,0xc0,0xa0,0xa1,0xe0,0x2c,0x10,0x76,0x2,0x99,0x68,0x24,0x1,0x2e,0x70,0x16, + 0x33,0xc8,0xd,0x85,0x6c,0x49,0x1d,0x6a,0x59,0xa9,0x3d,0xb,0xab,0x6b,0xc3,0xf7, + 0x1e,0x3d,0xd6,0xd0,0x23,0x57,0xe,0x60,0xe3,0xd2,0x3b,0xc4,0x6b,0xa2,0x41,0xac, + 0xa6,0xc2,0xda,0xe,0xa9,0x7e,0x0,0x1f,0x6,0x10,0x39,0x5a,0x6f,0x14,0x3f,0x14, + 0x10,0xc1,0x5f,0x88,0xb6,0x2a,0xa2,0x4a,0x3,0xa5,0x4,0x33,0x43,0xc2,0x37,0x6a, + 0x5,0xf4,0x34,0x48,0x87,0x50,0xc,0xd9,0x96,0xe8,0x2d,0x7d,0xd5,0x12,0xf8,0xee, + 0x8,0x29,0x96,0x22,0x43,0x7,0x30,0x30,0x8a,0xf5,0x56,0x29,0x4a,0x96,0xc0,0x62, + 0x28,0xbb,0x38,0x74,0xe0,0xbf,0xa8,0x83,0x4a,0x1e,0x54,0xce,0x2a,0xef,0x4c,0x19, + 0xa0,0x15,0x15,0x24,0xc4,0xac,0x2c,0xe4,0x41,0x36,0x98,0x23,0xa4,0x43,0xf1,0xa1, + 0x63,0x30,0xbf,0xb7,0x1b,0x66,0x2d,0xcd,0xee,0x73,0xd0,0x41,0x0,0xfa,0xcf,0xb, + 0xc0,0xbd,0x47,0x1c,0x5f,0x28,0x0,0x5,0x7d,0x3d,0x1e,0xb8,0xf2,0x1b,0x22,0xa9, + 0x29,0x7,0xc,0x88,0x94,0xad,0x25,0x25,0xca,0x41,0xfa,0x18,0xf0,0x67,0x0,0x6, + 0x19,0x18,0x7,0xeb,0x2a,0x78,0x58,0x5a,0x26,0x61,0x8d,0x2d,0x19,0x7,0x75,0x23, + 0xa,0x1d,0x2,0xa0,0xb5,0x88,0x9a,0xb6,0x64,0x1c,0x4e,0x94,0xa5,0x0,0x18,0x86, + 0x81,0x40,0x15,0xa4,0x86,0xbe,0xe2,0x8e,0x5a,0x15,0x9,0xa7,0xe2,0x0,0xb7,0xa5, + 0x9,0x69,0x4b,0xc9,0x6e,0x4b,0x86,0xa7,0x4d,0x8c,0xfd,0xa0,0x3b,0x52,0xaa,0x9c, + 0x90,0xbc,0x85,0x7c,0x16,0xa5,0x2f,0xa2,0x8c,0xd,0x4c,0xed,0x51,0xdd,0x3a,0xe8, + 0x56,0x30,0x80,0x95,0x33,0xa2,0x24,0xc0,0x49,0x1b,0x32,0x3,0x6c,0x8,0x21,0x7d, + 0xc9,0xca,0x2,0x56,0x98,0x90,0x39,0xd2,0x75,0x33,0x1a,0x11,0xc5,0x31,0xa0,0xd8, + 0x36,0xbb,0xc7,0x41,0x87,0x0,0x68,0x76,0x1d,0x7d,0x3a,0x0,0x3b,0x35,0x67,0xeb, + 0x4d,0xfd,0x72,0xf3,0x22,0xfc,0x79,0x4d,0x1f,0x31,0xbc,0xf9,0xee,0xff,0xd8,0xb7, + 0xe,0x57, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/hang_up.svg + 0x0,0x0,0x11,0xf9, + 0x0, + 0x0,0x69,0x31,0x78,0x9c,0xed,0x5d,0xdb,0x92,0x22,0xc7,0x11,0x7d,0xd7,0x57,0x60, + 0xf4,0xa2,0xd,0x43,0x53,0xf7,0xb,0xda,0x91,0x1f,0x56,0x21,0x87,0x23,0xe4,0xb0, + 0xc3,0x92,0xc2,0x8f,0xa,0x6,0x9a,0x19,0x2c,0x86,0xc6,0xc0,0xec,0xcc,0xec,0xd7, + 0xfb,0x64,0x35,0xdd,0x74,0x43,0x71,0x1d,0x60,0x76,0x65,0x21,0x69,0x17,0xb2,0xab, + 0xeb,0x72,0x2a,0x2b,0xf3,0x64,0x56,0x77,0xe9,0xfd,0x5f,0x9e,0x1f,0xc6,0x8d,0x8f, + 0xe9,0x6c,0x3e,0xca,0x26,0x37,0x4d,0x9e,0xb0,0x66,0x23,0x9d,0xf4,0xb3,0xc1,0x68, + 0x72,0x77,0xd3,0xfc,0xe5,0xe7,0x1f,0xda,0xae,0xd9,0x98,0x2f,0x7a,0x93,0x41,0x6f, + 0x9c,0x4d,0xd2,0x9b,0xe6,0x24,0x6b,0xfe,0xe5,0xbb,0xaf,0xde,0xff,0xa9,0xdd,0x6e, + 0x7c,0x98,0xa5,0xbd,0x45,0x3a,0x68,0x3c,0x8d,0x16,0xf7,0x8d,0xbf,0x4d,0x7e,0x9b, + 0xf7,0x7b,0xd3,0xb4,0xf1,0xcd,0xfd,0x62,0x31,0xed,0x76,0x3a,0x4f,0x4f,0x4f,0xc9, + 0x68,0x29,0x4c,0xb2,0xd9,0x5d,0xe7,0x5d,0xa3,0xdd,0xc6,0x9d,0xf3,0x8f,0x77,0x5f, + 0x35,0x1a,0xd,0x34,0x3b,0x99,0x77,0x7,0xfd,0x9b,0xe6,0xb2,0xfc,0xf4,0x71,0x36, + 0xe,0xe5,0x6,0xfd,0x4e,0x3a,0x4e,0x1f,0xd2,0xc9,0x62,0xde,0xe1,0x9,0xef,0x34, + 0x57,0xc5,0xfb,0xab,0xe2,0x7d,0x6a,0x7c,0xf4,0x31,0xed,0x67,0xf,0xf,0xd9,0x64, + 0x1e,0xee,0x9c,0xcc,0xbf,0xae,0x14,0x9e,0xd,0x86,0x65,0x69,0xea,0xcc,0x93,0xc, + 0x85,0xb8,0xf7,0xbe,0xc3,0x44,0x47,0x88,0x36,0x4a,0xb4,0xe7,0x2f,0x93,0x45,0xef, + 0xb9,0x5d,0xbf,0x15,0x7d,0x8c,0xdd,0x2a,0x18,0x63,0x1d,0x5c,0x5b,0x95,0x3c,0xac, + 0x54,0xf7,0x79,0xc,0x24,0xb6,0x76,0x26,0x5c,0xad,0xb6,0xe,0xf4,0xa7,0xf8,0xaf, + 0xbc,0xa1,0x10,0x24,0xf3,0xec,0x71,0xd6,0x4f,0x87,0xb8,0x33,0x4d,0x26,0xe9,0xa2, + 0xf3,0xfd,0xcf,0xdf,0x97,0x17,0xdb,0x2c,0x19,0x2c,0x6,0x95,0x6a,0xa,0xf0,0x6b, + 0xed,0xd6,0x66,0x64,0xd2,0x7b,0x48,0xe7,0xd3,0x5e,0x3f,0x9d,0x77,0xa,0x79,0xb8, + 0xff,0x69,0x34,0x58,0xdc,0xdf,0x34,0x85,0xa,0xbf,0xee,0xd3,0xd1,0xdd,0xfd,0xa2, + 0xfc,0x39,0x1a,0xdc,0x34,0x31,0x3a,0x11,0x7e,0x14,0x8d,0x77,0x4b,0xd,0x62,0x89, + 0xcc,0x2f,0x15,0x35,0x56,0x2f,0x29,0x13,0x2e,0xd5,0xd4,0xad,0x56,0xcd,0x20,0xeb, + 0xdf,0xf6,0xe6,0xe8,0x72,0xe7,0x3e,0x7b,0x48,0x3b,0xd3,0xf1,0x6d,0xda,0x7b,0x1c, + 0x64,0xa3,0x49,0xe7,0xa7,0x1f,0x7e,0xfc,0xe7,0x3d,0x34,0xb0,0x33,0x1f,0x8e,0xa7, + 0xb5,0x2f,0xed,0xbb,0xc5,0x6f,0x9d,0xe9,0xe8,0xf9,0xa1,0x37,0x9d,0x6f,0xd4,0x46, + 0x43,0x4,0x0,0xbd,0xc9,0xdd,0xaf,0x8f,0xd3,0xa4,0x98,0x95,0xb2,0x6f,0xd9,0xe3, + 0x62,0xfa,0xb8,0xf8,0x35,0x7d,0x5e,0xa4,0x93,0xbc,0x4b,0xc0,0xa5,0x2,0x52,0xb8, + 0x4c,0xb7,0x25,0x35,0x80,0xca,0x16,0x1e,0xf0,0xc7,0x70,0x94,0x2,0x92,0xc5,0xec, + 0x31,0x6d,0x7e,0x87,0x8b,0xef,0x7,0xe9,0x70,0x4e,0x85,0x72,0xa8,0xe8,0x97,0xa, + 0x17,0x70,0x9,0x13,0x9d,0xf6,0x66,0x7f,0x9d,0xf5,0x6,0x23,0xa8,0x77,0x5e,0xa8, + 0xd2,0x9b,0x7e,0x36,0x1e,0xa7,0x7d,0x40,0xdd,0x1b,0x3f,0xf5,0x5e,0xf2,0xc1,0x14, + 0xf5,0xd4,0x6f,0x15,0x9a,0xb1,0x65,0xa5,0xa8,0x76,0xbe,0xc8,0xa6,0x45,0x59,0x74, + 0x6e,0xf1,0x32,0xc6,0x98,0x49,0xd8,0x46,0x8d,0xd9,0xac,0xfb,0xb5,0x63,0xf4,0xf9, + 0x36,0x88,0x32,0x4c,0xf8,0x68,0xf1,0xd2,0xe5,0xdf,0x36,0x57,0xf7,0x64,0xc3,0xe1, + 0x3c,0x45,0xc3,0xac,0x22,0xb,0x13,0x8d,0x3b,0xd0,0x96,0x68,0x36,0x3a,0xaf,0x6b, + 0x8d,0xc5,0x5a,0xe3,0xf1,0xd6,0x54,0xd9,0xda,0xfb,0x4e,0x7d,0xd8,0x4b,0x69,0x9, + 0xd8,0x14,0x8a,0x34,0x5,0x62,0xb0,0x3,0x45,0x4d,0xe5,0xd4,0x2c,0x5e,0x48,0xf5, + 0xeb,0x45,0xe5,0xa0,0xb9,0x1,0xfa,0xc7,0xe9,0xaf,0xcf,0x18,0x78,0xa3,0xdb,0xe0, + 0x82,0xfe,0x88,0x96,0x78,0x59,0x96,0xc0,0xb8,0xf0,0x17,0x8b,0x96,0xf9,0x44,0x4b, + 0x64,0x47,0x35,0xcb,0x1e,0xb4,0xb3,0xd9,0xe8,0x6e,0x44,0xca,0x4f,0xe5,0x5c,0xbd, + 0x2c,0x40,0xa8,0x8c,0x89,0xb,0xbb,0x82,0x62,0x8b,0xee,0x6c,0xa8,0x86,0x92,0xda, + 0x6e,0x36,0xbe,0xae,0x5a,0x5b,0x66,0xb3,0x98,0x5,0x54,0xe2,0xf7,0xa8,0x47,0x64, + 0xe2,0x6f,0x63,0x6a,0xb6,0x5d,0x75,0x56,0x8d,0x19,0xbe,0x47,0x3b,0xa2,0x8d,0x9, + 0xbe,0xa1,0x65,0xfb,0x34,0xe7,0x6c,0xb,0x50,0x9,0xe3,0x8f,0x58,0x80,0x84,0xc, + 0x57,0x27,0x2e,0x40,0x25,0xec,0xe,0x14,0xf,0x6c,0xed,0xe0,0x5,0x88,0xd6,0xe4, + 0x89,0x30,0x6e,0xa2,0xc4,0x9d,0xdc,0xab,0x6a,0xdc,0xe9,0xd3,0x54,0x2d,0x2,0xe8, + 0x7e,0x5d,0xe3,0xce,0x1e,0xaf,0x6b,0x96,0xf4,0xba,0xbf,0xb5,0xb5,0x57,0xa3,0x64, + 0xec,0xb1,0xc6,0x3c,0x3d,0x55,0x97,0x38,0xf4,0xf6,0x7a,0xba,0xc4,0x2b,0x9a,0x7b, + 0xde,0x25,0x19,0x48,0x53,0xf7,0x7e,0x96,0x82,0xe4,0x7d,0x1d,0xc1,0x73,0x17,0xdc, + 0x50,0xf0,0xb2,0x1a,0x7e,0xd3,0xb4,0x9,0x17,0xca,0x2b,0x63,0x4a,0xe9,0xb,0xa4, + 0x42,0x26,0x90,0x69,0xee,0x56,0x65,0x5,0xa4,0x2c,0x61,0x86,0x55,0x2c,0xec,0xb, + 0x84,0xdc,0x24,0xca,0x3a,0xbe,0x24,0x3e,0xf4,0xb9,0x5b,0xb6,0xf5,0xcb,0x64,0xb4, + 0x0,0x49,0x7c,0x9c,0xa7,0xb3,0x9f,0x88,0x68,0xfd,0x63,0xf2,0xcb,0x3c,0xdd,0x28, + 0xf5,0xf3,0xac,0x37,0x99,0x83,0xd5,0x3d,0x10,0x8d,0xc0,0xd7,0x31,0x68,0xf5,0x37, + 0x26,0x91,0x5c,0x2a,0x2d,0xd3,0xb6,0x68,0x81,0xdb,0x49,0x87,0x85,0xa9,0xdf,0xed, + 0xf5,0x7,0xaf,0xc1,0xad,0xe6,0x39,0x22,0x26,0xcf,0xea,0x1a,0x6e,0x5c,0x27,0x46, + 0x32,0xe9,0x75,0x1d,0x37,0x91,0x38,0xab,0x4,0xab,0xe3,0x86,0xb2,0x8e,0x19,0x51, + 0x81,0x88,0x80,0x33,0x89,0xb1,0x96,0x79,0xeb,0x5e,0xf,0xdc,0x43,0x6f,0x31,0x1b, + 0x3d,0x7f,0x83,0x80,0x41,0x3b,0xee,0x45,0x8b,0xe1,0x9f,0xf2,0x47,0xdb,0x24,0xda, + 0x63,0x74,0xa6,0xd5,0x16,0x89,0x96,0xce,0x69,0xb5,0x1f,0xc9,0x4d,0xd2,0x25,0xd0, + 0xd1,0xc3,0x57,0xce,0x30,0x7c,0xd6,0x1d,0xd4,0x81,0x9c,0x4b,0x38,0x76,0xd4,0x32, + 0x1d,0xa6,0xc3,0x34,0xb5,0x6b,0x8d,0x25,0xce,0x4b,0xe6,0x78,0x5,0xde,0x3d,0xdc, + 0x4b,0x38,0x71,0x2e,0xa3,0x86,0xba,0xd4,0x11,0x60,0xf1,0xc1,0xed,0x2b,0x18,0xaa, + 0x70,0xe6,0x28,0xb4,0x62,0xad,0x1d,0xce,0x50,0x85,0x73,0xe7,0x43,0xc9,0x6f,0xe5, + 0xf1,0xab,0xf6,0xbc,0x38,0xde,0x41,0x6e,0x1,0x74,0xaf,0x83,0x44,0x6b,0xea,0x78, + 0x7,0xc9,0x86,0x7a,0xb8,0xa3,0xb5,0xd7,0xa2,0x24,0x81,0xc0,0x95,0x1c,0x24,0xda, + 0x52,0xd7,0x73,0x90,0x68,0xcd,0xbc,0x85,0x83,0x74,0x72,0x87,0xa1,0x47,0xa7,0x58, + 0xdd,0xd0,0x9b,0xc4,0x9,0x63,0x7d,0xdd,0x41,0x9a,0xc4,0x62,0x25,0x58,0x2e,0xeb, + 0xe,0xd2,0x26,0xda,0x8,0x5d,0x33,0xf3,0x70,0x9,0x9a,0x23,0xb0,0xd3,0x67,0x33, + 0xf3,0x30,0x6d,0x16,0x61,0xa9,0xe,0x66,0x7e,0xf5,0x23,0x31,0xc6,0x58,0x26,0xf1, + 0x85,0x5b,0xeb,0x99,0xdd,0x6b,0xe4,0x83,0xf7,0x86,0xa3,0x17,0x8c,0xe9,0xfa,0x38, + 0x30,0x64,0x69,0x9d,0xf3,0xb6,0x36,0x66,0x2e,0x12,0xc,0xce,0x33,0x51,0xc3,0x47, + 0x80,0x13,0x80,0x28,0x58,0x7b,0x40,0xcf,0xdb,0x3c,0x77,0x4d,0x2d,0x89,0xbb,0x30, + 0x11,0x8e,0x5c,0x92,0x33,0xca,0xca,0x77,0x47,0xa2,0x13,0x9b,0x38,0xa6,0xe,0x9a, + 0x7f,0xa,0x5e,0xf6,0x2a,0xd2,0x1e,0xe8,0x76,0x92,0x17,0x96,0xa0,0xd,0x38,0x5f, + 0x1a,0x9c,0x35,0x82,0x4b,0x73,0xec,0xe8,0x2e,0x35,0x33,0x51,0xd4,0xcc,0xd5,0x51, + 0x3b,0x60,0xf0,0x2c,0x1,0x61,0xb1,0x82,0xd7,0x6,0xcf,0x55,0xc2,0x80,0xa6,0x74, + 0xb5,0xc1,0x3,0x64,0x86,0xb5,0x58,0x61,0xb0,0x5,0x3f,0x53,0xa8,0x60,0xf7,0x5a, + 0x77,0x87,0xd,0xbe,0x66,0x32,0x2e,0xa1,0x32,0xe0,0xb8,0x5e,0x59,0xc6,0x1d,0xb1, + 0x5d,0x30,0x34,0xee,0xdd,0x49,0x3a,0x43,0x4,0x4f,0x5b,0xae,0x6b,0xb0,0x49,0xe, + 0x36,0x6d,0xac,0x5b,0x57,0x99,0xf5,0xa2,0x84,0xa5,0x4a,0xa4,0xb7,0x55,0x63,0x15, + 0x43,0x8d,0xb3,0xcf,0x3,0x35,0x9e,0x8,0x3,0xbd,0xe4,0xad,0x36,0xc8,0x2e,0x63, + 0x56,0x8b,0x13,0x41,0x73,0x42,0x83,0x2d,0xd6,0x40,0xb3,0x58,0x7d,0xf0,0xbc,0x52, + 0xaf,0xa3,0xb6,0x5e,0x96,0x87,0x4c,0x2e,0x53,0xd0,0x36,0xb3,0x1b,0x35,0x71,0x35, + 0xd4,0xa2,0xaa,0xbe,0x9f,0x6b,0x41,0x4b,0x8e,0xe7,0x5a,0x5b,0x8,0xc7,0x7e,0xae, + 0x25,0xf9,0x3e,0x6a,0x7e,0x38,0xe1,0x38,0x1b,0xd7,0xc2,0x1c,0x1e,0xce,0x7e,0x84, + 0x79,0xd,0x6f,0x97,0xe2,0xb8,0xcc,0x32,0x57,0x51,0x9a,0x79,0x28,0xd7,0x12,0x7b, + 0x33,0xcb,0x87,0xa3,0x24,0xb6,0xa2,0x54,0x69,0x2f,0x36,0xbb,0x7b,0x74,0x69,0xb, + 0xa0,0x7,0xe8,0x92,0x8c,0x5,0x97,0x7b,0x74,0x29,0xd6,0xda,0xc9,0xba,0x74,0x49, + 0x46,0x7a,0x74,0x6e,0x25,0xee,0x0,0xb7,0x38,0xcb,0xb8,0x63,0xad,0x39,0xe1,0x4b, + 0xe6,0x5d,0xf6,0xe,0x5e,0x1d,0x39,0xf8,0x93,0x5d,0x46,0x40,0x8d,0xc6,0xac,0xbc, + 0x5c,0xb7,0xfa,0x9c,0x6b,0x5d,0xd9,0x15,0x20,0xd0,0xe0,0xa9,0x8d,0x43,0xe1,0xf5, + 0xbc,0xce,0xaa,0xf4,0x9b,0xc2,0x66,0xce,0x9,0xdb,0x4e,0x7e,0x42,0xb8,0x81,0x63, + 0x18,0x2f,0xbc,0x59,0x23,0x19,0x4,0xb7,0x12,0xbc,0xae,0x6d,0x42,0xa2,0xa,0xe8, + 0x60,0x3d,0x4e,0x2,0xdf,0x95,0x5a,0x4b,0x71,0x51,0xd4,0x6a,0x2c,0x36,0x86,0xda, + 0x19,0x92,0x71,0x87,0x5,0x2,0x79,0xee,0x15,0x48,0x92,0x2,0xd5,0x41,0xd3,0x89, + 0xe7,0xf0,0xd7,0xf5,0x1c,0xa2,0x85,0x52,0x71,0xe5,0x14,0xaf,0x83,0xc6,0x13,0xed, + 0xad,0x44,0xc8,0xf9,0x96,0xa8,0x29,0xf6,0x7a,0xd4,0x8e,0x88,0x10,0xe3,0xb1,0xcd, + 0x96,0x38,0x28,0x1e,0x33,0xd5,0xe2,0xab,0x12,0x3a,0xea,0x55,0x6f,0x7c,0x56,0xe8, + 0x98,0xaa,0x53,0xe9,0x7a,0x13,0x80,0x6e,0xd5,0xd5,0xfe,0x33,0x3a,0xe5,0x13,0xe1, + 0x6a,0xac,0xbc,0xff,0x72,0xd3,0xf4,0x9,0xc9,0x94,0x58,0x59,0xc2,0x61,0xb4,0xec, + 0x30,0x5a,0x76,0x16,0xac,0x9a,0xb,0xe2,0x23,0xe7,0x69,0x3e,0x9d,0xa5,0xbd,0xc1, + 0xdf,0xd3,0xc5,0x7d,0x46,0x7d,0x4f,0x87,0x34,0xfe,0x83,0x32,0x14,0x98,0x3a,0xc4, + 0x11,0x2d,0x91,0x28,0xa5,0x98,0x90,0x69,0x9b,0x87,0x99,0xac,0xfc,0x2a,0xcb,0x90, + 0x91,0x60,0x5a,0xb9,0x96,0x4e,0xac,0xb0,0x42,0xb9,0xbd,0x89,0x8b,0x5d,0x19,0x70, + 0xa1,0x8d,0x16,0xb9,0x12,0xb5,0xcb,0x5f,0x6d,0x5a,0x69,0x4a,0x72,0xdf,0x12,0x2e, + 0xb1,0x16,0x6c,0xc1,0x9f,0x12,0x29,0x38,0x84,0x4c,0x50,0x18,0x5e,0xf7,0x3,0x7, + 0xef,0x4,0x44,0x77,0xd,0x22,0xeb,0x9,0x20,0x5d,0x2d,0x24,0x7f,0xcb,0x1c,0x10, + 0x3c,0xb0,0xf5,0xda,0x9e,0x35,0x9,0xa4,0xd4,0x61,0x51,0xd6,0xc5,0x93,0x40,0x18, + 0x9c,0x34,0xc2,0xd1,0xfe,0xcb,0x17,0x90,0x5,0x52,0xea,0xb0,0x90,0xfe,0x77,0x99, + 0x5,0x52,0x95,0xaa,0xde,0x36,0xb,0xc4,0xe1,0xf9,0x19,0x46,0xac,0xbf,0x84,0x34, + 0x90,0x92,0x9f,0x49,0xf2,0xc,0xa8,0x9,0xc1,0xbc,0x33,0x5f,0x44,0x1e,0x48,0xc9, + 0xc3,0xac,0xfb,0x85,0xf2,0x40,0x4a,0x6c,0xdd,0xc6,0x2d,0xa3,0x69,0x15,0x8d,0xa6, + 0x2f,0x95,0x7,0x52,0x32,0xb6,0xc3,0xf7,0xb6,0x79,0x20,0x25,0x8e,0xd9,0x73,0x7b, + 0x5d,0x1e,0x48,0x89,0xe3,0xf6,0xdc,0x5e,0x97,0x7,0x82,0x9,0x3f,0x1f,0x4a,0x7c, + 0x7f,0x1e,0x48,0x45,0xb3,0x7c,0x97,0xca,0x3,0x81,0x70,0x5d,0x2b,0xf,0x14,0xf, + 0x16,0xe,0xe0,0xc4,0xf9,0xae,0xdd,0x76,0xf2,0x7b,0x1c,0xf9,0xde,0x6d,0xd7,0xa2, + 0xdc,0x3f,0x1e,0x26,0xc4,0x43,0x8a,0x78,0xf8,0x11,0xf,0x55,0x36,0xe3,0x1b,0xc5, + 0x34,0x3f,0xc8,0xd8,0xd5,0xc2,0xa4,0x2f,0x90,0xca,0x9e,0x7f,0x3b,0x93,0x2b,0x7e, + 0xe5,0x28,0xa0,0x4c,0x25,0xd4,0xdd,0xdf,0x46,0xda,0x21,0x9e,0xa2,0x88,0xa6,0x33, + 0x2e,0xbc,0x4d,0x1a,0x45,0xed,0x7a,0xfc,0xbf,0x96,0xb5,0xaa,0x82,0x16,0x49,0x70, + 0xc5,0x93,0x61,0xd1,0xc4,0xd9,0xa5,0x37,0xa,0xa3,0xa8,0x5d,0x6f,0x47,0xaf,0x9e, + 0x22,0xad,0xc2,0x16,0x4d,0xa8,0xc6,0xd3,0xaf,0xb1,0x4c,0xed,0x85,0xb7,0xa,0x63, + 0xb0,0xb1,0xeb,0x5,0xe,0x97,0x8a,0x87,0x5e,0x31,0xf8,0xeb,0xd1,0xff,0x48,0xf3, + 0x8,0xae,0xaf,0xc5,0xd0,0xd0,0xd6,0x71,0xc,0x6d,0xb,0xa1,0x38,0x8c,0xa1,0xa1, + 0xb5,0xb3,0x31,0x34,0xd4,0xb5,0x97,0xed,0x73,0x69,0x4f,0x60,0xfb,0xa7,0x32,0x34, + 0xb4,0x76,0x2,0xdb,0xdf,0x42,0x79,0xcf,0x86,0x92,0x3d,0xe6,0x69,0xcd,0x57,0x3d, + 0x61,0xc7,0x69,0x87,0xf9,0x6a,0x4f,0xd8,0xa1,0xb5,0x53,0x9f,0xd6,0xbc,0xdc,0xde, + 0x14,0xa7,0x47,0x11,0x6a,0x46,0x69,0x23,0x6c,0xde,0x12,0x62,0xc7,0xc3,0xf1,0x68, + 0xe8,0x7e,0xa1,0xad,0xc2,0xb7,0xdb,0xd1,0x3,0x6a,0x6b,0x44,0x75,0x23,0x47,0xb3, + 0x25,0x9f,0x13,0x4d,0xfd,0x44,0xb3,0x44,0x97,0xda,0x28,0x7c,0x53,0xd4,0x54,0x5d, + 0xd7,0xce,0xb8,0x2b,0x7e,0x18,0x6c,0x6f,0xb7,0x31,0xc7,0x6b,0x8f,0xb7,0x9d,0x79, + 0xd3,0xec,0x8c,0x3a,0x13,0xb,0x4,0xde,0x14,0xb5,0xf3,0xbd,0x91,0xf1,0xa6,0xdb, + 0x99,0x6f,0xb0,0x13,0x2c,0xbe,0x84,0x97,0x64,0x8c,0xf0,0x5c,0x16,0x3b,0x84,0xf9, + 0x8f,0x36,0xa7,0x57,0x9b,0xc,0x73,0x2d,0xe9,0x13,0xb,0xa3,0xb5,0xff,0xe9,0xe9, + 0x5d,0x99,0x9e,0x3,0x9f,0xcf,0x3e,0x6e,0x48,0xf1,0x87,0xc9,0xa3,0x8f,0x9d,0xc7, + 0x1f,0x50,0x8f,0x3e,0xcc,0x1e,0x7b,0x2d,0x43,0x5c,0x2f,0x43,0xfd,0xfb,0x4a,0xda, + 0x84,0x67,0xfa,0x8e,0x5e,0x47,0x9f,0xf1,0x33,0xe8,0x17,0xc8,0x9,0x45,0x51,0xfb, + 0x3f,0xde,0x7d,0xac,0x3e,0x6,0xfb,0xbb,0x78,0x6,0xfd,0xfc,0x19,0xb1,0x28,0x6a, + 0x9f,0xcd,0xe6,0xe3,0x99,0x9e,0x41,0x3f,0x7f,0x42,0x2c,0xa,0xdb,0x9b,0x6e,0x3e, + 0x4a,0xb6,0x7f,0xf3,0xb1,0xfa,0x76,0xc1,0x35,0x1e,0x42,0xff,0xfc,0x36,0x1f,0x25, + 0x3b,0x26,0xb5,0xf5,0xba,0x97,0x47,0x25,0x3b,0x2e,0xb5,0xb5,0xe5,0x5d,0xc7,0xdd, + 0x10,0x56,0x5a,0x3b,0xdf,0xe6,0x23,0x2c,0xc4,0x1,0x2f,0x8f,0x9e,0xb0,0xf9,0x78, + 0xf2,0xcb,0xa3,0x92,0x9d,0xb0,0xf9,0xb8,0xe5,0x6d,0xdc,0x73,0x9d,0xae,0x40,0x1b, + 0x6b,0xfb,0x4e,0x85,0x60,0x2a,0x76,0x2a,0xc4,0x1e,0x94,0xe2,0x2f,0x78,0xef,0x3f, + 0x82,0x82,0xa9,0xd8,0xd9,0x2a,0x7b,0x40,0x1a,0xf6,0x87,0xb7,0xfd,0xdb,0x6d,0x67, + 0xab,0x5c,0x2d,0xb1,0x15,0xe,0x1e,0xda,0xa1,0x92,0x9a,0xd5,0x3d,0x99,0x82,0x43, + 0x45,0xec,0xa2,0xd6,0x28,0xac,0x49,0xb4,0x80,0x2b,0x5c,0x8f,0xea,0x4,0x3,0xb, + 0xae,0x26,0x26,0xc8,0x3,0xc0,0x99,0xa,0x47,0xfb,0xac,0x47,0x65,0x1b,0xde,0x77, + 0xe8,0xe4,0xa5,0xf0,0xad,0x3c,0x12,0x88,0xe,0x83,0x1a,0x7c,0x1c,0xa5,0x4f,0x5f, + 0x95,0xdd,0xa7,0xd3,0xa6,0x96,0xf5,0x4e,0x7b,0x77,0x69,0x0,0x1b,0x83,0xce,0xa7, + 0x76,0x79,0xe1,0x36,0x9b,0xd,0xd2,0x59,0x71,0xc9,0x84,0x4f,0xed,0xd2,0x72,0x3e, + 0x56,0xe7,0x59,0x55,0x30,0xa6,0x5a,0xcb,0xeb,0x2c,0x7e,0x7d,0x7e,0xdf,0x1b,0x64, + 0x4f,0xa0,0x8,0xeb,0x17,0x3f,0x65,0xd9,0x43,0x88,0x78,0xd4,0xfa,0x95,0xb0,0xfd, + 0xc,0xc0,0xac,0x55,0xda,0x6c,0x5c,0x7c,0x9,0x17,0xd,0xa2,0x87,0x32,0xc2,0x2c, + 0x2f,0xe,0xb2,0xfe,0x23,0x1d,0xae,0xd6,0x7e,0xcc,0xd1,0x9b,0x3e,0x6f,0xdc,0xfe, + 0x38,0x9b,0x51,0x81,0x71,0xef,0x25,0xc5,0x88,0xc3,0x5f,0x85,0x76,0x2e,0x8f,0x6, + 0x93,0xa2,0xbc,0xad,0x38,0x1e,0xac,0x22,0x9a,0xdf,0x67,0x4f,0x77,0x8f,0xa3,0x41, + 0x3a,0x5f,0x9e,0x8b,0xb5,0xd6,0x40,0xb8,0xd6,0xbe,0xbd,0xcd,0x9e,0xe3,0xd7,0x9f, + 0x46,0x13,0xe0,0xd1,0x5e,0xb6,0xc5,0x19,0xdf,0x18,0xfe,0xb2,0x44,0xd1,0xb6,0x15, + 0x1b,0xd0,0x2d,0x4b,0xa0,0x5,0xbd,0xe5,0x12,0x40,0x2a,0x17,0x62,0xe8,0xf1,0x8c, + 0x14,0x62,0xd8,0x1b,0xcf,0xd3,0xe2,0xbc,0xae,0x52,0x73,0x42,0x8f,0xb,0xf5,0xcb, + 0x66,0xa4,0x7c,0xbd,0x45,0x38,0x2f,0xec,0x1e,0xbf,0x3e,0x65,0xf8,0x39,0x2e,0xd5, + 0x73,0x9a,0xcd,0x47,0xf9,0x45,0x97,0x30,0x4a,0x2f,0xaa,0x3a,0x21,0x9,0x95,0x81, + 0x86,0x54,0xde,0x46,0x3a,0xa0,0xa1,0x8f,0xe9,0x6c,0x31,0xea,0x47,0x9b,0xa1,0xb8, + 0xc3,0x89,0x6d,0xcd,0x98,0x72,0x45,0x6c,0x2e,0x84,0x20,0x7f,0x48,0x17,0xbd,0x41, + 0x6f,0xd1,0x5b,0xad,0x8a,0x42,0x52,0x1c,0x4b,0xf3,0x7e,0x36,0x18,0x76,0xff,0xf5, + 0xfd,0xf,0xa5,0x65,0xeb,0xf7,0xbb,0xff,0xce,0x66,0xbf,0xad,0x2c,0x16,0x15,0xe8, + 0xdd,0x66,0x8f,0x98,0x8c,0xd2,0xd8,0xa2,0xdc,0xa0,0xdf,0x25,0xb6,0xd8,0x5b,0x7c, + 0x37,0x7a,0x80,0xa2,0xd3,0xb1,0x78,0x7f,0x7e,0x7e,0x18,0x63,0x71,0x96,0x17,0x6a, + 0x85,0xe9,0xd0,0xae,0x55,0xa5,0x79,0xb5,0xb3,0x34,0x3f,0xf6,0x2e,0x7a,0x52,0xe0, + 0xa0,0xff,0x30,0xa2,0x9b,0x3a,0x3f,0x2d,0x46,0xe3,0xf1,0xdf,0xa8,0x91,0xaa,0x5, + 0xee,0x2c,0x3b,0x5a,0x58,0xc9,0xca,0x38,0xde,0x77,0x8a,0x51,0x86,0x5f,0x77,0x6b, + 0x4a,0x32,0xee,0xdd,0xa6,0xe3,0x9b,0xe6,0x87,0xde,0xf8,0xbf,0x8f,0x69,0x79,0x44, + 0xd7,0x4a,0x85,0x67,0xd9,0xe3,0xf4,0x21,0x1b,0xa4,0xcb,0xf5,0xd1,0x5c,0x81,0xb7, + 0x5c,0x2f,0xcb,0x26,0xa7,0xbd,0xc5,0x7d,0x31,0xa2,0xa5,0x59,0x5f,0x79,0xd4,0x21, + 0xfa,0xdc,0xc5,0x68,0xbe,0xd9,0x8,0xf3,0xac,0x7e,0x17,0xae,0x56,0xdc,0xef,0x7c, + 0x31,0xcb,0x7e,0x4b,0xbb,0x93,0x6c,0x92,0x2e,0xbf,0xe7,0x2b,0xa4,0xcb,0x28,0x1f, + 0x50,0x88,0xa8,0xa2,0xff,0x64,0xa3,0x49,0x17,0xb8,0xa4,0xb3,0x42,0x1a,0x7e,0x8c, + 0x47,0xf8,0xab,0xab,0xa,0xd9,0xa0,0x7,0xbb,0x33,0x9b,0xf5,0x5e,0x6a,0x55,0x92, + 0x34,0x77,0x49,0x5d,0x56,0xc8,0x56,0xfe,0xa6,0x18,0x9,0x86,0xf9,0xf7,0x86,0x4d, + 0x14,0x97,0x92,0x73,0xd1,0x92,0x89,0x25,0x33,0x2f,0x78,0xe3,0xc7,0x8a,0x14,0x6a, + 0x29,0x8c,0x55,0x52,0x43,0x2a,0x89,0xc6,0x4b,0xeb,0x6d,0x4d,0x8a,0xe8,0xc7,0x4b, + 0x7a,0x46,0x5e,0x26,0x5e,0x4b,0x67,0x1d,0x64,0x82,0x25,0xdc,0x79,0x53,0xbf,0x9d, + 0x4e,0xd8,0x31,0xdc,0x38,0xb7,0x45,0x1a,0xef,0xc0,0x4a,0xfa,0xa9,0x51,0x5b,0x1a, + 0x33,0x78,0x3d,0x84,0xd2,0x95,0x17,0x6d,0xee,0x6a,0x2b,0x47,0x28,0x16,0x39,0x43, + 0x2d,0xae,0x12,0x8d,0xc6,0x62,0x33,0xc1,0x82,0x38,0x84,0xd2,0x5e,0xc6,0x30,0xa1, + 0x55,0x8,0x26,0x57,0x5f,0x35,0x3d,0x81,0xaf,0x2d,0xc3,0x18,0x50,0xc6,0x4b,0xe, + 0x13,0x5e,0x49,0xbc,0x2c,0x95,0x64,0x9b,0x6a,0x90,0x87,0x5d,0x57,0x8d,0x15,0xbd, + 0xb9,0x5b,0x2d,0x9e,0x45,0x34,0x54,0x53,0x89,0x95,0x8c,0x73,0x74,0x44,0x26,0xe8, + 0x80,0xd6,0xa2,0x12,0xac,0x1d,0x30,0xd6,0x2,0x20,0xda,0xf,0xde,0xe0,0x2b,0xc7, + 0xf4,0x39,0x61,0x55,0x3b,0x71,0x57,0x5d,0xf4,0xcb,0x29,0x50,0xd5,0x37,0x71,0xf, + 0xea,0xda,0x96,0x41,0x5b,0x70,0x10,0xad,0x2d,0xf4,0x4c,0xc1,0x61,0x32,0x6b,0xaa, + 0x70,0x9f,0xa3,0xfb,0xeb,0x3,0x38,0xb0,0xc6,0xe5,0x82,0xfe,0x9a,0x15,0xc7,0xe6, + 0xd5,0x16,0x1b,0x4b,0x94,0xf2,0x58,0x34,0x5a,0xf9,0xe2,0xb3,0xd9,0x87,0x7a,0xab, + 0x51,0x45,0x54,0xd2,0x1a,0xeb,0xc2,0x19,0x52,0x56,0x3b,0xe6,0x78,0x2b,0x7c,0xe1, + 0x56,0xf3,0x56,0x7e,0xd9,0x4a,0x61,0xb0,0x56,0xb4,0xd7,0xc2,0x38,0x7c,0x83,0xb6, + 0xa,0x70,0x54,0xf1,0x6e,0xad,0xfa,0x7c,0x5e,0xb8,0xe3,0xb5,0xa1,0xaf,0xd9,0xb8, + 0x12,0x81,0xd2,0xd7,0xc0,0x48,0x92,0x85,0x6,0x17,0xe8,0xcf,0xfb,0xfd,0xfe,0xa7, + 0x7e,0xf8,0xab,0xdf,0x6f,0xae,0xdf,0x12,0x4e,0x3f,0x44,0x55,0xa2,0x1a,0x7a,0x17, + 0x9f,0x60,0x71,0x14,0x25,0x18,0xbc,0xf1,0x61,0x1d,0x21,0x42,0xe7,0x70,0xfc,0xbe, + 0xf1,0xa1,0xa1,0xb0,0xaa,0x98,0x46,0xa8,0x83,0xb1,0xa1,0xeb,0x5a,0x39,0x61,0x1a, + 0xd2,0x27,0x4c,0x31,0x67,0x2c,0xd,0xd8,0x1a,0xa9,0xa5,0x82,0xd0,0x62,0x9c,0x42, + 0x48,0x5f,0x8,0x39,0x33,0xa8,0x40,0x1a,0x54,0x2c,0x98,0xab,0x89,0xa5,0x4a,0xb0, + 0x52,0xa0,0x2d,0x94,0xaf,0xd6,0xc6,0x9,0xef,0x5d,0x43,0x2,0x28,0xe0,0xa5,0x7d, + 0xe8,0x82,0x87,0x2d,0x72,0xcc,0x92,0x81,0x83,0xdc,0xf8,0x90,0x48,0x17,0x9,0x63, + 0x58,0xd5,0xe8,0x42,0x4d,0x2c,0x13,0xe6,0x24,0x26,0x5e,0x53,0x7b,0x98,0x3c,0x61, + 0x55,0xbe,0xe,0xb5,0x75,0x16,0x24,0xa7,0x1,0xe0,0xbd,0xb7,0x2c,0x17,0x12,0xe3, + 0x35,0xd2,0x36,0x28,0xb1,0x2d,0xb4,0x11,0xb2,0x14,0x2a,0x89,0xa,0x84,0x4a,0x98, + 0x56,0x42,0x56,0xc4,0xbe,0x41,0x29,0x26,0xc9,0xac,0xb5,0x79,0xad,0xda,0x5b,0xee, + 0x1a,0x82,0x27,0xc2,0x33,0x1e,0x64,0x4c,0xc1,0x53,0x4,0xd3,0xb9,0x92,0xb2,0x44, + 0x2a,0x9,0x46,0x4b,0xdd,0x12,0x79,0xb6,0xc5,0xd2,0x88,0x85,0xf5,0x68,0x81,0xa9, + 0x6,0x3d,0xe5,0x28,0x38,0xa,0x85,0x44,0xbe,0x61,0xde,0xa1,0x7,0xdc,0x2,0x27, + 0x1,0x6a,0x53,0x8,0xad,0x50,0xa8,0x80,0x28,0xa9,0x43,0x77,0x6b,0x62,0x18,0x1d, + 0xda,0xd4,0xf0,0x24,0x54,0x52,0xa,0x34,0x0,0x21,0x4c,0x3e,0xd7,0x40,0xa4,0x36, + 0x95,0x3f,0x52,0x61,0xda,0xb4,0x63,0x50,0x4e,0x9d,0x58,0xa3,0xc,0xa6,0x90,0x2a, + 0x76,0x9,0x17,0x1e,0x85,0xe8,0x45,0x26,0xc9,0xe1,0x2a,0xb8,0x6a,0x80,0x18,0x33, + 0xc9,0xa0,0xb7,0xad,0xb6,0xa3,0x9d,0x60,0x7a,0x6f,0x80,0x0,0x53,0x94,0x35,0x17, + 0x24,0xd4,0x1a,0x55,0x59,0x4b,0x88,0x8b,0x64,0x59,0xad,0x4b,0x14,0xb5,0x2b,0x69, + 0xd2,0x85,0xf6,0x1c,0xca,0x8f,0x3a,0x2d,0xbd,0xd5,0x64,0x38,0xa9,0x92,0x73,0x86, + 0x13,0x86,0x9a,0x86,0x20,0xbd,0x57,0xe8,0x56,0x5c,0xf3,0x2a,0x6e,0x65,0x6d,0xe5, + 0xef,0xf7,0xf1,0x71,0xab,0xb2,0xc5,0x28,0x94,0x8e,0x1e,0x76,0x4c,0x7a,0xc3,0xd9, + 0xf2,0x23,0xaf,0xe1,0xf6,0x23,0x96,0xa8,0xc2,0xb1,0x82,0x5,0xe8,0xdc,0xed,0xb2, + 0x86,0x71,0xbb,0xa4,0x58,0x3e,0x75,0x8c,0xb2,0xf3,0xf4,0x4,0x70,0x6b,0xf5,0xad, + 0x7a,0x9d,0x63,0x59,0x0,0x6e,0xef,0x5b,0x98,0x5a,0xe8,0xb7,0x71,0x2a,0x6e,0x99, + 0x94,0xe6,0xcd,0x13,0xcc,0xf0,0x4e,0xc3,0xbe,0xcd,0xba,0x9d,0x69,0x96,0xb5,0xc1, + 0x1a,0xd8,0x9c,0x65,0x8a,0xb2,0xab,0x9f,0xeb,0x92,0xbb,0x9a,0xc9,0xe5,0x64,0x19, + 0x19,0xf3,0xe4,0x3c,0x35,0x91,0x35,0x5a,0x8c,0x94,0x26,0xa7,0x37,0xbb,0x20,0x43, + 0x68,0x6f,0x19,0x96,0x9d,0x85,0x91,0xd0,0x58,0x5f,0x9e,0x1e,0xe3,0x86,0x86,0x18, + 0xa9,0x40,0xfa,0x54,0x78,0x2b,0x45,0xb6,0x70,0xd5,0x71,0x91,0x13,0x41,0x21,0x95, + 0x26,0x19,0x6a,0x11,0x2,0x2b,0x96,0xc,0x38,0x98,0x9a,0x53,0xc6,0xf1,0x20,0xf5, + 0xb4,0x6d,0xc7,0x1b,0x3a,0xec,0x32,0x68,0x98,0x38,0xda,0x83,0x81,0x6d,0xc6,0x82, + 0x33,0x65,0x8d,0x2b,0xd9,0x7,0xb4,0x6d,0xb1,0x8c,0xeb,0x52,0x87,0x6a,0xb4,0x53, + 0x2c,0xc8,0xc2,0xc3,0x35,0xae,0xe1,0x13,0xad,0x2c,0x2b,0xda,0x26,0xf3,0x47,0x16, + 0x67,0x25,0xf5,0x60,0x9e,0xf9,0x0,0xc1,0x4b,0xe1,0xa,0x99,0x6b,0x39,0x18,0x44, + 0x61,0xb8,0x68,0xd0,0xf3,0x35,0x50,0x4e,0x4d,0x22,0x45,0x30,0x10,0x30,0x42,0x17, + 0xbf,0x3e,0x90,0x99,0x54,0xf4,0x2e,0x9f,0x5d,0x8a,0x18,0x2c,0xba,0x8,0xe7,0x36, + 0x1a,0x1b,0xaa,0x1,0xe1,0x64,0x92,0x6c,0x16,0x1c,0x6,0xc2,0x35,0x6a,0x8d,0xb6, + 0x2c,0xc9,0x18,0x97,0x32,0xf4,0x8b,0x1b,0xcd,0x3,0x26,0xb0,0xe6,0x20,0xcc,0x42, + 0x91,0xd0,0x59,0x4f,0x3,0x80,0xd5,0x27,0xa7,0x0,0x1f,0x8e,0x1e,0x4a,0x27,0x69, + 0xa0,0x2,0xc1,0x1f,0x8c,0x2b,0xdd,0x5c,0xca,0x3e,0x90,0x15,0x94,0x70,0x2f,0xc2, + 0x56,0x4b,0xd2,0xcb,0x9b,0x30,0xba,0xa1,0x42,0x65,0x9,0x63,0x1,0x1f,0x9,0xb8, + 0x64,0xde,0x32,0xa3,0x7d,0x51,0xea,0xf,0xc0,0x3,0x38,0x90,0xda,0x65,0x1f,0x83, + 0xc3,0x51,0xb8,0x17,0xfc,0x40,0x13,0xbf,0xc6,0x2a,0xa4,0xd1,0x39,0x6e,0x84,0x31, + 0x50,0x3,0xe3,0x69,0x9b,0x47,0x47,0xd4,0x25,0x62,0x23,0x4b,0x47,0xaf,0xf4,0xa6, + 0xa3,0x8f,0x12,0x87,0xc0,0x19,0xf2,0x7f,0xfb,0x6b,0xb6,0xe7,0x4d,0x56,0xa8,0xb6, + 0xa0,0x19,0x12,0x34,0x62,0xf9,0xb9,0x72,0xf8,0x55,0x5b,0xa1,0x58,0x13,0xcc,0x6a, + 0xe2,0x12,0xf0,0xa9,0x58,0x80,0xc2,0xcb,0x7c,0x4d,0xb8,0xa0,0xb9,0x15,0x29,0xa6, + 0x15,0x9a,0x20,0x4d,0x8b,0xb6,0x90,0x39,0x53,0xce,0x93,0xf2,0x9b,0xe0,0x48,0x48, + 0xc6,0x38,0xa6,0x31,0x5f,0x11,0x85,0x90,0x3c,0x36,0xd6,0x6,0xa9,0x94,0x3,0xcf, + 0x90,0xdc,0x63,0x85,0xf3,0xe0,0xc,0x41,0x3a,0x42,0x2b,0x1e,0x16,0x9b,0x44,0xca, + 0xe3,0x1f,0x57,0xed,0x4e,0x29,0x3,0x43,0x43,0xd3,0x5a,0xd5,0xa5,0x60,0x0,0xd0, + 0x41,0x98,0x80,0x50,0x21,0xc2,0x12,0x4f,0xd6,0x81,0x4,0x36,0xe8,0xa8,0x82,0x97, + 0x55,0xb9,0xc9,0x28,0x84,0xb4,0x2e,0x8d,0x8,0x8c,0x0,0x26,0x3,0x71,0xa0,0x75, + 0x61,0x34,0xda,0x81,0xbb,0xfa,0xd0,0xa,0x18,0x87,0xd1,0x95,0x41,0xc7,0xe0,0xd9, + 0xad,0x93,0xfa,0x8,0x9d,0xfc,0x43,0x1b,0xd7,0xb4,0x91,0xcc,0x11,0xa6,0x8a,0x2c, + 0x8a,0x80,0x97,0x50,0xc6,0x94,0xe6,0x8,0xc4,0xb0,0x2a,0x25,0x73,0xa4,0x60,0x98, + 0x6c,0x2b,0x7f,0xc,0xcf,0x81,0x82,0xc2,0x1e,0x71,0xfa,0x7f,0x22,0x4,0x3,0xe7, + 0x89,0xdf,0x92,0x3e,0x56,0xa4,0x30,0xa8,0xb0,0x80,0x39,0x59,0x75,0x64,0xd8,0x78, + 0x6e,0xf5,0x19,0xc8,0x3d,0xd8,0x5b,0x68,0x7,0x2a,0x1a,0x54,0x4a,0x9,0x26,0x41, + 0x3f,0x2b,0x3d,0x2a,0x65,0xc1,0x9e,0x69,0x4,0xa,0x35,0x29,0x2c,0x2e,0x42,0x7, + 0xce,0x5d,0xa8,0x11,0xc1,0xb1,0x31,0x64,0x9b,0x89,0xe8,0xc2,0xee,0x93,0x46,0x32, + 0xcb,0xb9,0xc9,0x2d,0x76,0x21,0xe5,0x89,0x23,0xbb,0xa8,0x96,0x16,0x1b,0xac,0xde, + 0xf8,0x30,0x22,0x84,0x10,0x4a,0xe7,0xed,0x58,0x21,0x6d,0x75,0xe4,0x11,0x8c,0x76, + 0xab,0xa4,0xfd,0x6c,0x55,0x32,0x96,0x8e,0xfa,0x9c,0xf4,0x91,0xd2,0xe0,0xa0,0x19, + 0x22,0x18,0xf,0xae,0x41,0x14,0x5c,0xb0,0x65,0xcc,0x80,0x51,0xa,0x59,0x91,0x3a, + 0x84,0xc5,0x52,0x7b,0x16,0x66,0xda,0x4a,0x7c,0x60,0x8,0xe1,0x59,0xc1,0xb9,0x83, + 0xe2,0x71,0xe9,0x1d,0xe3,0xc1,0x3c,0x62,0x66,0x15,0xe6,0xb9,0x45,0xa1,0x8,0xec, + 0x64,0x50,0x28,0x47,0x73,0x8f,0x38,0x8a,0x9c,0x26,0xec,0x1a,0x3c,0xb2,0x6a,0x50, + 0xd0,0x82,0xa8,0x84,0x99,0x16,0xe9,0x3a,0xc2,0xe,0x94,0x34,0xa0,0x4c,0x88,0xab, + 0x6c,0x45,0xf4,0x1,0x5c,0x47,0xd2,0x1,0x4e,0x55,0x21,0xf9,0x5b,0x30,0x7d,0x28, + 0x89,0xa3,0x43,0x2,0xac,0x52,0x44,0xa8,0x60,0xdd,0x10,0xc1,0x71,0xb4,0x81,0x3f, + 0x11,0x52,0xe5,0xf6,0x51,0x39,0xab,0xe8,0xe5,0xdf,0xe0,0xc4,0x15,0xc5,0x36,0x64, + 0x71,0x59,0xe0,0x4a,0x36,0xc,0x47,0x48,0x87,0x38,0x86,0x72,0x67,0xdc,0xdb,0xa5, + 0xc5,0xcd,0x87,0x1d,0x3,0x68,0xb7,0x32,0xfa,0x3f,0x94,0xf1,0x74,0xe3,0x68,0x24, + 0x74,0xcc,0x2f,0xd,0x4c,0x69,0x8a,0x60,0x19,0x41,0xf1,0x2a,0x52,0x32,0x45,0xa0, + 0x9b,0x41,0x17,0xd,0x14,0x43,0x6,0x4b,0x84,0x39,0x16,0x3c,0x4c,0x33,0x93,0x18, + 0x96,0xcd,0x2d,0x11,0xc2,0x51,0x84,0x4a,0xa4,0x8c,0xd6,0xc2,0xb3,0xda,0xdc,0x12, + 0x71,0x32,0x65,0xa,0xca,0xc3,0x50,0x11,0x2c,0x8,0x35,0xc3,0x9d,0x83,0xa,0x13, + 0x41,0x55,0x1c,0x8a,0x6e,0xa9,0x43,0x94,0x89,0x34,0xaa,0x22,0xc3,0xdd,0x26,0xc1, + 0xda,0xd0,0x35,0x29,0xc5,0x5e,0x20,0x7b,0x81,0xff,0x22,0xa2,0x86,0x1b,0xb2,0xc1, + 0x82,0x7b,0x4,0xcd,0xe,0x6d,0x2b,0xc,0x80,0xe5,0x3d,0x22,0xa2,0xe0,0xa4,0xd, + 0xec,0x1,0x8b,0x3,0xd0,0xe7,0xd6,0x5a,0x60,0x14,0x26,0x30,0x4d,0x7a,0x1a,0x8b, + 0x6a,0x44,0xcc,0xd,0xb5,0xac,0xe,0x3b,0x2,0xd0,0x4e,0x65,0x34,0x9b,0x48,0x1f, + 0xae,0x8c,0xb5,0xb0,0xb5,0xf2,0xa3,0xfc,0xba,0xfc,0x12,0xfe,0x7a,0x4f,0x9b,0x17, + 0xdf,0x7d,0xf5,0x3f,0x78,0x45,0xc6,0x74, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_unhold.svg + 0x0,0x0,0x11,0x7b, + 0x0, + 0x0,0x48,0xd4,0x78,0x9c,0xed,0x5b,0xdb,0x72,0xe3,0xd6,0x72,0x7d,0xf7,0x57,0x30, + 0xf4,0x8b,0x5d,0x21,0xc1,0x7d,0xbf,0xd0,0x23,0x9f,0x87,0x71,0x39,0x75,0xaa,0x4e, + 0x2a,0xa9,0xd8,0xae,0x3c,0xba,0x20,0x10,0x92,0x18,0x53,0x4,0xc3,0xcb,0x48,0x9a, + 0xaf,0xcf,0xea,0x6,0x71,0x23,0x41,0x89,0x94,0x34,0x76,0x6a,0x12,0x69,0xa6,0x24, + 0x36,0x36,0xf6,0x65,0xed,0xee,0xd5,0xab,0x37,0xa0,0xf,0x7f,0x7b,0xbc,0x5f,0xc, + 0x3e,0xe5,0xeb,0xcd,0xbc,0x58,0x5e,0xd,0x65,0x22,0x86,0x83,0x7c,0x99,0x15,0xb3, + 0xf9,0xf2,0xf6,0x6a,0xf8,0xdb,0xaf,0x3f,0x8f,0xc3,0x70,0xb0,0xd9,0xa6,0xcb,0x59, + 0xba,0x28,0x96,0xf9,0xd5,0x70,0x59,0xc,0xff,0xf6,0xe3,0x37,0x1f,0xfe,0x69,0x3c, + 0x1e,0x7c,0x5c,0xe7,0xe9,0x36,0x9f,0xd,0x1e,0xe6,0xdb,0xbb,0xc1,0xdf,0x97,0x7f, + 0x6c,0xb2,0x74,0x95,0xf,0xbe,0xbb,0xdb,0x6e,0x57,0xd3,0xc9,0xe4,0xe1,0xe1,0x21, + 0x99,0xef,0x8d,0x49,0xb1,0xbe,0x9d,0x7c,0x3f,0x18,0x8f,0x71,0xe7,0xe6,0xd3,0xed, + 0x37,0x83,0xc1,0x0,0xc3,0x2e,0x37,0xd3,0x59,0x76,0x35,0xdc,0xb7,0x5f,0xed,0xd6, + 0xb,0x6e,0x37,0xcb,0x26,0xf9,0x22,0xbf,0xcf,0x97,0xdb,0xcd,0x44,0x26,0x72,0x32, + 0x6c,0x9a,0x67,0x4d,0xf3,0x8c,0x6,0x9f,0x7f,0xca,0xb3,0xe2,0xfe,0xbe,0x58,0x6e, + 0xf8,0xce,0xe5,0xe6,0xdb,0x56,0xe3,0xf5,0xec,0xa6,0x6e,0x4d,0x93,0x79,0xd0,0xdc, + 0x48,0xc6,0x18,0x27,0x42,0x4d,0x94,0x1a,0xa3,0xc5,0x78,0xf3,0xb4,0xdc,0xa6,0x8f, + 0xe3,0xee,0xad,0x98,0x63,0xdf,0xad,0x4a,0x8,0x31,0xc1,0xb5,0xa6,0xe5,0x79,0xad, + 0xa6,0x8f,0xb,0x20,0x71,0x72,0x32,0x7c,0xb5,0x3d,0x3a,0xd0,0x5f,0xe1,0x7f,0x7d, + 0x43,0x65,0x48,0x36,0xc5,0x6e,0x9d,0xe5,0x37,0xb8,0x33,0x4f,0x96,0xf9,0x76,0xf2, + 0xd3,0xaf,0x3f,0xd5,0x17,0xc7,0x22,0x99,0x6d,0x67,0xad,0x6e,0x2a,0xf0,0x3b,0xe3, + 0x76,0x76,0x64,0x99,0xde,0xe7,0x9b,0x55,0x9a,0xe5,0x9b,0x49,0x65,0xe7,0xfb,0x1f, + 0xe6,0xb3,0xed,0x1d,0x9c,0xc1,0xf1,0xa7,0xbb,0x7c,0x7e,0x7b,0xb7,0xad,0x3f,0xce, + 0x67,0x57,0x43,0xac,0x4e,0xf1,0x87,0x6a,0xf0,0x69,0xed,0x41,0x22,0xd1,0xe5,0xa5, + 0xaa,0xc7,0xf6,0x25,0x53,0x76,0xd1,0x71,0xb7,0x4e,0x37,0xb3,0x22,0xbb,0x4e,0x37, + 0x98,0xf2,0xe4,0xae,0xb8,0xcf,0xc7,0x8b,0x22,0x4b,0x17,0x93,0xd5,0xe2,0x3a,0x4f, + 0x77,0xb3,0x62,0xbe,0x9c,0xfc,0xf2,0xf3,0x3f,0xfe,0xfd,0xe,0x7e,0x38,0xd9,0xdc, + 0x2c,0x56,0x9d,0x5f,0xc6,0xb7,0xdb,0x3f,0x26,0xab,0xf9,0xe3,0x7d,0xba,0xda,0x1c, + 0xf5,0x49,0xb,0xbd,0x1a,0xce,0xb3,0x62,0xf9,0xfb,0x6e,0x79,0x57,0x2c,0x66,0x49, + 0xb5,0x3f,0xf5,0x2c,0x8b,0xdd,0x76,0xb5,0xdb,0xfe,0x9e,0x3f,0x6e,0xf3,0x65,0x39, + 0x39,0x20,0xd4,0x82,0x8b,0x2f,0xd3,0x6d,0xb5,0x6d,0xf8,0x23,0x3a,0xf8,0x30,0xcb, + 0x6f,0x36,0xd4,0x51,0x9,0xc,0x7d,0x32,0x7c,0x1,0x97,0xb0,0xad,0x79,0xba,0xfe, + 0x97,0x75,0x3a,0x9b,0xc3,0x99,0xcb,0x46,0xad,0x11,0xb3,0x62,0xb1,0xc8,0x33,0x0, + 0x9b,0x2e,0x1e,0xd2,0xa7,0x72,0xd2,0x55,0x3f,0xdd,0x5b,0x95,0x15,0x62,0xdf,0x29, + 0xba,0xdd,0x6c,0x8b,0x55,0xd5,0x16,0xcb,0xdc,0x3e,0x2d,0xb0,0x36,0x32,0x8e,0xd1, + 0x63,0xb1,0x9e,0x7e,0x1b,0x4,0x7d,0xfd,0xc0,0xa6,0x2,0xdb,0x3b,0xdf,0x3e,0x4d, + 0xe5,0xf,0xc3,0xe6,0x9e,0xe2,0xe6,0x66,0x93,0x63,0x60,0xd1,0xb2,0xf1,0xb6,0xe2, + 0xe,0x8c,0xa5,0x86,0x83,0xc9,0xdb,0x46,0x13,0x7d,0xa3,0xc9,0xfe,0xd1,0x4c,0x3d, + 0xda,0x87,0x49,0x77,0xd9,0x6f,0x83,0x91,0xa3,0x6a,0x7a,0xb7,0xce,0xc1,0x2,0xdf, + 0xf6,0xe0,0xf9,0x2c,0xdc,0xae,0xe9,0x46,0x5e,0xd,0x4d,0x12,0x8d,0x88,0xde,0xf8, + 0xda,0xfa,0x24,0x29,0x1e,0x12,0xab,0x82,0xb3,0xaa,0x69,0xab,0xae,0x86,0x2e,0x51, + 0x22,0x2a,0x21,0x75,0xd3,0x16,0xd6,0xb1,0x46,0x58,0x4,0x15,0x6c,0xd3,0xc5,0xed, + 0x7e,0xb4,0xdf,0x96,0xf3,0x2d,0x78,0x64,0xb7,0xc9,0xd7,0xbf,0x50,0x2c,0xfe,0xdb, + 0xf2,0xb7,0x4d,0xde,0x60,0xf2,0x7e,0x4e,0x64,0xb4,0xbe,0xc0,0x89,0x84,0x8,0x6f, + 0x70,0x22,0xa3,0xed,0x45,0x4e,0xd4,0x37,0xda,0xf9,0x4e,0x64,0xb4,0xff,0xb,0x9c, + 0x88,0xf0,0x7c,0x16,0xee,0xd8,0x71,0x22,0x95,0x44,0x67,0xbd,0xb5,0x1d,0x1f,0x2, + 0x69,0x63,0xe1,0xc1,0x4,0x6b,0x3a,0x5e,0xa4,0x55,0x62,0x7d,0x50,0x2a,0x74,0xbc, + 0x8,0x1e,0xe7,0x75,0xc4,0xf7,0xa5,0x4e,0x54,0xaf,0x73,0x5,0xe6,0x5d,0x61,0xa1, + 0x48,0x9c,0x55,0x17,0x35,0x4f,0x6e,0x9f,0x28,0x57,0x74,0x9b,0xea,0xd9,0xf0,0x8, + 0xab,0x4f,0xab,0xdf,0x1f,0xb1,0xed,0x83,0xe9,0x20,0xe0,0xbf,0xec,0x6d,0xf0,0x54, + 0x36,0x90,0xd8,0x54,0xfc,0x10,0xbd,0x6d,0x3e,0xd3,0x82,0x4e,0xf7,0xb2,0x1f,0x7f, + 0x5c,0xac,0xe7,0xb7,0x73,0xd0,0x31,0x35,0xb3,0x89,0x2e,0xbf,0xba,0xb7,0x0,0xfc, + 0xd6,0xc2,0x8c,0xa,0xfa,0xc5,0xf8,0x39,0xda,0x2f,0xad,0xfd,0x25,0x1c,0x3b,0xf3, + 0xf4,0xfd,0xca,0xf0,0xc0,0x58,0x97,0x71,0xac,0xcf,0xe8,0xfb,0x8c,0xd1,0xfa,0xc2, + 0x3,0xa3,0xbd,0x96,0x63,0x7b,0x50,0x72,0xea,0x22,0x12,0x79,0x43,0x26,0xc2,0x58, + 0xe6,0x22,0x94,0x6e,0xf8,0xeb,0xd5,0x28,0x39,0xf7,0x5e,0x28,0x19,0x61,0xec,0x5, + 0x28,0xf5,0xcd,0x5b,0x9c,0x9,0x12,0x86,0xf2,0x97,0x81,0x94,0xdd,0x5c,0x67,0xd7, + 0x7,0x20,0x9d,0x89,0x11,0x6,0x8b,0xef,0x86,0x91,0x72,0xf1,0x2,0x8c,0xe4,0xec, + 0xfa,0xf5,0x9e,0x64,0x94,0x97,0x17,0x81,0xd4,0x37,0xda,0xd9,0xe9,0x8,0xa3,0xe9, + 0x77,0x43,0x49,0x86,0x93,0x49,0xbb,0x1e,0x4f,0x6,0xfb,0x2,0x10,0xe7,0x3,0x7a, + 0x12,0xa5,0xd6,0x68,0xfe,0x5,0x20,0xfa,0x88,0xe0,0xc6,0xde,0x3c,0x33,0xda,0x9b, + 0x51,0x72,0xfe,0x52,0x7d,0x9c,0xbf,0xd6,0x97,0xa4,0x8b,0x17,0xf9,0x12,0xc1,0x2c, + 0xcd,0x6b,0x7d,0x49,0xb6,0x3c,0xf7,0x22,0x94,0x58,0x2f,0xe8,0x4,0x52,0x54,0x58, + 0xdd,0xd1,0x16,0x2e,0x9,0xda,0x87,0x10,0xf,0xd4,0xac,0x4a,0x9c,0xb2,0x51,0xb4, + 0xd4,0x2c,0x8b,0x16,0xe1,0x2c,0x76,0xfc,0x58,0xb6,0xfe,0xba,0x4e,0x97,0x1b,0x54, + 0xa2,0xf7,0x57,0xc3,0xfb,0x74,0xbb,0x9e,0x3f,0x7e,0x37,0x96,0x23,0x81,0x6f,0x39, + 0x82,0x78,0x11,0x70,0x93,0x30,0x1a,0xab,0x24,0x38,0xe3,0xf5,0xf7,0x67,0xea,0x95, + 0xd3,0x3b,0x2c,0x75,0x68,0xa4,0xd0,0x33,0xa2,0x8c,0x59,0xe5,0x45,0x75,0xf7,0x82, + 0x38,0xe8,0x59,0xe2,0x96,0x7e,0x5d,0xa4,0xdb,0xfc,0x3b,0x14,0xb1,0xca,0x49,0xcb, + 0x8b,0xf3,0x4e,0x49,0xed,0x2e,0x5d,0xdd,0x97,0xda,0x99,0x5e,0xd4,0xdc,0x9f,0x8e, + 0xda,0x19,0x8b,0x17,0x10,0xb7,0xce,0x2b,0xd9,0x59,0xbc,0x34,0x9,0xaa,0x26,0xa7, + 0x43,0x67,0xf1,0x0,0x59,0xa8,0x10,0x5c,0xb7,0x20,0x93,0x36,0x81,0x5f,0x29,0xf9, + 0x9c,0x0,0xc7,0xe2,0xcd,0x59,0x8b,0x27,0x8a,0xfd,0xa2,0x2e,0x3,0x91,0x1f,0x8d, + 0x17,0x12,0x3e,0x3,0xb9,0x1f,0xac,0x8c,0xe1,0x55,0x3e,0x83,0x9a,0x40,0x5b,0x2f, + 0x6d,0x7,0x36,0x2d,0x13,0xd,0xfa,0xb,0x87,0x2e,0x73,0xd8,0x94,0xb0,0x34,0x89, + 0x8e,0xde,0xa,0xfb,0x3c,0x6a,0xea,0x7f,0x7,0x6a,0x32,0x51,0xe,0x7e,0x29,0x47, + 0x63,0x99,0xa0,0x8e,0xf0,0x56,0xbd,0x12,0xb4,0xa0,0x6c,0x88,0xdd,0x40,0xf3,0x88, + 0x3e,0x8d,0x7f,0xf6,0x10,0xb5,0xc3,0xb6,0x92,0xcf,0xa8,0x84,0x81,0xb7,0xb9,0xe7, + 0x51,0x13,0x7f,0x1a,0x6a,0x7d,0xc3,0x7b,0xf3,0x92,0x4a,0x40,0x9b,0x66,0x5,0x67, + 0xab,0x84,0x13,0xa9,0xf2,0x45,0x95,0x80,0xd1,0x42,0xcf,0x68,0x2f,0xa8,0x84,0x13, + 0xa9,0xf2,0x9d,0x54,0x2,0xc8,0x25,0x5c,0xa0,0x12,0x94,0x7b,0x83,0xe2,0x94,0x54, + 0x4d,0x5e,0xa4,0x38,0x4d,0xaf,0x40,0x3a,0x4f,0x25,0xc8,0x76,0x3d,0xf9,0x76,0x94, + 0x4e,0x56,0x78,0xcd,0x78,0xce,0x5c,0xee,0x4b,0x27,0x0,0x3d,0xc3,0x97,0x5c,0x9f, + 0xe7,0xbe,0xe0,0x4b,0x7d,0xa3,0xbd,0xda,0x97,0xde,0x70,0x4c,0xd4,0xd,0xf9,0x63, + 0xb8,0x4d,0xeb,0xac,0xf1,0x3c,0x5a,0xeb,0x4f,0x80,0x27,0x92,0x65,0x7f,0x62,0xed, + 0x24,0xe1,0xb7,0x1e,0x35,0xbe,0x69,0xf1,0xe1,0xc2,0xc5,0xbf,0x3a,0x65,0x30,0x6a, + 0xb4,0x66,0x13,0xf5,0x21,0xeb,0x4b,0x69,0xad,0x8d,0x1d,0xd0,0x90,0xa9,0x5d,0x40, + 0x63,0xa5,0x55,0x17,0xb6,0xba,0xf5,0x5f,0x9,0x9b,0x14,0xef,0x9,0xdb,0xb3,0xfa, + 0x84,0x70,0x83,0xc6,0x70,0x51,0x45,0x77,0x20,0x32,0x8,0x6e,0xa3,0x64,0xd7,0xdb, + 0x94,0x46,0x17,0xf0,0x41,0xdb,0x85,0x4d,0x27,0xda,0x5a,0xad,0xbe,0x28,0x6a,0x1d, + 0x15,0xdb,0x87,0x9a,0x7a,0x4f,0xd4,0x9e,0x2b,0x4,0x8,0x34,0x9f,0x0,0x49,0x72, + 0xa0,0x2e,0x68,0x36,0x89,0x52,0x75,0xaa,0x19,0xd6,0x23,0x52,0x4a,0x13,0x8c,0xec, + 0x82,0x26,0x13,0x1b,0xbd,0x56,0xf6,0xaf,0x45,0xcd,0xbc,0x1d,0xb5,0xb,0x2a,0xc4, + 0xfe,0xda,0xe6,0x44,0x1d,0xd4,0x5f,0x33,0x75,0xea,0xab,0x2f,0x8,0xdd,0xb,0x8f, + 0x91,0xb4,0x56,0xaf,0xa1,0xf6,0x77,0x7d,0xd8,0xf4,0x57,0xae,0x5e,0x5f,0xca,0xed, + 0x5f,0xd5,0xea,0xcd,0xa5,0x14,0xfd,0x75,0xad,0xfe,0x52,0xaa,0xfd,0x42,0xab,0xff, + 0x30,0xa1,0x27,0xf2,0xfc,0x5b,0xfd,0x9c,0x8b,0x5e,0x6,0x98,0x7d,0x9a,0xe7,0xf, + 0xdf,0xd4,0xd3,0xa7,0x77,0xe,0xf6,0x1d,0xad,0xd2,0xdb,0x9c,0x25,0x24,0x16,0x5d, + 0x1e,0xcc,0xef,0x2f,0x5c,0x17,0xeb,0x59,0xbe,0xae,0x2e,0x39,0xfe,0xea,0x5c,0xda, + 0xab,0xcc,0xe6,0xad,0x86,0xf6,0xc3,0x2c,0xf4,0x5a,0x5f,0x17,0xfd,0xd7,0x37,0x77, + 0xe9,0xac,0x78,0x0,0xfb,0x1d,0x5e,0xfc,0x5c,0x14,0xf7,0x9c,0xd,0x34,0x95,0x15, + 0xe1,0xf0,0x72,0xf6,0x88,0x7b,0x20,0x57,0x50,0xf0,0x8b,0x78,0x74,0x11,0xe3,0xe9, + 0x44,0x3a,0x7,0x31,0xec,0xf,0x2f,0xce,0x8a,0x6c,0x47,0xef,0xd9,0x8c,0x77,0xe5, + 0xde,0xac,0x1e,0x8f,0x6e,0xdf,0xad,0xd7,0xd4,0x60,0x91,0x3e,0xe5,0x58,0x36,0xff, + 0xa8,0x92,0x54,0xfd,0x96,0x48,0x7d,0x5b,0xf3,0xa6,0x48,0x6d,0xda,0xdc,0x15,0xf, + 0xb7,0xbb,0xf9,0x2c,0xdf,0x50,0xee,0xdc,0xe5,0x87,0x3,0xf0,0xb5,0xf1,0xf5,0x75, + 0xf1,0xd8,0x7f,0xfd,0x61,0xbe,0x4,0x28,0xe3,0x6a,0x2c,0x51,0x67,0xa3,0xc3,0x16, + 0xd5,0xd8,0x5e,0x1d,0xe1,0xb7,0x6f,0x81,0x11,0xb4,0x76,0x27,0x2e,0x3e,0x11,0x86, + 0xb1,0x3d,0xe9,0x35,0x39,0xc6,0x4d,0xba,0xd8,0xe4,0xd5,0xfb,0x1c,0xb5,0x7,0xf1, + 0xa4,0x2b,0xbf,0x2b,0xd6,0xe4,0xdd,0xe9,0x96,0xdf,0x19,0xf9,0x94,0xaf,0xb7,0xf3, + 0x2c,0x5d,0xd4,0x5e,0xb9,0x2a,0x36,0xf3,0xf2,0x92,0x32,0x49,0x50,0xd2,0xb4,0x1e, + 0xe9,0xd2,0x0,0xdc,0x95,0x96,0xc6,0xd5,0xe,0x7b,0xec,0xa7,0x6c,0xbf,0xcf,0xb7, + 0xe9,0x2c,0xdd,0xa6,0x8d,0xd3,0x56,0x96,0xea,0xe8,0xfb,0xc3,0x7a,0x76,0x33,0xfd, + 0x8f,0x9f,0x7e,0xae,0xcb,0xa9,0x2c,0x9b,0xfe,0x67,0xb1,0xfe,0xa3,0x29,0x93,0xa8, + 0x41,0x7a,0x5d,0xec,0x0,0x53,0x5d,0xe2,0xd1,0x2b,0x2c,0xd9,0x94,0xd2,0x74,0xba, + 0xfd,0x71,0x7e,0xf,0x3f,0xa4,0x77,0x97,0xfe,0xf9,0xf1,0x7e,0x81,0xd8,0xa9,0x2f, + 0x74,0x1a,0xd3,0x83,0xe2,0xa6,0xd3,0xb2,0xdb,0x75,0x5e,0xbe,0x9b,0xd4,0xfb,0x3a, + 0xd7,0x2c,0xbb,0x9f,0xd3,0x4d,0x93,0x5f,0xb6,0xf3,0xc5,0xe2,0xef,0x34,0x48,0xbb, + 0xec,0x9b,0xec,0x27,0x5a,0x55,0x66,0xad,0x75,0x7c,0x98,0x54,0xab,0xe4,0x4f,0xb7, + 0x7,0x9b,0xb7,0x48,0xaf,0xf3,0xc5,0xd5,0xf0,0x63,0xba,0xf8,0xef,0x5d,0x5e,0x3f, + 0x11,0x6e,0x9c,0x6b,0x5d,0xec,0x56,0xf7,0xc5,0x2c,0xdf,0x7b,0xee,0xb0,0x1,0x6f, + 0xef,0xc9,0xfb,0x21,0x6f,0x3b,0x5b,0xa2,0x8c,0xed,0x39,0xa5,0xe9,0x1f,0x6b,0x30, + 0xd8,0x1e,0xc9,0x1c,0x91,0x78,0xa9,0x8d,0xb4,0x9a,0xd5,0xe,0x22,0xd3,0x85,0x20, + 0x95,0x23,0x75,0x4d,0x87,0x92,0xce,0xdb,0xd1,0xd8,0x27,0x31,0x40,0xcc,0x18,0x95, + 0x8f,0x5b,0x45,0xca,0xbe,0x8e,0xbd,0x1,0x4a,0xe5,0x3b,0x11,0xa1,0xf5,0x4c,0x7a, + 0x95,0x6e,0xef,0x1a,0xd8,0xf9,0xa1,0x37,0x2c,0xba,0x7d,0xcc,0x39,0x18,0xc0,0xfa, + 0xaf,0x3,0x5,0x6,0xd2,0x41,0x2b,0x8,0xad,0xc4,0x8,0xa4,0xa2,0x60,0x6,0xff, + 0x18,0x40,0x7a,0x4a,0x11,0x5d,0x1c,0x81,0x67,0x83,0xd1,0xde,0xb9,0xb6,0x51,0xd2, + 0x3d,0xd2,0xfa,0x38,0xf8,0x38,0x40,0xc5,0xe8,0x5c,0xf4,0xc2,0x8f,0x50,0x31,0x45, + 0x1d,0x84,0xf7,0x64,0x83,0x44,0xf5,0xc1,0x73,0x4b,0x83,0x7a,0x12,0x36,0x9d,0xd8, + 0x10,0x84,0xe0,0xbb,0xb5,0xf1,0xde,0x6b,0xba,0x1b,0x7a,0x18,0xd5,0x97,0x31,0x64, + 0xd,0xd6,0x38,0xe7,0xc9,0xa6,0x9c,0xd5,0x42,0x8e,0xe8,0xaa,0x31,0x46,0x5b,0xb2, + 0xd9,0x18,0xa3,0x40,0x3b,0xa2,0x6d,0x1d,0xc3,0xfe,0xee,0xa8,0x8d,0x15,0x8e,0xac, + 0x51,0x68,0x14,0xd,0x34,0x4e,0x44,0xd1,0xa5,0x25,0xdb,0x4c,0x34,0x56,0xd2,0x7c, + 0x3c,0x1a,0x46,0x6e,0x67,0x8c,0xb2,0xd6,0xd1,0xdd,0x16,0xc9,0x42,0x58,0xc7,0x2d, + 0x85,0x52,0x1e,0x2b,0x27,0xc9,0x8d,0xe,0x85,0xa2,0xb1,0x35,0x34,0xb9,0x60,0x1b, + 0x26,0x8e,0x8a,0x80,0xe7,0x28,0x14,0x66,0x56,0x82,0x11,0x85,0x80,0x68,0x3f,0x61, + 0x75,0x28,0xa4,0xa1,0x2a,0x9d,0x82,0x15,0x8c,0xab,0x14,0x90,0x31,0x80,0x13,0x7b, + 0x8a,0xbe,0x62,0xc7,0x1a,0x13,0x8b,0x89,0x2a,0xa5,0x68,0x56,0x11,0x73,0x15,0xa8, + 0x1b,0x61,0x45,0xd3,0x10,0x61,0x85,0xd,0xd3,0x43,0x8d,0x49,0x2d,0x1d,0x1d,0x30, + 0xc2,0x16,0x50,0xc0,0x3b,0x1d,0x15,0x6c,0xc8,0x78,0x4e,0x3a,0xbe,0x1b,0x95,0x84, + 0xa,0x20,0xe,0xda,0xd,0xed,0x91,0x7b,0x23,0xd9,0xb0,0xc1,0x2e,0xf0,0x4c,0x51, + 0xf4,0x2a,0xda,0x21,0xf,0xdc,0xd1,0x32,0xf0,0xec,0x21,0xaf,0x15,0x23,0x12,0x12, + 0x81,0xfc,0x19,0x69,0xf1,0x28,0xd6,0xb4,0x37,0x34,0xb4,0xd0,0x1a,0x88,0xb2,0xcd, + 0x79,0x15,0x25,0xd9,0xa2,0x84,0x22,0x97,0x74,0x73,0x74,0x2,0xbb,0x81,0x9b,0x39, + 0xad,0x84,0x68,0x1c,0x59,0xad,0xc1,0xca,0x1d,0x3b,0x57,0x0,0x63,0x45,0x9a,0x4e, + 0x70,0xd1,0x1a,0xcf,0x36,0x19,0x50,0x15,0xf3,0x14,0x91,0x96,0xd,0x39,0x5c,0xe3, + 0x86,0xfd,0x56,0x78,0x19,0x25,0xf6,0x10,0x3a,0xd6,0xc6,0x65,0x3f,0x1f,0x9f,0xf0, + 0xd4,0x27,0x39,0x98,0x83,0x88,0xa8,0x48,0xc3,0xf,0xed,0x60,0xe1,0xf,0xad,0xc3, + 0xa5,0xcd,0x76,0x5d,0xfc,0x91,0xb7,0xde,0x43,0xa0,0x8f,0x65,0x32,0x41,0x17,0x70, + 0x23,0x94,0xb5,0x2a,0x54,0x76,0x90,0x54,0xbe,0x5e,0xcc,0xf1,0x63,0x6a,0x2a,0xdb, + 0x2c,0x45,0x5a,0x5e,0xaf,0xd3,0xa7,0xe9,0xb2,0x58,0xe6,0x95,0xb5,0x79,0x70,0xde, + 0xa2,0xb1,0xfe,0xf8,0x4,0x99,0xb8,0xa3,0xf8,0xc4,0xd8,0x51,0x60,0xd3,0x47,0x70, + 0x76,0x94,0x2e,0xa8,0x12,0xc9,0xcf,0xc,0x1c,0x1,0x28,0x59,0x0,0x83,0x54,0xe, + 0xa3,0xe9,0x58,0x1,0xa2,0x93,0x1e,0xae,0x5c,0x46,0xa8,0x54,0x4a,0x68,0x45,0x56, + 0xab,0x28,0xa0,0x38,0x1a,0x9d,0x97,0x92,0x6d,0x4e,0x63,0xc1,0x6c,0x13,0x80,0x53, + 0x9b,0x32,0x92,0x8d,0xd4,0xb1,0x8c,0x31,0xb8,0x96,0x2e,0xa3,0xde,0x18,0x89,0x6, + 0x3,0xfc,0xe6,0x25,0xea,0x58,0xc7,0x51,0xa2,0x1,0xa6,0xa4,0x76,0xf0,0x1d,0xa5, + 0xd8,0x79,0x22,0x9a,0x99,0xfd,0xdd,0x3a,0xb8,0x50,0x46,0xa3,0x9,0x58,0x40,0xa0, + 0x71,0xb4,0xf3,0xc1,0x72,0x34,0x5a,0x6d,0x83,0x64,0xc6,0xc0,0xe2,0x83,0xda,0xc7, + 0x22,0x7b,0x3d,0xcf,0x3c,0x7a,0x3a,0xa4,0xa2,0x3e,0x9d,0x80,0x17,0x52,0x80,0x69, + 0xaa,0x73,0x99,0x5a,0x98,0x6e,0xd8,0x4,0x83,0x66,0x93,0xa6,0x23,0x2d,0x5f,0x46, + 0xa2,0xc6,0x62,0x63,0x3c,0x61,0x45,0xf0,0x83,0x44,0x10,0x4,0x64,0x8d,0x89,0xb, + 0x70,0x63,0xa2,0x3b,0xa3,0x95,0x21,0xe,0x6b,0x5b,0x23,0xb8,0xd8,0x82,0xce,0x6c, + 0x19,0x9f,0xa,0x68,0x53,0xd0,0xa,0xc4,0xa1,0xd,0x14,0x35,0x68,0x7,0xba,0x42, + 0x33,0xb,0xd5,0xa1,0xd8,0x84,0x6a,0x1f,0x18,0x51,0x10,0xd3,0x19,0x89,0xb4,0x65, + 0x70,0x52,0xbc,0x83,0xeb,0x11,0x40,0x70,0x65,0xf,0x88,0x24,0xd5,0xa4,0x8e,0x69, + 0x11,0x11,0x62,0x50,0xe0,0x6a,0x6a,0x7,0xe2,0x71,0x52,0x33,0xe4,0x2a,0xc8,0xb8, + 0xf,0x6d,0xb,0x84,0xcb,0x48,0x84,0x40,0xa3,0xe0,0xc,0xc0,0xd4,0x29,0xc3,0x16, + 0xab,0x9d,0xf5,0x34,0x3d,0xed,0x8c,0x12,0xfb,0x28,0x74,0xde,0x99,0x32,0x36,0x81, + 0x9e,0xf2,0x1c,0xb1,0x48,0x2f,0x11,0x3d,0xc2,0x6,0xf0,0x8d,0xe7,0xed,0x36,0x88, + 0x47,0xa9,0xd9,0xd9,0xa0,0x1a,0x3,0xad,0xe,0x4e,0x7,0xf6,0xf0,0x25,0x51,0xed, + 0x5d,0xb0,0xdf,0x8a,0xbd,0x93,0x56,0x28,0xe3,0x3a,0xd6,0xc6,0x5d,0x9f,0x8d,0x4d, + 0x26,0x73,0x60,0x72,0x56,0x6c,0xca,0x99,0x4b,0xdd,0xcd,0x17,0x8e,0xcd,0xdb,0x66, + 0xb6,0xdb,0xde,0x23,0x30,0x4d,0xd9,0x4d,0x29,0xe9,0x90,0xaf,0xa1,0xc6,0xbc,0x54, + 0xf6,0xfb,0xd6,0x12,0x5f,0x54,0x1,0xb5,0x74,0x10,0xfa,0x18,0x99,0xde,0x7c,0xde, + 0x9d,0x55,0x75,0x7f,0xf7,0x64,0xfd,0xac,0x81,0x4f,0x2c,0x89,0x12,0x24,0x12,0x98, + 0x34,0x23,0x2c,0xe,0xf9,0xd6,0x22,0x92,0xbf,0xef,0xdc,0xf6,0xfc,0xec,0xe,0xe7, + 0x77,0x62,0x18,0x4f,0xc9,0xd5,0x7a,0x4f,0xac,0xa5,0xc0,0x5a,0xc8,0xf2,0xdd,0x51, + 0xce,0x5c,0x43,0xd,0xa0,0x71,0x7,0xf6,0x97,0xa6,0x79,0x3c,0xd1,0xaa,0x2f,0x19, + 0xe,0xc7,0xe8,0x93,0x6b,0x90,0x65,0xa4,0x86,0x7c,0x50,0xa4,0xd0,0xbc,0xc5,0x0, + 0x72,0xc4,0xbf,0x48,0x6f,0xe5,0xa8,0xbc,0xc,0x7a,0x72,0x48,0x4d,0x36,0x5a,0xe5, + 0xc0,0x5d,0x1a,0x81,0xad,0x84,0x89,0xea,0x70,0xad,0xbd,0xd3,0x3d,0x91,0x87,0x9a, + 0x80,0x31,0xd0,0x31,0x48,0x9f,0xf6,0x60,0x5d,0x47,0x49,0xe5,0x60,0x8c,0x26,0x98, + 0x5e,0x9f,0x4,0x1d,0x36,0x4f,0x47,0x57,0x35,0x1b,0x53,0x25,0xff,0x5f,0xc5,0x7c, + 0x39,0xe5,0x88,0xbb,0x3c,0xfc,0xc8,0x5a,0x3e,0xa2,0x99,0x3e,0xb7,0xd0,0xe3,0x35, + 0x71,0x66,0x34,0xb2,0x94,0xa3,0x86,0x61,0xc7,0xfe,0xa1,0x9c,0xa3,0x9c,0x63,0x4, + 0x13,0x65,0xc,0xd8,0x18,0xe0,0x6e,0xd,0x89,0x1b,0x4d,0x74,0x2d,0x82,0xf3,0xb4, + 0x5b,0x1e,0xf5,0xaf,0x6,0x5d,0x69,0x50,0x2a,0x88,0x43,0xc7,0xca,0x28,0x5,0xc9, + 0x20,0xed,0xd0,0xb1,0x82,0xf4,0x6a,0x9b,0x35,0x6b,0x5a,0x47,0x42,0x1d,0xdc,0xee, + 0x82,0x8a,0x48,0x65,0x9a,0x12,0x18,0xc4,0x6a,0xe4,0x29,0x44,0x5,0xc7,0x10,0xc4, + 0x8d,0x64,0x7,0xc9,0x82,0xc1,0xc7,0xc4,0xd5,0x1a,0x53,0x73,0x5d,0xb3,0x26,0x61, + 0x4,0xe5,0x4a,0x79,0x41,0x43,0xcf,0x28,0x6f,0xca,0xe8,0xa3,0x3c,0x83,0x24,0x32, + 0x80,0xd7,0x44,0xc8,0xea,0xd2,0x48,0xc7,0x14,0x24,0xa2,0x15,0x26,0xac,0x90,0xe2, + 0x75,0x6d,0x34,0xa4,0x83,0x51,0x2e,0xa,0x6b,0x94,0x6e,0x99,0xe3,0x80,0xe,0xd7, + 0x35,0xd2,0x84,0x2f,0x7b,0xb5,0x91,0x72,0x1d,0xa4,0x93,0x82,0xba,0x64,0x9b,0x30, + 0x4e,0x21,0x3,0x94,0x82,0x6a,0x6f,0x5,0x1f,0x43,0xae,0x3b,0x9e,0x96,0x2a,0x1f, + 0x6b,0x78,0x5a,0xb1,0x82,0x26,0x85,0xa6,0x33,0xa5,0x14,0x45,0xc5,0x42,0xc6,0xe0, + 0x91,0x93,0x43,0x99,0xb0,0xbc,0x47,0x76,0x31,0x95,0xd1,0x2b,0xca,0x3a,0xc8,0x6d, + 0xa,0x85,0x8b,0xeb,0x98,0xa9,0x5e,0x50,0x5a,0x45,0x32,0x1a,0xe4,0x6d,0xcb,0x89, + 0x8c,0x45,0x3b,0x10,0xe9,0x6c,0x25,0xb,0x1a,0x7a,0x2f,0x5,0xb9,0x75,0x6c,0x13, + 0x4f,0xca,0x57,0x84,0x52,0xa7,0x4a,0x8,0x51,0xaf,0xa8,0x36,0xd2,0x32,0xf8,0x20, + 0xcd,0x40,0x1,0x69,0x2d,0x10,0x74,0xa3,0x71,0x20,0x8d,0x0,0x7a,0x61,0xc0,0xc, + 0x1d,0xf9,0x2a,0x32,0x5a,0x8b,0xae,0x90,0xda,0x81,0x38,0xcb,0x12,0xea,0x16,0x19, + 0x94,0xc6,0xd5,0xb4,0xe9,0xa8,0xb1,0xb8,0xf4,0xc2,0x6a,0x90,0x4d,0xa5,0x93,0xe4, + 0x4a,0x50,0xe,0x92,0x30,0xb4,0xb4,0x4,0x88,0x1,0xd2,0x59,0xfd,0x9e,0xf7,0xb9, + 0xc7,0x51,0x6b,0x65,0xd7,0x7e,0x4a,0xd3,0x8a,0xcd,0xba,0x7e,0x47,0xe1,0x49,0x55, + 0xef,0xe6,0x6a,0x98,0x6d,0xb2,0x2c,0xfb,0x9c,0xf1,0x8f,0x2c,0x6b,0x25,0xa6,0x7d, + 0x94,0x4f,0x6e,0xcf,0x23,0x34,0x64,0xc5,0x33,0x9,0xcd,0x88,0x12,0x36,0x41,0xcf, + 0x26,0x50,0x11,0xd1,0xd6,0x54,0xbf,0xb5,0xaf,0x93,0x2c,0xc4,0x52,0x21,0x88,0x0, + 0x2b,0x7c,0xb,0x25,0xc5,0x59,0x94,0x76,0x36,0x53,0xf5,0xa1,0xc1,0x40,0x94,0xff, + 0xb2,0xe7,0x0,0x6e,0xd7,0xe1,0xcd,0x17,0x13,0x85,0xa4,0x78,0x86,0xc4,0x62,0xb1, + 0x1c,0x75,0x29,0xe3,0xe8,0x39,0x96,0xa3,0x5a,0x7,0xa9,0xf,0xd5,0xa8,0x80,0xb3, + 0x40,0x9e,0xc1,0x5b,0x85,0x24,0x71,0xe8,0x51,0x6d,0x3a,0x6d,0x6,0x48,0x87,0x0, + 0x2,0x4a,0x71,0x44,0xe2,0xd,0x99,0x9e,0xc2,0x38,0x51,0xa8,0x3a,0xc9,0x26,0x5, + 0x17,0x66,0x5c,0x8,0xeb,0x4,0x5,0xa4,0xb,0x92,0xad,0x2c,0x5b,0xe5,0xc0,0xf2, + 0xd3,0x54,0xab,0x59,0xc9,0x59,0x2a,0xe6,0xe2,0xc0,0xd5,0x3d,0x36,0xb6,0x8f,0x18, + 0xdb,0xc3,0xf9,0xba,0xd6,0x80,0x6e,0x6c,0x80,0x4a,0xe0,0x32,0x9a,0x5e,0x2c,0x9, + 0x3,0x2a,0x15,0xbd,0xa8,0xc6,0xa6,0xa0,0xa5,0x38,0x69,0xac,0xd0,0xa0,0x7b,0x9d, + 0x4a,0xa5,0x19,0x7c,0x3c,0x8c,0x48,0x9e,0x2a,0x27,0x15,0x89,0x71,0xa8,0x45,0x48, + 0x56,0x98,0xc,0xc1,0x40,0xc0,0x28,0x5b,0x7d,0x62,0x6d,0x6b,0x7c,0x44,0x44,0xee, + 0x4d,0x10,0xb5,0xc4,0x2,0x7c,0xe,0xc1,0xdd,0x18,0x85,0x6a,0x8f,0x22,0xd,0x34, + 0x17,0x83,0x62,0xc5,0xeb,0x18,0x93,0xc6,0x86,0x79,0x49,0x67,0x25,0x63,0x2,0xe, + 0xd2,0x3e,0x2a,0x96,0x98,0xc1,0x47,0x5a,0x80,0xa2,0x1a,0x5,0x21,0x29,0x4b,0x5d, + 0xae,0x69,0xa1,0xa,0x55,0x33,0x28,0x21,0xa8,0x96,0xed,0x23,0xc5,0x2e,0x8a,0x10, + 0xa3,0x7c,0xbb,0x25,0xa2,0xb8,0xac,0x46,0x49,0x2d,0x7b,0xc2,0x58,0x81,0xd9,0x1, + 0x57,0x59,0xde,0x80,0xb7,0x1d,0x23,0x82,0x86,0x4,0xe,0xac,0x7e,0x3f,0x47,0xa6, + 0x49,0x83,0x7b,0x91,0x92,0x2d,0xa2,0x96,0xfc,0x97,0x56,0x17,0x50,0xde,0x38,0x12, + 0xb1,0x2e,0x52,0x61,0x6d,0x7b,0xdc,0xa5,0x2f,0xb2,0x5f,0x99,0x56,0x2d,0xbc,0xe1, + 0x28,0xad,0x2a,0xfb,0x67,0x64,0x54,0x79,0xc4,0x25,0xaf,0x88,0xc4,0x17,0x62,0xf0, + 0x64,0xb2,0x86,0xd7,0xa3,0xf2,0xa1,0x1c,0x47,0x5,0x1e,0x2a,0x9a,0xa8,0x4b,0xaf, + 0xf,0xec,0x9b,0x2d,0x2b,0x36,0xe,0x7b,0xad,0xcb,0x9a,0x4f,0xa,0x14,0x8d,0xe4, + 0xde,0x74,0x26,0x4d,0x81,0x0,0x92,0x87,0xd8,0x77,0xa5,0xcf,0x57,0x46,0xca,0x24, + 0xf0,0x7e,0x72,0x9a,0x80,0xfc,0xa7,0x65,0x94,0x5c,0xf6,0x81,0xa4,0x91,0xc,0x79, + 0x94,0x8,0x36,0xe3,0x72,0x8a,0x8e,0x84,0x42,0x7b,0x3a,0xb5,0xd,0xca,0x1,0x43, + 0x5b,0xd3,0xb5,0x22,0x33,0xd1,0x89,0x9c,0xe7,0x82,0xa,0x4e,0x23,0x23,0xc5,0x3f, + 0x19,0x3c,0x7b,0xa1,0x1,0xfb,0x9b,0x92,0x14,0x2a,0x23,0x45,0x1e,0xca,0xf0,0x50, + 0x92,0x82,0x3,0xbd,0x94,0x15,0xac,0xd,0x10,0x84,0x91,0x47,0x41,0x26,0x74,0xb6, + 0xb5,0xe8,0x3e,0x78,0xbe,0xb0,0xd7,0x59,0xf,0x71,0x84,0x62,0xf7,0x6b,0x71,0x3d, + 0x7f,0xca,0xf5,0x88,0x5d,0xb0,0x2f,0x9a,0xcf,0xf4,0x22,0x6a,0x6,0x57,0xb3,0xb, + 0xd4,0x49,0xdb,0x4a,0xec,0x62,0xc0,0x33,0x7e,0x54,0xbe,0x14,0x19,0xa0,0x83,0x40, + 0x2f,0x92,0xfe,0xf2,0xb6,0x3c,0xec,0x22,0x91,0xc5,0x65,0x6e,0x63,0x5,0x3f,0x82, + 0xd0,0x4a,0xc5,0x14,0x88,0xa7,0x64,0x49,0xe2,0x2,0xa,0x13,0x12,0x82,0xc7,0x81, + 0x3f,0xba,0xb2,0x98,0x17,0x40,0xbc,0x3d,0xa3,0xda,0xc6,0xf4,0x64,0xa1,0x56,0x3b, + 0x56,0x10,0x28,0xf4,0xab,0x94,0x7c,0x4e,0x27,0x20,0x86,0x9d,0x23,0xaa,0x25,0xb5, + 0x65,0xf9,0x8c,0xf,0x6e,0x23,0xa5,0x2b,0x9,0xb8,0xb2,0xca,0x24,0x10,0xcd,0x99, + 0x3d,0x1,0x43,0x5a,0x3a,0x3e,0x95,0x21,0x1d,0x6b,0x6c,0x39,0x8e,0x57,0xda,0xb7, + 0x57,0xde,0x83,0xd1,0xff,0xfb,0xdf,0x45,0xfe,0x17,0x4f,0x53,0x1f,0xf2,0xaf,0x42, + 0x66,0x61,0x6,0xb1,0xc8,0xf3,0x81,0x89,0x4a,0x38,0x48,0x29,0xa5,0x5b,0xd6,0x80, + 0x42,0x52,0xdb,0x28,0x78,0x67,0x3d,0xff,0xed,0x5a,0xc4,0xfe,0x45,0xd4,0x5d,0xec, + 0x68,0x52,0xc7,0xc0,0xc7,0xcc,0x48,0x79,0xce,0x18,0xec,0xeb,0x88,0xf4,0x2f,0x48, + 0x90,0x1d,0x28,0xd0,0x5e,0x43,0xbc,0x53,0xce,0x3,0x69,0x21,0xa1,0x9a,0x1,0x29, + 0x65,0x48,0x61,0xe1,0x46,0xe4,0xdb,0x86,0x8e,0x69,0x30,0x21,0xf,0x3f,0x13,0xbe, + 0x65,0xfa,0x48,0x7f,0x2e,0x7,0xdf,0xee,0x18,0x29,0x5d,0xa2,0xda,0x83,0x53,0xa0, + 0x17,0x1f,0xe9,0x28,0x9e,0x8,0x4d,0x19,0x45,0xc7,0xeb,0x28,0x45,0x34,0x14,0x8b, + 0x29,0xc9,0xcf,0xd0,0x69,0x16,0xd1,0x1c,0xe5,0x60,0x43,0x82,0x9a,0xe8,0x54,0xb0, + 0xd4,0xe1,0x47,0x3,0x70,0xb8,0x0,0xf1,0x6c,0x13,0xd0,0x7d,0xf4,0x7b,0x3a,0x2d, + 0x97,0xdd,0x7,0xd0,0x7b,0x39,0x5f,0xdb,0x43,0xbe,0x52,0xcf,0x73,0xc7,0x3a,0xbf, + 0x61,0x3e,0xa7,0xe1,0x50,0x71,0xcf,0x1e,0x35,0xcf,0x80,0xf6,0x20,0xc7,0x5a,0x56, + 0xe2,0x19,0x48,0xc3,0xb0,0x3f,0xe,0xf6,0x9a,0x69,0x6,0x1b,0x4a,0xa7,0x5c,0xb0, + 0x9,0xd,0xcc,0x7c,0x49,0x33,0x28,0x78,0x10,0xd1,0xe4,0x79,0xde,0x23,0x47,0xfa, + 0x92,0x66,0x24,0xf1,0x94,0x19,0xd1,0x13,0x4,0x47,0x6c,0x4c,0xc3,0xc8,0x10,0xe0, + 0xaf,0x24,0x26,0x8d,0x84,0x57,0x7b,0x9a,0x90,0xf5,0x24,0x64,0x5b,0x36,0xdc,0xed, + 0x50,0xea,0x72,0x9d,0xd8,0x6a,0xe9,0x59,0x98,0xb1,0x56,0x45,0xcd,0x86,0xe2,0xd0, + 0x33,0x3d,0x47,0x94,0x65,0x1,0x63,0x1b,0x2c,0x40,0x94,0x33,0xa2,0x94,0x1f,0xb4, + 0x67,0x1d,0x80,0x48,0x50,0x7c,0x6c,0xd,0xab,0xc2,0x2a,0x5c,0x79,0xc0,0xad,0xe8, + 0x6c,0xd3,0xd3,0x19,0x29,0x7c,0xb0,0xbd,0xec,0x1e,0x80,0xbe,0x5e,0xcf,0x3b,0x28, + 0x1d,0x3b,0x1f,0x5b,0x1f,0xea,0x5f,0x9b,0x5f,0xba,0xcf,0x3c,0x25,0x3c,0xe0,0x6d, + 0xcf,0x3c,0x8d,0xd7,0x52,0x23,0x1,0x95,0xcf,0x3c,0xe9,0x9,0x1f,0x78,0x6f,0xa4, + 0x48,0xb1,0x21,0xeb,0x62,0x87,0x40,0x17,0x28,0x11,0xb4,0x7c,0xf6,0x71,0x67,0x2b, + 0xc1,0xb8,0xcc,0x1f,0x24,0x18,0xd,0x52,0xd1,0x28,0xc7,0x44,0xe7,0xb4,0xa,0x33, + 0x9d,0xae,0x8b,0xdd,0x72,0xf6,0x96,0xb3,0xe2,0xbe,0x93,0xe2,0x3d,0x30,0xa6,0x7d, + 0x22,0xdb,0xbb,0x72,0x64,0xe6,0xa8,0xaa,0x85,0x97,0x1f,0xc6,0x14,0x0,0x36,0xc8, + 0xb2,0x2,0x7,0xd1,0xb6,0xab,0xea,0x4b,0xd7,0x8d,0xd0,0x88,0xf4,0xf7,0xc9,0x4d, + 0xc2,0x7d,0xf7,0x75,0xf7,0x30,0x58,0xdf,0x2c,0x3b,0x61,0x41,0x67,0xa4,0xa5,0x65, + 0xbd,0x5b,0xe4,0xd3,0xfc,0x53,0xe,0x96,0x9b,0xbd,0xc7,0x4a,0xde,0x1a,0x43,0x7d, + 0x7f,0xd8,0xba,0xe7,0x4f,0xca,0x89,0x2,0x34,0x64,0x51,0x30,0xd2,0x9,0x1d,0xd4, + 0x1f,0x11,0xe,0x88,0x44,0x92,0x80,0x1f,0x61,0xdf,0x28,0xad,0x75,0x95,0x67,0x45, + 0xcc,0x70,0x70,0xd5,0xb9,0xd0,0xcf,0xef,0x9d,0x28,0xfd,0x3f,0x86,0xab,0xac,0x11, + 0xec,0xc0,0x5a,0x81,0x7d,0x12,0x57,0x73,0x19,0xae,0x87,0x84,0xc6,0x3f,0x3e,0xd0, + 0xab,0x2b,0x3f,0x7e,0xf3,0x3f,0x96,0x4f,0xcb,0xcf, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_hold.svg + 0x0,0x0,0x10,0xac, + 0x0, + 0x0,0x42,0xcb,0x78,0x9c,0xed,0x5b,0xdf,0x73,0xdb,0xc6,0x11,0x7e,0xf7,0x5f,0x81, + 0x32,0x2f,0xf1,0x54,0x4,0xef,0x6e,0xef,0xa7,0x22,0xb9,0xf,0xce,0xa4,0x93,0x19, + 0x77,0xda,0x69,0x92,0xe9,0x63,0x6,0x22,0x21,0x89,0x35,0x45,0xb0,0x24,0x64,0x49, + 0xfe,0xeb,0xfb,0xed,0x81,0x0,0x1,0x12,0xa2,0x48,0x49,0x8e,0x33,0x69,0x65,0x7b, + 0x44,0x2e,0xe,0xb7,0xb7,0x7b,0xbb,0xdf,0x7e,0x7b,0x80,0xcf,0xfe,0x72,0x7f,0x33, + 0x4b,0x3e,0xe5,0xcb,0xd5,0xb4,0x98,0x9f,0xf,0x64,0x2a,0x6,0x49,0x3e,0x1f,0x17, + 0x93,0xe9,0xfc,0xea,0x7c,0xf0,0xcb,0xcf,0x3f,0xc,0xfd,0x20,0x59,0x95,0xd9,0x7c, + 0x92,0xcd,0x8a,0x79,0x7e,0x3e,0x98,0x17,0x83,0xbf,0xbc,0x7b,0x73,0xf6,0xa7,0xe1, + 0x30,0x79,0xbf,0xcc,0xb3,0x32,0x9f,0x24,0x77,0xd3,0xf2,0x3a,0xf9,0x71,0xfe,0x71, + 0x35,0xce,0x16,0x79,0xf2,0xed,0x75,0x59,0x2e,0x4e,0x47,0xa3,0xbb,0xbb,0xbb,0x74, + 0xba,0x16,0xa6,0xc5,0xf2,0x6a,0xf4,0x36,0x19,0xe,0x71,0xe7,0xea,0xd3,0xd5,0x9b, + 0x24,0x49,0xa0,0x76,0xbe,0x3a,0x9d,0x8c,0xcf,0x7,0xeb,0xf1,0x8b,0xdb,0xe5,0x2c, + 0x8e,0x9b,0x8c,0x47,0xf9,0x2c,0xbf,0xc9,0xe7,0xe5,0x6a,0x24,0x53,0x39,0x1a,0x6c, + 0x86,0x8f,0x37,0xc3,0xc7,0xac,0x7c,0xfa,0x29,0x1f,0x17,0x37,0x37,0xc5,0x7c,0x15, + 0xef,0x9c,0xaf,0xbe,0x69,0xd,0x5e,0x4e,0x2e,0x9b,0xd1,0xbc,0x98,0x3b,0x8a,0x83, + 0x64,0x8,0x61,0x24,0xd4,0x48,0xa9,0x21,0x46,0xc,0x57,0xf,0xf3,0x32,0xbb,0x1f, + 0x76,0x6f,0xc5,0x1a,0xfb,0x6e,0x55,0x42,0x88,0x11,0xae,0x6d,0x46,0x1e,0x36,0xea, + 0xf4,0x7e,0x6,0x4f,0x3c,0xba,0x98,0x78,0xb5,0xad,0x1d,0xde,0x5f,0xe0,0x5f,0x73, + 0x43,0x2d,0x48,0x57,0xc5,0xed,0x72,0x9c,0x5f,0xe2,0xce,0x3c,0x9d,0xe7,0xe5,0xe8, + 0xfb,0x9f,0xbf,0x6f,0x2e,0xe,0x45,0x3a,0x29,0x27,0xad,0x69,0x6a,0xe7,0x77,0xf4, + 0x76,0x76,0x64,0x9e,0xdd,0xe4,0xab,0x45,0x36,0xce,0x57,0xa3,0x5a,0x1e,0xef,0xbf, + 0x9b,0x4e,0xca,0x6b,0x4,0x83,0x8d,0xdf,0xae,0xf3,0xe9,0xd5,0x75,0xd9,0x7c,0x9d, + 0x4e,0xce,0x7,0xb0,0x4e,0xc5,0x2f,0xb5,0xf2,0xd3,0x26,0x82,0x44,0x4a,0xd5,0xa5, + 0x7a,0xc6,0xf6,0x25,0x5d,0x4d,0xd1,0x9,0xb7,0xce,0x34,0x93,0x62,0x7c,0x91,0xad, + 0xb0,0xe4,0xd1,0x75,0x71,0x93,0xf,0x67,0xc5,0x38,0x9b,0x8d,0x16,0xb3,0x8b,0x3c, + 0xbb,0x9d,0x14,0xd3,0xf9,0xe8,0xa7,0x1f,0x3e,0xfc,0xe3,0x1a,0x71,0x38,0x5a,0x5d, + 0xce,0x16,0x9d,0xf,0xc3,0xab,0xf2,0xe3,0x68,0x31,0xbd,0xbf,0xc9,0x16,0xab,0x9d, + 0x39,0xd9,0xd0,0xf3,0xc1,0x74,0x5c,0xcc,0x7f,0xbd,0x2e,0x66,0x93,0xb4,0xde,0x9d, + 0x66,0x8d,0xc5,0x6d,0xb9,0xb8,0x2d,0x7f,0xcd,0xef,0xcb,0x7c,0x5e,0x2d,0xd,0xfe, + 0x69,0x39,0x2b,0x5e,0xe6,0xdb,0x1a,0xd9,0xe0,0x1d,0x26,0x38,0x9b,0xe4,0x97,0x2b, + 0x9e,0xa8,0x72,0xb,0x7f,0xd3,0xf1,0x2,0x2e,0x61,0x53,0xf3,0x6c,0xf9,0xd7,0x65, + 0x36,0x99,0x22,0x94,0xab,0x41,0x2d,0x8d,0xe3,0x62,0x36,0xcb,0xc7,0x70,0x6b,0x36, + 0xbb,0xcb,0x1e,0xaa,0x25,0xd7,0xf3,0x74,0x6f,0x55,0x46,0x88,0xf5,0xa4,0x98,0x76, + 0x55,0x16,0x8b,0x7a,0x2c,0x8c,0x2c,0x1f,0x66,0xb0,0x8c,0x85,0x43,0xcc,0x58,0x2c, + 0x4f,0xbf,0xf1,0x82,0x7f,0xbe,0x8b,0xa2,0x2,0x9b,0x3b,0x2d,0x1f,0x4e,0xe5,0x77, + 0x83,0xcd,0x3d,0xc5,0xe5,0xe5,0x2a,0x87,0x62,0xd1,0x92,0xc5,0x4d,0xc5,0x1d,0xd0, + 0xa5,0x6,0xc9,0xe8,0x65,0xda,0x44,0x9f,0x36,0xd9,0xaf,0x4d,0x37,0xda,0xce,0x46, + 0x5d,0xb3,0x5f,0xe6,0xc6,0x98,0x53,0xa7,0xd7,0xcb,0x1c,0x18,0xf0,0x4d,0x8f,0x3f, + 0xf7,0xba,0xdb,0x6e,0xa6,0x91,0xe7,0x3,0x9d,0x6,0x2d,0x82,0xd3,0xae,0x91,0x3e, + 0x48,0xce,0x86,0xd4,0x28,0x6f,0x8d,0xda,0x8c,0x55,0xe7,0x3,0x9b,0x2a,0x11,0x94, + 0x90,0xb4,0x19,0xb,0xe9,0x90,0x90,0x14,0x5e,0x79,0xb3,0x99,0xe2,0x6a,0xad,0xed, + 0x97,0xf9,0xb4,0x4,0x8a,0xdc,0xae,0xf2,0xe5,0x4f,0x9c,0x89,0x7f,0x9f,0xff,0xb2, + 0xca,0x37,0x3e,0x79,0xbd,0x20,0xd2,0x44,0x47,0x4,0x91,0x10,0xfe,0x5,0x41,0xa4, + 0xc9,0x1c,0x15,0x44,0x7d,0xda,0xe,0xf,0x22,0x4d,0xee,0x2b,0x4,0x11,0xfb,0x73, + 0xaf,0xbb,0x43,0x27,0x88,0x54,0x1a,0xac,0x71,0xc6,0x74,0x62,0x8,0x90,0xd,0xc3, + 0xbd,0xf6,0x46,0x77,0xa2,0x88,0x54,0x6a,0x9c,0x57,0xca,0x77,0xa2,0x8,0x11,0xe7, + 0x28,0xe0,0xcf,0xb1,0x41,0xd4,0xd8,0xb9,0x0,0xee,0x2e,0x60,0x28,0xca,0x66,0x3d, + 0x45,0x83,0x92,0xe5,0x3,0x57,0x8a,0xee,0x50,0x9a,0xc,0x76,0x7c,0xf5,0x69,0xf1, + 0xeb,0x3d,0xb6,0x3d,0x39,0x4d,0x3c,0xfe,0xc9,0xde,0x1,0xf,0xd5,0x0,0x89,0x4d, + 0xc5,0x2f,0xd1,0x3b,0xe6,0x33,0x1b,0xf4,0xf8,0x2c,0x6b,0xfd,0xc3,0x62,0x39,0xbd, + 0x9a,0x2,0x8e,0x79,0x98,0x49,0xa9,0xfa,0xe9,0xde,0x2,0xe7,0xb7,0xc,0xd3,0xca, + 0xd3,0x93,0xf9,0xb3,0xb3,0x5f,0x44,0xee,0x18,0x8c,0x9d,0x38,0xfe,0xf3,0xcc,0xf4, + 0x80,0xae,0xe3,0x30,0xd6,0x8d,0xf9,0xcf,0x1,0xda,0xfa,0xd2,0x3,0xda,0x9e,0x8b, + 0xb1,0x3d,0x5e,0xb2,0xea,0x28,0x10,0x79,0x41,0x25,0x82,0x2e,0x7d,0x94,0x97,0x2e, + 0xe3,0xcf,0xb3,0xbd,0x64,0xed,0x6b,0x79,0x49,0xb,0x6d,0x8e,0xf0,0x52,0xdf,0xba, + 0xc5,0x81,0x4e,0x82,0x2a,0x77,0x9c,0x93,0xc6,0x97,0x17,0xe3,0x8b,0x2d,0x27,0x1d, + 0xe8,0x23,0x28,0xb,0xaf,0xe6,0x23,0x65,0xc3,0x11,0x3e,0x92,0x93,0x8b,0xe7,0x47, + 0x92,0x56,0x4e,0x1e,0xe5,0xa4,0x3e,0x6d,0x7,0x97,0x23,0x68,0xa3,0x57,0xf3,0x92, + 0xf4,0x8f,0x16,0xed,0x46,0x9f,0xf4,0xe6,0x9,0x47,0x1c,0xee,0xd0,0x47,0xbd,0xd4, + 0xd2,0xe6,0x9e,0x70,0x44,0x1f,0x10,0x5c,0x9a,0xcb,0x3d,0xda,0x5e,0xec,0x25,0xeb, + 0x8e,0xe5,0xc7,0xf9,0x73,0x63,0x49,0xda,0x70,0x54,0x2c,0xb1,0x9b,0xa5,0x7e,0x6e, + 0x2c,0xc9,0x56,0xe4,0x1e,0xe5,0xa5,0xc8,0x17,0x28,0x5,0x15,0x15,0x86,0x3a,0xdc, + 0xc2,0xa6,0x9e,0x9c,0xf7,0x61,0x8b,0xcd,0xaa,0xd4,0x2a,0x13,0x44,0x8b,0xcd,0x46, + 0xd2,0x22,0xac,0xc1,0x8e,0xef,0xd2,0xd6,0x9f,0x97,0xd9,0x7c,0x85,0x3e,0xf4,0xe6, + 0x7c,0x70,0x93,0x95,0xcb,0xe9,0xfd,0xb7,0x43,0x79,0x22,0xf0,0x47,0x9e,0x80,0xbc, + 0x8,0x84,0x89,0x3f,0x19,0xaa,0xd4,0x5b,0xed,0xe8,0xed,0x81,0x7c,0xe5,0xf1,0x1d, + 0x96,0xe4,0x37,0x54,0x68,0xf,0x29,0x8b,0xa8,0xf2,0x24,0xbb,0x7b,0x82,0x1c,0xf4, + 0x98,0x58,0xf2,0xc7,0x59,0x56,0xe6,0xdf,0xa2,0x85,0x55,0x56,0x9a,0x68,0x9c,0xb3, + 0x4a,0x92,0x3d,0xd6,0xba,0x2f,0xb5,0x33,0xbd,0x5e,0xb3,0xbf,0xb9,0xd7,0xe,0x30, + 0x5e,0x80,0xdc,0x5a,0xa7,0x64,0xc7,0x78,0xa9,0x53,0x74,0x4d,0x96,0x7c,0xc7,0x78, + 0x38,0x59,0x28,0xef,0x6d,0xb7,0x21,0x93,0x26,0x45,0x5c,0x29,0xb9,0x8f,0x80,0xc3, + 0x78,0x7d,0x90,0xf1,0xc,0xb1,0x5f,0x34,0x64,0x40,0xf2,0x83,0x76,0x42,0x22,0x66, + 0x40,0xf7,0xbd,0x91,0xc1,0x3f,0x2b,0x66,0xd0,0x13,0x90,0x71,0xd2,0x74,0xdc,0x46, + 0x32,0x25,0xc0,0x9f,0xdf,0xe,0x99,0xed,0xa1,0xec,0x4b,0x9d,0x52,0x70,0x46,0x98, + 0xfd,0x5e,0x53,0xbf,0xf,0xaf,0xc9,0x54,0x59,0xc4,0xa5,0x3c,0x19,0xca,0x14,0x7d, + 0x84,0x33,0xea,0x99,0x4e,0xf3,0xca,0xf8,0xd0,0x4d,0x34,0x87,0xec,0x23,0xfc,0x35, + 0xdb,0x5e,0xdb,0x1e,0x2b,0xe3,0x9,0x95,0xd0,0x88,0x36,0xbb,0xdf,0x6b,0xe2,0x37, + 0xf3,0x5a,0x9f,0x7a,0xa7,0x9f,0x62,0x9,0x18,0xb3,0xb1,0xe0,0x60,0x96,0xf0,0x48, + 0xa9,0x7c,0x92,0x25,0x40,0x9b,0xef,0xd1,0xf6,0x4,0x4b,0x78,0xa4,0x54,0xbe,0x12, + 0x4b,0x0,0xb8,0xf8,0x23,0x58,0x82,0xb2,0x2f,0x60,0x9c,0x92,0xbb,0xc9,0xa3,0x18, + 0xa7,0xee,0x25,0x48,0x87,0xb1,0x4,0xd9,0xee,0x27,0x5f,0xee,0xa5,0x47,0x3b,0xbc, + 0x8d,0x3e,0xab,0x8f,0x8f,0xa5,0x47,0x1c,0x7a,0x40,0x2c,0xd9,0xbe,0xc8,0x7d,0x22, + 0x96,0xfa,0xb4,0x3d,0x3b,0x96,0x5e,0x70,0x4c,0xd4,0x4d,0xf9,0x5d,0x77,0xeb,0xd6, + 0x59,0xe3,0x61,0xb0,0xd6,0x5f,0x0,0x1f,0x29,0x96,0xfd,0x85,0xb5,0x53,0x84,0x5f, + 0x7a,0xd4,0xf8,0x22,0xe3,0xfd,0x91,0xc6,0x3f,0xbb,0x64,0x44,0xaf,0xb1,0xcd,0x3a, + 0xd0,0x36,0xea,0x4b,0x69,0x8c,0x9,0x1d,0xa7,0xa1,0x52,0x5b,0x8f,0xc1,0x8a,0x54, + 0xd7,0x6d,0xcd,0xe8,0xaf,0xe9,0x36,0x29,0x5e,0xd3,0x6d,0x7b,0xf9,0x9,0xfb,0xd, + 0x1c,0xc3,0x6,0x15,0xec,0x16,0xc9,0x60,0x77,0x6b,0x25,0xbb,0xd1,0xa6,0x8,0x53, + 0x20,0x6,0x4d,0xd7,0x6d,0x94,0x92,0x31,0xa4,0xbe,0xa8,0xd7,0x3a,0x2c,0xb6,0xcf, + 0x6b,0xea,0x35,0xbd,0xb6,0xaf,0x11,0x60,0xa7,0xb9,0x14,0x9e,0xe4,0x0,0xea,0x3a, + 0xcd,0xa4,0x41,0xaa,0x4e,0x37,0x13,0xf9,0x88,0x94,0x52,0x7b,0x2d,0xbb,0x4e,0x93, + 0xa9,0x9,0x8e,0x94,0xf9,0xba,0x5e,0xd3,0x2f,0xf7,0xda,0x11,0x1d,0x62,0x7f,0x6f, + 0xf3,0x48,0x1f,0xd4,0xdf,0x33,0x75,0xfa,0xab,0x2f,0xe8,0xba,0x27,0x1e,0x23,0x11, + 0xa9,0xe7,0x40,0xfb,0xab,0x3e,0x6c,0xfa,0x9a,0xd6,0xd3,0xb1,0xd8,0xfe,0x87,0xb2, + 0x5e,0x1f,0xb,0xd1,0x7f,0x2c,0xeb,0x8f,0x85,0xda,0x2f,0x64,0xfd,0xd9,0x88,0x9f, + 0xc8,0xc7,0x4f,0xcd,0x73,0x2e,0x7e,0x15,0x60,0xf2,0x69,0x9a,0xdf,0xbd,0x69,0x96, + 0xcf,0x6f,0x1c,0xac,0x27,0x5a,0x64,0x57,0x79,0xa4,0x90,0x30,0xba,0x3a,0x98,0x5f, + 0x5f,0xb8,0x28,0x96,0x93,0x7c,0x59,0x5f,0xb2,0xf1,0xa7,0x73,0x69,0xcd,0x32,0x37, + 0xef,0x34,0xb4,0x1f,0x66,0x61,0xd6,0xe6,0xba,0xe8,0xbf,0xbe,0xba,0xce,0x26,0xc5, + 0x1d,0xd0,0x6f,0xfb,0xe2,0xe7,0xa2,0xb8,0x89,0xd5,0x80,0xb8,0xad,0xf0,0xdb,0x97, + 0xc7,0xf7,0xb8,0x7,0x74,0x5,0xd,0xbf,0x8,0x3b,0x17,0xa1,0x8f,0x52,0x69,0x2d, + 0xc8,0xb0,0xdb,0xbe,0x38,0x29,0xc6,0xb7,0xfc,0x96,0xcd,0xf0,0xb6,0xda,0x9b,0xc5, + 0xfd,0xce,0xed,0xb7,0xcb,0x25,0xf,0x98,0x65,0xf,0x39,0xcc,0x8e,0xbf,0xea,0x22, + 0xd5,0xbc,0x23,0xd2,0xdc,0xb6,0x79,0x4f,0xa4,0x11,0xad,0xae,0x8b,0xbb,0xab,0xdb, + 0xe9,0x24,0x5f,0x71,0xed,0xbc,0xcd,0xb7,0x15,0xc4,0x6b,0xc3,0x8b,0x8b,0xe2,0xbe, + 0xff,0xfa,0xdd,0x74,0xe,0xa7,0xc,0x6b,0x5d,0xa2,0xa9,0x46,0xdb,0x23,0x6a,0xdd, + 0x4e,0xed,0xf8,0x6f,0x3d,0x2,0x1a,0x88,0xec,0x23,0x17,0x1f,0xd8,0x87,0xa1,0xbd, + 0xe8,0x25,0x7,0xc6,0x65,0x36,0x5b,0xe5,0xf5,0xfb,0x1c,0x4d,0x4,0xc5,0x45,0xd7, + 0x71,0x57,0x2c,0x39,0xba,0xb3,0x32,0xbe,0x33,0xf2,0x29,0x5f,0x96,0xd3,0x71,0x36, + 0x6b,0xa2,0x72,0x51,0xac,0xa6,0xd5,0x25,0xa5,0x53,0xaf,0xa4,0x6e,0x3d,0xd2,0x65, + 0x5,0x71,0x2a,0x92,0xda,0x36,0x1,0xbb,0x1b,0xa7,0x51,0x7e,0x93,0x97,0xd9,0x24, + 0x2b,0xb3,0x4d,0xd0,0xd6,0x92,0xfa,0xe8,0xfb,0x6c,0x39,0xb9,0x3c,0xfd,0xe7,0xf7, + 0x3f,0x34,0xed,0xd4,0x78,0x7c,0xfa,0xaf,0x62,0xf9,0x71,0xd3,0x26,0xf1,0x80,0xec, + 0xa2,0xb8,0x85,0x9b,0x9a,0x16,0x8f,0x5f,0x61,0x19,0x9f,0x72,0x99,0xce,0xca,0x77, + 0xd3,0x1b,0xc4,0x21,0xbf,0xb9,0xf4,0xe7,0xfb,0x9b,0x19,0x72,0xa7,0xb9,0xd0,0x19, + 0xcc,0xf,0x8a,0x37,0x93,0x56,0xd3,0x2e,0xf3,0xea,0xcd,0xa4,0xde,0x97,0xb9,0x26, + 0xe3,0x9b,0x29,0xdf,0x34,0xfa,0xa9,0x9c,0xce,0x66,0x3f,0xb2,0x92,0x76,0xdb,0x37, + 0x5a,0x2f,0xb4,0xee,0xcc,0x5a,0x76,0x9c,0x8d,0x6a,0x2b,0xe3,0xb7,0xab,0xad,0xcd, + 0x9b,0x65,0x17,0xf9,0xec,0x7c,0xf0,0x3e,0x9b,0xfd,0xe7,0x36,0x6f,0x9e,0x8,0x6f, + 0x82,0x6b,0x59,0xdc,0x2e,0x6e,0x8a,0x49,0xbe,0x8e,0xdc,0xc1,0xc6,0x79,0xeb,0x48, + 0x5e,0xab,0x5c,0x64,0xe5,0x75,0x6d,0xd1,0xba,0x97,0x6c,0x7a,0x46,0x24,0x96,0xb7, + 0x2a,0x28,0xf7,0xdd,0x25,0x16,0x5f,0xbd,0xaa,0xe0,0x45,0xfc,0xd2,0x6a,0x63,0x57, + 0xe5,0xb2,0xf8,0x98,0xb7,0x9e,0x78,0xf2,0xd7,0x2a,0x6c,0x31,0x5,0x71,0xf,0x2b, + 0x65,0xa8,0xe5,0x70,0x47,0xbe,0x9c,0x4d,0xf1,0xeb,0x54,0xd7,0xb2,0x49,0x6,0x0, + 0x58,0x2e,0xb3,0x87,0xd3,0x79,0x31,0xcf,0x6b,0xe9,0xee,0x23,0x3a,0x2c,0xfe,0x6f, + 0x9,0x68,0x24,0x30,0x56,0x78,0x7d,0x82,0x7e,0x4,0x80,0x47,0x36,0xf9,0x90,0x0, + 0x21,0x84,0x73,0x5a,0xd0,0x9,0xa5,0xa,0xbc,0x4e,0x6b,0xdd,0x91,0xba,0x14,0x1c, + 0x5e,0xcb,0xe4,0x7d,0x82,0x46,0xc8,0x59,0x11,0x84,0x63,0x19,0x91,0x23,0x61,0x58, + 0x46,0x56,0x3a,0xe2,0x71,0x24,0x34,0xda,0x24,0x99,0x84,0x34,0x60,0x72,0x21,0x2d, + 0x64,0x46,0x80,0x68,0x29,0xc2,0xdd,0x1,0x5c,0x5e,0x2a,0x1d,0x2,0xa4,0x5e,0x7b, + 0xe9,0x84,0x85,0x4c,0xc0,0x48,0x5,0x99,0x4f,0xa1,0x17,0xe,0xf3,0x90,0x29,0xa7, + 0x84,0x52,0x12,0x32,0x4f,0x7c,0x39,0xde,0x8c,0x7b,0x1d,0x3e,0x9f,0xe0,0x32,0x9a, + 0x7,0x32,0xc4,0xaa,0x95,0xf4,0x5a,0x48,0x96,0x19,0xa5,0x41,0x9b,0x59,0xe6,0xa1, + 0xc2,0x10,0x6e,0x6,0x63,0xb6,0xd2,0xf3,0xba,0x81,0x81,0x4e,0x5,0xe3,0x20,0xb4, + 0x24,0x95,0xc2,0x7a,0x20,0xb3,0xce,0x2b,0xc7,0x3,0xa5,0x87,0xa3,0x65,0x25,0x23, + 0x7c,0x91,0xbc,0x42,0x49,0xc2,0x3a,0xaa,0x3c,0x61,0xb5,0x15,0xca,0x3d,0x22,0x5, + 0x67,0x24,0x69,0x94,0x88,0x52,0x9d,0x3a,0x13,0x94,0x66,0x5f,0x4a,0xac,0x43,0xca, + 0x8e,0xd0,0xc2,0x45,0xa,0x2b,0xe,0xbc,0x28,0xcd,0x16,0xe3,0x36,0x48,0x71,0x4d, + 0x7,0xed,0x59,0x26,0x28,0x58,0x4c,0x6a,0x79,0xf3,0x5,0x7a,0xf5,0x4,0x9c,0xd4, + 0x42,0x93,0x56,0x90,0x19,0xb0,0x7d,0x11,0xfd,0x1,0xa9,0x20,0x12,0x68,0x5a,0xc1, + 0x64,0xd,0x16,0xc2,0x5b,0x81,0x8e,0x42,0x92,0xb4,0xec,0x60,0x6d,0xa4,0x40,0x17, + 0xc0,0x32,0x38,0xc3,0x5b,0xde,0x1e,0x4f,0xc1,0x58,0xaa,0x6e,0x96,0x41,0x1b,0xa3, + 0x61,0xbb,0xc2,0x46,0xa1,0x4a,0xb2,0x2c,0x8,0x1,0x27,0xb2,0xcc,0x78,0xaf,0x59, + 0xa6,0x53,0x43,0xd2,0x5,0x8d,0x9b,0x83,0xc,0x58,0x4e,0x5c,0xb8,0x49,0x85,0xc1, + 0x47,0x56,0x63,0xc9,0xe1,0x66,0x15,0x3,0xcb,0xe9,0x18,0x4,0x4c,0xc0,0xe1,0xf9, + 0x28,0x52,0xce,0x5b,0xcf,0x2b,0x84,0xba,0x0,0x5b,0x3e,0xb4,0x22,0xb0,0x5f,0x4a, + 0x7c,0x6c,0x8a,0x29,0x4c,0x47,0xda,0x44,0xeb,0xe7,0xe,0xa,0x72,0xfe,0x11,0x9f, + 0xd7,0x37,0x9c,0xa5,0x27,0x23,0xf,0x49,0x3f,0x39,0xb1,0x99,0xbd,0xfc,0xf2,0xe9, + 0xc7,0x54,0xc5,0x4b,0x44,0xb6,0x84,0xb3,0xd,0x36,0x20,0xe6,0x1f,0x9f,0x19,0x90, + 0x66,0x2b,0x83,0x35,0x64,0xa9,0x2d,0x73,0xa9,0x90,0xf0,0x66,0xa8,0xb2,0xf,0xeb, + 0xc1,0xbe,0xc1,0x75,0xd8,0x48,0xa4,0x9a,0xe1,0x4c,0xb3,0xce,0xd9,0xc0,0x99,0x86, + 0x58,0x54,0x98,0x9b,0x53,0x5,0x9d,0x34,0x5,0x15,0xb3,0x54,0x22,0x46,0x78,0xcf, + 0x91,0xe,0xc6,0x29,0xef,0x38,0xb6,0x51,0xf1,0xd1,0xfa,0x98,0x84,0xb3,0xc1,0x91, + 0xe5,0xb4,0x90,0x88,0x6a,0xed,0x3d,0x44,0xde,0x79,0x44,0x8e,0x82,0xc,0xb,0x44, + 0x2f,0x1a,0x93,0x4f,0xf2,0x96,0x8,0x8e,0x97,0xa0,0x35,0x19,0x4d,0x90,0x79,0x85, + 0x8f,0x2e,0xca,0x9c,0xe1,0x93,0x22,0x5e,0x21,0xa2,0x2a,0x26,0x33,0x27,0x28,0xb9, + 0x6a,0xd5,0xc1,0x79,0x64,0x24,0x84,0x90,0x5,0x5d,0xe5,0x19,0xb2,0x80,0x62,0x9e, + 0x21,0xaa,0xb0,0x31,0x95,0xc,0x1d,0x99,0xf6,0xbc,0x3e,0x70,0x12,0x6f,0x54,0x95, + 0x65,0xc8,0x6c,0x61,0xf5,0x23,0x52,0xe4,0x86,0x41,0xaf,0xec,0xd7,0xb9,0x47,0x8, + 0x46,0xf,0x3f,0x7a,0xa7,0x22,0x94,0xb4,0x84,0x16,0xfe,0x61,0x83,0xd6,0xa9,0x27, + 0x4c,0x8c,0x75,0xb4,0xd5,0x16,0x4d,0xb8,0x72,0x31,0xcd,0xb4,0x41,0xa6,0xf1,0x48, + 0x68,0x5a,0xe7,0x84,0x2,0x4a,0xb9,0xc0,0x29,0x4a,0xce,0x60,0x20,0xdf,0x8d,0x86, + 0x92,0xb0,0x27,0x3c,0xa7,0x71,0xe,0x80,0xa1,0x59,0x46,0x12,0xc4,0x92,0x31,0x2, + 0x60,0xe8,0x9c,0x8f,0xa9,0x17,0x9d,0x81,0x95,0x5b,0xce,0xb2,0x50,0xdd,0xeb,0x91, + 0xaa,0x21,0x5a,0x6e,0x4,0xec,0x8d,0x5a,0x8c,0x40,0xce,0xb3,0xe5,0xc1,0x4b,0xec, + 0x6c,0xcc,0x3c,0x3e,0xb,0x27,0x1e,0x7,0xec,0x75,0xd8,0xf7,0x6a,0xdd,0x60,0x64, + 0xc8,0x3,0xc6,0x5a,0x2b,0xc8,0xc9,0x38,0x32,0xc0,0x7f,0x96,0x21,0x23,0x20,0xe7, + 0xa5,0xa8,0x64,0x44,0x88,0x30,0x5e,0xa1,0x66,0xb8,0x54,0x95,0x2b,0xd6,0xd1,0xd7, + 0x2f,0x5,0x7a,0xa0,0xa9,0x17,0x5b,0xd2,0x4d,0xa4,0xee,0xe6,0x1e,0xe0,0xd8,0x6f, + 0x72,0xef,0xaa,0x43,0x50,0x14,0x4a,0xc7,0xee,0x33,0x8b,0xfe,0xca,0x9b,0x24,0xe5, + 0x4e,0xd3,0x8f,0x52,0x23,0x3,0xbf,0xcb,0x13,0x7b,0x7f,0xa4,0x83,0xc3,0xae,0x68, + 0xee,0xfc,0x51,0x31,0x10,0xe8,0xe6,0x64,0xc8,0x10,0x28,0x5,0x40,0x30,0x1f,0xea, + 0xcd,0x49,0x40,0x4f,0xda,0x6f,0xe,0xa6,0xaf,0x36,0x4,0xa4,0xec,0x3d,0xa,0x4, + 0x54,0x93,0x90,0x52,0xf3,0xec,0x8,0x74,0x3,0x70,0xdb,0x4c,0x7d,0x80,0x21,0xb5, + 0xf5,0xdd,0xa3,0xee,0x7d,0x6b,0xea,0xae,0xaa,0xf1,0x9e,0x6e,0x1f,0x5e,0x1f,0xa4, + 0xf8,0x11,0x93,0x10,0x54,0x48,0x4a,0xe7,0xcc,0x89,0xe6,0x68,0x46,0x60,0xd3,0xdb, + 0xce,0x5d,0xfb,0x17,0xb7,0xbd,0xbc,0x7e,0x5c,0xed,0xe7,0x31,0x1b,0x32,0x4,0xb0, + 0xb2,0xde,0x18,0x33,0xe8,0x4e,0xb5,0xbb,0xed,0x43,0x8c,0x45,0x4d,0x41,0x65,0xe6, + 0x53,0x45,0x67,0x30,0xbb,0x3c,0x89,0x1f,0x24,0x40,0xe6,0xa4,0xba,0xec,0x48,0x59, + 0xa4,0xbe,0x9,0x46,0x59,0x8f,0x4f,0xa8,0xf9,0x4a,0xe8,0xa0,0xde,0x6e,0x4d,0x5f, + 0xb9,0x12,0x5,0xbd,0x63,0xcf,0x56,0x99,0x68,0xcc,0x6a,0x8,0x34,0x98,0x1f,0xd3, + 0x4e,0xb4,0x1e,0xe3,0xd5,0x78,0x3c,0xfe,0x3c,0x8e,0xbf,0xc6,0xe3,0xc1,0xf6,0x2d, + 0x75,0x1e,0xa8,0xf6,0xc1,0x6b,0xfd,0x13,0x11,0x5f,0xf3,0x89,0x72,0x0,0x68,0xc7, + 0x95,0x63,0x25,0xe8,0x33,0x38,0x93,0xb5,0x40,0xce,0x1b,0x40,0x14,0x6c,0xc3,0xd2, + 0x8d,0xf6,0xca,0x26,0x4,0x36,0x4,0x30,0x44,0x2a,0xc3,0x60,0xc7,0x8,0x8a,0xac, + 0x23,0xc0,0x47,0x0,0x61,0x9,0xb5,0x50,0x82,0x36,0xbd,0x4f,0xc8,0x62,0x62,0xd4, + 0xc6,0x8e,0x98,0x80,0x1a,0xe8,0x9,0x40,0x7e,0x44,0xa,0x1c,0xf1,0xe0,0x55,0x3e, + 0x21,0x38,0xa,0xfe,0x32,0x21,0x2e,0x21,0x28,0xf8,0x56,0x38,0xa4,0x38,0xcb,0x2d, + 0x18,0xa,0xc5,0x9c,0x8a,0x49,0x65,0xbb,0x62,0xe4,0x97,0x27,0x40,0x93,0x61,0x7d, + 0x92,0xeb,0x8b,0xae,0x12,0x3,0x38,0xec,0xd0,0x53,0x25,0x70,0x7c,0x8,0x4e,0x54, + 0x42,0xee,0x9f,0x51,0x4e,0x12,0x85,0x5,0x2b,0x20,0x1e,0x35,0x42,0xcd,0xf5,0x47, + 0x31,0xe6,0x2,0xaa,0x5b,0xe2,0x90,0xf0,0xa9,0x2f,0x81,0x66,0xba,0x6a,0x56,0x10, + 0x16,0xf0,0x35,0x5,0x74,0xf,0x42,0x46,0x99,0x0,0x25,0x4,0xee,0x63,0x5d,0x1b, + 0x29,0xca,0xa0,0x46,0x21,0x8c,0xcb,0x52,0xd5,0x79,0xbb,0x63,0x8b,0x95,0x3,0x52, + 0x69,0x1,0x30,0x8e,0x14,0x11,0x83,0x20,0xf4,0x4c,0x58,0x51,0x6b,0x12,0xe9,0xe0, + 0x27,0x30,0x48,0x5d,0xb,0x9d,0xd2,0xc,0xa9,0x40,0x76,0x8f,0xe5,0x76,0xc4,0x8c, + 0xb3,0xa,0xac,0x94,0x85,0x20,0x35,0xa,0xa,0x74,0x24,0x48,0x92,0xd9,0x6c,0x67, + 0x2b,0x3f,0x54,0x50,0xed,0x2d,0x58,0xe8,0xd0,0x80,0x1e,0x83,0xa9,0x89,0xc8,0x39, + 0x51,0x53,0x55,0xc0,0xa0,0x93,0x21,0xc0,0x1a,0xe5,0xd3,0x4b,0x9d,0x28,0x46,0x2f, + 0xc0,0x3f,0xc0,0xcb,0xf3,0x43,0x75,0x64,0x63,0x74,0x98,0xe6,0xb3,0x48,0xc5,0x42, + 0x54,0x28,0xb,0x87,0xb0,0xc7,0x51,0x52,0xaa,0x69,0x41,0x8d,0x59,0x2f,0xf1,0xa6, + 0x2b,0xc3,0xac,0x96,0xe7,0x74,0x2,0xdc,0xcc,0x4a,0xe,0x25,0xef,0xc1,0xc0,0x1d, + 0xeb,0x87,0x9,0x14,0x2,0xf3,0xf7,0xfe,0xc8,0xfb,0xbc,0x13,0xa6,0x5b,0x7d,0x8b, + 0x7c,0x41,0xbb,0x62,0x1,0x33,0x60,0xaf,0xf5,0xb0,0x21,0x9f,0xee,0xfc,0xbb,0x98, + 0xce,0x4f,0x23,0x71,0x3a,0x9e,0x45,0xb1,0xb4,0x7a,0x6c,0x77,0xba,0xf,0x52,0x36, + 0x2d,0x61,0xcc,0xed,0xd1,0xd5,0x3e,0xf0,0xea,0x47,0x1c,0x2d,0xaa,0x4d,0xe1,0xfe, + 0x46,0x29,0x44,0xd1,0xc9,0xe6,0x53,0xfb,0x3a,0x93,0x19,0x38,0x12,0x45,0x5d,0x31, + 0x9d,0x16,0xd6,0xeb,0x7e,0xcc,0x1,0xfd,0x1e,0x3c,0x89,0x9a,0x7,0xa1,0xd2,0xf3, + 0xb6,0xc7,0x0,0x4,0x76,0xb6,0x47,0x99,0xdf,0x62,0x67,0xb6,0xd,0xaf,0xb9,0x2f, + 0x3,0x96,0x10,0x81,0xcb,0x90,0x9,0x20,0x53,0x6b,0x6e,0x88,0x4,0x7,0x88,0xa1, + 0xec,0x6a,0xc7,0x54,0x2b,0x1,0x67,0x45,0x3a,0x82,0xf4,0x82,0x9b,0xa1,0xc7,0x8, + 0x96,0x74,0x82,0x52,0x8c,0xbd,0x8,0x3e,0xf6,0xa2,0x60,0x25,0x8c,0x7,0xa0,0x66, + 0xa4,0xd,0xcb,0xb8,0xd,0x54,0x48,0x24,0xc6,0x55,0x4a,0x41,0xa9,0x2c,0xba,0xb4, + 0x93,0xc8,0x3b,0x95,0xf7,0x32,0x31,0xf1,0x39,0x26,0xe8,0xe8,0x9,0x3f,0x19,0x1, + 0x64,0x22,0xf,0x6c,0x33,0xe3,0x46,0xf6,0x1e,0xba,0xb9,0x73,0xe9,0x4a,0x23,0xbb, + 0xf5,0xdc,0x7,0xcb,0xf5,0x2b,0x1d,0xdc,0xa1,0xa2,0xff,0x11,0xb5,0x6e,0x46,0x25, + 0x6,0x82,0x8d,0x34,0xa4,0xb1,0x83,0x89,0x8d,0x27,0x82,0x14,0x94,0x8d,0x19,0x31, + 0x20,0x9e,0xf9,0x1a,0x3f,0xba,0x80,0x89,0x2c,0xd2,0xec,0x6,0x76,0x8c,0x32,0xf5, + 0xb7,0xf7,0x8c,0x5e,0x68,0xae,0x0,0x39,0x6b,0x91,0x0,0xd0,0x2,0xe6,0xd0,0xe6, + 0x44,0xa2,0x8e,0x90,0x53,0xa0,0x7e,0xc,0x25,0xc0,0x71,0xf4,0xd9,0xac,0xd,0x70, + 0x1b,0x31,0xb2,0x91,0x61,0x5d,0xd2,0x1a,0x19,0x7d,0x2,0x90,0x25,0x87,0xf6,0x93, + 0x85,0xde,0x5,0x36,0x0,0x60,0xcc,0x58,0x8d,0xd2,0xca,0xad,0x31,0xf7,0xa,0xc0, + 0x62,0x70,0x61,0x60,0x1e,0xdf,0xdc,0xc8,0xde,0x33,0x38,0x11,0x50,0x1f,0x1d,0x69, + 0x6b,0x24,0x60,0xa,0x4,0xd8,0xc4,0x9,0xb5,0x63,0x1f,0x2b,0x94,0x2e,0xb8,0x8b, + 0x2a,0xcd,0x42,0xd9,0xe8,0x11,0xc,0x64,0xe7,0x10,0x77,0x22,0xd5,0x1a,0x63,0x1d, + 0xd0,0xb8,0x17,0x65,0xdb,0x0,0x96,0x38,0x85,0xd8,0x3a,0xf,0x32,0x6a,0x2d,0xc2, + 0x0,0xad,0xc,0x9a,0x5e,0xd3,0x13,0x2e,0xbb,0xd0,0xd5,0x94,0x5f,0x6d,0x76,0xcb, + 0x6f,0x6f,0x39,0x8f,0x95,0xbc,0xfa,0x3b,0xde,0xc2,0x8d,0x2f,0x9f,0x7f,0x68,0xbf, + 0x84,0x26,0xa5,0xbf,0x62,0x12,0x22,0xec,0x85,0x33,0x5c,0xc5,0xf9,0xfc,0x0,0xd, + 0x4b,0xa0,0x2a,0xec,0x7d,0xc,0xce,0x96,0x14,0x3b,0x87,0xcd,0x46,0xa7,0xc1,0xdd, + 0x8e,0x14,0x1a,0x7d,0x13,0xe2,0x9b,0x8f,0x83,0x39,0x13,0x50,0xc6,0x24,0x76,0xaa, + 0xa,0xfa,0x5a,0xc8,0xb5,0x12,0xe1,0x1f,0x62,0xb3,0xe9,0xd1,0x79,0x6,0x24,0xb1, + 0x8c,0x65,0x8,0xe5,0x3e,0x6a,0x41,0x87,0x64,0x58,0xa4,0x43,0x3c,0xee,0x68,0x2d, + 0xa7,0x91,0x81,0x1b,0x41,0xb5,0xd1,0x5d,0x29,0x6a,0x2f,0xc2,0xc,0x59,0x1e,0x27, + 0x4,0x43,0xf,0xc,0x0,0x2c,0x70,0x31,0xc,0xf9,0x38,0x49,0x57,0xa8,0x50,0xb, + 0x65,0x6c,0xed,0x62,0x2d,0x6,0x2a,0x58,0xe0,0x8b,0x8f,0xd6,0xa0,0xa7,0x45,0x9b, + 0x13,0xb5,0xa0,0xd6,0x5b,0xd3,0x32,0xba,0xcf,0x3d,0x7b,0xc3,0x6e,0x9b,0xcf,0xee, + 0xb,0xbb,0xff,0xc9,0x80,0x63,0x50,0xc1,0x6e,0x30,0x2e,0x28,0x3e,0x3a,0xa8,0xfa, + 0xd8,0x8,0x2a,0x60,0x5d,0x6d,0x29,0x83,0x8a,0x6,0xbc,0xb8,0x93,0xea,0x2d,0x44, + 0xf,0x7e,0xa7,0xf8,0xe0,0x1,0x35,0x20,0xc2,0x54,0x60,0xf2,0xc8,0x21,0xd7,0x92, + 0x2,0x16,0x81,0x63,0x15,0x13,0xf4,0xc,0x4f,0xb2,0xc2,0x6e,0x1,0xe6,0xc,0x6a, + 0x14,0xf5,0x20,0xa,0x63,0xd4,0xf0,0x51,0x1b,0xb8,0x5d,0x6b,0x45,0x8d,0x2c,0xa2, + 0x92,0x1,0xb,0xef,0x48,0x81,0x9b,0xe0,0xe5,0x52,0xfa,0x38,0x23,0x98,0x86,0xb5, + 0x8c,0xb0,0xcc,0x22,0x81,0xde,0x1c,0x74,0xc2,0x49,0x69,0x2b,0xdc,0xad,0xa5,0x32, + 0xf5,0x8c,0x6e,0x7a,0x8d,0xbb,0xa0,0xcc,0x36,0x44,0x8b,0xc0,0xcf,0xb5,0xa9,0xf4, + 0x38,0x45,0xae,0x6d,0x79,0x8f,0x8f,0xf6,0x46,0x9d,0xfb,0x7d,0x44,0x5d,0x3b,0x34, + 0x7e,0x47,0x21,0x67,0xb9,0xd2,0x2a,0xd4,0x90,0x8,0x15,0x6,0x15,0xdd,0x47,0x44, + 0x12,0x16,0xbc,0x4d,0x51,0x4b,0xea,0xd1,0x56,0x92,0x9,0x22,0x6e,0xa6,0x8b,0xff, + 0x3f,0x2c,0x60,0xcb,0x2,0x78,0x6c,0x8c,0x2d,0x49,0xc1,0xb,0x19,0x41,0xe,0x9b, + 0xa7,0xb1,0x95,0x7c,0xee,0xc2,0x65,0x29,0xc6,0x8c,0xe7,0xed,0x45,0x1f,0xa2,0xe2, + 0xb9,0xd,0x9a,0x2d,0xec,0x3a,0x93,0x7e,0xb0,0x7a,0x61,0xf9,0xf8,0x4c,0x6b,0x3e, + 0x64,0xc2,0x82,0x1c,0x42,0x4b,0xb8,0x96,0xe8,0x3d,0xff,0x97,0x34,0x84,0x73,0x47, + 0xc8,0x85,0x11,0xec,0x99,0xf8,0xe8,0xd,0x95,0xdb,0xf1,0x39,0x3c,0x90,0x4b,0x69, + 0x74,0x40,0xf1,0xd4,0x8e,0xc0,0x4d,0x74,0x85,0x72,0xda,0x3b,0x1d,0x18,0xcf,0xb8, + 0xda,0x6a,0xee,0xd,0x18,0x37,0x45,0x24,0x35,0x2e,0x9a,0xa3,0xc8,0xa3,0xf,0x30, + 0x29,0x70,0x3d,0xb8,0x35,0x6e,0x56,0x66,0xf7,0x39,0x68,0x6f,0xbc,0x85,0xff,0xc7, + 0xdb,0x7e,0x88,0xb3,0x44,0x7c,0xd0,0x57,0xc1,0x44,0x3,0x28,0xc0,0x37,0xd0,0xad, + 0x96,0x94,0x1,0x85,0x4f,0x2,0x79,0x7f,0x2c,0xf6,0x9e,0x22,0x9e,0x60,0x1b,0x95, + 0x8c,0x3b,0x29,0x8,0xd6,0xb8,0xa,0x4f,0xd0,0xb1,0x1,0xd4,0x39,0xde,0x9c,0xe3, + 0x53,0xf2,0xa,0x4f,0x24,0x3,0x12,0x9f,0xb8,0x2,0xef,0x19,0x8,0x58,0x8d,0xf4, + 0x1e,0x51,0x1a,0x9f,0x9f,0x48,0xc4,0xb2,0xe3,0x5,0x19,0xc7,0x44,0xb5,0x25,0xc3, + 0xdd,0x16,0xbd,0x7a,0x6c,0x74,0x5b,0x23,0x5d,0x24,0x5e,0x91,0x8b,0xa2,0xe9,0x44, + 0x77,0xeb,0x22,0xe,0x7,0xf4,0x95,0x7c,0x1a,0xa9,0x61,0x80,0xa8,0x56,0xc4,0x15, + 0xdd,0x93,0x8b,0x65,0x1e,0xf1,0xaf,0x28,0x54,0x98,0xab,0x60,0x85,0x8d,0xac,0x8f, + 0xdf,0x65,0xe2,0x19,0xd1,0x96,0x22,0xf2,0xda,0x66,0xf7,0x38,0x68,0x5f,0xbc,0xd9, + 0x5d,0x47,0x1f,0x1e,0x6f,0x9d,0xf6,0xaf,0xf5,0xa5,0xf9,0xb8,0xfe,0x10,0x7f,0x9d, + 0xf1,0x33,0xcb,0x77,0x6f,0xfe,0xb,0xfa,0x89,0x29,0x2f, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_dialpad_off.svg + 0x0,0x0,0xe,0xd9, + 0x0, + 0x0,0x91,0x8,0x78,0x9c,0xed,0x5d,0x5b,0x73,0xdb,0x36,0x16,0x7e,0xef,0xaf,0xd0, + 0x2a,0x2f,0xc9,0xac,0x41,0xe1,0x7e,0x51,0xed,0x74,0x76,0xb6,0xd3,0x9d,0xce,0xb4, + 0xb3,0x3b,0xdb,0x76,0xf6,0x31,0x43,0x8b,0x94,0xad,0x8d,0x2c,0x6a,0x29,0x2a,0xb6, + 0xfb,0xeb,0xf7,0x80,0x12,0x29,0x50,0x82,0x43,0x8a,0x26,0x15,0x47,0x4e,0xd8,0x8e, + 0x25,0x0,0xc4,0xe5,0xc3,0x87,0x83,0x73,0x81,0xc8,0xcb,0x1f,0x1e,0xee,0xe6,0x83, + 0x4f,0x71,0xba,0x9a,0x25,0x8b,0xab,0x21,0x9,0xf0,0x70,0x10,0x2f,0x26,0x49,0x34, + 0x5b,0xdc,0x5c,0xd,0xff,0xf8,0xfd,0x27,0xa4,0x87,0x83,0x55,0x16,0x2e,0xa2,0x70, + 0x9e,0x2c,0xe2,0xab,0xe1,0x22,0x19,0xfe,0xf0,0xfe,0xbb,0xcb,0xbf,0x20,0x34,0xf8, + 0x7b,0x1a,0x87,0x59,0x1c,0xd,0xee,0x67,0xd9,0xed,0xe0,0xe7,0xc5,0xc7,0xd5,0x24, + 0x5c,0xc6,0x83,0xb7,0xb7,0x59,0xb6,0x1c,0x8f,0x46,0xf7,0xf7,0xf7,0xc1,0x6c,0x9b, + 0x18,0x24,0xe9,0xcd,0xe8,0xdd,0x0,0x21,0xb8,0x73,0xf5,0xe9,0xe6,0xbb,0xc1,0x60, + 0x0,0xcd,0x2e,0x56,0xe3,0x68,0x72,0x35,0xdc,0x96,0x5f,0xae,0xd3,0x79,0x5e,0x2e, + 0x9a,0x8c,0xe2,0x79,0x7c,0x17,0x2f,0xb2,0xd5,0x88,0x4,0x64,0x34,0xdc,0x15,0x9f, + 0xec,0x8a,0x4f,0x6c,0xe3,0xb3,0x4f,0xf1,0x24,0xb9,0xbb,0x4b,0x16,0xab,0xfc,0xce, + 0xc5,0xea,0x8d,0x53,0x38,0x8d,0xa6,0x65,0x69,0xdb,0x99,0x7b,0x96,0x17,0x22,0xc6, + 0x98,0x11,0xa6,0x23,0x4a,0x11,0x94,0x40,0xab,0xc7,0x45,0x16,0x3e,0xa0,0xea,0xad, + 0xd0,0x47,0xdf,0xad,0x14,0x63,0x3c,0x82,0xbc,0x5d,0xc9,0x66,0xa5,0xc6,0xf,0x73, + 0x40,0xe2,0xc9,0xce,0xe4,0xb9,0x6e,0xeb,0x80,0xfe,0x12,0xfe,0x2f,0x6f,0x28,0x12, + 0x82,0x55,0xb2,0x4e,0x27,0xf1,0x14,0xee,0x8c,0x83,0x45,0x9c,0x8d,0x7e,0xfc,0xfd, + 0xc7,0x32,0x13,0xe1,0x20,0xca,0x22,0xa7,0x9a,0x2,0xfc,0x4a,0xbb,0x95,0x19,0x59, + 0x84,0x77,0xf1,0x6a,0x19,0x4e,0xe2,0xd5,0xa8,0x48,0xcf,0xef,0xbf,0x9f,0x45,0xd9, + 0x2d,0x90,0x41,0xe6,0xdf,0x6e,0xe3,0xd9,0xcd,0x6d,0x56,0x7e,0x9d,0x45,0x57,0x43, + 0x18,0x1d,0xcd,0xbf,0x14,0x8d,0x8f,0x4b,0x6,0xe1,0x80,0x6d,0xb2,0x8a,0x1a,0xdd, + 0x2c,0xbe,0xa9,0xa2,0x42,0xb7,0x4a,0x35,0x51,0x32,0xb9,0xe,0x57,0xd0,0xe5,0xd1, + 0x6d,0x72,0x17,0xa3,0x79,0x32,0x9,0xe7,0xa3,0xe5,0xfc,0x3a,0xe,0xd7,0x51,0x32, + 0x5b,0x8c,0x7e,0xfb,0xe9,0x97,0x7f,0xdd,0x2,0xf,0x47,0xab,0xe9,0x7c,0x59,0xf9, + 0x80,0x6e,0xb2,0x8f,0xa3,0xe5,0xec,0xe1,0x2e,0x5c,0xae,0xe,0xea,0xb4,0x3,0xbd, + 0x1a,0xce,0x26,0xc9,0xe2,0x43,0x34,0xb,0xe7,0xcb,0x30,0xfa,0x90,0x4c,0xa7,0x41, + 0x31,0x49,0x65,0x57,0x93,0x75,0xb6,0x5c,0x67,0x1f,0xe2,0x87,0x2c,0x5e,0x6c,0x7a, + 0x8,0x30,0x39,0x98,0xe5,0xd9,0xf6,0xb6,0x32,0x6d,0xf8,0x1e,0x2a,0xb8,0x2c,0xdb, + 0xb2,0xd,0x45,0x9f,0x66,0xf1,0xbd,0xad,0x76,0x83,0x95,0x1d,0xcf,0x70,0xf3,0x75, + 0x19,0xde,0x0,0x5f,0xe7,0x49,0x7a,0x35,0x7c,0x33,0xcd,0xff,0x6d,0x33,0xae,0x93, + 0x34,0x8a,0xd3,0x22,0x4b,0xe6,0xff,0x2a,0x59,0x9,0xcc,0xd2,0x2c,0x7b,0xdc,0x21, + 0xe6,0x74,0xda,0xd6,0x5a,0xe6,0x63,0x7f,0xfe,0xea,0x36,0x8c,0x92,0xfb,0xab,0x21, + 0xdd,0xcf,0xfc,0x33,0x49,0xee,0xa0,0x56,0x12,0x30,0xc2,0x14,0xd6,0xfb,0xd9,0x93, + 0x7,0xb8,0x7,0x7,0x92,0x9,0x85,0xcd,0x41,0x26,0xb4,0xc7,0x2,0x22,0x25,0x10, + 0x5e,0xed,0x67,0x2,0xea,0x6b,0xbb,0x86,0xd1,0x7a,0x31,0xcb,0x60,0x9d,0x2c,0x1f, + 0xe,0x6e,0x5f,0xa7,0xa9,0x2d,0x30,0xf,0x1f,0x63,0x18,0x76,0xfe,0x87,0x6c,0xb, + 0x95,0xc,0x2c,0x6f,0xdb,0xb1,0xb0,0x4c,0x5a,0xdd,0x26,0xf7,0x37,0xeb,0x59,0x14, + 0x43,0xf5,0x59,0xba,0x8e,0xf7,0x1b,0xc8,0xf3,0xd0,0xf5,0x75,0xf2,0xe0,0xcf,0xbf, + 0x9f,0x2d,0x0,0x14,0x54,0xb4,0x85,0x9,0x7f,0xa2,0x44,0xd1,0xb6,0xa2,0x7,0xf8, + 0x6d,0x4b,0x40,0xb,0x8c,0xc9,0x27,0x32,0x1f,0x2d,0x86,0xc6,0xed,0x74,0x6a,0x89, + 0x31,0xd,0xe7,0xab,0xd,0x7f,0x5c,0x6,0xe5,0x9d,0xde,0x14,0xdd,0xf0,0x27,0x4f, + 0x60,0x84,0x17,0xb5,0x3,0x8d,0x92,0xd5,0x2c,0xcb,0xd9,0x49,0x79,0xa0,0x29,0xe1, + 0x54,0x97,0x79,0x49,0x3a,0x3,0x4c,0xc3,0x4d,0x36,0xac,0xb3,0x6c,0x6,0x2b,0x68, + 0x38,0x18,0xe5,0x34,0x1d,0x1d,0xf2,0x34,0x4f,0x8f,0xe2,0xe9,0x6a,0x47,0x58,0xfb, + 0x8d,0x17,0xfd,0x4a,0x43,0xbb,0x60,0xfe,0x61,0xff,0x40,0xbd,0x45,0x2b,0xa9,0x85, + 0x2b,0xd0,0x5a,0xa8,0x12,0xb3,0xc1,0x60,0xa,0xe3,0x34,0x41,0x9e,0x46,0x9d,0x54, + 0x80,0x86,0x98,0x80,0xda,0x74,0x51,0xa6,0x4e,0xbc,0x65,0x27,0xde,0xb2,0xab,0x25, + 0x88,0xfa,0xe8,0xd7,0x38,0xbb,0x4d,0xa0,0x77,0x69,0x3c,0x9d,0xc7,0x93,0xac,0xcc, + 0xbd,0xd9,0x76,0xed,0xf7,0x34,0x5c,0xac,0x40,0x32,0x2,0x9b,0xef,0xc2,0x2c,0x9d, + 0x3d,0xbc,0x5,0x71,0x43,0xb4,0x51,0xe2,0x2,0xdb,0xab,0xf8,0x2,0x54,0xa7,0x58, + 0x70,0x7d,0x21,0x2,0x45,0x15,0xe5,0xfa,0xdd,0x41,0x55,0x7f,0x6c,0x18,0xbb,0x5e, + 0xc5,0xe9,0x6f,0x56,0x3a,0xfe,0x73,0xf1,0x47,0xb9,0x84,0x37,0x10,0x55,0x51,0x61, + 0x14,0xef,0x26,0x20,0x17,0xe6,0xe3,0x5b,0xe8,0x26,0xac,0x64,0xf8,0x1c,0x87,0x69, + 0x51,0x8e,0x63,0xbe,0x1b,0xd5,0x6e,0x19,0x24,0x73,0x3b,0xa0,0xab,0x61,0x38,0xbf, + 0xf,0x1f,0x57,0xdb,0xb9,0x2,0xe8,0xab,0x37,0x17,0xf7,0x3d,0x52,0xc0,0x88,0x7, + 0xc,0x2a,0x23,0x6a,0xd7,0x2a,0xa4,0xca,0x40,0x48,0x6c,0x88,0xd8,0xb5,0xf1,0x48, + 0x80,0xb3,0x81,0xe6,0x54,0x32,0x49,0x76,0x65,0x89,0x5d,0xb6,0x86,0x18,0xa8,0x80, + 0x7f,0xe,0xc7,0xcc,0x7e,0x9c,0xc3,0x16,0xff,0x96,0xd0,0x0,0x4,0x0,0xe3,0x17, + 0x88,0x5,0x98,0xc1,0x30,0x5a,0xa1,0x56,0x1d,0x10,0xa3,0x9a,0x37,0x41,0x8d,0x30, + 0xa9,0xbf,0x4e,0xd4,0xa4,0x65,0x32,0x1,0xa9,0xda,0x31,0x6c,0xf4,0xbc,0x61,0xc3, + 0x25,0x5c,0x4a,0x76,0x82,0x17,0x3e,0x6f,0xbc,0x88,0xe,0x38,0x56,0x20,0xcf,0x88, + 0x82,0x35,0x8a,0x4d,0x17,0x98,0x19,0x79,0xe6,0x98,0xd1,0x80,0x50,0xa2,0x19,0xe9, + 0x18,0xb6,0x33,0x97,0x68,0x22,0xd0,0xc,0x54,0x53,0xcc,0xa,0xd8,0x8,0xeb,0x4, + 0xb6,0x33,0x97,0x68,0xbd,0x6c,0x9f,0xc,0x9f,0x39,0x6a,0xfd,0x6c,0x9f,0xc,0x9f, + 0xf9,0x76,0xd0,0xf5,0xf6,0x69,0x1a,0xe9,0xb6,0x9d,0xe0,0x75,0xd8,0x3c,0xe5,0x8c, + 0xd5,0x57,0xfb,0x7e,0x5b,0xe2,0x72,0x95,0x25,0xcb,0xa2,0xf4,0xd6,0x53,0x1,0x29, + 0x50,0xc9,0xe,0x67,0x30,0x91,0xa6,0xd3,0x55,0xc,0x37,0x63,0x27,0x6d,0x95,0x3d, + 0xce,0xe3,0x4d,0x69,0x94,0x9b,0xe1,0xe3,0x37,0xfc,0xda,0x5e,0xdf,0xe7,0x49,0x5b, + 0xf3,0x7a,0x4c,0xbe,0x2f,0x87,0xf0,0xb9,0xd6,0x94,0xa7,0x35,0x72,0x7c,0x6b,0x78, + 0xd7,0xda,0xe5,0xa8,0x8a,0xcb,0x67,0x61,0x6c,0x36,0xd7,0x39,0x39,0x65,0xa0,0x98, + 0x81,0xab,0x42,0x4e,0x66,0xc5,0x95,0xa6,0x8e,0x55,0x69,0xc9,0x89,0xc0,0xe0,0xc3, + 0x58,0x73,0x2d,0x78,0x85,0x9e,0x34,0x30,0x52,0x28,0x87,0xc9,0xde,0x59,0x34,0x4d, + 0x48,0xd4,0x6c,0xb6,0x4b,0x4c,0x76,0x1e,0x8e,0x38,0x5d,0x2d,0xa1,0xc8,0xec,0x53, + 0xc5,0x72,0x76,0x92,0xc1,0x44,0xf6,0xd4,0x9c,0x17,0x60,0x11,0x2,0xa3,0xf9,0x66, + 0x6,0xf6,0xb2,0x1e,0x8c,0x7,0x22,0x60,0x9b,0x7f,0xf0,0x99,0x1c,0xde,0xf2,0x69, + 0xf9,0xe1,0x4f,0x8b,0x1b,0xe4,0xea,0x27,0x4b,0x58,0x3f,0x8c,0xcd,0xc4,0xd8,0xfe, + 0xc1,0xde,0x32,0xf,0x9b,0x32,0xd5,0x4a,0x4a,0xfb,0x3c,0x7b,0xb4,0x7e,0xbb,0xfd, + 0x8e,0x1e,0xbf,0x7e,0x18,0x53,0xb8,0x6e,0x79,0x40,0x19,0x7a,0xfc,0xf2,0x88,0x84, + 0xbd,0x8e,0x5f,0x1e,0xd0,0x1a,0x3f,0x7e,0x79,0x28,0x63,0xaf,0x27,0x5b,0x3b,0x6a, + 0x79,0xf8,0x50,0x92,0xb4,0x1e,0x25,0xe9,0xeb,0x77,0xd,0x4a,0x38,0xff,0xd7,0x6, + 0x25,0x29,0x8f,0x47,0x69,0xe3,0x53,0xec,0xb,0xa5,0xdc,0x7d,0x51,0xd3,0x6f,0x28, + 0xe3,0x13,0x7e,0x35,0x28,0xf9,0xfa,0x8d,0xeb,0x41,0x82,0xc6,0x4c,0xb,0x90,0xa4, + 0xbd,0xf6,0x40,0xea,0xc,0x23,0x2a,0x4d,0x2d,0x46,0x54,0x91,0xe3,0x31,0x52,0xd8, + 0x5e,0xc7,0x33,0x9,0x5a,0x63,0x2d,0xd6,0x9b,0xa7,0xb5,0xb6,0xdb,0x91,0x7,0x25, + 0xb0,0xbc,0x9e,0x42,0xa9,0xf9,0xd0,0x3f,0xf,0x61,0x39,0x7e,0xa2,0xc5,0xd3,0x28, + 0x79,0x5a,0x63,0x13,0x7b,0x35,0x68,0x8d,0xf8,0x5b,0x53,0xdd,0xa1,0x24,0x55,0x2d, + 0x97,0x88,0xf4,0x2d,0x81,0x1a,0x2e,0x51,0x6d,0xaf,0x16,0x5c,0x22,0x5e,0xe6,0xd6, + 0x70,0x89,0x29,0x7b,0x75,0xab,0xda,0xf8,0xbc,0xbd,0x5a,0x9,0x4c,0xb,0x6f,0x6f, + 0xf1,0x25,0x0,0x73,0x15,0x4c,0x2f,0xf8,0x0,0xf6,0xaa,0xc1,0xea,0x58,0x8d,0xd8, + 0x6a,0x49,0x14,0xf4,0x21,0x42,0x5,0xde,0xa9,0x38,0x56,0x4b,0xa2,0xa,0x74,0x78, + 0x5a,0x55,0xe0,0x41,0x9d,0xa2,0x5a,0x2b,0xe2,0xe8,0x53,0x24,0xd7,0xb2,0x34,0x95, + 0xca,0xf1,0xa9,0x78,0x54,0x24,0x4a,0x1b,0xf9,0xe,0xf2,0xa5,0xf3,0x6c,0x3d,0xfb, + 0xa9,0xfb,0x9a,0x74,0x80,0x3a,0x8c,0x3b,0x1c,0x7,0x61,0x5a,0x1f,0x9,0xf1,0xd3, + 0x73,0x8a,0x48,0x3e,0x9b,0xe4,0x2,0x34,0x52,0x30,0xa1,0x34,0x58,0x82,0x34,0xd0, + 0x92,0x2b,0xc7,0xeb,0xb0,0x51,0x41,0xb1,0x14,0xb0,0xf2,0x54,0x65,0x32,0xc0,0xea, + 0x86,0xf9,0x31,0xae,0x99,0x9c,0x5b,0x5e,0x9a,0x29,0xad,0x8d,0xaa,0x4c,0x31,0x1, + 0x23,0x8b,0x62,0x2c,0xd8,0x97,0x85,0x4e,0xf6,0x36,0xac,0x67,0x4f,0x89,0x63,0x60, + 0x6,0x30,0x10,0x22,0xf2,0xc9,0x50,0x92,0x82,0xe5,0xf7,0xae,0x57,0xd4,0x2a,0x8c, + 0xf7,0xa1,0x56,0xb5,0x47,0x88,0x8,0x80,0x21,0xd4,0x59,0x83,0x8f,0x39,0x96,0xa, + 0xc3,0xd2,0x74,0xb4,0xaa,0x87,0x8d,0x71,0x8e,0xa1,0xff,0x4c,0x57,0x51,0xc3,0x60, + 0xff,0x48,0xa8,0xa2,0x21,0x6a,0x5f,0x74,0xf0,0xb4,0x4a,0x19,0x1e,0x30,0xa3,0x5c, + 0x51,0xb5,0xa5,0x8c,0x60,0x95,0x98,0x5a,0x6e,0xe6,0xd9,0xa0,0xaf,0x54,0x7b,0x63, + 0x3f,0x28,0xda,0x1,0x63,0xc0,0x74,0x34,0x5c,0x61,0x2,0x94,0xc9,0xa3,0x86,0xc4, + 0xe8,0x2f,0x4c,0x19,0x5c,0xa5,0x4c,0x80,0x31,0x7,0xd2,0xc8,0x7d,0xd4,0x34,0x15, + 0x7a,0xcf,0x38,0x56,0xb0,0xa2,0x18,0xfc,0x27,0xf6,0x61,0xdb,0x2b,0xdb,0x1,0x6c, + 0x24,0xa0,0x12,0x44,0x6,0xb9,0x40,0x24,0x0,0x5b,0x52,0x9,0x5a,0x8f,0x9a,0x67, + 0xb0,0x8a,0x1f,0xa1,0x6b,0x3d,0xa1,0x1a,0x34,0xd3,0xb5,0xa0,0x2d,0x79,0x9c,0xae, + 0xe5,0x57,0xd,0x9a,0xe9,0x5a,0xd0,0x9a,0xee,0x4a,0xd7,0xca,0xdd,0x57,0x35,0xda, + 0x8f,0x3d,0x20,0xd1,0x42,0x6f,0xa7,0xf6,0x3a,0x5e,0xd7,0x22,0x7e,0xab,0xbc,0x4e, + 0xd7,0x8a,0xed,0xd5,0x97,0x5,0x48,0x3e,0x63,0x27,0x37,0x1f,0x7a,0x53,0x2e,0x81, + 0xbd,0x7d,0xc,0x97,0x7c,0xad,0x1d,0xc1,0x25,0x29,0xdb,0xa1,0xe4,0xdf,0x30,0x9e, + 0xd8,0x5c,0xfc,0x1b,0x91,0x77,0xd3,0x6a,0xeb,0xb0,0x25,0x1c,0x37,0x8a,0xdd,0x75, + 0xa2,0x48,0x6e,0x45,0x1f,0x21,0x42,0x8,0x53,0x19,0x3c,0x8,0x7a,0xa9,0x85,0xe2, + 0x94,0xd1,0x7d,0xa1,0xba,0x5f,0x9a,0x6c,0x1,0xe4,0x1e,0xe9,0xd9,0x58,0x2e,0x76, + 0x0,0x5b,0xb3,0x33,0x1c,0x9d,0xc1,0xc6,0x2,0x26,0x4,0xab,0x6a,0x71,0x94,0xc1, + 0xf6,0x8,0xe4,0xd8,0xdb,0xbe,0xed,0x80,0x39,0x25,0x55,0xca,0xc0,0xf6,0x2d,0xd, + 0x35,0xf2,0x50,0xdd,0x6e,0xbe,0x7,0x3f,0x1f,0x35,0xd2,0x28,0x9a,0xd2,0x1d,0x6a, + 0x24,0x10,0x46,0x31,0x5a,0xd5,0x64,0x14,0x70,0x8a,0x70,0xcd,0x49,0x15,0x36,0x11, + 0x18,0x42,0x5d,0x7b,0xe4,0x61,0x13,0x63,0x11,0xc4,0xf2,0xb2,0xbd,0xb2,0xdb,0x1, + 0x6a,0x8d,0x42,0x77,0x55,0x7b,0xe1,0x79,0x5c,0xdb,0x33,0x3,0x9e,0x30,0x19,0xfc, + 0xe6,0x85,0xd7,0x14,0x79,0x9e,0xd5,0xf6,0xc,0xe8,0x9a,0x99,0xc9,0x9d,0x41,0x77, + 0x36,0x21,0x76,0x24,0x1b,0x1f,0x4e,0x40,0x86,0xf1,0x67,0xa3,0xe7,0x57,0xb2,0xf2, + 0xaa,0x6b,0x54,0x1f,0x81,0x59,0xb,0x57,0xbb,0xb4,0x9b,0x42,0xb,0x45,0xb,0x5a, + 0x6b,0xe1,0x6a,0xa7,0x91,0xbd,0xba,0x51,0xb4,0xce,0xeb,0x4,0xc,0x6a,0x7c,0x74, + 0x8,0x11,0xe6,0x89,0x9f,0x75,0x43,0x33,0x5b,0x75,0xed,0xc4,0xf3,0x16,0xfa,0x7c, + 0x7b,0x9a,0xf1,0x16,0xfa,0xfc,0xd7,0x4f,0xb3,0x5e,0xe,0xa7,0x21,0xdd,0x4c,0x5b, + 0xcb,0xa9,0x40,0x79,0x6f,0xc2,0xcc,0x56,0x5d,0x3f,0xef,0x3e,0xf1,0xd2,0x1f,0xcb, + 0xf4,0x2b,0x64,0x59,0xf7,0x67,0x5e,0x90,0x35,0x75,0x9b,0x32,0x8c,0xf5,0x71,0xf4, + 0xa5,0xa8,0xb9,0x76,0xc6,0x45,0x8b,0xe8,0x7d,0x7b,0x7e,0x89,0x16,0xd1,0xfb,0xaf, + 0x9e,0x5f,0xbd,0x1d,0x45,0x43,0xb4,0x99,0x3e,0x9b,0x93,0x41,0x71,0xcf,0x51,0x92, + 0x6e,0x78,0x66,0xab,0xae,0x9f,0x7a,0x9f,0x68,0xe9,0x8d,0x68,0xd2,0xb7,0x39,0x9f, + 0x3b,0xd1,0xfa,0x3a,0x29,0x8a,0xa8,0x6c,0xbe,0x61,0x9a,0xfe,0x94,0xff,0x6,0xdb, + 0x65,0x9b,0x63,0x36,0xcf,0x60,0xd9,0x6b,0xd4,0xfd,0xbb,0xff,0x85,0x5,0x32,0xa2, + 0x31,0xbd,0xdc,0x1f,0x17,0x74,0xad,0x8f,0x41,0xd5,0xb5,0x53,0xde,0xc6,0x8b,0xdf, + 0x9e,0x60,0x6d,0xbc,0xf8,0x5f,0x3d,0xc1,0x7a,0xfb,0xe5,0x13,0xa2,0xaa,0xf1,0xf1, + 0x6d,0x24,0x48,0x6f,0x82,0xcc,0x56,0x5d,0x3f,0xf5,0x27,0x55,0xfc,0xd5,0x6b,0x54, + 0xfc,0xfb,0xfa,0x61,0x22,0xd2,0xa2,0xb9,0xfa,0x2f,0x45,0x6f,0x7a,0x99,0xad,0xba, + 0x76,0xe6,0xf5,0x49,0xd,0x0,0x7d,0x32,0x3,0xc0,0x7e,0xfb,0xf6,0xdb,0xe3,0xfa, + 0xdf,0x1e,0xa3,0x86,0x3e,0x71,0x58,0x1e,0xc8,0xf4,0x61,0xaa,0x16,0x35,0xd7,0x73, + 0xa7,0x85,0x5,0x31,0x25,0xf6,0x3a,0xfa,0x70,0xb0,0xc0,0xa6,0x85,0x1,0x31,0xa5, + 0xf6,0xea,0xe4,0x70,0xf0,0x59,0x68,0x76,0x1b,0x47,0x8,0xd2,0x92,0x35,0x96,0x86, + 0xc,0xf8,0xd8,0xb,0xcb,0xdc,0xda,0xeb,0x26,0x9f,0xb1,0x53,0xca,0x44,0xe6,0x8d, + 0x57,0x9c,0xfb,0xde,0xdb,0xab,0x53,0x4,0x89,0xe6,0x3f,0xa,0xb5,0xde,0xb,0x64, + 0x54,0x6f,0xca,0x5e,0x51,0x7d,0x3d,0xd,0x4e,0xe9,0x20,0x61,0xde,0xe8,0xc5,0xb9, + 0x93,0xae,0x4f,0x7,0x49,0x85,0x43,0xf5,0x4e,0x12,0xe4,0x9e,0xb4,0xe9,0xdc,0x51, + 0x92,0xd7,0x5e,0xcf,0x81,0x53,0x3a,0x4b,0x98,0x37,0x92,0x71,0xee,0x8c,0xeb,0x33, + 0x20,0x8f,0x78,0xf3,0x7d,0xd5,0x30,0x10,0x8a,0xe4,0xf9,0xa7,0x1a,0x9e,0x8e,0xcb, + 0xe7,0xd5,0xd7,0x92,0x40,0x9c,0xd2,0x7d,0xc2,0xbc,0xc1,0x8d,0x73,0xa7,0x5c,0x8f, + 0xb1,0x79,0xe4,0x9e,0x7c,0x6a,0x10,0x9f,0x47,0xa2,0xbf,0xa0,0x43,0x51,0x7d,0x3d, + 0x9,0x4e,0xe9,0x48,0x61,0xde,0x30,0xc7,0xd9,0x53,0xae,0xb7,0x38,0x3d,0x12,0xac, + 0xf9,0xae,0x4a,0x39,0x87,0xbd,0xaf,0x3f,0xff,0xf0,0xb6,0xfa,0x5a,0xe,0xc8,0x93, + 0x9a,0xf,0xde,0x90,0xc7,0xb9,0x33,0xae,0x97,0x20,0x4,0x72,0x75,0xf0,0x6,0x81, + 0x8,0xe4,0xca,0x96,0xee,0x83,0x11,0x79,0xf5,0xf5,0xd3,0x7f,0x52,0xb3,0xc1,0x1b, + 0xfe,0x38,0x77,0xb2,0xf5,0x1a,0x90,0x40,0x92,0x35,0x8f,0x7e,0x9,0x62,0x45,0x50, + 0x6f,0xe7,0xde,0x8a,0xea,0xeb,0x69,0x70,0x52,0xcb,0xc1,0x1b,0xa,0x39,0x77,0xd2, + 0xf5,0x19,0x9c,0x40,0xa6,0xf9,0x63,0xed,0x6c,0x14,0x1,0x71,0xc7,0x9f,0xd2,0x7d, + 0x90,0x22,0xaf,0xbe,0x96,0x5,0xfa,0xa4,0xa6,0x83,0x37,0x2c,0xf2,0x2d,0x50,0xf1, + 0x65,0x3,0x15,0x48,0xe9,0xc6,0xcf,0x4a,0x5,0x8e,0x23,0xd5,0xb,0x6d,0xdd,0xda, + 0xeb,0x79,0xd4,0xc2,0xfa,0x68,0x1b,0xb4,0x60,0xde,0x8,0x49,0x5d,0xd0,0x82,0xd9, + 0xeb,0x5b,0xd0,0xe2,0x30,0x68,0x81,0x48,0xf3,0x8d,0x79,0x13,0x59,0x40,0x1d,0x3c, + 0xa2,0xf7,0xb3,0xa1,0xb,0x54,0xff,0x10,0x1d,0xa1,0xf0,0x29,0x35,0x42,0x45,0xbe, + 0x69,0x84,0x3d,0x44,0x2f,0x40,0xd2,0x35,0x7a,0xe8,0x99,0x1b,0x62,0x0,0xce,0xf6, + 0xe6,0xe0,0x73,0x9b,0xa8,0xa7,0xc4,0x29,0xb5,0x43,0x45,0xbe,0x69,0x87,0xdd,0x47, + 0x32,0x10,0xf0,0xfb,0xc8,0x68,0x6,0xd2,0xce,0xa3,0xb,0x7b,0x89,0x68,0xe4,0x2d, + 0xd4,0xf2,0x81,0x9e,0x52,0x4f,0xdc,0x3d,0xd4,0xff,0x35,0xb1,0xaf,0xe7,0xa8,0x6, + 0x32,0x47,0xec,0xbc,0xdb,0xd0,0x3,0x52,0xb8,0xcf,0x5f,0x1d,0x96,0x4d,0xd4,0x13, + 0xe2,0x94,0xee,0x66,0x45,0x5f,0xa5,0xbb,0xb9,0xdf,0x8,0x7,0x12,0x47,0x44,0x72, + 0xb7,0x61,0x8,0x44,0x69,0xdf,0x91,0x8e,0xbc,0x89,0x5a,0x42,0x9c,0xf4,0xe8,0x8a, + 0x7a,0x95,0x47,0x57,0xfa,0x8d,0x76,0x20,0xed,0x3c,0x4,0xb3,0x61,0xc4,0x3,0x49, + 0xd5,0x9b,0x4f,0xd0,0x6d,0xa2,0x9e,0xf,0x27,0x35,0x3d,0x5e,0xe5,0x19,0x96,0xde, + 0x22,0x1f,0x95,0x68,0x46,0xc3,0xe8,0x7,0xd2,0xa6,0x37,0x93,0xc3,0x6d,0xa2,0x9e, + 0xa,0x27,0x35,0x39,0x5e,0xe5,0x51,0x96,0xde,0xa3,0x20,0xa0,0xf9,0x91,0xc6,0x4, + 0xdc,0x86,0x2a,0x10,0x57,0xbd,0x19,0x1d,0x6e,0x13,0xb5,0x94,0x38,0xe9,0xc1,0x16, + 0xf5,0x5a,0xf,0xb6,0xf4,0x1a,0x11,0x41,0xc7,0x7,0x45,0x10,0xeb,0xcf,0xe3,0xe7, + 0x36,0x51,0x4f,0x88,0x93,0x5a,0x1d,0xa7,0x3b,0xe4,0xf2,0x2d,0x38,0x72,0x54,0x70, + 0x4,0x2c,0xe7,0x46,0x22,0xd4,0x9,0x61,0x54,0x3c,0x3d,0xbd,0x4,0x49,0xf2,0x16, + 0x6a,0x39,0xd5,0xe6,0xd0,0x4c,0xdb,0x40,0x89,0x6a,0x73,0x66,0xe6,0xf8,0x40,0xc9, + 0xe5,0xc8,0xbe,0xd,0x31,0xff,0x74,0x17,0x67,0x61,0x14,0x66,0xe1,0x77,0x65,0x47, + 0x8a,0x94,0x62,0x6f,0xb9,0x4c,0xa3,0xe9,0xf8,0xdf,0x3f,0xfe,0x54,0xf6,0x7d,0x32, + 0x19,0xff,0x27,0x49,0x3f,0xee,0xfa,0x64,0xb,0x84,0xd7,0xc9,0x1a,0xba,0x5a,0xc2, + 0x9,0xe5,0xa2,0xc9,0xd8,0xf2,0x2e,0xcc,0xde,0xcf,0xee,0xc2,0x9b,0xd8,0xbe,0x3c, + 0xf6,0xaf,0xf,0x77,0x73,0x68,0xbc,0xcc,0xa8,0x14,0xb6,0x6f,0x87,0xd8,0x55,0xba, + 0xa9,0x36,0x8d,0x37,0x2f,0x87,0xf5,0xbe,0x4f,0x37,0x9a,0xdc,0xcd,0xec,0x4d,0xa3, + 0xdf,0xb2,0xd9,0x7c,0xfe,0xb3,0x6d,0xc4,0xc5,0x78,0xb4,0xed,0x68,0x81,0x83,0x33, + 0x8e,0xcb,0x51,0x31,0xca,0xfc,0xdb,0xcd,0x6e,0xf4,0x95,0xf7,0x75,0xee,0xde,0xb9, + 0x99,0x26,0xeb,0xe5,0x5d,0x12,0xc5,0xdb,0x2,0xfb,0xf9,0xf3,0xf0,0x3a,0x9e,0x5f, + 0xd,0xff,0x1e,0xce,0xff,0xb7,0x8e,0x7,0x85,0x3d,0x52,0xd4,0x3b,0x18,0x64,0x9e, + 0x45,0x28,0x39,0xd6,0x94,0xc8,0xed,0x2a,0x94,0x9a,0x33,0x23,0xb4,0x5d,0x8f,0xf6, + 0x99,0xda,0x2a,0x7f,0xa,0x20,0x55,0x9c,0x10,0xf1,0xae,0xb2,0xc4,0x6e,0x18,0x15, + 0x8e,0xde,0x99,0xc2,0x62,0x38,0x60,0xc7,0x4e,0x8c,0x4d,0x1,0x98,0x31,0x40,0xf6, + 0xf6,0xcd,0x81,0x61,0xe7,0x86,0x93,0xde,0xe5,0x5,0x1d,0xf1,0xb7,0xca,0xd2,0xe4, + 0x63,0x3c,0x7e,0xc3,0xb4,0xbd,0xb6,0x5f,0x37,0xef,0x14,0x1d,0xe3,0x40,0x14,0x9, + 0x80,0x7f,0x9c,0xce,0x67,0xf0,0x67,0xcc,0x8b,0xb4,0x28,0x5c,0xdd,0x86,0x69,0x1a, + 0x3e,0x8e,0x17,0xc9,0x22,0x76,0x53,0x37,0x7c,0x1e,0xe3,0x22,0x6d,0x47,0xd6,0xea, + 0x52,0xb0,0x63,0xa2,0xb4,0x12,0xbf,0xd9,0xbe,0xcd,0xd4,0x6e,0xcc,0x9c,0x71,0xf7, + 0x86,0xe2,0x2d,0xa6,0x9e,0x2c,0xfb,0xfa,0xd2,0x40,0x4a,0xa2,0xb1,0xfb,0xae,0x0, + 0x90,0xb0,0x22,0x60,0x84,0x12,0x55,0x9,0x81,0xa6,0xf6,0xd5,0x25,0x81,0x62,0x82, + 0x11,0x62,0xdc,0xa7,0xcf,0xa7,0x8f,0x95,0xc,0x87,0x60,0x6d,0xb1,0xdf,0xb,0xa7, + 0xbc,0x3c,0xf0,0x19,0x31,0xa4,0x3,0xf0,0x4d,0x0,0xf6,0xb9,0xa9,0xda,0xde,0x2f, + 0x1,0xfd,0x4a,0x30,0xe1,0x45,0xa2,0x2f,0x3a,0x40,0x9f,0x80,0x5d,0xc4,0x80,0x66, + 0x3d,0x70,0xff,0x72,0x74,0xb3,0x2f,0xe1,0xf6,0xf1,0x1f,0x1e,0x2f,0xfa,0x40,0x7b, + 0xa6,0xc2,0xbe,0x1e,0x82,0xda,0x47,0x2b,0x52,0xa6,0xa8,0xfb,0x58,0xca,0xad,0xec, + 0xa3,0xb4,0xb,0xd9,0xe7,0xf8,0xf3,0x5f,0xe0,0xfc,0x77,0x23,0xfa,0x4c,0xc0,0x8d, + 0xe6,0xb2,0xf2,0x18,0xc0,0xc7,0xfc,0xa9,0x99,0x82,0x18,0x59,0x39,0x9d,0x79,0xc2, + 0xd5,0x57,0x71,0x66,0xbf,0x48,0xec,0x69,0x17,0x6b,0xf,0x94,0x68,0xcd,0x64,0xc5, + 0xb,0xfd,0x12,0xb0,0xaf,0x38,0x73,0x5f,0x24,0xfa,0xbc,0x3,0xf4,0xa9,0x7d,0xae, + 0xab,0xd6,0xb8,0x7,0xf4,0xfb,0x91,0x7c,0xa0,0xf4,0x29,0xfb,0xfc,0x6c,0x71,0xa1, + 0xc0,0x78,0x54,0x14,0x26,0xe9,0x40,0xf0,0x49,0xde,0x81,0xe0,0xab,0xf8,0x54,0x5f, + 0xe2,0xfc,0x57,0x1e,0x5c,0x74,0x56,0x4a,0xdf,0x9e,0x3f,0xf1,0x45,0x82,0xaf,0x3b, + 0xd9,0x76,0x5e,0xa2,0xd2,0x57,0xf5,0xa6,0xbd,0x44,0xf0,0x55,0x17,0x7b,0xfe,0x69, + 0x75,0x3e,0xaf,0x80,0x93,0xf6,0x35,0x22,0x7a,0x2b,0xe0,0x14,0x36,0x56,0x12,0x5f, + 0x90,0x80,0x71,0xa8,0x8f,0x5a,0xab,0x56,0x72,0xab,0xe0,0x98,0x7d,0x1,0x47,0xdc, + 0x68,0xca,0x32,0xcc,0x6e,0x9d,0x69,0xae,0xbe,0x3f,0x32,0x4c,0x27,0x87,0xe,0x91, + 0xdd,0xcc,0x7f,0xd6,0x7,0xf5,0xd4,0xcc,0xbb,0x73,0xb7,0x99,0x76,0x11,0x48,0x63, + 0xff,0x69,0x72,0xfc,0xec,0x3f,0x35,0xd3,0x76,0x58,0x8c,0x54,0x1c,0x4a,0xe5,0xd8, + 0xfc,0x3e,0x3e,0xb7,0x80,0xd7,0x35,0xe8,0x14,0xb0,0x33,0xaa,0x3,0x6c,0xdf,0x73, + 0x53,0xe1,0xc5,0xae,0xc0,0xa3,0xbf,0x0,0xf4,0xec,0xd7,0x1,0x55,0x81,0x65,0xe, + 0x35,0x17,0x65,0x23,0x83,0xbf,0xd,0xca,0xe2,0x17,0xe5,0xa7,0x1,0x1e,0x10,0x7b, + 0x11,0xd0,0xd6,0x31,0xc6,0xa4,0x61,0x79,0x5f,0xfd,0x7f,0x3a,0x9d,0xf0,0x91,0x9, + 0x2c,0x0,0x8e,0x4d,0xc1,0xa5,0xcd,0x17,0x1e,0x50,0x98,0x13,0xc2,0xec,0xcb,0xcf, + 0xa4,0x7d,0x8a,0xfd,0x3b,0x57,0x3e,0xec,0x11,0xc7,0xe1,0x46,0x3e,0x3f,0x95,0xc9, + 0x87,0x2a,0xc5,0x26,0x25,0x5d,0xcf,0xe3,0x71,0xfc,0x29,0x5e,0x24,0x51,0x54,0xca, + 0x2,0xe8,0x20,0x5c,0x7,0xb2,0x80,0x8,0x6d,0x4,0x53,0xcb,0x87,0x22,0xc7,0x4a, + 0x9a,0x49,0xb8,0x1c,0x5f,0xaf,0xb3,0xcc,0x4d,0xfb,0x6f,0x32,0x5b,0x8c,0x73,0xce, + 0xec,0xd3,0x2,0xb6,0x7b,0x63,0xf5,0x80,0xca,0x51,0xfe,0x7c,0x12,0x88,0xe,0x28, + 0x37,0x42,0xc9,0xb,0x1,0x1f,0x18,0x18,0x40,0x74,0xf0,0x8b,0x93,0x4a,0x40,0x3d, + 0xc0,0xaa,0xa2,0xd8,0x14,0xbc,0xa2,0x54,0x28,0xdf,0xa4,0xc3,0x98,0x62,0xbb,0x6e, + 0x56,0x57,0xc3,0xc9,0xe4,0x8c,0xa0,0xa2,0x38,0x20,0x9a,0xf2,0xb,0x19,0x30,0x8d, + 0x29,0xb6,0x38,0x51,0x16,0x60,0xc3,0x39,0x53,0x40,0x12,0x69,0xb4,0x61,0xc2,0xf8, + 0x81,0x32,0xaf,0x11,0x28,0x1d,0x68,0xa9,0x61,0x9,0xb2,0xa,0x52,0xf6,0x1d,0x25, + 0xc0,0xad,0xca,0x1,0xfd,0x1d,0x52,0xd2,0x2b,0x47,0xce,0x15,0x29,0x67,0x9d,0xe1, + 0x0,0x63,0x41,0xb5,0xae,0xae,0x3e,0x16,0x30,0xa9,0x2a,0xf7,0x39,0x50,0xb1,0x57, + 0x5,0x15,0x2c,0x3b,0x46,0xb9,0x2c,0x69,0x95,0xcb,0x29,0x16,0x70,0x8a,0x41,0x26, + 0x97,0xac,0x52,0x7e,0xa8,0xbc,0xfb,0xdb,0xf9,0x43,0xb5,0x15,0x55,0x44,0x3b,0x58, + 0x95,0xb2,0x4a,0xfa,0xa1,0x3a,0x42,0xa6,0x6f,0x35,0xb4,0xfc,0xcf,0xa5,0x8d,0xb6, + 0xbc,0xff,0xee,0xff,0xb8,0x72,0xdc,0xc3, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/dial.svg + 0x0,0x0,0xa,0x94, + 0x0, + 0x0,0x47,0x82,0x78,0x9c,0xe5,0x5b,0x59,0x93,0xdb,0xb8,0x11,0x7e,0xf7,0xaf,0x50, + 0xe4,0x17,0xbb,0x32,0x2,0x71,0x1f,0xda,0x91,0xb7,0x52,0xeb,0xf2,0xd6,0x56,0xed, + 0x56,0x52,0xb1,0x5d,0x79,0x4c,0x51,0x24,0x74,0xc4,0x92,0xa8,0x90,0x94,0xa5,0xd9, + 0x5f,0x9f,0x6,0x45,0x52,0xa4,0x44,0x8d,0xe,0x73,0x8e,0xcc,0x68,0x6c,0x8f,0x8, + 0x34,0xd9,0xe8,0xaf,0xbf,0x6e,0x0,0x4d,0xf8,0xf6,0xe7,0xcd,0x7c,0xd6,0xf9,0x6e, + 0xe3,0x64,0x1a,0x2d,0x6,0x5d,0x82,0x70,0xb7,0x63,0x17,0x41,0x14,0x4e,0x17,0xe3, + 0x41,0xf7,0xeb,0x97,0x4f,0x3d,0xdd,0xed,0x24,0xa9,0xbf,0x8,0xfd,0x59,0xb4,0xb0, + 0x83,0xee,0x22,0xea,0xfe,0xfc,0xe1,0xcd,0xed,0x5f,0x7a,0xbd,0xce,0x2f,0xb1,0xf5, + 0x53,0x1b,0x76,0xd6,0xd3,0x74,0xd2,0xf9,0x6d,0xf1,0x2d,0x9,0xfc,0xa5,0xed,0xbc, + 0x9b,0xa4,0xe9,0xb2,0xef,0x79,0xeb,0xf5,0x1a,0x4d,0xf3,0x46,0x14,0xc5,0x63,0xef, + 0x7d,0xa7,0xd7,0x83,0x3b,0x93,0xef,0xe3,0x37,0x9d,0x4e,0x7,0xd4,0x2e,0x92,0x7e, + 0x18,0xc,0xba,0xb9,0xfc,0x72,0x15,0xcf,0x32,0xb9,0x30,0xf0,0xec,0xcc,0xce,0xed, + 0x22,0x4d,0x3c,0x82,0x88,0xd7,0xdd,0x89,0x7,0x3b,0xf1,0xb5,0x1d,0xa2,0xd8,0x26, + 0xd1,0x2a,0xe,0xb6,0x8f,0xf,0x82,0xaa,0x64,0x1c,0x8e,0x76,0xa2,0x30,0x92,0x35, + 0xcb,0x84,0x88,0x31,0xc6,0xc3,0xd4,0xa3,0xb4,0x7,0x12,0xbd,0xe4,0x6e,0x91,0xfa, + 0x9b,0xde,0x22,0x79,0x5b,0xb9,0x15,0x6,0xd8,0x74,0x2b,0xc5,0x18,0x7b,0xd0,0xb7, + 0x93,0x3c,0x4f,0xaa,0xbf,0x99,0x1,0xc,0x47,0x7,0x93,0xf5,0x56,0xb5,0x3,0xf4, + 0x4b,0xf8,0x5b,0xde,0x50,0x34,0xa0,0xad,0xad,0x23,0xb8,0xd3,0xa2,0x85,0x4d,0xbd, + 0x8f,0x5f,0x3e,0x96,0x9d,0x3d,0x8c,0xc2,0x34,0xac,0x3c,0xa6,0x40,0xbe,0xa6,0xb7, + 0xe6,0x8e,0x85,0x3f,0xb7,0xc9,0xd2,0xf,0x6c,0xe2,0x15,0xed,0xd9,0xfd,0xeb,0x69, + 0x98,0x4e,0x6,0x5d,0xca,0xb3,0xab,0x89,0x9d,0x8e,0x27,0x69,0x79,0x39,0xd,0x7, + 0x5d,0xb0,0x8e,0x66,0x17,0x85,0xf2,0x7e,0x49,0x1f,0x8c,0xd8,0xb6,0xab,0x78,0x62, + 0xb5,0x8b,0x8b,0xac,0xab,0xc6,0xb5,0xda,0x63,0xc2,0x28,0x18,0xfa,0x9,0xc,0xd9, + 0x9b,0x44,0x73,0xeb,0x2d,0x67,0x43,0xeb,0xaf,0xc2,0x68,0xba,0xf0,0x3e,0x7f,0xfa, + 0xfd,0x1f,0x13,0xa0,0x9f,0x97,0x8c,0x66,0xcb,0xda,0x97,0xde,0x38,0xfd,0xe6,0x2d, + 0xa7,0x9b,0xb9,0xbf,0x4c,0xe,0x9e,0xe6,0x4c,0x1c,0x74,0xc3,0xa9,0x3f,0x43,0x85, + 0x4b,0xca,0x81,0x45,0xab,0x74,0xb9,0x4a,0xff,0x6d,0x37,0xa9,0x5d,0x6c,0xc7,0x3, + 0xa0,0x54,0x10,0xca,0xba,0xdd,0x6d,0xa8,0x86,0x4e,0xf9,0xf8,0x39,0xfc,0x33,0x9a, + 0x5a,0xc0,0x23,0x8d,0x57,0xb6,0xfb,0x1,0x3a,0x6f,0x43,0x3b,0x4a,0x9c,0xd0,0x16, + 0x27,0x77,0xc5,0xb3,0xe,0xe8,0x2,0x2f,0x5b,0x3f,0xfe,0x35,0xf6,0xc3,0x29,0x10, + 0x7b,0x2b,0xb4,0x15,0xab,0xf7,0x70,0xc,0x30,0x7d,0xc8,0xfb,0x6f,0x93,0x34,0x5a, + 0x16,0xb2,0xa0,0x3b,0xbd,0x9b,0x81,0x3d,0xae,0xb1,0x17,0x44,0xb3,0x28,0xee,0xbf, + 0x1d,0x65,0x9f,0x9f,0xb2,0xa6,0x8,0x9c,0x39,0x4d,0xef,0xfa,0x5b,0x54,0xb7,0x9f, + 0x68,0x34,0x4a,0x2c,0xb8,0xaf,0xda,0x96,0xf9,0x10,0x6e,0x0,0x55,0xaa,0xdb,0xf1, + 0x2e,0x50,0x16,0x8c,0x86,0xc1,0x70,0x4f,0x19,0x92,0x86,0x4b,0x83,0xa9,0xf9,0xa9, + 0x41,0x2d,0x69,0x56,0x6b,0x4a,0xb5,0xb7,0x5e,0xdd,0xfc,0x4b,0xd1,0xa2,0xd2,0x5c, + 0x80,0x16,0x9,0x87,0x10,0x9e,0x75,0x3,0x48,0xd3,0xb8,0x1b,0xe1,0xa2,0x8a,0x5c, + 0x4,0x57,0x93,0x36,0x7c,0x36,0x4a,0x54,0xb1,0xd6,0x50,0x22,0x9a,0x1d,0x43,0xa9, + 0xd4,0x47,0xb4,0x38,0x1,0xc4,0xf9,0x80,0x1e,0x45,0xa9,0xa2,0x4d,0x9d,0x0,0xa2, + 0x41,0x1b,0x1e,0x89,0xd1,0x3d,0xda,0x7e,0x18,0x25,0xa9,0x2e,0xe0,0x92,0x6,0xc3, + 0xb1,0xbd,0x96,0x4b,0x44,0x9a,0x8b,0xb8,0xe4,0x60,0x26,0xfc,0x5a,0x2e,0x91,0xa, + 0x73,0x2f,0x43,0xa9,0xc8,0x96,0x30,0x8c,0x99,0xd,0xe0,0xf9,0xfe,0x6c,0xed,0xdf, + 0x25,0xa5,0x92,0x6c,0xf6,0xea,0x4f,0x62,0xb,0xb3,0xed,0xdb,0x6,0xd6,0xdd,0x4b, + 0xca,0xdd,0x58,0x37,0x4,0x46,0x8e,0x91,0x50,0xdc,0xec,0xee,0xb9,0x73,0x8d,0x14, + 0x11,0x22,0x84,0x30,0x3b,0x51,0x3a,0xe8,0xc2,0x6c,0x27,0x35,0x8,0xd3,0x7c,0xb6, + 0xc9,0xa4,0x69,0x93,0xf4,0x38,0xd7,0xf6,0x75,0x31,0x4d,0x61,0xbe,0x5e,0x25,0x36, + 0xfe,0xec,0xe6,0xbc,0xbf,0x2f,0xbe,0x26,0xf6,0x40,0xea,0x4b,0xec,0x2f,0x12,0x98, + 0x60,0xe7,0x2e,0xa9,0xc3,0xd7,0x19,0x2c,0x6f,0xde,0x11,0x44,0x25,0xa4,0x19,0x72, + 0xd3,0x83,0xc5,0x8,0xc6,0x4a,0xd0,0xf7,0x3b,0x30,0x9f,0x0,0x36,0x23,0x6a,0xb0, + 0x31,0x2,0x19,0x98,0x1a,0xa9,0xeb,0xb8,0xb9,0x51,0x73,0x4a,0x64,0xd,0x37,0xca, + 0x90,0x86,0x8f,0x14,0x75,0xd4,0x18,0x62,0x42,0x54,0xa0,0x6c,0x1,0x34,0xf0,0x90, + 0xe1,0xa,0x13,0x7d,0x3,0xdf,0xb4,0x16,0xc4,0xe8,0x27,0x45,0x8d,0x62,0x56,0x27, + 0x9b,0x40,0x92,0x2b,0x4a,0xea,0x6c,0xa3,0x48,0x61,0xa,0xf8,0xd4,0x51,0x23,0x1c, + 0x61,0xc2,0x24,0xd3,0x75,0xd4,0x1c,0x5d,0x25,0x3c,0xe2,0x4c,0xd8,0x1e,0xd2,0x78, + 0x37,0xb,0xde,0x67,0xbc,0x90,0x35,0xe3,0x15,0x2,0x87,0xb8,0xe8,0xa9,0x53,0x46, + 0x20,0x43,0x28,0xd3,0xba,0x66,0xbc,0x82,0x88,0x22,0x5c,0x73,0x52,0x37,0x9e,0x20, + 0x61,0x14,0xa3,0xa2,0x4d,0xce,0xc0,0xa,0x91,0x4a,0x22,0x80,0x32,0xe0,0x7,0x9, + 0xbe,0x91,0xf,0x4b,0x99,0x53,0xa8,0x49,0xfc,0xe3,0xd6,0xcd,0xfd,0x34,0x9e,0x6e, + 0xde,0xf5,0xc8,0xd,0x86,0x1f,0x72,0xc3,0x28,0xc2,0xc0,0xd5,0xcc,0x46,0xd,0xc, + 0x64,0xef,0x6b,0x9e,0x81,0x5e,0x29,0x60,0x6e,0x54,0x75,0xcf,0x50,0x24,0xa9,0x80, + 0x35,0x56,0xcd,0x33,0x12,0x69,0xa6,0xb4,0x36,0x6a,0x3f,0x98,0xd,0xec,0x41,0x4, + 0x7b,0xc2,0x68,0xa3,0x34,0xdf,0x2d,0x14,0x66,0x11,0x18,0x2b,0x95,0xca,0xc8,0x9a, + 0x59,0x12,0x29,0x8,0x36,0x55,0x89,0xc1,0x2c,0x47,0x29,0x24,0x24,0xad,0x67,0x28, + 0x4a,0x91,0x20,0x54,0xe0,0x16,0xe8,0x96,0x3b,0x4,0x92,0x92,0x12,0x98,0x8a,0xcc, + 0x2d,0xbb,0xb,0x24,0xa5,0x54,0x98,0xc1,0x17,0xa2,0x94,0xc1,0xea,0x24,0x1,0x8f, + 0x6b,0x80,0xb4,0x4c,0xd,0x61,0x99,0x82,0x5e,0x71,0xd1,0x83,0xac,0x81,0xa5,0xc4, + 0xfa,0x86,0x19,0xa4,0x20,0x29,0xaa,0xf7,0x17,0x9a,0x74,0x97,0x79,0x5e,0x2a,0x85, + 0x8d,0xaa,0x47,0x2a,0xc4,0xaf,0xc6,0xb2,0x36,0x25,0x92,0xc,0x3a,0xd,0xa1,0x8e, + 0x75,0xdd,0x21,0x90,0xfe,0x18,0x66,0x95,0xa9,0xa4,0x29,0x0,0x94,0xb8,0x3c,0x8e, + 0x8e,0xb1,0xea,0x4,0x8e,0x75,0xea,0x9e,0xa0,0x79,0x73,0x48,0x34,0x86,0xcf,0x8f, + 0x85,0xe4,0x79,0x2e,0x39,0x84,0x8e,0xd4,0xb2,0xe8,0x3,0x43,0x77,0x71,0x4e,0xbd, + 0x9c,0x70,0xf,0xe1,0x99,0x46,0xd4,0xe4,0xa3,0xa3,0x76,0x86,0xf1,0x7,0x13,0xfd, + 0x91,0x45,0x41,0xf3,0x2,0xa2,0x71,0xb1,0xd1,0x68,0x3c,0x3f,0xcb,0xf8,0x5a,0xea, + 0x7d,0x8,0xca,0x34,0x2e,0xdd,0xae,0x80,0xd,0x72,0x36,0x13,0x8a,0x88,0x1a,0x6c, + 0xb0,0x5a,0x65,0xb0,0xcf,0xd2,0xfb,0x94,0xd9,0x17,0x75,0x58,0x72,0xc4,0x8c,0xaa, + 0x26,0xfd,0x46,0xd4,0xe8,0xf3,0x40,0xad,0x69,0x97,0x70,0x15,0x68,0x9a,0xa,0x6d, + 0xea,0x81,0xa6,0x20,0xfa,0x18,0xfc,0x11,0xfb,0xa8,0xed,0xcb,0x92,0xac,0xa8,0x86, + 0x39,0xb0,0x4d,0xde,0x8f,0x1a,0x7e,0x34,0xd4,0x9a,0xd4,0x2b,0x7e,0xaa,0x1c,0x1, + 0x32,0x3b,0xb,0xce,0x2e,0x47,0x1c,0xd9,0x93,0x9f,0x2c,0x47,0x80,0x36,0xdd,0xa0, + 0xed,0x44,0x39,0xe2,0xc8,0x9e,0xbc,0xa5,0x72,0x4,0x24,0x17,0x7d,0x41,0x39,0x82, + 0xca,0x1f,0x28,0x6d,0x81,0xfd,0xf8,0xb2,0xd2,0x16,0x6f,0xac,0xc4,0xdc,0xf,0x61, + 0x45,0x1b,0x6d,0x11,0x25,0x7a,0x9a,0x4b,0x92,0x5f,0xce,0xa5,0x23,0x80,0x9e,0xc1, + 0x25,0xd9,0xc4,0xdc,0x13,0x5c,0x6a,0xd2,0x76,0x35,0x97,0x1e,0x6e,0x65,0x4f,0x38, + 0x96,0x17,0xa6,0xb5,0xb6,0x77,0xdb,0x4f,0xb7,0xad,0x1,0xe3,0xf5,0x85,0xc6,0x5f, + 0x3d,0x65,0xb4,0x5e,0x10,0x7b,0x4a,0xd8,0x48,0xb,0x1b,0xe9,0x33,0xd7,0x27,0x2d, + 0x57,0xc4,0x9e,0xae,0xfc,0x0,0xa8,0xb5,0x5a,0x90,0xbb,0x6f,0x23,0xd0,0x76,0x4d, + 0xe8,0x49,0x51,0xe3,0x3f,0x8e,0xda,0x73,0x28,0xda,0xb8,0x51,0xf9,0xb3,0x56,0xa1, + 0xc3,0xbc,0xbe,0x94,0xae,0xab,0x60,0xb4,0x8d,0xec,0x56,0x96,0x57,0x0,0x2f,0x58, + 0xbc,0xe7,0xe5,0x95,0xfc,0xc2,0x85,0x20,0x16,0x5c,0xdf,0x8,0xa4,0xa8,0xa2,0xbc, + 0x12,0xb7,0xc9,0x32,0xb6,0x7e,0xf8,0x87,0x4d,0x27,0x91,0x1b,0x99,0x1d,0x39,0xeb, + 0xca,0xde,0x60,0x3,0x18,0x19,0x44,0x75,0x6d,0x93,0x10,0xdc,0xd,0xba,0x6,0xb9, + 0x36,0x5e,0xa9,0x37,0x8d,0x1a,0x65,0x47,0x8d,0xb2,0x71,0x96,0x64,0x75,0xd6,0xfc, + 0x90,0xac,0xcd,0xd6,0x72,0xc7,0x59,0xcb,0xa8,0x6e,0x35,0x43,0xe2,0x9b,0x1e,0x43, + 0x98,0x81,0xbf,0xd5,0x5e,0x94,0x3,0xcf,0x88,0xe1,0x10,0xe7,0x35,0xaa,0x42,0xec, + 0x43,0x5c,0x31,0x49,0xf6,0xa8,0x2a,0x24,0x36,0x30,0x7b,0xd4,0xa9,0xa,0xbb,0x32, + 0x60,0x12,0x51,0x4f,0x8b,0x57,0xab,0xb9,0x51,0x3a,0xb6,0x10,0x85,0x75,0x89,0xdb, + 0xfe,0x8c,0xf2,0x52,0x60,0x6b,0x21,0x39,0x56,0xd6,0x2f,0xb0,0x6d,0x57,0x98,0xf1, + 0x97,0x8e,0x9a,0x69,0x95,0x6c,0x2,0x66,0x0,0x29,0x25,0x66,0x90,0x5,0x89,0x2, + 0xfc,0x8,0x7b,0xa1,0xb0,0xb5,0x4d,0x36,0x42,0x61,0xa1,0x49,0xa,0xd8,0xb0,0x79, + 0xa1,0xb0,0x5d,0xba,0xc1,0xba,0x1f,0x36,0x8d,0x38,0x56,0x2f,0x1e,0xb3,0x56,0xf7, + 0x65,0x2f,0x7e,0xfa,0x64,0xb8,0xd5,0xe5,0xc6,0x6b,0x99,0x3e,0x19,0x6e,0x75,0x22, + 0x78,0xfc,0xe9,0xf3,0xd6,0x73,0x47,0x12,0xb3,0x6f,0xe5,0x31,0x46,0x77,0x44,0x32, + 0xfc,0x3e,0xb5,0xeb,0x37,0xa5,0xd9,0xee,0xc,0x66,0xfe,0x9c,0xa5,0x3f,0xb6,0x59, + 0x85,0xa,0xc0,0xda,0x1e,0x35,0xcc,0x3b,0x86,0x51,0x1c,0xda,0xb8,0xe8,0x92,0xd9, + 0xa7,0xd6,0x95,0x17,0xb1,0x76,0xa7,0x3c,0x2b,0xbe,0x71,0x4f,0x2d,0xfb,0x71,0x73, + 0x7f,0x32,0xf1,0xc3,0x68,0xd,0x9b,0xab,0xfd,0xce,0x3f,0xa3,0x68,0x9e,0x95,0xc4, + 0x89,0x11,0x65,0xae,0xdc,0xb9,0x1d,0x56,0xff,0x8c,0x21,0xc9,0xb8,0xd2,0xe6,0xa0, + 0xd3,0xd,0x47,0x23,0xad,0xc,0x66,0x6c,0xbf,0x33,0x8c,0x82,0x95,0x3b,0x73,0xdc, + 0x5b,0x6d,0x5d,0xba,0xdc,0x1c,0xdc,0xbe,0x8a,0x63,0x27,0x30,0xf3,0xef,0x2c,0x58, + 0x9d,0xfd,0x2a,0xdc,0x90,0x1f,0x9a,0x65,0xb4,0xbc,0xad,0x38,0x38,0x5b,0x69,0x4a, + 0x26,0xd1,0x7a,0xbc,0x9a,0x86,0x36,0xc9,0xf,0x8d,0xee,0x29,0xc8,0xfa,0x7a,0xc3, + 0x61,0xb4,0x69,0xee,0x5f,0x4f,0x17,0x80,0x49,0x2f,0xd7,0x45,0x70,0xb9,0xd7,0xdd, + 0x97,0x28,0x74,0x4b,0x43,0x8e,0x48,0x80,0x6,0x83,0x8f,0x75,0x2,0x4c,0xe5,0x11, + 0xcd,0xdb,0xb9,0x4d,0xfd,0xd0,0x4f,0xfd,0x1d,0x3f,0x8a,0x96,0xe2,0xb4,0xdc,0x6d, + 0x1c,0x8e,0xfa,0xff,0xfc,0xf8,0xa9,0x2c,0x8c,0x6,0x41,0xff,0x5f,0x51,0xfc,0xad, + 0xa0,0x22,0xec,0xb3,0x40,0xc0,0x1f,0x46,0x2b,0x18,0x52,0x59,0xac,0x75,0xc7,0x65, + 0x83,0xbe,0xb,0xa,0x3f,0xfd,0x30,0x9d,0x83,0xcb,0xdd,0xb1,0xe9,0xbf,0x6e,0xe6, + 0x33,0xa0,0x69,0xd9,0x51,0x13,0x4e,0xef,0x96,0x76,0xf7,0xd0,0xed,0x63,0x8b,0x23, + 0xe0,0x8d,0xc7,0xc8,0xc3,0x60,0x3e,0x75,0x37,0x79,0x9f,0xd3,0xe9,0x6c,0xf6,0x9b, + 0x53,0x52,0x2d,0xe0,0x7a,0xf9,0x40,0x8b,0x1a,0x6b,0xc5,0x8e,0x5b,0xaf,0xb0,0x32, + 0xbb,0x1a,0xef,0x1,0x35,0xf3,0x87,0x76,0x36,0xe8,0xfe,0xe2,0xcf,0xfe,0xbb,0xb2, + 0x9d,0x3,0x1c,0xc7,0x71,0xb4,0x5a,0xce,0xa3,0xd0,0xe6,0x2c,0xe9,0xee,0xc0,0xcb, + 0x59,0x93,0xab,0x1c,0x57,0xd3,0xcd,0x98,0xd1,0x4a,0x59,0x2f,0x6d,0xd8,0x54,0x1b, + 0x29,0x28,0x66,0x32,0xdf,0x55,0x17,0x57,0xee,0x74,0x1,0x53,0x84,0xc2,0xe,0xbb, + 0x87,0xdd,0x9b,0x34,0x2a,0x34,0x4c,0x5c,0xa5,0x99,0x31,0xe4,0xc1,0x8a,0x2f,0xb2, + 0x98,0x53,0x4c,0x30,0x42,0xcc,0x4e,0x1d,0x74,0x6c,0x8e,0x74,0xc0,0xd,0x2,0x31, + 0x58,0x7d,0x29,0x5d,0xad,0x6c,0xbb,0x48,0x43,0x52,0x12,0x5d,0x39,0x5a,0x55,0xa1, + 0x3d,0x4,0x28,0x67,0xbc,0x5a,0xf6,0x2e,0x62,0xe4,0xb0,0x27,0xab,0x46,0xc0,0x28, + 0x29,0x25,0xd,0x55,0xf9,0x5d,0xf5,0x7d,0x4,0x5e,0xec,0x83,0x7f,0xdf,0xbd,0x3d, + 0x5c,0x1,0xbc,0xcf,0x7a,0x2b,0xa5,0xfa,0x24,0x8d,0xa3,0x6f,0xb6,0xff,0x96,0x30, + 0xc5,0xb2,0xd2,0xba,0xbb,0xdc,0x6,0x4f,0x1f,0x60,0x2a,0x1a,0x80,0x21,0x36,0x9e, + 0x4d,0xe1,0x57,0x9f,0x17,0x6d,0xa1,0xf,0xe9,0x27,0x8e,0xfd,0xbb,0xfe,0x22,0x5a, + 0xd8,0x6a,0xeb,0xb6,0x9c,0xdf,0x2f,0x1f,0x57,0xaa,0xab,0xf2,0xea,0xe1,0x0,0x37, + 0xc8,0x1d,0xb6,0x56,0x4c,0xb7,0x85,0x38,0x23,0xa6,0xe1,0xcd,0xc4,0x19,0x88,0x3, + 0xa4,0xaf,0x2,0x71,0x2,0xab,0x1b,0x46,0x1,0xbe,0x16,0x11,0x17,0x57,0x22,0x4e, + 0x9f,0xb,0xe2,0xb7,0xde,0xf8,0x48,0x2,0xa3,0xf4,0x9a,0x4,0xa6,0x10,0xe5,0x8c, + 0x99,0x6d,0x75,0x9a,0x60,0xcc,0x39,0xaf,0x1c,0x8c,0xda,0x87,0xa8,0xd5,0xcc,0x46, + 0x18,0x12,0xc4,0x48,0xa9,0xf7,0x3,0x8d,0x1b,0xcd,0x61,0x9d,0xd5,0x9a,0xdb,0xaf, + 0x4f,0x6d,0xcf,0xc6,0xed,0xf,0x8a,0x38,0x11,0x48,0x69,0x6,0xb,0xb7,0x16,0x11, + 0xa7,0x57,0x22,0xce,0x5f,0x5,0xe2,0xd4,0xbd,0xb8,0xd0,0x1a,0xb7,0x89,0x38,0xbf, + 0x12,0x71,0xf9,0x5c,0x10,0x3f,0x9e,0xda,0x2a,0x87,0x8,0x2e,0x5b,0x9b,0x51,0xd8, + 0x8c,0x18,0x72,0xe3,0x2a,0x58,0x4a,0x13,0x29,0x1e,0x29,0xb3,0x3d,0xd2,0x9a,0xd, + 0x80,0x91,0xd7,0x39,0x5d,0xbf,0x8e,0x15,0x44,0xfb,0x6b,0x36,0x5a,0x8b,0xe4,0x4b, + 0x10,0x7f,0x61,0x53,0xc9,0xa3,0xad,0xd9,0xa8,0xba,0x72,0xf2,0xd6,0xcf,0x66,0x2a, + 0x39,0x9a,0xd8,0xaa,0xa8,0xa6,0x47,0xe,0x5c,0x30,0x22,0xa4,0x62,0xd9,0x49,0x95, + 0xec,0xcc,0x8a,0x3b,0x19,0x5f,0x3a,0x72,0xe9,0xa7,0x93,0x1d,0x38,0x4d,0xb9,0x51, + 0x41,0xa,0xc4,0x26,0x4f,0x8d,0xf9,0x5,0x47,0xb0,0x69,0x23,0x84,0xb9,0xc3,0xf6, + 0xd2,0x9d,0x4d,0x78,0x5f,0x41,0x18,0x6,0xf6,0x47,0x87,0x2a,0xe4,0xbc,0x48,0x4d, + 0xa7,0x7c,0x73,0xdb,0xf9,0x5b,0x47,0x23,0xec,0xce,0x8a,0x72,0x52,0xf9,0x86,0x3b, + 0x4,0x7e,0x3a,0xee,0xfd,0xb2,0x70,0x87,0xf2,0x6e,0xce,0xbc,0xa1,0x49,0xc3,0x9f, + 0x55,0x47,0x17,0x55,0x32,0xc7,0xce,0xf2,0xee,0x46,0x81,0xcd,0x9,0x81,0xe6,0x97, + 0xd5,0x55,0x81,0xc6,0xf7,0xd6,0x5b,0x27,0x39,0x84,0x19,0x91,0xd,0xcb,0x99,0x1d, + 0xf3,0xe,0xdf,0xe6,0x1f,0x63,0x5e,0x95,0x3b,0x5b,0xda,0x9,0x24,0x8d,0xfb,0x68, + 0x72,0x39,0xfb,0x76,0x4c,0x6b,0x30,0xca,0x15,0x5f,0x6,0x5d,0x3f,0xe,0xaa,0x81, + 0x5f,0xe7,0xcb,0xae,0x12,0x19,0x85,0xd6,0xc9,0x27,0x83,0x6e,0x10,0x34,0x0,0x40, + 0xa9,0x50,0xfb,0x14,0x21,0x1a,0x76,0xe,0x46,0x28,0x79,0x23,0xdc,0x16,0x82,0x32, + 0x49,0x3b,0xbf,0x57,0x5a,0x9,0x82,0xf5,0x8d,0xc2,0xd,0xab,0x92,0xc,0xb8,0xcc, + 0x8e,0x1a,0x48,0x40,0x4f,0xb1,0x6d,0x89,0x57,0x33,0xdb,0xb7,0xdf,0x2d,0xc,0x2b, + 0x2c,0x63,0x96,0xfa,0x72,0x44,0xc2,0x83,0x98,0x25,0x42,0x1b,0xc1,0xd4,0x72,0x53, + 0xf4,0xb8,0x34,0x10,0xf8,0xcb,0xfe,0x70,0x95,0xa6,0xd5,0xb6,0xff,0x44,0xd3,0x45, + 0x3f,0xc3,0x76,0x1f,0x3e,0xc,0x1b,0xe,0x8e,0xb5,0x7b,0xb3,0xdd,0xa,0x54,0xe6, + 0x20,0x9a,0x30,0x22,0x9a,0xf2,0x1b,0x89,0x98,0xc6,0x14,0x3b,0x9c,0x28,0x43,0xd8, + 0x70,0xce,0x14,0x4,0xa3,0x34,0xda,0xb0,0xda,0x5d,0xaf,0x3,0x28,0x49,0x8e,0x1, + 0xa5,0x91,0x96,0x1a,0xd2,0x3,0xab,0x21,0xe5,0xe,0xe5,0x1,0xb7,0x74,0xc3,0xc, + 0xfc,0xd2,0x91,0x62,0xc7,0xa3,0xcf,0xfd,0xb7,0x26,0x2c,0xa8,0xd6,0xf5,0xe8,0x63, + 0x88,0x49,0xa5,0x8f,0xa5,0xad,0x17,0xc,0x95,0x38,0x80,0xa,0xc2,0x8e,0x51,0x2e, + 0x4b,0x5a,0x65,0x79,0x8a,0x21,0x4e,0x31,0xcc,0x7d,0x25,0xab,0xd4,0xeb,0x83,0xea, + 0x30,0xa7,0x97,0x50,0xe5,0xa9,0x8a,0xe8,0xa,0x56,0x65,0xae,0x6a,0xd8,0x74,0xfc, + 0x1f,0x40,0x95,0xaf,0xc2,0xb2,0x5f,0xb7,0xee,0x85,0xc7,0x87,0x37,0xff,0x3,0xdd, + 0xe8,0x69,0x19, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/call.svg + 0x0,0x0,0xf,0x35, + 0x0, + 0x0,0x4a,0x35,0x78,0x9c,0xed,0x5c,0x6b,0x73,0xdb,0xc6,0x15,0xfd,0xee,0x5f,0x81, + 0xd2,0x5f,0xe2,0x29,0x9,0xee,0xfb,0xc1,0x48,0xce,0x74,0x94,0x49,0x27,0x33,0xc9, + 0xb4,0xd3,0x24,0xd3,0x8f,0x1d,0x88,0x4,0x25,0xd6,0x14,0xc1,0x82,0xa0,0x25,0xf9, + 0xd7,0xf7,0xdc,0x5,0x1,0x2,0x22,0x28,0x91,0xb2,0x1e,0xb5,0x5d,0xd9,0xb1,0xc8, + 0xbb,0x8b,0xdd,0xbd,0x67,0xcf,0xde,0x17,0x97,0x39,0xf9,0xe1,0xe6,0x6a,0x1e,0x7d, + 0x4c,0xf3,0xd5,0x2c,0x5b,0x9c,0xf6,0x78,0xcc,0x7a,0x51,0xba,0x18,0x67,0x93,0xd9, + 0xe2,0xe2,0xb4,0xf7,0xc7,0xef,0x3f,0xd,0x5c,0x2f,0x5a,0x15,0xc9,0x62,0x92,0xcc, + 0xb3,0x45,0x7a,0xda,0x5b,0x64,0xbd,0x1f,0xde,0xbf,0x39,0xf9,0xd3,0x60,0x10,0x9d, + 0xe5,0x69,0x52,0xa4,0x93,0xe8,0x7a,0x56,0x5c,0x46,0x3f,0x2f,0x3e,0xac,0xc6,0xc9, + 0x32,0x8d,0xbe,0xbb,0x2c,0x8a,0xe5,0x68,0x38,0xbc,0xbe,0xbe,0x8e,0x67,0x1b,0x61, + 0x9c,0xe5,0x17,0xc3,0x77,0xd1,0x60,0x80,0x27,0x57,0x1f,0x2f,0xde,0x44,0x51,0x84, + 0x69,0x17,0xab,0xd1,0x64,0x7c,0xda,0xdb,0xf4,0x5f,0xae,0xf3,0x79,0xe8,0x37,0x19, + 0xf,0xd3,0x79,0x7a,0x95,0x2e,0x8a,0xd5,0x90,0xc7,0x7c,0xd8,0xdb,0x76,0x1f,0x6f, + 0xbb,0x5f,0xa7,0xe7,0x71,0x9e,0xae,0xb2,0x75,0x3e,0x2e,0x87,0x1f,0x8f,0x9b,0x3d, + 0xf3,0xc9,0x74,0xdb,0x15,0x2b,0xb9,0x96,0xa1,0x13,0xf7,0xde,0xf,0x99,0x18,0xa, + 0x31,0x40,0x8f,0xc1,0xea,0x76,0x51,0x24,0x37,0x83,0xc5,0xea,0x6d,0xe3,0x51,0x2c, + 0xb0,0xeb,0x51,0xc1,0x18,0x1b,0xa2,0x6d,0xdb,0xf3,0xb0,0x5e,0xa3,0x9b,0x39,0x60, + 0xd8,0xbb,0x98,0xd0,0xda,0x9c,0x1d,0xd0,0x2f,0xf1,0x5f,0xfd,0x40,0x25,0x88,0x4b, + 0x5d,0xa7,0x78,0x32,0x8d,0x17,0x69,0x31,0xfc,0xf1,0xf7,0x1f,0xeb,0xc6,0x1,0x8b, + 0x27,0xc5,0xa4,0x31,0x4c,0x85,0x7c,0x6b,0xde,0xd6,0x76,0x2c,0x92,0xab,0x74,0xb5, + 0x4c,0xc6,0xe9,0x6a,0x58,0xc9,0xc3,0xf3,0xd7,0xb3,0x49,0x71,0x79,0xda,0x13,0x2a, + 0xbc,0xbb,0x4c,0x67,0x17,0x97,0x45,0xfd,0x76,0x36,0x39,0xed,0x41,0x3b,0x11,0xde, + 0x54,0x93,0x8f,0x6a,0xfa,0xb0,0x58,0x96,0x4d,0xd5,0x88,0xcd,0x26,0xa5,0x43,0x53, + 0x8b,0x6b,0xad,0x61,0x26,0xd9,0xf8,0x3c,0x59,0x61,0xc9,0xc3,0xcb,0xec,0x2a,0x1d, + 0x2e,0xe7,0xe7,0x69,0xb2,0x9e,0x64,0xb3,0xc5,0xf0,0xb7,0x9f,0x7e,0xf9,0xfb,0x25, + 0xe8,0x37,0x5c,0x4d,0xe7,0xcb,0xd6,0x8b,0xc1,0x45,0xf1,0x61,0xb8,0x9c,0xdd,0x5c, + 0x25,0xcb,0xd5,0xce,0x68,0xa4,0xe2,0x69,0x6f,0x9c,0xcc,0xe7,0x71,0xb5,0x25,0xf5, + 0xc2,0xb2,0x75,0xb1,0x5c,0x17,0xff,0x4a,0x6f,0x8a,0x74,0x51,0xae,0x7,0xa0,0x34, + 0x10,0xa,0xcd,0xf4,0x58,0xdc,0x42,0xa7,0x1e,0xfe,0xa,0xff,0x4c,0x67,0x29,0xf0, + 0x28,0xf2,0x75,0xda,0x7b,0x8f,0xc6,0x93,0x49,0x3a,0x5d,0x51,0xa7,0x12,0x27,0x7a, + 0xa7,0x42,0x3,0x9a,0xb0,0xcb,0x69,0x92,0xff,0x35,0x4f,0x26,0x33,0x10,0xbb,0xec, + 0x54,0x76,0x6b,0xb7,0x28,0x6,0x98,0xde,0x6f,0xda,0x4f,0x56,0x45,0xb6,0xac,0xfa, + 0x62,0xee,0xe2,0x76,0xe,0x7d,0x48,0x38,0x18,0x67,0xf3,0x2c,0x1f,0xbd,0x9d,0x86, + 0x9f,0xef,0x83,0x28,0xc3,0x66,0xce,0x8a,0xdb,0x51,0x89,0x6a,0xf9,0x93,0x4d,0xa7, + 0xab,0x14,0xdb,0xd7,0x94,0x85,0x3d,0xc4,0x3,0x98,0xca,0xf6,0xa2,0xe1,0x11,0x93, + 0xa5,0xd3,0x34,0xb5,0x77,0x26,0x8b,0x9d,0x97,0xcc,0x71,0xeb,0x3a,0x66,0xe5,0xdd, + 0xb3,0xfa,0x7a,0xd6,0x93,0x61,0x5b,0xfb,0x63,0xc1,0x12,0xc6,0x1f,0x1,0x16,0x9f, + 0x9c,0xe3,0x74,0xb6,0xd7,0xcf,0xbf,0x3f,0x14,0x2d,0x61,0xf9,0x51,0x68,0x75,0xcd, + 0xc6,0xba,0x66,0xeb,0x44,0x49,0x58,0xf9,0x64,0x28,0x71,0x27,0xf7,0xa1,0x54,0xcf, + 0xc7,0x9d,0x7e,0x0,0x88,0xc3,0x1,0xdd,0x8b,0x52,0x63,0x36,0xfb,0x0,0x10,0x1d, + 0xb3,0xb1,0xa9,0x9e,0xde,0x33,0xdb,0x67,0xa3,0x64,0xec,0x11,0x5c,0x72,0x50,0x9c, + 0xa5,0x8f,0xe5,0x12,0x37,0xfe,0x28,0x2e,0x11,0xcc,0x5c,0x3d,0x96,0x4b,0xbc,0xc1, + 0xdc,0xe3,0x50,0xaa,0x8c,0x25,0x96,0x31,0x4f,0xc7,0x18,0x3f,0x99,0x5f,0x27,0xb7, + 0xab,0x7a,0x92,0xe0,0xbc,0x46,0x97,0x79,0xa,0x67,0xfb,0xb6,0x83,0x75,0xfb,0xe1, + 0x16,0x62,0xe3,0x51,0xc2,0x30,0x1c,0x2b,0x37,0xb1,0x13,0xc6,0x7a,0x53,0x4b,0x6f, + 0x21,0x35,0xb1,0x15,0xce,0x59,0xbe,0x1d,0xea,0x46,0xc0,0x19,0xd9,0x58,0x1b,0xb1, + 0x25,0xec,0x2d,0xc9,0x44,0xac,0xb9,0xd0,0x6c,0x2b,0xbd,0xd8,0x4c,0xf5,0xc7,0x62, + 0x56,0xc0,0x57,0xaf,0x57,0x69,0xfe,0x1b,0xf9,0xbb,0xbf,0x2d,0xfe,0x58,0xa5,0x3b, + 0xbd,0x7e,0xcf,0x93,0xc5,0xa,0xce,0xf5,0xea,0xb4,0x77,0x95,0x14,0xf9,0xec,0xe6, + 0x3b,0x98,0x36,0xab,0x99,0xd0,0x7d,0x46,0x7f,0xea,0x37,0xb1,0x31,0xc6,0x32,0x89, + 0x17,0xdc,0x5a,0xcf,0xec,0xbb,0x2d,0xb6,0xdd,0x28,0xd2,0xea,0xb8,0x8c,0x3d,0x42, + 0x3,0xdd,0xd6,0x3,0x2a,0x4b,0xeb,0x9c,0xb7,0x2d,0x9d,0xb9,0x88,0xa1,0x9c,0x67, + 0xa2,0x85,0x8f,0x88,0x99,0xd1,0x38,0x37,0xf6,0x80,0x95,0xf,0x78,0x58,0x33,0xef, + 0x4b,0x3c,0x85,0x8d,0x70,0xfd,0x81,0x88,0x9d,0x51,0x56,0xbe,0x3b,0x12,0x9d,0xdd, + 0x8d,0xe3,0xd2,0xb9,0x83,0xf6,0x9f,0x6c,0xf3,0x83,0x44,0x7a,0x0,0xba,0xe,0x15, + 0xb,0x7a,0x39,0x47,0xdc,0x89,0xfd,0xc1,0x1c,0x5c,0x7,0xe5,0xac,0x11,0x5c,0x9a, + 0x63,0xb5,0x7b,0xae,0x9d,0xe9,0x44,0xcd,0xbc,0x38,0x6a,0x7,0x28,0xcf,0x62,0x6d, + 0x8d,0x15,0xbc,0xa5,0x3c,0x57,0x31,0x3,0x9a,0xd2,0xb5,0x94,0x7,0xc8,0xc,0x67, + 0xd1,0x98,0xf6,0xb1,0xd5,0x31,0x78,0x25,0xf8,0x7d,0x67,0x1d,0xca,0xab,0xe3,0x4d, + 0xc6,0x73,0x50,0x6,0x61,0xb2,0x57,0x96,0x71,0x70,0x6,0x7,0xda,0x69,0xee,0xdd, + 0xa3,0x38,0x3,0x5b,0x23,0xb5,0xe5,0xba,0x5,0x9b,0xe4,0xb1,0x84,0x13,0x71,0x77, + 0x29,0x73,0xb7,0x2b,0x61,0xa9,0x62,0xe9,0x6d,0xd3,0x58,0x75,0xa2,0x26,0xfe,0x37, + 0x50,0xe3,0xb1,0x30,0xe0,0x25,0xef,0xf,0x90,0x8e,0x31,0x66,0xb5,0x78,0x24,0x68, + 0x4e,0x68,0x44,0x8b,0x2d,0xd0,0x2c,0x4e,0x9f,0xc4,0x5f,0x7d,0x17,0xb5,0xbb,0x7d, + 0x79,0x48,0x18,0x98,0x2,0xdb,0xcc,0xfd,0xa8,0xb1,0x17,0x43,0xad,0x6b,0x7a,0xab, + 0x1e,0x8a,0xb5,0xd0,0x67,0xab,0xc1,0xc1,0xb1,0xd6,0x9e,0x80,0xe3,0xc1,0x58,0xb, + 0xb3,0x3d,0x14,0x9a,0x1f,0x1e,0x70,0x3c,0x51,0xac,0x5,0xe3,0xe2,0x8e,0x88,0xb5, + 0x84,0xf9,0x8c,0xb8,0x1d,0xfa,0xb3,0xe3,0xe2,0x76,0xd5,0x19,0x66,0x1e,0x16,0x6b, + 0x61,0x36,0xf1,0x84,0x28,0x89,0x87,0xb9,0x64,0xd4,0xf1,0x5c,0xda,0x3,0xe8,0x1, + 0x5c,0x32,0x5d,0xcc,0x7d,0x80,0x4b,0x5d,0xb3,0x3d,0x9a,0x4b,0xcf,0x17,0x91,0x72, + 0xc5,0xcc,0x91,0x66,0xad,0xdb,0x1,0xee,0x71,0x96,0xdd,0x8e,0xb5,0xe5,0x84,0x1f, + 0x32,0x37,0xcf,0xaa,0xbc,0x3b,0x52,0xf9,0x47,0xbb,0x8c,0x80,0x1a,0xe9,0xac,0xbc, + 0xbc,0x6b,0xf5,0x39,0xd7,0x5a,0xfb,0x16,0x68,0xf0,0xd4,0xc6,0xa1,0xb3,0x90,0xa2, + 0xd,0x5b,0xdd,0xfb,0x35,0x61,0xe3,0xec,0x29,0x61,0xbb,0x37,0x3e,0x21,0xdc,0x10, + 0x63,0x18,0x2f,0xbc,0xb9,0x13,0x64,0x10,0xdc,0x4a,0xf0,0x36,0xdb,0x84,0xc4,0x10, + 0xe0,0x60,0x3b,0x4f,0x42,0xbc,0x2b,0xb5,0x96,0xe2,0x59,0x51,0x6b,0x45,0xb1,0x5d, + 0xa8,0x89,0xa7,0x44,0xed,0xbe,0x44,0x80,0x40,0xb3,0x31,0x90,0x24,0x2,0xb5,0x41, + 0xd3,0xb1,0xe7,0xa2,0x95,0xcd,0x84,0x78,0x84,0x73,0xae,0x9c,0xe2,0x6d,0xd0,0x78, + 0xac,0xbd,0x95,0x48,0x39,0x5f,0x15,0x35,0xf5,0xf9,0xa8,0x1d,0x91,0x21,0x76,0xe7, + 0x36,0x7b,0xf2,0xa0,0xee,0x9c,0xa9,0x95,0x5f,0xd5,0xd0,0xd1,0xaa,0x92,0xf9,0x93, + 0x42,0xc7,0x54,0x3b,0x94,0x6e,0x4f,0xa1,0x98,0xde,0xee,0xe7,0xf8,0x6,0x8b,0xf2, + 0xb1,0x70,0xad,0xa8,0x7c,0x7c,0x7b,0xda,0xf3,0x31,0xc9,0x54,0xa3,0x30,0x31,0xed, + 0xec,0x3b,0xed,0xec,0x9b,0x7,0xab,0xe6,0x82,0xf8,0xc8,0x7d,0x5a,0x2d,0xf3,0x34, + 0x99,0xfc,0x9a,0x16,0x97,0x19,0xad,0x3d,0x9d,0x92,0xfe,0x7,0x55,0x28,0xb0,0x75, + 0xc8,0x23,0xfa,0x22,0x56,0x4a,0x31,0x21,0xd3,0x1,0xf,0x3b,0xd9,0x78,0x57,0xf7, + 0x21,0x23,0xc1,0xb4,0x72,0x7d,0x1d,0x5b,0x61,0x85,0x72,0xf,0x16,0x2e,0xf6,0x4f, + 0x8c,0xa1,0xb4,0xd1,0xa2,0x24,0xd1,0xa0,0x7e,0x37,0xa0,0x93,0xa6,0x24,0xf7,0x7d, + 0xe1,0x62,0x6b,0xa5,0x64,0xfe,0x31,0x99,0x82,0x43,0xca,0x4,0xc2,0xf0,0xb6,0x1f, + 0x20,0x47,0x2b,0x99,0xf4,0xed,0x4c,0x41,0x80,0xb6,0x38,0xda,0xd,0xef,0x55,0x39, + 0xe5,0x76,0xdf,0x8e,0xa,0x14,0x40,0x7a,0xb1,0x94,0xfc,0x35,0x6b,0x40,0xf0,0xc0, + 0xd6,0x6b,0xfb,0x94,0x45,0x20,0x60,0x77,0x58,0x6e,0xfa,0xec,0x45,0x20,0x28,0x87, + 0x30,0xd9,0x79,0xf1,0x25,0x54,0x81,0x0,0xdb,0x61,0xc9,0xe9,0xd7,0x58,0x5,0x12, + 0x4a,0x1e,0x56,0x38,0x7c,0xfe,0x2a,0x10,0x87,0xe7,0x67,0xd0,0x58,0x7f,0x1,0x65, + 0x20,0xc0,0x76,0x58,0xe5,0xf0,0x5,0xca,0x40,0x5e,0x8,0xe6,0x9d,0xf9,0x12,0xea, + 0x40,0x80,0xed,0xe5,0x6a,0x8e,0x5d,0xd3,0x8b,0xbd,0x15,0x8e,0x2a,0x9b,0xc6,0x12, + 0x1f,0xfa,0xa8,0xf6,0x9,0xeb,0x40,0x98,0x4d,0x74,0xcc,0xf6,0xaa,0x75,0x20,0xa0, + 0xb4,0xb7,0xc2,0xf1,0xd4,0x75,0x20,0x41,0xb1,0xda,0x8b,0xd5,0x81,0x30,0x9b,0x79, + 0x3a,0x94,0x90,0xd8,0x3d,0xb8,0xbb,0xbc,0xab,0xca,0xf7,0x4c,0x75,0x20,0x68,0xd7, + 0xc5,0xdc,0xaf,0xa3,0xe,0x84,0xc8,0x58,0x1e,0x69,0xd6,0xbe,0x9e,0x3a,0x10,0x94, + 0x7f,0x82,0xf,0x50,0xbf,0xb9,0x3a,0x10,0x60,0xdb,0x8d,0xc9,0xff,0x5f,0x7,0x7a, + 0xa0,0xa2,0x1,0xd4,0xfc,0x53,0xa2,0xf6,0x6d,0xd4,0x81,0x84,0xf2,0xfc,0xf3,0x51, + 0x7b,0xf5,0x3a,0xd0,0xc9,0x90,0xee,0xc7,0x85,0x57,0xf5,0x9d,0x3a,0xba,0xaf,0x37, + 0xf9,0x38,0x4b,0xaf,0xdf,0xd4,0xba,0xd3,0x85,0xc0,0xcd,0x38,0xcb,0xe4,0x22,0xd, + 0xae,0x4,0x88,0x95,0xf7,0xde,0x36,0xd,0xe7,0x59,0x3e,0x49,0xf3,0xaa,0xc9,0x84, + 0x9f,0x56,0xd3,0xc6,0xdb,0x6c,0xaf,0x1c,0x36,0x36,0x88,0x46,0xad,0xdb,0x59,0x77, + 0xfb,0xea,0x32,0x99,0x64,0xd7,0x40,0xe1,0x6e,0xe3,0xa7,0x2c,0x3,0x96,0xee,0xae, + 0x98,0x4a,0x4c,0x42,0xc4,0xde,0x83,0x6d,0x7a,0xa7,0x11,0xf3,0xc,0x74,0xac,0x34, + 0x73,0xb6,0xde,0xe8,0xba,0x75,0x92,0x8d,0xd7,0x74,0xf5,0x75,0xb0,0x2e,0x77,0x74, + 0x79,0xb3,0xf3,0xfc,0x3a,0xcf,0xa9,0xc3,0x3c,0xb9,0x4d,0xa1,0x6f,0xf8,0x55,0x11, + 0x62,0x73,0x77,0x53,0x8a,0xfa,0xb1,0xea,0xfe,0x66,0x43,0xb4,0xba,0xcc,0xae,0x2f, + 0xd6,0xb3,0x49,0xba,0xda,0xdc,0x5d,0xbc,0x33,0x41,0x68,0x1b,0x9c,0x9f,0x67,0x37, + 0xdd,0xed,0xd7,0xb3,0x5,0xd0,0x18,0x6c,0xe6,0xe2,0xac,0x2e,0x77,0xdd,0xed,0x51, + 0xcd,0x6d,0x6a,0xc2,0xde,0xed,0x81,0x19,0x76,0xf0,0xd9,0x34,0x1,0x25,0xcd,0xea, + 0xeb,0x93,0x35,0x45,0xc2,0xe2,0x2a,0x5e,0x65,0x39,0xb1,0x3a,0x29,0xc2,0xf5,0xcd, + 0x8f,0x69,0x5e,0xcc,0xc6,0xc9,0xbc,0x66,0xdd,0x32,0x5b,0xcd,0xca,0x26,0x3a,0xe2, + 0x4e,0x70,0xd5,0x36,0xe1,0x61,0x28,0xc9,0x95,0xa9,0x19,0xb9,0x4b,0xc4,0x20,0xbf, + 0x4a,0x8b,0x64,0x92,0x14,0xc9,0x96,0x95,0x95,0xa4,0xba,0x31,0x76,0x92,0x4f,0xa6, + 0xa3,0x7f,0xfc,0xf8,0x53,0x1d,0x37,0x8d,0xc7,0xa3,0x7f,0x66,0xf9,0x87,0x6d,0x3c, + 0x44,0x1d,0x92,0xf3,0x6c,0xd,0x38,0xea,0x58,0x8e,0x6e,0x8c,0x8e,0x47,0x74,0x1e, + 0x93,0xe2,0xfd,0xec,0xa,0x44,0xa3,0x9b,0xc3,0x7f,0xbe,0xb9,0x9a,0xe3,0x70,0xd4, + 0xd,0xad,0xce,0xc5,0xed,0x32,0xdd,0xe,0x5a,0xe,0x5b,0xdd,0x82,0xee,0xbc,0x49, + 0x3d,0x19,0x5f,0xcd,0xe8,0xa1,0xe1,0x6f,0xc5,0x6c,0x3e,0xff,0x99,0x26,0x69,0xc6, + 0x77,0xc3,0xcd,0x42,0xab,0x10,0xac,0xa1,0xc7,0xc9,0xb0,0xd2,0x32,0xbc,0xbb,0xb8, + 0xb3,0x4d,0xf3,0xe4,0x3c,0x9d,0x9f,0xf6,0xce,0x92,0xf9,0x7f,0xd6,0x69,0xb4,0xb3, + 0xc1,0x17,0x79,0xb6,0x5e,0x5e,0x65,0x93,0x74,0xc3,0xd0,0xde,0x16,0xbc,0xd,0x63, + 0x37,0x53,0x2e,0x93,0xe2,0xb2,0xd2,0xa8,0xc6,0x9f,0x56,0xc,0x93,0x99,0x8f,0xb7, + 0x25,0xd2,0x32,0x9e,0x9c,0x42,0x89,0x11,0xd4,0xfb,0xee,0xed,0x6e,0x85,0xf7,0xdd, + 0xf7,0xd4,0xda,0x8,0x64,0x57,0x45,0x9e,0x7d,0x48,0x47,0x8b,0x6c,0x91,0x6e,0x5e, + 0x97,0xa4,0x1d,0x21,0x54,0xf3,0xf4,0xe3,0xaa,0x3e,0x3,0x80,0x94,0xe6,0xf3,0x19, + 0x7e,0x8d,0x54,0x25,0x9b,0x24,0x38,0xf7,0x79,0x9e,0xdc,0xb6,0x46,0xa8,0x87,0x6f, + 0x71,0x89,0xb4,0x40,0xd6,0xbf,0x35,0x84,0xb5,0x2a,0xdd,0xe5,0xe6,0x6d,0x73,0x67, + 0x2d,0xb9,0x6e,0xce,0x6f,0xa8,0x1c,0xca,0xa8,0x74,0xd0,0x70,0x45,0xdb,0xe6,0xdb, + 0xae,0x66,0xac,0xe7,0xd7,0x48,0xd8,0x58,0x82,0xf2,0xc2,0x47,0xf5,0xf0,0xd1,0x5f, + 0xa2,0xba,0x73,0xe3,0x15,0x8b,0x38,0xfe,0x44,0x14,0x3c,0x68,0x4a,0xf7,0xfa,0x7, + 0x3e,0xd0,0x35,0xc3,0xa7,0x7a,0x11,0x45,0x47,0xb5,0xda,0xa,0xa9,0x98,0xdf,0xdc, + 0xa7,0xdb,0xbc,0xe1,0xb1,0xb5,0x2,0x2e,0x95,0x2e,0xd6,0x91,0xfb,0x6e,0x54,0xa5, + 0x5b,0xd4,0x68,0xec,0x7f,0xd8,0x8e,0xd6,0x5e,0x63,0x34,0x5d,0x4a,0xf2,0xf5,0x3c, + 0x1d,0xa5,0x1f,0xd3,0x45,0x36,0x99,0x54,0x4,0x78,0x2b,0x12,0x33,0xe5,0x93,0x36, + 0x7,0x10,0x78,0x22,0x54,0xf0,0x5a,0xda,0xe5,0x4d,0xd5,0x42,0x8e,0x16,0xec,0x1d, + 0x9d,0xaf,0x8b,0xa2,0x29,0xfb,0x77,0x36,0x5b,0x8c,0x2,0x45,0xee,0xb2,0x0,0x21, + 0x87,0x57,0xcc,0x89,0xc6,0x55,0x9d,0x80,0x3e,0xa7,0x22,0xbb,0xe2,0x5e,0xf7,0x75, + 0x4c,0x99,0xb7,0x34,0x22,0xfa,0xa5,0x21,0xe5,0x8,0xc9,0x98,0x65,0x6a,0x87,0x44, + 0x42,0x68,0xbb,0xbb,0xcf,0xd0,0x26,0xa5,0x33,0x1,0x8b,0x3d,0x1e,0x7f,0x1d,0x0, + 0xd9,0xd8,0x68,0x44,0xb8,0xbe,0x6f,0x62,0xe9,0x98,0x60,0x84,0x8f,0xc0,0x9c,0xc6, + 0x33,0x6d,0xfa,0xa,0x27,0xd4,0x79,0xa9,0x7d,0x17,0x40,0xfe,0xdb,0x2,0xc8,0x21, + 0x20,0x73,0x38,0x69,0xb2,0x85,0x10,0x65,0x4e,0xca,0xeb,0x46,0xd8,0xba,0x45,0xc8, + 0x74,0x98,0x8a,0xaf,0x10,0xa1,0xed,0x69,0x42,0xdc,0xc6,0x34,0xf2,0xec,0xf6,0x19, + 0x43,0x86,0x63,0x6c,0xe3,0xa9,0x6,0x40,0xf2,0x9b,0x0,0x8,0x89,0x1f,0x8c,0x8c, + 0x93,0x15,0x85,0x82,0xd,0xa2,0x6f,0x6c,0x20,0xb2,0xd2,0x35,0x83,0x6c,0x17,0x40, + 0x1d,0xae,0xea,0x6b,0x6,0x68,0x63,0x84,0xb8,0x6b,0x20,0x54,0x5b,0x21,0xd3,0x5, + 0xd0,0xe1,0x56,0xfa,0xa2,0x15,0x74,0xa,0xa5,0x1a,0xe3,0xdd,0x1f,0x4d,0xb5,0xbc, + 0xe8,0x36,0xcf,0x85,0x11,0xe0,0x58,0x95,0xb5,0x70,0x23,0x48,0x52,0x99,0x74,0x48, + 0x74,0xeb,0x90,0xae,0x9e,0xae,0x63,0x3b,0x2a,0xa8,0x59,0xf8,0xe9,0x80,0x49,0x79, + 0xe3,0xb4,0x6e,0x7e,0x15,0x64,0xd7,0x8f,0xf,0xd0,0x4f,0x5a,0x3a,0x59,0x54,0x9d, + 0xb0,0xda,0x31,0xc7,0xfb,0xe1,0x5,0xb7,0x9a,0xf7,0xcb,0x66,0x78,0x74,0xd3,0x97, + 0xc8,0x96,0xb5,0x30,0xe,0xaf,0x80,0xa9,0x60,0xca,0x37,0xca,0x3f,0x15,0x1e,0xdc, + 0xf1,0x66,0x44,0xdc,0xa4,0xd3,0x5e,0x74,0x57,0xe3,0xf1,0xf8,0xd3,0x38,0xfc,0x1a, + 0x8f,0x7b,0xcd,0xee,0xf5,0xe,0x35,0xb,0x36,0xf5,0x86,0x2b,0xaa,0x42,0x79,0xe3, + 0x55,0x58,0x25,0x66,0xb6,0x2,0xe1,0xcb,0x59,0xa4,0xc0,0x33,0x18,0x10,0x4f,0x1f, + 0x97,0x63,0x99,0x5a,0x39,0x61,0x22,0xe9,0x91,0x12,0x33,0x67,0x2c,0x29,0x67,0x8d, + 0xd4,0x52,0x41,0x68,0xa1,0x93,0x10,0xd2,0x57,0x42,0xce,0xc,0x6,0x90,0x6,0x3, + 0xb,0xe6,0x5a,0x62,0xa9,0x68,0x7b,0x8c,0xe,0xdf,0x15,0xd0,0xc6,0x9,0x44,0x9c, + 0x91,0x4,0x28,0xc0,0x46,0xfb,0xb0,0x4,0xf,0x22,0x81,0x82,0x60,0x1d,0xc9,0x11, + 0x95,0x72,0x49,0x19,0x38,0x63,0x12,0x4b,0x33,0x6d,0xb1,0x8c,0xc1,0x54,0x8d,0x3c, + 0x9c,0xe6,0x43,0x26,0x2b,0xac,0xe2,0x8a,0xc4,0xda,0x3a,0x8b,0x34,0x2c,0x2,0xc8, + 0xde,0xc3,0x65,0x4,0x21,0xd8,0xae,0x8d,0xb4,0x14,0xa5,0x69,0xa1,0x8d,0x90,0xb5, + 0x50,0x49,0xc,0x20,0x54,0xcc,0xb4,0x12,0xb2,0x21,0xf6,0x11,0x55,0x8a,0x24,0xb3, + 0x20,0x56,0x18,0x55,0x7b,0x8b,0x3,0x21,0x10,0x17,0x7a,0xc6,0x83,0xc,0x87,0x42, + 0x68,0xa9,0xc9,0x11,0xd5,0x52,0x16,0x4b,0x25,0x91,0x71,0xd3,0xb2,0x44,0x59,0xa3, + 0xb3,0xa4,0xb1,0xb0,0xf0,0x53,0x8a,0xa9,0x88,0xa2,0x5f,0x78,0x2f,0x25,0xc3,0x97, + 0x28,0xc,0xf3,0xe,0x2b,0x80,0x7b,0xa3,0xb8,0xf,0x6b,0xdd,0x8,0x61,0xb4,0x31, + 0x0,0x37,0x88,0x94,0xb1,0xdc,0x96,0x98,0xe3,0x1c,0xa,0x29,0x3c,0x9,0x95,0x94, + 0x88,0x90,0xac,0xa2,0xb3,0xeb,0xb9,0xa6,0xb3,0xdb,0xdc,0xca,0x5f,0xa8,0x33,0x5d, + 0xb6,0x47,0x18,0x8b,0x24,0xdb,0x1a,0x65,0xb0,0x85,0x34,0xb0,0x8b,0xb9,0x40,0x3e, + 0x2e,0xe8,0x92,0x82,0xe4,0xce,0x3a,0xae,0x22,0xe4,0xe8,0x4c,0x32,0x70,0xb4,0x3f, + 0x70,0xf4,0x49,0x1c,0x7d,0x26,0x48,0x80,0x29,0xaa,0x5f,0x8,0x12,0x6a,0x8d,0xa1, + 0xac,0x25,0xc4,0x45,0xbc,0x19,0xd6,0x85,0xdc,0x5d,0x4a,0xda,0x74,0x4,0x23,0x1c, + 0x44,0xc7,0x98,0x96,0x6e,0x2c,0x18,0x4e,0x54,0x72,0xce,0x70,0xc2,0x50,0x93,0xa, + 0xd2,0x7b,0x85,0x65,0x75,0x33,0xef,0x53,0xd4,0xe2,0xe8,0xe6,0xbc,0x6e,0x33,0x98, + 0x3d,0x86,0x94,0xef,0x39,0xc8,0x95,0xcd,0x34,0x5a,0x5b,0xe9,0xd,0xbf,0xdf,0x3a, + 0x1e,0x9e,0xf3,0x90,0xb4,0x2c,0xf2,0x8f,0xee,0x33,0x1a,0xcd,0xbc,0xf2,0xa2,0xcb, + 0x1e,0x75,0xdb,0x12,0xc5,0xca,0x2d,0x60,0x54,0xb4,0xa3,0x2b,0x2a,0xfd,0xed,0xab, + 0x66,0x3b,0xec,0x32,0x6d,0xa0,0xf7,0x7d,0x6c,0x11,0x78,0x6a,0x9c,0xda,0xb5,0x26, + 0x4a,0xdf,0x6f,0x4d,0x3a,0x11,0xe,0x9,0xe5,0xee,0xa7,0x0,0xfb,0x12,0x4a,0xfa, + 0x26,0x9a,0xe9,0x40,0x5d,0xe8,0x97,0x0,0x9c,0xef,0x9a,0x35,0x4e,0xd6,0x87,0x31, + 0x80,0xa4,0x60,0x9d,0xa4,0xa5,0xa3,0x48,0x68,0x29,0xba,0x19,0x1,0x99,0x55,0xd6, + 0x32,0x50,0xdb,0xe2,0x20,0x62,0xe5,0x88,0x29,0x71,0x34,0x90,0xff,0x1a,0xa9,0x22, + 0x19,0xab,0xf0,0xa9,0xae,0xec,0xa3,0xd5,0x71,0x41,0x87,0x5b,0xc6,0xc8,0xcd,0x34, + 0xc9,0x30,0x8a,0x10,0x38,0x15,0x64,0x24,0x65,0x6c,0x9d,0x32,0x8e,0x7,0xa9,0xa7, + 0xef,0x65,0xf1,0x48,0x87,0xf,0x32,0x34,0xcc,0x8,0x95,0x46,0x61,0xff,0x40,0x6a, + 0x53,0x8f,0xb8,0x95,0x9d,0x61,0x6e,0x8b,0xa3,0xd2,0x96,0x3a,0xc,0xa3,0x1d,0x1c, + 0x18,0xc9,0xc2,0x67,0xba,0xe,0xb9,0xa4,0x56,0x96,0x55,0x73,0x93,0x89,0xa1,0x53, + 0xbd,0x95,0xfa,0x18,0x87,0x37,0x28,0xc8,0x63,0xf0,0xce,0x30,0x87,0xe8,0x6,0xb6, + 0xd5,0x70,0x11,0xd1,0xc7,0xc5,0x20,0x8e,0x26,0x91,0x22,0x18,0x8,0x18,0xa1,0xab, + 0x77,0x67,0x64,0x8a,0x14,0xdd,0x85,0xb1,0x1b,0x11,0xb2,0x5d,0xb2,0x59,0x12,0x7a, + 0xd9,0x30,0xc,0x32,0x50,0x26,0xc9,0x2e,0xc0,0x28,0x7b,0x98,0x0,0x4f,0x86,0x3b, + 0x60,0xb2,0x95,0x61,0x5d,0xdc,0x68,0x1e,0x30,0x81,0xc5,0x94,0xd6,0xb,0x45,0x42, + 0x67,0x3d,0x29,0x0,0xcb,0x4a,0x86,0x17,0x3e,0x11,0x2b,0x94,0x4e,0x92,0xa2,0x42, + 0xc7,0x1e,0x6,0x8c,0x1e,0xae,0x65,0x67,0x21,0x81,0x86,0x9,0x17,0xb6,0xd9,0x93, + 0x2e,0x3f,0xc1,0xb0,0x85,0x1,0x95,0x25,0x8c,0x5,0xfc,0x10,0xe0,0x92,0xe5,0xcc, + 0x8c,0xbe,0x24,0x47,0xeb,0x1,0x78,0x0,0x7,0x52,0xbb,0x59,0x63,0x30,0xea,0xa, + 0xcf,0xc2,0xdf,0x6a,0xd8,0x18,0x3a,0x21,0xa4,0x9d,0xe3,0x46,0x98,0x32,0x98,0xa1, + 0x4f,0xa8,0x74,0x7,0x5d,0xee,0xd8,0xa1,0xda,0x89,0x2a,0xdd,0x76,0xa2,0xdd,0xa1, + 0xe,0xf9,0xe1,0xf2,0xef,0xb8,0x61,0x3,0x3e,0xf3,0xf4,0xe9,0x23,0x4f,0x9f,0xb6, + 0x70,0xdc,0x52,0xa8,0x57,0x3a,0x82,0x20,0x3d,0xb3,0x9a,0x1c,0x32,0x1c,0x13,0x4e, + 0x98,0xf0,0xb2,0x24,0xbd,0xb,0xd4,0x6c,0x48,0xb1,0x6f,0xd8,0x6a,0x89,0xc,0x4e, + 0xc4,0x86,0x33,0xe5,0xa8,0x7e,0x42,0x1a,0x31,0x3a,0x7,0xf0,0x48,0x1c,0xfb,0x54, + 0x52,0xbe,0x12,0x92,0xdb,0x3,0xf9,0x89,0x33,0x88,0xe4,0x85,0xe4,0x1e,0x47,0x98, + 0x7,0x8f,0x2,0xcf,0x1d,0x66,0xf1,0x30,0x97,0x24,0x42,0xa0,0xeb,0x41,0xc2,0xc6, + 0x72,0x6a,0x19,0xc2,0x1c,0x4c,0xad,0x55,0x5b,0xa,0x37,0xa,0x92,0xe1,0x8c,0x87, + 0x1,0x25,0x16,0x49,0xc7,0x9f,0x4,0x36,0x90,0x50,0xc1,0x55,0xa9,0xd2,0x26,0x54, + 0x42,0x3a,0x78,0x46,0x4,0xb7,0xa,0x9b,0x60,0x60,0x5d,0x5c,0xd0,0x46,0x3b,0x4, + 0x7b,0x3e,0xcc,0x2,0xb7,0x6d,0x74,0x43,0xe9,0x2e,0x78,0xf6,0x93,0x4e,0x1f,0x48, + 0xba,0x27,0xa4,0x9b,0xfd,0xb2,0xe8,0x46,0x6,0x5,0x7b,0x41,0x36,0x41,0xc0,0xce, + 0x2b,0x63,0x6a,0x83,0x82,0xf0,0xa9,0x29,0x25,0x83,0xa2,0x60,0x5a,0x6c,0xbf,0xbc, + 0x83,0xe4,0x10,0xa8,0xc1,0xa2,0x70,0xfa,0x9f,0x4f,0x4,0x13,0xe5,0x29,0xa,0x24, + 0xc2,0x35,0xa4,0x30,0x89,0xb0,0x61,0x65,0x48,0xe7,0xc8,0x34,0xf1,0xd2,0x6e,0x33, + 0x84,0xc0,0x88,0x71,0xc2,0x3c,0xe0,0x60,0xe0,0x8c,0x12,0xc,0x38,0x34,0x57,0x54, + 0xcb,0x82,0x45,0xd2,0x8,0xa7,0x5b,0x52,0xd8,0x4c,0x4,0xd8,0x9c,0xbb,0x30,0x22, + 0x2,0x7,0x63,0xc8,0xba,0x52,0x38,0x8,0xcb,0x4d,0x94,0x63,0x96,0x73,0x53,0xda, + 0xdc,0x4a,0xca,0x91,0x93,0xc1,0xb2,0xa9,0x8d,0xcd,0x45,0xec,0x6b,0x7c,0xd0,0x8, + 0x81,0xb6,0xd2,0xe5,0x3c,0x56,0x48,0xdb,0xd4,0xbc,0x3,0xa3,0xfd,0x9c,0xb3,0x2f, + 0xcf,0x39,0x7f,0x78,0xc5,0xfa,0xd5,0x9,0x67,0xc8,0xc7,0xa,0x78,0x8f,0x60,0x26, + 0x34,0x7c,0xb9,0xb,0xd6,0x88,0x19,0x4,0x64,0x42,0x36,0xa4,0xe,0x99,0xa0,0xd4, + 0x9e,0x85,0xad,0xb4,0x12,0x3f,0x30,0x65,0x70,0x7e,0x8,0x4a,0x3,0xb3,0xb8,0xf4, + 0xe,0x6e,0x97,0xc,0x1c,0xb6,0x4e,0x61,0x23,0xfb,0x14,0x91,0xc3,0xd2,0x5,0xc6, + 0x38,0xda,0x5c,0xa4,0x13,0xe4,0xd7,0x60,0x99,0xe0,0x34,0x55,0x44,0xb1,0x3b,0x82, + 0x73,0x66,0xfa,0x44,0x66,0x44,0xdf,0xe8,0x69,0x10,0xd5,0x20,0xbd,0xb0,0xd,0xd1, + 0x19,0xc2,0x11,0x9,0x32,0xb7,0x84,0xe4,0x12,0x11,0xa,0x83,0x5,0x8e,0xee,0xc1, + 0x5a,0xa5,0x28,0xe6,0x81,0x7d,0x42,0x22,0xc3,0x31,0x7,0xfe,0x45,0x66,0x51,0x5a, + 0x38,0x98,0x1,0x45,0xf7,0xdb,0x82,0x9f,0x55,0x14,0xe2,0x93,0xcd,0x64,0x21,0x9c, + 0xb1,0x41,0x1d,0x21,0x1d,0xc2,0x79,0x1d,0xc3,0xa6,0x7b,0xbb,0xb1,0x99,0xa5,0xda, + 0x5d,0x0,0xed,0x67,0x9b,0x7f,0x71,0xb6,0xf9,0x23,0x3e,0x1f,0x79,0x75,0xb6,0x9, + 0xba,0xbf,0xd,0x12,0xf9,0x8d,0x89,0xa8,0x8d,0x9,0x6c,0x1b,0xc2,0xac,0x86,0x94, + 0x8c,0x9,0x42,0xbe,0x40,0x36,0x83,0x9d,0x97,0xc1,0x96,0x60,0x13,0x5,0xf,0xfb, + 0xc8,0x24,0x34,0xb1,0xa5,0x2d,0x41,0xda,0x85,0x54,0x82,0xd8,0x66,0x2d,0x9c,0x9f, + 0x2d,0x6d,0x9,0x27,0x63,0xa4,0xc0,0xe,0x86,0x81,0x60,0x7,0x68,0x1a,0xee,0x1c, + 0x38,0x4a,0x41,0xa2,0xe2,0x60,0xb2,0xa5,0x5,0x69,0x4b,0x1,0x6a,0x43,0x86,0xa7, + 0xd,0x12,0xee,0x90,0xad,0x36,0x7a,0xda,0x10,0x70,0x85,0x18,0x14,0x99,0x23,0x52, + 0x54,0x1b,0x6c,0xb0,0x47,0x72,0xe8,0x30,0xb7,0x82,0x2,0xac,0x5c,0x11,0xf9,0x72, + 0x27,0xad,0x2c,0xeb,0x97,0x54,0x54,0x28,0xed,0xad,0x80,0x16,0x26,0x44,0x7b,0x74, + 0x89,0x81,0x46,0x44,0x6e,0x9,0xde,0x35,0xd5,0xee,0x0,0x68,0x2f,0xdb,0xc,0x7f, + 0x4,0xdb,0xea,0x14,0x6e,0xf3,0x22,0xfc,0x3a,0xa1,0xf,0x28,0xdf,0xbf,0xf9,0x2f, + 0xeb,0xf2,0xcc,0x95, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/mic_75.svg + 0x0,0x0,0xc,0x4a, + 0x0, + 0x0,0x37,0x1b,0x78,0x9c,0xed,0x5a,0x5b,0x73,0xdb,0xc6,0x15,0x7e,0xf7,0xaf,0x60, + 0xe9,0x97,0x78,0x2a,0x82,0x7b,0xbf,0xd0,0x92,0x33,0x9d,0x64,0xdc,0xc9,0x4c,0x32, + 0xed,0x34,0xc9,0xf4,0x31,0x3,0x1,0xa0,0x84,0x9a,0x24,0x58,0x0,0xb4,0xa4,0xfc, + 0xfa,0x7e,0x7,0x24,0x6e,0x24,0x28,0x91,0xb2,0xe4,0xf4,0x21,0x62,0x1c,0x12,0x67, + 0x2f,0x67,0xf7,0x3b,0xf7,0xc5,0x5e,0x7e,0x7b,0xbf,0x5c,0x8c,0x3e,0x27,0x79,0x91, + 0x66,0xab,0xab,0x31,0xf,0xd8,0x78,0x94,0xac,0xa2,0x2c,0x4e,0x57,0x37,0x57,0xe3, + 0x5f,0x7f,0xf9,0x38,0x71,0xe3,0x51,0x51,0x86,0xab,0x38,0x5c,0x64,0xab,0xe4,0x6a, + 0xbc,0xca,0xc6,0xdf,0x7e,0x78,0x73,0xf9,0x97,0xc9,0x64,0xf4,0x5d,0x9e,0x84,0x65, + 0x12,0x8f,0xee,0xd2,0xf2,0x76,0xf4,0xc3,0xea,0x53,0x11,0x85,0xeb,0x64,0xf4,0xcd, + 0x6d,0x59,0xae,0x67,0xd3,0xe9,0xdd,0xdd,0x5d,0x90,0xee,0x88,0x41,0x96,0xdf,0x4c, + 0xdf,0x8d,0x26,0x13,0x8c,0x2c,0x3e,0xdf,0xbc,0x19,0x8d,0x46,0x60,0xbb,0x2a,0x66, + 0x71,0x74,0x35,0xde,0xf5,0x5f,0x6f,0xf2,0x45,0xd5,0x2f,0x8e,0xa6,0xc9,0x22,0x59, + 0x26,0xab,0xb2,0x98,0xf2,0x80,0x4f,0xc7,0x6d,0xf7,0xa8,0xed,0x7e,0x97,0x5c,0x7, + 0x79,0x52,0x64,0x9b,0x3c,0xda,0x4e,0x1f,0x45,0xdd,0x9e,0x79,0x3c,0x6f,0xbb,0x62, + 0x25,0x77,0xb2,0xea,0xc4,0xbd,0xf7,0x53,0x26,0xa6,0x42,0x4c,0xd0,0x63,0x52,0x3c, + 0xac,0xca,0xf0,0x7e,0xb2,0x2a,0xde,0x76,0x86,0x62,0x81,0x43,0x43,0x5,0x63,0x6c, + 0x8a,0xb6,0xb6,0xe7,0x69,0xbd,0x66,0xf7,0xb,0xc0,0x70,0x74,0x31,0x55,0x6b,0x97, + 0x3b,0xa0,0x5f,0xe3,0x5f,0x33,0xa0,0x26,0x4,0xdb,0xbd,0xce,0x31,0x32,0x9,0x56, + 0x49,0x39,0xfd,0xfe,0x97,0xef,0x9b,0xc6,0x9,0xb,0xe2,0x32,0xee,0x4c,0x53,0x23, + 0xdf,0xe3,0xdb,0x13,0xc7,0x2a,0x5c,0x26,0xc5,0x3a,0x8c,0x92,0x62,0x5a,0xd3,0xab, + 0xf1,0x77,0x69,0x5c,0xde,0x42,0x13,0x4c,0xf5,0x74,0x9b,0xa4,0x37,0xb7,0x65,0xf3, + 0x98,0xc6,0x57,0x63,0xec,0x4e,0x54,0xf,0x35,0xf3,0x59,0xa3,0x3e,0x2c,0x90,0xdb, + 0xa6,0x7a,0xc6,0x6e,0x93,0xd2,0x1,0xaf,0x1a,0x7b,0xda,0xd6,0x9b,0x28,0xce,0xa2, + 0xeb,0xb0,0xc0,0xa2,0xa7,0xb7,0xd9,0x32,0x99,0x2c,0xb2,0x28,0x5c,0x4c,0xd7,0x8b, + 0xeb,0x24,0xdc,0xc4,0x59,0xba,0x9a,0xfe,0xfc,0xf1,0xc7,0x7f,0xde,0x42,0xd,0xa7, + 0xc5,0x7c,0xb1,0xee,0xfd,0x98,0xdc,0x94,0x9f,0xa6,0xeb,0xf4,0x7e,0x19,0xae,0x8b, + 0x83,0x39,0x69,0xab,0x57,0xe3,0x65,0x1a,0xfd,0x66,0x75,0x50,0xb,0xa7,0x59,0x62, + 0xb6,0x29,0xd7,0x9b,0xf2,0xb7,0xe4,0xbe,0x4c,0x56,0xdb,0x75,0x1,0x9e,0xe,0x56, + 0x55,0x33,0xd,0x6b,0x68,0xe3,0xf,0x98,0xe0,0x32,0x4e,0xe6,0x5,0x4d,0xb4,0x45, + 0x85,0x9e,0x54,0xd5,0x80,0x26,0xc8,0x34,0x9,0xf3,0xbf,0xe7,0x61,0x9c,0x42,0x8d, + 0xb7,0x9d,0x3a,0x1c,0xa3,0x6c,0xb1,0x48,0x22,0xa0,0x1a,0x2e,0xee,0xc2,0x87,0xed, + 0x7a,0xeb,0x79,0xfa,0x43,0xa5,0x62,0xf5,0xa4,0x98,0xb6,0x28,0xb3,0x75,0xdd,0x17, + 0x3b,0x2c,0x1f,0x16,0xd8,0x16,0x11,0x27,0x98,0x31,0xcb,0x67,0x6f,0x45,0x4c,0x9f, + 0xf7,0x15,0x29,0x83,0x6c,0xd3,0xf2,0x61,0xc6,0xdf,0x8f,0xdb,0x31,0xd9,0x7c,0x5e, + 0x24,0x60,0xcc,0x3a,0xb4,0x4a,0xa6,0x18,0x1,0x5e,0x66,0x3c,0x9a,0x7e,0x19,0x37, + 0x36,0xc4,0x8d,0xf,0x73,0x73,0xd,0xb7,0xcb,0x69,0x7f,0xdb,0x8f,0xc3,0x78,0x88, + 0x92,0xb4,0xec,0xc,0x94,0x62,0x4b,0x9f,0xe7,0xa2,0x24,0xad,0x38,0xb,0x25,0x1b, + 0xd1,0xe7,0x4,0x6e,0x83,0x28,0x49,0xab,0x5e,0xe,0x25,0x23,0xce,0x40,0x89,0x55, + 0x7f,0xcf,0x46,0xc9,0xa8,0xb3,0x50,0x9a,0x57,0x7f,0xcf,0x46,0xc9,0x98,0x97,0x42, + 0x9,0x6,0xa7,0xcf,0x40,0x69,0x68,0xdd,0xec,0x44,0x90,0xc0,0xca,0x9e,0x7,0x52, + 0x34,0xbf,0x8e,0xae,0xf7,0x40,0x3a,0x11,0x23,0x30,0xf3,0x2f,0x86,0x91,0x30,0xfe, + 0xc,0x8c,0x78,0x7c,0xfd,0x7c,0x4d,0x52,0xc2,0xf2,0xb3,0x40,0x1a,0xe2,0x76,0xb2, + 0x57,0x2,0x37,0xf9,0x62,0x28,0x71,0x27,0x8f,0xa1,0xd4,0xf0,0xe3,0x4e,0x3f,0x1, + 0xc4,0xe9,0x80,0x1e,0x45,0xa9,0xc3,0xcd,0x3e,0x1,0xc4,0x90,0x23,0x98,0xeb,0xf9, + 0x23,0xdc,0xbe,0x18,0x25,0x63,0xcf,0xd0,0x25,0x47,0x4e,0x29,0x79,0xae,0x2e,0x71, + 0xe3,0xcf,0xd2,0x25,0x82,0x99,0xab,0xe7,0xea,0x12,0xef,0x68,0xee,0x79,0x28,0x3d, + 0x95,0x28,0x54,0x49,0xe3,0xec,0x36,0x4f,0x90,0xe4,0xbe,0x1d,0xd0,0xba,0xe3,0x70, + 0xb,0x21,0x54,0x3b,0xd,0xa7,0xc4,0x2e,0x70,0xc2,0x58,0x6f,0x1a,0xea,0x3,0xa8, + 0x26,0xb0,0xc2,0x39,0xcb,0xdb,0xa9,0xee,0xc5,0xd5,0x58,0xd8,0x40,0x1b,0xd1,0x2a, + 0xec,0x3,0xd1,0x44,0xa0,0xb9,0xd0,0xac,0xa5,0xde,0xec,0x58,0xfd,0xba,0x4a,0x4b, + 0xe4,0xc8,0x9b,0x22,0xc9,0x7f,0xa6,0x3c,0xf3,0x1f,0xab,0x5f,0x8b,0xe4,0xa0,0xd7, + 0x2f,0x79,0xb8,0x2a,0x90,0xd4,0x2e,0x91,0xa0,0x85,0x65,0x9e,0xde,0x7f,0xc3,0x2, + 0x67,0x35,0x13,0xfa,0x82,0xd1,0xa7,0x79,0x8,0x8c,0x31,0x96,0x49,0xfc,0xe0,0xd6, + 0x7a,0x66,0xdf,0xb5,0xd8,0xe,0xa3,0x78,0x9c,0x3,0xf,0x8c,0xf0,0x5c,0x56,0xc, + 0x26,0xf5,0xc3,0x84,0xb3,0x80,0x19,0xc3,0xdc,0x85,0xf4,0x81,0xe5,0xde,0x81,0xc3, + 0x79,0x5b,0x22,0x38,0x4c,0x60,0xac,0x65,0xde,0xba,0x1e,0x70,0x5c,0x7,0x8e,0x19, + 0xb1,0x4b,0x8e,0x6b,0x90,0x1,0x9d,0xb3,0x4a,0x30,0xd7,0x17,0x88,0xe,0x8c,0x64, + 0xd2,0xeb,0x47,0xa4,0x8,0x37,0xa5,0x4f,0x52,0x6,0x72,0xd4,0x4f,0x6a,0xd5,0x13, + 0x38,0xd2,0xb6,0xb8,0xc,0x3c,0x4a,0x1b,0xdd,0xd7,0x7,0xa8,0x8e,0xb4,0xce,0x79, + 0xdb,0xdb,0x16,0x17,0x40,0x54,0x7b,0x26,0x7a,0xdb,0x12,0x0,0x57,0xc3,0xff,0xd8, + 0x13,0x34,0x60,0xc2,0x2b,0xd1,0xf0,0xb,0x89,0x51,0x50,0x68,0x77,0x31,0x1,0x54, + 0x46,0x59,0x79,0xae,0x48,0xe,0xa1,0xe3,0xd2,0xb9,0xaf,0x6,0xdd,0xc0,0x16,0x4b, + 0xfa,0xb9,0x40,0xdd,0xc,0x3d,0x7,0xf,0xae,0xab,0xcd,0x59,0x23,0xb8,0x34,0xcf, + 0x51,0xb8,0xd7,0x90,0xcc,0x20,0x6a,0xe6,0xab,0xa3,0x76,0xc2,0xe6,0x59,0xa0,0xad, + 0xb1,0x82,0xf7,0xad,0x4d,0x5,0xc,0x68,0x4a,0xd7,0xb7,0xb6,0xc0,0x32,0xf8,0x34, + 0x63,0xe,0xac,0x4d,0x61,0x82,0xc7,0x7c,0x26,0x36,0xaf,0x4e,0xda,0x7c,0xcf,0xf5, + 0xbe,0x86,0xca,0xa0,0xcc,0xf7,0xca,0x32,0xe,0x9d,0x81,0x63,0x74,0x1a,0x5e,0xea, + 0x59,0x3a,0x3,0x9f,0x2d,0xb5,0xe5,0xba,0x7,0x9b,0xe4,0x81,0x44,0x30,0x76,0xfb, + 0x2a,0xb3,0xdf,0x95,0xb0,0x54,0x81,0xf4,0xb6,0xeb,0xf4,0x7,0x51,0x13,0xff,0x1f, + 0xa8,0xf1,0x40,0x18,0xe8,0x25,0x27,0x5f,0xcf,0x19,0xb3,0x5a,0x3c,0x13,0x34,0x27, + 0xb4,0xf3,0x7d,0x43,0xb3,0xb0,0x3e,0x89,0xff,0xf4,0x3e,0x6a,0xfb,0x7d,0x79,0x75, + 0xdc,0xc1,0x14,0xb4,0xcd,0x3c,0x8e,0x1a,0xfb,0x6a,0xa8,0xd,0xb1,0xb7,0x47,0xcf, + 0x1b,0xea,0xbc,0x6,0x7d,0xda,0x1d,0x9c,0x9c,0xb3,0x1e,0x49,0xdc,0x9e,0xcc,0x59, + 0xc1,0xcd,0xd,0x70,0x7b,0x22,0x67,0x3d,0x92,0xb8,0xbd,0x50,0xce,0xa,0xe7,0xe2, + 0xce,0x39,0x95,0x31,0x5f,0x50,0xff,0x70,0x3a,0xdb,0x38,0xab,0xfe,0x51,0x83,0xe9, + 0xfa,0x69,0x39,0x2b,0xef,0x9e,0x6e,0x7c,0x39,0x4a,0x47,0xcf,0x1b,0x5a,0x7e,0x46, + 0x9d,0xaf,0x4b,0x47,0x0,0x3d,0x41,0x97,0xcc,0x90,0xe6,0x3e,0xa1,0x4b,0x43,0xdc, + 0x9e,0xad,0x4b,0xaf,0x97,0xd9,0x73,0x3a,0xbe,0x3b,0xcf,0xad,0xd,0x7,0xc0,0x23, + 0xc1,0x72,0x38,0xb0,0xf6,0x82,0xf0,0x53,0xee,0xe6,0x55,0x37,0xef,0xce,0xdc,0xfc, + 0xb3,0x43,0x46,0x85,0x1a,0xed,0x59,0x79,0xb9,0xef,0xf5,0x39,0xd7,0x5a,0xfb,0x1e, + 0x68,0x88,0xd4,0xc6,0xa1,0x73,0x2f,0xfb,0x17,0xdd,0xde,0x7f,0x24,0x6c,0x9c,0xbd, + 0x24,0x6c,0x8f,0xe6,0x27,0x84,0x1b,0x72,0xc,0xe3,0x85,0x37,0x7b,0x49,0x6,0xc1, + 0xad,0x4,0xef,0x6b,0x9b,0x90,0x98,0x2,0x3a,0xd8,0xaf,0x37,0x91,0xef,0x4a,0xad, + 0xa5,0x78,0x55,0xd4,0x7a,0x59,0xec,0x10,0x6a,0xe2,0x25,0x51,0x7b,0xac,0x10,0x20, + 0xd0,0x6c,0x0,0x24,0x49,0x81,0xfa,0xa0,0xe9,0xc0,0x73,0xd1,0xab,0x66,0xaa,0x7c, + 0x84,0x73,0xae,0x9c,0xe2,0x7d,0xd0,0x78,0xa0,0xbd,0x95,0x28,0xdd,0xff,0x50,0xd4, + 0xd4,0x97,0xa3,0x76,0x46,0x85,0x38,0x5c,0xdb,0x1c,0xa9,0x83,0x86,0x6b,0xa6,0x5e, + 0x7d,0xd5,0x40,0x47,0xab,0xa,0x17,0x2f,0xa,0x1d,0x1d,0x3a,0x77,0xa1,0xeb,0xb3, + 0x50,0x4c,0xb7,0xf2,0x8c,0xee,0xb1,0x28,0x1f,0x8,0xd7,0xcb,0xca,0xa3,0x87,0xab, + 0xb1,0xf,0x88,0xa6,0x3a,0x7,0x3c,0xf3,0xc1,0xbe,0xf3,0xc1,0xbe,0x79,0xe5,0xd5, + 0x5c,0x45,0x3e,0x53,0x4e,0xc5,0x3a,0x4f,0xc2,0xf8,0xa7,0xa4,0xbc,0xcd,0x68,0xed, + 0xc9,0x9c,0xf6,0x7f,0xd2,0x49,0xf,0x44,0x87,0x3a,0x62,0x77,0xd2,0xb3,0x7b,0x20, + 0x6f,0xc0,0xb4,0x72,0x17,0x3a,0xb0,0xc2,0xa,0xe5,0x9e,0x3c,0xe9,0xf9,0x12,0xe8, + 0xab,0xb7,0x22,0xc7,0xb5,0x56,0x2b,0x79,0x6e,0x54,0x7d,0x6c,0xbf,0xd6,0x19,0x2f, + 0x85,0xba,0x68,0x7f,0x4d,0x6,0x89,0x54,0x75,0x71,0x2b,0x95,0xa6,0x0,0xc4,0x18, + 0x2,0xb1,0xda,0x8f,0x40,0x26,0x60,0xd2,0x76,0x6b,0x2c,0xd2,0x6c,0x19,0x18,0xa9, + 0x98,0x75,0xfd,0x22,0x5,0x5e,0xd9,0x3a,0x8,0xbb,0x1f,0xb7,0x75,0x20,0xb8,0xd3, + 0x8e,0x8b,0xd7,0xd4,0xec,0xea,0xd5,0xdc,0x71,0xcd,0x6,0xbc,0x2f,0x10,0xb7,0x1b, + 0x78,0x8d,0xb6,0xcc,0x28,0x3a,0x23,0x54,0x2,0xe8,0x88,0x2a,0xe,0xc1,0xfe,0xa5, + 0xaa,0x4e,0x10,0x1d,0x67,0xdc,0x1b,0xe8,0x95,0x80,0xed,0x6b,0x6b,0x2b,0x70,0x9d, + 0x47,0x40,0xea,0x9c,0xf5,0xf5,0x95,0x79,0x1d,0xc6,0x3d,0xcb,0xd3,0x81,0x56,0xca, + 0xe8,0xce,0x71,0xb,0x59,0x9e,0x81,0xb8,0xac,0x45,0x90,0xef,0x59,0xde,0x61,0xdf, + 0xf9,0x60,0xdf,0x9c,0xe4,0x66,0x9d,0xf0,0x5e,0xdb,0x57,0x95,0x5,0xbd,0x4c,0x7e, + 0x4c,0x16,0xea,0x5,0x92,0x81,0xfa,0x88,0x75,0x67,0xd3,0x42,0x70,0x14,0xbc,0x64, + 0xe1,0x2a,0x50,0x12,0x31,0x88,0xe9,0x77,0x3d,0x40,0x27,0x12,0x99,0x94,0x87,0xa8, + 0x78,0xf,0x51,0x4d,0x9,0xe8,0x1,0xa2,0x3,0x9d,0xe7,0x83,0x9d,0xf3,0xa,0x67, + 0x87,0xc,0x8d,0xd7,0xf9,0xd5,0xe5,0x94,0x5e,0xd1,0x57,0xbf,0x9a,0xbb,0x1,0x74, + 0x31,0x20,0xfe,0x9c,0x26,0x77,0x6f,0x1a,0x4c,0xe8,0xfe,0xc1,0x6e,0x9a,0x75,0x78, + 0x93,0x54,0x35,0x0,0x90,0xdc,0xbe,0xe7,0xdb,0x35,0x5c,0x67,0x79,0x9c,0xe4,0x75, + 0x93,0xa9,0xfe,0x7a,0x4d,0xbb,0x32,0xa1,0xbd,0xe1,0xd0,0x11,0x1c,0xcd,0xda,0xb4, + 0xb3,0xe1,0xf6,0xe2,0x36,0x8c,0xb3,0x3b,0x84,0xaf,0xfd,0xc6,0xdf,0xb3,0x6c,0x59, + 0x85,0x73,0x49,0x75,0xa1,0xdb,0x6f,0x26,0x40,0x5,0xcc,0x40,0xc2,0xe,0xfc,0x41, + 0xe3,0x3,0xe9,0x19,0x37,0x6,0xd5,0x8c,0xdd,0x6f,0x8c,0xb3,0x68,0x43,0x57,0x6e, + 0x26,0x9b,0xad,0xc0,0xd7,0xf7,0x7,0xc3,0x37,0x79,0x4e,0x1d,0x16,0xe1,0x43,0x82, + 0x6d,0x57,0x5f,0xb5,0x18,0x9a,0x3b,0x23,0xcd,0xb0,0xf6,0xde,0x48,0x43,0x2a,0x6e, + 0xb3,0xbb,0x9b,0x4d,0x1a,0x27,0x5,0x25,0x3f,0x9b,0x64,0x9f,0x41,0xd5,0x36,0xb9, + 0xbe,0xce,0xee,0x87,0xdb,0xef,0xd2,0x15,0x40,0x99,0xd4,0xbc,0x58,0x13,0xa6,0xf6, + 0x7b,0xd4,0xbc,0x91,0xbf,0x1f,0xe9,0x1,0xe,0xb2,0xf1,0xeb,0xfb,0x8d,0xf,0x84, + 0x61,0xfd,0x7e,0xb3,0xd5,0x95,0x6a,0x79,0xb5,0x7e,0x65,0x39,0xa9,0x7d,0x58,0x56, + 0xd7,0x45,0x3e,0x27,0x79,0x99,0x46,0xe1,0xa2,0xd1,0xbe,0x75,0x56,0xa4,0xdb,0x26, + 0xa1,0x2,0x27,0x7a,0x9e,0x97,0x74,0xac,0x9a,0x4a,0x72,0x65,0x1a,0xd5,0x3c,0xd4, + 0xc8,0x8a,0xbe,0x4c,0xca,0x30,0xe,0xcb,0xb0,0x55,0xcf,0x9a,0x52,0xbf,0x33,0xbb, + 0xcc,0xe3,0xf9,0xec,0x5f,0xdf,0x7f,0x6c,0x2a,0xdf,0x28,0x9a,0xfd,0x3b,0xcb,0x3f, + 0xb5,0x15,0x2d,0x75,0x8,0xaf,0xb3,0xd,0x0,0x69,0xaa,0x71,0xba,0xbd,0x12,0xcd, + 0xc8,0x60,0xc3,0xf2,0x43,0xba,0x84,0xc6,0xd1,0x9d,0xa5,0xbf,0xde,0x2f,0x17,0xb0, + 0x92,0xa6,0xa1,0xd7,0xb9,0x7c,0x58,0x27,0xed,0xa4,0xdb,0x69,0xeb,0xfb,0x57,0x83, + 0x77,0xb8,0xe2,0x68,0x99,0xd2,0xa0,0xe9,0xcf,0x65,0xba,0x58,0xfc,0x40,0x4c,0xba, + 0x15,0xfa,0x74,0xb7,0xd0,0xba,0x88,0xee,0xec,0xe3,0x72,0x5a,0xef,0xb2,0x7a,0xba, + 0xd9,0x13,0xd3,0x22,0xbc,0x4e,0x16,0x57,0xe3,0xef,0xc2,0xc5,0x7f,0x37,0xc9,0xe8, + 0x40,0xc4,0x37,0x79,0xb6,0x59,0x2f,0xb3,0x38,0xd9,0xe9,0xe8,0xb8,0x5,0x6f,0xa7, + 0xb3,0x3b,0x96,0x37,0x3d,0x91,0x20,0x12,0xb5,0xde,0xaf,0x1c,0x8a,0x2d,0x9c,0x29, + 0xeb,0xeb,0x5c,0xa5,0x79,0xa,0x4,0xbe,0x90,0xbd,0x5f,0x20,0xf4,0x32,0xaf,0xbc, + 0x52,0xef,0xda,0x43,0x8f,0x75,0x58,0xde,0xb6,0xa0,0xb5,0x42,0xc6,0xea,0x8,0x1a, + 0x18,0x42,0x54,0xff,0xed,0x1d,0xc6,0xe4,0xf0,0xed,0xa2,0x1b,0xdd,0x47,0x23,0x50, + 0x7f,0x1a,0xc1,0xab,0x19,0x67,0xb5,0x87,0x3b,0xf5,0x46,0x32,0x27,0xf4,0xe8,0xbb, + 0x91,0x45,0xf9,0xe4,0x25,0xf3,0xf2,0x2,0x39,0x2c,0x52,0x55,0x67,0xe5,0xc8,0x51, + 0x51,0x51,0x2d,0xcc,0x21,0x7,0x76,0xc,0x69,0xc5,0x8,0xf9,0x1d,0x57,0xc8,0x7b, + 0x1d,0x68,0x5a,0x31,0x1,0x27,0x82,0xd1,0xa0,0x62,0xb8,0x35,0x6,0x54,0xe4,0x19, + 0x8,0x88,0xae,0x47,0x73,0x70,0x27,0x70,0xe2,0xcd,0x68,0xb,0x9a,0x7,0xb,0xd4, + 0x13,0xa3,0x1f,0x47,0x54,0x8e,0x79,0xe,0x34,0x2e,0xb8,0xda,0x3a,0x67,0x4c,0x29, + 0x3,0x21,0xb5,0x40,0xf9,0x47,0x44,0xcb,0xe0,0x8e,0x1c,0x68,0xf8,0x76,0xc2,0x36, + 0x24,0x3f,0x12,0xa8,0x60,0x10,0x90,0x9d,0x6e,0xc6,0x72,0x5a,0xf,0x76,0x6,0xd7, + 0x6d,0xaa,0x19,0x39,0x1c,0xbb,0x12,0xa0,0xa1,0x23,0x56,0x86,0xd1,0xc4,0x50,0x68, + 0xe6,0x47,0xf4,0x46,0xd0,0x5b,0x8f,0xa,0xe8,0x2,0x9,0xbd,0xb2,0x8e,0x59,0x8c, + 0x46,0xbc,0xc7,0x22,0x25,0xfe,0x47,0x54,0x7c,0xb,0xce,0x1b,0xa2,0xe0,0x44,0xe4, + 0x1a,0x9d,0x75,0x33,0xde,0x4a,0x22,0x32,0xe0,0x27,0x2c,0x36,0x64,0x2,0x8e,0x4a, + 0x94,0x83,0x7d,0x17,0x62,0x13,0x8,0x85,0x61,0x1a,0x44,0x27,0xbd,0x0,0x98,0x26, + 0x50,0x4a,0x79,0x54,0x6,0xd,0x89,0xf,0x49,0xe7,0xf7,0xd1,0xe1,0xe9,0xd2,0x1c, + 0x6,0x31,0x83,0xa9,0x7c,0xf3,0xf6,0x30,0xd9,0x7c,0xf7,0x9e,0x5a,0x3b,0xc7,0x5a, + 0x45,0x99,0x67,0x9f,0x12,0x7a,0xe9,0x4f,0x9f,0xdd,0xe3,0xd6,0xb,0xce,0x8,0x16, + 0xe1,0x3c,0x93,0xa6,0xa6,0xc3,0xe6,0x92,0x7c,0x91,0xe2,0x6b,0xa6,0x6a,0x5a,0x1c, + 0xc2,0xf5,0x56,0x67,0x5d,0x33,0x56,0xd3,0xda,0xeb,0x23,0x1d,0x9b,0xec,0xab,0xeb, + 0xa1,0x11,0x80,0x9d,0xb3,0xdc,0x9,0xb3,0x2d,0xbe,0x9a,0x27,0x4e,0x89,0x97,0xf5, + 0x42,0x5e,0x4c,0x20,0x5b,0xaa,0x96,0x74,0xa7,0xe,0xdb,0x69,0x2e,0x1d,0x99,0x28, + 0xa9,0x8c,0x85,0xba,0x7a,0x2a,0xc9,0xbc,0x1f,0xfd,0x8d,0x34,0x65,0x9b,0xf8,0x74, + 0x7e,0xb1,0x11,0xc7,0x7,0x4,0x6f,0x2d,0x20,0x37,0x17,0x27,0xe,0x18,0xe2,0xf0, + 0xfb,0x78,0xc0,0xfe,0xf2,0x2a,0x12,0xee,0x46,0xf,0x76,0xb8,0x7f,0xa2,0x3,0xc5, + 0xd2,0x86,0xc9,0x60,0x87,0x7b,0xea,0x20,0xc,0xbc,0x44,0xe7,0x68,0x6d,0x6b,0xdb, + 0x4,0xb3,0x80,0xf1,0x1d,0x2a,0x46,0x2b,0xf5,0x56,0x45,0xe,0x13,0xe6,0xa3,0x2a, + 0xa2,0x22,0xfa,0xec,0xa9,0xc8,0x53,0x9a,0x11,0xe6,0x79,0xf8,0x0,0x97,0xb4,0x4a, + 0x4e,0xd3,0x97,0x81,0xcd,0x92,0x2f,0x43,0x22,0x9a,0x47,0xc7,0x95,0x69,0xd8,0xf7, + 0xd,0x0,0x23,0xa5,0x57,0xfb,0xaa,0xa3,0xe8,0xc5,0x94,0x36,0xa4,0x69,0x90,0xa, + 0x33,0x56,0xf2,0xca,0xc9,0x48,0x21,0x4,0x1c,0x2e,0x99,0xaf,0xa5,0x8a,0x11,0xe, + 0x45,0xc1,0xcf,0x29,0xc7,0xa9,0x88,0xf4,0x1c,0xc5,0x80,0xaf,0xdc,0x49,0x75,0x96, + 0x79,0x1,0xfd,0xf0,0xde,0x71,0x29,0x8e,0x58,0x64,0x85,0xc1,0x59,0xd6,0xc7,0x34, + 0x73,0xe,0x99,0x7b,0x4d,0x27,0x73,0x46,0x10,0x9a,0x21,0x4,0xad,0xe2,0x2e,0xf1, + 0x3f,0x59,0xba,0xea,0x53,0x5f,0x4a,0x1c,0x67,0x98,0x2f,0x1d,0xce,0x91,0x57,0xb2, + 0xbb,0xb3,0x13,0x8f,0xe2,0x7,0xe5,0xbe,0x91,0xf8,0xc5,0x99,0xf4,0xbe,0x7b,0x5a, + 0xb7,0x83,0x1e,0x5e,0x9b,0x69,0xaa,0xa5,0x46,0x4d,0x92,0xd,0x23,0x6c,0x72,0x6b, + 0xa0,0xab,0xf0,0x13,0x15,0x67,0x6d,0x84,0x74,0x8d,0x2,0xce,0xd3,0x50,0x99,0x75, + 0xd2,0x80,0x21,0xe,0x47,0xad,0xb6,0x19,0x7d,0xcc,0x6a,0xdb,0xac,0xff,0x88,0xd5, + 0x1e,0xd6,0xa,0x7b,0x56,0x3b,0x50,0x63,0x74,0xcc,0x56,0x49,0x79,0xdc,0x6c,0x59, + 0x20,0xd,0xa2,0x94,0xe6,0xfa,0x11,0xfb,0x55,0xec,0x98,0xfd,0x76,0x85,0xbe,0x67, + 0xbc,0x7f,0x80,0x62,0x9d,0x64,0xe7,0x97,0xd3,0x9b,0xdd,0x8f,0xae,0xf2,0xd,0x1a, + 0x7b,0x11,0xf5,0x72,0xe0,0xca,0xd6,0x55,0xe7,0xf4,0xb2,0xd,0x12,0xf4,0xe6,0xb4, + 0xa,0xde,0xa8,0xdb,0x15,0x5,0x5f,0x5e,0xbd,0x39,0x45,0x9a,0x51,0x9d,0xd,0x41, + 0xba,0xcc,0x11,0xd,0x46,0xad,0x91,0x4f,0x78,0xd4,0xce,0x80,0xd5,0x76,0x69,0x2e, + 0xe0,0x12,0x83,0xb9,0xd8,0x8e,0xde,0x51,0x11,0xb2,0x1d,0x47,0x84,0xb0,0x9d,0x19, + 0x11,0xa9,0x91,0xca,0x58,0xe5,0x3b,0xbc,0xe9,0xe0,0x59,0x2a,0xd9,0xd1,0x91,0x3, + 0xff,0xdc,0xbf,0x24,0x7b,0xd4,0x7d,0x54,0x8f,0xf9,0x66,0x91,0xcc,0x92,0xcf,0x9, + 0xd0,0x88,0x1b,0x87,0x22,0x23,0x6b,0xab,0xbb,0x9c,0x1d,0x71,0x63,0x1,0x8,0xe5, + 0x56,0x39,0x73,0x9a,0xdc,0x2b,0x51,0xbf,0x5f,0x86,0xf9,0xa7,0x24,0xdf,0xb2,0xdf, + 0xfe,0x9e,0x14,0x65,0x98,0x97,0x3d,0xca,0x32,0x8d,0x7b,0xcf,0xc9,0x2a,0xee,0xe9, + 0xc2,0xb,0x69,0xcd,0xfb,0xcf,0x69,0x91,0x5e,0xa7,0xb,0x7a,0xa8,0x7e,0x2e,0x92, + 0xf7,0x71,0x5a,0xac,0x91,0x79,0xcf,0xd2,0x15,0x2d,0xfc,0x7d,0x86,0x72,0x69,0xbe, + 0xc8,0xee,0xea,0xf6,0x56,0x97,0x7a,0x2a,0xf4,0x27,0xe0,0xaf,0x6,0x78,0xdf,0xe2, + 0x28,0x66,0x72,0xe7,0x4,0xc5,0x56,0xc7,0x91,0xc5,0x56,0x35,0x1,0xbc,0xb2,0x42, + 0x4e,0x2b,0xb7,0x49,0x34,0x32,0x5f,0x45,0x34,0x14,0xb2,0x46,0x68,0xa,0xa4,0x74, + 0x7d,0xdf,0x9b,0xe,0x6d,0x6b,0x71,0x28,0x3d,0xb6,0xa3,0x77,0x54,0x1d,0x78,0xa1, + 0x11,0x73,0x55,0x67,0x46,0x49,0x59,0xbf,0x62,0xaa,0xc3,0x1a,0x3f,0xe8,0xa8,0x4c, + 0xd9,0x1,0x17,0xd1,0x49,0x7,0x8e,0xf9,0x95,0x61,0xd,0x3a,0xd9,0x9,0x75,0xee, + 0x3e,0x6e,0x21,0x51,0x54,0xfc,0xc0,0x17,0x5c,0xd0,0xbd,0x3d,0xe1,0x11,0xe0,0x69, + 0x53,0x1a,0x41,0xd2,0x70,0x27,0x2b,0xa0,0xb4,0xc6,0x6,0x89,0x66,0x10,0xba,0x8c, + 0x20,0xc7,0x44,0xb7,0x20,0xd,0xef,0xd0,0x76,0x90,0x18,0xbb,0x1d,0xbd,0xa3,0x62, + 0x1a,0xc5,0x91,0x85,0xa8,0xce,0x8c,0xd8,0x3f,0xe7,0xda,0x11,0xc8,0xd,0x6f,0x6, + 0x70,0x2c,0x6a,0x12,0x61,0xff,0xf4,0x42,0x5f,0xcd,0xb,0x55,0xf1,0xec,0x92,0xe, + 0x43,0x3e,0xbc,0xf9,0x1f,0x45,0xca,0x27,0x3d, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/stock_person.svg + 0x0,0x0,0xd,0x35, + 0x0, + 0x0,0x38,0x58,0x78,0x9c,0xed,0x5a,0xdb,0x72,0xdb,0x46,0x12,0x7d,0xf7,0x57,0x70, + 0xe9,0x97,0xa8,0x96,0x4,0xe7,0x7e,0xa1,0x25,0xa5,0x12,0xb9,0x92,0xca,0x56,0x76, + 0x37,0x15,0x27,0xb5,0x8f,0x2e,0x10,0x80,0x24,0x44,0x24,0xc0,0x5,0x40,0x5d,0xfc, + 0xf5,0x7b,0x66,0x0,0x82,0x0,0x9,0xca,0x92,0xed,0xd8,0x5b,0xe5,0x48,0x71,0x44, + 0xf4,0xf4,0x4c,0xf7,0x9c,0xee,0xe9,0xcb,0x10,0xa7,0xdf,0xde,0xaf,0x96,0xa3,0xdb, + 0xa4,0x28,0xd3,0x3c,0x3b,0x1b,0xd3,0x80,0x8c,0x47,0x49,0x16,0xe5,0x71,0x9a,0x5d, + 0x9d,0x8d,0x7f,0xff,0xed,0x87,0xa9,0x19,0x8f,0xca,0x2a,0xcc,0xe2,0x70,0x99,0x67, + 0xc9,0xd9,0x38,0xcb,0xc7,0xdf,0x9e,0xbf,0x38,0xfd,0xdb,0x74,0x3a,0xba,0x28,0x92, + 0xb0,0x4a,0xe2,0xd1,0x5d,0x5a,0x5d,0x8f,0x7e,0xca,0x6e,0xca,0x28,0x5c,0x27,0xa3, + 0x6f,0xae,0xab,0x6a,0x3d,0x9f,0xcd,0xee,0xee,0xee,0x82,0xb4,0x21,0x6,0x79,0x71, + 0x35,0x3b,0x19,0x4d,0xa7,0x98,0x59,0xde,0x5e,0xbd,0x18,0x8d,0x46,0x10,0x9b,0x95, + 0xf3,0x38,0x3a,0x1b,0x37,0xfc,0xeb,0x4d,0xb1,0xf4,0x7c,0x71,0x34,0x4b,0x96,0xc9, + 0x2a,0xc9,0xaa,0x72,0x46,0x3,0x3a,0x1b,0xef,0xd8,0xa3,0x1d,0x7b,0xe4,0x84,0xa7, + 0xb7,0x49,0x94,0xaf,0x56,0x79,0x56,0xfa,0x99,0x59,0xf9,0xb2,0xc3,0x5c,0xc4,0x97, + 0x2d,0xb7,0x53,0xe6,0x8e,0x7b,0x26,0x6a,0xad,0x9d,0x11,0x36,0x63,0x6c,0xa,0x8e, + 0x69,0xf9,0x90,0x55,0xe1,0xfd,0xb4,0x3f,0x15,0x3a,0xe,0x4d,0x65,0x84,0x90,0x19, + 0xc6,0x76,0x9c,0x4f,0xe3,0x9a,0xdf,0x2f,0x81,0xc4,0x51,0x65,0xfc,0x68,0x57,0x3a, + 0xd0,0x5f,0xe3,0x5f,0x3b,0x61,0x4b,0x8,0xca,0x7c,0x53,0x44,0xc9,0x25,0x66,0x26, + 0x41,0x96,0x54,0xb3,0xd7,0xbf,0xbd,0x6e,0x7,0xa7,0x24,0x88,0xab,0xb8,0xb3,0xcc, + 0x16,0xfc,0x9e,0xdc,0x9e,0x45,0xb2,0x70,0x95,0x94,0xeb,0x30,0x4a,0xca,0xd9,0x96, + 0xee,0xe7,0xdf,0xa5,0x71,0x75,0xd,0x67,0x50,0xfe,0xe9,0x3a,0x49,0xaf,0xae,0xab, + 0xf6,0x31,0x8d,0xcf,0xc6,0xd8,0x1d,0xa3,0xc4,0xf8,0xe7,0xad,0xfc,0x79,0xeb,0x44, + 0x24,0xe0,0xac,0x66,0x6d,0x16,0xed,0xe,0x9,0xd5,0x9f,0x15,0xe7,0xd1,0x22,0x2c, + 0xa1,0xe4,0xec,0x3a,0x5f,0x25,0xb3,0x38,0x5f,0x24,0xf,0xb3,0x5f,0x8a,0xfc,0x8f, + 0x24,0x82,0xfd,0xaf,0x32,0x10,0xa7,0x69,0x94,0x67,0xd3,0xea,0x1a,0x3e,0x31,0xc3, + 0x7a,0xcb,0x70,0xb1,0xc4,0x87,0x2a,0x8f,0x6e,0x66,0x57,0x49,0x96,0x14,0x69,0x74, + 0xb0,0xa4,0xdb,0x19,0xd4,0x74,0x3c,0x6f,0xd7,0x10,0x9e,0x67,0xc1,0xd6,0x22,0xad, + 0x52,0xc9,0xfd,0x3a,0x2f,0xaa,0xe9,0x65,0xba,0x4c,0x6a,0xf6,0x5a,0x83,0x3f,0xd2, + 0xd5,0x2a,0x8c,0x66,0x65,0x11,0xcd,0xa2,0xdb,0x46,0x83,0x43,0x3d,0x84,0xb9,0x17, + 0xa6,0xaf,0xc4,0xac,0x27,0x6e,0x9d,0xd,0x8b,0xbb,0x8f,0xd7,0x30,0xac,0x25,0x83, + 0x83,0xf,0x83,0x83,0xf9,0xa6,0x5a,0x6f,0xaa,0xb7,0xc9,0x7d,0x95,0x64,0x35,0x8c, + 0x30,0x5e,0xc7,0x92,0x7e,0xd8,0xed,0x2f,0xe8,0x59,0xb1,0x77,0xa8,0xcf,0x41,0x39, + 0x8d,0x93,0xcb,0xd2,0x8d,0xd4,0x46,0x74,0x4f,0xdc,0xf,0x60,0xa8,0x15,0xe6,0xd4, + 0x5f,0x3,0x7b,0x1c,0xad,0x9a,0xb5,0x3,0x6c,0xf5,0xe0,0xbc,0xa9,0xcf,0xca,0x6b, + 0x97,0x1b,0xf5,0xcc,0xbd,0x7e,0x7b,0xf,0x5b,0x8f,0xe6,0x23,0x26,0xf0,0x3f,0x3a, + 0xc8,0xf1,0x50,0x73,0x50,0x9c,0x16,0xfc,0x21,0x83,0x3c,0xef,0xce,0xc6,0xc2,0x3c, + 0xb2,0x4c,0xa3,0xc1,0x34,0x2f,0xd2,0xab,0x14,0x3b,0xad,0xf9,0x54,0x9f,0x19,0x5b, + 0xed,0x6c,0x8a,0xdb,0xf1,0x68,0xd6,0x6c,0x1a,0xe7,0x2e,0x9,0x8b,0x1f,0x8b,0x30, + 0x4e,0x11,0x6d,0xba,0x13,0xfa,0x23,0x42,0x2a,0xd6,0x0,0x85,0x59,0x30,0xf3,0x7a, + 0xcb,0xb,0x70,0xaa,0x87,0x65,0xed,0x6a,0xeb,0x69,0x94,0x2f,0xf3,0x62,0xfe,0xf2, + 0xd2,0xff,0xbc,0xf2,0xa4,0x1c,0xc7,0x2b,0xad,0x1e,0xe6,0xf4,0xd5,0x78,0x37,0x27, + 0xbf,0xbc,0x2c,0x13,0x9c,0x28,0xd2,0xa1,0xf9,0x63,0x85,0x19,0x90,0x25,0x5a,0xd, + 0x9f,0x22,0x2d,0x56,0xf8,0x65,0x4f,0x90,0x46,0x87,0xa5,0xa9,0x1d,0x1e,0xb3,0xfe, + 0xb6,0x1f,0x47,0x69,0x6b,0x3,0xa8,0xb1,0x4,0xb4,0x67,0xe3,0x70,0x79,0x17,0x3e, + 0x94,0xe3,0x47,0x60,0xe4,0x52,0x3d,0x3,0x46,0xe2,0x7f,0x3e,0x14,0x46,0x2e,0xcd, + 0xb3,0x60,0x1c,0x92,0x46,0x9e,0xc,0x23,0x57,0xe4,0x3,0x61,0x3c,0x40,0x89,0x1b, + 0x26,0x3e,0x97,0xb3,0x41,0x96,0x7a,0x16,0x4a,0x91,0x75,0xbf,0x7b,0xd2,0x2,0xd2, + 0x80,0x37,0x84,0xd6,0x76,0x70,0x58,0xba,0xf9,0x6c,0xce,0xc7,0xd,0xfd,0x6c,0xce, + 0x7,0x59,0x9f,0xd1,0xf9,0x0,0xe3,0x7b,0x9d,0xcf,0x3d,0x85,0xcb,0x67,0xc3,0xe8, + 0x2b,0x93,0xf9,0x75,0x91,0xa0,0x92,0x7a,0x39,0x80,0x67,0x17,0xee,0xbe,0x8,0x28, + 0xc5,0xda,0xe1,0x8,0xd9,0x80,0xa3,0x94,0xa3,0x4c,0x59,0xb3,0xa3,0x22,0x3,0x50, + 0xb,0xff,0x30,0x8a,0xed,0xf6,0x75,0x39,0xc8,0x7b,0x39,0xc8,0x5b,0x9c,0x8d,0x4d, + 0xa0,0x14,0x23,0x52,0xdb,0x96,0x78,0xd5,0x68,0xf0,0x7b,0x96,0x56,0xa8,0xcf,0x36, + 0x65,0x52,0xbc,0x71,0x35,0xce,0xbf,0xb3,0xdf,0xcb,0xe4,0xbd,0xb1,0xff,0x23,0x10, + 0xf1,0xe1,0xed,0xb1,0xe8,0xa7,0x76,0x88,0xdc,0x53,0x24,0x2b,0x2,0xdd,0xa9,0xb2, + 0xb2,0xa5,0x3e,0x80,0xca,0x65,0x60,0xa8,0xb6,0x5a,0xec,0x78,0x19,0x78,0x59,0xa0, + 0x0,0x8,0xeb,0xf0,0x82,0xca,0x55,0xc0,0xa8,0xd6,0xd2,0x3c,0x71,0xf3,0xfb,0x5c, + 0xbf,0x15,0x61,0x56,0xa2,0x9a,0x5c,0x9d,0x8d,0x57,0x61,0x55,0xa4,0xf7,0xdf,0xa0, + 0x3e,0x93,0x5a,0x68,0x26,0x27,0x0,0x56,0x6a,0xae,0xac,0x4d,0xa6,0x6c,0x32,0x35, + 0x81,0x10,0x90,0xc3,0x98,0x7b,0x72,0x45,0x9c,0x31,0x9c,0x8b,0xc9,0x94,0x7,0x9a, + 0x10,0x2a,0xb4,0x9a,0x4c,0x65,0xa0,0x85,0x73,0xa,0x75,0xf2,0x65,0x41,0x56,0xcf, + 0x4,0xc3,0x9b,0x2,0xf0,0x1a,0xa5,0x3b,0x73,0xbd,0x29,0x54,0xc0,0x2d,0xd9,0x33, + 0x4,0xd,0x4,0x31,0x42,0xee,0x19,0x2,0x9b,0xe7,0x56,0x71,0xf6,0x4,0x88,0xa7, + 0xe,0x63,0x61,0x98,0x54,0x0,0x12,0xd5,0xf,0x95,0x92,0x4f,0x6c,0xa0,0x35,0x33, + 0x9c,0x98,0x2d,0xbe,0x8a,0x32,0xa2,0x27,0x70,0x79,0xc0,0x2e,0x35,0x9d,0x4c,0x55, + 0x40,0xa5,0x51,0xd2,0xda,0x2f,0x9,0x2f,0x7d,0x3e,0xbc,0x9f,0x8,0x8,0xe,0xe, + 0xcd,0xb4,0x9d,0x4c,0x6d,0xc0,0xc1,0x8,0xa6,0x93,0x3f,0xc9,0x84,0x7f,0x22,0xbc, + 0x3e,0xb7,0x3f,0x6,0xaf,0x3e,0xf4,0xa0,0x8f,0x38,0xca,0x4a,0x32,0xa2,0xe4,0x84, + 0xb8,0x5f,0x38,0x92,0xd2,0xd2,0xca,0xc9,0x94,0x32,0x44,0x57,0x6d,0x19,0x8e,0xaf, + 0x6,0x3a,0x54,0x2b,0x6a,0xfb,0x58,0x72,0x12,0x58,0x2e,0x6d,0x27,0xd2,0x3a,0x2c, + 0x99,0xd,0x0,0xbc,0x30,0xaa,0x87,0xe6,0x0,0x6f,0x8d,0xa6,0x21,0x9e,0xb7,0x45, + 0xf3,0xd3,0xa7,0x20,0x5f,0x96,0x1f,0x4f,0x41,0x18,0xee,0x24,0x9b,0x7b,0xd7,0x1d, + 0x4,0x1a,0x9e,0x63,0xfa,0x29,0x88,0x29,0x4,0x5c,0x21,0xc8,0x2e,0x83,0x5c,0xe, + 0xf2,0x5e,0xe,0xf2,0x22,0x5,0x51,0x1d,0x58,0xa3,0x48,0x27,0x36,0x3f,0x6a,0x14, + 0x4d,0x50,0x74,0xc1,0xb7,0x61,0x88,0x80,0x2a,0x4a,0x25,0x45,0x88,0x35,0xce,0x40, + 0x70,0x5f,0x61,0xad,0xb,0xaa,0xd2,0x12,0xad,0x29,0xf3,0x1f,0xb9,0x60,0x9a,0xb0, + 0x93,0x27,0xfa,0xc5,0x97,0x83,0xbb,0x57,0x10,0x7c,0xbc,0xf3,0x4a,0x69,0x84,0xb1, + 0x35,0x4c,0x5c,0x6b,0x2e,0x54,0x8d,0x92,0x54,0x9c,0x1b,0x4,0x4,0x11,0x18,0x4d, + 0x91,0x82,0x44,0xc0,0x95,0xa0,0x8c,0x9f,0xf4,0x4d,0x6d,0x3,0xcb,0x10,0x38,0x64, + 0xcf,0xd4,0xb0,0x14,0x62,0x88,0xb2,0xa2,0x6f,0xea,0x3,0xde,0xcb,0x41,0xde,0x9e, + 0xa9,0x5b,0x9c,0x2f,0xd3,0x65,0x95,0x14,0x4f,0xc7,0xf7,0x6c,0x8c,0xb8,0x47,0x70, + 0xe6,0xf0,0x43,0x76,0xde,0xb5,0xbd,0x72,0x41,0x94,0x67,0xee,0x67,0x77,0x9a,0xfc, + 0x4,0x84,0x44,0x21,0x5c,0xb9,0xbc,0x25,0xb7,0x97,0x32,0x0,0x44,0x19,0xab,0xfa, + 0x51,0xbb,0x56,0x4a,0x2a,0xc4,0xb8,0xb6,0x8,0xbd,0x4c,0x7e,0xc,0x37,0x65,0x99, + 0x86,0xd9,0xf7,0xcb,0x4d,0xab,0xf0,0x13,0x54,0x76,0x15,0x6b,0xfc,0x3a,0xb9,0x4d, + 0xc3,0xaa,0xb9,0x4e,0x10,0x92,0x53,0x22,0x44,0x87,0xc3,0xb,0xed,0x9,0x80,0x70, + 0xdd,0xa9,0x4a,0x6b,0x8d,0xfc,0x2d,0xc4,0xcc,0x5d,0x3c,0xf8,0x4f,0xed,0xc5,0x82, + 0xbb,0x7f,0x89,0x6f,0xd3,0xe4,0xee,0x45,0x5f,0xa5,0xf2,0x3a,0xbf,0x5b,0x87,0x57, + 0x49,0x79,0x1d,0xc6,0xf9,0x1d,0x44,0x84,0xcb,0xd6,0x7d,0x9c,0x48,0x77,0x73,0xd4, + 0x3c,0x3a,0x36,0x5f,0x4d,0xc3,0x6f,0xeb,0x9e,0xa8,0x19,0x58,0xe4,0x45,0x9c,0x14, + 0xdb,0x21,0xe5,0x7f,0x7a,0x43,0x4d,0xc1,0xed,0x2e,0xa7,0x28,0x52,0x8,0xd3,0x62, + 0xeb,0x9,0xbb,0x7b,0x6,0x2c,0xde,0x61,0x23,0x43,0xe3,0x5b,0x1d,0xd9,0xfe,0xe0, + 0xbb,0x3c,0x87,0x63,0x8b,0x7d,0xb2,0x73,0x53,0x78,0x31,0xea,0x7e,0xc9,0xf,0x4, + 0xfa,0xc0,0x64,0x2,0x8b,0x2c,0xd5,0x6a,0xbb,0x1b,0xdc,0x14,0x5,0x4e,0xcd,0x74, + 0x19,0x3e,0x24,0xd8,0x93,0xff,0xb3,0x95,0xea,0x10,0xbb,0x2a,0xbc,0x39,0xba,0x58, + 0x6d,0xa7,0xba,0xa1,0xe9,0x62,0x91,0x43,0x76,0x55,0x6c,0xe,0x86,0xe3,0x3c,0xda, + 0xb8,0x8b,0xd7,0xe9,0xa6,0x3e,0xb7,0xeb,0xfb,0x86,0x3,0xe6,0x5b,0x2,0x3d,0x1b, + 0x2f,0x8,0xdb,0x6,0xbf,0xb2,0x2a,0xf2,0x1b,0x34,0x32,0x2f,0x71,0x4e,0x12,0x12, + 0xee,0xaf,0x75,0x97,0x66,0xc0,0x63,0xda,0x38,0xb6,0xd1,0x7,0xb8,0x34,0xc,0x5b, + 0x4f,0x36,0xf4,0x0,0x85,0x86,0xc3,0x9d,0x51,0xa2,0x8f,0xc,0x2,0x28,0xcb,0x7a, + 0xf6,0x6c,0x60,0xf1,0xfb,0xab,0x1d,0xf0,0x74,0x95,0x54,0x61,0x1c,0x56,0xe1,0xce, + 0x73,0xb6,0x94,0x6d,0xab,0x7d,0x5a,0xc4,0x97,0xf3,0x5f,0x5f,0xff,0xd0,0x1e,0x97, + 0x28,0x9a,0xff,0x27,0x2f,0x6e,0x76,0x2e,0xee,0x18,0xc2,0x45,0xbe,0x81,0xaa,0xed, + 0xa1,0x72,0x77,0x6a,0xd1,0xdc,0x45,0xae,0xb0,0x3a,0x4f,0x57,0xf0,0x2,0x77,0xf1, + 0xfb,0xf7,0xfb,0xd5,0x12,0x5e,0xde,0xe,0xf4,0x98,0xdd,0x1d,0xda,0x6e,0xd1,0x7a, + 0xd9,0x22,0xa9,0x2f,0x76,0x7,0xef,0xc2,0xe3,0x68,0x95,0xba,0x49,0xb3,0x37,0x15, + 0x8c,0xf0,0x93,0x13,0xd2,0xe9,0x2d,0x9b,0x45,0xd3,0x6a,0x99,0x9c,0xff,0xe2,0x6f, + 0x1e,0xbd,0xe4,0x9a,0xd0,0xe3,0xf1,0x17,0xe6,0x79,0x71,0xde,0x11,0xee,0x36,0xf9, + 0xdd,0x55,0xdb,0x25,0x1e,0xae,0xf8,0x8f,0xf0,0x66,0xb3,0x18,0xbd,0xa9,0x12,0x24, + 0x82,0x62,0x68,0x61,0x77,0x9c,0xf,0x17,0xf1,0x9c,0x7,0xf2,0xdc,0xb2,0xf5,0x3e, + 0xcf,0x9b,0x6d,0xd6,0x57,0xad,0xc1,0x6a,0x53,0xa6,0xd1,0x75,0xb8,0x5c,0x6,0xd1, + 0x3b,0x3f,0xb5,0xe1,0xea,0xcf,0xdc,0x2c,0xdc,0x95,0x70,0x4f,0xb4,0xc3,0xee,0xfb, + 0xf0,0x6a,0x4f,0x7b,0x47,0x5d,0xa6,0xe7,0x2e,0xe7,0x9c,0xce,0x9a,0x87,0x41,0x8e, + 0x75,0x83,0xd7,0x21,0x4f,0x4d,0xeb,0x2d,0x5d,0x2b,0xb6,0xaf,0x84,0x43,0x70,0x99, + 0x46,0x49,0x56,0xbe,0xdf,0xa8,0x43,0xdf,0x58,0x34,0x73,0xcb,0xd9,0x8f,0xbf,0xfc, + 0x3c,0x63,0x1,0x99,0x75,0xaf,0xd,0x66,0x8d,0xf,0x76,0x7d,0xf2,0xe7,0x7d,0x61, + 0x1d,0xb7,0x7c,0x96,0x9c,0xfe,0x1e,0x0,0x5,0xbc,0xac,0x7c,0xef,0x1e,0xee,0x92, + 0x45,0xb0,0x25,0xfa,0x85,0xa3,0x68,0xf6,0x6b,0xb2,0x2e,0xf2,0x78,0x13,0xb9,0xec, + 0xd0,0xf7,0xcc,0x8f,0x5c,0xf8,0x75,0x8a,0x10,0x93,0x2e,0x36,0x83,0xb,0x17,0xc9, + 0x7f,0x37,0x29,0x66,0x7c,0xd0,0xca,0xff,0xca,0x2b,0x0,0xf2,0x69,0x95,0x4d,0x8a, + 0xf4,0xd6,0xe3,0xee,0x4c,0x56,0x7e,0x5a,0x7d,0xdf,0x5c,0x87,0x45,0xf2,0xdd,0x32, + 0xbd,0x39,0xd4,0xf9,0xe3,0xd6,0xf5,0x4f,0x17,0x79,0x9c,0xec,0xfb,0x5d,0xe3,0x67, + 0xdb,0xf4,0xdd,0x89,0x8e,0xa7,0xb3,0x6d,0xec,0xf4,0x4f,0x57,0xbb,0x98,0xea,0x3, + 0x2f,0xdd,0x8f,0xd3,0xcb,0x70,0x91,0x20,0x77,0x44,0xe9,0x3a,0xb9,0x39,0x4c,0x47, + 0xf9,0x66,0xbd,0x82,0xf8,0x66,0x72,0x9b,0x59,0xfc,0xd,0x59,0x9c,0x96,0x6b,0x90, + 0xe7,0x69,0xe6,0xa,0xd1,0x6d,0xa0,0x5e,0x87,0xd5,0xf5,0x76,0xb3,0xd,0xe3,0xee, + 0x82,0xce,0xe5,0xa9,0x39,0x82,0xe7,0x37,0x2f,0xf,0x3b,0xab,0x13,0x3f,0x3a,0xed, + 0x33,0x4f,0x8b,0xcd,0x32,0x99,0x27,0xb7,0x49,0x96,0xc7,0xf1,0xab,0x3a,0xa5,0xcd, + 0xb3,0x3c,0x4b,0x9a,0xcf,0x75,0xfe,0x9a,0xd3,0xf5,0xfd,0x96,0xe0,0x16,0x86,0xf2, + 0x73,0xa8,0x9e,0xc5,0x5d,0xe2,0x1f,0x79,0x9a,0x35,0xd4,0x55,0x58,0xdc,0x24,0x45, + 0xbd,0x4e,0xfd,0x79,0x5a,0x56,0x61,0x51,0xf5,0x28,0xab,0x34,0xee,0x3d,0x27,0x59, + 0xdc,0x93,0xc,0x57,0x44,0x32,0x4b,0xf1,0x67,0x2e,0xb6,0xb4,0x38,0x44,0x99,0x51, + 0x14,0x0,0xa5,0xcb,0xe9,0xa8,0xf5,0xd,0xe1,0x9c,0x6c,0x69,0xbb,0x6d,0xde,0xa6, + 0x65,0xba,0x48,0x97,0xee,0xc1,0x7f,0x5c,0x26,0xaf,0xfa,0xc8,0xbe,0xca,0x6f,0x93, + 0xe2,0x72,0x99,0xdf,0x6d,0xc7,0xdb,0xc2,0xe,0x46,0xfd,0xe7,0x48,0xa0,0x2c,0x92, + 0x94,0x5b,0x3e,0x31,0x1,0xca,0x50,0x69,0x8,0x1b,0xfd,0x3c,0x52,0x1,0xe5,0xc6, + 0x88,0x3e,0x51,0xa0,0x3c,0xd6,0x92,0x2a,0x31,0x41,0xf5,0xcc,0x8d,0x15,0xd,0x55, + 0xa3,0xe1,0x26,0x9c,0x82,0x17,0x95,0x2f,0x51,0x44,0x78,0xaa,0xc0,0xb8,0x41,0xc3, + 0xa3,0x3,0xc3,0x38,0x2a,0x70,0xe9,0xa9,0x87,0xc2,0xde,0xf5,0xbf,0xcb,0x81,0xfd, + 0x5,0xd5,0x7c,0x57,0x5c,0xf6,0x3c,0xa2,0x2d,0x29,0xe1,0x55,0x2e,0x6d,0xa2,0x8a, + 0x89,0xf0,0x73,0xb8,0x4,0xd7,0xa4,0xbf,0x4f,0x15,0x8,0x4e,0xa4,0xeb,0x2d,0x50, + 0x54,0xa3,0xd7,0x31,0x62,0x74,0x31,0xd2,0x28,0xd0,0x38,0xd7,0xdc,0x11,0x19,0x9a, + 0x66,0xab,0x41,0x62,0xca,0x5a,0xb,0x3e,0x12,0x28,0x2,0x75,0xcd,0x10,0xe9,0x2, + 0xeb,0x61,0x5b,0x86,0x18,0x77,0x95,0xa6,0xd1,0xa2,0xe8,0x91,0xc,0x4,0x23,0x4c, + 0x29,0xec,0x98,0x73,0xcb,0xd0,0xd5,0xc,0x91,0x2e,0x86,0x88,0xca,0xd7,0xf9,0x94, + 0x3a,0x9,0x5c,0x71,0xaa,0xc5,0x90,0xbe,0x3b,0xa4,0xf6,0x4e,0x6,0x3a,0x8,0xa6, + 0xd1,0x50,0x11,0xfd,0xc8,0x11,0x51,0xea,0xaf,0x23,0xf2,0xe4,0x23,0xd2,0x54,0x96, + 0xb3,0xab,0x5e,0x14,0x7c,0x4f,0x60,0x6b,0xa3,0xe4,0x41,0x31,0xdc,0x44,0xc9,0x18, + 0x45,0x7b,0x3a,0xea,0xc6,0xca,0x47,0x63,0x61,0x81,0x62,0xe4,0xa8,0xc5,0xb9,0x30, + 0x52,0x53,0xc1,0x6a,0x8b,0x6f,0xbf,0x63,0x38,0x6a,0x60,0xa0,0xf5,0xe,0xcd,0xd0, + 0x71,0x3,0x63,0xc5,0x7a,0xd,0xba,0x6f,0x67,0xa4,0xe8,0xea,0xc0,0xcc,0xde,0x36, + 0x9f,0xdc,0xcc,0x94,0xfc,0x49,0x76,0x5e,0x2c,0xf3,0xe8,0xe6,0xc0,0xcc,0xaf,0xea, + 0xbe,0xb5,0x3e,0x2f,0xbb,0xae,0xfa,0xe4,0x55,0x92,0xb9,0xb7,0x10,0xa6,0x8b,0x30, + 0xba,0xb9,0xf2,0xe,0x3d,0xf,0x23,0xf4,0x4e,0x9b,0x65,0x58,0x25,0xbd,0x58,0xe3, + 0x4c,0x24,0xd4,0x61,0xa7,0xcf,0x4d,0x40,0xd,0xd7,0x6a,0x77,0xeb,0xd0,0xb6,0xf4, + 0x38,0xac,0x92,0x13,0xb1,0x9b,0x82,0x6,0x48,0x2,0x7c,0xe,0xfc,0x77,0x37,0x4f, + 0xf,0xfe,0x96,0x4d,0x8,0x63,0x24,0xdf,0xdd,0x51,0x78,0x56,0xca,0x94,0xec,0x5c, + 0x34,0x16,0xf,0x3,0xc4,0x6a,0xe0,0xce,0x85,0x33,0x49,0x94,0x56,0xcd,0x85,0x21, + 0xe7,0x9c,0xa,0x22,0x26,0x88,0x63,0x56,0xd2,0xe6,0xe6,0x5f,0x5b,0x4e,0x2c,0x0, + 0x38,0x12,0x7d,0x8f,0xe7,0xe3,0xc3,0xbb,0xb9,0xa7,0x7,0x9b,0x97,0xc6,0x98,0xd0, + 0xc8,0x3,0x77,0x94,0xd4,0x18,0x74,0xf3,0x5f,0x57,0xe0,0xe9,0xe5,0x2c,0xf7,0xa5, + 0x8b,0xb6,0x4,0x69,0x1,0xae,0x60,0x4,0xe3,0x1c,0x39,0xd4,0x25,0x21,0xc3,0xa8, + 0x62,0x1d,0xea,0xc5,0x88,0xa2,0xec,0x47,0x36,0x25,0xbc,0x43,0xa5,0x3c,0x10,0x4a, + 0x20,0xf7,0xba,0xfb,0x34,0x2b,0x8d,0xd1,0xca,0xd1,0xac,0xa6,0x4a,0xd9,0x89,0x1f, + 0xa5,0xc8,0xc6,0x6e,0xb6,0x70,0xb7,0x3e,0x42,0xca,0x89,0x5b,0x87,0x5b,0x69,0x1d, + 0x89,0x48,0x6e,0x89,0x9e,0x58,0xf8,0xa,0xd5,0x56,0x3a,0xc9,0x96,0x61,0x15,0x89, + 0xcc,0x5,0xdf,0x91,0x54,0x2a,0xe8,0x23,0x3,0x97,0xe6,0xad,0x35,0x1d,0x2a,0x56, + 0xc,0xac,0x12,0x56,0x19,0x77,0xe7,0x4f,0x15,0x67,0x58,0x1c,0x34,0xa9,0x85,0xfb, + 0x16,0xc9,0xe5,0x34,0x24,0x5b,0xa8,0x39,0x62,0x1,0xb3,0xdc,0x52,0x4b,0x9d,0x3e, + 0x52,0x48,0x78,0x20,0x66,0xf3,0x0,0x9,0xd2,0xd8,0x7a,0x8f,0xd4,0x32,0xc1,0x50, + 0x3a,0x30,0x38,0x2f,0xe3,0x5d,0x30,0x6,0xf0,0x19,0xa8,0x26,0x78,0xe7,0x78,0xe, + 0x17,0x10,0xef,0xdc,0x7f,0x1f,0x5d,0x71,0x28,0xd1,0xb7,0x1e,0xa0,0xd4,0x16,0xbe, + 0xed,0xd0,0xd7,0x92,0x59,0xeb,0x71,0xe1,0x1,0x77,0xf8,0x2b,0x47,0x15,0x28,0x97, + 0x88,0x75,0x34,0xe5,0xbe,0x2d,0xf7,0x36,0xc1,0x14,0xae,0x87,0x48,0x7e,0x2e,0xb0, + 0xf0,0xe8,0x19,0x4d,0xc,0xc7,0x4c,0x1a,0x68,0x44,0x8,0x69,0x5c,0xe1,0x20,0xb9, + 0xb4,0x83,0xa4,0x8b,0x41,0x3e,0xe6,0x6e,0xf6,0xa9,0x73,0x18,0x0,0x2f,0xa1,0xa8, + 0x1a,0xd2,0xf8,0xb1,0x9a,0xc3,0x52,0x46,0x8c,0x36,0x47,0x6b,0xe,0xf1,0x57,0xcd, + 0xf1,0x21,0x47,0xbf,0xad,0x1a,0x8a,0xb7,0x51,0xff,0x26,0xaf,0x3f,0xf6,0xd0,0xbb, + 0x5,0x7b,0x3c,0x56,0xc3,0xea,0xa8,0xc7,0x25,0x91,0xea,0x31,0x6b,0xfd,0xd5,0x44, + 0x7d,0x60,0xa0,0xe6,0xae,0x7e,0x47,0x13,0x20,0x7c,0xa4,0x55,0x8,0x5e,0xc,0xa7, + 0x8e,0xf9,0xaf,0x13,0xa8,0x6b,0x2f,0x84,0xfb,0x26,0x5d,0x20,0x8c,0xe1,0x84,0x61, + 0x10,0xa9,0xcd,0xd1,0x88,0x16,0x9c,0xe,0x91,0x5c,0x4,0xa4,0x14,0xe1,0x8e,0xa, + 0x17,0x91,0x29,0x7,0x91,0xba,0x9e,0x4a,0x2a,0x8d,0xb2,0xcf,0x9d,0x62,0xd4,0x7e, + 0x2e,0x4c,0xf,0xd1,0x2e,0x6,0xa9,0x8,0x3c,0x8,0xc9,0xa8,0x3c,0x7c,0x48,0xd1, + 0x54,0xd3,0x41,0xb5,0x87,0x2,0xa8,0x14,0xef,0x9,0xa0,0xdd,0x78,0xf8,0x49,0xbc, + 0xf7,0x91,0x30,0x7d,0xa8,0x1e,0x15,0xfb,0x69,0x53,0x71,0xa1,0x94,0xf6,0xc9,0x83, + 0x4a,0x43,0xc5,0x36,0x6d,0xa,0x21,0xac,0xa7,0x12,0x61,0xa9,0xaa,0x3,0xa3,0x95, + 0x8,0xc3,0xa6,0x43,0x5,0x3c,0xc,0x98,0x70,0x6f,0xf,0xc5,0xb4,0x94,0xd2,0xc7, + 0x63,0xd,0x2b,0x78,0xf0,0xd0,0xbb,0x21,0x4a,0xd6,0x69,0x93,0x52,0x4,0x41,0xe5, + 0x13,0x9a,0x46,0xbe,0xab,0x23,0x37,0x9a,0x31,0x49,0x91,0xf8,0x24,0x15,0x38,0x76, + 0x4e,0x34,0xa2,0x2f,0xd4,0x44,0x86,0x94,0x2e,0x13,0xda,0x3a,0x6f,0x22,0xad,0x31, + 0xa4,0x2d,0x50,0x5,0xe1,0x12,0xd1,0xde,0xfb,0xc,0xba,0x6a,0x4d,0xa9,0xc2,0x74, + 0x26,0x90,0x9e,0x29,0x43,0xde,0x44,0x11,0x48,0xa9,0x10,0x4e,0xc,0xd4,0x81,0x23, + 0x81,0x4f,0xa2,0x4b,0xb4,0x75,0x82,0xe0,0xee,0x8b,0x7d,0x53,0x7b,0x8d,0x41,0xd5, + 0x24,0xa8,0x37,0x28,0x67,0xc4,0xba,0xc4,0xe9,0x92,0xbc,0xa9,0x13,0x67,0xb3,0xc5, + 0x1,0x84,0x1e,0x9,0xf4,0x4a,0x30,0xd7,0x6b,0xc8,0x3a,0x74,0xf8,0x53,0xf5,0xe4, + 0xda,0xae,0x7d,0x81,0x6d,0xa8,0xb6,0xb3,0x5f,0x57,0xc8,0x18,0x74,0xf5,0x3a,0x7e, + 0xb8,0x17,0x23,0xdc,0xbb,0x20,0x93,0xf6,0x35,0xa8,0xd1,0x77,0xa3,0xf6,0xed,0xa7, + 0x49,0xfb,0x69,0x44,0x46,0x14,0xbf,0xc,0x6e,0x82,0x62,0x5e,0x3c,0x91,0x7d,0x68, + 0xf9,0x77,0x87,0x47,0xda,0x75,0x12,0x87,0x6f,0x5c,0xed,0x86,0xef,0x1f,0x1d,0x1e, + 0x7e,0xe1,0x6b,0x37,0x3c,0xf8,0xe6,0x57,0xe7,0x10,0x9b,0x63,0xe,0x78,0xbc,0xcf, + 0x70,0xaf,0xa1,0xfd,0x95,0xb2,0x9e,0x9d,0xb2,0xf6,0xde,0xf8,0xe,0x8b,0xe8,0xd1, + 0xbe,0xf1,0xc8,0x8b,0x26,0xee,0xdd,0x1b,0x4b,0x8d,0x7b,0x7b,0x89,0x5,0xa,0xd1, + 0xcf,0x28,0x7e,0xac,0x71,0x3c,0x2e,0xf0,0x19,0xb6,0xa6,0xcf,0x28,0x26,0x8f,0xf4, + 0x94,0x38,0x4,0x8,0x3c,0x52,0x7f,0x9d,0x76,0xdf,0x1d,0x36,0x46,0x9e,0x7a,0x40, + 0x9f,0x7a,0xbc,0xdf,0x13,0x1c,0x86,0x43,0xcb,0x97,0x8f,0x7d,0xcf,0xf3,0x77,0x81, + 0x76,0xc9,0xbd,0xc,0xe9,0xde,0x4a,0x51,0x54,0xa8,0x23,0xee,0xfe,0xe5,0xb7,0xf5, + 0xff,0x11,0xd2,0x3b,0xef,0xb9,0x1c,0xd4,0x14,0x14,0xcd,0x3d,0x61,0x52,0x7c,0xba, + 0x9a,0x2,0xb9,0x0,0x6b,0x32,0xf3,0x75,0x9e,0xed,0xe7,0xc6,0x74,0xc6,0xb8,0xe6, + 0x6c,0xeb,0xe3,0x9c,0xc1,0xc2,0xc2,0xbd,0xe5,0xb,0x5b,0x73,0x74,0xe,0xf5,0xbb, + 0x69,0xe8,0x11,0xb4,0x3e,0xe9,0x5e,0x86,0x9f,0xba,0x37,0x20,0xce,0x5f,0xfc,0xf, + 0x41,0xd,0x4b,0x70, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/led-gray.svg + 0x0,0x0,0x14,0x25, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x34,0x22,0xa,0x20, + 0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x32,0x22,0xa,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x34,0x36,0x22, + 0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f, + 0x63,0x62,0x61,0x73,0x65,0x3d,0x22,0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x70,0x6c,0x62, + 0x65,0x61,0x75,0x64,0x6f,0x69,0x6e,0x2f,0x53,0x46,0x4c,0x50,0x68,0x6f,0x6e,0x65, + 0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f,0x6e,0x65,0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f, + 0x6e,0x65,0x2d,0x67,0x74,0x6b,0x2f,0x70,0x69,0x78,0x6d,0x61,0x70,0x73,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e, + 0x61,0x6d,0x65,0x3d,0x22,0x6c,0x65,0x64,0x2d,0x67,0x72,0x61,0x79,0x2e,0x73,0x76, + 0x67,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d, + 0x22,0x6f,0x72,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75, + 0x74,0x70,0x75,0x74,0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6d, + 0x6f,0x64,0x69,0x66,0x69,0x65,0x64,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x3e,0xa, + 0x20,0x20,0x3c,0x64,0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x64,0x65,0x66,0x73,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x31,0x39,0x38,0x22,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f, + 0x6c,0x6f,0x72,0x3a,0x23,0x66,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x33,0x32,0x30,0x30,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f, + 0x72,0x3a,0x23,0x36,0x65,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x33,0x32,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37,0x37, + 0x32,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x38,0x30, + 0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x32,0x37,0x37,0x34,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x38,0x30,0x30,0x30, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x32,0x37,0x37,0x36,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a, + 0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70, + 0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20, + 0x3a,0x20,0x31,0x32,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22, + 0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70, + 0x5f,0x7a,0x3d,0x22,0x32,0x34,0x20,0x3a,0x20,0x31,0x32,0x20,0x3a,0x20,0x31,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d, + 0x22,0x31,0x32,0x20,0x3a,0x20,0x38,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74, + 0x69,0x76,0x65,0x34,0x31,0x37,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x36,0x39,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x65,0x62,0x65,0x62,0x65,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x34,0x32,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x33,0x39,0x33,0x39,0x33,0x39,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x34,0x32,0x37,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x31,0x38,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f, + 0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x34,0x31,0x38,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x66,0x65,0x30,0x30,0x3b, + 0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x61,0x61,0x65,0x30, + 0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30, + 0x2e,0x34,0x39,0x38,0x30,0x33,0x39,0x32,0x32,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x2e,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x33,0x32,0x35,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x38,0x37,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c, + 0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x31, + 0x34,0x35,0x66,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69, + 0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x31,0x36, + 0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x38,0x30,0x30,0x30, + 0x30,0x65,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x36,0x39,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x30,0x30,0x30,0x31,0x34, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37,0x37, + 0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37,0x37,0x38, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x32,0x36,0x2e, + 0x34,0x32,0x30,0x35,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x31,0x3d,0x22,0x33,0x2e,0x34,0x35,0x36,0x35,0x32,0x32,0x35,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x32,0x30,0x2e,0x32,0x39,0x31,0x37, + 0x32,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x2d, + 0x35,0x2e,0x32,0x37,0x35,0x38,0x36,0x31,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d, + 0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x36,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69, + 0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x32,0x31,0x32,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x31,0x33,0x2e,0x39,0x36, + 0x35,0x33,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22, + 0x39,0x2e,0x34,0x37,0x33,0x33,0x30,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x66,0x78,0x3d,0x22,0x31,0x33,0x2e,0x39,0x36,0x35,0x33,0x36,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x79,0x3d,0x22,0x39,0x2e,0x34,0x37,0x33, + 0x33,0x30,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d,0x22, + 0x31,0x31,0x2e,0x35,0x37,0x38,0x38,0x37,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66, + 0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30,0x2c, + 0x30,0x2c,0x31,0x2e,0x30,0x32,0x32,0x39,0x30,0x30,0x38,0x2c,0x30,0x2c,0x2d,0x30, + 0x2e,0x32,0x37,0x34,0x33,0x33,0x32,0x38,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x70,0x72,0x65,0x61,0x64,0x4d,0x65, + 0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x66,0x69,0x6c,0x74,0x65,0x72,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x66,0x69,0x6c,0x74,0x65,0x72,0x34,0x37,0x31,0x32, + 0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x65,0x47,0x61,0x75,0x73, + 0x73,0x69,0x61,0x6e,0x42,0x6c,0x75,0x72,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x64,0x44,0x65,0x76,0x69,0x61,0x74,0x69,0x6f, + 0x6e,0x3d,0x22,0x30,0x2e,0x32,0x33,0x33,0x39,0x33,0x35,0x39,0x34,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x66,0x65,0x47,0x61, + 0x75,0x73,0x73,0x69,0x61,0x6e,0x42,0x6c,0x75,0x72,0x34,0x37,0x31,0x34,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x69,0x6c,0x74,0x65,0x72,0x3e, + 0xa,0x20,0x20,0x3c,0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22, + 0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f, + 0x72,0x64,0x65,0x72,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36,0x36, + 0x36,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x73, + 0x68,0x61,0x64,0x6f,0x77,0x3d,0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x31,0x31, + 0x2e,0x33,0x31,0x33,0x37,0x30,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x78,0x3d,0x22,0x2d,0x34,0x2e,0x33,0x37, + 0x32,0x31,0x37,0x36,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x79,0x3d,0x22,0x2d,0x31,0x2e,0x31,0x39,0x35,0x38, + 0x30,0x35,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75,0x6e,0x69,0x74, + 0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x2d,0x6c,0x61,0x79, + 0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x33,0x32,0x70,0x78,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x33,0x32,0x70,0x78,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65,0x73, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f,0x78, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69,0x64, + 0x74,0x68,0x3d,0x22,0x31,0x34,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x68, + 0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x38,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77, + 0x2d,0x78,0x3d,0x22,0x2d,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22, + 0x2d,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69, + 0x64,0x3d,0x22,0x66,0x61,0x6c,0x73,0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x67,0x75,0x69,0x64,0x65,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f, + 0x6e,0x3d,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x35, + 0x2e,0x39,0x38,0x32,0x31,0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x33,0x31,0x34,0x36,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x3c,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e, + 0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0x3e,0xa,0x20,0x20,0x3c,0x6d,0x65,0x74, + 0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61, + 0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d,0x6c,0x3c, + 0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72,0x65,0x73,0x6f, + 0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72, + 0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69,0x74,0x79,0x70, + 0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e, + 0xa,0x20,0x20,0x3c,0x2f,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20, + 0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x61,0x6c,0x71,0x75,0x65,0x20, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65, + 0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65, + 0x72,0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74, + 0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x72,0x61,0x64,0x69, + 0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x32,0x31,0x32,0x29,0x3b, + 0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66, + 0x69,0x6c,0x74,0x65,0x72,0x3a,0x75,0x72,0x6c,0x28,0x23,0x66,0x69,0x6c,0x74,0x65, + 0x72,0x34,0x37,0x31,0x32,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x32,0x34,0x32,0x34,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x78,0x3d, + 0x22,0x31,0x32,0x2e,0x31,0x39,0x37,0x35,0x39,0x33,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d,0x22, + 0x31,0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d,0x22,0x31, + 0x31,0x2e,0x35,0x37,0x38,0x38,0x37,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x31,0x31, + 0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x64,0x3d,0x22,0x4d,0x20,0x32,0x33,0x2e,0x37,0x37,0x36,0x34,0x36,0x36,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x41,0x20,0x31,0x31,0x2e,0x35,0x37, + 0x38,0x38,0x37,0x34,0x2c,0x31,0x31,0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x20,0x30, + 0x20,0x31,0x20,0x31,0x20,0x30,0x2e,0x36,0x31,0x38,0x37,0x31,0x39,0x31,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x41,0x20,0x31,0x31,0x2e,0x35,0x37, + 0x38,0x38,0x37,0x34,0x2c,0x31,0x31,0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x20,0x30, + 0x20,0x31,0x20,0x31,0x20,0x32,0x33,0x2e,0x37,0x37,0x36,0x34,0x36,0x36,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61, + 0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x35,0x37,0x39,0x37,0x39,0x34,0x34,0x2c,0x30, + 0x2c,0x30,0x2c,0x30,0x2e,0x35,0x36,0x36,0x38,0x31,0x33,0x39,0x2c,0x34,0x2e,0x39, + 0x32,0x37,0x39,0x30,0x33,0x38,0x2c,0x35,0x2e,0x32,0x31,0x30,0x30,0x33,0x32,0x33, + 0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73, + 0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/led-red.svg + 0x0,0x0,0x7,0x2c, + 0x0, + 0x0,0x18,0x69,0x78,0x9c,0xb5,0x58,0x59,0x6f,0xe4,0x36,0x12,0x7e,0xf7,0xaf,0xd0, + 0x6a,0x5e,0x6c,0xac,0x75,0x90,0xba,0x35,0x6e,0x7,0x49,0x6,0x13,0x4,0xc8,0x60, + 0x17,0x3b,0x33,0xd8,0xe4,0x29,0x60,0x4b,0x54,0xb7,0x60,0xb5,0xa8,0xa5,0xa8,0x3e, + 0xe6,0xd7,0x6f,0x91,0xba,0xdd,0xf2,0xd1,0x9e,0xa4,0xd,0xdb,0xad,0xaa,0x62,0x55, + 0xf1,0x53,0x5d,0xe4,0xdd,0xf,0xc7,0x5d,0xa1,0xed,0x29,0xaf,0x73,0x56,0xae,0x74, + 0x64,0xda,0xba,0x46,0xcb,0x84,0xa5,0x79,0xb9,0x59,0xe9,0x5f,0xbf,0x7c,0x34,0x42, + 0x5d,0xab,0x5,0x29,0x53,0x52,0xb0,0x92,0xae,0xf4,0x92,0xe9,0x3f,0xdc,0x5f,0xdd, + 0xfd,0xc3,0x30,0xb4,0x9f,0x39,0x25,0x82,0xa6,0xda,0x21,0x17,0x5b,0xed,0xd7,0xf2, + 0xa1,0x4e,0x48,0x45,0xb5,0xeb,0xad,0x10,0x55,0x6c,0x59,0x87,0xc3,0xc1,0xcc,0x3b, + 0xa2,0xc9,0xf8,0xc6,0xba,0xd1,0xc,0x3,0x56,0xd6,0xfb,0xcd,0x95,0xa6,0x69,0x60, + 0xb6,0xac,0xe3,0x34,0x59,0xe9,0x9d,0x7c,0xd5,0xf0,0x42,0xc9,0xa5,0x89,0x45,0xb, + 0xba,0xa3,0xa5,0xa8,0x2d,0x64,0x22,0x4b,0x1f,0xc5,0x93,0x51,0x3c,0x91,0xc6,0xf3, + 0x3d,0x4d,0xd8,0x6e,0xc7,0xca,0x5a,0xad,0x2c,0xeb,0x77,0x13,0x61,0x9e,0x66,0x83, + 0xb4,0x74,0xe6,0xe0,0x28,0x21,0x14,0x45,0x91,0x65,0x63,0xb,0x63,0x3,0x24,0x8c, + 0xfa,0x54,0xa,0x72,0x34,0xe6,0x4b,0xc1,0xc7,0xa5,0xa5,0xd8,0xb6,0x6d,0xb,0x78, + 0xa3,0xe4,0xeb,0xa4,0xe2,0x63,0x1,0x48,0x3c,0xe9,0x8c,0xe2,0x4e,0xad,0x3,0xfa, + 0x15,0xfc,0xe,0xb,0x7a,0x82,0x59,0xb3,0x86,0x27,0x34,0x83,0x95,0xd4,0x2c,0xa9, + 0xb0,0x3e,0x7c,0xf9,0x30,0x30,0xd,0xdb,0x4c,0x45,0x3a,0x51,0xd3,0x83,0x3f,0xb3, + 0x3b,0x7b,0x23,0x25,0xd9,0xd1,0xba,0x22,0x9,0xad,0xad,0x9e,0xae,0xd6,0x1f,0xf2, + 0x54,0x6c,0x57,0x3a,0x76,0xd5,0xd3,0x96,0xe6,0x9b,0xad,0x18,0x1e,0xf3,0x74,0xa5, + 0xc3,0xee,0xb0,0x7a,0xe8,0x8d,0xc7,0x43,0x4,0xd9,0xa6,0xd3,0xb2,0x7a,0x8d,0x53, + 0x96,0xeb,0x2b,0xd6,0x2c,0xdc,0x66,0x6a,0x52,0x96,0xac,0x49,0xd,0x2e,0x5b,0x5b, + 0xb6,0xa3,0x56,0x55,0xac,0x29,0x69,0x52,0x96,0x97,0xd6,0xe7,0x8f,0xbf,0xfd,0x7b, + 0xb,0x11,0x68,0xd5,0x59,0x51,0xcd,0xbe,0x18,0x1b,0xf1,0x60,0x55,0xf9,0x71,0x47, + 0xaa,0xfa,0x4c,0x9b,0xdc,0xe2,0x4a,0x2f,0x68,0x6a,0x70,0x9a,0x9a,0xfd,0x5b,0x19, + 0x7c,0x63,0x8d,0xa8,0x1a,0xf1,0x27,0x3d,0xa,0x5a,0xb6,0x2e,0x1,0x2e,0x13,0x90, + 0x14,0x5b,0x2e,0x33,0x67,0x0,0xd,0x16,0x76,0xf0,0x27,0xcb,0x29,0x40,0x22,0x78, + 0x43,0xf5,0x7b,0x60,0xde,0xa5,0x34,0xab,0xa5,0x50,0xb,0x95,0x7c,0x72,0x15,0x3, + 0x58,0x3b,0xc2,0x1f,0x28,0x6f,0x99,0x13,0x2f,0x6a,0xc1,0x92,0x7,0x29,0xfc,0x23, + 0xe7,0xec,0x80,0x3e,0x41,0xbe,0x71,0xa1,0xf7,0x62,0x8c,0xe7,0x90,0xb,0x2b,0x9d, + 0x34,0x82,0xd,0x44,0x4e,0xb3,0x3f,0x24,0xa2,0xf6,0x94,0xf2,0xfb,0x9c,0xf2,0xa4, + 0xc6,0x5a,0x9c,0xa,0x40,0x85,0xc1,0x7b,0xc8,0xa,0x76,0x88,0xf7,0x79,0x9d,0xaf, + 0xb,0xda,0x79,0x9,0x7e,0x56,0x44,0x6c,0x7b,0xe1,0x56,0x8f,0xa4,0x78,0xc8,0xd, + 0xf4,0x91,0xc,0xd4,0x4f,0x1a,0xd8,0xbb,0x85,0x5f,0xed,0x37,0xcd,0x83,0x6f,0x86, + 0xa7,0xbe,0x1a,0x8,0x9b,0xde,0x84,0xdc,0x52,0x7b,0xd1,0x6f,0xda,0x44,0x49,0xe7, + 0x4a,0x96,0x17,0x85,0xc1,0x9b,0x82,0xc6,0x74,0x4f,0x4b,0x96,0xa6,0xef,0x6b,0xc1, + 0xd9,0x3,0x8d,0xdf,0xd9,0xea,0xd3,0x3d,0x1a,0x2a,0x32,0x63,0x8,0x9b,0x4a,0xbc, + 0x6f,0xc1,0x34,0xd4,0xd6,0xe2,0x12,0x2,0x61,0xa2,0x56,0x70,0x52,0xd6,0x90,0x27, + 0x3b,0x88,0xd5,0x84,0x14,0xf4,0x1a,0x62,0xef,0xa6,0xa5,0x16,0x50,0xb3,0xae,0x11, + 0xb8,0x72,0xa3,0x6b,0x56,0xf7,0x5e,0xac,0x56,0x57,0xf7,0x4,0xe9,0x48,0x9,0xff, + 0x85,0x93,0x54,0x2,0x3f,0x45,0x73,0xce,0x71,0x50,0x88,0x46,0xcc,0xe0,0x25,0x56, + 0x67,0xfb,0x92,0x44,0x23,0x61,0x5,0xe3,0x93,0x9d,0x0,0x89,0x41,0xd6,0xe5,0xe2, + 0x14,0xa3,0xf7,0x13,0xa7,0x59,0x96,0xd5,0x14,0x5e,0xb4,0xad,0xcf,0xb1,0x97,0x2b, + 0xc0,0x96,0x33,0xf8,0x7b,0x66,0x6d,0x22,0x15,0x2d,0x29,0x34,0x23,0x47,0x19,0x47, + 0xe7,0xc8,0xbf,0xc2,0xc3,0x27,0xcd,0x2e,0xa8,0xc8,0xd4,0xe7,0x35,0x9b,0x34,0x23, + 0xf,0x87,0x5e,0x80,0xdc,0xc5,0xdd,0x46,0xe8,0x22,0xb3,0xaf,0xc6,0x16,0x2d,0x63, + 0xeb,0x4d,0x62,0x61,0xfe,0x92,0x2f,0x8e,0x89,0x28,0xbc,0x20,0x26,0xb2,0xef,0x8a, + 0x9,0xe8,0x34,0x17,0xa1,0xe4,0xd3,0x73,0x6b,0xf6,0xab,0x51,0xc2,0x36,0x7e,0x23, + 0x4a,0x7d,0x9d,0x3,0x37,0xa,0x9a,0xc8,0x52,0x56,0x1c,0xc8,0xa9,0xd6,0x9f,0x86, + 0x11,0x7,0x1,0xbe,0x28,0xb5,0xc2,0xb7,0xc3,0x8,0xb6,0xdc,0xb,0x83,0xed,0xdc, + 0xda,0xab,0x61,0x4,0x6b,0xfe,0x4b,0x30,0xe,0x80,0x55,0xd0,0x28,0x2b,0x40,0xc, + 0xe6,0x9c,0xa1,0x76,0xf7,0xad,0x47,0x9c,0x64,0x6b,0x9f,0x8b,0x3a,0xa9,0x7e,0x6, + 0xfa,0xbe,0xfa,0xf3,0x8,0x1b,0xd7,0x62,0xd,0x61,0xf9,0x67,0x51,0xe2,0xd4,0x49, + 0xc0,0xbe,0xe0,0x9f,0xbd,0x28,0xf3,0x4d,0x8e,0x0,0xcf,0xa8,0xe9,0x3c,0x30,0xa0, + 0x5f,0x6d,0x72,0xd9,0xdc,0xa5,0x5c,0x38,0x97,0x95,0x9d,0x64,0xdc,0x93,0x8b,0x82, + 0x60,0xc4,0xe2,0xb5,0x29,0xe6,0x62,0x3f,0xba,0x24,0xc5,0x32,0xc7,0x73,0xbc,0x37, + 0xc6,0x86,0x8b,0x83,0xcb,0xa,0x51,0x10,0x7e,0x47,0x21,0x2,0x6b,0xce,0x5f,0x55, + 0x88,0x5c,0xd9,0x30,0x5e,0x68,0x17,0xae,0x2c,0x7c,0xcf,0x3,0xb1,0x18,0xfe,0x19, + 0x3d,0xb,0xff,0xcb,0x12,0x88,0x90,0x73,0xd,0xa6,0x1b,0x85,0xb6,0x13,0x61,0xbc, + 0xdc,0x2d,0xbc,0xc5,0x92,0xe4,0xe1,0x97,0x9b,0x22,0xec,0x32,0x78,0xe1,0x5,0x2c, + 0xf8,0x88,0x5c,0x2f,0x7b,0xa6,0x17,0x7e,0xf7,0xdb,0xf1,0x83,0xb,0x62,0x58,0x5, + 0x15,0x7d,0x6b,0xc,0x23,0xc8,0x97,0x4b,0x5e,0xcf,0x5a,0x4e,0xa,0xee,0x1b,0xeb, + 0x1b,0xe4,0x34,0xfa,0x9b,0xda,0x84,0x3a,0x27,0xc5,0x5b,0x18,0x74,0x57,0xfa,0xbb, + 0x85,0x7e,0xf1,0x6c,0x3b,0x9,0x47,0x35,0x8,0xa,0x99,0x6f,0xba,0xd8,0xf6,0x42, + 0x7f,0xa0,0x9e,0x80,0xea,0x98,0xae,0xe7,0x7b,0x18,0x8f,0xb1,0x76,0xc4,0x20,0x6b, + 0x9b,0x38,0x42,0x1,0x1e,0x83,0xe8,0x4,0x54,0x18,0x75,0x71,0x0,0xa,0xd0,0x48, + 0xde,0x74,0xd6,0xbe,0x96,0xb9,0x80,0x93,0x61,0x53,0x53,0xfe,0x59,0x9e,0xae,0xfe, + 0x55,0x7e,0xad,0xe9,0x88,0x89,0x94,0x22,0xc5,0x5f,0xb9,0x7b,0x55,0x11,0xa7,0xbb, + 0x9f,0x9b,0x70,0x30,0x1a,0xc1,0x49,0xa0,0x19,0x20,0xc7,0x8c,0x7c,0xcf,0x19,0x37, + 0x9f,0x40,0xfd,0x8f,0x4c,0x37,0x70,0x1c,0x7b,0x2,0x49,0xb6,0x24,0x9a,0x2d,0x8a, + 0x72,0x90,0x44,0xa6,0x17,0x84,0x61,0xe0,0x9e,0xe1,0xf1,0x65,0x1c,0xc6,0x77,0x44, + 0xf0,0xfc,0x78,0x8d,0x6e,0x61,0xfe,0xbe,0x85,0x31,0x1e,0xe3,0x8,0xba,0x29,0x7c, + 0x87,0xd3,0x2b,0xe,0x5c,0xc7,0xc1,0xe1,0xcd,0x2b,0xf1,0x1c,0x1a,0x62,0xc5,0x29, + 0x49,0x3f,0x51,0xb1,0x65,0xea,0x9c,0x92,0x8e,0x48,0xc3,0xa9,0x42,0x2c,0x1c,0xb7, + 0x9e,0x1b,0x43,0xda,0x25,0x6e,0x80,0x26,0xe3,0x47,0x46,0x7f,0x21,0x4d,0x5d,0xe7, + 0xa4,0xfc,0xa9,0x68,0xf8,0x24,0xe4,0x5f,0x52,0x28,0xb3,0x2b,0xfd,0x40,0xf7,0x39, + 0x11,0xdd,0x1,0x18,0x3b,0x4e,0xe4,0x78,0xd1,0xe3,0x99,0x77,0x6e,0xc1,0x95,0x43, + 0xf1,0x98,0x42,0xad,0x4b,0xea,0x68,0x69,0xc9,0xd3,0xa4,0xfa,0x36,0x8c,0x1,0xf2, + 0x80,0x9b,0xee,0x73,0x7a,0xb8,0x1a,0xb4,0xc9,0x13,0x74,0x67,0xa0,0x22,0x1b,0xaa, + 0xb2,0x1a,0x62,0xa6,0x1d,0xcd,0x3b,0xc6,0x9a,0xf1,0x94,0xf2,0x9e,0xe5,0xab,0xcf, + 0x8c,0xd5,0x25,0xfe,0x78,0x46,0x9f,0x76,0x7a,0xd0,0x3a,0xf0,0xed,0x65,0x7e,0xbd, + 0x25,0x29,0x3b,0x40,0xf6,0x3c,0x66,0x7e,0x63,0x6c,0xa7,0xa2,0xc5,0x41,0x4e,0x60, + 0x87,0x8f,0xd9,0x32,0x3e,0x3,0xd3,0xf1,0x7d,0x7c,0xb6,0x52,0x46,0xa9,0x81,0x4c, + 0x14,0x79,0xa1,0xed,0x39,0x8f,0xb9,0x70,0xd8,0x6f,0xe4,0xa5,0x91,0xd1,0xb4,0xe1, + 0x52,0x1d,0xcf,0xd6,0x37,0x9c,0x4b,0x81,0x82,0x9c,0x28,0xec,0x5a,0xfd,0xeb,0x4b, + 0x58,0x77,0xe5,0xe1,0xe0,0x61,0x59,0x7f,0xed,0x31,0x21,0xd5,0x5b,0x76,0xd8,0x34, + 0x79,0x4a,0xeb,0xee,0xbc,0xff,0xc8,0x80,0xe2,0x19,0xeb,0x35,0x3b,0x2e,0xf3,0xf, + 0x79,0x9,0x98,0x18,0x9d,0xad,0xc8,0x3b,0x3,0xae,0x13,0xe8,0x4d,0x7,0x43,0x32, + 0x3d,0x96,0x0,0x3,0x10,0x48,0x4f,0x30,0x1,0xa6,0xa1,0x58,0x29,0x97,0xb9,0x8a, + 0x31,0x52,0xd4,0xfd,0x11,0x7f,0xc,0x1f,0xe5,0x72,0x1f,0x8c,0xed,0x4d,0x43,0x17, + 0xac,0x7b,0xca,0x45,0xe,0x67,0xe7,0x21,0x54,0x2b,0x56,0xe7,0x2d,0xb,0x79,0x66, + 0x14,0x62,0xe4,0x3a,0xb3,0xd4,0x51,0xaa,0x1c,0xe4,0xf6,0xe3,0xed,0x9d,0x75,0x1e, + 0xa4,0x8a,0xbe,0xa3,0x82,0xa4,0x44,0x90,0x31,0x62,0x7b,0x4a,0xdf,0x13,0xef,0x78, + 0x9a,0xc5,0xff,0xf9,0xf0,0x71,0x48,0xc1,0x24,0x89,0xff,0xcb,0xf8,0xc3,0x98,0x35, + 0x52,0x80,0xac,0x59,0x3,0x28,0xd,0x89,0x2a,0xef,0x5e,0x92,0x58,0x16,0x1a,0x22, + 0xee,0xf3,0x1d,0x4,0xa1,0xbc,0x86,0xfb,0xe7,0x71,0x57,0x40,0xe2,0xc,0x8c,0x99, + 0xb0,0x1c,0xa2,0x47,0xa5,0xad,0x5a,0x4e,0xdb,0x6b,0xb6,0xc5,0x9b,0xc9,0x34,0xd9, + 0xe5,0x72,0x91,0xf5,0x59,0xe4,0x45,0xf1,0xab,0x34,0x32,0xed,0xad,0x56,0xe7,0x68, + 0x9f,0xbb,0x93,0x7d,0xdc,0x59,0xfd,0x2e,0xd5,0xd3,0xe6,0xd1,0xbb,0x2b,0xc8,0x9a, + 0x16,0x2b,0xfd,0x67,0x52,0xfc,0xaf,0xa1,0xc3,0xc8,0x3c,0x86,0x16,0x67,0x4d,0xb5, + 0x63,0x29,0xed,0xe2,0x56,0x1f,0xc1,0xeb,0xe2,0xb8,0x33,0x39,0xbd,0xba,0x79,0x74, + 0x56,0x20,0x3c,0x39,0xbb,0x2,0x1a,0x86,0x9,0x79,0x3,0x13,0xc3,0x46,0xaf,0xdf, + 0x9d,0x37,0x8f,0x1b,0xc5,0x9d,0x4c,0x1e,0x2f,0x5c,0xce,0xc0,0xc7,0xf3,0x3,0xb7, + 0xa7,0xcb,0x66,0x5,0x9b,0x88,0xd7,0x8d,0x58,0xb8,0xb5,0xe9,0xa5,0x0,0x57,0xca, + 0x8b,0x1c,0xfe,0x81,0xa,0x1c,0xa9,0x8f,0xd7,0x33,0x53,0x2,0xf5,0x84,0x73,0x72, + 0x9a,0x2d,0x91,0xd4,0x76,0x16,0x89,0x23,0x69,0xd5,0x43,0x76,0xe8,0xf4,0xcc,0xd9, + 0xd6,0x40,0x75,0xbb,0xb9,0xb1,0xbe,0xdf,0xcc,0x82,0x57,0xc2,0x86,0x5d,0x3c,0x16, + 0xe6,0x1,0x3b,0xd5,0x30,0x31,0x54,0x9d,0xc0,0x8b,0x9c,0x5,0xf6,0x49,0x15,0xb3, + 0x28,0x88,0x50,0xb8,0xb0,0x9a,0x1f,0x97,0x3a,0xe3,0xc8,0x6e,0x57,0x87,0xae,0xb, + 0xa3,0xef,0xc0,0x56,0x37,0x6b,0xd8,0x31,0xe1,0xa8,0xe8,0xfa,0xfe,0xed,0xa0,0x5e, + 0xfb,0x51,0x1b,0x74,0xdd,0xe,0xcb,0x34,0x5b,0x43,0xf0,0x63,0x9b,0x3e,0xc,0xba, + 0x28,0x42,0xaf,0x94,0x5f,0xd2,0xff,0x6d,0x70,0x41,0x9c,0xf5,0x6c,0x18,0xc1,0x3, + 0x10,0x73,0xda,0xde,0xd,0x4f,0xbe,0x1f,0x22,0xec,0xdf,0xba,0x66,0x84,0x83,0x8, + 0xdb,0xce,0x2d,0x4c,0x44,0x70,0x80,0x74,0x3,0xff,0x66,0xa8,0x0,0x9b,0xfb,0xab, + 0x3b,0x99,0x84,0xf7,0x57,0xff,0x7,0x74,0xce,0xd6,0x55, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/mic_25.svg + 0x0,0x0,0xb,0xa1, + 0x0, + 0x0,0x32,0x95,0x78,0x9c,0xcd,0x5a,0x5b,0x6f,0xe3,0xc6,0x15,0x7e,0xdf,0x5f,0xc1, + 0x6a,0x5f,0xb2,0xa8,0x45,0xcd,0xfd,0x22,0xdb,0x1b,0x14,0x9,0xb6,0x8,0x90,0xa0, + 0x45,0x93,0xa0,0x8f,0x1,0x4d,0x52,0x36,0xbb,0x94,0xa8,0x92,0xd4,0xda,0xce,0xaf, + 0xef,0x37,0x23,0xf1,0x26,0x51,0xb6,0xe4,0xb5,0x93,0x4a,0xeb,0x15,0x79,0xe6,0x72, + 0x66,0xbe,0x73,0x1f,0xf2,0xea,0xdb,0x87,0x65,0x1e,0x7c,0x49,0xcb,0x2a,0x2b,0x56, + 0xd7,0x13,0x1a,0x92,0x49,0x90,0xae,0xe2,0x22,0xc9,0x56,0xb7,0xd7,0x93,0x5f,0x7f, + 0xf9,0x34,0x35,0x93,0xa0,0xaa,0xa3,0x55,0x12,0xe5,0xc5,0x2a,0xbd,0x9e,0xac,0x8a, + 0xc9,0xb7,0x1f,0xdf,0x5d,0xfd,0x65,0x3a,0xd,0xbe,0x2b,0xd3,0xa8,0x4e,0x93,0xe0, + 0x3e,0xab,0xef,0x82,0x1f,0x56,0x9f,0xab,0x38,0x5a,0xa7,0xc1,0x37,0x77,0x75,0xbd, + 0x9e,0xcf,0x66,0xf7,0xf7,0xf7,0x61,0xb6,0x23,0x86,0x45,0x79,0x3b,0xfb,0x10,0x4c, + 0xa7,0x18,0x59,0x7d,0xb9,0x7d,0x17,0x4,0x1,0xd8,0xae,0xaa,0x79,0x12,0x5f,0x4f, + 0x76,0xfd,0xd7,0x9b,0x32,0xf7,0xfd,0x92,0x78,0x96,0xe6,0xe9,0x32,0x5d,0xd5,0xd5, + 0x8c,0x86,0x74,0x36,0xe9,0xba,0xc7,0x5d,0xf7,0xfb,0xf4,0x26,0x2c,0xd3,0xaa,0xd8, + 0x94,0xf1,0x76,0xfa,0x38,0xee,0xf7,0x2c,0x93,0x45,0xd7,0x15,0x2b,0xb9,0xe7,0xbe, + 0x13,0xb5,0xd6,0xce,0x8,0x9b,0x31,0x36,0x45,0x8f,0x69,0xf5,0xb8,0xaa,0xa3,0x87, + 0xe9,0xaa,0x7a,0xdf,0x1b,0x8a,0x5,0x8e,0xd,0x65,0x84,0x90,0x19,0xda,0xba,0x9e, + 0xa7,0xf5,0x9a,0x3f,0xe4,0x80,0xe1,0xe8,0x62,0x7c,0x6b,0x9f,0x3b,0xa0,0x5f,0xe3, + 0xaf,0x1d,0xd0,0x10,0xc2,0xed,0x5e,0x17,0x18,0x99,0x86,0xab,0xb4,0x9e,0x7d,0xff, + 0xcb,0xf7,0x6d,0xe3,0x94,0x84,0x49,0x9d,0xf4,0xa6,0x69,0x90,0x1f,0xf0,0x1d,0x88, + 0x63,0x15,0x2d,0xd3,0x6a,0x1d,0xc5,0x69,0x35,0x6b,0xe8,0x7e,0xfc,0x7d,0x96,0xd4, + 0x77,0xd0,0x4,0xe5,0xef,0xee,0xd2,0xec,0xf6,0xae,0x6e,0x6f,0xb3,0xe4,0x7a,0x82, + 0xdd,0x31,0x7f,0xd3,0x30,0x9f,0xb7,0xea,0x43,0x42,0xbe,0x6d,0x6a,0x66,0xec,0x37, + 0x9,0x19,0x52,0xdf,0x38,0xd0,0xb6,0xc1,0x44,0x49,0x11,0xdf,0x44,0x15,0x16,0x3d, + 0xbb,0x2b,0x96,0xe9,0x34,0x2f,0xe2,0x28,0x9f,0xad,0xf3,0x9b,0x34,0xda,0x24,0x45, + 0xb6,0x9a,0xfd,0xfc,0xe9,0xc7,0x7f,0xde,0x41,0xd,0x67,0xd5,0x22,0x5f,0xf,0x2e, + 0xa6,0xb7,0xf5,0xe7,0xd9,0x3a,0x7b,0x58,0x46,0xeb,0xea,0x60,0x4e,0xb7,0xd5,0xeb, + 0xc9,0x32,0x8b,0x7f,0x63,0x32,0x6c,0x84,0xd3,0x2e,0xb1,0xd8,0xd4,0xeb,0x4d,0xfd, + 0x5b,0xfa,0x50,0xa7,0xab,0xed,0xba,0x0,0x4f,0xf,0x2b,0xdf,0xec,0x86,0xb5,0xb4, + 0xc9,0x47,0x4c,0x70,0x95,0xa4,0x8b,0xca,0x4d,0xb4,0x45,0xc5,0xdd,0x9,0xdf,0x80, + 0x26,0xc8,0x34,0x8d,0xca,0xbf,0x97,0x51,0x92,0x41,0x8d,0xb7,0x9d,0x7a,0x1c,0xe3, + 0x22,0xcf,0xd3,0x18,0xa8,0x46,0xf9,0x7d,0xf4,0xb8,0x5d,0x6f,0x33,0xcf,0x70,0x28, + 0x17,0xa4,0x99,0x14,0xd3,0x56,0x75,0xb1,0x6e,0xfa,0x62,0x87,0xf5,0x63,0x8e,0x6d, + 0x39,0xe2,0x14,0x33,0x16,0xe5,0xfc,0x3d,0x4b,0xdc,0xf7,0xd2,0x93,0xa,0xc8,0x36, + 0xab,0x1f,0xe7,0xf4,0x72,0xd2,0x8d,0x29,0x16,0x8b,0x2a,0x5,0x63,0xd2,0xa3,0x79, + 0x99,0x62,0x4,0x78,0xa9,0x49,0x30,0xfb,0x3a,0x6e,0x64,0x8c,0x1b,0x1d,0xe7,0x66, + 0x5a,0x6e,0x57,0xb3,0xe1,0xb6,0x9f,0x86,0xf1,0x10,0x25,0xae,0xc9,0x19,0x28,0x25, + 0xda,0x7d,0x5f,0x8a,0x12,0xd7,0xec,0x2c,0x94,0x74,0xec,0xbe,0x27,0x70,0x1b,0x45, + 0x89,0x6b,0xf1,0x7a,0x28,0x29,0x76,0x6,0x4a,0xc4,0x7f,0x5e,0x8c,0x92,0x12,0x67, + 0xa1,0xb4,0xf0,0x9f,0x17,0xa3,0xa4,0xd4,0x6b,0xa1,0x4,0x83,0x93,0x67,0xa0,0x34, + 0xb6,0x6e,0x72,0x22,0x48,0x60,0xa5,0xcf,0x3,0x29,0x5e,0xdc,0xc4,0x37,0x7b,0x20, + 0x9d,0x88,0x11,0x98,0xd9,0x57,0xc3,0x88,0x29,0x7b,0x6,0x46,0x34,0xb9,0x79,0xb9, + 0x26,0x9,0xa6,0xe9,0x59,0x20,0x8d,0x71,0x3b,0xd9,0x2b,0x81,0x1b,0x7f,0x35,0x94, + 0xa8,0xe1,0xc7,0x50,0x6a,0xf9,0x51,0x23,0x9f,0x1,0xe2,0x74,0x40,0x8f,0xa2,0xd4, + 0xe3,0xa6,0x9f,0x1,0x62,0xcc,0x11,0x2c,0xe4,0xe2,0x9,0x6e,0x5f,0x8d,0x92,0xd2, + 0x67,0xe8,0x92,0x71,0x4e,0x29,0x7d,0xa9,0x2e,0x51,0x65,0xcf,0xd2,0x25,0x7,0x33, + 0x15,0x2f,0xd5,0x25,0xda,0xd3,0xdc,0xf3,0x50,0x7a,0x2e,0x51,0xf0,0x49,0xe3,0xfc, + 0xae,0x4c,0x91,0xe4,0xbe,0x1f,0xd1,0xba,0xe3,0x70,0x33,0xc6,0x44,0x37,0xd,0x75, + 0x89,0x5d,0x68,0x98,0xd2,0x56,0xb5,0xd4,0x47,0x50,0x55,0xa8,0x99,0x31,0x9a,0x76, + 0x53,0x3d,0xb0,0xeb,0x9,0xd3,0xa1,0x54,0xac,0x53,0xd8,0x47,0x47,0x63,0xa1,0xa4, + 0x4c,0x92,0x8e,0x7a,0xbb,0x63,0xf5,0xeb,0x2a,0xab,0x91,0x23,0x6f,0xaa,0xb4,0xfc, + 0xd9,0xe5,0x99,0xff,0x58,0xfd,0x5a,0xa5,0x7,0xbd,0x7e,0x29,0xa3,0x55,0x85,0xa4, + 0x76,0x89,0x4,0x2d,0xaa,0xcb,0xec,0xe1,0x1b,0x12,0x1a,0x2d,0x9,0x93,0x17,0xc4, + 0x7d,0xdb,0x9b,0x50,0x29,0xa5,0x9,0xc7,0x5,0xd5,0xda,0x12,0xfd,0xa1,0xc3,0x76, + 0x1c,0xc5,0xe3,0x1c,0x68,0xa8,0x98,0xa5,0xdc,0x33,0x98,0x36,0x37,0x53,0x4a,0x42, + 0xa2,0x14,0x31,0x17,0xdc,0x86,0x9a,0x5a,0x3,0xe,0xe7,0x6d,0xc9,0xc1,0xa1,0x42, + 0xa5,0x35,0xb1,0xda,0xc,0x80,0xa3,0x32,0x34,0x44,0xb1,0x5d,0x72,0xdc,0x80,0xc, + 0xe8,0x8c,0x16,0x8c,0x98,0xa1,0x40,0x64,0xa8,0x38,0xe1,0x56,0x3e,0x21,0x45,0xb8, + 0x29,0x79,0x92,0x32,0x38,0x47,0xfd,0xac,0x56,0x3d,0x83,0xa3,0xdb,0x16,0xe5,0xa1, + 0x45,0x69,0x23,0x87,0xfa,0x0,0xd5,0xe1,0xda,0x18,0xab,0x7,0xdb,0xa2,0xc,0x88, + 0x4a,0x4b,0xd8,0x60,0x5b,0xc,0xe0,0x4a,0xf8,0x1f,0x7d,0x82,0x6,0x4c,0xa9,0x17, + 0xd,0xbd,0xe0,0x18,0x5,0x85,0x36,0x17,0x53,0x40,0xa5,0x84,0xe6,0xe7,0x8a,0xe4, + 0x10,0x3a,0xca,0x8d,0xf9,0xc3,0xa0,0x1b,0xd9,0x62,0xed,0x2e,0x73,0xd4,0xcd,0xd0, + 0x73,0xf0,0xa0,0xd2,0x6f,0x4e,0x2b,0x46,0xb9,0x7a,0x89,0xc2,0xbd,0x85,0x64,0x46, + 0x51,0x53,0x7f,0x38,0x6a,0x27,0x6c,0x9e,0x84,0x52,0x2b,0xcd,0xe8,0xd0,0xda,0x44, + 0x48,0x80,0x26,0x37,0x43,0x6b,0xb,0x35,0x81,0x4f,0x53,0xea,0xc0,0xda,0x4,0x26, + 0x78,0xca,0x67,0x62,0xf3,0xe2,0xa4,0xcd,0xf,0x5c,0xef,0x5b,0xa8,0xc,0xca,0x7c, + 0x2b,0x34,0xa1,0xd0,0x19,0x38,0x46,0x23,0xe1,0xa5,0x5e,0xa4,0x33,0xf0,0xd9,0x5c, + 0x6a,0x2a,0x7,0xb0,0x71,0x1a,0x72,0x4,0x63,0xb3,0xaf,0x32,0xfb,0x5d,0x1d,0x96, + 0x22,0xe4,0x56,0xf7,0x9d,0xfe,0x28,0x6a,0xec,0xff,0x3,0x35,0x1a,0x32,0x5,0xbd, + 0xa4,0xce,0xd7,0x53,0x42,0xb4,0x64,0x2f,0x4,0xcd,0x30,0x69,0xec,0xd0,0xd0,0x34, + 0xac,0x8f,0xe3,0x9f,0xdc,0x47,0x6d,0xbf,0x2f,0xf5,0xc7,0x1d,0x44,0x40,0xdb,0xd4, + 0xd3,0xa8,0x91,0x3f,0xc,0xb5,0x31,0xf6,0xfa,0xe8,0x79,0x43,0x93,0xd7,0xa0,0x4f, + 0xb7,0x83,0x93,0x73,0xd6,0x23,0x89,0xdb,0xb3,0x39,0x2b,0xb8,0x99,0x11,0x6e,0xcf, + 0xe4,0xac,0x47,0x12,0xb7,0x57,0xca,0x59,0xe1,0x5c,0xcc,0x39,0xa7,0x32,0xea,0x2b, + 0xea,0x1f,0xea,0xce,0x36,0xce,0xaa,0x7f,0xc4,0x68,0xba,0x7e,0x5a,0xce,0x4a,0xfb, + 0xa7,0x1b,0x5f,0x8f,0xd2,0xd1,0xf3,0x86,0x8e,0x9f,0x12,0xe7,0xeb,0xd2,0x11,0x40, + 0x4f,0xd0,0x25,0x35,0xa6,0xb9,0xcf,0xe8,0xd2,0x18,0xb7,0x17,0xeb,0xd2,0xdb,0x65, + 0xf6,0xd4,0x1d,0xdf,0x9d,0xe7,0xd6,0xc6,0x3,0xe0,0x91,0x60,0x39,0x1e,0x58,0x7, + 0x41,0xf8,0x39,0x77,0xf3,0xa6,0x9b,0x37,0x67,0x6e,0xfe,0xc5,0x21,0xc3,0xa3,0xe6, + 0xf6,0x2c,0x2c,0xdf,0xf7,0xfa,0x94,0x4a,0x29,0xed,0x0,0x34,0x44,0x6a,0x65,0xd0, + 0x79,0x90,0xfd,0xb3,0x7e,0xef,0x3f,0x13,0x36,0x4a,0x5e,0x13,0xb6,0x27,0xf3,0x13, + 0x87,0x1b,0x72,0xc,0x65,0x99,0x55,0x7b,0x49,0x86,0x83,0x5b,0x30,0x3a,0xd4,0x36, + 0xc6,0x31,0x5,0x74,0x70,0x58,0x6f,0x22,0xdf,0xe5,0x52,0x72,0xf6,0xa6,0xa8,0xd, + 0xb2,0xd8,0x31,0xd4,0xd8,0x6b,0xa2,0xf6,0x54,0x21,0xe0,0x40,0xd3,0x21,0x90,0x74, + 0xa,0x34,0x4,0x4d,0x86,0x96,0xb2,0x41,0x35,0xe3,0xf3,0x11,0x4a,0xa9,0x30,0x82, + 0xe,0x41,0xa3,0xa1,0xb4,0x9a,0xa3,0x74,0xff,0x53,0x51,0x13,0x5f,0x8f,0xda,0x19, + 0x15,0xe2,0x78,0x6d,0x73,0xa4,0xe,0x1a,0xaf,0x99,0x6,0xf5,0x55,0xb,0x9d,0x5b, + 0x55,0x94,0xbf,0x2a,0x74,0xee,0xd0,0xb9,0xf,0xdd,0x90,0x85,0x20,0xb2,0x93,0x67, + 0xfc,0x80,0x45,0xd9,0x90,0x99,0x41,0x56,0x1e,0x3f,0x5e,0x4f,0x6c,0xe8,0x68,0xa2, + 0x77,0xc0,0xb3,0x18,0xed,0xbb,0x18,0xed,0x5b,0x7a,0xaf,0x66,0x3c,0xf9,0x4c,0x39, + 0x55,0xeb,0x32,0x8d,0x92,0x9f,0xd2,0xfa,0xae,0x70,0x6b,0x4f,0x17,0x6e,0xff,0x27, + 0x9d,0xf4,0x40,0x74,0xa8,0x23,0x76,0x27,0x3d,0xbb,0x1b,0xe7,0xd,0x88,0x14,0xe6, + 0x42,0x86,0x9a,0x69,0x26,0xcc,0xb3,0x27,0x3d,0x5f,0x3,0xbd,0x7f,0x2a,0x72,0x5c, + 0x6b,0xa5,0xe0,0xe7,0x46,0xd5,0xa7,0xf6,0xab,0x8d,0xb2,0x9c,0x89,0x8b,0xee,0x6a, + 0x3a,0x4a,0x74,0x55,0x17,0xd5,0x5c,0x48,0x17,0x80,0x8,0x41,0x20,0x16,0xfb,0x11, + 0x48,0x85,0x84,0xeb,0x7e,0x8d,0xe5,0x34,0x9b,0x87,0x8a,0xb,0xa2,0xcd,0xb0,0x48, + 0x81,0x57,0xd6,0x6,0xc2,0x1e,0xc6,0x6d,0x19,0x32,0x6a,0xa4,0xa1,0xec,0x2d,0x35, + 0xdb,0x3f,0x9a,0x3b,0xae,0xd9,0x80,0xf7,0x15,0xe2,0x76,0xb,0xaf,0x92,0x9a,0x28, + 0xe1,0xce,0x8,0x5,0x3,0x3a,0xcc,0xc7,0x21,0xd8,0x3f,0x17,0xfe,0x4,0xd1,0x50, + 0x42,0xad,0x82,0x5e,0x31,0xd8,0xbe,0xd4,0xda,0x83,0x6b,0x2c,0x2,0x52,0xef,0xac, + 0x6f,0xa8,0xcc,0xeb,0x28,0x19,0x58,0x9e,0xc,0xa5,0x10,0x4a,0xf6,0x8e,0x5b,0x9c, + 0xe5,0x29,0x88,0x4b,0x6b,0x4,0xf9,0x81,0xe5,0x1d,0xf6,0x5d,0x8c,0xf6,0x2d,0x9d, + 0xdc,0xb4,0x61,0xd6,0x4a,0xfd,0xa6,0xb2,0x70,0xf,0x93,0x9f,0x92,0x85,0x78,0x85, + 0x64,0xa0,0x39,0x62,0xdd,0xd9,0x34,0x63,0x14,0x5,0xaf,0xb3,0x70,0x11,0xa,0x8e, + 0x18,0x44,0xe4,0x87,0x1,0xa0,0x53,0x8e,0x4c,0xca,0x42,0x54,0x74,0x80,0xa8,0x74, + 0x9,0xe8,0x1,0xa2,0x23,0x9d,0x17,0xa3,0x9d,0x4b,0x8f,0xb3,0x41,0x86,0x46,0x9b, + 0xfc,0xea,0x6a,0xe6,0x1e,0xd1,0xfb,0xab,0xf6,0xdd,0x0,0xf7,0x62,0x40,0xf2,0x25, + 0x4b,0xef,0xdf,0xb5,0x98,0xb8,0xf7,0xf,0x76,0xd3,0xac,0xa3,0xdb,0xd4,0xd7,0x0, + 0x40,0x72,0xfb,0x9c,0x6f,0xd7,0x70,0x53,0x94,0x49,0x5a,0x36,0x4d,0xca,0x7f,0x6, + 0x4d,0xbb,0x32,0xa1,0x7b,0xc3,0xa1,0x27,0x38,0x37,0x6b,0xdb,0x4e,0xc6,0xdb,0xab, + 0xbb,0x28,0x29,0xee,0x11,0xbe,0xf6,0x1b,0x7f,0x2f,0x8a,0xa5,0xf,0xe7,0xdc,0xd5, + 0x85,0x66,0xbf,0xd9,0x1,0xca,0x60,0x6,0x1c,0x76,0x60,0xf,0x1a,0x1f,0x9d,0x9e, + 0x51,0xa5,0x50,0xcd,0xe8,0xfd,0xc6,0xa4,0x88,0x37,0xee,0x95,0x9b,0xe9,0x66,0x2b, + 0xf0,0xf5,0xc3,0xc1,0xf0,0x4d,0x59,0xba,0xe,0x79,0xf4,0x98,0x62,0xdb,0xfe,0xa7, + 0x11,0x43,0xfb,0xce,0x48,0x3b,0xac,0x7b,0x6f,0xa4,0x25,0x55,0x77,0xc5,0xfd,0xed, + 0x26,0x4b,0xd2,0xca,0x25,0x3f,0x9b,0x74,0x9f,0x81,0x6f,0x9b,0xde,0xdc,0x14,0xf, + 0xe3,0xed,0xf7,0xd9,0xa,0xa0,0x4c,0x1b,0x5e,0xa4,0xd,0x53,0xfb,0x3d,0x1a,0xde, + 0xc8,0xdf,0x8f,0xf4,0x0,0x7,0xde,0xfa,0xf5,0xfd,0xc6,0x47,0x87,0x61,0xf3,0x7c, + 0xb3,0xd3,0x15,0xbf,0xbc,0x46,0xbf,0x8a,0xd2,0xa9,0x7d,0x54,0xfb,0xd7,0x45,0xbe, + 0xa4,0x65,0x9d,0xc5,0x51,0xde,0x6a,0xdf,0xba,0xa8,0xb2,0x6d,0x13,0x13,0xa1,0x61, + 0x3,0xcf,0xeb,0x74,0xcc,0x4f,0xc5,0xa9,0x50,0xad,0x6a,0x1e,0x6a,0xa4,0xa7,0x2f, + 0xd3,0x3a,0x4a,0xa2,0x3a,0xea,0xd4,0xb3,0xa1,0x34,0xcf,0xcc,0xae,0xca,0x64,0x31, + 0xff,0xd7,0xf7,0x9f,0xda,0xca,0x37,0x8e,0xe7,0xff,0x2e,0xca,0xcf,0x5d,0x45,0xeb, + 0x3a,0x44,0x37,0xc5,0x6,0x80,0xb4,0xd5,0xb8,0x7b,0x7b,0x25,0x9e,0x3b,0x83,0x8d, + 0xea,0x8f,0xd9,0x12,0x1a,0xe7,0xde,0x59,0xfa,0xeb,0xc3,0x32,0x87,0x95,0xb4,0xd, + 0x83,0xce,0xf5,0xe3,0x3a,0xed,0x26,0xdd,0x4e,0xdb,0xbc,0x7f,0x35,0xfa,0xe,0x57, + 0x12,0x2f,0x33,0x37,0x68,0xf6,0x73,0x9d,0xe5,0xf9,0xf,0x8e,0x49,0xbf,0x42,0x9f, + 0xed,0x16,0xda,0x14,0xd1,0xbd,0x7d,0x5c,0xcd,0x9a,0x5d,0xfa,0xbb,0xdb,0x3d,0x31, + 0xe5,0xd1,0x4d,0x9a,0x5f,0x4f,0xbe,0x8b,0xf2,0xff,0x6e,0xd2,0xe0,0x40,0xc4,0xb7, + 0x65,0xb1,0x59,0x2f,0x8b,0x24,0xdd,0xe9,0xe8,0xa4,0x3,0x6f,0xa7,0xb3,0x3b,0x96, + 0xb7,0x3,0x91,0x20,0x12,0x75,0xde,0xaf,0x1e,0x8b,0x2d,0x94,0x8,0x6d,0x9b,0x5c, + 0xa5,0xbd,0xb,0x19,0x7e,0x90,0xbd,0x5f,0x20,0xf4,0x12,0x2b,0xac,0x10,0x1f,0xba, + 0x43,0x8f,0x75,0x54,0xdf,0x75,0xa0,0x75,0x42,0xc6,0xea,0x1c,0x34,0x30,0x84,0xb8, + 0xf9,0xec,0x1d,0xc6,0x94,0xf0,0xed,0xac,0x1f,0xdd,0x83,0x0,0xd4,0x9f,0x2,0x78, + 0x35,0x65,0xb4,0xb4,0x70,0xa7,0x56,0x71,0x62,0x98,0xc,0xbe,0xb,0x34,0xca,0x27, + 0xcb,0x89,0xe5,0x17,0xc8,0x61,0x91,0xaa,0x1a,0xcd,0x3,0xe3,0x8a,0xa,0xbf,0x30, + 0x83,0x1c,0xd8,0x10,0xa4,0x15,0x1,0xf2,0x3b,0x2a,0x90,0xf7,0x1a,0xd0,0xa4,0x20, + 0xc,0x4e,0x4,0xa3,0x41,0xc5,0x70,0xad,0x14,0xa8,0xc8,0x33,0x10,0x10,0xcd,0x80, + 0x66,0xe0,0x4e,0xe0,0xc4,0xdb,0xd1,0x1a,0x34,0xb,0x16,0xa8,0x27,0x82,0x1f,0x3, + 0x57,0x8e,0x59,0xa,0x34,0x2e,0xa8,0xd8,0x3a,0x67,0x4c,0xc9,0x43,0xc6,0x25,0x43, + 0xf9,0xe7,0x88,0x9a,0xc0,0x1d,0x19,0xd0,0xf0,0x6b,0x98,0x6e,0x49,0x36,0x60,0xa8, + 0x60,0x10,0x90,0x8d,0x6c,0xc7,0x52,0xb7,0x1e,0xec,0xc,0xae,0x5b,0xf9,0x19,0x29, + 0x1c,0xbb,0x60,0xa0,0xa1,0x23,0x56,0x86,0xd1,0x8e,0x21,0x93,0xc4,0x6,0xee,0x89, + 0xa0,0xd5,0x16,0x15,0xd0,0x5,0x12,0x7a,0xa1,0xd,0xd1,0x18,0x8d,0x78,0x8f,0x45, + 0x72,0xfc,0xe7,0xa8,0xf8,0x65,0x94,0xb6,0x44,0x46,0x1d,0x91,0x4a,0x74,0x96,0xed, + 0x78,0xcd,0x1d,0x91,0x0,0x3f,0xa6,0xb1,0x21,0x15,0x52,0x54,0xa2,0x14,0xec,0xfb, + 0x10,0xab,0x90,0x9,0xc,0x93,0x20,0x1a,0x6e,0x19,0xc0,0x54,0xa1,0x10,0xc2,0xa2, + 0x32,0x68,0x49,0x74,0x4c,0x3a,0xbf,0x7,0x87,0xa7,0x4b,0xb,0x18,0xc4,0x1c,0xa6, + 0xf2,0xcd,0xfb,0xc3,0x64,0xf3,0xc3,0xa5,0x6b,0xed,0x1d,0x6b,0x55,0x75,0x59,0x7c, + 0x4e,0xdd,0x43,0x7f,0xf7,0xdd,0xdd,0x6e,0xbd,0xe0,0xdc,0xc1,0xc2,0x8c,0x25,0x5c, + 0x35,0x74,0xd8,0x5c,0x5a,0xe6,0x19,0x7e,0xe6,0xa2,0xa1,0x25,0x11,0x5c,0xaf,0x3f, + 0xeb,0x9a,0x93,0x86,0xd6,0xbd,0x3e,0xd2,0xb3,0xc9,0xa1,0xba,0x1e,0x1a,0x1,0xd8, + 0x19,0x4d,0xd,0x53,0xdb,0xe2,0xab,0xbd,0xa3,0x2e,0xf1,0xd2,0x96,0xf1,0x8b,0x29, + 0x64,0xeb,0xaa,0x25,0xd9,0xab,0xc3,0x76,0x9a,0xeb,0x8e,0x4c,0x4,0x17,0x4a,0x43, + 0x5d,0xad,0x2b,0xc9,0xac,0xd,0xfe,0xe6,0x34,0x65,0x9b,0xf8,0xf4,0xae,0x48,0x40, + 0xf1,0x5,0xc1,0x6a,0xd,0xc8,0xd5,0xc5,0x89,0x3,0xc6,0x38,0xfc,0x3e,0x19,0xb1, + 0xbf,0xd2,0x47,0xc2,0xdd,0xe8,0xd1,0xe,0xf,0xcf,0x74,0x70,0xb1,0xb4,0x65,0x32, + 0xda,0xe1,0xc1,0x75,0x60,0xa,0x5e,0xa2,0x77,0xb4,0xb6,0xb5,0x6d,0x7,0x33,0x83, + 0xf1,0x1d,0x2a,0x46,0x27,0xf5,0x4e,0x45,0xe,0x13,0xe6,0xa3,0x2a,0x22,0x62,0xf7, + 0xdd,0x53,0x91,0xe7,0x34,0x23,0x2a,0xcb,0xe8,0x11,0x2e,0x69,0x95,0x9e,0xa6,0x2f, + 0x23,0x9b,0x75,0xbe,0xc,0x89,0x68,0x19,0x1f,0x57,0xa6,0x71,0xdf,0x37,0x2,0xc, + 0xe7,0x56,0xec,0xab,0x8e,0x70,0xf,0xa6,0xa4,0x72,0x9a,0x6,0xa9,0x10,0xa5,0x39, + 0xf5,0x4e,0x86,0x33,0xc6,0xe0,0x70,0x9d,0xf9,0x6a,0x57,0x31,0xc2,0xa1,0x8,0xf8, + 0x39,0x61,0xa8,0x2b,0x22,0x2d,0x45,0x31,0x60,0xbd,0x3b,0xf1,0x67,0x99,0x17,0xd0, + 0xf,0x6b,0xd,0xe5,0xec,0x88,0x45,0x7a,0xc,0xce,0xb2,0x3e,0x22,0x89,0x31,0xc8, + 0xdc,0x1b,0xba,0x33,0x67,0x4,0xa1,0x39,0x42,0xd0,0x2a,0xe9,0x13,0xff,0x53,0x64, + 0xab,0x21,0xf5,0xb5,0xc4,0x71,0x86,0xf9,0xba,0xc3,0x39,0xe7,0x95,0xf4,0xee,0xec, + 0xc4,0xa2,0xf8,0x41,0xb9,0xaf,0x38,0xae,0x28,0xe1,0xd6,0xf6,0x4f,0xeb,0x76,0xd0, + 0xc3,0x6b,0x13,0xe9,0x6a,0xa9,0xa0,0x4d,0xb2,0x61,0x84,0x6d,0x6e,0xd,0x74,0x5, + 0x2e,0x51,0x71,0x36,0x46,0xe8,0x5e,0xa3,0x80,0xf3,0x54,0xae,0xcc,0x3a,0x69,0xc0, + 0x18,0x87,0xa3,0x56,0xdb,0x8e,0x3e,0x66,0xb5,0x5d,0xd6,0x7f,0xc4,0x6a,0xf,0x6b, + 0x85,0x3d,0xab,0x1d,0xa9,0x31,0x7a,0x66,0x2b,0x38,0x3f,0x6e,0xb6,0x24,0xe4,0xa, + 0x51,0x4a,0x52,0xf9,0x84,0xfd,0xa,0x72,0xcc,0x7e,0xfb,0x42,0xdf,0x33,0xde,0x3f, + 0x41,0xb1,0x4e,0xb2,0xf3,0xab,0xd9,0xed,0xee,0xa2,0xaf,0x7c,0xa3,0xc6,0x5e,0xc5, + 0x83,0x1c,0xd8,0xdb,0xba,0xe8,0x9d,0x5e,0x76,0x41,0xc2,0x3d,0x39,0xf5,0xc1,0x1b, + 0x75,0xbb,0x70,0xc1,0x97,0xfa,0x27,0xa7,0x48,0x33,0xfc,0xd9,0x10,0xa4,0x4b,0x8c, + 0xa3,0xc1,0xa8,0x25,0xf2,0x9,0x8b,0xda,0x19,0xb0,0xea,0x3e,0xcd,0x84,0x94,0x63, + 0x30,0x65,0xdb,0xd1,0x3b,0x2a,0x42,0xb6,0xa1,0x88,0x10,0xba,0x37,0x23,0x22,0x35, + 0x52,0x19,0x2d,0x6c,0x8f,0xb7,0x3b,0x78,0xe6,0x82,0xf7,0x74,0xe4,0xc0,0x3f,0xf, + 0x5f,0x92,0x3d,0xea,0x3e,0xfc,0x6d,0xb9,0xc9,0xd3,0x79,0xfa,0x25,0x5,0x1a,0x49, + 0xeb,0x50,0x78,0xac,0xb5,0x7f,0x97,0xb3,0x27,0x6e,0x2c,0x0,0xa1,0x5c,0xb,0xa3, + 0x4e,0x93,0xbb,0x17,0xf5,0xe5,0x32,0x2a,0x3f,0xa7,0xe5,0x96,0xfd,0xf6,0x7a,0x5a, + 0xd5,0x51,0x59,0xf,0x28,0xcb,0x2c,0x19,0xdc,0xa7,0xab,0x64,0xa0,0xb,0xaf,0xa4, + 0x35,0x97,0x5f,0xb2,0x2a,0xbb,0xc9,0x72,0x77,0xe3,0x2f,0xf3,0xf4,0x32,0xc9,0xaa, + 0x35,0x32,0xef,0x79,0xb6,0x72,0xb,0xbf,0x2c,0x50,0x2e,0x2d,0xf2,0xe2,0xbe,0x69, + 0x6f,0x6b,0x20,0x68,0xd2,0x95,0x2b,0x43,0x3e,0xbe,0xfb,0x1f,0x15,0x72,0xc1,0xc6, + + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/mailbox.svg + 0x0,0x0,0x23,0xf5, + 0x0, + 0x0,0xb5,0xa,0x78,0x9c,0xed,0x7d,0x5b,0x73,0x1b,0xcb,0x91,0xe6,0xbb,0x7f,0x5, + 0x86,0x7e,0xb1,0x62,0xc1,0x66,0xdd,0x2f,0x3c,0x92,0x27,0x36,0xe4,0xf0,0xc6,0x44, + 0x68,0x63,0x26,0xc6,0x76,0xcc,0xe3,0x4,0x44,0x80,0x12,0xf6,0x90,0x4,0x7,0x0, + 0x75,0xfb,0xf5,0xfb,0x7d,0x55,0x7d,0xa9,0x6,0x1a,0x20,0xc0,0x9b,0x74,0xe4,0x23, + 0xfb,0x48,0xe8,0xec,0xea,0xae,0xaa,0xac,0xcc,0xac,0xbc,0x55,0xf6,0xeb,0x7f,0xfd, + 0x72,0x7d,0x35,0xfa,0x34,0x5b,0xae,0xe6,0x8b,0x9b,0x37,0x27,0xb2,0x12,0x27,0xa3, + 0xd9,0xcd,0xc5,0x62,0x3a,0xbf,0xf9,0xf0,0xe6,0xe4,0x1f,0x7f,0xff,0xeb,0x69,0x38, + 0x19,0xad,0xd6,0x93,0x9b,0xe9,0xe4,0x6a,0x71,0x33,0x7b,0x73,0x72,0xb3,0x38,0xf9, + 0xd7,0x3f,0xff,0xe1,0xf5,0xbf,0x9c,0x9e,0x8e,0xde,0x2e,0x67,0x93,0xf5,0x6c,0x3a, + 0xfa,0x3c,0x5f,0x7f,0x1c,0xfd,0xdb,0xcd,0xaf,0xab,0x8b,0xc9,0xed,0x6c,0xf4,0xa7, + 0x8f,0xeb,0xf5,0xed,0xf9,0xd9,0xd9,0xe7,0xcf,0x9f,0xab,0x79,0xd,0xac,0x16,0xcb, + 0xf,0x67,0xaf,0x46,0xa7,0xa7,0x78,0x72,0xf5,0xe9,0xc3,0x1f,0x46,0xa3,0x11,0xba, + 0xbd,0x59,0x9d,0x4f,0x2f,0xde,0x9c,0xd4,0xed,0x6f,0xef,0x96,0x57,0xa9,0xdd,0xf4, + 0xe2,0x6c,0x76,0x35,0xbb,0x9e,0xdd,0xac,0x57,0x67,0xb2,0x92,0x67,0x27,0x5d,0xf3, + 0x8b,0xae,0xf9,0x5,0x3b,0x9f,0x7f,0x9a,0x5d,0x2c,0xae,0xaf,0x17,0x37,0xab,0xf4, + 0xe4,0xcd,0xea,0x8f,0x45,0xe3,0xe5,0xf4,0xb2,0x6d,0xcd,0xc1,0x7c,0xd6,0xa9,0x91, + 0x8c,0x31,0x9e,0x9,0x75,0xa6,0xd4,0x29,0x5a,0x9c,0xae,0xbe,0xde,0xac,0x27,0x5f, + 0x4e,0xfb,0x8f,0x62,0x8c,0x43,0x8f,0x2a,0x21,0xc4,0x19,0xee,0x75,0x2d,0xf,0x6b, + 0x75,0xfe,0xe5,0xa,0x98,0xd8,0x39,0x98,0x74,0xb7,0xec,0x1d,0xd8,0xbf,0xc5,0x7f, + 0xed,0x3,0xd,0xa0,0x5a,0x2d,0xee,0x96,0x17,0xb3,0x4b,0x3c,0x39,0xab,0x6e,0x66, + 0xeb,0xb3,0xbf,0xfc,0xfd,0x2f,0xed,0xcd,0x53,0x51,0x4d,0xd7,0xd3,0xe2,0x35,0xd, + 0xf2,0x7b,0xfd,0xf6,0x56,0xe4,0x66,0x72,0x3d,0x5b,0xdd,0x4e,0x2e,0x66,0xab,0xb3, + 0x6,0x9e,0x9e,0xff,0x3c,0x9f,0xae,0x3f,0xbe,0x39,0x51,0x26,0x5d,0x7d,0x9c,0xcd, + 0x3f,0x7c,0x5c,0xb7,0x97,0xf3,0xe9,0x9b,0x13,0xcc,0x4e,0xa5,0x8b,0xa6,0xf3,0xf3, + 0x96,0x82,0x44,0xa5,0xf3,0xad,0xe6,0x8d,0xe5,0x2d,0xe3,0xd2,0xad,0x1e,0xb9,0xf5, + 0x5e,0x33,0x5d,0x5c,0xbc,0x9f,0xac,0x30,0xe4,0xb3,0x8f,0x8b,0xeb,0xd9,0xd9,0xed, + 0xd5,0xfb,0xd9,0xe4,0x6e,0xba,0x98,0xdf,0x9c,0xfd,0xed,0xaf,0xef,0xfe,0xe3,0x23, + 0x28,0xf0,0x6c,0x75,0x79,0x75,0xdb,0xfb,0x71,0xfa,0x61,0xfd,0xeb,0xd9,0xed,0xfc, + 0xcb,0xf5,0xe4,0x76,0xb5,0xf5,0x36,0x4e,0xf1,0xcd,0xc9,0xf5,0x64,0x7e,0xf5,0x7e, + 0xf1,0xa5,0x6a,0x56,0xa5,0x1d,0xdb,0xe2,0x6e,0x7d,0x7b,0xb7,0xfe,0xef,0xd9,0x97, + 0xf5,0xec,0x26,0xf,0x9,0x78,0x29,0x90,0x94,0x6e,0xf3,0xb1,0xaa,0x87,0xa0,0xb6, + 0x87,0x6b,0xfc,0x75,0x39,0x9f,0x1,0x25,0xeb,0xe5,0xdd,0xec,0xe4,0xcf,0xb8,0xf9, + 0x7a,0x3a,0xbb,0x5c,0xb1,0x51,0x46,0x15,0xaf,0x4c,0xba,0x81,0x5b,0x58,0xe8,0xd9, + 0x64,0xf9,0x7f,0x96,0x93,0xe9,0x1c,0xe4,0x9d,0x1b,0x15,0xa3,0xb9,0x58,0x5c,0x5d, + 0xcd,0x2e,0x80,0xea,0xc9,0xd5,0xe7,0xc9,0xd7,0x3c,0x99,0xe6,0x3d,0xfd,0x47,0x95, + 0x35,0xaa,0x7e,0x29,0x5e,0xbb,0x5a,0x2f,0x6e,0x9b,0xb6,0x18,0xdc,0xfa,0xeb,0x15, + 0xe6,0x4c,0xe0,0x29,0xde,0xb8,0x58,0x9e,0xff,0x51,0x88,0x0,0xa2,0xfc,0x25,0x81, + 0x16,0x58,0xf0,0xf9,0xfa,0xeb,0xb9,0xfc,0xe5,0xa4,0x7b,0x66,0x71,0x79,0xb9,0x9a, + 0xa1,0x63,0x51,0xc0,0xd2,0x42,0xe3,0x9,0xf4,0x65,0x4e,0x46,0x67,0x8f,0xeb,0x4d, + 0xc,0xf5,0x26,0x87,0x7b,0x73,0x6d,0x6f,0xaf,0xcf,0xfa,0xd3,0xae,0xa1,0xbc,0x9a, + 0x5c,0x1d,0x8d,0xc6,0xc4,0x67,0xe7,0x1f,0x97,0x33,0xc8,0x85,0x3f,0x6e,0xe0,0x53, + 0xfb,0xd0,0x43,0x77,0xbf,0xb,0xa7,0x82,0x6e,0x6f,0x7f,0xa8,0x81,0xff,0xb8,0x99, + 0xaf,0x21,0x0,0xee,0x56,0xb3,0xe5,0xdf,0xc8,0x44,0xff,0x7e,0xf3,0x8f,0xd5,0xac, + 0x6d,0x75,0xf1,0xe5,0xcd,0x89,0xe,0x95,0xb3,0x21,0x58,0xdb,0x41,0xbf,0xbe,0x39, + 0x89,0x95,0x36,0x52,0x9a,0x9a,0x17,0xf8,0xe7,0x72,0xb0,0xed,0xe5,0x60,0xdb,0xe5, + 0x9b,0x93,0x40,0xa0,0xb3,0xb2,0x43,0xd3,0x93,0xd1,0x95,0x8b,0xc1,0x1c,0x41,0x57, + 0xef,0x27,0xef,0xa7,0xef,0xdd,0x3,0xe9,0xa,0x7d,0xb9,0xa3,0xe8,0x6a,0xa8,0xb7, + 0x83,0xe9,0xa,0xbd,0x85,0xfb,0xe8,0xea,0x81,0x68,0xdc,0x43,0x57,0x9,0x9f,0x7b, + 0xd0,0xad,0xb5,0x3d,0x92,0xae,0x9a,0x56,0x7f,0x5f,0x4e,0x6e,0x56,0xd8,0x9,0xae, + 0x29,0xdd,0xd6,0xcb,0xf9,0x97,0x3f,0x41,0xbc,0xa,0xa9,0x82,0x33,0x63,0xc1,0xff, + 0x55,0xca,0xb,0xeb,0xa3,0x19,0xbb,0xca,0x5b,0x1f,0x94,0x1b,0x9f,0x4a,0x51,0x49, + 0x23,0xa2,0x33,0xaf,0xba,0xb1,0x4b,0xa0,0xcb,0x54,0x52,0x75,0xe3,0xf8,0xa,0x90, + 0x8f,0x55,0x90,0x5a,0x76,0x88,0xfc,0xa2,0xb6,0xdb,0x1,0xe4,0x5d,0xe5,0x94,0x91, + 0xbe,0x60,0xd9,0xa7,0x67,0x4e,0x17,0x8d,0xdd,0xc7,0x9c,0x5a,0x87,0x27,0x43,0x22, + 0x76,0x24,0xe3,0x5c,0x30,0xb1,0x46,0xa2,0x5,0x91,0x7a,0x1,0xdc,0x69,0xb0,0xa7, + 0x2,0xee,0xf0,0x4b,0x0,0xa1,0xce,0x4,0xfd,0xaa,0xc7,0xec,0x52,0x57,0x52,0x78, + 0x1d,0x75,0x8f,0xd9,0x9d,0xac,0x4c,0x10,0xb2,0xcf,0xeb,0xdb,0x4d,0x2f,0x87,0x9a, + 0x82,0xd5,0x65,0xa8,0xec,0xb3,0xb0,0xb9,0x3e,0x6e,0xfb,0x10,0xf,0xdf,0x3e,0xd0, + 0xd7,0xb1,0xdb,0xc7,0x76,0x6f,0x7,0xb3,0xb9,0x14,0xc1,0x89,0xef,0xc1,0xe7,0xb5, + 0xd6,0xb3,0x3,0xdf,0xda,0x99,0x23,0x49,0x94,0x8c,0xa9,0x15,0xb8,0xab,0xcf,0x98, + 0x2e,0x54,0x46,0x7b,0xdb,0xe3,0xcb,0xcd,0x66,0x0,0xd9,0x50,0x5,0x8d,0xff,0xf9, + 0x67,0x20,0x1e,0x2f,0x20,0x49,0xf,0x5f,0xce,0xcb,0xf4,0xe7,0x81,0xc4,0xe3,0x45, + 0x14,0x47,0x11,0xcf,0x50,0x6f,0x7,0x13,0xf,0x7a,0x53,0x2f,0x4f,0x3b,0x9,0x9f, + 0x7b,0xd0,0xad,0xad,0x7c,0x32,0xf1,0x96,0xf7,0x8,0x2b,0x7c,0xb3,0x47,0x4,0x83, + 0xab,0x80,0x3d,0x42,0x5b,0x17,0x82,0x1e,0xc3,0x8a,0x50,0x36,0x78,0xd0,0x73,0x7f, + 0x8f,0x88,0x55,0x8c,0x10,0x80,0x26,0xf4,0xa8,0x51,0xc9,0x4a,0x19,0x80,0xfb,0xfb, + 0xc4,0x40,0x5b,0x40,0x95,0xad,0xb4,0x97,0xd6,0x3e,0xf,0x49,0xda,0xf8,0x58,0xb5, + 0xe5,0x60,0x8a,0x74,0xf2,0xf1,0x5a,0xcb,0xc1,0x4,0xe9,0xf4,0xf7,0x20,0x48,0x60, + 0x73,0x2f,0x41,0xba,0x7,0x8,0xb3,0x58,0x9,0x6c,0x7a,0xde,0xf7,0xe5,0x99,0x8c, + 0x95,0xd,0x46,0x2a,0xb3,0x41,0x41,0x5b,0x6d,0x49,0x41,0xa6,0xf2,0x1e,0x6,0x73, + 0x3c,0x90,0xd0,0xa3,0x8f,0xd2,0xb5,0xca,0x90,0x81,0x6a,0x24,0x41,0xe8,0xd2,0x78, + 0xa7,0x55,0x26,0xf4,0x18,0xa2,0x70,0xaf,0x9e,0x85,0x20,0x9d,0x7f,0xac,0x8c,0x3c, + 0x9c,0x20,0xe3,0x51,0x4,0x39,0xe3,0x9f,0x8b,0xfb,0x3b,0x1b,0x26,0x48,0x2f,0x5f, + 0xde,0x3a,0x4b,0xd8,0xdc,0xad,0x0,0x82,0x20,0x8f,0xdd,0x5d,0xf7,0x11,0x8e,0x93, + 0x52,0x53,0x5d,0xce,0x84,0xa3,0x9d,0x16,0xd2,0xaa,0x31,0x94,0x33,0x74,0x63,0x40, + 0x38,0xd8,0x6d,0xbd,0x31,0xde,0x6f,0xe8,0x7f,0xa,0x7a,0xb6,0x53,0x51,0x75,0x52, + 0x8f,0xfa,0x1f,0xa5,0x9e,0x89,0xd1,0x16,0xaa,0xde,0x60,0xdb,0xcb,0xc1,0xb6,0xd4, + 0x0,0xed,0xb3,0x68,0x80,0x5e,0x88,0x17,0xd3,0x0,0xd1,0xd7,0xb,0x6a,0x80,0xe8, + 0xed,0x5e,0x7,0xc2,0x73,0xc8,0x4c,0xb1,0x5f,0x1,0xb4,0xfe,0x9,0x49,0xb4,0x6f, + 0xe8,0x69,0x11,0xf0,0x7a,0x9b,0x37,0x71,0x6b,0x28,0xda,0x4c,0xb0,0xd1,0xaa,0x8d, + 0x3d,0x1c,0xa4,0xb4,0x21,0x7d,0x21,0x51,0xad,0x93,0x41,0x84,0x9e,0xf4,0xdd,0x68, + 0x47,0xd,0xd3,0x56,0xc1,0x6a,0xa1,0xcc,0x77,0x35,0xf3,0x9c,0x7a,0x32,0x14,0xf6, + 0xcd,0xbc,0xd3,0x21,0x3b,0xcf,0xb8,0x4a,0xa1,0x91,0x79,0x71,0x2b,0xef,0xe9,0x31, + 0x6b,0x85,0x13,0xfb,0x30,0xab,0xd4,0xb1,0x1b,0xfa,0x6e,0xcc,0x42,0x3c,0x7a,0x6f, + 0x74,0xc8,0x98,0x95,0x55,0x74,0x91,0x78,0x95,0x52,0x51,0xe4,0x41,0xc1,0xc,0x5e, + 0x55,0x21,0xd8,0xd,0xbc,0x3a,0x1,0xa2,0x93,0x46,0xc5,0x1e,0x5e,0x4d,0x70,0x95, + 0x33,0x3e,0xc4,0x1e,0x62,0xb7,0xdb,0x5e,0xe,0xb6,0x25,0x66,0xa5,0xc7,0x86,0xaf, + 0xa,0x47,0xd3,0x2e,0xde,0xdf,0x62,0xd9,0x3e,0xd2,0x76,0x61,0x7f,0x87,0x50,0x6b, + 0x84,0x11,0x5e,0xa2,0xee,0x91,0x92,0xdb,0xf2,0xef,0xfd,0xd5,0xe4,0xe2,0xd7,0x2d, + 0x59,0xbb,0x53,0x80,0x16,0x7d,0x99,0x7b,0x64,0xe4,0x41,0x7d,0x89,0x5f,0x5e,0x7e, + 0x87,0xbf,0x9f,0x42,0x9f,0x6e,0x87,0x1f,0x26,0xd0,0x53,0x19,0xa2,0xac,0x9c,0xfe, + 0x4d,0x51,0xa8,0xd9,0x69,0x88,0x77,0x44,0x61,0x87,0x8c,0x8d,0xa3,0x9,0x50,0xec, + 0x21,0xc0,0x43,0x29,0x78,0x60,0x18,0x95,0x3d,0x19,0x1c,0xf3,0x1e,0xc7,0x70,0xd1, + 0x6a,0x88,0xb5,0x9e,0x81,0xdc,0x9f,0x5e,0x5b,0x48,0x2b,0xb7,0x47,0x5b,0x50,0xea, + 0xe9,0xb6,0xba,0xdd,0xe4,0xae,0x2a,0xe9,0xe3,0x10,0xb9,0x27,0xdf,0x93,0x0,0xd4, + 0xc2,0x60,0xef,0x29,0xc,0xda,0x6d,0x92,0x70,0x72,0x40,0x6d,0xb7,0x55,0x64,0x2, + 0xd8,0x76,0x20,0xbf,0xe7,0x30,0xf8,0x5d,0x74,0x2f,0xe6,0x83,0x22,0xc2,0x5e,0xce, + 0x7,0x85,0xde,0xbe,0x83,0xf,0x2a,0xe1,0x73,0x1f,0xba,0xbd,0xe9,0x51,0x87,0x34, + 0x9b,0xaa,0xa4,0xd7,0x3d,0x92,0x90,0xf4,0xf6,0xf4,0xe9,0x21,0x1c,0x4a,0xd3,0x47, + 0xb,0xc2,0x14,0xbd,0xbb,0x47,0x5c,0x28,0x1d,0x8e,0x17,0x84,0xbb,0x8,0xe7,0x28, + 0x6a,0x98,0x5d,0xce,0xa6,0xb3,0xd,0x6a,0xa8,0xa2,0xc,0xda,0x79,0xad,0x87,0xa5, + 0xa2,0x1a,0x12,0x8b,0x46,0x9a,0xe3,0xe2,0x65,0x97,0xf6,0x52,0xab,0xf0,0x60,0x31, + 0xc,0x8c,0x1d,0x20,0x86,0xd1,0xea,0x78,0x31,0x9c,0x87,0x36,0xdd,0x44,0x8a,0x54, + 0x4a,0x1b,0x61,0xf4,0x43,0x25,0xf2,0x0,0xdd,0x96,0x26,0xc5,0x3,0x75,0x38,0xbc, + 0xc4,0x3f,0x11,0xe5,0xdc,0x8f,0x4e,0x74,0x16,0x8f,0x47,0xe7,0x54,0x4f,0xfd,0xc5, + 0xce,0xce,0x76,0x20,0xb1,0xc5,0xc7,0xed,0x6c,0xb9,0xba,0x5,0x42,0xe6,0x9f,0x66, + 0x4d,0x2f,0x6d,0x82,0xc3,0xfa,0x2b,0x13,0x48,0xfa,0x4d,0xf5,0x74,0x1b,0xa7,0x9f, + 0x6e,0xff,0x1b,0x7a,0x8f,0x18,0x9d,0x8f,0xa4,0xe2,0x5f,0x83,0x2d,0xbe,0xd6,0x2d, + 0x60,0xdc,0xe3,0x9f,0x1,0xed,0x1a,0x6d,0xbe,0xd1,0x2a,0xdd,0xf3,0x9a,0x7a,0x4, + 0xa7,0x8b,0xe5,0xfc,0xc3,0x9c,0x29,0x24,0x6c,0x17,0xfa,0x6d,0x81,0xcb,0x62,0x4e, + 0x2e,0xc8,0xfb,0x3d,0x28,0x5b,0xa4,0x3,0x3a,0xb4,0x8f,0xdc,0x61,0xee,0x93,0x37, + 0x2d,0x63,0xb,0xe3,0x8f,0x16,0x29,0x33,0xbf,0xc9,0x3d,0x21,0x6a,0x11,0x64,0x91, + 0xc7,0xb0,0x7f,0xa3,0x41,0xaf,0xf1,0xa9,0xf8,0xcc,0x28,0x77,0x8c,0xff,0x5d,0x4e, + 0xdf,0x3f,0xdc,0x9b,0x64,0x94,0x3f,0xce,0x1,0x3f,0xd4,0xdb,0xc1,0xdb,0x31,0x7a, + 0x7b,0xa8,0x7,0x7e,0x1b,0x4b,0x90,0xf9,0xf7,0x9,0x1b,0xb4,0xb1,0xc7,0xb,0x9b, + 0x1d,0x8,0xbd,0x57,0xda,0xa0,0xb7,0x21,0xd1,0x76,0x8f,0xb4,0x11,0x90,0xde,0x7b, + 0x7a,0x7b,0x34,0x96,0x8e,0x72,0x9d,0x33,0xd5,0x48,0xcc,0x1e,0x4a,0x4b,0xf2,0x48, + 0xdf,0x39,0xd1,0x2c,0xcd,0x43,0x69,0x49,0xde,0xef,0x3c,0x7f,0x7a,0xd5,0x2e,0x51, + 0xdd,0x1e,0xdd,0xa9,0x34,0xad,0x93,0x6a,0xe7,0xaa,0xa0,0x9c,0x8f,0x9d,0x4b,0x28, + 0xc5,0x9d,0x2b,0xaf,0x42,0xf0,0xb2,0xaf,0xe5,0x29,0x5f,0xd9,0xcd,0xd0,0xb3,0x52, + 0x95,0x65,0x88,0xf1,0x29,0x13,0x5b,0x82,0xb7,0x42,0xd9,0xda,0xdd,0xd9,0x5c,0x54, + 0xce,0x39,0x2f,0x34,0x7e,0x48,0xef,0xa3,0xf0,0xf7,0xc6,0x71,0x38,0x3a,0xa9,0xab, + 0xa8,0x84,0xb0,0xfd,0x79,0x60,0xca,0x50,0x21,0x43,0xf4,0xbd,0x39,0xcb,0x14,0x57, + 0x8f,0x85,0x63,0x97,0xf8,0x51,0x95,0x70,0x16,0x7c,0xb3,0xed,0xcf,0x1d,0x70,0x86, + 0xc9,0x6c,0x75,0x8d,0x35,0x9e,0xc2,0x42,0x4,0x46,0xf,0x2,0xc,0xa8,0xc2,0x33, + 0x7b,0x18,0x76,0xb6,0x17,0x4e,0xea,0x22,0x6c,0xbc,0x6f,0xfd,0x29,0x9b,0xef,0x25, + 0xa4,0x7b,0x50,0x37,0x30,0xc5,0x35,0x7f,0x5e,0x4d,0xd6,0x33,0xfa,0xa3,0x95,0x93, + 0x36,0x4d,0xce,0x3b,0x25,0xb5,0x3b,0x76,0x76,0xcf,0xb5,0x32,0x83,0x58,0x73,0x2f, + 0x8e,0xb5,0x3,0x26,0xf,0x15,0xdc,0x3b,0xaf,0xb6,0x12,0xae,0x4,0xb0,0xa9,0x37, + 0x82,0xee,0x95,0x17,0xe0,0x45,0xe7,0xfa,0x6c,0x6b,0x69,0x98,0x2b,0xb9,0x8f,0xd7, + 0x31,0x79,0x73,0xbc,0xc8,0x78,0xe,0x92,0x39,0x85,0x5,0x64,0xbc,0x90,0x81,0xbe, + 0xf7,0x10,0xac,0x8c,0xe1,0x41,0x34,0x3,0x59,0xa3,0x7b,0x8e,0x87,0xe4,0x8e,0x90, + 0x95,0xc6,0x26,0x12,0x36,0x49,0x66,0xb3,0x69,0xe,0x80,0xe8,0xe8,0x4b,0x61,0x35, + 0x88,0x35,0xf5,0x63,0x60,0x4d,0x56,0xca,0x81,0x2e,0xe5,0xf8,0x54,0x56,0x50,0xa2, + 0xbd,0x55,0xf,0x44,0x5a,0x50,0x36,0xc4,0x3e,0xa3,0x79,0x70,0x9f,0xc6,0xff,0xed, + 0x26,0xd6,0x36,0xdb,0xca,0x94,0xb6,0xcd,0xc8,0x88,0x77,0xfb,0xb1,0x26,0x5e,0xc, + 0x6b,0x43,0xdd,0xfb,0x9d,0x89,0xac,0x6d,0xae,0x98,0x2e,0x66,0x70,0xb0,0xae,0xb5, + 0x43,0xe1,0xb8,0x57,0xd7,0x92,0xfa,0x5e,0xd5,0xfc,0x70,0x85,0xe3,0x89,0x74,0x2d, + 0x8,0x97,0x63,0xdc,0x68,0xca,0x3d,0x42,0x6f,0xc7,0xfc,0x8f,0x73,0xa3,0x49,0x33, + 0xa8,0x66,0x1e,0xa6,0x6b,0xa1,0xb7,0x87,0xba,0xd1,0x86,0xb0,0xb4,0x33,0x56,0xde, + 0xf5,0x37,0x18,0x7c,0xb9,0x87,0x96,0x76,0x20,0xf4,0x0,0x5a,0x72,0x43,0x94,0x7b, + 0xf,0x2d,0xd,0xf5,0xf6,0x3d,0xbc,0xdf,0xf7,0x68,0xa4,0xd2,0x88,0x87,0xe4,0x17, + 0x6d,0x6f,0x80,0x3b,0x36,0xcb,0xe1,0x8d,0xb5,0xb7,0x9,0x3f,0xd6,0x61,0xfd,0xa8, + 0xc9,0x3f,0x41,0x32,0xf3,0x61,0x5b,0x46,0xc2,0x1a,0xe7,0x6c,0xa2,0xde,0x94,0xfa, + 0x52,0x5a,0x6b,0xfb,0x5e,0x7e,0xec,0xd4,0x2e,0xa0,0xb1,0x2a,0x52,0x5d,0xeb,0xfd, + 0xa4,0x6e,0xfd,0x3d,0xd1,0x26,0xc5,0x53,0xa2,0x6d,0xaf,0x7e,0x92,0xc2,0x23,0xb2, + 0x72,0x51,0x95,0x5e,0xf3,0x84,0x38,0xa2,0xdb,0x28,0xd9,0xa7,0x36,0xa5,0xf1,0xa, + 0xd0,0x60,0xdf,0x4e,0x82,0xbe,0xab,0xad,0xd5,0xea,0x59,0xb1,0xd6,0xd3,0x62,0x87, + 0xb0,0xf6,0x4,0x71,0xa6,0xc3,0xc,0x1,0x22,0xcd,0x57,0xc0,0x24,0x9,0xa8,0x8f, + 0x34,0x5b,0x45,0xa9,0x7a,0xd6,0x4c,0xd2,0x47,0xa4,0x94,0x26,0x18,0xd9,0x47,0x9a, + 0xac,0x6c,0xf4,0x5a,0x3d,0x3e,0x25,0xea,0x51,0x58,0x7b,0xba,0x60,0xf4,0x21,0x16, + 0xe2,0xb0,0x6d,0xb3,0xc3,0xe,0x1a,0xb6,0x99,0x7a,0xf6,0xd5,0xf1,0x2a,0x68,0x9b, + 0x35,0xa3,0x2c,0xb3,0x7d,0x73,0xd2,0x4c,0x7b,0x75,0xca,0x75,0x35,0x5a,0xc6,0xb1, + 0xa,0x95,0xf7,0x5a,0x8b,0xf8,0x10,0xbd,0x34,0x40,0x41,0xc7,0xf0,0x64,0x5f,0xea, + 0x50,0xac,0x6b,0xa1,0xe3,0x46,0xe2,0x12,0x90,0x4,0x42,0x2a,0x13,0x97,0xe4,0x50, + 0xdb,0x1,0x7f,0x87,0x31,0x87,0xd9,0x40,0x4f,0x61,0x0,0x7e,0x4f,0x8f,0x83,0x64, + 0x74,0xd7,0xfa,0xa7,0x74,0x39,0x0,0x77,0x87,0x59,0x42,0xcf,0xee,0x72,0xc0,0xe4, + 0xa0,0x94,0x85,0xa8,0x7e,0xb,0x3e,0x7,0xa0,0xed,0x30,0x53,0xe8,0x67,0xf4,0x39, + 0x28,0xa3,0xf,0x73,0x53,0x3d,0xbf,0xcf,0x41,0x62,0x9f,0x11,0x98,0xb1,0xfd,0xd, + 0x38,0x1d,0x80,0xb6,0xc3,0xfc,0x54,0x2f,0xe0,0x74,0x88,0x4a,0x89,0x18,0xdc,0x6f, + 0xc1,0xeb,0x0,0xb4,0xbd,0x9c,0x87,0x6b,0xa8,0x7b,0x75,0x7f,0x22,0x82,0xd1,0xf, + 0x48,0x44,0x78,0xa8,0xd7,0x1,0xbd,0x3d,0x20,0x3c,0xff,0xbc,0x5e,0x7,0x60,0xe9, + 0x98,0xdc,0xf3,0x47,0x79,0x1d,0xd0,0xd7,0x71,0xb9,0xe7,0x8f,0xf2,0x3a,0xa0,0xb7, + 0x87,0xe6,0x9e,0xf,0x60,0x9,0x66,0xc4,0xbd,0xab,0x2b,0x87,0x7c,0x4a,0xcf,0xe4, + 0x75,0xc0,0xec,0xee,0x3b,0xb8,0xf4,0x3,0x7b,0x1d,0x52,0xc9,0x84,0x3d,0xe8,0xb6, + 0xa6,0xaf,0x4c,0x42,0xb1,0x90,0xd6,0x38,0x51,0x3c,0x45,0xd9,0x4,0x65,0x57,0x42, + 0x78,0x2b,0xe9,0x7b,0x82,0x4c,0x59,0xb4,0xd6,0xda,0x6c,0x9d,0x58,0x8a,0xce,0x9a, + 0xed,0x3,0x4b,0xf,0x4b,0x7c,0x7a,0xbe,0xd9,0x3b,0x71,0xb4,0xfd,0xfc,0xe4,0x38, + 0xfa,0xae,0xb3,0x3f,0xd6,0xe,0xfe,0xb9,0x66,0xff,0x90,0xc3,0xc9,0x3f,0xcf,0xec, + 0x1f,0xe2,0x6d,0xfc,0x79,0x66,0x7f,0xac,0xbb,0xf1,0xa7,0x9a,0xbd,0xfa,0xa7,0x96, + 0x7a,0x47,0x67,0x99,0xff,0x5c,0xb3,0xff,0x41,0xa4,0xde,0xeb,0x33,0xd6,0x88,0x4a, + 0xbf,0xda,0xb4,0x4b,0x96,0xad,0x9a,0x7e,0x9a,0xcf,0x3e,0xff,0xa1,0x1d,0x3e,0xeb, + 0x62,0xd5,0xaf,0xb9,0x9d,0x7c,0x98,0x25,0xed,0xa,0x93,0xce,0x89,0x87,0xf5,0x8d, + 0xf7,0x8b,0xe5,0x74,0xb6,0x6c,0x6e,0xb9,0xf4,0xa7,0x77,0xab,0x56,0xc0,0xba,0xca, + 0x5b,0x65,0x66,0x25,0xde,0xda,0xde,0x17,0xc3,0xf7,0x57,0x1f,0x27,0xd3,0xc5,0x67, + 0x4c,0x61,0xf3,0xe6,0xb7,0xc5,0x2,0x56,0x63,0xd8,0x4,0xa7,0x83,0xb1,0xaa,0x8a, + 0x51,0xfa,0x16,0x9,0xdd,0xcd,0xaf,0x9,0x9f,0x51,0x3a,0xe1,0xa2,0xd9,0xbc,0x3b, + 0x5d,0x5c,0xdc,0xb1,0x8,0xdc,0xe9,0x5d,0x5e,0x94,0xdb,0x2f,0x5b,0xcf,0xdf,0x2d, + 0x97,0x6c,0x70,0x35,0xf9,0x3a,0xc3,0x7c,0xd3,0x3f,0x8d,0x32,0x5a,0x97,0x30,0xd3, + 0xaa,0x7d,0xac,0x29,0x63,0x56,0x80,0x56,0x1f,0x17,0x9f,0x3f,0xdc,0xcd,0xa7,0xb3, + 0x55,0x5d,0xbf,0x6b,0xa3,0x83,0x74,0xef,0xf4,0xfd,0xfb,0xc5,0x97,0xe1,0xfb,0x9f, + 0xe7,0x37,0xc0,0xc6,0x69,0xdd,0x97,0xec,0xf6,0xd1,0xcd,0x16,0x4d,0xdf,0x5e,0x6d, + 0x21,0xae,0x6e,0x81,0x1e,0x3a,0x67,0xfc,0xe6,0x4d,0xae,0x57,0x6b,0x22,0xa7,0x41, + 0x2f,0x49,0x11,0x97,0x93,0xab,0xd5,0xac,0x29,0x2d,0xd6,0x92,0x4e,0x1a,0x74,0x43, + 0x6e,0x8b,0x25,0xc9,0x7a,0xb2,0x4e,0xa5,0xcd,0x3e,0xcd,0x96,0xeb,0xf9,0xc5,0xe4, + 0xaa,0x25,0xc6,0xdb,0xc5,0x6a,0x9e,0x6f,0x49,0x57,0xd9,0x31,0x3,0x39,0xaa,0xef, + 0x94,0x48,0x2f,0xd3,0x5d,0xe2,0xf9,0xeb,0xb3,0x6d,0x12,0x4d,0xf0,0xeb,0xd9,0x7a, + 0x32,0x9d,0xac,0x27,0x1d,0xbd,0x36,0x90,0x26,0x99,0xef,0xf5,0x72,0x7a,0x79,0xfe, + 0x9f,0x7f,0xf9,0x6b,0x6b,0x64,0x5c,0x5c,0x9c,0xff,0xd7,0x62,0xf9,0x6b,0x67,0x3c, + 0xb0,0xc1,0xe4,0xfd,0xe2,0xe,0x88,0x6a,0xd,0x1f,0xb4,0x9b,0x5e,0x9c,0xd3,0x27, + 0x31,0x59,0xff,0x79,0x7e,0xd,0x12,0x64,0x69,0xbd,0xff,0xf5,0xe5,0xfa,0xa,0x6c, + 0xd3,0xde,0xe8,0x35,0x66,0xca,0x72,0xf7,0xd2,0xfc,0xda,0xe5,0x2c,0x97,0xce,0x1b, + 0xac,0x36,0x38,0xbd,0xb8,0x9e,0xf3,0xa1,0xb3,0xbf,0xad,0xe7,0x57,0x57,0xff,0xc6, + 0x4e,0x4a,0x63,0xe8,0xac,0x1e,0x68,0x63,0xaf,0x14,0xf3,0x78,0x7d,0xd6,0xcc,0x32, + 0x5d,0x7d,0xd8,0x58,0xbe,0xab,0xc9,0xfb,0xd9,0xd5,0x9b,0x93,0xb7,0x93,0xab,0xff, + 0xb9,0x9b,0xb5,0x9,0xca,0x1d,0x79,0x2d,0x17,0x77,0xb7,0xd7,0x8b,0xe9,0xac,0xa6, + 0xdd,0x93,0xe,0x79,0x35,0x2d,0xd7,0x5d,0x7e,0xe8,0x2d,0x89,0x2a,0xcb,0x81,0xdd, + 0xd3,0xd7,0x68,0xb4,0x1e,0x3a,0xfb,0xca,0x3f,0xa1,0x29,0x71,0x14,0x8d,0xa4,0x33, + 0x75,0x2c,0x63,0xa5,0xa5,0x92,0x5a,0x8f,0x65,0x65,0x83,0xf7,0x32,0xc8,0xce,0xd1, + 0x53,0x1b,0x76,0x97,0x40,0xd0,0x39,0x50,0xf7,0xa7,0x6d,0x61,0x1b,0x5e,0xfd,0xc2, + 0xbb,0x45,0xfe,0x79,0x8b,0xc1,0xf,0xdd,0x72,0xdc,0xf3,0x1e,0x6a,0xe2,0x9b,0xef, + 0x81,0xe9,0xb8,0x5c,0xfc,0x3a,0x2b,0x8e,0x85,0xf3,0xb2,0x48,0x7c,0x36,0x26,0xba, + 0x60,0x6d,0x99,0x37,0xbb,0x3d,0x6b,0x1e,0x8a,0xd6,0xde,0xf9,0x90,0x4a,0x3f,0x78, + 0x1b,0x44,0x90,0xe3,0xf4,0x43,0x7a,0x2b,0xc7,0xf9,0xb6,0xd7,0xca,0x8d,0x75,0xc5, + 0xb3,0xd3,0x2e,0xe0,0x97,0xa8,0x82,0x12,0x26,0x16,0xe,0xaf,0x66,0xd,0x80,0x9c, + 0x92,0x46,0x6f,0x27,0xeb,0x8f,0x25,0xcd,0x75,0x5c,0x82,0xe5,0x25,0x6d,0x41,0xc2, + 0x5c,0xac,0x2e,0x2e,0x2e,0xbe,0x5d,0xa4,0x7f,0x2e,0x2e,0x4e,0xca,0xe6,0x29,0x63, + 0x1d,0xaf,0x50,0xa5,0x5b,0x8a,0x7f,0x0,0xff,0xbf,0x23,0x43,0xbf,0x5b,0x84,0x88, + 0x4c,0xa3,0x44,0xcf,0x10,0x23,0x71,0xf4,0x76,0x64,0x4,0xcf,0x57,0xa9,0x18,0x58, + 0xdf,0x42,0x18,0x2c,0x81,0x72,0x23,0x1d,0x2b,0x61,0x44,0x70,0x9e,0x93,0xf3,0x4e, + 0x5b,0x6d,0x0,0xf4,0x98,0x93,0x52,0x3a,0x36,0x40,0x29,0x1c,0x5e,0xa0,0x1d,0x5e, + 0xac,0x12,0x25,0x74,0x60,0x6d,0x2a,0x9,0x86,0xb7,0x29,0xb1,0xd2,0xba,0xa0,0x62, + 0xc,0x23,0xd,0xa4,0x0,0x37,0x36,0xa6,0x21,0x44,0x5,0x3c,0xa,0x3f,0x7a,0x97, + 0xe0,0xe,0xd2,0x5d,0xd3,0xf,0x2f,0x84,0xc6,0xd0,0x5c,0x1f,0xac,0x2b,0x9e,0x4e, + 0x17,0xce,0xb2,0x3f,0x90,0x9e,0xf2,0x46,0x1a,0x82,0xad,0xf,0x1e,0x22,0x73,0x4, + 0x24,0xc7,0xe8,0x45,0x6,0x6,0x15,0xac,0xd3,0x7e,0xc4,0xc4,0x52,0x65,0xd3,0x79, + 0xe1,0x1a,0x68,0x34,0x5e,0x80,0x9d,0x53,0x60,0x5b,0xd7,0x5,0x38,0x8e,0x18,0x5e, + 0xd5,0xac,0x16,0x92,0xdf,0x6a,0x23,0x28,0x77,0xc4,0xca,0x34,0x51,0xc8,0x4,0x13, + 0xc6,0x29,0xab,0x2d,0xc6,0xd5,0x41,0x45,0xa5,0x8d,0xc6,0xee,0xc8,0x61,0xa9,0x1c, + 0xd8,0xf6,0x3a,0xd5,0x9,0x89,0xe8,0x41,0x98,0x11,0xb8,0x41,0x81,0x19,0x8c,0x4e, + 0x19,0xa7,0x4e,0xc4,0x80,0x11,0x48,0xf,0x3c,0x29,0x8f,0xb1,0xd6,0x40,0xaf,0xc, + 0x5e,0x0,0xe9,0xa9,0x2,0x86,0xdb,0x3,0x4b,0x53,0x61,0xfc,0x2a,0x12,0x68,0xb4, + 0x56,0xe8,0x0,0x40,0x8d,0xed,0xce,0x8a,0x5c,0x68,0xa7,0x5d,0xca,0x77,0x6c,0xcc, + 0xcc,0x44,0x1,0x42,0xb4,0x95,0x77,0xc6,0x61,0x9,0xf9,0xe2,0x0,0x89,0x8c,0xbd, + 0x53,0x31,0xc6,0xa6,0x65,0xf0,0x41,0x9a,0x11,0xf6,0x53,0xa1,0x5,0x68,0x74,0x7c, + 0x1a,0xe8,0x48,0xa6,0x4b,0x9b,0x8,0x33,0xc,0x5a,0x28,0x2,0xad,0xc5,0xab,0xbc, + 0x27,0xc6,0x55,0x55,0xbf,0x36,0x54,0x86,0xfd,0x6a,0x2e,0xba,0xb2,0x51,0xb2,0x1e, + 0x1c,0x66,0xc3,0x80,0x9b,0x93,0x24,0xa5,0x10,0x9c,0x24,0xe,0x2d,0xa7,0xa0,0x63, + 0x34,0x18,0xd6,0x30,0xe5,0x7d,0xeb,0x91,0x68,0xcd,0xd1,0x1d,0xbb,0xee,0xe1,0x6d, + 0x71,0x20,0x6f,0xa7,0x1d,0x15,0x9c,0xed,0xac,0xf5,0x3a,0xba,0xa6,0xd9,0x29,0x5f, + 0xf8,0xff,0x16,0xf3,0x9b,0x73,0x8,0xec,0xd9,0xb2,0x81,0xa6,0x8b,0xab,0x39,0xfe, + 0x39,0x37,0xd,0x6c,0x3a,0x81,0xaa,0xb2,0x5c,0x4e,0xbe,0x82,0x3,0x6f,0x66,0x25, + 0x34,0xbb,0xad,0xce,0xf7,0xc9,0x91,0x52,0xf8,0x7f,0x18,0x92,0x62,0xc3,0xe2,0xc5, + 0x88,0xbc,0x2a,0x82,0x11,0x29,0x5,0x32,0x1a,0x77,0xbf,0xca,0xfb,0x92,0xc7,0xbf, + 0x3c,0xf8,0x6a,0x8c,0x55,0x3,0xe9,0xba,0x60,0xb6,0x5,0x8c,0xb1,0x3,0x7e,0xb5, + 0xdd,0xa8,0x55,0x66,0xa7,0xf8,0x1d,0x12,0x4f,0x47,0xac,0xd9,0xd6,0x8b,0xbb,0x35, + 0xbb,0xb4,0x6e,0x60,0xcd,0x94,0x7d,0x89,0xe5,0x92,0xdb,0x72,0x52,0x52,0x9c,0x9, + 0x1,0x14,0x1b,0x88,0x3b,0xed,0xc9,0xdb,0xc4,0xb5,0x61,0xa4,0x10,0x30,0x6f,0x3c, + 0x2b,0xc9,0x8c,0x3c,0x38,0x1b,0x23,0x97,0x71,0xc,0x5e,0x8b,0x31,0x3a,0x6d,0x46, + 0xba,0x32,0x29,0xca,0xa1,0xc7,0xb8,0x1b,0xa0,0x6,0x51,0x8a,0x55,0xa,0xaa,0x3b, + 0x61,0x78,0x8b,0x52,0x60,0x33,0x4a,0x5d,0x5d,0xf9,0x60,0x5c,0x90,0x9,0x1a,0x99, + 0x15,0x2f,0x47,0x36,0xc5,0xcc,0x2c,0xb7,0x4e,0xec,0x9d,0x10,0xa8,0xe0,0x12,0xd7, + 0xbe,0xb1,0x83,0xbd,0x45,0xdf,0x1e,0xbc,0xd7,0x87,0x6,0xbc,0xc6,0x6,0x23,0x12, + 0x2c,0xc5,0x38,0xc2,0x28,0x56,0xd6,0x78,0xd1,0xf4,0x4d,0x99,0x45,0x31,0xd1,0x41, + 0x63,0x5,0x69,0x90,0x26,0xc8,0x23,0xbd,0x60,0xf1,0x30,0xe,0x90,0x62,0xca,0x49, + 0x35,0x62,0xf8,0x4,0x64,0x67,0x9,0x62,0xb1,0xb8,0x84,0x18,0x65,0x9b,0xab,0xb7, + 0x94,0x6d,0x86,0xb1,0x61,0x5f,0x83,0x4,0xc4,0x30,0x84,0xa0,0xc6,0xbc,0x7c,0x7a, + 0x8d,0x51,0x4e,0x68,0xa,0x1a,0x48,0xf9,0x8,0x99,0x12,0xb9,0x13,0x24,0x9c,0x74, + 0x30,0x16,0x93,0x74,0x56,0x26,0x9c,0x40,0x4,0x6b,0x1f,0x95,0x21,0x30,0xf8,0xc8, + 0x9,0xa4,0xd2,0x22,0x90,0x48,0x92,0x93,0xd2,0x41,0x73,0xa2,0x30,0x87,0x22,0x24, + 0x22,0x1f,0x6e,0x61,0x6f,0x29,0xba,0x34,0xf6,0x4,0xe5,0xcb,0x96,0x4c,0x6,0x80, + 0xa4,0x4c,0x2f,0x34,0x9e,0x38,0x56,0xd8,0xd8,0x80,0x2e,0x9d,0x7b,0x16,0x3c,0xa2, + 0xc0,0xf1,0x0,0x79,0x40,0xe,0xa0,0xbe,0x1e,0x63,0xda,0x25,0xc,0x9e,0xc5,0x6, + 0x6e,0x21,0xb4,0xc8,0x5f,0x9c,0x5d,0x90,0x4e,0x39,0x7,0x32,0x70,0x91,0x41,0x4b, + 0x3b,0x40,0x2e,0xdf,0x86,0x37,0x65,0x63,0xfb,0x9b,0xf2,0xe0,0xe6,0x9e,0xf6,0xf5, + 0xfc,0xff,0x8b,0x42,0x80,0x3c,0x92,0xf9,0xdc,0x91,0xcc,0x67,0x3d,0x14,0x1,0xad, + 0xcc,0x77,0xe2,0x40,0xd0,0xbc,0xf0,0x96,0x1b,0x3c,0x36,0x3a,0x30,0x98,0x8a,0x3a, + 0xd3,0x7c,0x48,0x94,0x59,0x40,0xb1,0x6c,0x58,0x69,0xed,0x68,0x74,0x38,0x29,0x4c, + 0x88,0x24,0x6e,0xc7,0x4d,0x40,0x13,0x86,0xa9,0x47,0x97,0x29,0xbe,0x1,0x72,0x1b, + 0x5,0xed,0x93,0x64,0x2,0x36,0x7f,0x2d,0x23,0x38,0x58,0xa6,0x1d,0xa,0x9a,0x40, + 0xea,0x25,0x42,0xd6,0x12,0x64,0x22,0xfe,0x17,0xca,0xe1,0xb4,0x30,0xa8,0x4d,0xe8, + 0xda,0x9a,0x3e,0x14,0xdb,0x32,0x68,0xc,0x2c,0x9e,0x5e,0xa8,0x31,0x48,0x72,0x3f, + 0x1,0x3e,0xd1,0xa0,0xc1,0xd6,0x67,0xb2,0x48,0x68,0x80,0xe4,0x3b,0xa7,0xd2,0x36, + 0xd,0x91,0xe0,0x20,0x5c,0x42,0x9a,0x8d,0xd,0x50,0x1e,0x63,0xea,0xc5,0xb3,0x38, + 0x5e,0x31,0xe9,0x21,0xf4,0xec,0xa4,0x39,0x7b,0x20,0xcd,0x3d,0x21,0xb5,0x6d,0xa9, + 0xf0,0x3f,0x36,0xb5,0x51,0x9c,0x60,0x29,0x28,0x11,0x14,0xa4,0xbc,0x71,0xae,0x15, + 0x27,0xd0,0xc6,0x4a,0x28,0xc5,0x89,0x81,0x60,0xf1,0xe3,0x1c,0x91,0xf,0xd0,0xfb, + 0x20,0x4f,0x24,0xcb,0xaf,0x27,0x1,0x15,0xa9,0x54,0x92,0xde,0xa,0xa8,0x60,0x39, + 0x25,0x9d,0x35,0xc4,0x40,0xc1,0x24,0xb3,0xd4,0x16,0xd0,0xa8,0xa1,0x32,0xa5,0x7e, + 0x40,0x82,0x89,0x64,0x8c,0x12,0xc0,0x43,0x39,0xa2,0x16,0x96,0xe4,0x91,0x85,0x76, + 0xde,0x83,0x42,0x62,0x42,0x5f,0x97,0x32,0xa4,0x37,0x42,0xe9,0x70,0x8e,0xb2,0x95, + 0xda,0x25,0xe4,0x36,0x29,0x4e,0x78,0x29,0x5d,0x96,0xb8,0xd,0x54,0x56,0x81,0x72, + 0xcd,0xd4,0x12,0x17,0xaa,0xb4,0x8b,0x69,0x46,0xd0,0xdb,0x8d,0xcd,0xfd,0x78,0xa5, + 0x7d,0x39,0xf3,0x1,0x1c,0xed,0x24,0x39,0xff,0xe2,0x24,0xa7,0x76,0x6a,0x84,0x25, + 0x5d,0xfc,0x20,0xf4,0xe6,0xb8,0xc1,0x2a,0x6c,0x1d,0x49,0x48,0x58,0x6c,0xe4,0x21, + 0xc9,0x22,0xe1,0xa0,0xcb,0x29,0x5d,0x40,0x3,0xec,0x4a,0x6d,0xa3,0x48,0x2b,0xe9, + 0x35,0xfe,0x40,0x90,0x61,0xe7,0x83,0x3e,0x9b,0x8,0x4b,0xea,0x18,0xb0,0xe7,0x52, + 0xbc,0x61,0xe5,0xc,0xd6,0x71,0x4c,0xfd,0x1e,0x72,0x2e,0x11,0x4c,0xe0,0xda,0xc2, + 0x38,0xe1,0xa6,0x6,0xb9,0x84,0x1d,0xd3,0x8c,0x68,0x9,0x40,0xd5,0x17,0x6e,0x4c, + 0x5a,0x86,0x2e,0x8f,0x96,0xe,0x2a,0xd,0x8c,0x15,0x5f,0x80,0xde,0x42,0x17,0xd1, + 0xa0,0xe5,0x1e,0x90,0xfb,0x21,0xb4,0x68,0x10,0x41,0x60,0x52,0x98,0x37,0x86,0xa, + 0xf,0xa4,0x13,0xcc,0x22,0x89,0x3e,0xf0,0x37,0xec,0x94,0x2c,0xdf,0x4c,0xf0,0x86, + 0xc9,0x1e,0x69,0x93,0x35,0x34,0x18,0x28,0x31,0x45,0xd2,0x65,0x7c,0x9a,0x8e,0xd2, + 0x1,0xc6,0x81,0xad,0x20,0xd1,0xa3,0xaf,0x25,0x66,0x9e,0xf6,0x10,0x82,0x76,0x12, + 0x5b,0x7c,0x79,0x62,0xdb,0xe9,0x5a,0xf8,0x1,0x89,0x4d,0x31,0x97,0x11,0x34,0x14, + 0x6b,0x1,0xd1,0x8a,0x12,0x48,0x36,0xa8,0x58,0x5,0x94,0xa2,0x4,0xea,0x5e,0xa2, + 0x35,0x87,0x85,0xd7,0x49,0x92,0x60,0xd,0x95,0x4c,0xcb,0x28,0x34,0x66,0xe2,0xb3, + 0x24,0x81,0xd,0x7,0x23,0x84,0xc4,0xe6,0x3d,0x76,0x3e,0x9f,0x25,0x89,0xa4,0x28, + 0x32,0x20,0xe,0x81,0x17,0x41,0xc,0xb0,0x1b,0x19,0x2,0x48,0x94,0xa,0xa2,0x91, + 0x20,0x64,0xcf,0x1,0x59,0x4f,0xe5,0xb4,0x80,0xe1,0x69,0x7,0xeb,0x3d,0x99,0xbe, + 0x45,0x4b,0x9f,0x94,0xad,0xa4,0x7f,0xc2,0xc,0x85,0xbd,0xeb,0x93,0x4,0x8e,0xb0, + 0x34,0x3,0xfa,0x36,0x98,0x80,0xc8,0x23,0xe2,0x46,0x1e,0xb4,0x4f,0xbb,0x3b,0x88, + 0x5f,0xe9,0x98,0xa5,0xad,0xc2,0x2c,0x5c,0xd2,0xf4,0x98,0xdb,0xc7,0x37,0xc2,0x50, + 0x5,0xd9,0x95,0xd3,0x1e,0x40,0xd0,0x2e,0x62,0x73,0xf2,0x1,0xc4,0xd6,0xda,0x7e, + 0xdd,0x8f,0x92,0xf8,0x76,0x95,0x48,0xc8,0x6b,0xbc,0xed,0xa0,0x23,0x19,0xde,0xa1, + 0xa3,0x53,0xea,0xf8,0x12,0x36,0x86,0xdf,0x6e,0x93,0x8b,0x1a,0x4c,0xae,0x12,0x1, + 0x60,0x59,0x47,0xce,0x55,0x36,0xfb,0x1,0xea,0xdf,0xd2,0xf3,0x17,0xff,0xa2,0xcb, + 0x76,0xe4,0x78,0xe3,0x1d,0x98,0x31,0xa,0xea,0xbe,0x1e,0xf2,0xa4,0x36,0x7c,0xa0, + 0xdc,0x2,0xdb,0x90,0xf6,0x9e,0xdf,0x10,0x80,0xa6,0x45,0x8b,0xc4,0x4a,0x98,0x95, + 0x8a,0x20,0xc3,0x3a,0xaa,0x4,0xb5,0xf,0xf2,0x3d,0x46,0xd4,0xcf,0xa7,0xeb,0xe4, + 0x61,0x32,0xd0,0x95,0xb0,0xa6,0x9,0x40,0x2f,0x81,0x86,0xe5,0x53,0xbc,0xd3,0xc8, + 0xee,0x89,0xfc,0xe3,0x1d,0x3d,0x3a,0xf5,0xc8,0xde,0x72,0x3f,0xad,0xc7,0xab,0xda, + 0x39,0x74,0x33,0xfb,0x36,0x1a,0x74,0x30,0x26,0xb6,0xd9,0xe0,0xd4,0x74,0xb9,0xbc, + 0xbb,0x9a,0x9d,0xcf,0x3e,0xcd,0xb0,0x6e,0xd3,0x86,0x77,0x87,0x58,0x1d,0x22,0xee, + 0x55,0x9f,0x9f,0xe5,0xed,0x97,0x92,0x91,0x81,0xed,0xf3,0xf7,0x77,0xeb,0xf5,0x7e, + 0xe6,0xde,0x66,0xcf,0x86,0xa4,0x5c,0x2c,0x62,0x67,0xd3,0x66,0xb9,0xc6,0x69,0xa2, + 0x6f,0xe9,0x66,0x12,0xe,0xbb,0xae,0xca,0x0,0x98,0x5b,0xe,0x42,0x51,0xa6,0x4b, + 0xf,0x93,0x49,0x1a,0xae,0x68,0xa0,0xe9,0x35,0x76,0x69,0xff,0xa8,0x17,0x19,0xd6, + 0x36,0xe4,0x3d,0x61,0xe0,0x9,0x15,0x5c,0x72,0x38,0xd1,0xd0,0x23,0x28,0xfd,0x20, + 0x44,0x65,0x48,0xcc,0x3f,0x80,0x70,0xec,0x12,0x7c,0x95,0xcf,0xc4,0x40,0xf,0x20, + 0xde,0xd8,0x5c,0x62,0x5,0x3c,0xd,0xda,0xee,0x81,0xb4,0x2a,0x2a,0xc3,0x9a,0xd7, + 0xd2,0x8e,0xa,0x56,0x70,0x8c,0x6d,0xe7,0x80,0x25,0x93,0xaa,0x18,0x23,0x95,0x1e, + 0xa8,0x1d,0x1c,0x63,0x3b,0x95,0x64,0xd5,0x81,0xfb,0x42,0x9e,0x6d,0x87,0x88,0x6f, + 0x7b,0x9c,0xd0,0x82,0xee,0x28,0xb0,0x76,0x53,0x88,0x1a,0x3b,0x10,0x47,0x39,0x96, + 0xa6,0x82,0x8,0x73,0x51,0x8f,0x35,0xf7,0x3e,0xd6,0xb3,0x2c,0xce,0x75,0x7f,0xd8, + 0xa0,0x96,0xce,0x77,0xe3,0x7f,0x99,0xce,0x57,0xb7,0x57,0x90,0xb9,0xf3,0x1b,0x2e, + 0x66,0x3f,0x8a,0xe1,0x44,0xa1,0x4e,0x6f,0xf,0x6,0x26,0x2f,0xab,0x65,0x5a,0x33, + 0x3b,0xd5,0x69,0x3c,0x18,0x4,0x36,0xe5,0x10,0x3,0x1,0xc,0xd7,0x61,0xa4,0x36, + 0x1b,0x9e,0x21,0x18,0xe,0xa9,0x15,0x12,0xcb,0xd9,0xc5,0xba,0x93,0x2d,0x8c,0x68, + 0x41,0xde,0xd1,0xc6,0xec,0xd5,0x71,0xf8,0x92,0xe0,0x36,0x52,0x7a,0x97,0xc6,0x64, + 0x13,0x18,0x82,0xf1,0x50,0x31,0x51,0xb4,0xcc,0xe6,0x6a,0xc2,0x4a,0x1a,0xb,0xda, + 0xfb,0x50,0x44,0x9e,0x14,0x3b,0xc6,0xbc,0xfc,0xb6,0x97,0xa8,0xc3,0xa,0x4c,0xe8, + 0x68,0x63,0xd8,0xb3,0x29,0xaa,0x81,0x4d,0xb1,0x63,0x35,0x30,0xe2,0xb7,0xd9,0x72, + 0xb1,0x7b,0x9b,0x94,0x9b,0x4c,0xb5,0x5c,0xdc,0xdd,0x4c,0x77,0x70,0xd5,0xf5,0x64, + 0xf9,0xeb,0x6c,0x99,0xdf,0x92,0x7f,0x9f,0xae,0xd6,0x93,0xe5,0xba,0x7,0xb9,0x9e, + 0x4f,0x7b,0xd7,0xb3,0x9b,0x69,0xaf,0xdf,0x27,0xda,0x70,0x7f,0xf9,0x34,0x5f,0xcd, + 0xdf,0xcf,0xaf,0x78,0x91,0x7e,0x5e,0xcd,0x36,0x28,0xe8,0x97,0xc5,0xa7,0xd9,0xf2, + 0xf2,0x6a,0xf1,0xb9,0xb9,0x5f,0x6e,0xd,0x7d,0x2d,0x64,0xc7,0x7e,0x72,0xb1,0xb1, + 0x62,0x49,0x70,0x88,0x9e,0xe2,0x93,0x44,0xc7,0xa9,0xa2,0x84,0x0,0x1b,0x32,0xc5, + 0x96,0xc4,0x13,0x84,0xa6,0x66,0x39,0xc,0x2f,0xa0,0x60,0xc5,0xca,0x59,0x61,0xe4, + 0x30,0x10,0x6f,0xf0,0x54,0x11,0xa1,0x6b,0x19,0x80,0xe9,0x17,0x16,0x94,0x29,0x60, + 0x58,0x3a,0x92,0xdd,0x18,0x3a,0x1d,0x8b,0x91,0x52,0xaa,0x64,0x98,0xc6,0x96,0x4d, + 0x47,0x31,0xac,0xa1,0x24,0x91,0x5a,0xe8,0xa9,0xa1,0x6b,0x5d,0x69,0xa1,0x46,0xa7, + 0x9a,0x25,0x52,0x61,0xce,0x14,0xa3,0x72,0x3b,0xc6,0xfa,0x6d,0x1f,0x71,0x1a,0x68, + 0xff,0x78,0xc2,0x16,0xc4,0x49,0xaa,0xec,0x57,0x7d,0xfc,0x9d,0x38,0x1f,0x4d,0x9c, + 0xf,0xc1,0xfb,0xb6,0xdf,0xe9,0x77,0xbc,0xf,0xe3,0x7d,0x93,0x97,0x5b,0x29,0xbf, + 0xc1,0xcb,0x83,0xf0,0x2,0x5a,0xf0,0xf2,0x10,0x90,0x6f,0xf0,0x82,0x1,0x7a,0x67, + 0xb,0x5e,0x3e,0x85,0xc6,0x6d,0x58,0xb1,0xd8,0x16,0xcc,0x5c,0x0,0x4b,0x6e,0x2e, + 0xc0,0x25,0x3b,0x33,0x33,0x3,0x8a,0x81,0xf5,0x3d,0x76,0x1e,0x1c,0xee,0xb7,0x41, + 0x81,0xd6,0x53,0xae,0x77,0x8a,0xc2,0x2e,0xdf,0x77,0x50,0x99,0xde,0x8c,0x6f,0x6c, + 0x50,0xa4,0x76,0xfb,0xb6,0xa9,0xd,0x8d,0x70,0xc8,0x9a,0x4b,0xea,0x2e,0x74,0xab, + 0x83,0x94,0xc0,0x1e,0xbd,0xee,0xa2,0xad,0x86,0x8a,0xb0,0xd7,0xa7,0x3f,0x6a,0x3b, + 0xa0,0x44,0xaf,0x80,0x73,0x66,0x43,0x53,0xa4,0xdf,0x19,0xb6,0x95,0x85,0x71,0x56, + 0x49,0xe8,0x15,0x31,0x85,0x10,0x75,0xc5,0xb8,0xa5,0xef,0x60,0x92,0x81,0x6,0xa1, + 0xe9,0xcd,0xa1,0xf3,0x89,0xdf,0x6d,0x22,0x4c,0x33,0x40,0x29,0x1,0x73,0xb0,0x78, + 0x94,0xa5,0xf,0x1c,0xaa,0x9b,0x33,0x51,0x28,0xfa,0xb6,0x95,0x84,0x51,0x5e,0xc2, + 0x2c,0xa3,0xfd,0x2e,0x45,0x65,0x4b,0x18,0xb4,0x51,0xd9,0x83,0x31,0x98,0x11,0x60, + 0xab,0x65,0xf7,0x6a,0x3,0xc4,0x68,0xa0,0x84,0x59,0x33,0xa2,0xee,0x68,0x52,0xd0, + 0x3,0xa3,0x71,0xfc,0x52,0x19,0x5d,0xb3,0xa,0x8a,0x51,0x1,0xc9,0xe1,0x1,0xe3, + 0xa2,0x28,0xa1,0xd9,0xc4,0x74,0x52,0x65,0x53,0xad,0x86,0x2,0x66,0xa4,0xcc,0x8f, + 0xa7,0x3e,0x74,0x1,0x6a,0xc7,0xf2,0xae,0x3,0x16,0x83,0x2e,0x61,0xcd,0xe4,0x5a, + 0x58,0x81,0x4,0x68,0xd4,0xc,0x2d,0xbb,0x12,0x5d,0xd9,0x98,0x8a,0x29,0xdc,0x5b, + 0x20,0x96,0x91,0x54,0x2b,0xb5,0x2c,0xf0,0xbf,0xbd,0x4c,0xdf,0x7a,0x5a,0x25,0x15, + 0x30,0x1b,0x75,0x71,0x5a,0x7c,0x17,0x45,0x1f,0x65,0xcf,0xfc,0x11,0x86,0xf7,0x24, + 0xd8,0x4d,0x2,0xd6,0xc2,0x78,0x2d,0xbd,0xfe,0x1,0x8,0xb8,0x40,0xbf,0x56,0x52, + 0x68,0xf5,0x42,0xe8,0x3f,0x96,0x4b,0xd4,0x31,0x5c,0x92,0x67,0xb2,0x65,0xe8,0x79, + 0x59,0x88,0xb7,0x5d,0xc2,0xad,0x27,0xdf,0x9e,0xc4,0x47,0x40,0x6,0xb0,0xda,0x18, + 0x31,0x50,0xbe,0xb2,0xe7,0x24,0x30,0x34,0xcb,0x1b,0x1f,0x41,0xf4,0x5e,0x61,0x5e, + 0xbc,0x4e,0x1e,0x3,0x9b,0xcd,0xfc,0x50,0x7b,0xd,0x92,0x39,0xd8,0x3a,0x11,0xea, + 0x9f,0xa1,0xf6,0x0,0xd4,0x97,0x9d,0x15,0xcf,0xcb,0xd6,0xba,0x7f,0xdb,0x5c,0x6, + 0x74,0x41,0x7f,0x1,0x6b,0x75,0x7a,0x6f,0xdd,0xc8,0xa8,0xca,0x32,0x40,0xa3,0x68, + 0x85,0xa6,0x37,0x11,0x92,0x73,0x7,0xf2,0xb3,0xe9,0xfa,0x6d,0xfb,0xb0,0xc9,0x80, + 0xfc,0xd7,0x6,0x4c,0xb6,0xbd,0xa7,0xeb,0x62,0x34,0xf9,0xba,0x1b,0x6c,0xbe,0xce, + 0xf3,0xd0,0xb2,0x9e,0xdd,0xdb,0xec,0x7a,0xb0,0xf8,0x4f,0x8b,0xec,0xf5,0xe4,0xec, + 0x5b,0x24,0x3d,0x85,0xbb,0xa1,0xab,0xf4,0xd8,0xdf,0x5f,0x30,0x4c,0xe8,0xd9,0xee, + 0xfb,0xb2,0x67,0xb1,0x29,0x9b,0xd,0x9e,0xc5,0xfc,0xc7,0xb6,0xf1,0x4e,0x78,0xd8, + 0x84,0x89,0x7f,0x6d,0x8a,0xfb,0x46,0x58,0xef,0xc,0x96,0x7a,0x9d,0x3,0x11,0x54, + 0xe5,0xb3,0xe1,0x5f,0x9,0x2d,0x1b,0xe7,0x4,0x6c,0x49,0x65,0xf9,0x39,0x41,0xad, + 0x5c,0x34,0x3a,0xf9,0x30,0x60,0x24,0x43,0x78,0x8f,0xf9,0x15,0x40,0xa8,0x8,0x52, + 0xa6,0x8c,0x15,0x7a,0x27,0x7c,0xd5,0xfa,0x26,0xec,0x18,0xeb,0x54,0x5c,0x74,0x8b, + 0x98,0x2e,0xbb,0x35,0xe6,0x65,0x41,0x71,0xf5,0x25,0xc6,0x24,0x30,0x26,0x28,0x42, + 0xc6,0xe0,0x4e,0x24,0x2c,0x51,0x9c,0x6c,0x28,0x2e,0x41,0xa,0x8a,0xcb,0xd7,0x89, + 0xe2,0xd2,0xc3,0x26,0x3,0xf8,0x57,0xfb,0x42,0xd3,0x5e,0xb6,0x14,0x26,0xfb,0xa3, + 0xc9,0xd7,0x5,0xc5,0xc9,0x72,0x26,0x4c,0xd,0xa3,0x3,0xc5,0x37,0x71,0x78,0xcd, + 0xaa,0xbd,0xc6,0xe8,0x8c,0x8c,0xc8,0x64,0x1c,0xc2,0x84,0xd5,0xf4,0xd9,0x13,0x69, + 0x29,0xbb,0x8c,0xae,0x17,0x2d,0x7b,0xa8,0xa5,0x32,0xe7,0xe9,0x80,0x4f,0x2b,0x60, + 0x18,0x4a,0xa4,0x9f,0x5,0xda,0x9a,0xa,0x94,0x4c,0xb5,0xab,0xae,0x5d,0xc1,0xfd, + 0x6e,0x15,0x2c,0x26,0xf3,0xbf,0x9a,0xcf,0x1e,0xb9,0xe0,0x43,0x64,0xff,0xd6,0x62, + 0x8f,0x4d,0x89,0x4f,0x50,0x21,0x8d,0x8c,0xf2,0xd5,0xde,0x7d,0xab,0x23,0x32,0xe1, + 0xd,0x17,0xd7,0xee,0xf6,0x21,0x68,0xeb,0x1f,0xa3,0x9c,0x1d,0xea,0x9a,0xeb,0x71, + 0xcd,0xb6,0x6b,0x6e,0x43,0xb7,0x72,0xa0,0x57,0xe3,0x18,0xbd,0x90,0xb6,0x92,0x9e, + 0x47,0x9a,0x5b,0x98,0x64,0xa0,0xc,0x52,0x47,0x11,0x12,0x25,0x50,0x96,0x12,0xb0, + 0x84,0xd3,0x21,0xe5,0x11,0x48,0xb0,0x5c,0xde,0x6d,0x9c,0x17,0xd4,0x81,0x7d,0xc5, + 0x58,0x49,0xf0,0x4,0x19,0x23,0xe9,0xd9,0xa3,0x1b,0x1b,0x12,0x3a,0x81,0x14,0xb6, + 0x3e,0x11,0x19,0x48,0xf1,0xcc,0x1c,0x4c,0x71,0x1d,0x2d,0x9d,0xc8,0x29,0xd,0x74, + 0x1d,0x25,0x12,0x89,0xd0,0xc5,0x81,0xca,0xa4,0xf2,0xf0,0x14,0x28,0xb4,0x72,0x46, + 0x85,0x44,0xda,0xd0,0x0,0xc2,0x23,0x50,0xbd,0xb,0xb5,0xaa,0x86,0x6c,0xa8,0x55, + 0x35,0x34,0xa9,0x55,0x2,0x6a,0xba,0x32,0x5,0x54,0xa5,0x28,0x5f,0xd4,0x59,0xaf, + 0x32,0xce,0x79,0x95,0xda,0x5,0x2b,0x5d,0xf6,0x9e,0xeb,0x0,0x24,0x70,0x77,0x8e, + 0x1c,0x19,0x4,0x77,0x37,0xee,0xcc,0xe6,0xda,0x68,0x1b,0x8a,0xf9,0x5,0x66,0x89, + 0xd9,0x10,0xb,0x2c,0x4,0x10,0x56,0xc4,0x5e,0x53,0x22,0x8b,0xa9,0x4c,0x1a,0x33, + 0xe9,0x50,0xea,0x99,0x95,0x98,0xbe,0x4b,0x53,0xa3,0x7d,0x6b,0x71,0xbe,0x6d,0xef, + 0xb7,0x60,0xec,0xfd,0xfb,0x6d,0x4e,0x9f,0xc4,0x3f,0xf7,0xeb,0x5d,0x3,0x96,0x4, + 0xbf,0x15,0x75,0x38,0xb1,0xe,0x50,0x3b,0xbf,0x7e,0xf6,0xea,0x51,0xca,0xd9,0x13, + 0xc4,0x8f,0x8e,0xb7,0x39,0xb0,0x2f,0x42,0xa4,0x33,0x80,0x2,0xe1,0xef,0x95,0xf5, + 0x26,0x27,0x47,0xa9,0xf4,0x65,0xd8,0xe,0xc8,0x38,0x8c,0x81,0x78,0x8c,0xfc,0x54, + 0x80,0x76,0x6,0xfa,0x4f,0x1,0x63,0xa5,0x1f,0xa6,0xb1,0xa5,0x94,0xc5,0x16,0xa, + 0xe1,0xe6,0x1,0x4d,0x2a,0x1f,0x34,0x7d,0x1f,0x40,0x13,0xc,0x7,0x1,0x28,0x65, + 0xe6,0x23,0x8,0x41,0x1d,0x19,0x4d,0x72,0x90,0x7a,0x22,0xa9,0x68,0x96,0x29,0x8a, + 0x7a,0xcc,0x8a,0x21,0x32,0x1a,0x9b,0x74,0xbb,0x60,0x42,0x24,0x28,0x84,0x1c,0xe5, + 0x6,0x57,0x42,0xa3,0xa3,0x57,0x9a,0xaa,0x64,0x64,0x68,0xb,0xdc,0x2c,0x40,0xa0, + 0xde,0x8f,0xe9,0xe6,0x66,0xb3,0x44,0x56,0x9e,0x6c,0xda,0x40,0x12,0x35,0x6a,0xa6, + 0xf0,0xba,0x6,0x26,0x9,0x8a,0xce,0xc2,0xae,0xcd,0xef,0xa2,0xd5,0x90,0xd4,0xce, + 0xf4,0x75,0xaf,0xa2,0x4b,0xfc,0x94,0x56,0x62,0x5a,0x1c,0x99,0x2,0xe5,0x27,0x35, + 0x4,0x36,0x78,0xa,0xbd,0x62,0xfc,0x6,0x2c,0x45,0xe6,0x89,0x2e,0xaa,0xd0,0xcd, + 0x33,0x71,0xa9,0x6,0xf3,0x44,0x5b,0x62,0xa4,0x3,0x76,0xc8,0x7b,0x5b,0x40,0x3b, + 0x34,0x33,0xaf,0x33,0x3a,0x1f,0xca,0x35,0xc2,0x5e,0x1d,0xb0,0x21,0xd9,0x2,0xf4, + 0x6e,0x70,0x31,0xb7,0x4d,0x13,0x60,0xdc,0x3f,0xb1,0x69,0x32,0xcc,0xe,0x72,0x17, + 0x3b,0x1c,0xa6,0xc,0x1d,0xc4,0xe,0x8f,0x21,0x7c,0x17,0xd2,0xb7,0xb2,0x78,0x70, + 0xc7,0xe7,0x74,0xe,0x22,0x30,0xa6,0x28,0x77,0xb,0x4c,0xc5,0x30,0x18,0x97,0x23, + 0x28,0x38,0x46,0x20,0x7a,0x30,0x48,0x69,0xef,0x6b,0xb2,0xaf,0x81,0x1e,0x94,0x25, + 0xd8,0x2e,0x91,0x3d,0x85,0xb6,0x76,0x29,0x53,0xce,0xb,0x63,0x33,0xd9,0x7b,0xe3, + 0xa3,0x26,0x5d,0x6a,0x1a,0x1c,0x9a,0xa0,0x60,0x4d,0xa2,0x4a,0xa3,0x2,0xa9,0x86, + 0xfb,0xe,0x14,0x9,0x17,0xc7,0x94,0xfb,0x52,0x25,0x57,0xf,0xf7,0x27,0xc6,0xe9, + 0x49,0xe3,0xe,0xf2,0xd5,0xa8,0x44,0xf6,0x34,0xfc,0xf9,0x32,0x6c,0x4,0x20,0xda, + 0x96,0xee,0x55,0x7,0x4a,0x84,0xaf,0xa0,0xdd,0x81,0xb0,0xba,0x76,0x2c,0xcf,0x3, + 0xc4,0xe8,0xfc,0xb6,0xa0,0x93,0x22,0x2d,0xa1,0xe6,0x78,0xdb,0xeb,0x35,0xf0,0x37, + 0xc9,0x3c,0x8f,0x2e,0xb,0x7a,0x6e,0x58,0x26,0xa4,0x29,0x28,0x67,0xeb,0xc0,0x15, + 0xb3,0xe7,0xbb,0xa9,0xbe,0xcb,0x64,0x6a,0x85,0xee,0x21,0xa5,0x3,0xb6,0xe8,0x7b, + 0xdb,0x3,0x26,0x3c,0x7,0x9b,0x14,0x52,0x86,0xa5,0x63,0xb7,0x1c,0x2a,0x95,0xd7, + 0x92,0xa1,0x83,0xbc,0x1b,0x5a,0xca,0xa1,0xfd,0x23,0xdc,0x6f,0xaf,0xad,0x56,0xab, + 0xd,0xa3,0xad,0x8c,0xe2,0x94,0xec,0xd1,0x54,0xd6,0x7f,0x84,0x76,0xf3,0x23,0xee, + 0x9,0x9d,0x8c,0x28,0xca,0x3c,0xd7,0xf1,0x26,0x53,0x41,0x1e,0x47,0x59,0x7c,0x52, + 0xb1,0x9,0x52,0x61,0xb7,0x60,0x4d,0x2e,0x29,0x8a,0x8a,0x31,0xa9,0x24,0x97,0x71, + 0xde,0x16,0x7,0x17,0xbe,0xa6,0x7a,0x31,0x4c,0x88,0x2d,0xe,0xbe,0x2d,0xf9,0x79, + 0x0,0x52,0x9d,0x60,0x9c,0xaf,0x3,0xa7,0xb3,0x66,0x2c,0xff,0xe5,0x4d,0x59,0xd5, + 0xeb,0x9f,0x75,0x41,0x64,0x71,0xe,0xbf,0x5e,0x10,0xc5,0x8f,0xb6,0x43,0xe0,0xe8, + 0xa1,0x5,0xc1,0x86,0x12,0x6c,0xf1,0x1d,0xc9,0x2f,0xe9,0x6b,0x72,0x1,0x26,0x4b, + 0x71,0xa8,0x3b,0x2d,0x8,0x6d,0xb6,0x58,0x94,0x53,0x6b,0x16,0x84,0x59,0x17,0x45, + 0x70,0xb1,0x59,0x10,0xa8,0x6e,0xca,0xb9,0x81,0xd0,0x6b,0xa,0xa8,0x7a,0x59,0x94, + 0x2a,0x1a,0x8c,0xee,0xf6,0x3f,0x45,0xef,0x60,0x70,0x26,0xbd,0xaf,0xfd,0x42,0xa1, + 0x4,0xc3,0x7b,0xa8,0x52,0x27,0x47,0xc5,0xd4,0x32,0xe7,0xa6,0xbf,0x7,0x7c,0xd1, + 0xc0,0x5e,0x59,0xec,0x24,0x6d,0x0,0xbe,0xb6,0x9,0x29,0x64,0x92,0x14,0xa9,0xf3, + 0x84,0xc7,0x5a,0xf3,0x8,0x88,0xaf,0x85,0x26,0x20,0x26,0xc1,0x40,0x9c,0xd1,0x26, + 0x3b,0x16,0xf2,0x16,0x2a,0xfa,0x58,0x1b,0x4a,0x43,0xe6,0xb0,0x70,0xd3,0x57,0x9, + 0x10,0xea,0x7,0x15,0x8f,0xc8,0xf0,0x63,0xc7,0x63,0x6d,0xf9,0xdd,0xe4,0x8,0xc1, + 0xc7,0x8e,0x44,0x30,0x9e,0xa0,0x9c,0x93,0x97,0x7f,0xa5,0xe0,0xb9,0xa,0x2,0x7a, + 0x7f,0x2,0x64,0x13,0x96,0x19,0x30,0x30,0x15,0xa3,0xae,0xdf,0x60,0xf9,0x86,0x48, + 0x23,0xb3,0xec,0x87,0x67,0x64,0x60,0xb0,0xb,0x5f,0x8f,0x26,0x62,0x34,0x2c,0x38, + 0x4,0x8b,0x12,0x3b,0x42,0x1a,0x35,0x93,0x6a,0x8,0xcb,0x59,0x5,0xed,0xe4,0xde, + 0x65,0x1f,0x4b,0x9a,0x7f,0x6d,0xb9,0xb6,0x6d,0x64,0xf7,0xfe,0xee,0x5d,0x50,0x4c, + 0xea,0x77,0x75,0x7d,0xc2,0xa6,0xc8,0x7d,0x36,0x23,0xeb,0x50,0x57,0x8c,0x5f,0xf3, + 0x30,0x55,0x1a,0x7f,0x37,0x4f,0x93,0xcf,0x9a,0xc9,0x1a,0xf,0xa6,0x76,0x3f,0x64, + 0xfc,0x98,0x12,0x7f,0xe9,0x69,0xe2,0xaf,0xc1,0x72,0xb1,0x3c,0xdd,0x5a,0xa4,0x91, + 0xa4,0xb5,0x68,0x97,0x8c,0x3,0xce,0x4b,0xd6,0xae,0x6c,0x33,0xb1,0x77,0x1b,0xab, + 0xbf,0x27,0x1c,0x59,0x87,0xc8,0x1b,0xef,0xce,0x77,0xb3,0x66,0x8f,0x8c,0x31,0xdf, + 0xc7,0xf,0x2a,0x1c,0xce,0xf,0x72,0x80,0x1f,0xe4,0x0,0x3f,0xa8,0x4d,0x7e,0x50, + 0x43,0xfc,0xa0,0xb7,0xf9,0x41,0xb7,0xfc,0xa0,0x37,0xf9,0x41,0xf,0xf0,0x83,0xde, + 0xe4,0x7,0x35,0xc4,0xf,0x6a,0x80,0x1f,0xe4,0x36,0x3f,0xc8,0xdf,0xf9,0xe1,0x28, + 0x7e,0x80,0x12,0x5f,0x73,0x44,0x7d,0x32,0xeb,0xc7,0xe3,0x88,0xf5,0x60,0xb5,0xb2, + 0xf1,0xa9,0xe,0xaf,0x36,0x89,0xbe,0x4e,0x73,0x1b,0x5b,0x9b,0x12,0x64,0x83,0x65, + 0x56,0x83,0xe4,0x25,0x61,0xf9,0x5a,0xf2,0xb7,0x6b,0xdd,0x7d,0xb8,0xc8,0x19,0x6c, + 0x8c,0x31,0xc1,0x6c,0xf4,0x9,0xe0,0x34,0x8c,0x57,0x40,0x1c,0x74,0x66,0x1d,0x9, + 0xf1,0x56,0xc7,0x38,0xb2,0x35,0xaa,0x6d,0x68,0x51,0x4d,0xf5,0x3c,0x3b,0x51,0x63, + 0x4b,0x57,0xd2,0xd5,0xab,0xe4,0x45,0xb1,0x4a,0xf5,0x62,0x2,0xd6,0x2c,0x66,0x48, + 0x4b,0xee,0xb,0x8e,0x8c,0xd,0x61,0x78,0xd9,0x10,0x6,0x88,0x25,0x13,0x4e,0x76, + 0xf1,0x58,0xfe,0x9b,0x12,0x32,0x6b,0x62,0xf3,0xaa,0x25,0x36,0xdf,0x10,0x65,0x7e, + 0x3a,0x11,0x65,0x48,0xa4,0x5b,0xf4,0x1,0x62,0xae,0x9,0x3c,0x8f,0x24,0x31,0x95, + 0x68,0x18,0x21,0x8d,0xb8,0x61,0x84,0x3a,0x75,0x2d,0xb6,0x93,0x35,0xd,0x13,0xb5, + 0x8,0x48,0xee,0xd7,0x8,0xb5,0xe,0xdb,0x7e,0x8b,0x26,0x82,0xa2,0x9,0x46,0xb5, + 0xb8,0xcc,0x3f,0xb3,0x47,0xbf,0x43,0xff,0xdb,0x74,0xd5,0x2c,0x54,0x3a,0x86,0x68, + 0x60,0xd,0x44,0xae,0x58,0x93,0xa3,0xc8,0xdf,0xef,0xca,0x95,0x1d,0x8c,0x4e,0x47, + 0x3d,0x50,0xc,0xab,0xf8,0xe2,0x98,0xf3,0x51,0xc2,0x5a,0xdd,0xe3,0xdc,0x74,0x47, + 0xf8,0x8b,0x9e,0xcd,0xb9,0xb9,0x23,0xfc,0xd3,0xe0,0xcb,0x66,0x5,0xc3,0xb5,0x51, + 0x99,0x4,0x48,0xff,0xd5,0x30,0xd3,0x5c,0xb5,0xf4,0xcd,0xcb,0x8c,0xf9,0x9c,0x49, + 0x9a,0x33,0x3e,0x53,0x48,0xc5,0x8b,0x26,0xa6,0x43,0xa7,0x49,0xe,0x2a,0x79,0xd9, + 0x64,0x6e,0x7a,0x59,0x67,0x76,0xa6,0x5f,0xb9,0x5d,0x4a,0xf3,0xe4,0x63,0x75,0xf2, + 0x67,0x6c,0x1c,0xf2,0x6d,0x27,0xf9,0x77,0xb1,0xc0,0xb2,0x18,0x9d,0x4b,0xa9,0xa5, + 0x8c,0x4,0xd5,0x43,0x6f,0x13,0x51,0xd3,0xd5,0xbb,0xfe,0x44,0x8b,0x30,0xce,0x40, + 0xec,0xac,0xff,0x31,0xbb,0x7b,0x22,0x70,0x8f,0xcc,0x4a,0xd0,0xdb,0x27,0x66,0x8e, + 0xca,0x4a,0x8,0x75,0x5a,0xc2,0xd3,0x45,0x8d,0xb6,0x4d,0x92,0x7b,0x3d,0xe5,0x74, + 0xf,0x84,0x18,0x6c,0x76,0x3c,0x48,0xa6,0x6e,0xeb,0xe,0xd8,0x5,0x58,0x29,0x94, + 0x98,0x13,0x5e,0x64,0x21,0xd0,0x7f,0x16,0x9c,0xcc,0x1e,0x6f,0xa9,0x7c,0xe3,0x8b, + 0xb6,0x2e,0x7a,0x97,0x3c,0xde,0x4a,0xc3,0xda,0xcf,0xd9,0x0,0xca,0xd2,0xcd,0x17, + 0x2b,0xa6,0xa3,0xcb,0x2e,0x41,0xc0,0x1f,0x97,0x48,0x40,0x4f,0x5c,0x3f,0x8d,0x40, + 0x1a,0xeb,0x64,0xd9,0x85,0xa2,0x47,0x3e,0xb0,0x96,0x72,0x37,0x96,0x32,0x1a,0xdd, + 0x8e,0xba,0xc,0x46,0x77,0xb3,0xa3,0x6f,0xc4,0x30,0xc5,0xb5,0xc3,0xc1,0x36,0xae, + 0xb6,0x3d,0xf,0x8e,0xa5,0x61,0xf,0xb,0xa9,0xb0,0x58,0x3a,0x4f,0xbc,0xef,0x91, + 0x3a,0xda,0xfe,0x34,0xf9,0x2e,0x91,0xe7,0x44,0xad,0x49,0x87,0x43,0x41,0x23,0x60, + 0xf8,0x4c,0x2e,0x2d,0x90,0xee,0xaa,0x14,0xde,0xef,0x80,0xe9,0x10,0x1e,0x56,0xae, + 0xe,0x90,0x68,0x97,0x43,0x1c,0xcc,0x6f,0xea,0x7,0x48,0x4c,0x68,0xbc,0xac,0x65, + 0x80,0x24,0x41,0xdb,0x0,0x49,0x3e,0xad,0x57,0x43,0x49,0x1c,0x12,0xaf,0xf6,0x45, + 0x27,0x5,0xac,0x1d,0xcd,0xbb,0x3e,0x74,0x70,0xe0,0x35,0x70,0x88,0x16,0xc2,0x3d, + 0x51,0x8c,0xcd,0xac,0x81,0xbe,0x79,0x6d,0x7c,0x51,0x9c,0x68,0x30,0xca,0x17,0x84, + 0xe1,0x61,0xdd,0xda,0xbc,0x4e,0x5e,0x80,0x1c,0xa6,0xf2,0x3c,0xdf,0x1,0xcd,0x80, + 0x1f,0x1b,0x93,0xbb,0x13,0x95,0xb3,0x99,0xf,0x65,0xc3,0xa,0xdd,0xfb,0x6,0x5c, + 0x76,0xb,0xc,0xdc,0xf8,0x9a,0x6b,0x3,0x43,0x8d,0x10,0xe5,0xbe,0x94,0x3d,0x40, + 0x49,0x58,0xf,0xe4,0x35,0x43,0xc4,0x39,0x2b,0xa0,0xe8,0x94,0x6f,0x6a,0xfc,0x1a, + 0x36,0x87,0x40,0x7,0xf2,0x9a,0x8d,0x97,0x3,0xdb,0xf6,0xcf,0xe8,0x0,0x2a,0xb4, + 0xdb,0xfe,0x2,0xfd,0xc4,0x73,0x1e,0x5c,0x6f,0x75,0x10,0x81,0xec,0xa5,0xab,0x61, + 0x52,0xfc,0x9a,0xaa,0x1b,0x6d,0xd1,0xed,0x4e,0x3a,0xdf,0xe0,0x8c,0x9d,0xb,0xf4, + 0x30,0xe,0xa,0x2f,0xc7,0x41,0xe6,0x77,0xe,0xfa,0x59,0xe7,0x3c,0xb8,0xde,0xee, + 0x19,0x39,0x48,0x89,0x1f,0x85,0x83,0x18,0x25,0x7d,0x29,0xe,0xa,0xbf,0x73,0xd0, + 0xcf,0x3a,0xe7,0xa1,0xf5,0xee,0x55,0xb7,0x7e,0x72,0xe,0x1a,0xd0,0x9d,0xbe,0x13, + 0x7,0xd,0xec,0x86,0xcf,0xc4,0x41,0x4a,0xfd,0x73,0x71,0xd0,0xfd,0x6e,0x84,0xa7, + 0x4b,0x5,0x77,0xfe,0x7,0xb0,0xed,0xf6,0x1f,0x29,0x60,0xb9,0x37,0xd8,0xe6,0x61, + 0xe3,0x48,0x81,0xd2,0x3c,0x45,0xdc,0x3b,0x52,0xc0,0xba,0x28,0xc2,0x96,0xa6,0x5d, + 0x82,0x98,0x4d,0xd3,0xae,0x86,0x6e,0x1c,0x29,0xa8,0xa1,0xe5,0x91,0x82,0xba,0x8f, + 0x12,0x54,0x8f,0x65,0xe0,0x48,0xc1,0x40,0xd6,0xb7,0xef,0xb4,0xa7,0xdd,0xf6,0xdb, + 0x2e,0xf3,0xcd,0xe9,0x42,0x94,0xec,0x8e,0x8e,0xea,0xc6,0x7c,0xf3,0x3c,0x5f,0xca, + 0x83,0x73,0x8e,0x7,0x71,0x82,0xb4,0xb9,0xca,0x9e,0x55,0x18,0xdb,0x83,0x2,0xa4, + 0xc3,0x67,0xf,0x99,0x83,0xb5,0xe5,0x19,0x67,0x94,0x85,0x69,0xb0,0xd1,0x8b,0xe8, + 0x99,0xc5,0xe4,0x81,0x9d,0xe4,0x52,0xd5,0x3c,0x7c,0xf,0x16,0x66,0x6e,0x8,0x80, + 0xf4,0xe4,0xf2,0x48,0x12,0x43,0x14,0x3e,0x18,0x3f,0xf2,0x3c,0x25,0x2b,0xdc,0x98, + 0xbe,0x3f,0xa3,0x94,0x6,0xc4,0x56,0x29,0xb8,0x90,0x7c,0x41,0xf5,0x83,0xac,0x79, + 0x13,0x4d,0xfa,0x32,0x14,0x83,0xca,0x76,0xe4,0x7d,0x15,0x6d,0xca,0xe2,0x60,0xea, + 0x54,0xea,0x34,0xb0,0xe,0x63,0x71,0xd,0x72,0x61,0xbd,0x41,0xc1,0x8a,0x15,0xd, + 0x74,0x14,0xb0,0x5a,0xe9,0xf0,0x6d,0xfd,0x2e,0x27,0xd4,0x28,0xe4,0xc2,0x56,0x65, + 0x87,0xc1,0x93,0x30,0xac,0xa9,0xc7,0x25,0x59,0x3a,0x83,0xb1,0x11,0x32,0x4d,0x1e, + 0x3c,0xbf,0xd7,0x33,0xa,0xa1,0xf6,0x22,0x77,0xb3,0x84,0x6d,0x1f,0x36,0x91,0x81, + 0x66,0x52,0x68,0xe6,0xd3,0x6a,0x55,0xb1,0x50,0x64,0x26,0x66,0x48,0x50,0x1b,0xb1, + 0x88,0x7c,0x9a,0x29,0x62,0xca,0xa4,0x11,0x33,0xc9,0x52,0xb2,0x5f,0x10,0x7a,0x74, + 0xf5,0xbc,0xa2,0xb3,0x81,0xed,0x84,0xc,0xc1,0xf1,0x69,0x1f,0x38,0x11,0x66,0xd0, + 0x10,0xea,0x2,0x4b,0xfd,0x1,0x73,0x10,0xaf,0xda,0xda,0xba,0xa5,0xd5,0x21,0x2d, + 0x84,0x4c,0x45,0x44,0xba,0xbe,0xdf,0x6d,0x2d,0xd8,0x40,0xc,0x27,0x4b,0xd8,0x5a, + 0x76,0xfc,0x76,0xdc,0x93,0x47,0x1f,0xaf,0xdd,0x4d,0xe7,0x66,0xf,0x9d,0x47,0x65, + 0x7c,0x4d,0xe6,0x35,0x76,0x49,0xf0,0xcc,0xdd,0xe7,0xda,0x74,0xeb,0x0,0x19,0x12, + 0x9c,0x13,0xb1,0x5c,0x2f,0x59,0x69,0xcd,0xe2,0x8a,0xe5,0xca,0xa6,0x76,0x31,0xd5, + 0x49,0xe9,0x68,0x20,0x7d,0x7d,0x4b,0xcb,0x92,0x52,0x24,0xe9,0x58,0x99,0x58,0xd2, + 0x54,0xdb,0x73,0x49,0x7b,0xf5,0x0,0x3b,0xa,0x95,0x29,0xb3,0x36,0x79,0xcd,0xf9, + 0x3e,0x13,0xbd,0xd1,0xa4,0x32,0x2c,0x8f,0xf1,0x21,0xf5,0xea,0x2d,0x36,0x7a,0xc2, + 0xc0,0x15,0x18,0x4a,0xcd,0x50,0xb1,0xe2,0xf1,0x15,0xa7,0x6a,0xa2,0xf3,0x2c,0xa8, + 0x46,0xa0,0x83,0xd8,0x75,0x69,0xae,0x81,0xde,0xd1,0xdc,0xd0,0x86,0x9a,0xe6,0x44, + 0x13,0x33,0xcc,0x9d,0xbe,0xdb,0xc4,0xdd,0x4e,0x8a,0x7b,0x74,0xec,0xfc,0x7b,0x51, + 0xdc,0xde,0x6d,0xbb,0x70,0xdb,0x46,0xec,0x43,0x75,0xa8,0xe8,0x29,0xce,0x8c,0xfc, + 0x40,0x47,0xba,0x20,0x2a,0xa5,0x74,0xb9,0xc4,0x41,0x60,0xe1,0x9e,0xe4,0x8d,0xed, + 0x60,0x91,0x11,0xc7,0xe4,0x7a,0x75,0xc1,0xd5,0x45,0xab,0x1c,0x74,0x10,0x1e,0xc, + 0x74,0x1e,0x72,0xda,0x16,0xa0,0x5c,0xb3,0x4a,0x5a,0xed,0x4a,0x68,0x4a,0x7a,0xd, + 0x32,0x8,0xaf,0xa,0x68,0xfa,0x90,0x1f,0x95,0xd4,0xb6,0x17,0xd7,0x87,0xa5,0xd1, + 0x6c,0x6f,0xd0,0xaa,0xf8,0x38,0xd4,0xfd,0x67,0x4e,0x37,0xeb,0x46,0xec,0xab,0x15, + 0x61,0x81,0xa1,0xfd,0x9b,0x77,0xd0,0xca,0xa8,0xa6,0x7a,0xb2,0x76,0xd2,0x73,0x83, + 0x8b,0xac,0x43,0x17,0x79,0x88,0x96,0x5b,0x97,0x8c,0x7a,0xf7,0xce,0x3d,0x54,0x92, + 0x99,0x85,0x3f,0x6c,0xfe,0x74,0x5f,0xfd,0xfb,0x94,0xde,0x6b,0x70,0x6c,0xca,0xc, + 0xd2,0x56,0xfb,0xad,0xa8,0xb6,0xf1,0xc,0xf0,0xda,0x94,0xb0,0xa9,0xd,0x93,0x8b, + 0xdd,0xe8,0x7f,0xb3,0x78,0x94,0x61,0x61,0xc6,0x71,0xf3,0x63,0x24,0x46,0x72,0x94, + 0xea,0xec,0xb2,0x3c,0xaf,0x30,0x7,0xb5,0x1e,0x7a,0x77,0x8f,0xf1,0x1b,0x9c,0xd3, + 0x4,0x69,0x9e,0x1d,0xbc,0xff,0x65,0xff,0x7d,0x16,0x81,0x6f,0xbb,0x18,0x6c,0x80, + 0x17,0xe8,0x50,0x31,0xda,0x63,0x37,0xad,0xc,0xe2,0xd5,0xc6,0xb0,0xcb,0x4e,0x1f, + 0x3c,0xdb,0x1e,0xf4,0x4b,0xc4,0x73,0x87,0xeb,0xc8,0xec,0x2a,0x52,0xb2,0x15,0xa7, + 0x9c,0x2c,0x2f,0xe,0x4a,0x7c,0x68,0x89,0xd2,0x79,0xc3,0xac,0x7b,0xd6,0xa,0x4d, + 0x85,0x3d,0x4f,0xdb,0x5f,0xed,0xbd,0x53,0x88,0x71,0xe1,0x67,0xa7,0x8a,0x65,0x67, + 0x1d,0x94,0x41,0xb3,0x4d,0x51,0x6,0xa,0xb8,0x60,0xbd,0x5a,0xc9,0xc,0x35,0x95, + 0x52,0x76,0xd,0xbf,0x8,0xa8,0x2,0x8b,0xdf,0xb9,0xa,0x4a,0x35,0xe4,0x7,0x6b, + 0xcc,0x44,0xd6,0x54,0x96,0x6c,0x88,0xc5,0x8b,0xce,0x8f,0x34,0x3,0x6c,0xc1,0xb3, + 0x54,0xa3,0xad,0x78,0x1a,0x2e,0x1d,0x7c,0xd7,0xdc,0x78,0xa8,0x23,0xf1,0x69,0x18, + 0x2d,0x12,0xda,0x4e,0xaa,0x3b,0xcd,0xc,0x3,0x9e,0xb7,0x62,0x92,0xb2,0x51,0x23, + 0x10,0xb9,0x64,0xc8,0x42,0x13,0xe6,0x42,0xe4,0x4e,0xf9,0x36,0x15,0xa3,0x56,0x26, + 0xd5,0x89,0x64,0xcd,0xd2,0x80,0xdd,0x97,0xc5,0xa5,0x3,0xc6,0xa6,0x14,0xfb,0xe1, + 0x39,0x14,0x4d,0x10,0x4b,0xd1,0x30,0x9d,0x9e,0xa9,0xd3,0x36,0xa6,0xc3,0x2c,0xcc, + 0xd,0x8a,0xac,0xd6,0xc8,0x72,0x8b,0xfc,0x48,0xa4,0x4a,0x69,0xf,0x2c,0x1a,0xc5, + 0x6e,0x58,0x18,0x3a,0x27,0x52,0x60,0xeb,0x55,0xa0,0xa2,0x54,0x1,0x5f,0xb0,0x3c, + 0x82,0xcf,0x99,0x3c,0x4c,0x4b,0xb5,0x3e,0x9f,0x9a,0x61,0x2,0xc2,0x28,0x7f,0xa4, + 0xd5,0x9,0x26,0x66,0x63,0x2f,0x70,0x94,0x60,0x80,0xb1,0x42,0x92,0xe7,0x51,0x0, + 0xbc,0x18,0xd2,0x80,0xc2,0x53,0xe7,0xd0,0x93,0xe1,0x11,0x19,0x4f,0xe5,0x14,0xc8, + 0xe0,0x78,0x4c,0x74,0xda,0xb3,0xc4,0xb8,0xe,0xd1,0x8a,0x54,0x58,0x5b,0x63,0x68, + 0xe8,0x5b,0xf3,0x60,0x96,0xe,0xb9,0x30,0x37,0xab,0xe0,0x28,0xa6,0x8e,0xa7,0x44, + 0xda,0x0,0x7d,0x81,0x48,0x3,0x7a,0xf9,0x46,0xb,0x5,0x9a,0xa7,0x60,0x59,0xd6, + 0x3b,0xa2,0x47,0xc5,0xc4,0x4a,0xe9,0xa0,0xa1,0xa4,0x81,0xeb,0x54,0x5b,0x13,0xcf, + 0xa7,0x63,0x8,0x81,0xda,0x2,0x8f,0x4b,0x7a,0x97,0x6a,0x76,0x10,0x3f,0xca,0x7a, + 0x74,0x6d,0x78,0x96,0x9,0xb3,0xd1,0x63,0xa2,0x11,0xc3,0x4a,0x59,0xe0,0x86,0x18, + 0xc7,0xd2,0x48,0x9e,0x50,0x4b,0x69,0xdb,0xf5,0x31,0x4d,0xa9,0xbd,0x64,0xba,0x38, + 0x54,0x77,0x10,0x56,0x4a,0xe5,0xf0,0x5e,0xd3,0x0,0x13,0xa9,0x60,0x7a,0xc8,0x69, + 0x1b,0x2c,0xf7,0x6d,0x54,0x8a,0xd7,0x39,0xc1,0x22,0x86,0x23,0x63,0x59,0xf5,0x5b, + 0xa9,0xb4,0x38,0x8e,0x5f,0xe8,0xd3,0x43,0x84,0xd6,0x4b,0xdf,0xe8,0x82,0xfa,0x37, + 0xd3,0xc5,0xf5,0xfc,0xdb,0x6c,0xba,0xf1,0x79,0xb7,0xb6,0x1,0xb7,0xc5,0x74,0xb7, + 0x92,0xa0,0xe,0x58,0x18,0x6e,0xa8,0xd9,0xe5,0xd5,0x64,0xbd,0x9a,0xa7,0x86,0xf9, + 0xab,0x9,0x3,0x9c,0x37,0x59,0x7e,0xe0,0x77,0xa,0x61,0x21,0xc8,0x88,0x5d,0x79, + 0x47,0x13,0x99,0x1c,0x2b,0xa,0x34,0x14,0x7c,0x18,0x14,0x78,0x78,0x9,0x33,0x84, + 0x80,0xef,0x18,0x7,0x1b,0x48,0x4a,0x44,0x68,0x6c,0xd8,0xd9,0x76,0x49,0x44,0xc6, + 0x26,0xd5,0x60,0x1e,0x43,0x12,0x87,0xae,0xda,0xf0,0xd4,0xb4,0xb7,0x57,0xf9,0x6b, + 0x16,0xc3,0x82,0x32,0xee,0xc9,0x85,0x79,0xb2,0x4,0x48,0x60,0xe7,0x8,0x9,0xf9, + 0xf3,0x94,0xff,0xd8,0x90,0xe0,0x9c,0xc5,0x80,0x82,0x59,0xfa,0xef,0x36,0x72,0xdf, + 0x5b,0xf0,0x70,0xa6,0x3c,0x1a,0x53,0x80,0x4b,0x7e,0x91,0x60,0x7f,0xfe,0xfd,0x9e, + 0x7c,0xfd,0xa6,0xa6,0x54,0x15,0x8c,0x62,0x51,0xde,0xad,0x4,0x74,0xd8,0x28,0x1d, + 0x55,0xff,0xf4,0x1e,0xbb,0xb4,0x2e,0xaf,0xf9,0x45,0x91,0x3f,0xff,0xe1,0xff,0x3, + 0xf8,0x66,0xa3,0x5d, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/record_disabled.svg + 0x0,0x0,0xf,0x4f, + 0x0, + 0x0,0x7e,0x3c,0x78,0x9c,0xed,0x5d,0xeb,0x93,0xda,0x38,0x12,0xff,0x9e,0xbf,0x82, + 0x23,0x5f,0x36,0x75,0x60,0xf4,0x7e,0x90,0x99,0x6c,0x5d,0xdd,0xd6,0x5e,0x6d,0xd5, + 0x6d,0xdd,0xd5,0xed,0x6e,0xdd,0xc7,0x2d,0xf,0x36,0x33,0x54,0x0,0x73,0xb6,0x27, + 0x33,0xe4,0xaf,0xbf,0x96,0x1,0x63,0x19,0x81,0x1f,0x18,0x26,0x99,0x64,0x26,0xf, + 0xb0,0x64,0xb5,0xfa,0xd7,0x2d,0xa9,0xbb,0xdd,0x92,0x6f,0x7e,0x7c,0x5e,0xcc,0x7b, + 0x9f,0xc2,0x38,0x99,0x45,0xcb,0xdb,0x3e,0xf6,0x50,0xbf,0x17,0x2e,0x27,0x51,0x30, + 0x5b,0xde,0xdf,0xf6,0xff,0xf8,0xfd,0xe7,0xa1,0xea,0xf7,0x92,0xd4,0x5f,0x6,0xfe, + 0x3c,0x5a,0x86,0xb7,0xfd,0x65,0xd4,0xff,0xf1,0xc3,0x9b,0x9b,0xbf,0xc,0x87,0xbd, + 0xbf,0xc7,0xa1,0x9f,0x86,0x41,0xef,0x69,0x96,0x3e,0xf4,0x7e,0x59,0x7e,0x4c,0x26, + 0xfe,0x2a,0xec,0xfd,0xf0,0x90,0xa6,0xab,0xf1,0x68,0xf4,0xf4,0xf4,0xe4,0xcd,0xb6, + 0x17,0xbd,0x28,0xbe,0x1f,0xbd,0xeb,0xd,0x87,0x70,0x67,0xf2,0xe9,0xfe,0x4d,0xaf, + 0xd7,0x3,0xb2,0xcb,0x64,0x1c,0x4c,0x6e,0xfb,0xdb,0xfa,0xab,0xc7,0x78,0x9e,0xd5, + 0xb,0x26,0xa3,0x70,0x1e,0x2e,0xc2,0x65,0x9a,0x8c,0xb0,0x87,0x47,0xfd,0x7d,0xf5, + 0xc9,0xbe,0xfa,0xc4,0x10,0x9f,0x7d,0xa,0x27,0xd1,0x62,0x11,0x2d,0x93,0xec,0xce, + 0x65,0xf2,0xb6,0x50,0x39,0xe,0xa6,0x79,0x6d,0xd3,0x99,0x27,0x9a,0x55,0xc2,0x5a, + 0xeb,0x11,0x22,0x23,0x42,0x86,0x50,0x63,0x98,0xac,0x97,0xa9,0xff,0x3c,0xb4,0x6f, + 0x85,0x3e,0xba,0x6e,0x25,0x8,0xa1,0x11,0x94,0xed,0x6b,0xd6,0xab,0x35,0x7e,0x9e, + 0x3,0x12,0x47,0x3b,0x93,0x95,0x16,0xa9,0x3,0xfa,0x2b,0xf8,0x9b,0xdf,0xb0,0xbb, + 0xe0,0x25,0xd1,0x63,0x3c,0x9,0xa7,0x70,0x67,0xe8,0x2d,0xc3,0x74,0xf4,0xd3,0xef, + 0x3f,0xe5,0x85,0x43,0xe4,0x5,0x69,0x50,0x68,0x66,0x7,0xbe,0x45,0xd7,0x92,0xc8, + 0xd2,0x5f,0x84,0xc9,0xca,0x9f,0x84,0xc9,0x68,0x77,0x3d,0xbb,0xff,0x69,0x16,0xa4, + 0xf,0xb7,0x7d,0xc2,0xb2,0x6f,0xf,0xe1,0xec,0xfe,0x21,0xcd,0xbf,0xce,0x82,0xdb, + 0x3e,0x70,0x47,0xb2,0x2f,0x3b,0xe2,0xe3,0x5c,0x83,0x90,0x47,0x37,0x45,0xbb,0x16, + 0x8b,0x45,0x4c,0x64,0x45,0x96,0xba,0x59,0xcd,0x4,0xd1,0xe4,0xce,0x4f,0xa0,0xcb, + 0xa3,0x87,0x68,0x11,0x8e,0x56,0xf3,0xbb,0xd0,0x7f,0xc,0xa2,0xd9,0x72,0xf4,0xdb, + 0xcf,0xff,0xfc,0xf7,0x3,0x68,0xe0,0x28,0x99,0xce,0x57,0xd6,0x87,0xe1,0x7d,0xfa, + 0x71,0xb4,0x9a,0x3d,0x2f,0xfc,0x55,0x72,0xd0,0x9a,0x61,0xf1,0xb6,0x1f,0x83,0x9a, + 0xc4,0xc1,0x9f,0xc1,0x2c,0xf1,0xef,0xe6,0x61,0xe0,0xed,0xa4,0x93,0xf7,0x31,0x7a, + 0x4c,0x57,0x8f,0xe9,0x9f,0xe1,0x73,0x1a,0x2e,0x37,0x5d,0x3,0x7c,0xa,0x60,0x65, + 0xc5,0xe6,0x36,0xcf,0x2,0x2a,0xa7,0xb4,0x80,0x7f,0xa6,0xb3,0x10,0xa0,0x49,0xe3, + 0xc7,0xb0,0xff,0x1,0xa,0x6f,0x82,0x70,0x9a,0x98,0x4a,0x1b,0xc8,0xcc,0x37,0x96, + 0x15,0x40,0x51,0x4e,0x77,0x5,0x48,0xac,0xc2,0x89,0x51,0xe4,0x4d,0xd5,0x42,0x9b, + 0xe9,0xda,0xc8,0xce,0xae,0x4a,0x37,0x2,0xee,0x59,0xf8,0xae,0xfe,0x7c,0x6,0x70, + 0x7b,0xe3,0x1e,0x26,0xe6,0x1f,0x67,0x8d,0xf5,0xb6,0x6,0xe8,0x26,0xfc,0x87,0x9c, + 0x75,0x3e,0x1b,0x19,0x9f,0x68,0x66,0xdb,0x83,0x61,0x14,0xcf,0xee,0x67,0x46,0x7a, + 0xa6,0x9e,0xb2,0xeb,0x2,0xa7,0x5,0x9e,0xa4,0xec,0xf7,0x46,0x5b,0x9e,0x41,0xc9, + 0x43,0x3f,0xfe,0x47,0xec,0x7,0x33,0x18,0xda,0xc5,0x1b,0xec,0x12,0x86,0x18,0xdf, + 0xe2,0x4,0x77,0x25,0x69,0xb4,0xda,0xd5,0x5,0x6c,0xd2,0xf5,0x1c,0x30,0x31,0x17, + 0x87,0x93,0x68,0x1e,0xc5,0xe3,0xb7,0xd3,0xec,0xe7,0x7d,0x76,0x29,0x2,0x5d,0x9e, + 0xa5,0xeb,0xf1,0x9e,0xbd,0x5e,0x2f,0x9a,0x4e,0x93,0x10,0xb4,0xb7,0x78,0x2d,0x53, + 0x61,0xb8,0x1,0x48,0xed,0x3b,0x58,0x8b,0x58,0x38,0xd,0x43,0x59,0x22,0xe6,0x29, + 0x4d,0x91,0xc2,0x52,0x39,0xa8,0x62,0x37,0x55,0xbd,0x87,0x65,0x64,0x73,0xdf,0x14, + 0x2c,0x22,0x74,0x3,0xb0,0x70,0x70,0x7,0xa,0x60,0xf7,0x1f,0xbf,0xaf,0x8b,0x16, + 0x91,0xb8,0x11,0x5a,0x2e,0x6a,0xc8,0x45,0xcd,0x89,0x12,0x91,0xb4,0x33,0x94,0xb0, + 0xa2,0xc7,0x50,0xca,0xe9,0x61,0xc5,0x2b,0x80,0xa8,0xf,0xe8,0x51,0x94,0xa,0xd4, + 0x64,0x5,0x10,0xe,0x6a,0x68,0xca,0xa7,0x27,0xa8,0x9d,0x8d,0x92,0x90,0xd,0x74, + 0x49,0x1,0xe3,0x28,0x6c,0xab,0x4b,0x58,0xe8,0x46,0xba,0x64,0x60,0xc6,0xac,0xad, + 0x2e,0xe1,0x82,0xe6,0x36,0x43,0x69,0x37,0xf7,0x41,0x37,0xe6,0x30,0xa7,0xdd,0xf6, + 0xfd,0xf9,0x93,0xbf,0x4e,0x72,0x22,0xd9,0xda,0x3d,0x7e,0x88,0x43,0xb0,0x35,0xde, + 0x3a,0xb4,0xee,0x38,0xdc,0x84,0x6c,0x17,0xd4,0xac,0x19,0xc,0x3d,0x17,0x9e,0x22, + 0x42,0x6a,0x91,0x5f,0x5d,0xc3,0x55,0xe1,0x49,0xa2,0x94,0xc4,0xfb,0xa6,0x9e,0x9, + 0xcc,0xd3,0xd2,0xe3,0x82,0xec,0x15,0x76,0x6d,0xae,0x11,0x8f,0x63,0xc2,0xd1,0xfe, + 0xea,0xfd,0x96,0xd4,0x1f,0xcb,0x59,0xa,0xa6,0xca,0x63,0x12,0xc6,0xbf,0x99,0xe5, + 0xfe,0x5f,0xcb,0x3f,0x92,0xf0,0xa0,0xd6,0xef,0xb1,0xbf,0x4c,0xc0,0xb6,0x58,0xdc, + 0xf6,0x17,0x7e,0x1a,0xcf,0x9e,0x7f,0x80,0xa9,0x4d,0x72,0x44,0xf8,0x0,0x99,0xdf, + 0xfc,0x8b,0x27,0x84,0x90,0x88,0xc2,0x7,0x2c,0xa5,0x46,0xf2,0x5d,0xd5,0x24,0x6f, + 0x7a,0x87,0xa9,0xa7,0xc1,0x32,0xe2,0x36,0x1f,0xc0,0x32,0x95,0x4a,0x69,0x69,0xf1, + 0x8c,0x89,0x7,0xcc,0x69,0x44,0x2c,0x7c,0x88,0x87,0x4,0x87,0x71,0x23,0x6b,0xf4, + 0x7c,0x88,0xb3,0x3e,0xe3,0x1,0x85,0xbb,0x40,0x10,0x6a,0x30,0x24,0x9e,0x12,0x4c, + 0xd2,0x77,0xd,0xd1,0x39,0x14,0x1c,0xa6,0x4a,0xd5,0x92,0xbf,0x99,0x9b,0x2b,0x15, + 0xa9,0x2,0x3a,0x7,0x8b,0xa9,0xf9,0x38,0x7,0xcb,0x1b,0xe4,0x3,0x34,0x30,0xcf, + 0x98,0x93,0x82,0x60,0x2a,0x9a,0x72,0x77,0x29,0xc9,0x38,0x51,0x13,0x57,0x47,0xad, + 0x6,0xf3,0xc8,0xe3,0x52,0x48,0x82,0x2d,0xe6,0x31,0xf3,0x10,0xa0,0x49,0x95,0xc5, + 0x3c,0x80,0x8c,0x60,0x2c,0xa,0x61,0xf,0x5b,0xee,0x81,0x5e,0x11,0x7c,0x6a,0xac, + 0x3,0xf3,0xac,0xf9,0x94,0x71,0x9,0x95,0x1,0x2f,0x41,0x33,0x89,0x30,0xe8,0xc, + 0xc,0x68,0xc5,0xb1,0x56,0xad,0x74,0x6,0xe6,0x1a,0xca,0x25,0xe6,0x16,0x6c,0x14, + 0x7b,0x14,0x16,0x11,0x55,0x56,0x99,0x72,0x55,0x83,0x25,0xf3,0xa8,0x96,0xc5,0xc9, + 0xca,0x89,0x1a,0xf9,0x32,0x50,0xc3,0x1e,0x11,0xa0,0x97,0x78,0x30,0x4,0x87,0x14, + 0x21,0xc9,0x49,0x4b,0xd0,0x14,0xe1,0x60,0x2d,0x5a,0xa0,0x49,0x18,0x7d,0x14,0xfe, + 0xf0,0x32,0x6a,0xe5,0xba,0x38,0xf3,0x97,0x10,0x3,0x6d,0x13,0xa7,0x51,0x43,0x57, + 0x43,0xcd,0x45,0x5e,0xb2,0x2a,0x5b,0xb,0xea,0xec,0x39,0xa8,0x6d,0x6b,0x1d,0x31, + 0x38,0x2a,0x6d,0x2d,0xa0,0x56,0x65,0x9a,0xd7,0x37,0x38,0x3a,0xb2,0xb5,0x60,0x72, + 0x51,0xd,0x6c,0x2d,0x22,0xce,0xb0,0xdb,0x81,0x7f,0xd4,0xcc,0x6e,0x67,0x4e,0x33, + 0xb3,0x9e,0xad,0x5,0xd4,0x48,0x87,0x28,0x91,0x6a,0x5d,0x12,0xac,0xb9,0x2e,0x1d, + 0x1,0xb4,0x86,0x2e,0x9,0x97,0xe6,0x56,0xe8,0x92,0x8b,0x5a,0x6b,0x5d,0xba,0x9c, + 0x45,0x8a,0x19,0x12,0xd,0xa7,0x35,0xf7,0x2,0x78,0x64,0xb1,0x74,0x2f,0xac,0xd6, + 0x22,0x5c,0x35,0xdd,0x5c,0x94,0x79,0xd5,0x90,0xf9,0xd6,0x4b,0x46,0x86,0x9a,0xe1, + 0x99,0x69,0x5a,0x9e,0xf5,0x31,0xe6,0x9c,0x6b,0xb,0x34,0x58,0xa9,0x85,0x82,0xca, + 0x84,0x12,0x1b,0xb6,0xbc,0xf6,0x4b,0xc2,0x86,0x51,0x97,0xb0,0x9d,0xb4,0x4f,0xc, + 0x6e,0x60,0x63,0x8,0x4d,0xb4,0x28,0x19,0x19,0x6,0x6e,0x46,0xb0,0xad,0x6d,0x84, + 0x42,0x13,0xa0,0x83,0xb6,0x9f,0x4,0xf6,0x2e,0xe5,0x9c,0x92,0x8b,0xa2,0x66,0x59, + 0xb1,0x2e,0xd4,0x48,0x97,0xa8,0x9d,0x72,0x4,0xc,0x68,0xd2,0x3,0x24,0x8d,0x2, + 0xd9,0xa0,0x71,0x4f,0x63,0x62,0x79,0x33,0x99,0x3d,0x82,0x31,0x66,0x8a,0x61,0x1b, + 0x34,0xec,0x71,0x2d,0x29,0xb8,0x9c,0x2f,0x8a,0x1a,0x3b,0x1f,0xb5,0x6,0x1e,0xa2, + 0xdb,0xb7,0x39,0xe2,0x7,0xb9,0x7d,0x26,0xcb,0xbf,0xca,0xa1,0x33,0xbd,0xf2,0xe7, + 0x9d,0x42,0x67,0xa2,0xa6,0x45,0xe8,0x6c,0x12,0xc,0xf1,0xbd,0x3c,0x27,0xcf,0xd0, + 0x29,0xed,0x11,0x65,0x59,0xe5,0x93,0xf5,0x6d,0x5f,0x7b,0xe6,0x1a,0x2b,0x4,0x26, + 0xa6,0xce,0xba,0x53,0x67,0xdd,0x38,0x9b,0xd5,0x54,0x76,0xb9,0xa1,0x9c,0x92,0x55, + 0x1c,0xfa,0xc1,0xaf,0x61,0xfa,0x10,0x99,0xbe,0x87,0x53,0xc3,0x7f,0xad,0x8,0x5, + 0x88,0xe,0xfc,0x88,0x6d,0x84,0x62,0xfb,0xc5,0xcc,0x6,0x88,0x33,0x35,0xe0,0x9e, + 0x24,0x92,0x30,0x55,0x19,0xa1,0x38,0x4e,0x1,0x9a,0xe2,0x82,0x93,0x8d,0xb6,0xc, + 0xf3,0x6f,0x43,0x33,0xa4,0x18,0xc5,0x7a,0x40,0x94,0x27,0x25,0xa5,0x48,0xb7,0x71, + 0x9,0x14,0xf8,0x46,0xa0,0x19,0xd8,0x9e,0xf0,0xcd,0x8a,0x4a,0x11,0xd5,0xb6,0x4b, + 0x40,0x40,0x3f,0x61,0xc,0x17,0x96,0xa9,0xdd,0xea,0x6b,0xd7,0x75,0x84,0x9a,0x18, + 0xab,0xe7,0x7e,0x76,0xe1,0x7b,0xbf,0x64,0xb0,0x7,0x96,0x5a,0xa9,0xb9,0xec,0x32, + 0xda,0x3,0xd8,0xd5,0x73,0x42,0x2f,0x1e,0xed,0x1,0xe6,0xc0,0x1e,0x56,0x9a,0x7c, + 0xd,0xe1,0x1e,0x80,0xad,0x9e,0x17,0xfa,0x1a,0xc3,0x3d,0x84,0xd1,0x7a,0x11,0xc2, + 0xcb,0x87,0x7b,0x30,0x2c,0xf1,0x8,0x38,0xe6,0x5f,0x41,0xbc,0x7,0x60,0xab,0x17, + 0x22,0xbc,0x42,0xbc,0x47,0x13,0x82,0xb4,0x12,0x5f,0x43,0xc0,0x7,0x60,0xbb,0x5e, + 0x70,0xd1,0x45,0x9e,0x1c,0xd,0x65,0xec,0xdc,0x66,0xe8,0x62,0xd5,0x33,0xd9,0xe, + 0x3,0x3e,0x40,0x8d,0x38,0xa8,0xbd,0x68,0xc0,0x7,0x50,0x3a,0x1a,0xca,0xe8,0x3a, + 0xe0,0x43,0x8c,0x51,0x76,0xb5,0x80,0xf,0x50,0x13,0xdd,0xa1,0x4,0x1e,0x5c,0xa5, + 0x74,0xb1,0x2b,0x9c,0x77,0xa1,0x80,0xf,0x70,0xe7,0xd2,0xdc,0xd7,0x11,0xf0,0x1, + 0xcb,0x98,0x36,0x9c,0xd6,0x5e,0x4f,0xc0,0x7,0x98,0xef,0xe0,0x49,0xe9,0x37,0x17, + 0xf0,0x1,0xd8,0xe,0x6d,0xf2,0xef,0x1,0x9f,0x8a,0xd0,0x5,0xa0,0xa6,0xbb,0x44, + 0xed,0xdb,0x8,0xf8,0x10,0xa6,0xf1,0xf9,0xa8,0x7d,0x9,0x1,0x9f,0x73,0xfd,0x16, + 0xd0,0x5f,0x8f,0x81,0x19,0x58,0x8a,0x13,0x28,0x6d,0x2,0x1d,0x85,0x4e,0x6d,0x86, + 0x86,0xf2,0xa8,0xc0,0xa2,0x14,0x27,0xd0,0x86,0x5b,0x59,0x30,0x15,0x1d,0x78,0x4b, + 0x54,0xcb,0xd7,0xa5,0xb8,0x3,0xa7,0xad,0x52,0x6f,0xe,0xfb,0x47,0x29,0x6a,0xf2, + 0xd4,0xcc,0x95,0x1a,0x58,0x5c,0xb8,0x4f,0xd9,0x50,0x94,0xe2,0x66,0xf,0xcd,0xea, + 0xe6,0x21,0xba,0x4c,0x28,0x20,0xd6,0xd9,0x33,0x33,0x4a,0x54,0xd,0xd9,0x54,0x58, + 0x3d,0x94,0xe8,0x2a,0xa0,0x1c,0x10,0xe8,0xec,0xa7,0x8c,0x77,0xa5,0x89,0x5,0xc4, + 0x68,0x5,0x50,0xae,0x5c,0xb8,0xec,0xe7,0x18,0xb1,0x6e,0x2d,0x2c,0x7,0xca,0x58, + 0x1f,0xcd,0x28,0xec,0x5a,0x13,0xb1,0xe6,0x8d,0x34,0xd1,0x8d,0x4c,0x4d,0x4d,0xc4, + 0x5a,0x76,0xa6,0x89,0x58,0xe1,0x4a,0x45,0x2b,0x1a,0x1b,0xb5,0x15,0x6d,0x3a,0x75, + 0x70,0x78,0xc2,0x98,0xaf,0xd9,0x4,0x58,0x5d,0x9c,0x48,0xac,0x85,0x2b,0x35,0x13, + 0x19,0xd3,0xb,0xcc,0x10,0x4e,0x9c,0xb0,0xa9,0x13,0x32,0x2a,0xd4,0x6a,0x93,0xf4, + 0xe9,0x10,0x27,0x74,0x86,0x33,0x85,0x71,0x77,0x8f,0xda,0xb3,0x29,0xbd,0xb2,0xff, + 0xb2,0xc5,0xac,0x90,0xb9,0x42,0x2d,0x3c,0x2f,0xa0,0xd6,0x62,0x5a,0x70,0xca,0xb5, + 0x3b,0x2f,0x9e,0xaa,0x66,0xb9,0xe9,0x4e,0xd6,0xeb,0x8d,0x7b,0xa0,0x75,0x22,0x39, + 0xbd,0x80,0x92,0x33,0x6d,0xd9,0x53,0x12,0x51,0xf8,0xa3,0x5b,0xc0,0xe5,0x71,0xb0, + 0x1d,0xc1,0xcd,0x66,0xe7,0xf,0xa9,0xfa,0x51,0x4,0xaa,0x2a,0x93,0xe2,0x2f,0xb4, + 0x6b,0x82,0x13,0xe1,0xc1,0x54,0x85,0xf4,0xb9,0x9b,0x27,0x24,0x3,0x67,0x57,0x33, + 0xa6,0xaa,0x1b,0x2d,0x6f,0xa5,0xa0,0xd2,0x18,0xa5,0x32,0xdb,0x7e,0x41,0x39,0xf2, + 0xa4,0x92,0x54,0x9f,0xda,0x59,0x51,0xb0,0x4e,0x2e,0xf0,0x34,0x31,0xd3,0xf3,0x22, + 0x65,0x9b,0x4,0x4c,0x16,0xfb,0xa1,0x99,0x3d,0x4d,0x54,0xcc,0x3c,0xd,0x2c,0x18, + 0xd,0xe6,0x69,0x22,0xd4,0x2,0x37,0x45,0x16,0x1e,0x4d,0x4d,0x9d,0x75,0xa7,0xce, + 0xba,0xe6,0x69,0x22,0x3,0xe7,0x10,0x63,0x52,0xd7,0x9,0xb8,0xa0,0xa7,0x92,0x2d, + 0x66,0xa7,0xa6,0x4f,0x59,0x30,0xcd,0x8d,0xb9,0x2d,0x39,0x38,0x66,0x82,0xef,0xcd, + 0xed,0x75,0xe6,0xcb,0xa,0x4f,0x4b,0x5c,0x4a,0xe6,0x3e,0x44,0x64,0xbd,0xf1,0x65, + 0x11,0x6,0x83,0xbd,0xae,0xdf,0x78,0x51,0xe6,0xf5,0xa9,0x90,0x0,0x14,0xdb,0xcc, + 0x13,0xc4,0x60,0xe,0xe1,0x5,0x43,0x34,0xb,0x10,0x9,0xe2,0x31,0xce,0xca,0x99, + 0xec,0x87,0x75,0x8d,0x63,0x5,0x55,0x31,0x11,0xb5,0x9d,0xe6,0x17,0x64,0x9e,0xa0, + 0x56,0x31,0x34,0xd0,0xf,0xc,0x4a,0x65,0xeb,0x7,0x78,0x98,0x1e,0x82,0xf1,0x5f, + 0x8a,0x6a,0xc0,0x5c,0xa2,0x91,0x52,0xb6,0x97,0x29,0xb8,0xa7,0x10,0x62,0xfa,0xa2, + 0xc1,0xa0,0x4a,0xe6,0x71,0x53,0x7,0xbd,0x6b,0xfd,0x78,0x51,0xe6,0xdb,0x48,0xfe, + 0x6b,0x61,0xde,0xf2,0x23,0x5d,0x6e,0x66,0xd3,0x30,0x60,0xc6,0x3c,0x61,0x1e,0x11, + 0x54,0xea,0x3,0xb5,0x97,0xd6,0x33,0x53,0x33,0x2b,0x9a,0x25,0x51,0x6a,0x5d,0xe2, + 0x5d,0x78,0x2,0xab,0xc2,0xf3,0x8d,0x17,0x60,0x9d,0xa2,0x56,0x4a,0xdf,0x19,0xeb, + 0x65,0xda,0xae,0x58,0x17,0x78,0x2b,0x84,0x48,0x45,0x4d,0x54,0x95,0x68,0x85,0x28, + 0xc3,0x83,0xfd,0xa7,0x42,0x39,0x95,0xc2,0x3,0x35,0xd3,0x3,0x86,0x88,0xa7,0x55, + 0x9d,0x64,0x99,0xb3,0xb0,0xa5,0x85,0xfc,0x15,0x27,0xb6,0x4d,0x53,0x50,0xbb,0x41, + 0x1,0x9,0x8f,0x23,0x46,0xe5,0x80,0xa,0x18,0x72,0x5a,0x88,0x52,0x14,0x1a,0xb, + 0xb8,0xf,0xfc,0x3f,0x4b,0x78,0x43,0x33,0x87,0x73,0xb8,0xc3,0x4e,0x27,0x30,0x92, + 0x56,0x30,0x3e,0x99,0x25,0x3e,0x2c,0x14,0x50,0x46,0x95,0x41,0xc1,0x8b,0x6a,0x2e, + 0x69,0x9a,0x76,0xf8,0xf5,0xc,0xda,0x8a,0xc9,0x9a,0x3a,0x6,0xce,0xeb,0x59,0xa6, + 0xab,0x46,0x15,0x79,0x91,0x51,0x25,0x99,0xf4,0x4,0xa5,0xc,0x46,0x95,0x96,0xa0, + 0x42,0xa,0xeb,0x57,0x39,0xaa,0x68,0x9b,0xb4,0xf9,0xd7,0x31,0xaa,0x68,0xd3,0xa4, + 0xf9,0xd7,0x34,0xaa,0x58,0x7,0xa9,0xef,0xcd,0x47,0x15,0xd8,0x83,0x9e,0xa4,0x4c, + 0xb3,0x1,0xf8,0x97,0x9e,0x16,0x4a,0xca,0x57,0x39,0xaa,0x44,0x53,0x74,0x5f,0xcb, + 0xa8,0x22,0x45,0x21,0x7d,0x7b,0xa3,0x4a,0x74,0x99,0xe4,0xff,0x7d,0x54,0x95,0xd1, + 0xfd,0x76,0xd7,0x2a,0xf1,0xed,0xae,0x55,0x30,0xa5,0x7c,0xb7,0x0,0x2f,0x38,0xaa, + 0xe4,0xb7,0xeb,0x57,0xc9,0x2f,0xdc,0xaf,0x7a,0x5d,0x87,0x8f,0x10,0x85,0x74,0x1d, + 0xb1,0x75,0xb7,0x95,0x27,0xcf,0x3,0x2b,0x42,0xe7,0xc8,0x19,0x73,0xe7,0x97,0x39, + 0x73,0xd1,0x1c,0xd0,0x75,0x79,0xa8,0x89,0x13,0x35,0x79,0x5d,0xd4,0x76,0x29,0x87, + 0x96,0x22,0x1f,0x66,0x27,0xba,0x33,0x19,0x9d,0x59,0x8f,0x27,0x41,0xeb,0xe0,0x58, + 0xf,0x27,0x6a,0xbc,0x16,0x6a,0x5d,0x6c,0x2c,0xb0,0xf3,0x5b,0x8b,0xb0,0x39,0xb3, + 0x61,0xdd,0xb9,0xb3,0xae,0x34,0xdb,0x93,0xb8,0x9d,0x7f,0xb0,0x87,0x13,0x36,0x7a, + 0x5d,0xd8,0x2e,0xb0,0xa9,0xe9,0xc,0xe6,0xf1,0xd5,0x98,0x77,0x65,0x30,0xea,0x26, + 0x9,0x1a,0xe7,0x6d,0xb3,0x90,0xba,0xd9,0xe9,0x81,0x47,0x76,0x5,0x1c,0x52,0x73, + 0x26,0x48,0x48,0xdd,0xd9,0xa9,0x81,0x60,0x9a,0x55,0x26,0xfb,0x10,0xd9,0x26,0x5, + 0xb0,0xf5,0x36,0xb,0xd9,0x26,0x7,0xf0,0xc8,0xbe,0x95,0xee,0x50,0x6a,0x92,0xe3, + 0x77,0xd6,0x79,0x78,0x40,0xab,0x59,0x92,0xdf,0x59,0xe7,0xe1,0x1,0xb5,0xb6,0x59, + 0x7e,0x17,0xdc,0x58,0x20,0xb,0x19,0x16,0xee,0xbd,0x6f,0x47,0xf6,0xc9,0xb9,0xf7, + 0xd4,0x39,0xf7,0xdf,0xb5,0x76,0x7d,0x4e,0x2f,0x19,0x2f,0xb8,0x1d,0x43,0x96,0x12, + 0x4f,0xe,0x37,0x5a,0x1e,0xd9,0x94,0xe9,0xdc,0xbf,0xe9,0xdc,0xea,0xd9,0x1,0x68, + 0x4e,0xfb,0xe4,0x45,0x51,0x93,0xb6,0xae,0x75,0xb8,0xa5,0xa9,0x1e,0x6c,0x2f,0xb8, + 0xab,0x42,0xca,0xd2,0xde,0xdc,0xe,0x77,0x3c,0x74,0xa8,0x33,0x2e,0x47,0xe0,0x45, + 0x51,0xeb,0x80,0xbb,0x2f,0x7f,0x2f,0xca,0x19,0xa7,0x80,0x36,0x43,0xc7,0x7d,0x64, + 0xa9,0xf3,0x70,0x53,0xf7,0x31,0xa8,0xce,0x23,0x53,0x9d,0x82,0x7b,0x59,0x8b,0x54, + 0x1c,0xb5,0x48,0xf7,0xeb,0xb1,0x3b,0xe5,0xfc,0xb4,0xf5,0xd3,0x7a,0x7b,0x74,0x71, + 0x1b,0xd1,0x97,0xb2,0x3d,0x5a,0xf2,0xab,0x9d,0x63,0xd,0xfc,0x37,0x3b,0xc7,0xfa, + 0xc8,0xb1,0xcb,0x75,0x6d,0x2d,0xd1,0xd9,0x39,0xd6,0x80,0x52,0xe5,0x39,0xd6,0x50, + 0xe7,0x8a,0xe7,0x58,0x3,0xb5,0x16,0x5b,0x1a,0x8e,0x1c,0xc,0xde,0x19,0x4a,0xec, + 0xe8,0x39,0xd6,0xfb,0x7e,0x33,0xd7,0x18,0xa8,0xdc,0x77,0xe2,0xda,0xe3,0x55,0x7, + 0xa4,0xaa,0xfd,0x37,0x2e,0x62,0x93,0xe9,0xdd,0xe4,0xae,0x9b,0xd,0x4e,0xae,0x87, + 0x21,0x95,0x27,0x2b,0xd2,0x56,0x27,0x2b,0x3a,0x77,0x1f,0xd5,0xd9,0xee,0xd1,0xea, + 0x64,0x45,0xe7,0xc6,0xaa,0xce,0x34,0x89,0x9a,0x93,0x33,0x2b,0xfb,0x2d,0x5d,0x87, + 0x4d,0x54,0xa0,0x14,0x48,0xf3,0xdb,0x6,0x25,0xe9,0x92,0x49,0x5,0x4a,0x72,0x62, + 0x7e,0x9b,0xa2,0x74,0x6a,0xbb,0x45,0x69,0x37,0x2,0x23,0xae,0xb5,0xb3,0xbc,0xc9, + 0x21,0xdb,0x17,0xe1,0xd1,0xcd,0xcf,0xd1,0xcd,0x16,0x9f,0xcd,0xb2,0x7e,0xf8,0x62, + 0x89,0x86,0xdb,0x31,0xb6,0x7b,0x3b,0xec,0x46,0xaa,0x36,0x89,0x74,0x77,0xcc,0x10, + 0x98,0x2b,0x54,0xd3,0x92,0x93,0xa,0xc6,0x1e,0x97,0x8a,0x10,0x3b,0x22,0x67,0x1c, + 0x22,0x84,0x14,0x53,0xdc,0x3e,0xe,0x9e,0x78,0x5a,0xf0,0xe2,0x64,0xee,0x3c,0xf9, + 0xa5,0xd6,0xc3,0x0,0xa8,0x77,0x99,0x93,0x5f,0xea,0x34,0x5b,0x7d,0x58,0x4b,0x8b, + 0xf5,0xa,0x0,0x6b,0x79,0x9c,0x7,0x6d,0xb5,0x5,0xef,0x90,0x5a,0xdb,0xf5,0xea, + 0x8b,0xb,0xd8,0xca,0x2b,0x9e,0x1e,0xf4,0x8a,0x82,0xfc,0x92,0x5e,0xef,0x6c,0xf2, + 0xd7,0xf3,0x44,0x49,0xd2,0xeb,0x9d,0x4d,0xfe,0x7a,0x9e,0x5e,0x4a,0x52,0xef,0x38, + 0xb9,0xaf,0xfd,0xf8,0xc6,0xb,0x3c,0x2e,0x97,0xe4,0x7a,0x6f,0x9d,0xb8,0x60,0x86, + 0x9,0xe1,0xad,0x12,0x6d,0x5f,0x43,0x86,0x9,0xe1,0x8d,0xd3,0x6c,0xbf,0xa6,0xbc, + 0x2d,0x7c,0x3a,0xea,0xc8,0x59,0x9b,0xcc,0xa2,0xc3,0xc3,0x5e,0x8e,0x1c,0xc,0xe3, + 0x3e,0x44,0xc6,0x3a,0x70,0x66,0xc3,0xfc,0xcd,0xc8,0xbc,0xc0,0x2e,0xfb,0x94,0x5b, + 0xd1,0xe6,0xdd,0x7a,0xc1,0xa7,0x59,0xf8,0xf4,0x26,0xef,0xbd,0x79,0x79,0xdf,0xb6, + 0x9d,0x95,0x7f,0x1f,0x66,0xf6,0x13,0xf0,0xbc,0x71,0xd3,0xb6,0x5,0x77,0x51,0x1c, + 0x84,0xf1,0xae,0x48,0x64,0x3f,0x56,0xd1,0xd6,0xc4,0xba,0xcd,0x5f,0xf,0x58,0xf4, + 0x29,0xa0,0xd5,0xbc,0x1c,0xb9,0xcb,0x93,0x7,0x3f,0x88,0x9e,0x40,0xac,0xe5,0xc2, + 0xcf,0x51,0x4,0xd3,0x8e,0x2a,0x5f,0x36,0x3b,0x98,0x61,0x91,0x3,0x2b,0x8f,0xe4, + 0xe6,0xf6,0xbe,0x70,0x9d,0xe5,0xa3,0x31,0x8e,0xd4,0x3e,0x6e,0x96,0x97,0x6,0xd1, + 0xe4,0xd1,0xbc,0xa9,0x72,0xf8,0xb8,0x91,0xc9,0xea,0xf9,0xe0,0xfe,0xc7,0x38,0x36, + 0x15,0xe6,0xfe,0x3a,0x4,0x7e,0xb3,0xff,0x76,0xeb,0xce,0xf6,0x3d,0x8b,0x94,0xe4, + 0xb7,0xed,0xde,0xb5,0x58,0xb8,0x94,0x3c,0x44,0x4f,0xf7,0x8f,0xb3,0x20,0x4c,0xb6, + 0x2f,0x17,0x2c,0x11,0xc8,0xca,0x86,0x77,0x77,0xd1,0xb3,0xbb,0xfc,0x69,0xb6,0x4, + 0x34,0x86,0x5b,0x5a,0x18,0xe5,0x67,0x33,0x97,0x6b,0xec,0x68,0x4b,0x79,0xac,0x6, + 0x50,0x60,0xf8,0x0,0xa1,0x6d,0x21,0xe0,0x94,0xc7,0x82,0xb2,0x3e,0xc7,0x46,0x21, + 0xa6,0xfe,0x3c,0x9,0x77,0xaf,0x3d,0xcc,0x35,0x27,0xeb,0xf3,0x4e,0xdd,0xc0,0x3d, + 0x4,0x80,0xfc,0x34,0x7b,0xed,0xe2,0xa7,0x30,0x4e,0x67,0x13,0x7f,0x9e,0x2b,0xe3, + 0x2a,0x4a,0x66,0x9b,0x22,0xb3,0x3e,0x2b,0x82,0x99,0x3d,0x59,0x64,0x4d,0x51,0xcc, + 0x44,0xae,0xa8,0x87,0xfa,0x99,0x5d,0x5f,0x84,0xa9,0x1f,0xf8,0xa9,0xbf,0x57,0xd6, + 0xdd,0x95,0x5d,0xb4,0xe8,0x26,0xe,0xa6,0xe3,0xff,0xfc,0xf4,0x73,0xee,0x43,0x4c, + 0x26,0xe3,0xff,0x46,0xf1,0xc7,0xbd,0x6f,0x60,0x2a,0xf8,0x77,0xd1,0x23,0xa0,0x94, + 0xfb,0x35,0x50,0x2f,0x98,0x8c,0xcd,0x8a,0xe6,0xa7,0x1f,0x66,0xb,0xd0,0x3f,0xf3, + 0xf2,0xcf,0xbf,0x3e,0x2f,0xe6,0x30,0x66,0xf2,0x2,0xab,0xb2,0x71,0x3f,0xf7,0x8d, + 0x6e,0x9a,0x8d,0xc3,0xcd,0xcb,0x3d,0x9d,0xef,0x43,0xd,0x26,0x8b,0x99,0xb9,0x69, + 0xf4,0x5b,0x3a,0x9b,0xcf,0x7f,0x31,0x44,0x8a,0xbe,0xce,0x68,0xdb,0xd1,0x9d,0x3b, + 0x52,0xe0,0xe3,0x66,0xb4,0xe3,0x32,0xfb,0x76,0x5f,0x92,0xdd,0xdc,0xbf,0xb,0xe7, + 0xb7,0xfd,0xbf,0xfb,0xf3,0xff,0x3d,0x86,0xb9,0xa7,0xbc,0xd7,0xad,0x38,0x7a,0x5c, + 0x2d,0xa2,0x20,0xdc,0x2a,0x6e,0x7f,0xf,0xde,0x56,0x91,0xb7,0x24,0x57,0x7e,0xfa, + 0xb0,0xe3,0xa8,0xe4,0x65,0xfb,0xf1,0x64,0xef,0x80,0x6f,0x7c,0xab,0x29,0x30,0x31, + 0x6,0xf6,0x7e,0x78,0x6b,0x66,0x34,0xfb,0x94,0xf2,0x77,0xef,0x4d,0x69,0xc1,0xa9, + 0x4b,0xd2,0x38,0xfa,0x18,0x8e,0x97,0xd1,0x32,0xdc,0x7e,0xde,0xe8,0xf2,0x18,0x5c, + 0xa0,0xec,0xc0,0x21,0xb5,0xab,0x33,0x4,0x90,0xc2,0x78,0x3e,0x83,0xff,0xc6,0x6c, + 0x77,0x2d,0xf0,0x61,0x3a,0x88,0x63,0x7f,0x6d,0xb5,0x70,0x78,0x2e,0x4e,0x16,0xd1, + 0x0,0x2e,0x60,0x42,0xde,0xcf,0x84,0x39,0x2b,0xee,0x23,0xd3,0xf7,0xc5,0xce,0xf3, + 0xd0,0xf3,0xe2,0xf8,0xd9,0x9c,0xf4,0x8d,0xcc,0x53,0x55,0xe6,0x88,0x46,0xc4,0x6b, + 0x57,0x31,0xf4,0xe7,0xd7,0x1e,0x91,0x1e,0x5,0x95,0x27,0x7a,0x90,0x37,0xdf,0xfb, + 0x5b,0x2f,0xaf,0x3c,0xc8,0x3f,0xf5,0x50,0xf,0x9b,0x5f,0x73,0x40,0xb9,0x89,0xd4, + 0xd7,0xac,0xef,0x6a,0xff,0x73,0xde,0x85,0xd4,0xf1,0x2c,0x48,0x12,0xca,0x90,0xde, + 0x3e,0xb,0xda,0x7e,0x11,0x9e,0x94,0xc6,0x21,0x1a,0x50,0xf,0x6c,0x65,0x81,0xb, + 0xcf,0xe9,0xda,0x2a,0xc6,0xa1,0xf9,0x73,0x4a,0x31,0xe,0xa5,0x48,0xa,0x69,0x92, + 0x96,0x14,0x9,0x82,0x55,0x85,0xa0,0xc2,0x96,0x2d,0x4b,0x8a,0x38,0xdb,0x5c,0x5d, + 0x7c,0xa8,0x6e,0x49,0x11,0xdc,0x47,0x58,0x27,0xf8,0x11,0x21,0x1e,0x94,0x66,0x32, + 0xa4,0x19,0x45,0xce,0xf8,0x20,0x6f,0x1c,0x64,0xb2,0xab,0x3b,0xd8,0x7d,0xd8,0x49, + 0xd0,0xd4,0xc6,0x9c,0x88,0x5a,0xb5,0x5d,0x6d,0x9f,0x92,0xdf,0x10,0xc,0x1d,0xcc, + 0x29,0x92,0x34,0x1c,0x12,0x90,0x9b,0x6,0xe1,0x83,0x9d,0x6f,0xbe,0xc,0x4d,0xcc, + 0xa,0x83,0x1d,0xa0,0xb6,0xdf,0x38,0x65,0x4a,0x73,0x66,0xbe,0x51,0xf0,0x98,0xe0, + 0x3e,0x65,0x14,0x88,0x71,0x4d,0x29,0xd1,0xad,0x65,0xbc,0x3f,0x66,0x86,0x30,0x70, + 0x5d,0x61,0x55,0x7d,0x7f,0x5c,0xec,0xc,0x35,0x15,0xbb,0x43,0x34,0xdf,0xc5,0x4e, + 0x3c,0xcc,0x31,0x25,0x32,0x93,0xac,0x4,0x97,0x98,0x83,0x64,0xb5,0xf9,0x26,0xc1, + 0xbe,0x7,0x2f,0x1f,0x13,0xf3,0x5,0x83,0xc1,0xb,0xbe,0xb2,0xc0,0x59,0x3d,0xe6, + 0x51,0xaa,0x24,0x95,0x6c,0x40,0xcc,0xb9,0x36,0x9a,0x11,0xd2,0x81,0xd0,0xc1,0x1d, + 0x87,0x59,0x14,0xc9,0x53,0x42,0x27,0xd,0x85,0xae,0x5d,0x53,0xf2,0xd9,0x42,0x97, + 0xa,0xe6,0x7b,0x26,0x95,0x63,0x39,0x30,0x52,0x97,0xe0,0x49,0x70,0x5e,0x8,0xc7, + 0x6f,0x27,0x6c,0xed,0x51,0x10,0x14,0xb3,0xe4,0x98,0x37,0x35,0xd8,0xdd,0xb5,0x13, + 0x3b,0x21,0x30,0xea,0xe0,0x42,0xbd,0xea,0xae,0xd6,0xaf,0x3b,0xdc,0x6f,0x46,0xf7, + 0x1f,0xde,0xdc,0x18,0xb,0xe7,0xc3,0x9b,0xff,0x3,0x6e,0x60,0x92,0x7c, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_volume_off.svg + 0x0,0x0,0xd,0x36, + 0x0, + 0x0,0x3b,0xbd,0x78,0x9c,0xd5,0x5b,0x5b,0x93,0xe2,0xc6,0x15,0x7e,0xdf,0x5f,0x41, + 0xd8,0x97,0x9d,0xa,0x88,0xbe,0x5f,0xf0,0xcc,0xba,0x52,0x76,0x39,0xe5,0x2a,0xbb, + 0x92,0x8a,0xed,0xca,0xe3,0x96,0x6,0x89,0x19,0xb2,0x80,0x88,0x10,0x3b,0xe0,0x5f, + 0x9f,0xef,0x8,0xd0,0xd,0xc1,0x0,0x33,0xb3,0x76,0xc0,0xeb,0x91,0xfa,0x76,0xba, + 0xbf,0x73,0xef,0x6e,0x6e,0xbf,0x5d,0xcf,0xa6,0x9d,0x2f,0x71,0xba,0x9c,0x24,0xf3, + 0xbb,0x2e,0xf,0x58,0xb7,0x13,0xcf,0x47,0x49,0x34,0x99,0x3f,0xdc,0x75,0x7f,0xfb, + 0xf5,0x87,0xbe,0xeb,0x76,0x96,0x59,0x38,0x8f,0xc2,0x69,0x32,0x8f,0xef,0xba,0xf3, + 0xa4,0xfb,0xed,0xc7,0x77,0xb7,0x7f,0xe9,0xf7,0x3b,0xdf,0xa5,0x71,0x98,0xc5,0x51, + 0xe7,0x69,0x92,0x3d,0x76,0x7e,0x9c,0x7f,0x5e,0x8e,0xc2,0x45,0xdc,0xf9,0xf0,0x98, + 0x65,0x8b,0xe1,0x60,0xf0,0xf4,0xf4,0x14,0x4c,0x76,0x85,0x41,0x92,0x3e,0xc,0x6e, + 0x3a,0xfd,0x3e,0x7a,0x2e,0xbf,0x3c,0xbc,0xeb,0x74,0x3a,0x20,0x3b,0x5f,0xe,0xa3, + 0xd1,0x5d,0x77,0xd7,0x7e,0xb1,0x4a,0xa7,0x79,0xbb,0x68,0x34,0x88,0xa7,0xf1,0x2c, + 0x9e,0x67,0xcb,0x1,0xf,0xf8,0xa0,0x5b,0x36,0x1f,0x95,0xcd,0x47,0x44,0x7c,0xf2, + 0x25,0x1e,0x25,0xb3,0x59,0x32,0x5f,0xe6,0x3d,0xe7,0xcb,0xf7,0x95,0xc6,0x69,0x34, + 0x2e,0x5a,0xd3,0x64,0x9e,0x64,0xde,0x88,0x7b,0xef,0x7,0x4c,0xc,0x84,0xe8,0xa3, + 0x45,0x7f,0xb9,0x99,0x67,0xe1,0xba,0x5f,0xef,0x8a,0x39,0xb6,0x75,0x15,0x8c,0xb1, + 0x1,0xea,0xca,0x96,0xe7,0xb5,0x1a,0xae,0xa7,0x40,0xe2,0xe8,0x64,0xf2,0xda,0x2a, + 0x75,0xa0,0xbf,0xc0,0xbf,0xa2,0xc3,0xbe,0x20,0x58,0x26,0xab,0x74,0x14,0x8f,0xd1, + 0x33,0xe,0xe6,0x71,0x36,0xf8,0xfe,0xd7,0xef,0x8b,0xca,0x3e,0xb,0xa2,0x2c,0xaa, + 0xc,0xb3,0x7,0xbf,0x46,0xb7,0xc6,0x91,0x79,0x38,0x8b,0x97,0x8b,0x70,0x14,0x2f, + 0x7,0xfb,0xf2,0xbc,0xff,0xd3,0x24,0xca,0x1e,0x21,0xc,0x26,0x7f,0x7b,0x8c,0x27, + 0xf,0x8f,0x59,0xf1,0x3a,0x89,0xee,0xba,0x58,0x9d,0xc8,0x5f,0xf6,0xc4,0x87,0x85, + 0x4,0xb1,0x40,0x6e,0xab,0xf6,0x23,0x56,0xab,0xd4,0x76,0x88,0x9a,0xb8,0xd5,0x86, + 0x89,0x92,0xd1,0x7d,0xb8,0xc4,0x94,0x7,0x8f,0xc9,0x2c,0xee,0x4f,0x93,0x51,0x38, + 0x1d,0x2c,0xa6,0xf7,0x71,0xb8,0x8a,0x92,0xc9,0x7c,0xf0,0xcb,0xf,0x3f,0xfd,0xf3, + 0x11,0x72,0x38,0x58,0x8e,0xa7,0x8b,0xda,0x43,0xff,0x21,0xfb,0x3c,0x58,0x4c,0xd6, + 0xb3,0x70,0xb1,0x3c,0x18,0x93,0x16,0x7a,0xd7,0x9d,0x8c,0x92,0xf9,0xa7,0x2f,0xc9, + 0x74,0x35,0x8b,0x3f,0x25,0xe3,0x71,0xb0,0xe7,0x51,0x31,0xd3,0x64,0x95,0x2d,0x56, + 0xd9,0xa7,0x78,0x9d,0xc5,0xf3,0xed,0x4,0x81,0x52,0x5,0xb2,0xbc,0x9a,0xba,0x15, + 0x65,0xdd,0x8f,0x18,0xe0,0x36,0x8a,0xc7,0x4b,0x1a,0x68,0xb,0xe,0xbd,0xa9,0xbc, + 0x2,0x55,0x60,0x6d,0x1c,0xa6,0x7f,0x4f,0xc3,0x68,0x2,0x81,0xde,0x36,0xaa,0x50, + 0x1c,0x25,0xd3,0x69,0x3c,0x2,0xb8,0xe1,0xf4,0x29,0xdc,0x6c,0x27,0xbe,0x1f,0xa7, + 0xde,0x55,0x2a,0xb6,0x1f,0x14,0xc3,0x2e,0xb3,0x64,0xb1,0x6f,0x8b,0xa5,0x66,0x9b, + 0x29,0xd6,0x47,0x85,0x7d,0x8c,0x98,0xa4,0xc3,0xf7,0x22,0xa2,0xef,0x37,0x79,0x51, + 0x2,0x16,0x4f,0xb2,0xcd,0x90,0x7f,0xd3,0x2d,0xfb,0x0,0x80,0x65,0xc,0xc2,0xac, + 0x52,0x96,0xb3,0x16,0x3d,0x40,0xcb,0x74,0x3b,0x83,0x97,0x51,0x63,0x6d,0xd4,0x78, + 0x3b,0x35,0x57,0x50,0xbb,0x1d,0xd4,0x97,0xbd,0x2b,0xa5,0xb7,0x70,0x7a,0x31,0x8c, + 0xb9,0x66,0xd,0x1f,0xd3,0x18,0x96,0xe0,0x7d,0xb,0x9e,0x55,0xb8,0xeb,0x24,0xb4, + 0x52,0x25,0x32,0xf,0xbb,0xc2,0xdf,0xe6,0x93,0xc,0x2a,0xbf,0x5a,0xc6,0xe9,0x2f, + 0xa4,0x36,0xff,0x98,0xff,0xb6,0x8c,0xf,0x5a,0xfd,0x9a,0x86,0xf3,0x25,0x74,0x74, + 0x76,0xd7,0x9d,0x85,0x59,0x3a,0x59,0x7f,0xe0,0x3d,0x46,0xdf,0x40,0x8,0xae,0xac, + 0xd1,0x78,0x56,0x81,0x92,0xde,0x4a,0xa6,0x6f,0x8a,0xee,0xa3,0xf5,0x5d,0xb7,0x2f, + 0x3,0x6d,0xbd,0x15,0xae,0xc4,0x69,0xb4,0xb9,0xeb,0xea,0xc0,0x32,0x61,0xb5,0x2d, + 0x27,0x3c,0x6e,0x6f,0x3c,0x6e,0x6d,0x9c,0xde,0x75,0x4d,0xa0,0x9d,0xf2,0x92,0xfb, + 0x12,0xe8,0x37,0x80,0x54,0x5a,0x76,0x12,0x52,0xe9,0x5e,0xd,0x52,0x16,0x18,0x6d, + 0x99,0x51,0x12,0xb0,0x2a,0xc1,0x24,0x60,0xe8,0xc1,0x2,0x6a,0xee,0xa4,0x12,0x40, + 0x38,0x70,0x9c,0x71,0x6f,0x7a,0x3a,0x10,0x9e,0x9,0x6d,0x6d,0xaf,0xf,0x63,0xe3, + 0xbc,0x17,0xde,0x96,0x98,0x2f,0x17,0xf0,0x22,0xd1,0xcf,0x71,0xf6,0x98,0x60,0xba, + 0x8b,0x30,0xaa,0x71,0x43,0x7,0x90,0x2,0xa3,0xb5,0xac,0x31,0x3,0x50,0x4a,0x7b, + 0xc0,0x8c,0xc3,0xb6,0xe3,0xd6,0xb6,0xe0,0x85,0xc,0xac,0x13,0xde,0x6b,0x5b,0xf2, + 0xe2,0x4a,0x2b,0x71,0x92,0x17,0x46,0x9c,0xb0,0x26,0xe0,0x85,0x79,0x45,0x5e,0x58, + 0x67,0xbc,0x14,0xaa,0x57,0x3e,0xf5,0x5b,0xb,0x5,0xf0,0xe0,0x56,0x2a,0x9d,0x73, + 0x83,0x39,0x63,0x94,0x28,0xb9,0xb1,0xe6,0xe4,0x64,0x2,0x30,0x53,0xba,0x72,0xf2, + 0x1b,0x4e,0x90,0x19,0xe8,0xab,0x75,0x25,0xba,0x6b,0x41,0xfe,0xc4,0x5b,0xc7,0x95, + 0x28,0xa5,0x6a,0x23,0x88,0x13,0x82,0x3b,0xed,0xb8,0x78,0x5b,0x78,0x1b,0xa2,0xde, + 0x34,0x2e,0x92,0xbf,0x1c,0xde,0x8c,0x1e,0xa7,0x8,0xb1,0x3e,0xb0,0x9e,0xb,0xa4, + 0xf2,0x5e,0xaa,0xb8,0xdf,0x0,0x4c,0x4,0x92,0xb,0x5d,0x43,0x4b,0xd5,0x8b,0x8, + 0x2a,0x9,0x7d,0xa8,0xb6,0x42,0x11,0xe7,0xe0,0xb,0x15,0xbe,0x14,0xa6,0xb6,0xe5, + 0x73,0x7b,0x81,0xaf,0x62,0xf9,0xe7,0x6a,0x5f,0x55,0x31,0x6a,0xd7,0x52,0xbb,0xc0, + 0x57,0x9,0xfe,0x9c,0xaf,0x7a,0x3,0x69,0x23,0x3c,0x4f,0xc1,0x2d,0xfc,0x85,0xd2, + 0x46,0x92,0xe3,0x2,0x21,0xe1,0x15,0x6c,0x5d,0x78,0x38,0x2c,0x99,0x16,0xd,0xf1, + 0x51,0x81,0x70,0xb0,0xde,0xcc,0xd7,0x24,0x48,0x60,0x0,0x67,0x98,0x79,0xb9,0x21, + 0x3b,0x5c,0x93,0x50,0x52,0x5e,0x24,0x42,0xee,0x7a,0x11,0x2,0x2d,0x7d,0xa1,0x8, + 0x1d,0x52,0x3b,0x5b,0x84,0x40,0xcd,0x7e,0x7d,0x11,0xca,0xf1,0x3c,0x9,0xb7,0x6f, + 0x98,0x15,0xf,0x7,0xab,0xeb,0xb2,0x1,0xa3,0x8e,0x85,0x3b,0xe5,0xb4,0xaa,0x5b, + 0x17,0xd8,0x75,0xf8,0xb4,0x86,0x21,0x86,0x29,0xb7,0xd2,0xe3,0x7b,0xa6,0x6c,0x16, + 0x98,0x14,0xeb,0x5c,0x20,0x4f,0x58,0x60,0xa1,0x48,0xf3,0xa,0x8f,0xbd,0x8f,0xea, + 0xb3,0xd,0x65,0x36,0xf5,0xa6,0xb2,0xf4,0xdf,0x65,0xf6,0xb1,0xf8,0x4,0xf7,0xcc, + 0x3a,0xc3,0x8e,0xc3,0x3f,0xde,0xda,0x60,0xb3,0x6d,0xc0,0xc1,0x54,0xfc,0x61,0xad, + 0x6d,0x7e,0xa7,0x5,0x1d,0x1f,0x65,0x47,0xbf,0x9f,0xa4,0x93,0x87,0x9,0x12,0x7, + 0x6a,0xa6,0x3,0xb9,0xfd,0xd4,0xbb,0x50,0xa4,0x51,0x2e,0xc,0xee,0x4b,0x3e,0xab, + 0x3f,0x87,0x2a,0x4f,0xfe,0xe7,0x7c,0x81,0x8d,0x2c,0x7d,0xaf,0xb5,0xb0,0x8,0xae, + 0x2e,0x52,0xf,0x3b,0xa2,0xef,0x19,0xd4,0x5a,0x2d,0xac,0x44,0xb4,0x74,0x9d,0x7a, + 0xb4,0xa0,0x84,0x20,0xe8,0x6b,0xf9,0x21,0x69,0xd4,0x45,0x28,0x8d,0xf3,0xcf,0xd5, + 0x28,0x19,0xf3,0x5a,0x28,0x21,0x11,0xd2,0x17,0xa0,0xd4,0x36,0x6f,0x76,0x26,0x48, + 0x20,0x65,0x2f,0x3,0x69,0x34,0xbe,0x1f,0xdd,0x37,0x40,0x3a,0x13,0x23,0x10,0xf3, + 0xaf,0x86,0x91,0x30,0xfe,0x2,0x8c,0x78,0x74,0x7f,0xbd,0x24,0x29,0x61,0xf9,0x45, + 0x20,0xb5,0x51,0x3b,0xdb,0x1d,0x81,0x9a,0x7c,0x35,0x94,0x90,0x7d,0x1d,0x43,0xa9, + 0xa0,0x87,0xe0,0xfc,0x19,0x20,0xce,0x7,0xf4,0x28,0x4a,0x15,0x6a,0xf6,0x19,0x20, + 0xda,0xc,0xc1,0x58,0x8f,0x4f,0x50,0x7b,0x31,0x4a,0xe6,0x92,0xe8,0x98,0x42,0xd, + 0x16,0x5f,0x2b,0x4b,0xdc,0x5c,0x16,0x1d,0x13,0xcc,0x5c,0x5d,0x2b,0x4b,0xdc,0xfe, + 0x1,0xd1,0x71,0x2e,0x75,0x27,0x42,0x1b,0x21,0x2a,0xd1,0xca,0x36,0xc5,0x74,0xc2, + 0x58,0x5f,0x26,0xc0,0x14,0xdb,0x20,0x58,0x11,0xce,0x59,0x5e,0x4f,0x31,0x85,0xd, + 0xb4,0x69,0x24,0x4e,0x2,0xd1,0xe,0xf2,0x26,0x56,0x96,0xbe,0x3c,0x81,0x76,0x56, + 0x33,0xda,0xb6,0xc8,0xb7,0x89,0xf6,0x2f,0x81,0x31,0xc6,0x32,0xda,0xe1,0xe0,0xd6, + 0x7a,0x66,0x6f,0x9e,0x8b,0x13,0xf2,0xa8,0x4b,0x6,0x5e,0x30,0xa6,0xeb,0xeb,0xc0, + 0x92,0xa5,0x75,0xce,0xdb,0xda,0x9a,0xb9,0x8,0xb0,0x38,0xcf,0x44,0xd,0x1f,0x11, + 0x30,0xa3,0xa1,0x37,0xf6,0x8c,0x99,0xf7,0xb7,0x5b,0x5b,0xbc,0x87,0x10,0x90,0x81, + 0x11,0x8e,0x72,0x7c,0x67,0x94,0x95,0x37,0x17,0xa2,0x73,0xc8,0x38,0x2e,0x9d,0x3b, + 0x8b,0xff,0x64,0x9b,0x9f,0x15,0xa4,0x67,0xa0,0x3b,0x9d,0x7e,0x7,0xa0,0xc1,0x75, + 0xbe,0x38,0x6b,0x4,0x97,0xe6,0xd2,0xd5,0xbd,0x15,0x67,0x5a,0x51,0x33,0x5f,0x1d, + 0xb5,0x33,0x16,0xcf,0x90,0x22,0x18,0x2b,0x78,0x6d,0xf1,0x5c,0x5,0xc,0x68,0x56, + 0xf6,0x5,0x37,0xf9,0x32,0x2d,0x83,0x2e,0x1a,0x53,0x57,0x5b,0x1d,0x40,0xae,0x4, + 0x3f,0xa5,0xeb,0x58,0xbc,0xba,0xdc,0x64,0xbc,0x85,0xc8,0x20,0x55,0xf2,0xca,0x32, + 0x9e,0xef,0x4a,0x3a,0xa7,0xb9,0x77,0x57,0xc9,0xc,0xed,0x98,0x69,0xcb,0x1b,0xbb, + 0x39,0x3c,0x90,0x70,0x22,0xae,0x29,0x32,0xcd,0xa6,0x84,0xa5,0xa,0xa4,0xb7,0x55, + 0x63,0xd5,0x8a,0x9a,0xf8,0x73,0xa0,0xc6,0x3,0x61,0x20,0x97,0x9c,0xb6,0x7,0x91, + 0x8d,0x59,0x2d,0xae,0x4,0xcd,0x9,0xed,0x7c,0x5d,0xd1,0x2c,0xb4,0x4f,0xe2,0x3f, + 0xdd,0x44,0xad,0xd9,0x96,0xe7,0xe7,0x52,0x4c,0x41,0xda,0xcc,0x69,0xd4,0xd8,0x57, + 0x43,0xad,0x8d,0xbc,0x3d,0x7a,0x1e,0xb4,0xf7,0xc7,0x68,0x53,0xae,0xe0,0xec,0x58, + 0xeb,0x48,0xc0,0xf1,0x6c,0xac,0x5,0x6a,0xae,0x85,0xda,0x33,0xb1,0xd6,0x91,0x80, + 0xe3,0x95,0x62,0x2d,0x18,0x17,0x77,0xc9,0xa9,0x99,0x79,0x41,0xdc,0xce,0x29,0x27, + 0xbf,0x28,0x6e,0x57,0xad,0x61,0xe6,0x79,0xb1,0x16,0xaf,0x66,0xe5,0x2f,0x47,0xe9, + 0x68,0x9e,0x5c,0xd2,0x33,0xea,0x72,0x59,0x3a,0x2,0xe8,0x19,0xb2,0x64,0xda,0x24, + 0xf7,0x19,0x59,0x6a,0xa3,0x76,0xb5,0x2c,0xbd,0x5d,0x44,0xca,0xe9,0x78,0xf5,0x32, + 0xb3,0xd6,0xee,0x0,0x8f,0x38,0xcb,0x76,0xc7,0x5a,0x73,0xc2,0x6f,0x78,0x34,0xf2, + 0xfc,0xe2,0x5f,0xe1,0x14,0xf0,0x3c,0x97,0x91,0xa3,0x46,0x6b,0x56,0x5e,0x36,0xad, + 0x3e,0xe7,0x5a,0x6b,0x5f,0x3,0xd,0x9e,0xda,0x38,0x34,0x16,0x52,0xd4,0x61,0x2b, + 0x5a,0xff,0x91,0xb0,0xf1,0x57,0x38,0x8f,0x3e,0x33,0x3e,0x21,0xdc,0x10,0x63,0x18, + 0x2f,0xbc,0x69,0x4,0x19,0x4,0xb7,0x12,0xbc,0x2e,0x6d,0x42,0x62,0x8,0xc8,0x60, + 0xe3,0x80,0x49,0x6,0x52,0x6b,0xf9,0xa6,0xe7,0x70,0xf5,0x28,0xb6,0xd,0x35,0xf1, + 0x9a,0xa8,0x9d,0x4a,0x4,0x8,0x34,0x1b,0x0,0x49,0x12,0xa0,0x3a,0x68,0x3a,0xf0, + 0x5c,0xd4,0xb2,0x99,0x3c,0x1e,0xe1,0x9c,0x2b,0xa7,0x78,0x1d,0x34,0x1e,0x68,0x6f, + 0xe5,0x2b,0x1c,0xcb,0xbd,0x8,0x35,0xf5,0x72,0xd4,0x2e,0xc8,0x10,0xdb,0x73,0x9b, + 0x23,0x79,0x50,0x7b,0xce,0x54,0xcb,0xaf,0xde,0xf0,0x8e,0x43,0xbe,0x59,0x5a,0x85, + 0xae,0x4e,0x42,0x31,0x5d,0xb9,0xba,0xb1,0xc6,0xa4,0x7c,0x20,0x5c,0x2d,0x2a,0xa7, + 0x3b,0x4,0x3e,0xa0,0x32,0x25,0xea,0x77,0x8,0xe,0xdb,0x8e,0x5b,0xdb,0xa6,0xb9, + 0x55,0x73,0x79,0xf1,0x85,0x7c,0xaa,0x5f,0x78,0xc0,0x2,0x69,0xfd,0x67,0xed,0x50, + 0x80,0x75,0xc8,0x23,0x76,0x3b,0x14,0xbb,0x17,0xb2,0x6,0x4c,0x2b,0xd7,0xd3,0x81, + 0x15,0x56,0x28,0xb7,0xdf,0xa1,0xb8,0x1d,0xd0,0x25,0xa8,0xfc,0xa9,0x38,0xb0,0xa1, + 0x3b,0x58,0xd1,0x97,0x49,0xfc,0xf4,0xae,0xc0,0x8e,0xae,0x7a,0xed,0x88,0x2f,0xc2, + 0x87,0x38,0xf7,0xe2,0x40,0x7c,0xbb,0xc3,0xbc,0xab,0xb8,0x4f,0xd2,0x28,0x4e,0xf7, + 0x55,0x26,0xff,0xd4,0xaa,0x76,0x8e,0xbe,0xbc,0x4c,0x56,0x3d,0x95,0xc1,0xa8,0x45, + 0x3d,0x6b,0xaf,0x5f,0x3e,0x86,0x51,0xf2,0x4,0x1,0x6c,0x56,0xfe,0x9e,0x24,0xb3, + 0x5c,0x21,0x25,0x45,0x76,0xae,0x59,0x4d,0xdc,0x15,0xf0,0x18,0xc8,0xb9,0x8a,0x73, + 0xd1,0xb2,0x72,0x43,0x67,0xee,0xdc,0x18,0xc4,0x23,0xb6,0x59,0x19,0x25,0xa3,0x15, + 0x5d,0x6f,0xec,0xaf,0xb6,0xbc,0x5a,0xac,0xf,0xba,0xaf,0xd2,0x94,0x1a,0x4c,0xc3, + 0x4d,0x9c,0x56,0xae,0xdb,0x55,0xae,0xe6,0x15,0x9d,0xca,0xeb,0x79,0x45,0xd1,0xf2, + 0x31,0x79,0x7a,0x58,0x4d,0xa2,0x78,0x49,0xc6,0x6b,0x15,0x37,0x87,0xcf,0xeb,0xfa, + 0xf7,0xf7,0xc9,0xba,0xbd,0xfe,0x69,0x32,0x7,0x24,0xfd,0x3d,0x2d,0x56,0x88,0x59, + 0xb3,0xc5,0x9e,0xb6,0x15,0x7,0xe8,0xed,0x5a,0x80,0x82,0x2c,0xae,0x9a,0x34,0x2b, + 0x37,0x84,0xa0,0xaf,0x4e,0x3a,0x25,0xb1,0x18,0x87,0xd3,0x65,0xbc,0xbf,0x40,0x57, + 0xc8,0x4f,0x3e,0xe9,0xbd,0xa4,0x26,0x29,0xc9,0x69,0x98,0xe5,0x97,0xf4,0xbe,0xc4, + 0x69,0x36,0x19,0x85,0xd3,0x42,0x8e,0x17,0xc9,0x72,0xb2,0xad,0x42,0xfa,0xeb,0x44, + 0xed,0x8a,0x8,0x11,0xc8,0x87,0x92,0x5c,0x99,0x42,0x5c,0xf,0xa5,0x34,0x2f,0x9f, + 0xc5,0x59,0x18,0x85,0x59,0x58,0x8a,0xec,0xbe,0x64,0xbf,0x83,0x7b,0x9b,0x46,0xe3, + 0xe1,0xbf,0xbe,0xff,0xa1,0x88,0x67,0x47,0xa3,0xe1,0xbf,0x93,0xf4,0x73,0x19,0xa7, + 0x52,0x83,0xf0,0x3e,0x59,0x1,0xa6,0x22,0xc6,0xa6,0x3b,0x83,0xa3,0x21,0x69,0x58, + 0x98,0x7d,0x9c,0xcc,0x20,0x85,0x74,0x61,0xf4,0xaf,0xeb,0xd9,0x14,0x9a,0x53,0x54, + 0xd4,0x1a,0xd3,0x79,0x67,0x39,0xe8,0x76,0xd8,0x34,0xde,0x5e,0x8,0x6d,0xbd,0x43, + 0x1b,0x8d,0x66,0x13,0xea,0x34,0xf8,0x25,0x9b,0x4c,0xa7,0x3f,0x12,0x91,0x6a,0xdc, + 0x3d,0xd8,0x4d,0x74,0x1f,0x1a,0x57,0xd6,0x71,0x3b,0xd8,0xaf,0x32,0x7f,0x7b,0x68, + 0x30,0x6f,0x1a,0xde,0xc7,0xd3,0xbb,0xee,0x77,0xe1,0xf4,0xbf,0xab,0xb8,0x38,0xd8, + 0x2c,0x85,0x2b,0x4d,0x56,0x8b,0x59,0x12,0x61,0x56,0xb9,0xf8,0x76,0x4b,0xf0,0xf2, + 0x77,0xbe,0x47,0xee,0xa1,0xc6,0x12,0xa5,0x2a,0x87,0xcd,0xd9,0xe1,0x15,0x3a,0xc4, + 0xb3,0x70,0x1e,0xde,0xec,0x2c,0x90,0xf5,0x46,0x29,0x2f,0x7a,0x1e,0x4f,0x8e,0x7b, + 0xe9,0xe2,0xbe,0xa0,0x50,0x86,0x4b,0x46,0xd7,0xc1,0x6e,0xca,0x74,0xe6,0xa1,0x44, + 0xad,0x48,0x19,0xd2,0xe4,0x73,0x3c,0x7c,0x2f,0x43,0xfa,0x7e,0xb3,0x7d,0x6d,0x3d, + 0x5e,0x3a,0x9c,0x7,0xec,0x2e,0x88,0x21,0x88,0xde,0xef,0xd5,0xee,0xde,0xf2,0xfb, + 0x4e,0xa,0x21,0x95,0xa3,0x7b,0x7e,0xd2,0x63,0x1e,0xfe,0xa6,0x32,0x52,0xbe,0x46, + 0xba,0x9a,0x56,0x95,0x81,0x45,0x98,0x3d,0x56,0x79,0xba,0x9b,0x5f,0x99,0x28,0x8d, + 0xc1,0xb9,0x21,0x78,0xfa,0xe1,0xe0,0x42,0x88,0xf0,0x37,0x79,0x6d,0x25,0xab,0x6a, + 0x5f,0x56,0xae,0xc4,0x45,0x6d,0x9f,0xc6,0x1,0x9b,0x86,0x60,0xd2,0x3c,0xaa,0x16, + 0xfe,0x27,0x99,0xcc,0xeb,0xa5,0x10,0x9f,0x38,0x9d,0x4e,0xf0,0x67,0xa8,0xf6,0x65, + 0x51,0x8,0x73,0x99,0xa6,0xe1,0x66,0x38,0x4f,0xe6,0x71,0xb5,0x74,0x9b,0xa2,0xd, + 0xd9,0x29,0x38,0x3b,0x1d,0xa0,0xf0,0x73,0xc7,0x5,0xc2,0x7b,0x21,0xb8,0xe8,0x21, + 0x4d,0x1,0x13,0xc1,0xc0,0xce,0x77,0x1d,0x13,0x28,0x6,0xd0,0x6c,0xf,0x3e,0x5f, + 0x28,0xee,0x99,0xec,0xa8,0x40,0x33,0xe3,0x91,0xaf,0x80,0xcd,0xde,0x33,0x27,0x8c, + 0xe9,0x20,0x20,0xe0,0xcc,0x29,0xcb,0x7b,0x96,0xae,0x17,0x20,0xb4,0xd7,0xe8,0x5c, + 0xb6,0xd4,0x81,0x42,0x24,0x6a,0x85,0xd9,0xf,0x68,0x4c,0x4f,0x82,0x23,0x56,0x7b, + 0x2d,0xf6,0xa4,0x19,0x71,0xc9,0x23,0x60,0xe5,0xd6,0x38,0x74,0x2f,0x8b,0x77,0xdd, + 0xb9,0xad,0xcc,0xb2,0x24,0xde,0x36,0xf3,0xdf,0x6b,0xb,0xcc,0x4f,0xf7,0xc1,0xd6, + 0xc6,0x15,0x5a,0x32,0x14,0xf0,0xb4,0x57,0x32,0x5b,0xf2,0xff,0x4b,0x66,0xe7,0xe1, + 0x11,0x56,0x5d,0xbb,0x6a,0x4b,0x9f,0x9d,0x63,0x91,0xb5,0xc2,0xbd,0x2f,0x41,0x96, + 0xeb,0xac,0xae,0x55,0x51,0x6c,0x14,0x78,0xd9,0x28,0xdd,0xd0,0xbd,0x24,0xe7,0xb5, + 0xf7,0xbe,0x3e,0x7c,0x4a,0x17,0x3e,0xc0,0x72,0xe3,0x25,0xaf,0xdc,0x82,0xcc,0xab, + 0x36,0xb5,0xaa,0xaa,0x3d,0x7c,0x28,0x1e,0xeb,0x6a,0x59,0xba,0x6,0xd8,0x34,0x32, + 0xa8,0x70,0xaa,0x23,0xfa,0x34,0xb4,0x9b,0x56,0xa,0xd1,0xa8,0x1e,0x37,0xe6,0xd2, + 0x8e,0x4c,0xdc,0xd0,0x8a,0x7c,0x8f,0x6e,0x56,0x19,0x86,0x26,0x9d,0x9f,0x20,0x9c, + 0xb4,0x81,0x6b,0x10,0x44,0xc9,0x80,0xb6,0x1f,0x21,0x48,0xd5,0x42,0x3c,0x59,0xa3, + 0x21,0x74,0x28,0xc5,0x0,0x4a,0x59,0xc4,0xbb,0x90,0x78,0xe1,0x68,0xaf,0x46,0x6f, + 0x4b,0xf,0x86,0xad,0x8a,0xe2,0x4e,0xbc,0x72,0xa1,0x7a,0x3f,0xd6,0xf4,0x3d,0x22, + 0x43,0x55,0xe6,0x6e,0x5,0x8,0x51,0x8d,0x10,0x9a,0x48,0x3d,0x27,0x1e,0xc7,0x5, + 0xa1,0xdc,0x74,0x79,0x68,0xb5,0xf7,0x5a,0x49,0x76,0xc2,0xde,0x53,0x60,0x5,0x85, + 0x15,0x6e,0x67,0x67,0x8d,0xb4,0x56,0x71,0xb,0x60,0xa4,0x51,0xd2,0x58,0x85,0x65, + 0x4b,0x44,0xa1,0x82,0xf2,0xd6,0x4b,0x39,0x77,0x8c,0x7b,0xd5,0x7d,0xf0,0x1d,0xf7, + 0x4c,0xa0,0xb7,0x28,0xab,0xc0,0x1b,0x9,0x86,0x90,0xb5,0x1,0x1f,0x20,0x40,0xcc, + 0x4b,0x4c,0xc7,0x21,0xe1,0x70,0x56,0xc2,0x34,0x20,0xab,0xd2,0x48,0xe,0x7b,0xe, + 0x9c,0x71,0x4c,0xa,0xd5,0x41,0x94,0xce,0x15,0xb2,0x17,0x87,0x32,0xad,0x98,0x40, + 0x20,0x89,0xde,0x28,0x45,0x77,0xb,0xbb,0xe4,0x2,0x63,0x14,0x73,0xde,0xd5,0xca, + 0x1c,0x42,0x4a,0xae,0x6c,0xd1,0xdb,0xa2,0xcc,0x83,0x4,0xb2,0x42,0xf0,0x9d,0x92, + 0x6a,0xcf,0x39,0x53,0x64,0x82,0xf2,0xfb,0xdf,0x18,0x92,0xc,0x9c,0x16,0x48,0xe2, + 0xa9,0xd0,0x32,0x84,0xa4,0xe,0x65,0xf8,0xeb,0x84,0x2d,0x8a,0x3c,0x6c,0x27,0x7a, + 0x22,0xa5,0xd7,0x45,0x5f,0x32,0xbc,0x9c,0xae,0x7a,0x39,0x65,0xf2,0x11,0x39,0x13, + 0xc8,0x5f,0x51,0x86,0x86,0x98,0x19,0x7a,0x13,0x41,0xa1,0x99,0xef,0xd0,0x79,0xa4, + 0xb7,0x10,0x55,0x47,0x26,0x1a,0x9e,0x8e,0x59,0xf4,0x66,0x58,0x99,0xf6,0x12,0xff, + 0xa3,0x52,0xfc,0x15,0x9c,0x17,0x85,0xb0,0xc7,0xb4,0x79,0xa2,0xd1,0x58,0x17,0xfd, + 0xad,0xa4,0x42,0x32,0xcd,0x62,0xa7,0x9,0x82,0x1b,0xe,0xf2,0x55,0x88,0xd,0x7c, + 0x0,0xba,0x69,0x14,0x3a,0x9,0x93,0xab,0xc8,0x9c,0xc3,0xe3,0x23,0xbf,0x2b,0x8a, + 0x78,0x1b,0x77,0x8e,0xe9,0x40,0x8b,0x61,0xa5,0x4b,0xd0,0x47,0xd,0x2b,0x8f,0xe8, + 0xdb,0x30,0xac,0x40,0x45,0x38,0x78,0xa6,0x57,0xd0,0x8b,0x3,0x69,0x6d,0x8b,0x79, + 0x90,0xf,0x73,0x38,0x9e,0x6d,0x6,0x5d,0xbc,0x71,0xba,0xfb,0x6e,0xbd,0x90,0xbd, + 0x3e,0x58,0x4b,0x29,0xaf,0x96,0x37,0x4d,0xc1,0xa5,0x7d,0x2f,0x25,0x15,0x42,0x13, + 0xb,0xae,0x23,0xaf,0xf6,0xbe,0xf3,0x37,0x12,0x94,0xed,0xdd,0xf3,0x5e,0xf1,0xd4, + 0x61,0x1d,0x8e,0x2f,0x92,0x67,0x68,0x98,0xd5,0xe6,0xcc,0xf6,0x6d,0xe3,0xd7,0xb0, + 0xdf,0x2b,0x5f,0x9a,0xa7,0x42,0xbb,0xce,0xad,0xd,0xd6,0xcf,0x34,0xa0,0x64,0xaa, + 0x20,0xd2,0xda,0x60,0x4d,0xd,0x84,0x61,0xaa,0x7a,0x7e,0x5f,0x3a,0x63,0x21,0x64, + 0xcb,0xce,0x71,0x9b,0xe7,0x3d,0xfc,0xc5,0xc2,0x51,0x1,0x51,0x23,0xfa,0x1e,0xf1, + 0xbc,0xaf,0xef,0x4e,0x1b,0x17,0x1f,0xc3,0x74,0x74,0x5c,0x94,0xda,0xd,0x5f,0xb, + 0x30,0x52,0xd6,0x5c,0xe7,0xce,0x5f,0xc1,0x35,0x6a,0x43,0x72,0x6,0xae,0x30,0x63, + 0x25,0xcf,0x2d,0x8c,0x14,0x42,0x78,0xa5,0x48,0x77,0x2d,0x25,0xfd,0xb0,0x26,0xa, + 0x46,0x4e,0x39,0x4e,0xfb,0x0,0x9e,0x5b,0x4,0x60,0xb9,0x2d,0xc9,0xb7,0xa3,0x7b, + 0x90,0xf,0x8f,0xf0,0x48,0x8a,0x23,0xfa,0x98,0x63,0x70,0x91,0xee,0x31,0xf8,0x43, + 0x67,0x9d,0xf8,0x3,0xa3,0x9b,0xb,0x94,0x97,0xf6,0x57,0xc9,0x24,0xd9,0xdd,0xf6, + 0x97,0xf,0x18,0xed,0xd8,0x18,0x89,0x27,0xce,0x24,0x82,0x16,0x77,0xa0,0xb3,0x30, + 0xd9,0x4c,0xd3,0x8f,0x59,0x7a,0xc5,0x8f,0x78,0xa0,0x83,0xc5,0x6f,0x77,0xa0,0xf8, + 0xa,0x8f,0xc,0xc6,0x7d,0xab,0x83,0x7d,0x72,0x11,0x46,0x19,0x73,0x66,0xfb,0xb6, + 0xf1,0x8f,0xea,0x6c,0xd1,0xf9,0x98,0xce,0x96,0xbf,0x29,0x3a,0xa2,0xb3,0x87,0xbf, + 0x44,0x6a,0xe8,0x6c,0xcb,0x2f,0x98,0x2a,0x4a,0x5b,0xbd,0xb1,0x7c,0xa0,0xb4,0xc, + 0x71,0x0,0x1c,0x94,0xe6,0xfa,0x84,0xf6,0x2a,0x76,0x4c,0x7b,0xf,0x63,0x9e,0x3f, + 0x47,0xd0,0x7c,0x42,0xcb,0x77,0x81,0x54,0xfe,0xe7,0x96,0xb6,0xb,0x3e,0xbe,0xfb, + 0x1f,0x28,0x56,0x23,0xc0, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/sflphone-kde3.svg + 0x0,0x0,0x57,0xe4, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x31,0x32,0x30,0x22,0xa, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x35,0x38,0x37,0x35,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73, + 0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x34,0x36,0x22,0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e, + 0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f, + 0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x73,0x66,0x6c,0x70, + 0x68,0x6f,0x6e,0x65,0x2d,0x6b,0x64,0x65,0x33,0x2e,0x73,0x76,0x67,0x22,0xa,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6f,0x75,0x74,0x70,0x75, + 0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x6f,0x72,0x67, + 0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x75,0x74,0x70,0x75,0x74, + 0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22,0x3e,0xa, + 0x20,0x20,0x3c,0x64,0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x64,0x65,0x66,0x73,0x35,0x38,0x37,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67,0x72,0x61,0x64,0x32, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63, + 0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78, + 0x31,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31, + 0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d, + 0x22,0x33,0x30,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x34,0x30,0x30,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74, + 0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x32,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74, + 0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x32,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x32,0x35,0x35,0x61,0x35,0x66,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3d,0x22,0x23,0x62,0x31,0x62,0x33,0x62,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x32,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23, + 0x31,0x35,0x32,0x64,0x33,0x32,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c, + 0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33, + 0x38,0x30,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f, + 0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66, + 0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, + 0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x30,0x35,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66, + 0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x30,0x37,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c, + 0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x34,0x36,0x38,0x36,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34, + 0x36,0x38,0x38,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79, + 0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39, + 0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66, + 0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31, + 0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x37,0x31,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b, + 0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74, + 0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x36,0x37,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74, + 0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x33,0x38,0x35,0x39,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72, + 0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33, + 0x38,0x36,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73, + 0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23, + 0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x33,0x38,0x36, + 0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70, + 0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x36,0x62,0x66,0x63,0x30,0x3b,0x73, + 0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x35,0x38,0x35,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x33,0x32,0x34,0x35,0x34,0x39,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x35,0x38,0x35,0x34,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61, + 0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c, + 0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x36,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x34,0x37,0x36,0x2e,0x33,0x31,0x32, + 0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x34,0x33, + 0x39,0x2e,0x30,0x32,0x39,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78, + 0x32,0x3d,0x22,0x34,0x37,0x37,0x2e,0x33,0x31,0x32,0x35,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x35,0x31,0x34,0x2e,0x34,0x32,0x31,0x38, + 0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61, + 0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b, + 0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74, + 0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x35,0x30,0x30,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d, + 0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x73,0x74, + 0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x35,0x30,0x30,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22, + 0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78, + 0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x38,0x36,0x32,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e, + 0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e, + 0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22, + 0x36,0x39,0x38,0x2e,0x33,0x38,0x35,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x79,0x31,0x3d,0x22,0x32,0x34,0x35,0x2e,0x35,0x34,0x37,0x32,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x37,0x30,0x32,0x2e,0x38, + 0x31,0x39,0x36,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x39,0x37,0x37,0x2e,0x37,0x38,0x33,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39, + 0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66, + 0x66,0x66,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x39,0x39,0x33,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x39,0x39,0x35,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61, + 0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61, + 0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x37, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x37,0x33,0x36, + 0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x36, + 0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x66,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d,0x22,0x39,0x31,0x2e,0x39, + 0x36,0x34,0x32,0x30,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d, + 0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e, + 0x38,0x30,0x39,0x37,0x30,0x38,0x36,0x2c,0x30,0x2c,0x39,0x39,0x2e,0x31,0x34,0x31, + 0x38,0x34,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53, + 0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73, + 0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38, + 0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30, + 0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f, + 0x7a,0x3d,0x22,0x37,0x34,0x34,0x2e,0x30,0x39,0x34,0x34,0x38,0x20,0x3a,0x20,0x35, + 0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65, + 0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x33,0x37, + 0x32,0x2e,0x30,0x34,0x37,0x32,0x34,0x20,0x3a,0x20,0x33,0x35,0x30,0x2e,0x37,0x38, + 0x37,0x33,0x39,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x35, + 0x38,0x38,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22, + 0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33, + 0x38,0x35,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38, + 0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x33, + 0x35,0x32,0x2e,0x31,0x39,0x34,0x39,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x79,0x31,0x3d,0x22,0x34,0x35,0x31,0x2e,0x35,0x35,0x32,0x38,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x30,0x36,0x2e,0x33, + 0x34,0x30,0x33,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x36,0x35,0x38,0x2e,0x33,0x39,0x35,0x39,0x34,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73, + 0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e, + 0x73,0x6c,0x61,0x74,0x65,0x28,0x2d,0x33,0x2e,0x38,0x32,0x36,0x38,0x31,0x39,0x36, + 0x2c,0x2d,0x31,0x2e,0x37,0x33,0x39,0x34,0x36,0x33,0x34,0x29,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70, + 0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76, + 0x65,0x32,0x34,0x32,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f, + 0x72,0x69,0x67,0x69,0x6e,0x3d,0x22,0x33,0x37,0x32,0x2e,0x30,0x34,0x37,0x32,0x34, + 0x20,0x3a,0x20,0x33,0x35,0x30,0x2e,0x37,0x38,0x37,0x33,0x39,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x37,0x34,0x34,0x2e,0x30,0x39,0x34,0x34, + 0x38,0x20,0x3a,0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30, + 0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a, + 0x20,0x35,0x32,0x36,0x2e,0x31,0x38,0x31,0x30,0x39,0x20,0x3a,0x20,0x31,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a, + 0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70, + 0x65,0x72,0x73,0x70,0x33,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63, + 0x74,0x69,0x76,0x65,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x32,0x34,0x33,0x37,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e,0x3d, + 0x22,0x31,0x36,0x38,0x2e,0x35,0x20,0x3a,0x20,0x31,0x30,0x39,0x2e,0x33,0x33,0x33, + 0x33,0x33,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x7a,0x3d,0x22,0x33,0x33, + 0x37,0x20,0x3a,0x20,0x31,0x36,0x34,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f, + 0x79,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30,0x20,0x3a,0x20,0x31,0x36,0x34,0x20,0x3a, + 0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x37,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x31,0x3d,0x22,0x2d,0x32,0x30,0x2e,0x36,0x35,0x37,0x39,0x32,0x35, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x32,0x34, + 0x34,0x2e,0x34,0x31,0x33,0x35,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x31,0x38,0x34,0x2e,0x35,0x37,0x39,0x31,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x37,0x38,0x39,0x2e,0x36,0x31, + 0x34,0x36,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53, + 0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x70,0x72,0x65,0x61,0x64,0x4d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22, + 0x70,0x61,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22, + 0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34, + 0x36,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36, + 0x39,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x35, + 0x32,0x2e,0x39,0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x79,0x31,0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34,0x38,0x33,0x39,0x39,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x32,0x37,0x2e, + 0x30,0x32,0x38,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32, + 0x3d,0x22,0x39,0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74, + 0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73, + 0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63, + 0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x36, + 0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x31,0x34,0x39, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63, + 0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x70,0x72,0x65,0x61,0x64,0x4d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x2d,0x32,0x30, + 0x2e,0x36,0x35,0x37,0x39,0x32,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x79,0x31,0x3d,0x22,0x2d,0x32,0x34,0x34,0x2e,0x34,0x31,0x33,0x35,0x31,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31,0x38,0x34,0x2e,0x35, + 0x37,0x39,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d, + 0x22,0x37,0x38,0x39,0x2e,0x36,0x31,0x34,0x36,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61, + 0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b, + 0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x39,0x39,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d, + 0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69, + 0x78,0x28,0x31,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2e,0x38,0x30,0x39,0x37,0x30,0x38, + 0x36,0x2c,0x30,0x2c,0x39,0x39,0x2e,0x31,0x34,0x31,0x38,0x34,0x29,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e, + 0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x78, + 0x3d,0x22,0x37,0x33,0x36,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x66,0x79,0x3d,0x22,0x36,0x34,0x30,0x2e,0x39,0x33,0x30,0x37,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d,0x22,0x39,0x31,0x2e,0x39,0x36,0x34,0x32, + 0x30,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36, + 0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65, + 0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61, + 0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x31,0x3d,0x22,0x35,0x32,0x2e,0x39,0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34, + 0x38,0x33,0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d, + 0x22,0x31,0x32,0x37,0x2e,0x30,0x32,0x38,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x39,0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74, + 0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x36,0x38,0x34, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30,0x38,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65, + 0x4f,0x6e,0x55,0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31, + 0x3d,0x22,0x35,0x32,0x2e,0x39,0x38,0x37,0x37,0x38,0x32,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x2d,0x38,0x34,0x2e,0x31,0x34,0x38,0x33, + 0x39,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x31, + 0x32,0x37,0x2e,0x30,0x32,0x38,0x31,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x79,0x32,0x3d,0x22,0x39,0x39,0x2e,0x35,0x30,0x30,0x36,0x38,0x37,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54, + 0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78, + 0x28,0x30,0x2e,0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c,0x30,0x2c,0x30,0x2c,0x30, + 0x2e,0x36,0x34,0x35,0x33,0x39,0x30,0x37,0x2c,0x30,0x2e,0x38,0x36,0x35,0x31,0x33, + 0x33,0x37,0x2c,0x30,0x2e,0x34,0x33,0x35,0x32,0x38,0x32,0x38,0x29,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61, + 0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c, + 0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x38,0x30,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x34,0x36,0x37,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69, + 0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55, + 0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61, + 0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x37,0x33,0x30,0x30,0x30,0x30,0x31,0x2c,0x30, + 0x2c,0x30,0x2c,0x30,0x2e,0x37,0x33,0x31,0x33,0x30,0x34,0x36,0x2c,0x31,0x36,0x2e, + 0x36,0x30,0x35,0x34,0x32,0x2c,0x39,0x2e,0x38,0x37,0x30,0x34,0x31,0x39,0x39,0x29, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x31,0x32,0x2e, + 0x36,0x36,0x33,0x34,0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79, + 0x31,0x3d,0x22,0x38,0x2e,0x35,0x33,0x30,0x31,0x38,0x32,0x38,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x34,0x31,0x2e,0x38,0x35,0x38,0x36, + 0x35,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x35, + 0x37,0x2e,0x35,0x33,0x33,0x32,0x37,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68, + 0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x35,0x38,0x35,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0x33,0x33,0x30,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x31,0x3d,0x22,0x2d,0x30,0x2e,0x30,0x30,0x34,0x32,0x37,0x32,0x38,0x35,0x32, + 0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x31,0x3d,0x22,0x36,0x30, + 0x2e,0x30,0x30,0x34,0x30,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x78,0x32,0x3d,0x22,0x31,0x31,0x39,0x2e,0x39,0x39,0x35,0x35,0x39,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22,0x36,0x30,0x2e,0x30,0x30,0x34, + 0x30,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x67,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73,0x3d,0x22,0x75,0x73,0x65,0x72,0x53, + 0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, + 0x3c,0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x73,0x6f,0x64,0x69,0x70, + 0x6f,0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x70,0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x66,0x66, + 0x66,0x66,0x66,0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65, + 0x72,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36,0x36,0x36,0x36,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x67, + 0x72,0x69,0x64,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30, + 0x30,0x30,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x67,0x75,0x69,0x64,0x65,0x74, + 0x6f,0x6c,0x65,0x72,0x61,0x6e,0x63,0x65,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e, + 0x63,0x65,0x3d,0x22,0x31,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65,0x73,0x68,0x61,0x64,0x6f,0x77, + 0x3d,0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x35,0x2e,0x32,0x36,0x36,0x36,0x36, + 0x36,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x63,0x78,0x3d,0x22,0x32,0x35,0x2e,0x32,0x35,0x33,0x31,0x36,0x35,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63, + 0x79,0x3d,0x22,0x36,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75,0x6e, + 0x69,0x74,0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e, + 0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x2d,0x6c, + 0x61,0x79,0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x34,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69,0x64,0x3d,0x22,0x66,0x61,0x6c, + 0x73,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22, + 0x31,0x34,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x68,0x65,0x69,0x67,0x68, + 0x74,0x3d,0x22,0x38,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x78,0x3d,0x22, + 0x2d,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22,0x2d,0x33,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65,0x73,0x3d, + 0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f,0x78,0x3d, + 0x22,0x74,0x72,0x75,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x6d,0x65,0x74, + 0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x35,0x38,0x38,0x30,0x22,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f, + 0x72,0x6d,0x61,0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78, + 0x6d,0x6c,0x3c,0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72, + 0x65,0x73,0x6f,0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f, + 0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69, + 0x74,0x79,0x70,0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a, + 0x74,0x69,0x74,0x6c,0x65,0x3e,0x49,0x63,0xc3,0xb4,0x6e,0x65,0x20,0x53,0x46,0x4c, + 0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x64,0x61,0x74,0x65,0x3e,0x32,0x30,0x30, + 0x39,0x2d,0x30,0x34,0x2d,0x32,0x39,0x3c,0x2f,0x64,0x63,0x3a,0x64,0x61,0x74,0x65, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x63,0x72, + 0x65,0x61,0x74,0x6f,0x72,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c, + 0x65,0x3e,0x4a,0xc3,0xa9,0x72,0xc3,0xb4,0x6d,0x65,0x20,0x4f,0x75,0x66,0x65,0x6c, + 0x6c,0x61,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x41,0x67,0x65, + 0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x63, + 0x3a,0x63,0x72,0x65,0x61,0x74,0x6f,0x72,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x64,0x63,0x3a,0x72,0x69,0x67,0x68,0x74,0x73,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e, + 0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x64,0x63,0x3a,0x74,0x69,0x74,0x6c,0x65,0x3e,0x28,0x63,0x29,0x20,0x32,0x30,0x30, + 0x39,0x20,0x53,0x61,0x76,0x6f,0x69,0x72,0x2d,0x66,0x61,0x69,0x72,0x65,0x20,0x4c, + 0x69,0x6e,0x75,0x78,0x20,0x69,0x6e,0x63,0x2e,0x3c,0x2f,0x64,0x63,0x3a,0x74,0x69, + 0x74,0x6c,0x65,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x63,0x63,0x3a,0x41,0x67,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x2f,0x64,0x63,0x3a,0x72,0x69,0x67,0x68,0x74,0x73,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x73,0x75,0x62,0x6a, + 0x65,0x63,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x72,0x64,0x66,0x3a,0x42,0x61,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x6c,0x69,0x3e,0x73,0x66,0x6c, + 0x20,0x69,0x63,0x6f,0x6e,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x6c,0x69,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x42, + 0x61,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x63, + 0x3a,0x73,0x75,0x62,0x6a,0x65,0x63,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x6d,0x65, + 0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70, + 0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x34,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65, + 0x6c,0x3d,0x22,0x4b,0x44,0x45,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61, + 0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61, + 0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x33,0x30,0x36,0x29,0x3b,0x66, + 0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x2e,0x30,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x34,0x33, + 0x36,0x30,0x31,0x34,0x32,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69, + 0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61, + 0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65, + 0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x64,0x69,0x73,0x70,0x6c, + 0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x35,0x39,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x34,0x39,0x2e,0x33, + 0x39,0x39,0x37,0x33,0x31,0x2c,0x32,0x33,0x2e,0x38,0x33,0x34,0x39,0x34,0x37,0x20, + 0x4c,0x20,0x32,0x33,0x2e,0x32,0x33,0x36,0x39,0x36,0x32,0x2c,0x35,0x2e,0x32,0x32, + 0x36,0x31,0x39,0x31,0x39,0x20,0x4c,0x20,0x31,0x34,0x2e,0x30,0x37,0x39,0x39,0x39, + 0x39,0x2c,0x31,0x34,0x2e,0x33,0x39,0x39,0x35,0x32,0x31,0x20,0x4c,0x20,0x33,0x31, + 0x2e,0x30,0x38,0x35,0x37,0x39,0x35,0x2c,0x33,0x39,0x2e,0x32,0x39,0x38,0x35,0x36, + 0x37,0x20,0x4c,0x20,0x30,0x2e,0x32,0x31,0x33,0x37,0x33,0x34,0x32,0x35,0x2c,0x34, + 0x35,0x2e,0x38,0x35,0x30,0x39,0x34,0x38,0x20,0x4c,0x20,0x30,0x2e,0x32,0x31,0x33, + 0x37,0x33,0x34,0x32,0x35,0x2c,0x35,0x38,0x2e,0x39,0x35,0x35,0x37,0x31,0x20,0x4c, + 0x20,0x33,0x31,0x2e,0x36,0x30,0x39,0x30,0x35,0x34,0x2c,0x36,0x34,0x2e,0x37,0x32, + 0x31,0x38,0x30,0x37,0x20,0x4c,0x20,0x31,0x32,0x2e,0x37,0x37,0x31,0x38,0x35,0x39, + 0x2c,0x39,0x31,0x2e,0x31,0x39,0x33,0x34,0x33,0x20,0x4c,0x20,0x32,0x32,0x2e,0x31, + 0x39,0x30,0x34,0x36,0x2c,0x31,0x30,0x31,0x2e,0x31,0x35,0x33,0x30,0x34,0x20,0x4c, + 0x20,0x34,0x38,0x2e,0x33,0x35,0x33,0x32,0x32,0x31,0x2c,0x38,0x32,0x2e,0x30,0x32, + 0x30,0x30,0x38,0x36,0x20,0x4c,0x20,0x35,0x33,0x2e,0x35,0x38,0x35,0x37,0x37,0x33, + 0x2c,0x31,0x31,0x34,0x2e,0x37,0x38,0x31,0x39,0x39,0x20,0x4c,0x20,0x36,0x37,0x2e, + 0x31,0x39,0x30,0x34,0x31,0x37,0x2c,0x31,0x31,0x34,0x2e,0x37,0x38,0x31,0x39,0x39, + 0x20,0x4c,0x20,0x37,0x32,0x2e,0x34,0x32,0x32,0x39,0x36,0x37,0x2c,0x38,0x31,0x2e, + 0x37,0x35,0x38,0x20,0x4c,0x20,0x39,0x38,0x2e,0x38,0x34,0x37,0x33,0x36,0x32,0x2c, + 0x31,0x30,0x31,0x2e,0x31,0x35,0x33,0x30,0x34,0x20,0x4c,0x20,0x31,0x30,0x38,0x2e, + 0x30,0x30,0x34,0x33,0x33,0x2c,0x39,0x30,0x2e,0x39,0x33,0x31,0x33,0x33,0x34,0x20, + 0x4c,0x20,0x39,0x36,0x2e,0x34,0x39,0x32,0x37,0x31,0x34,0x2c,0x37,0x35,0x2e,0x32, + 0x30,0x35,0x36,0x31,0x34,0x20,0x4c,0x20,0x39,0x36,0x2e,0x34,0x39,0x32,0x37,0x31, + 0x34,0x2c,0x36,0x32,0x2e,0x36,0x32,0x35,0x30,0x33,0x38,0x20,0x4c,0x20,0x31,0x31, + 0x39,0x2e,0x37,0x37,0x37,0x35,0x38,0x2c,0x35,0x38,0x2e,0x39,0x35,0x35,0x37,0x31, + 0x20,0x4c,0x20,0x31,0x31,0x39,0x2e,0x37,0x37,0x37,0x35,0x38,0x2c,0x34,0x35,0x2e, + 0x33,0x32,0x36,0x37,0x35,0x34,0x20,0x4c,0x20,0x39,0x33,0x2e,0x36,0x31,0x34,0x38, + 0x30,0x37,0x2c,0x34,0x30,0x2e,0x38,0x37,0x31,0x31,0x34,0x32,0x20,0x4c,0x20,0x34, + 0x39,0x2e,0x33,0x39,0x39,0x37,0x33,0x31,0x2c,0x32,0x33,0x2e,0x38,0x33,0x34,0x39, + 0x34,0x37,0x20,0x7a,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa, + 0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x69,0x72,0x63,0x6c,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72, + 0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x6c,0x61,0x74,0x65,0x28,0x2d,0x31,0x38, + 0x32,0x2e,0x31,0x35,0x39,0x37,0x33,0x2c,0x2d,0x34,0x32,0x38,0x2e,0x38,0x30,0x37, + 0x36,0x33,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30, + 0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64, + 0x74,0x68,0x3a,0x31,0x2e,0x34,0x36,0x34,0x32,0x32,0x39,0x33,0x35,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a, + 0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72, + 0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x64,0x69,0x73,0x70,0x6c,0x61,0x79, + 0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x67,0x35,0x38,0x36,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74, + 0x72,0x69,0x78,0x28,0x30,0x2e,0x34,0x36,0x38,0x35,0x38,0x30,0x36,0x2c,0x30,0x2c, + 0x30,0x2c,0x30,0x2e,0x34,0x36,0x39,0x34,0x31,0x38,0x2c,0x33,0x2e,0x39,0x39,0x38, + 0x35,0x35,0x38,0x35,0x2c,0x32,0x33,0x34,0x2e,0x37,0x36,0x32,0x37,0x33,0x29,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d, + 0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x39,0x39,0x35,0x39,0x35, + 0x36,0x36,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x32,0x32,0x30,0x32,0x31,0x31,0x37, + 0x2c,0x31,0x2e,0x36,0x38,0x36,0x31,0x30,0x34,0x33,0x2c,0x2d,0x31,0x33,0x36,0x2e, + 0x35,0x33,0x31,0x32,0x35,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x64,0x3d,0x22,0x4d,0x20,0x36,0x30,0x32,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20, + 0x41,0x20,0x39,0x32,0x2e,0x35,0x2c,0x37,0x35,0x2e,0x35,0x20,0x30,0x20,0x31,0x20, + 0x31,0x20,0x34,0x31,0x37,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20,0x41,0x20,0x39,0x32, + 0x2e,0x35,0x2c,0x37,0x35,0x2e,0x35,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x36,0x30, + 0x32,0x2c,0x35,0x34,0x34,0x2e,0x35,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d, + 0x22,0x37,0x35,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d,0x22,0x39,0x32,0x2e, + 0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69, + 0x70,0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d,0x22,0x35,0x34,0x34,0x2e,0x35,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64, + 0x69,0x3a,0x63,0x78,0x3d,0x22,0x35,0x30,0x39,0x2e,0x35,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x34,0x39, + 0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x32,0x35,0x32,0x62, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64, + 0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x31,0x2e, + 0x33,0x32,0x38,0x32,0x32,0x33,0x39,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d, + 0x6d,0x69,0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f, + 0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66, + 0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x39,0x32, + 0x30,0x30,0x38,0x35,0x33,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2e,0x31,0x34,0x30,0x36, + 0x35,0x33,0x37,0x2c,0x2d,0x31,0x36,0x38,0x2e,0x35,0x31,0x36,0x38,0x33,0x2c,0x2d, + 0x36,0x36,0x2e,0x34,0x30,0x36,0x35,0x35,0x37,0x29,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x38,0x32,0x37,0x2c,0x35,0x32, + 0x31,0x20,0x41,0x20,0x39,0x30,0x2e,0x35,0x2c,0x37,0x33,0x20,0x30,0x20,0x31,0x20, + 0x31,0x20,0x36,0x34,0x36,0x2c,0x35,0x32,0x31,0x20,0x41,0x20,0x39,0x30,0x2e,0x35, + 0x2c,0x37,0x33,0x20,0x30,0x20,0x31,0x20,0x31,0x20,0x38,0x32,0x37,0x2c,0x35,0x32, + 0x31,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x37,0x33,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x72,0x78,0x3d,0x22,0x39,0x30,0x2e,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d, + 0x22,0x35,0x32,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x78,0x3d,0x22,0x37,0x33,0x36,0x2e, + 0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x70,0x61,0x74,0x68,0x34,0x39,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x30,0x2e,0x38,0x33,0x30,0x36,0x34,0x35,0x31,0x35,0x3b,0x66,0x69,0x6c, + 0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x72,0x61,0x64,0x69,0x61,0x6c,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x35,0x32,0x39,0x37,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x72, + 0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x31,0x2e,0x34,0x32,0x39,0x32,0x38,0x32, + 0x37,0x38,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c, + 0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61, + 0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72, + 0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20, + 0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79, + 0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79, + 0x65,0x72,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x42,0x67,0x20,0x6c,0x6f,0x67, + 0x6f,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64, + 0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x36,0x66,0x38,0x32,0x3b,0x66, + 0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x66,0x69, + 0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x65,0x76,0x65,0x6e,0x6f,0x64,0x64,0x3b, + 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x36,0x66,0x38,0x32,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x30,0x2e,0x37,0x35, + 0x39,0x38,0x37,0x38,0x30,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6c,0x69, + 0x6e,0x65,0x63,0x61,0x70,0x3a,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x6c,0x69,0x6e,0x65,0x6a,0x6f,0x69,0x6e,0x3a,0x72,0x6f,0x75,0x6e, + 0x64,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69,0x74,0x65,0x72,0x6c,0x69, + 0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x64,0x61,0x73, + 0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74,0x72,0x6f, + 0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x64,0x69,0x73, + 0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x32,0x34,0x2e,0x32,0x36,0x39,0x34, + 0x31,0x34,0x2c,0x35,0x35,0x2e,0x33,0x30,0x36,0x30,0x34,0x33,0x20,0x4c,0x20,0x32, + 0x34,0x2e,0x32,0x36,0x35,0x35,0x38,0x39,0x2c,0x35,0x33,0x2e,0x35,0x35,0x39,0x30, + 0x36,0x36,0x20,0x4c,0x20,0x32,0x34,0x2e,0x38,0x33,0x34,0x36,0x34,0x39,0x2c,0x35, + 0x36,0x2e,0x33,0x39,0x37,0x30,0x32,0x37,0x20,0x4c,0x20,0x32,0x34,0x2e,0x38,0x32, + 0x38,0x34,0x32,0x39,0x2c,0x35,0x33,0x2e,0x35,0x35,0x38,0x31,0x39,0x33,0x20,0x4c, + 0x20,0x32,0x35,0x2e,0x37,0x37,0x32,0x35,0x35,0x32,0x2c,0x35,0x36,0x2e,0x33,0x32, + 0x32,0x37,0x38,0x34,0x20,0x4c,0x20,0x32,0x35,0x2e,0x37,0x36,0x35,0x33,0x38,0x32, + 0x2c,0x35,0x33,0x2e,0x30,0x34,0x37,0x32,0x30,0x33,0x20,0x4c,0x20,0x32,0x36,0x2e, + 0x35,0x32,0x34,0x39,0x32,0x32,0x2c,0x35,0x37,0x2e,0x31,0x39,0x35,0x31,0x30,0x33, + 0x20,0x4c,0x20,0x32,0x36,0x2e,0x36,0x39,0x38,0x36,0x36,0x32,0x2c,0x35,0x30,0x2e, + 0x38,0x36,0x32,0x30,0x32,0x39,0x20,0x4c,0x20,0x32,0x37,0x2e,0x32,0x37,0x38,0x38, + 0x38,0x38,0x2c,0x35,0x38,0x2e,0x37,0x39,0x35,0x33,0x33,0x33,0x20,0x4c,0x20,0x32, + 0x38,0x2e,0x31,0x39,0x35,0x37,0x35,0x32,0x2c,0x34,0x39,0x2e,0x31,0x31,0x32,0x37, + 0x31,0x39,0x20,0x4c,0x20,0x32,0x38,0x2e,0x34,0x30,0x38,0x37,0x30,0x33,0x2c,0x36, + 0x30,0x2e,0x36,0x38,0x36,0x31,0x34,0x38,0x20,0x4c,0x20,0x32,0x39,0x2e,0x31,0x33, + 0x39,0x30,0x37,0x37,0x2c,0x35,0x31,0x2e,0x35,0x31,0x33,0x33,0x35,0x35,0x20,0x4c, + 0x20,0x32,0x39,0x2e,0x37,0x31,0x35,0x39,0x34,0x36,0x2c,0x35,0x37,0x2e,0x39,0x31, + 0x38,0x30,0x35,0x36,0x20,0x4c,0x20,0x33,0x30,0x2e,0x30,0x37,0x38,0x32,0x35,0x39, + 0x2c,0x35,0x32,0x2e,0x30,0x32,0x31,0x34,0x33,0x34,0x20,0x4c,0x20,0x33,0x30,0x2e, + 0x36,0x35,0x36,0x32,0x34,0x32,0x2c,0x35,0x38,0x2e,0x39,0x33,0x35,0x36,0x37,0x20, + 0x4c,0x20,0x33,0x31,0x2e,0x30,0x30,0x38,0x38,0x32,0x38,0x2c,0x34,0x38,0x2e,0x35, + 0x39,0x38,0x38,0x32,0x33,0x20,0x4c,0x20,0x33,0x32,0x2e,0x31,0x36,0x34,0x31,0x36, + 0x33,0x2c,0x36,0x32,0x2e,0x31,0x33,0x36,0x31,0x33,0x34,0x20,0x4c,0x20,0x33,0x31, + 0x2e,0x37,0x35,0x31,0x34,0x37,0x31,0x2c,0x34,0x35,0x2e,0x30,0x33,0x30,0x39,0x31, + 0x34,0x20,0x4c,0x20,0x33,0x33,0x2e,0x38,0x36,0x30,0x30,0x31,0x36,0x2c,0x36,0x35, + 0x2e,0x34,0x38,0x31,0x38,0x37,0x39,0x20,0x4c,0x20,0x33,0x33,0x2e,0x32,0x35,0x32, + 0x37,0x30,0x31,0x2c,0x34,0x35,0x2e,0x31,0x37,0x34,0x31,0x36,0x36,0x20,0x4c,0x20, + 0x33,0x34,0x2e,0x39,0x38,0x36,0x34,0x38,0x35,0x2c,0x36,0x35,0x2e,0x38,0x34,0x34, + 0x30,0x38,0x31,0x20,0x4c,0x20,0x33,0x34,0x2e,0x31,0x38,0x39,0x31,0x36,0x36,0x2c, + 0x34,0x34,0x2e,0x34,0x34,0x34,0x38,0x30,0x33,0x20,0x4c,0x20,0x33,0x35,0x2e,0x33, + 0x35,0x31,0x30,0x33,0x36,0x2c,0x36,0x30,0x2e,0x39,0x36,0x36,0x35,0x33,0x32,0x20, + 0x4c,0x20,0x33,0x35,0x2e,0x37,0x30,0x33,0x31,0x34,0x37,0x2c,0x35,0x30,0x2e,0x34, + 0x31,0x31,0x33,0x30,0x36,0x20,0x4c,0x20,0x33,0x36,0x2e,0x32,0x38,0x38,0x37,0x38, + 0x32,0x2c,0x36,0x30,0x2e,0x38,0x31,0x39,0x34,0x39,0x36,0x20,0x4c,0x20,0x33,0x37, + 0x2e,0x30,0x31,0x31,0x30,0x31,0x37,0x2c,0x34,0x37,0x2e,0x39,0x33,0x34,0x33,0x38, + 0x37,0x20,0x4c,0x20,0x33,0x37,0x2e,0x30,0x33,0x34,0x39,0x33,0x32,0x2c,0x35,0x38, + 0x2e,0x38,0x35,0x32,0x39,0x37,0x36,0x20,0x4c,0x20,0x33,0x37,0x2e,0x39,0x34,0x32, + 0x37,0x31,0x33,0x2c,0x34,0x35,0x2e,0x30,0x32,0x31,0x33,0x30,0x36,0x20,0x4c,0x20, + 0x33,0x37,0x2e,0x37,0x39,0x30,0x39,0x36,0x33,0x2c,0x36,0x31,0x2e,0x33,0x39,0x39, + 0x34,0x39,0x35,0x20,0x4c,0x20,0x33,0x38,0x2e,0x36,0x39,0x36,0x39,0x39,0x2c,0x34, + 0x36,0x2e,0x37,0x36,0x37,0x31,0x31,0x35,0x20,0x4c,0x20,0x33,0x39,0x2e,0x31,0x31, + 0x33,0x31,0x38,0x33,0x2c,0x36,0x35,0x2e,0x34,0x37,0x33,0x37,0x32,0x34,0x20,0x4c, + 0x20,0x34,0x30,0x2e,0x31,0x39,0x30,0x34,0x30,0x35,0x2c,0x34,0x33,0x2e,0x33,0x34, + 0x33,0x36,0x32,0x35,0x20,0x4c,0x20,0x34,0x30,0x2e,0x34,0x33,0x30,0x34,0x36,0x35, + 0x2c,0x36,0x37,0x2e,0x32,0x39,0x31,0x34,0x35,0x37,0x20,0x4c,0x20,0x34,0x31,0x2e, + 0x33,0x31,0x30,0x36,0x36,0x33,0x2c,0x34,0x30,0x2e,0x38,0x36,0x36,0x39,0x39,0x35, + 0x20,0x4c,0x20,0x34,0x31,0x2e,0x37,0x34,0x37,0x30,0x39,0x39,0x2c,0x36,0x38,0x2e, + 0x38,0x31,0x38,0x30,0x31,0x33,0x20,0x4c,0x20,0x34,0x32,0x2e,0x34,0x33,0x32,0x33, + 0x35,0x38,0x2c,0x33,0x39,0x2e,0x30,0x34,0x35,0x34,0x38,0x31,0x20,0x4c,0x20,0x34, + 0x32,0x2e,0x38,0x37,0x35,0x31,0x37,0x39,0x2c,0x36,0x39,0x2e,0x39,0x30,0x38,0x31, + 0x31,0x31,0x20,0x4c,0x20,0x34,0x33,0x2e,0x33,0x36,0x38,0x33,0x35,0x36,0x2c,0x33, + 0x38,0x2e,0x30,0x39,0x37,0x37,0x34,0x39,0x20,0x4c,0x20,0x34,0x34,0x2e,0x33,0x38, + 0x30,0x30,0x36,0x34,0x2c,0x37,0x31,0x2e,0x37,0x32,0x35,0x35,0x36,0x31,0x20,0x4c, + 0x20,0x34,0x34,0x2e,0x33,0x31,0x34,0x30,0x37,0x36,0x2c,0x34,0x31,0x2e,0x35,0x39, + 0x30,0x32,0x34,0x33,0x20,0x4c,0x20,0x34,0x35,0x2e,0x31,0x32,0x34,0x33,0x30,0x31, + 0x2c,0x36,0x38,0x2e,0x38,0x38,0x35,0x35,0x36,0x37,0x20,0x4c,0x20,0x34,0x35,0x2e, + 0x34,0x34,0x37,0x32,0x34,0x38,0x2c,0x34,0x35,0x2e,0x30,0x30,0x39,0x36,0x35,0x36, + 0x20,0x4c,0x20,0x34,0x36,0x2e,0x30,0x35,0x35,0x33,0x36,0x2c,0x36,0x35,0x2e,0x36, + 0x38,0x31,0x33,0x32,0x20,0x4c,0x20,0x34,0x36,0x2e,0x33,0x39,0x32,0x39,0x36,0x2c, + 0x34,0x38,0x2e,0x35,0x30,0x32,0x31,0x35,0x32,0x20,0x4c,0x20,0x34,0x37,0x2e,0x33, + 0x36,0x34,0x38,0x32,0x2c,0x36,0x33,0x2e,0x39,0x33,0x32,0x33,0x30,0x35,0x20,0x4c, + 0x20,0x34,0x37,0x2e,0x35,0x32,0x30,0x32,0x33,0x35,0x2c,0x34,0x39,0x2e,0x32,0x32, + 0x38,0x33,0x30,0x38,0x20,0x4c,0x20,0x34,0x38,0x2e,0x31,0x31,0x34,0x37,0x39,0x34, + 0x2c,0x36,0x33,0x2e,0x37,0x31,0x32,0x37,0x37,0x32,0x20,0x4c,0x20,0x34,0x38,0x2e, + 0x36,0x34,0x37,0x36,0x37,0x31,0x2c,0x35,0x30,0x2e,0x30,0x32,0x37,0x32,0x35,0x39, + 0x20,0x4c,0x20,0x34,0x39,0x2e,0x34,0x32,0x34,0x31,0x30,0x34,0x2c,0x36,0x31,0x2e, + 0x38,0x39,0x30,0x39,0x37,0x36,0x20,0x4c,0x20,0x34,0x39,0x2e,0x30,0x32,0x34,0x30, + 0x31,0x32,0x2c,0x35,0x30,0x2e,0x35,0x33,0x36,0x32,0x31,0x32,0x20,0x4c,0x20,0x35, + 0x30,0x2e,0x35,0x34,0x38,0x35,0x30,0x39,0x2c,0x36,0x31,0x2e,0x33,0x30,0x36,0x38, + 0x39,0x38,0x20,0x4c,0x20,0x35,0x30,0x2e,0x31,0x35,0x33,0x30,0x33,0x39,0x2c,0x35, + 0x32,0x2e,0x30,0x36,0x33,0x30,0x36,0x38,0x20,0x4c,0x20,0x35,0x31,0x2e,0x32,0x38, + 0x39,0x32,0x33,0x39,0x2c,0x35,0x36,0x2e,0x38,0x36,0x35,0x35,0x30,0x31,0x20,0x4c, + 0x20,0x35,0x31,0x2e,0x35,0x37,0x33,0x31,0x31,0x32,0x2c,0x33,0x34,0x2e,0x35,0x39, + 0x35,0x37,0x34,0x37,0x20,0x4c,0x20,0x35,0x32,0x2e,0x36,0x30,0x32,0x32,0x31,0x32, + 0x2c,0x35,0x36,0x2e,0x37,0x31,0x37,0x38,0x38,0x34,0x20,0x4c,0x20,0x35,0x32,0x2e, + 0x37,0x32,0x30,0x30,0x32,0x2c,0x33,0x31,0x2e,0x33,0x32,0x30,0x39,0x33,0x37,0x20, + 0x4c,0x20,0x35,0x33,0x2e,0x33,0x35,0x32,0x39,0x38,0x35,0x2c,0x35,0x36,0x2e,0x38, + 0x36,0x32,0x33,0x20,0x4c,0x20,0x35,0x34,0x2e,0x34,0x31,0x35,0x34,0x2c,0x33,0x34, + 0x2e,0x34,0x35,0x32,0x31,0x35,0x36,0x20,0x4c,0x20,0x35,0x34,0x2e,0x35,0x33,0x35, + 0x37,0x38,0x36,0x2c,0x36,0x39,0x2e,0x39,0x37,0x37,0x37,0x35,0x34,0x20,0x4c,0x20, + 0x35,0x35,0x2e,0x35,0x33,0x38,0x30,0x34,0x38,0x2c,0x33,0x33,0x2e,0x30,0x36,0x35, + 0x36,0x37,0x39,0x20,0x4c,0x20,0x35,0x36,0x2e,0x30,0x31,0x30,0x38,0x34,0x37,0x2c, + 0x37,0x31,0x2e,0x31,0x33,0x38,0x34,0x31,0x32,0x20,0x4c,0x20,0x35,0x36,0x2e,0x33, + 0x32,0x36,0x34,0x36,0x2c,0x33,0x30,0x2e,0x39,0x34,0x39,0x32,0x34,0x39,0x20,0x4c, + 0x20,0x35,0x37,0x2e,0x36,0x38,0x30,0x38,0x33,0x35,0x2c,0x37,0x35,0x2e,0x36,0x34, + 0x31,0x36,0x20,0x4c,0x20,0x35,0x37,0x2e,0x34,0x33,0x36,0x38,0x32,0x37,0x2c,0x33, + 0x30,0x2e,0x34,0x33,0x37,0x39,0x38,0x39,0x20,0x4c,0x20,0x35,0x38,0x2e,0x37,0x39, + 0x36,0x32,0x37,0x33,0x2c,0x37,0x37,0x2e,0x34,0x34,0x37,0x32,0x36,0x39,0x20,0x4c, + 0x20,0x35,0x38,0x2e,0x38,0x39,0x31,0x37,0x38,0x38,0x2c,0x32,0x38,0x2e,0x39,0x30, + 0x34,0x31,0x33,0x34,0x20,0x4c,0x20,0x35,0x39,0x2e,0x37,0x38,0x30,0x37,0x35,0x37, + 0x2c,0x37,0x39,0x2e,0x31,0x39,0x30,0x31,0x35,0x39,0x20,0x4c,0x20,0x35,0x39,0x2e, + 0x36,0x36,0x39,0x35,0x31,0x35,0x2c,0x32,0x38,0x2e,0x33,0x39,0x31,0x32,0x35,0x36, + 0x20,0x4c,0x20,0x36,0x30,0x2e,0x38,0x39,0x35,0x37,0x36,0x33,0x2c,0x38,0x30,0x2e, + 0x37,0x39,0x37,0x30,0x37,0x20,0x4c,0x20,0x36,0x30,0x2e,0x37,0x39,0x35,0x31,0x39, + 0x37,0x2c,0x32,0x38,0x2e,0x33,0x38,0x39,0x35,0x30,0x38,0x20,0x4c,0x20,0x36,0x32, + 0x2e,0x36,0x30,0x32,0x31,0x34,0x35,0x2c,0x38,0x32,0x2e,0x34,0x37,0x30,0x33,0x31, + 0x37,0x20,0x4c,0x20,0x36,0x32,0x2e,0x37,0x30,0x37,0x35,0x31,0x31,0x2c,0x34,0x34, + 0x2e,0x39,0x31,0x30,0x30,0x37,0x31,0x20,0x4c,0x20,0x36,0x33,0x2e,0x33,0x38,0x39, + 0x35,0x39,0x36,0x2c,0x37,0x39,0x2e,0x39,0x31,0x35,0x38,0x37,0x37,0x20,0x4c,0x20, + 0x36,0x33,0x2e,0x32,0x37,0x35,0x39,0x33,0x31,0x2c,0x34,0x37,0x2e,0x34,0x35,0x36, + 0x38,0x37,0x31,0x20,0x4c,0x20,0x36,0x35,0x2e,0x30,0x32,0x35,0x30,0x31,0x37,0x2c, + 0x38,0x31,0x2e,0x35,0x39,0x36,0x39,0x32,0x34,0x20,0x4c,0x20,0x36,0x34,0x2e,0x32, + 0x31,0x36,0x30,0x36,0x39,0x2c,0x34,0x38,0x2e,0x34,0x30,0x31,0x36,0x39,0x34,0x20, + 0x4c,0x20,0x36,0x34,0x2e,0x39,0x33,0x36,0x39,0x33,0x34,0x2c,0x38,0x31,0x2e,0x36, + 0x36,0x36,0x30,0x30,0x39,0x20,0x4c,0x20,0x36,0x33,0x2e,0x37,0x39,0x37,0x30,0x30, + 0x38,0x2c,0x32,0x38,0x2e,0x33,0x38,0x34,0x38,0x35,0x31,0x20,0x4c,0x20,0x36,0x36, + 0x2e,0x37,0x35,0x32,0x39,0x32,0x32,0x2c,0x38,0x30,0x2e,0x31,0x32,0x39,0x34,0x35, + 0x37,0x20,0x4c,0x20,0x36,0x34,0x2e,0x35,0x34,0x39,0x33,0x37,0x34,0x2c,0x32,0x39, + 0x2e,0x32,0x35,0x37,0x31,0x37,0x32,0x20,0x4c,0x20,0x36,0x37,0x2e,0x37,0x30,0x32, + 0x39,0x35,0x31,0x2c,0x37,0x39,0x2e,0x31,0x30,0x36,0x33,0x34,0x34,0x20,0x4c,0x20, + 0x36,0x36,0x2e,0x32,0x39,0x36,0x34,0x34,0x31,0x2c,0x33,0x30,0x2e,0x30,0x35,0x36, + 0x30,0x31,0x35,0x20,0x4c,0x20,0x36,0x39,0x2e,0x33,0x37,0x35,0x38,0x33,0x35,0x2c, + 0x37,0x38,0x2e,0x34,0x34,0x37,0x33,0x35,0x36,0x20,0x4c,0x20,0x36,0x39,0x2e,0x30, + 0x35,0x34,0x30,0x30,0x35,0x2c,0x33,0x30,0x2e,0x31,0x32,0x33,0x36,0x36,0x39,0x20, + 0x43,0x20,0x36,0x39,0x2e,0x30,0x35,0x34,0x30,0x30,0x35,0x2c,0x33,0x30,0x2e,0x31, + 0x32,0x33,0x36,0x36,0x39,0x20,0x37,0x30,0x2e,0x32,0x39,0x32,0x36,0x38,0x33,0x2c, + 0x38,0x31,0x2e,0x37,0x33,0x30,0x34,0x39,0x32,0x20,0x37,0x30,0x2e,0x36,0x36,0x37, + 0x31,0x31,0x38,0x2c,0x38,0x31,0x2e,0x33,0x36,0x35,0x39,0x34,0x37,0x20,0x43,0x20, + 0x37,0x31,0x2e,0x30,0x34,0x31,0x35,0x34,0x31,0x2c,0x38,0x31,0x2e,0x30,0x30,0x31, + 0x34,0x31,0x31,0x20,0x37,0x31,0x2e,0x34,0x39,0x34,0x30,0x38,0x38,0x2c,0x33,0x30, + 0x2e,0x36,0x32,0x39,0x34,0x31,0x38,0x20,0x37,0x31,0x2e,0x34,0x39,0x34,0x30,0x38, + 0x38,0x2c,0x33,0x30,0x2e,0x36,0x32,0x39,0x34,0x31,0x38,0x20,0x4c,0x20,0x37,0x31, + 0x2e,0x35,0x39,0x39,0x31,0x31,0x35,0x2c,0x37,0x38,0x2e,0x35,0x39,0x30,0x33,0x33, + 0x38,0x20,0x4c,0x20,0x37,0x32,0x2e,0x34,0x33,0x34,0x38,0x37,0x31,0x2c,0x33,0x31, + 0x2e,0x38,0x36,0x35,0x34,0x30,0x33,0x20,0x4c,0x20,0x37,0x32,0x2e,0x35,0x35,0x30, + 0x30,0x39,0x34,0x2c,0x37,0x38,0x2e,0x30,0x30,0x35,0x32,0x35,0x36,0x20,0x4c,0x20, + 0x37,0x33,0x2e,0x33,0x37,0x33,0x38,0x38,0x38,0x2c,0x33,0x32,0x2e,0x33,0x30,0x30, + 0x36,0x39,0x31,0x20,0x4c,0x20,0x37,0x33,0x2e,0x34,0x38,0x36,0x30,0x39,0x38,0x2c, + 0x37,0x37,0x2e,0x30,0x36,0x32,0x32,0x32,0x38,0x20,0x4c,0x20,0x37,0x34,0x2e,0x36, + 0x39,0x32,0x34,0x34,0x31,0x2c,0x33,0x34,0x2e,0x37,0x30,0x30,0x37,0x34,0x35,0x20, + 0x4c,0x20,0x37,0x34,0x2e,0x39,0x36,0x39,0x35,0x33,0x31,0x2c,0x37,0x35,0x2e,0x35, + 0x36,0x34,0x35,0x39,0x36,0x20,0x4c,0x20,0x37,0x36,0x2e,0x31,0x39,0x36,0x33,0x37, + 0x33,0x2c,0x33,0x36,0x2e,0x30,0x38,0x31,0x34,0x33,0x35,0x20,0x4c,0x20,0x37,0x36, + 0x2e,0x32,0x38,0x38,0x33,0x39,0x33,0x2c,0x37,0x31,0x2e,0x36,0x32,0x30,0x37,0x34, + 0x39,0x20,0x4c,0x20,0x37,0x37,0x2e,0x31,0x36,0x37,0x34,0x36,0x2c,0x33,0x38,0x2e, + 0x31,0x39,0x33,0x34,0x32,0x35,0x20,0x4c,0x20,0x37,0x37,0x2e,0x39,0x35,0x35,0x31, + 0x36,0x33,0x2c,0x36,0x31,0x2e,0x36,0x38,0x39,0x35,0x37,0x37,0x20,0x4c,0x20,0x37, + 0x38,0x2e,0x36,0x37,0x32,0x35,0x31,0x38,0x2c,0x34,0x30,0x2e,0x30,0x38,0x36,0x32, + 0x31,0x34,0x20,0x4c,0x20,0x37,0x39,0x2e,0x32,0x36,0x36,0x37,0x30,0x36,0x2c,0x36, + 0x30,0x2e,0x38,0x38,0x34,0x37,0x30,0x34,0x20,0x4c,0x20,0x38,0x30,0x2e,0x37,0x32, + 0x37,0x36,0x34,0x38,0x2c,0x34,0x32,0x2e,0x36,0x33,0x32,0x38,0x34,0x31,0x20,0x4c, + 0x20,0x38,0x31,0x2e,0x35,0x31,0x38,0x30,0x37,0x37,0x2c,0x36,0x37,0x2e,0x33,0x36, + 0x38,0x31,0x33,0x31,0x20,0x4c,0x20,0x38,0x31,0x2e,0x38,0x37,0x33,0x31,0x34,0x38, + 0x2c,0x34,0x35,0x2e,0x31,0x39,0x31,0x31,0x32,0x33,0x20,0x4c,0x20,0x38,0x32,0x2e, + 0x38,0x35,0x36,0x35,0x36,0x33,0x2c,0x36,0x35,0x2e,0x39,0x30,0x34,0x36,0x39,0x37, + 0x20,0x4c,0x20,0x38,0x33,0x2e,0x31,0x36,0x30,0x32,0x35,0x31,0x2c,0x34,0x36,0x2e, + 0x32,0x30,0x30,0x39,0x34,0x32,0x20,0x4c,0x20,0x38,0x34,0x2e,0x31,0x36,0x34,0x32, + 0x38,0x38,0x2c,0x36,0x33,0x2e,0x33,0x35,0x35,0x34,0x31,0x20,0x4c,0x20,0x38,0x34, + 0x2e,0x35,0x30,0x34,0x33,0x32,0x32,0x2c,0x34,0x37,0x2e,0x32,0x38,0x39,0x38,0x36, + 0x34,0x20,0x4c,0x20,0x38,0x35,0x2e,0x39,0x39,0x32,0x37,0x33,0x36,0x2c,0x36,0x31, + 0x2e,0x30,0x32,0x37,0x35,0x33,0x33,0x20,0x4c,0x20,0x38,0x35,0x2e,0x38,0x33,0x37, + 0x32,0x34,0x34,0x2c,0x34,0x39,0x2e,0x37,0x36,0x33,0x35,0x34,0x31,0x20,0x4c,0x20, + 0x38,0x37,0x2e,0x31,0x36,0x32,0x39,0x30,0x35,0x2c,0x36,0x31,0x2e,0x38,0x39,0x36, + 0x32,0x31,0x34,0x20,0x4c,0x20,0x38,0x37,0x2e,0x33,0x34,0x30,0x37,0x30,0x34,0x2c, + 0x35,0x30,0x2e,0x39,0x32,0x36,0x37,0x31,0x36,0x20,0x4c,0x20,0x38,0x39,0x2e,0x33, + 0x33,0x38,0x34,0x39,0x35,0x2c,0x35,0x39,0x2e,0x37,0x31,0x35,0x30,0x39,0x31,0x20, + 0x4c,0x20,0x38,0x39,0x2e,0x34,0x30,0x35,0x36,0x39,0x36,0x2c,0x35,0x31,0x2e,0x35, + 0x30,0x31,0x35,0x36,0x39,0x20,0x4c,0x20,0x39,0x30,0x2e,0x39,0x30,0x38,0x31,0x34, + 0x36,0x2c,0x36,0x30,0x2e,0x30,0x38,0x30,0x38,0x37,0x36,0x20,0x4c,0x20,0x39,0x30, + 0x2e,0x39,0x36,0x35,0x38,0x2c,0x35,0x32,0x2e,0x35,0x39,0x30,0x35,0x38,0x32,0x20, + 0x4c,0x20,0x39,0x32,0x2e,0x32,0x32,0x38,0x37,0x37,0x32,0x2c,0x35,0x36,0x2e,0x39, + 0x33,0x39,0x38,0x34,0x37,0x20,0x4c,0x20,0x39,0x32,0x2e,0x35,0x31,0x37,0x38,0x36, + 0x2c,0x35,0x30,0x2e,0x30,0x32,0x38,0x35,0x33,0x38,0x20,0x4c,0x20,0x39,0x33,0x2e, + 0x30,0x35,0x33,0x30,0x39,0x31,0x2c,0x35,0x38,0x2e,0x32,0x35,0x33,0x30,0x37,0x39, + 0x20,0x4c,0x20,0x39,0x33,0x2e,0x35,0x34,0x39,0x37,0x34,0x37,0x2c,0x35,0x33,0x2e, + 0x39,0x36,0x34,0x39,0x30,0x32,0x20,0x43,0x20,0x39,0x33,0x2e,0x35,0x34,0x39,0x37, + 0x34,0x37,0x2c,0x35,0x33,0x2e,0x39,0x36,0x34,0x39,0x30,0x32,0x20,0x39,0x34,0x2e, + 0x33,0x34,0x38,0x35,0x30,0x39,0x2c,0x35,0x36,0x2e,0x35,0x37,0x30,0x38,0x39,0x39, + 0x20,0x39,0x34,0x2e,0x33,0x34,0x37,0x37,0x31,0x31,0x2c,0x35,0x36,0x2e,0x32,0x30, + 0x36,0x39,0x34,0x35,0x20,0x43,0x20,0x39,0x34,0x2e,0x33,0x34,0x36,0x39,0x30,0x35, + 0x2c,0x35,0x35,0x2e,0x38,0x34,0x32,0x39,0x39,0x36,0x20,0x39,0x35,0x2e,0x34,0x34, + 0x31,0x35,0x32,0x31,0x2c,0x35,0x34,0x2e,0x36,0x31,0x34,0x35,0x32,0x34,0x20,0x39, + 0x35,0x2e,0x32,0x35,0x32,0x34,0x34,0x36,0x2c,0x35,0x33,0x2e,0x39,0x35,0x39,0x36, + 0x39,0x35,0x20,0x43,0x20,0x39,0x35,0x2e,0x30,0x36,0x33,0x34,0x30,0x36,0x2c,0x35, + 0x33,0x2e,0x33,0x30,0x34,0x38,0x37,0x36,0x20,0x39,0x36,0x2e,0x30,0x34,0x39,0x31, + 0x35,0x34,0x2c,0x35,0x35,0x2e,0x36,0x32,0x37,0x30,0x39,0x37,0x20,0x39,0x36,0x2e, + 0x30,0x34,0x39,0x31,0x35,0x34,0x2c,0x35,0x35,0x2e,0x36,0x32,0x37,0x30,0x39,0x37, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74, + 0x68,0x34,0x39,0x32,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x6f,0x64,0x65,0x74,0x79,0x70,0x65,0x73, + 0x3d,0x22,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x73,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, + 0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d, + 0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x32,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c, + 0x3d,0x22,0x48,0x61,0x6e,0x64,0x73,0x65,0x74,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69, + 0x6e,0x6c,0x69,0x6e,0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74, + 0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x30,0x37,0x30,0x30,0x30,0x30, + 0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e, + 0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x35,0x33,0x30,0x38,0x29, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b, + 0x66,0x69,0x6c,0x6c,0x2d,0x72,0x75,0x6c,0x65,0x3a,0x6e,0x6f,0x6e,0x7a,0x65,0x72, + 0x6f,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a,0x6e,0x6f,0x6e,0x65,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x31,0x32,0x2e,0x32,0x39, + 0x36,0x39,0x39,0x39,0x39,0x33,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6d,0x69, + 0x74,0x65,0x72,0x6c,0x69,0x6d,0x69,0x74,0x3a,0x34,0x3b,0x73,0x74,0x72,0x6f,0x6b, + 0x65,0x2d,0x64,0x61,0x73,0x68,0x61,0x72,0x72,0x61,0x79,0x3a,0x6e,0x6f,0x6e,0x65, + 0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x69,0x6e,0x6c,0x69,0x6e,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x35,0x39, + 0x2e,0x31,0x35,0x31,0x39,0x38,0x35,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30, + 0x39,0x20,0x43,0x20,0x33,0x30,0x2e,0x39,0x36,0x37,0x35,0x33,0x36,0x2c,0x38,0x2e, + 0x32,0x34,0x39,0x34,0x33,0x33,0x20,0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31, + 0x2c,0x33,0x31,0x2e,0x33,0x35,0x34,0x36,0x37,0x35,0x20,0x38,0x2e,0x33,0x32,0x37, + 0x34,0x36,0x34,0x31,0x2c,0x35,0x39,0x2e,0x37,0x31,0x30,0x33,0x38,0x38,0x20,0x43, + 0x20,0x38,0x2e,0x33,0x32,0x37,0x34,0x36,0x34,0x31,0x2c,0x36,0x38,0x2e,0x32,0x32, + 0x32,0x30,0x36,0x35,0x20,0x31,0x30,0x2e,0x33,0x37,0x35,0x34,0x39,0x35,0x2c,0x37, + 0x36,0x2e,0x32,0x34,0x36,0x39,0x38,0x33,0x20,0x31,0x33,0x2e,0x39,0x39,0x34,0x38, + 0x30,0x32,0x2c,0x38,0x33,0x2e,0x33,0x34,0x37,0x38,0x32,0x33,0x20,0x43,0x20,0x31, + 0x33,0x2e,0x31,0x30,0x37,0x38,0x33,0x34,0x2c,0x37,0x39,0x2e,0x35,0x33,0x36,0x36, + 0x36,0x32,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35,0x31,0x35,0x2c,0x37,0x35,0x2e, + 0x35,0x36,0x38,0x36,0x37,0x37,0x20,0x31,0x32,0x2e,0x36,0x34,0x33,0x35,0x31,0x35, + 0x2c,0x37,0x31,0x2e,0x34,0x38,0x38,0x37,0x36,0x39,0x20,0x43,0x20,0x31,0x32,0x2e, + 0x36,0x34,0x33,0x35,0x31,0x35,0x2c,0x34,0x32,0x2e,0x36,0x38,0x32,0x39,0x36,0x34, + 0x20,0x33,0x36,0x2e,0x30,0x31,0x33,0x35,0x31,0x39,0x2c,0x31,0x39,0x2e,0x32,0x39, + 0x32,0x37,0x39,0x33,0x20,0x36,0x34,0x2e,0x38,0x31,0x39,0x33,0x32,0x32,0x2c,0x31, + 0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x33,0x20,0x43,0x20,0x38,0x35,0x2e,0x31,0x31, + 0x30,0x35,0x31,0x36,0x2c,0x31,0x39,0x2e,0x32,0x39,0x32,0x37,0x39,0x32,0x20,0x31, + 0x30,0x32,0x2e,0x36,0x39,0x37,0x30,0x36,0x2c,0x33,0x30,0x2e,0x39,0x30,0x34,0x38, + 0x34,0x31,0x20,0x31,0x31,0x31,0x2e,0x33,0x32,0x37,0x37,0x39,0x2c,0x34,0x37,0x2e, + 0x38,0x33,0x31,0x31,0x36,0x35,0x20,0x43,0x20,0x31,0x30,0x35,0x2e,0x39,0x34,0x35, + 0x34,0x2c,0x32,0x34,0x2e,0x37,0x34,0x33,0x36,0x35,0x36,0x20,0x38,0x35,0x2e,0x32, + 0x32,0x32,0x33,0x31,0x31,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20, + 0x36,0x30,0x2e,0x35,0x30,0x33,0x32,0x37,0x32,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35, + 0x38,0x30,0x39,0x20,0x43,0x20,0x36,0x30,0x2e,0x30,0x35,0x33,0x31,0x38,0x2c,0x37, + 0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39,0x20,0x35,0x39,0x2e,0x35,0x39,0x39,0x33, + 0x35,0x36,0x2c,0x37,0x2e,0x35,0x32,0x33,0x32,0x33,0x34,0x32,0x20,0x35,0x39,0x2e, + 0x31,0x35,0x31,0x39,0x38,0x35,0x2c,0x37,0x2e,0x35,0x33,0x34,0x35,0x38,0x30,0x39, + 0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70, + 0x61,0x74,0x68,0x34,0x36,0x37,0x39,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x36,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x38,0x31,0x2e,0x31,0x35,0x38,0x39,0x35,0x33, + 0x2c,0x37,0x38,0x2e,0x36,0x30,0x32,0x34,0x37,0x34,0x20,0x43,0x20,0x38,0x30,0x2e, + 0x39,0x30,0x37,0x30,0x36,0x32,0x2c,0x37,0x39,0x2e,0x32,0x36,0x37,0x34,0x31,0x31, + 0x20,0x37,0x38,0x2e,0x32,0x39,0x37,0x37,0x33,0x31,0x2c,0x38,0x31,0x2e,0x37,0x33, + 0x39,0x32,0x32,0x38,0x20,0x37,0x37,0x2e,0x30,0x38,0x30,0x32,0x39,0x38,0x2c,0x38, + 0x32,0x2e,0x34,0x36,0x36,0x31,0x39,0x32,0x20,0x4c,0x20,0x37,0x35,0x2e,0x37,0x33, + 0x34,0x34,0x36,0x37,0x2c,0x38,0x33,0x2e,0x32,0x36,0x39,0x38,0x32,0x31,0x20,0x4c, + 0x20,0x37,0x30,0x2e,0x31,0x39,0x37,0x31,0x31,0x2c,0x37,0x36,0x2e,0x30,0x34,0x30, + 0x36,0x37,0x34,0x20,0x4c,0x20,0x36,0x34,0x2e,0x36,0x35,0x39,0x37,0x34,0x37,0x2c, + 0x36,0x38,0x2e,0x38,0x31,0x31,0x35,0x34,0x20,0x4c,0x20,0x36,0x35,0x2e,0x36,0x31, + 0x32,0x38,0x38,0x35,0x2c,0x36,0x37,0x2e,0x38,0x32,0x31,0x37,0x36,0x38,0x20,0x43, + 0x20,0x36,0x36,0x2e,0x35,0x34,0x35,0x36,0x37,0x31,0x2c,0x36,0x36,0x2e,0x38,0x35, + 0x33,0x31,0x32,0x32,0x20,0x36,0x39,0x2e,0x33,0x34,0x34,0x35,0x34,0x31,0x2c,0x36, + 0x34,0x2e,0x39,0x37,0x31,0x35,0x31,0x31,0x20,0x37,0x30,0x2e,0x32,0x35,0x34,0x33, + 0x38,0x34,0x2c,0x36,0x34,0x2e,0x37,0x30,0x31,0x34,0x20,0x43,0x20,0x37,0x30,0x2e, + 0x36,0x34,0x39,0x34,0x30,0x35,0x2c,0x36,0x34,0x2e,0x35,0x38,0x34,0x31,0x32,0x34, + 0x20,0x37,0x31,0x2e,0x34,0x34,0x35,0x34,0x33,0x32,0x2c,0x36,0x35,0x2e,0x35,0x32, + 0x31,0x32,0x38,0x31,0x20,0x37,0x35,0x2e,0x39,0x38,0x36,0x37,0x32,0x33,0x2c,0x37, + 0x31,0x2e,0x34,0x35,0x30,0x30,0x33,0x35,0x20,0x43,0x20,0x37,0x38,0x2e,0x38,0x38, + 0x37,0x32,0x30,0x38,0x2c,0x37,0x35,0x2e,0x32,0x33,0x36,0x36,0x37,0x38,0x20,0x38, + 0x31,0x2e,0x32,0x31,0x34,0x37,0x31,0x37,0x2c,0x37,0x38,0x2e,0x34,0x35,0x35,0x32, + 0x37,0x36,0x20,0x38,0x31,0x2e,0x31,0x35,0x38,0x39,0x35,0x33,0x2c,0x37,0x38,0x2e, + 0x36,0x30,0x32,0x34,0x37,0x34,0x20,0x7a,0x20,0x4d,0x20,0x35,0x33,0x2e,0x34,0x34, + 0x33,0x33,0x33,0x35,0x2c,0x34,0x32,0x2e,0x35,0x33,0x36,0x35,0x36,0x36,0x20,0x43, + 0x20,0x35,0x33,0x2e,0x32,0x33,0x35,0x32,0x30,0x36,0x2c,0x34,0x33,0x2e,0x30,0x38, + 0x35,0x39,0x37,0x32,0x20,0x34,0x39,0x2e,0x39,0x34,0x32,0x34,0x32,0x37,0x2c,0x34, + 0x35,0x2e,0x38,0x39,0x38,0x31,0x30,0x39,0x20,0x34,0x38,0x2e,0x38,0x36,0x39,0x33, + 0x30,0x31,0x2c,0x34,0x36,0x2e,0x34,0x34,0x32,0x39,0x33,0x33,0x20,0x4c,0x20,0x34, + 0x37,0x2e,0x38,0x39,0x34,0x33,0x33,0x31,0x2c,0x34,0x36,0x2e,0x39,0x33,0x37,0x39, + 0x31,0x33,0x20,0x4c,0x20,0x34,0x32,0x2e,0x34,0x33,0x36,0x37,0x32,0x36,0x2c,0x33, + 0x39,0x2e,0x36,0x38,0x34,0x34,0x30,0x39,0x20,0x4c,0x20,0x33,0x36,0x2e,0x39,0x37, + 0x39,0x31,0x31,0x35,0x2c,0x33,0x32,0x2e,0x34,0x33,0x30,0x39,0x30,0x31,0x20,0x4c, + 0x20,0x33,0x38,0x2e,0x38,0x35,0x38,0x32,0x31,0x35,0x2c,0x33,0x30,0x2e,0x38,0x37, + 0x38,0x31,0x33,0x36,0x20,0x43,0x20,0x33,0x39,0x2e,0x38,0x39,0x31,0x37,0x32,0x34, + 0x2c,0x33,0x30,0x2e,0x30,0x32,0x34,0x31,0x31,0x34,0x20,0x34,0x31,0x2e,0x32,0x34, + 0x37,0x30,0x31,0x39,0x2c,0x32,0x39,0x2e,0x31,0x31,0x34,0x36,0x30,0x31,0x20,0x34, + 0x31,0x2e,0x38,0x36,0x39,0x39,0x38,0x31,0x2c,0x32,0x38,0x2e,0x38,0x35,0x36,0x39, + 0x39,0x32,0x20,0x4c,0x20,0x34,0x33,0x2e,0x30,0x30,0x32,0x36,0x34,0x31,0x2c,0x32, + 0x38,0x2e,0x33,0x38,0x38,0x36,0x31,0x35,0x20,0x4c,0x20,0x34,0x38,0x2e,0x32,0x38, + 0x38,0x35,0x36,0x31,0x2c,0x33,0x35,0x2e,0x32,0x38,0x39,0x34,0x39,0x34,0x20,0x43, + 0x20,0x35,0x31,0x2e,0x38,0x33,0x32,0x36,0x38,0x32,0x2c,0x33,0x39,0x2e,0x39,0x31, + 0x36,0x34,0x31,0x38,0x20,0x35,0x33,0x2e,0x35,0x33,0x31,0x32,0x36,0x38,0x2c,0x34, + 0x32,0x2e,0x33,0x30,0x34,0x34,0x34,0x37,0x20,0x35,0x33,0x2e,0x34,0x34,0x33,0x33, + 0x33,0x35,0x2c,0x34,0x32,0x2e,0x35,0x33,0x36,0x35,0x36,0x36,0x20,0x7a,0x20,0x4d, + 0x20,0x37,0x34,0x2e,0x37,0x35,0x35,0x30,0x30,0x39,0x2c,0x38,0x33,0x2e,0x39,0x34, + 0x32,0x38,0x38,0x20,0x43,0x20,0x37,0x34,0x2e,0x37,0x31,0x39,0x39,0x39,0x34,0x2c, + 0x38,0x34,0x2e,0x30,0x33,0x35,0x31,0x35,0x35,0x20,0x37,0x34,0x2e,0x31,0x30,0x39, + 0x38,0x36,0x35,0x2c,0x38,0x34,0x2e,0x34,0x30,0x36,0x34,0x31,0x39,0x20,0x37,0x33, + 0x2e,0x33,0x39,0x39,0x31,0x37,0x31,0x2c,0x38,0x34,0x2e,0x37,0x36,0x37,0x39,0x31, + 0x32,0x20,0x43,0x20,0x36,0x37,0x2e,0x38,0x31,0x34,0x31,0x31,0x32,0x2c,0x38,0x37, + 0x2e,0x36,0x30,0x38,0x37,0x33,0x38,0x20,0x35,0x38,0x2e,0x38,0x33,0x37,0x37,0x30, + 0x31,0x2c,0x38,0x34,0x2e,0x32,0x36,0x34,0x36,0x35,0x36,0x20,0x35,0x30,0x2e,0x33, + 0x38,0x37,0x30,0x31,0x2c,0x37,0x36,0x2e,0x31,0x39,0x34,0x39,0x37,0x37,0x20,0x43, + 0x20,0x34,0x37,0x2e,0x33,0x39,0x35,0x38,0x39,0x35,0x2c,0x37,0x33,0x2e,0x33,0x33, + 0x38,0x37,0x30,0x36,0x20,0x34,0x31,0x2e,0x32,0x32,0x35,0x37,0x30,0x37,0x2c,0x36, + 0x35,0x2e,0x36,0x38,0x37,0x32,0x35,0x38,0x20,0x33,0x38,0x2e,0x37,0x38,0x38,0x32, + 0x30,0x31,0x2c,0x36,0x31,0x2e,0x38,0x31,0x31,0x36,0x35,0x38,0x20,0x43,0x20,0x33, + 0x34,0x2e,0x30,0x38,0x34,0x33,0x31,0x36,0x2c,0x35,0x34,0x2e,0x33,0x33,0x32,0x35, + 0x35,0x20,0x33,0x31,0x2e,0x38,0x37,0x32,0x32,0x31,0x38,0x2c,0x34,0x38,0x2e,0x30, + 0x35,0x33,0x34,0x32,0x31,0x20,0x33,0x31,0x2e,0x39,0x33,0x37,0x34,0x31,0x39,0x2c, + 0x34,0x32,0x2e,0x33,0x36,0x35,0x34,0x34,0x36,0x20,0x43,0x20,0x33,0x31,0x2e,0x39, + 0x37,0x38,0x31,0x31,0x31,0x2c,0x33,0x38,0x2e,0x38,0x31,0x35,0x36,0x37,0x34,0x20, + 0x33,0x33,0x2e,0x31,0x34,0x31,0x30,0x37,0x34,0x2c,0x33,0x35,0x2e,0x38,0x32,0x30, + 0x35,0x31,0x20,0x33,0x35,0x2e,0x32,0x32,0x36,0x35,0x30,0x31,0x2c,0x33,0x33,0x2e, + 0x38,0x39,0x34,0x35,0x31,0x34,0x20,0x4c,0x20,0x33,0x35,0x2e,0x39,0x34,0x31,0x35, + 0x37,0x2c,0x33,0x33,0x2e,0x32,0x33,0x34,0x31,0x30,0x39,0x20,0x4c,0x20,0x34,0x31, + 0x2e,0x34,0x32,0x36,0x38,0x37,0x31,0x2c,0x34,0x30,0x2e,0x32,0x38,0x38,0x33,0x34, + 0x37,0x20,0x4c,0x20,0x34,0x36,0x2e,0x39,0x31,0x32,0x31,0x37,0x37,0x2c,0x34,0x37, + 0x2e,0x33,0x34,0x32,0x35,0x38,0x37,0x20,0x4c,0x20,0x34,0x36,0x2e,0x34,0x36,0x38, + 0x35,0x32,0x38,0x2c,0x34,0x38,0x2e,0x31,0x31,0x32,0x34,0x30,0x32,0x20,0x43,0x20, + 0x34,0x35,0x2e,0x38,0x35,0x35,0x37,0x33,0x34,0x2c,0x34,0x39,0x2e,0x31,0x37,0x35, + 0x36,0x39,0x38,0x20,0x34,0x35,0x2e,0x39,0x36,0x36,0x35,0x37,0x39,0x2c,0x35,0x30, + 0x2e,0x35,0x37,0x30,0x32,0x37,0x32,0x20,0x34,0x36,0x2e,0x38,0x33,0x32,0x35,0x34, + 0x2c,0x35,0x32,0x2e,0x36,0x39,0x32,0x31,0x33,0x35,0x20,0x43,0x20,0x34,0x37,0x2e, + 0x39,0x31,0x39,0x33,0x36,0x32,0x2c,0x35,0x35,0x2e,0x33,0x35,0x35,0x31,0x36,0x31, + 0x20,0x35,0x36,0x2e,0x35,0x34,0x31,0x39,0x35,0x35,0x2c,0x36,0x36,0x2e,0x36,0x30, + 0x36,0x34,0x35,0x38,0x20,0x35,0x38,0x2e,0x38,0x35,0x35,0x32,0x35,0x34,0x2c,0x36, + 0x38,0x2e,0x33,0x38,0x30,0x31,0x31,0x39,0x20,0x43,0x20,0x36,0x30,0x2e,0x36,0x37, + 0x33,0x31,0x32,0x37,0x2c,0x36,0x39,0x2e,0x37,0x37,0x33,0x39,0x32,0x35,0x20,0x36, + 0x31,0x2e,0x37,0x39,0x31,0x34,0x37,0x31,0x2c,0x37,0x30,0x2e,0x31,0x38,0x30,0x38, + 0x32,0x37,0x20,0x36,0x33,0x2e,0x31,0x33,0x35,0x35,0x38,0x35,0x2c,0x36,0x39,0x2e, + 0x39,0x33,0x37,0x34,0x39,0x34,0x20,0x4c,0x20,0x36,0x34,0x2e,0x30,0x38,0x37,0x33, + 0x38,0x37,0x2c,0x36,0x39,0x2e,0x37,0x36,0x35,0x31,0x38,0x33,0x20,0x4c,0x20,0x36, + 0x39,0x2e,0x34,0x35,0x33,0x30,0x33,0x2c,0x37,0x36,0x2e,0x37,0x37,0x30,0x31,0x35, + 0x20,0x43,0x20,0x37,0x32,0x2e,0x34,0x30,0x34,0x31,0x33,0x34,0x2c,0x38,0x30,0x2e, + 0x36,0x32,0x32,0x38,0x37,0x38,0x20,0x37,0x34,0x2e,0x37,0x39,0x30,0x30,0x32,0x39, + 0x2c,0x38,0x33,0x2e,0x38,0x35,0x30,0x36,0x30,0x35,0x20,0x37,0x34,0x2e,0x37,0x35, + 0x35,0x30,0x30,0x39,0x2c,0x38,0x33,0x2e,0x39,0x34,0x32,0x38,0x38,0x20,0x7a,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x33,0x32,0x30,0x30,0x30,0x30,0x30, + 0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x66, + 0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23, + 0x64,0x66,0x64,0x66,0x64,0x66,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d, + 0x22,0x4d,0x20,0x38,0x33,0x2e,0x37,0x38,0x30,0x38,0x33,0x2c,0x37,0x35,0x2e,0x39, + 0x37,0x35,0x39,0x31,0x36,0x20,0x43,0x20,0x38,0x33,0x2e,0x35,0x32,0x38,0x39,0x33, + 0x37,0x2c,0x37,0x36,0x2e,0x36,0x34,0x30,0x38,0x34,0x34,0x20,0x38,0x30,0x2e,0x39, + 0x31,0x39,0x36,0x30,0x38,0x2c,0x37,0x39,0x2e,0x31,0x31,0x32,0x36,0x36,0x39,0x20, + 0x37,0x39,0x2e,0x37,0x30,0x32,0x31,0x37,0x35,0x2c,0x37,0x39,0x2e,0x38,0x33,0x39, + 0x36,0x33,0x33,0x20,0x4c,0x20,0x37,0x38,0x2e,0x33,0x35,0x36,0x33,0x34,0x34,0x2c, + 0x38,0x30,0x2e,0x36,0x34,0x33,0x32,0x36,0x33,0x20,0x4c,0x20,0x37,0x32,0x2e,0x38, + 0x31,0x38,0x39,0x38,0x36,0x2c,0x37,0x33,0x2e,0x34,0x31,0x34,0x31,0x31,0x35,0x20, + 0x4c,0x20,0x36,0x37,0x2e,0x32,0x38,0x31,0x36,0x32,0x32,0x2c,0x36,0x36,0x2e,0x31, + 0x38,0x34,0x39,0x37,0x38,0x20,0x4c,0x20,0x36,0x38,0x2e,0x32,0x33,0x34,0x37,0x36, + 0x32,0x2c,0x36,0x35,0x2e,0x31,0x39,0x35,0x32,0x30,0x37,0x20,0x43,0x20,0x36,0x39, + 0x2e,0x31,0x36,0x37,0x35,0x34,0x37,0x2c,0x36,0x34,0x2e,0x32,0x32,0x36,0x35,0x36, + 0x32,0x20,0x37,0x31,0x2e,0x39,0x36,0x36,0x34,0x31,0x37,0x2c,0x36,0x32,0x2e,0x33, + 0x34,0x34,0x39,0x34,0x39,0x20,0x37,0x32,0x2e,0x38,0x37,0x36,0x32,0x35,0x39,0x2c, + 0x36,0x32,0x2e,0x30,0x37,0x34,0x38,0x33,0x39,0x20,0x43,0x20,0x37,0x33,0x2e,0x32, + 0x37,0x31,0x32,0x38,0x2c,0x36,0x31,0x2e,0x39,0x35,0x37,0x35,0x36,0x33,0x20,0x37, + 0x34,0x2e,0x30,0x36,0x37,0x33,0x30,0x38,0x2c,0x36,0x32,0x2e,0x38,0x39,0x34,0x37, + 0x32,0x20,0x37,0x38,0x2e,0x36,0x30,0x38,0x35,0x39,0x39,0x2c,0x36,0x38,0x2e,0x38, + 0x32,0x33,0x34,0x37,0x33,0x20,0x43,0x20,0x38,0x31,0x2e,0x35,0x30,0x39,0x30,0x38, + 0x33,0x2c,0x37,0x32,0x2e,0x36,0x31,0x30,0x31,0x31,0x36,0x20,0x38,0x33,0x2e,0x38, + 0x33,0x36,0x35,0x39,0x32,0x2c,0x37,0x35,0x2e,0x38,0x32,0x38,0x37,0x31,0x37,0x20, + 0x38,0x33,0x2e,0x37,0x38,0x30,0x38,0x33,0x2c,0x37,0x35,0x2e,0x39,0x37,0x35,0x39, + 0x31,0x36,0x20,0x7a,0x20,0x4d,0x20,0x35,0x36,0x2e,0x30,0x36,0x35,0x32,0x31,0x31, + 0x2c,0x33,0x39,0x2e,0x39,0x31,0x30,0x30,0x30,0x35,0x20,0x43,0x20,0x35,0x35,0x2e, + 0x38,0x35,0x37,0x30,0x38,0x31,0x2c,0x34,0x30,0x2e,0x34,0x35,0x39,0x34,0x31,0x31, + 0x20,0x35,0x32,0x2e,0x35,0x36,0x34,0x33,0x30,0x32,0x2c,0x34,0x33,0x2e,0x32,0x37, + 0x31,0x35,0x34,0x37,0x20,0x35,0x31,0x2e,0x34,0x39,0x31,0x31,0x37,0x38,0x2c,0x34, + 0x33,0x2e,0x38,0x31,0x36,0x33,0x37,0x32,0x20,0x4c,0x20,0x35,0x30,0x2e,0x35,0x31, + 0x36,0x32,0x30,0x37,0x2c,0x34,0x34,0x2e,0x33,0x31,0x31,0x33,0x35,0x31,0x20,0x4c, + 0x20,0x34,0x35,0x2e,0x30,0x35,0x38,0x36,0x30,0x31,0x2c,0x33,0x37,0x2e,0x30,0x35, + 0x37,0x38,0x34,0x38,0x20,0x4c,0x20,0x33,0x39,0x2e,0x36,0x30,0x30,0x39,0x39,0x32, + 0x2c,0x32,0x39,0x2e,0x38,0x30,0x34,0x33,0x34,0x31,0x20,0x4c,0x20,0x34,0x31,0x2e, + 0x34,0x38,0x30,0x30,0x39,0x2c,0x32,0x38,0x2e,0x32,0x35,0x31,0x35,0x37,0x34,0x20, + 0x43,0x20,0x34,0x32,0x2e,0x35,0x31,0x33,0x35,0x39,0x39,0x2c,0x32,0x37,0x2e,0x33, + 0x39,0x37,0x35,0x35,0x32,0x20,0x34,0x33,0x2e,0x38,0x36,0x38,0x38,0x39,0x34,0x2c, + 0x32,0x36,0x2e,0x34,0x38,0x38,0x30,0x33,0x39,0x20,0x34,0x34,0x2e,0x34,0x39,0x31, + 0x38,0x35,0x37,0x2c,0x32,0x36,0x2e,0x32,0x33,0x30,0x34,0x33,0x31,0x20,0x4c,0x20, + 0x34,0x35,0x2e,0x36,0x32,0x34,0x35,0x31,0x36,0x2c,0x32,0x35,0x2e,0x37,0x36,0x32, + 0x30,0x35,0x34,0x20,0x4c,0x20,0x35,0x30,0x2e,0x39,0x31,0x30,0x34,0x33,0x36,0x2c, + 0x33,0x32,0x2e,0x36,0x36,0x32,0x39,0x33,0x32,0x20,0x43,0x20,0x35,0x34,0x2e,0x34, + 0x35,0x34,0x35,0x35,0x37,0x2c,0x33,0x37,0x2e,0x32,0x38,0x39,0x38,0x35,0x37,0x20, + 0x35,0x36,0x2e,0x31,0x35,0x33,0x31,0x34,0x34,0x2c,0x33,0x39,0x2e,0x36,0x37,0x37, + 0x38,0x38,0x36,0x20,0x35,0x36,0x2e,0x30,0x36,0x35,0x32,0x31,0x31,0x2c,0x33,0x39, + 0x2e,0x39,0x31,0x30,0x30,0x30,0x35,0x20,0x7a,0x20,0x4d,0x20,0x37,0x37,0x2e,0x33, + 0x37,0x36,0x38,0x38,0x35,0x2c,0x38,0x31,0x2e,0x33,0x31,0x36,0x33,0x32,0x31,0x20, + 0x43,0x20,0x37,0x37,0x2e,0x33,0x34,0x31,0x38,0x37,0x2c,0x38,0x31,0x2e,0x34,0x30, + 0x38,0x35,0x39,0x37,0x20,0x37,0x36,0x2e,0x37,0x33,0x31,0x37,0x34,0x32,0x2c,0x38, + 0x31,0x2e,0x37,0x37,0x39,0x38,0x35,0x32,0x20,0x37,0x36,0x2e,0x30,0x32,0x31,0x30, + 0x34,0x38,0x2c,0x38,0x32,0x2e,0x31,0x34,0x31,0x33,0x34,0x35,0x20,0x43,0x20,0x37, + 0x30,0x2e,0x34,0x33,0x35,0x39,0x38,0x39,0x2c,0x38,0x34,0x2e,0x39,0x38,0x32,0x31, + 0x37,0x20,0x36,0x31,0x2e,0x34,0x35,0x39,0x35,0x37,0x36,0x2c,0x38,0x31,0x2e,0x36, + 0x33,0x38,0x30,0x39,0x38,0x20,0x35,0x33,0x2e,0x30,0x30,0x38,0x38,0x38,0x35,0x2c, + 0x37,0x33,0x2e,0x35,0x36,0x38,0x34,0x31,0x33,0x20,0x43,0x20,0x35,0x30,0x2e,0x30, + 0x31,0x37,0x37,0x37,0x31,0x2c,0x37,0x30,0x2e,0x37,0x31,0x32,0x31,0x34,0x35,0x20, + 0x34,0x33,0x2e,0x38,0x34,0x37,0x35,0x38,0x33,0x2c,0x36,0x33,0x2e,0x30,0x36,0x30, + 0x36,0x39,0x37,0x20,0x34,0x31,0x2e,0x34,0x31,0x30,0x30,0x37,0x39,0x2c,0x35,0x39, + 0x2e,0x31,0x38,0x35,0x30,0x39,0x36,0x20,0x43,0x20,0x33,0x36,0x2e,0x37,0x30,0x36, + 0x31,0x39,0x32,0x2c,0x35,0x31,0x2e,0x37,0x30,0x35,0x39,0x38,0x39,0x20,0x33,0x34, + 0x2e,0x34,0x39,0x34,0x30,0x39,0x34,0x2c,0x34,0x35,0x2e,0x34,0x32,0x36,0x38,0x36, + 0x20,0x33,0x34,0x2e,0x35,0x35,0x39,0x32,0x39,0x35,0x2c,0x33,0x39,0x2e,0x37,0x33, + 0x38,0x38,0x38,0x34,0x20,0x43,0x20,0x33,0x34,0x2e,0x35,0x39,0x39,0x39,0x38,0x37, + 0x2c,0x33,0x36,0x2e,0x31,0x38,0x39,0x31,0x31,0x33,0x20,0x33,0x35,0x2e,0x37,0x36, + 0x32,0x39,0x35,0x31,0x2c,0x33,0x33,0x2e,0x31,0x39,0x33,0x39,0x35,0x20,0x33,0x37, + 0x2e,0x38,0x34,0x38,0x33,0x37,0x37,0x2c,0x33,0x31,0x2e,0x32,0x36,0x37,0x39,0x35, + 0x33,0x20,0x4c,0x20,0x33,0x38,0x2e,0x35,0x36,0x33,0x34,0x34,0x36,0x2c,0x33,0x30, + 0x2e,0x36,0x30,0x37,0x35,0x34,0x37,0x20,0x4c,0x20,0x34,0x34,0x2e,0x30,0x34,0x38, + 0x37,0x34,0x38,0x2c,0x33,0x37,0x2e,0x36,0x36,0x31,0x37,0x38,0x37,0x20,0x4c,0x20, + 0x34,0x39,0x2e,0x35,0x33,0x34,0x30,0x35,0x32,0x2c,0x34,0x34,0x2e,0x37,0x31,0x36, + 0x30,0x32,0x37,0x20,0x4c,0x20,0x34,0x39,0x2e,0x30,0x39,0x30,0x34,0x30,0x35,0x2c, + 0x34,0x35,0x2e,0x34,0x38,0x35,0x38,0x34,0x31,0x20,0x43,0x20,0x34,0x38,0x2e,0x34, + 0x37,0x37,0x36,0x31,0x31,0x2c,0x34,0x36,0x2e,0x35,0x34,0x39,0x31,0x33,0x38,0x20, + 0x34,0x38,0x2e,0x35,0x38,0x38,0x34,0x35,0x36,0x2c,0x34,0x37,0x2e,0x39,0x34,0x33, + 0x37,0x31,0x20,0x34,0x39,0x2e,0x34,0x35,0x34,0x34,0x31,0x37,0x2c,0x35,0x30,0x2e, + 0x30,0x36,0x35,0x35,0x37,0x34,0x20,0x43,0x20,0x35,0x30,0x2e,0x35,0x34,0x31,0x32, + 0x33,0x36,0x2c,0x35,0x32,0x2e,0x37,0x32,0x38,0x36,0x20,0x35,0x39,0x2e,0x31,0x36, + 0x33,0x38,0x33,0x31,0x2c,0x36,0x33,0x2e,0x39,0x37,0x39,0x38,0x39,0x37,0x20,0x36, + 0x31,0x2e,0x34,0x37,0x37,0x31,0x32,0x39,0x2c,0x36,0x35,0x2e,0x37,0x35,0x33,0x35, + 0x35,0x37,0x20,0x43,0x20,0x36,0x33,0x2e,0x32,0x39,0x35,0x30,0x30,0x34,0x2c,0x36, + 0x37,0x2e,0x31,0x34,0x37,0x33,0x36,0x34,0x20,0x36,0x34,0x2e,0x34,0x31,0x33,0x33, + 0x34,0x38,0x2c,0x36,0x37,0x2e,0x35,0x35,0x34,0x32,0x36,0x36,0x20,0x36,0x35,0x2e, + 0x37,0x35,0x37,0x34,0x36,0x2c,0x36,0x37,0x2e,0x33,0x31,0x30,0x39,0x33,0x33,0x20, + 0x4c,0x20,0x36,0x36,0x2e,0x37,0x30,0x39,0x32,0x36,0x33,0x2c,0x36,0x37,0x2e,0x31, + 0x33,0x38,0x36,0x32,0x20,0x4c,0x20,0x37,0x32,0x2e,0x30,0x37,0x34,0x39,0x30,0x35, + 0x2c,0x37,0x34,0x2e,0x31,0x34,0x33,0x35,0x38,0x36,0x20,0x43,0x20,0x37,0x35,0x2e, + 0x30,0x32,0x36,0x30,0x31,0x31,0x2c,0x37,0x37,0x2e,0x39,0x39,0x36,0x33,0x31,0x39, + 0x20,0x37,0x37,0x2e,0x34,0x31,0x31,0x39,0x30,0x34,0x2c,0x38,0x31,0x2e,0x32,0x32, + 0x34,0x30,0x34,0x36,0x20,0x37,0x37,0x2e,0x33,0x37,0x36,0x38,0x38,0x35,0x2c,0x38, + 0x31,0x2e,0x33,0x31,0x36,0x33,0x32,0x31,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x32,0x31,0x38,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74, + 0x72,0x69,0x78,0x28,0x30,0x2e,0x36,0x30,0x31,0x38,0x36,0x35,0x32,0x2c,0x30,0x2c, + 0x30,0x2c,0x30,0x2e,0x36,0x30,0x31,0x38,0x36,0x35,0x32,0x2c,0x2d,0x31,0x30,0x36, + 0x2e,0x34,0x36,0x32,0x34,0x33,0x2c,0x2d,0x32,0x35,0x32,0x2e,0x36,0x37,0x34,0x37, + 0x36,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x67, + 0x33,0x37,0x38,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33, + 0x37,0x38,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d, + 0x22,0x4d,0x20,0x33,0x32,0x34,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x36,0x2e, + 0x31,0x30,0x35,0x39,0x32,0x20,0x43,0x20,0x33,0x32,0x34,0x2e,0x30,0x32,0x39,0x39, + 0x36,0x2c,0x35,0x37,0x37,0x2e,0x36,0x32,0x34,0x38,0x36,0x20,0x33,0x31,0x38,0x2e, + 0x30,0x35,0x38,0x36,0x37,0x2c,0x35,0x38,0x33,0x2e,0x32,0x37,0x31,0x33,0x38,0x20, + 0x33,0x31,0x35,0x2e,0x32,0x37,0x32,0x36,0x35,0x2c,0x35,0x38,0x34,0x2e,0x39,0x33, + 0x32,0x30,0x32,0x20,0x4c,0x20,0x33,0x31,0x32,0x2e,0x31,0x39,0x32,0x38,0x2c,0x35, + 0x38,0x36,0x2e,0x37,0x36,0x37,0x38,0x20,0x4c,0x20,0x32,0x39,0x39,0x2e,0x35,0x32, + 0x30,0x39,0x2c,0x35,0x37,0x30,0x2e,0x32,0x35,0x33,0x38,0x36,0x20,0x4c,0x20,0x32, + 0x38,0x36,0x2e,0x38,0x34,0x38,0x39,0x39,0x2c,0x35,0x35,0x33,0x2e,0x37,0x33,0x39, + 0x39,0x34,0x20,0x4c,0x20,0x32,0x38,0x39,0x2e,0x30,0x33,0x30,0x31,0x39,0x2c,0x35, + 0x35,0x31,0x2e,0x34,0x37,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x39,0x31,0x2e,0x31, + 0x36,0x34,0x38,0x31,0x2c,0x35,0x34,0x39,0x2e,0x32,0x36,0x36,0x32,0x32,0x20,0x32, + 0x39,0x37,0x2e,0x35,0x36,0x39,0x38,0x35,0x2c,0x35,0x34,0x34,0x2e,0x39,0x36,0x37, + 0x39,0x35,0x20,0x32,0x39,0x39,0x2e,0x36,0x35,0x31,0x39,0x37,0x2c,0x35,0x34,0x34, + 0x2e,0x33,0x35,0x30,0x39,0x32,0x20,0x43,0x20,0x33,0x30,0x30,0x2e,0x35,0x35,0x35, + 0x39,0x35,0x2c,0x35,0x34,0x34,0x2e,0x30,0x38,0x33,0x30,0x32,0x20,0x33,0x30,0x32, + 0x2e,0x33,0x37,0x37,0x36,0x31,0x2c,0x35,0x34,0x36,0x2e,0x32,0x32,0x33,0x38,0x32, + 0x20,0x33,0x31,0x32,0x2e,0x37,0x37,0x30,0x30,0x37,0x2c,0x35,0x35,0x39,0x2e,0x37, + 0x36,0x37,0x32,0x20,0x43,0x20,0x33,0x31,0x39,0x2e,0x34,0x30,0x37,0x36,0x35,0x2c, + 0x35,0x36,0x38,0x2e,0x34,0x31,0x37,0x32,0x34,0x20,0x33,0x32,0x34,0x2e,0x37,0x33, + 0x34,0x30,0x31,0x2c,0x35,0x37,0x35,0x2e,0x37,0x36,0x39,0x36,0x37,0x20,0x33,0x32, + 0x34,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x36,0x2e,0x31,0x30,0x35,0x39,0x32, + 0x20,0x7a,0x20,0x4d,0x20,0x32,0x36,0x31,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34, + 0x39,0x33,0x2e,0x37,0x31,0x38,0x35,0x36,0x20,0x43,0x20,0x32,0x36,0x30,0x2e,0x37, + 0x30,0x34,0x36,0x34,0x2c,0x34,0x39,0x34,0x2e,0x39,0x37,0x33,0x36,0x20,0x32,0x35, + 0x33,0x2e,0x31,0x36,0x39,0x33,0x32,0x2c,0x35,0x30,0x31,0x2e,0x33,0x39,0x37,0x35, + 0x32,0x20,0x32,0x35,0x30,0x2e,0x37,0x31,0x33,0x35,0x34,0x2c,0x35,0x30,0x32,0x2e, + 0x36,0x34,0x32,0x30,0x39,0x20,0x4c,0x20,0x32,0x34,0x38,0x2e,0x34,0x38,0x32,0x33, + 0x38,0x2c,0x35,0x30,0x33,0x2e,0x37,0x37,0x32,0x38,0x20,0x4c,0x20,0x32,0x33,0x35, + 0x2e,0x39,0x39,0x32,0x39,0x39,0x2c,0x34,0x38,0x37,0x2e,0x32,0x30,0x33,0x32,0x32, + 0x20,0x4c,0x20,0x32,0x32,0x33,0x2e,0x35,0x30,0x33,0x35,0x39,0x2c,0x34,0x37,0x30, + 0x2e,0x36,0x33,0x33,0x36,0x33,0x20,0x4c,0x20,0x32,0x32,0x37,0x2e,0x38,0x30,0x33, + 0x37,0x39,0x2c,0x34,0x36,0x37,0x2e,0x30,0x38,0x36,0x35,0x36,0x20,0x43,0x20,0x32, + 0x33,0x30,0x2e,0x31,0x36,0x38,0x39,0x31,0x2c,0x34,0x36,0x35,0x2e,0x31,0x33,0x35, + 0x36,0x37,0x20,0x32,0x33,0x33,0x2e,0x32,0x37,0x30,0x34,0x32,0x2c,0x34,0x36,0x33, + 0x2e,0x30,0x35,0x38,0x30,0x32,0x20,0x32,0x33,0x34,0x2e,0x36,0x39,0x36,0x30,0x33, + 0x2c,0x34,0x36,0x32,0x2e,0x34,0x36,0x39,0x35,0x35,0x20,0x4c,0x20,0x32,0x33,0x37, + 0x2e,0x32,0x38,0x38,0x30,0x35,0x2c,0x34,0x36,0x31,0x2e,0x33,0x39,0x39,0x36,0x31, + 0x20,0x4c,0x20,0x32,0x34,0x39,0x2e,0x33,0x38,0x34,0x35,0x35,0x2c,0x34,0x37,0x37, + 0x2e,0x31,0x36,0x33,0x36,0x37,0x20,0x43,0x20,0x32,0x35,0x37,0x2e,0x34,0x39,0x35, + 0x30,0x35,0x2c,0x34,0x38,0x37,0x2e,0x37,0x33,0x33,0x32,0x31,0x20,0x32,0x36,0x31, + 0x2e,0x33,0x38,0x32,0x31,0x36,0x2c,0x34,0x39,0x33,0x2e,0x31,0x38,0x38,0x33,0x32, + 0x20,0x32,0x36,0x31,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x39,0x33,0x2e,0x37, + 0x31,0x38,0x35,0x36,0x20,0x7a,0x20,0x4d,0x20,0x33,0x30,0x39,0x2e,0x39,0x35,0x31, + 0x33,0x37,0x2c,0x35,0x38,0x38,0x2e,0x33,0x30,0x35,0x33,0x20,0x43,0x20,0x33,0x30, + 0x39,0x2e,0x38,0x37,0x31,0x32,0x34,0x2c,0x35,0x38,0x38,0x2e,0x35,0x31,0x36,0x30, + 0x39,0x20,0x33,0x30,0x38,0x2e,0x34,0x37,0x35,0x2c,0x35,0x38,0x39,0x2e,0x33,0x36, + 0x34,0x31,0x38,0x20,0x33,0x30,0x36,0x2e,0x38,0x34,0x38,0x36,0x32,0x2c,0x35,0x39, + 0x30,0x2e,0x31,0x38,0x39,0x39,0x36,0x20,0x43,0x20,0x32,0x39,0x34,0x2e,0x30,0x36, + 0x37,0x35,0x36,0x2c,0x35,0x39,0x36,0x2e,0x36,0x37,0x39,0x34,0x31,0x20,0x32,0x37, + 0x33,0x2e,0x35,0x32,0x35,0x36,0x2c,0x35,0x38,0x39,0x2e,0x30,0x34,0x30,0x33,0x36, + 0x20,0x32,0x35,0x34,0x2e,0x31,0x38,0x36,0x37,0x32,0x2c,0x35,0x37,0x30,0x2e,0x36, + 0x30,0x36,0x33,0x33,0x20,0x43,0x20,0x32,0x34,0x37,0x2e,0x33,0x34,0x31,0x37,0x34, + 0x2c,0x35,0x36,0x34,0x2e,0x30,0x38,0x31,0x36,0x20,0x32,0x33,0x33,0x2e,0x32,0x32, + 0x31,0x36,0x35,0x2c,0x35,0x34,0x36,0x2e,0x36,0x30,0x32,0x39,0x37,0x20,0x32,0x32, + 0x37,0x2e,0x36,0x34,0x33,0x35,0x37,0x2c,0x35,0x33,0x37,0x2e,0x37,0x34,0x39,0x37, + 0x32,0x20,0x43,0x20,0x32,0x31,0x36,0x2e,0x38,0x37,0x39,0x30,0x32,0x2c,0x35,0x32, + 0x30,0x2e,0x36,0x36,0x34,0x37,0x38,0x20,0x32,0x31,0x31,0x2e,0x38,0x31,0x36,0x37, + 0x37,0x2c,0x35,0x30,0x36,0x2e,0x33,0x32,0x31,0x30,0x32,0x20,0x32,0x31,0x31,0x2e, + 0x39,0x36,0x35,0x39,0x38,0x2c,0x34,0x39,0x33,0x2e,0x33,0x32,0x37,0x36,0x36,0x20, + 0x43,0x20,0x32,0x31,0x32,0x2e,0x30,0x35,0x39,0x31,0x2c,0x34,0x38,0x35,0x2e,0x32, + 0x31,0x38,0x37,0x32,0x20,0x32,0x31,0x34,0x2e,0x37,0x32,0x30,0x34,0x37,0x2c,0x34, + 0x37,0x38,0x2e,0x33,0x37,0x36,0x37,0x20,0x32,0x31,0x39,0x2e,0x34,0x39,0x32,0x38, + 0x34,0x2c,0x34,0x37,0x33,0x2e,0x39,0x37,0x37,0x30,0x34,0x20,0x4c,0x20,0x32,0x32, + 0x31,0x2e,0x31,0x32,0x39,0x32,0x33,0x2c,0x34,0x37,0x32,0x2e,0x34,0x36,0x38,0x34, + 0x34,0x20,0x4c,0x20,0x32,0x33,0x33,0x2e,0x36,0x38,0x32,0x2c,0x34,0x38,0x38,0x2e, + 0x35,0x38,0x32,0x38,0x33,0x20,0x4c,0x20,0x32,0x34,0x36,0x2e,0x32,0x33,0x34,0x37, + 0x38,0x2c,0x35,0x30,0x34,0x2e,0x36,0x39,0x37,0x32,0x32,0x20,0x4c,0x20,0x32,0x34, + 0x35,0x2e,0x32,0x31,0x39,0x35,0x32,0x2c,0x35,0x30,0x36,0x2e,0x34,0x35,0x35,0x37, + 0x35,0x20,0x43,0x20,0x32,0x34,0x33,0x2e,0x38,0x31,0x37,0x31,0x38,0x2c,0x35,0x30, + 0x38,0x2e,0x38,0x38,0x34,0x37,0x20,0x32,0x34,0x34,0x2e,0x30,0x37,0x30,0x38,0x34, + 0x2c,0x35,0x31,0x32,0x2e,0x30,0x37,0x30,0x34,0x20,0x32,0x34,0x36,0x2e,0x30,0x35, + 0x32,0x35,0x34,0x2c,0x35,0x31,0x36,0x2e,0x39,0x31,0x37,0x34,0x39,0x20,0x43,0x20, + 0x32,0x34,0x38,0x2e,0x35,0x33,0x39,0x36,0x36,0x2c,0x35,0x32,0x33,0x2e,0x30,0x30, + 0x30,0x37,0x39,0x20,0x32,0x36,0x38,0x2e,0x32,0x37,0x31,0x39,0x33,0x2c,0x35,0x34, + 0x38,0x2e,0x37,0x30,0x32,0x37,0x35,0x20,0x32,0x37,0x33,0x2e,0x35,0x36,0x35,0x37, + 0x37,0x2c,0x35,0x35,0x32,0x2e,0x37,0x35,0x34,0x34,0x32,0x20,0x43,0x20,0x32,0x37, + 0x37,0x2e,0x37,0x32,0x35,0x38,0x36,0x2c,0x35,0x35,0x35,0x2e,0x39,0x33,0x38,0x33, + 0x37,0x20,0x32,0x38,0x30,0x2e,0x32,0x38,0x35,0x31,0x32,0x2c,0x35,0x35,0x36,0x2e, + 0x38,0x36,0x37,0x38,0x38,0x20,0x32,0x38,0x33,0x2e,0x33,0x36,0x31,0x30,0x34,0x2c, + 0x35,0x35,0x36,0x2e,0x33,0x31,0x32,0x30,0x32,0x20,0x4c,0x20,0x32,0x38,0x35,0x2e, + 0x35,0x33,0x39,0x31,0x38,0x2c,0x35,0x35,0x35,0x2e,0x39,0x31,0x38,0x34,0x20,0x4c, + 0x20,0x32,0x39,0x37,0x2e,0x38,0x31,0x38,0x31,0x32,0x2c,0x35,0x37,0x31,0x2e,0x39, + 0x32,0x30,0x32,0x33,0x20,0x43,0x20,0x33,0x30,0x34,0x2e,0x35,0x37,0x31,0x35,0x34, + 0x2c,0x35,0x38,0x30,0x2e,0x37,0x32,0x31,0x32,0x34,0x20,0x33,0x31,0x30,0x2e,0x30, + 0x33,0x31,0x35,0x31,0x2c,0x35,0x38,0x38,0x2e,0x30,0x39,0x34,0x35,0x31,0x20,0x33, + 0x30,0x39,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x38,0x2e,0x33,0x30,0x35, + 0x33,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74, + 0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x2e,0x33, + 0x32,0x30,0x30,0x30,0x30,0x30,0x32,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66, + 0x66,0x66,0x66,0x66,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x3a,0x30,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70, + 0x61,0x74,0x68,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c,0x3a,0x23,0x66,0x66,0x66,0x66,0x66,0x66, + 0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22,0x4d,0x20,0x33, + 0x33,0x30,0x2e,0x36,0x30,0x36,0x34,0x2c,0x35,0x37,0x30,0x2e,0x31,0x30,0x35,0x39, + 0x32,0x20,0x43,0x20,0x33,0x33,0x30,0x2e,0x30,0x32,0x39,0x39,0x36,0x2c,0x35,0x37, + 0x31,0x2e,0x36,0x32,0x34,0x38,0x36,0x20,0x33,0x32,0x34,0x2e,0x30,0x35,0x38,0x36, + 0x37,0x2c,0x35,0x37,0x37,0x2e,0x32,0x37,0x31,0x33,0x38,0x20,0x33,0x32,0x31,0x2e, + 0x32,0x37,0x32,0x36,0x35,0x2c,0x35,0x37,0x38,0x2e,0x39,0x33,0x32,0x30,0x32,0x20, + 0x4c,0x20,0x33,0x31,0x38,0x2e,0x31,0x39,0x32,0x38,0x2c,0x35,0x38,0x30,0x2e,0x37, + 0x36,0x37,0x38,0x20,0x4c,0x20,0x33,0x30,0x35,0x2e,0x35,0x32,0x30,0x39,0x2c,0x35, + 0x36,0x34,0x2e,0x32,0x35,0x33,0x38,0x36,0x20,0x4c,0x20,0x32,0x39,0x32,0x2e,0x38, + 0x34,0x38,0x39,0x39,0x2c,0x35,0x34,0x37,0x2e,0x37,0x33,0x39,0x39,0x34,0x20,0x4c, + 0x20,0x32,0x39,0x35,0x2e,0x30,0x33,0x30,0x31,0x39,0x2c,0x35,0x34,0x35,0x2e,0x34, + 0x37,0x38,0x39,0x35,0x20,0x43,0x20,0x32,0x39,0x37,0x2e,0x31,0x36,0x34,0x38,0x31, + 0x2c,0x35,0x34,0x33,0x2e,0x32,0x36,0x36,0x32,0x32,0x20,0x33,0x30,0x33,0x2e,0x35, + 0x36,0x39,0x38,0x35,0x2c,0x35,0x33,0x38,0x2e,0x39,0x36,0x37,0x39,0x35,0x20,0x33, + 0x30,0x35,0x2e,0x36,0x35,0x31,0x39,0x37,0x2c,0x35,0x33,0x38,0x2e,0x33,0x35,0x30, + 0x39,0x32,0x20,0x43,0x20,0x33,0x30,0x36,0x2e,0x35,0x35,0x35,0x39,0x35,0x2c,0x35, + 0x33,0x38,0x2e,0x30,0x38,0x33,0x30,0x32,0x20,0x33,0x30,0x38,0x2e,0x33,0x37,0x37, + 0x36,0x31,0x2c,0x35,0x34,0x30,0x2e,0x32,0x32,0x33,0x38,0x32,0x20,0x33,0x31,0x38, + 0x2e,0x37,0x37,0x30,0x30,0x37,0x2c,0x35,0x35,0x33,0x2e,0x37,0x36,0x37,0x32,0x20, + 0x43,0x20,0x33,0x32,0x35,0x2e,0x34,0x30,0x37,0x36,0x35,0x2c,0x35,0x36,0x32,0x2e, + 0x34,0x31,0x37,0x32,0x34,0x20,0x33,0x33,0x30,0x2e,0x37,0x33,0x34,0x30,0x31,0x2c, + 0x35,0x36,0x39,0x2e,0x37,0x36,0x39,0x36,0x37,0x20,0x33,0x33,0x30,0x2e,0x36,0x30, + 0x36,0x34,0x2c,0x35,0x37,0x30,0x2e,0x31,0x30,0x35,0x39,0x32,0x20,0x7a,0x20,0x4d, + 0x20,0x32,0x36,0x37,0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x38,0x37,0x2e,0x37, + 0x31,0x38,0x35,0x36,0x20,0x43,0x20,0x32,0x36,0x36,0x2e,0x37,0x30,0x34,0x36,0x34, + 0x2c,0x34,0x38,0x38,0x2e,0x39,0x37,0x33,0x36,0x20,0x32,0x35,0x39,0x2e,0x31,0x36, + 0x39,0x33,0x32,0x2c,0x34,0x39,0x35,0x2e,0x33,0x39,0x37,0x35,0x32,0x20,0x32,0x35, + 0x36,0x2e,0x37,0x31,0x33,0x35,0x34,0x2c,0x34,0x39,0x36,0x2e,0x36,0x34,0x32,0x30, + 0x39,0x20,0x4c,0x20,0x32,0x35,0x34,0x2e,0x34,0x38,0x32,0x33,0x38,0x2c,0x34,0x39, + 0x37,0x2e,0x37,0x37,0x32,0x38,0x20,0x4c,0x20,0x32,0x34,0x31,0x2e,0x39,0x39,0x32, + 0x39,0x39,0x2c,0x34,0x38,0x31,0x2e,0x32,0x30,0x33,0x32,0x32,0x20,0x4c,0x20,0x32, + 0x32,0x39,0x2e,0x35,0x30,0x33,0x35,0x39,0x2c,0x34,0x36,0x34,0x2e,0x36,0x33,0x33, + 0x36,0x33,0x20,0x4c,0x20,0x32,0x33,0x33,0x2e,0x38,0x30,0x33,0x37,0x39,0x2c,0x34, + 0x36,0x31,0x2e,0x30,0x38,0x36,0x35,0x36,0x20,0x43,0x20,0x32,0x33,0x36,0x2e,0x31, + 0x36,0x38,0x39,0x31,0x2c,0x34,0x35,0x39,0x2e,0x31,0x33,0x35,0x36,0x37,0x20,0x32, + 0x33,0x39,0x2e,0x32,0x37,0x30,0x34,0x32,0x2c,0x34,0x35,0x37,0x2e,0x30,0x35,0x38, + 0x30,0x32,0x20,0x32,0x34,0x30,0x2e,0x36,0x39,0x36,0x30,0x33,0x2c,0x34,0x35,0x36, + 0x2e,0x34,0x36,0x39,0x35,0x35,0x20,0x4c,0x20,0x32,0x34,0x33,0x2e,0x32,0x38,0x38, + 0x30,0x35,0x2c,0x34,0x35,0x35,0x2e,0x33,0x39,0x39,0x36,0x31,0x20,0x4c,0x20,0x32, + 0x35,0x35,0x2e,0x33,0x38,0x34,0x35,0x35,0x2c,0x34,0x37,0x31,0x2e,0x31,0x36,0x33, + 0x36,0x37,0x20,0x43,0x20,0x32,0x36,0x33,0x2e,0x34,0x39,0x35,0x30,0x35,0x2c,0x34, + 0x38,0x31,0x2e,0x37,0x33,0x33,0x32,0x31,0x20,0x32,0x36,0x37,0x2e,0x33,0x38,0x32, + 0x31,0x36,0x2c,0x34,0x38,0x37,0x2e,0x31,0x38,0x38,0x33,0x32,0x20,0x32,0x36,0x37, + 0x2e,0x31,0x38,0x30,0x39,0x33,0x2c,0x34,0x38,0x37,0x2e,0x37,0x31,0x38,0x35,0x36, + 0x20,0x7a,0x20,0x4d,0x20,0x33,0x31,0x35,0x2e,0x39,0x35,0x31,0x33,0x37,0x2c,0x35, + 0x38,0x32,0x2e,0x33,0x30,0x35,0x33,0x20,0x43,0x20,0x33,0x31,0x35,0x2e,0x38,0x37, + 0x31,0x32,0x34,0x2c,0x35,0x38,0x32,0x2e,0x35,0x31,0x36,0x30,0x39,0x20,0x33,0x31, + 0x34,0x2e,0x34,0x37,0x35,0x2c,0x35,0x38,0x33,0x2e,0x33,0x36,0x34,0x31,0x38,0x20, + 0x33,0x31,0x32,0x2e,0x38,0x34,0x38,0x36,0x32,0x2c,0x35,0x38,0x34,0x2e,0x31,0x38, + 0x39,0x39,0x36,0x20,0x43,0x20,0x33,0x30,0x30,0x2e,0x30,0x36,0x37,0x35,0x36,0x2c, + 0x35,0x39,0x30,0x2e,0x36,0x37,0x39,0x34,0x31,0x20,0x32,0x37,0x39,0x2e,0x35,0x32, + 0x35,0x36,0x2c,0x35,0x38,0x33,0x2e,0x30,0x34,0x30,0x33,0x36,0x20,0x32,0x36,0x30, + 0x2e,0x31,0x38,0x36,0x37,0x32,0x2c,0x35,0x36,0x34,0x2e,0x36,0x30,0x36,0x33,0x33, + 0x20,0x43,0x20,0x32,0x35,0x33,0x2e,0x33,0x34,0x31,0x37,0x34,0x2c,0x35,0x35,0x38, + 0x2e,0x30,0x38,0x31,0x36,0x20,0x32,0x33,0x39,0x2e,0x32,0x32,0x31,0x36,0x35,0x2c, + 0x35,0x34,0x30,0x2e,0x36,0x30,0x32,0x39,0x37,0x20,0x32,0x33,0x33,0x2e,0x36,0x34, + 0x33,0x35,0x37,0x2c,0x35,0x33,0x31,0x2e,0x37,0x34,0x39,0x37,0x32,0x20,0x43,0x20, + 0x32,0x32,0x32,0x2e,0x38,0x37,0x39,0x30,0x32,0x2c,0x35,0x31,0x34,0x2e,0x36,0x36, + 0x34,0x37,0x38,0x20,0x32,0x31,0x37,0x2e,0x38,0x31,0x36,0x37,0x37,0x2c,0x35,0x30, + 0x30,0x2e,0x33,0x32,0x31,0x30,0x32,0x20,0x32,0x31,0x37,0x2e,0x39,0x36,0x35,0x39, + 0x38,0x2c,0x34,0x38,0x37,0x2e,0x33,0x32,0x37,0x36,0x36,0x20,0x43,0x20,0x32,0x31, + 0x38,0x2e,0x30,0x35,0x39,0x31,0x2c,0x34,0x37,0x39,0x2e,0x32,0x31,0x38,0x37,0x32, + 0x20,0x32,0x32,0x30,0x2e,0x37,0x32,0x30,0x34,0x37,0x2c,0x34,0x37,0x32,0x2e,0x33, + 0x37,0x36,0x37,0x20,0x32,0x32,0x35,0x2e,0x34,0x39,0x32,0x38,0x34,0x2c,0x34,0x36, + 0x37,0x2e,0x39,0x37,0x37,0x30,0x34,0x20,0x4c,0x20,0x32,0x32,0x37,0x2e,0x31,0x32, + 0x39,0x32,0x33,0x2c,0x34,0x36,0x36,0x2e,0x34,0x36,0x38,0x34,0x34,0x20,0x4c,0x20, + 0x32,0x33,0x39,0x2e,0x36,0x38,0x32,0x2c,0x34,0x38,0x32,0x2e,0x35,0x38,0x32,0x38, + 0x33,0x20,0x4c,0x20,0x32,0x35,0x32,0x2e,0x32,0x33,0x34,0x37,0x38,0x2c,0x34,0x39, + 0x38,0x2e,0x36,0x39,0x37,0x32,0x32,0x20,0x4c,0x20,0x32,0x35,0x31,0x2e,0x32,0x31, + 0x39,0x35,0x32,0x2c,0x35,0x30,0x30,0x2e,0x34,0x35,0x35,0x37,0x35,0x20,0x43,0x20, + 0x32,0x34,0x39,0x2e,0x38,0x31,0x37,0x31,0x38,0x2c,0x35,0x30,0x32,0x2e,0x38,0x38, + 0x34,0x37,0x20,0x32,0x35,0x30,0x2e,0x30,0x37,0x30,0x38,0x34,0x2c,0x35,0x30,0x36, + 0x2e,0x30,0x37,0x30,0x34,0x20,0x32,0x35,0x32,0x2e,0x30,0x35,0x32,0x35,0x34,0x2c, + 0x35,0x31,0x30,0x2e,0x39,0x31,0x37,0x34,0x39,0x20,0x43,0x20,0x32,0x35,0x34,0x2e, + 0x35,0x33,0x39,0x36,0x36,0x2c,0x35,0x31,0x37,0x2e,0x30,0x30,0x30,0x37,0x39,0x20, + 0x32,0x37,0x34,0x2e,0x32,0x37,0x31,0x39,0x33,0x2c,0x35,0x34,0x32,0x2e,0x37,0x30, + 0x32,0x37,0x35,0x20,0x32,0x37,0x39,0x2e,0x35,0x36,0x35,0x37,0x37,0x2c,0x35,0x34, + 0x36,0x2e,0x37,0x35,0x34,0x34,0x32,0x20,0x43,0x20,0x32,0x38,0x33,0x2e,0x37,0x32, + 0x35,0x38,0x36,0x2c,0x35,0x34,0x39,0x2e,0x39,0x33,0x38,0x33,0x37,0x20,0x32,0x38, + 0x36,0x2e,0x32,0x38,0x35,0x31,0x32,0x2c,0x35,0x35,0x30,0x2e,0x38,0x36,0x37,0x38, + 0x38,0x20,0x32,0x38,0x39,0x2e,0x33,0x36,0x31,0x30,0x34,0x2c,0x35,0x35,0x30,0x2e, + 0x33,0x31,0x32,0x30,0x32,0x20,0x4c,0x20,0x32,0x39,0x31,0x2e,0x35,0x33,0x39,0x31, + 0x38,0x2c,0x35,0x34,0x39,0x2e,0x39,0x31,0x38,0x34,0x20,0x4c,0x20,0x33,0x30,0x33, + 0x2e,0x38,0x31,0x38,0x31,0x32,0x2c,0x35,0x36,0x35,0x2e,0x39,0x32,0x30,0x32,0x33, + 0x20,0x43,0x20,0x33,0x31,0x30,0x2e,0x35,0x37,0x31,0x35,0x34,0x2c,0x35,0x37,0x34, + 0x2e,0x37,0x32,0x31,0x32,0x34,0x20,0x33,0x31,0x36,0x2e,0x30,0x33,0x31,0x35,0x31, + 0x2c,0x35,0x38,0x32,0x2e,0x30,0x39,0x34,0x35,0x31,0x20,0x33,0x31,0x35,0x2e,0x39, + 0x35,0x31,0x33,0x37,0x2c,0x35,0x38,0x32,0x2e,0x33,0x30,0x35,0x33,0x20,0x7a,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61, + 0x74,0x68,0x33,0x37,0x39,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x67,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x66,0x69,0x6c,0x6c, + 0x3a,0x75,0x72,0x6c,0x28,0x23,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0x32,0x34,0x36,0x37,0x29,0x3b,0x66,0x69,0x6c,0x6c,0x2d,0x6f, + 0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3a, + 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x3d,0x22, + 0x4d,0x20,0x34,0x35,0x2e,0x36,0x32,0x32,0x39,0x32,0x31,0x2c,0x32,0x35,0x2e,0x37, + 0x35,0x33,0x34,0x34,0x32,0x20,0x4c,0x20,0x34,0x34,0x2e,0x34,0x38,0x32,0x32,0x39, + 0x36,0x2c,0x32,0x36,0x2e,0x32,0x33,0x33,0x33,0x36,0x20,0x43,0x20,0x34,0x33,0x2e, + 0x38,0x35,0x39,0x33,0x33,0x33,0x2c,0x32,0x36,0x2e,0x34,0x39,0x30,0x39,0x36,0x38, + 0x20,0x34,0x32,0x2e,0x35,0x30,0x34,0x35,0x35,0x34,0x2c,0x32,0x37,0x2e,0x33,0x39, + 0x30,0x34,0x32,0x35,0x20,0x34,0x31,0x2e,0x34,0x37,0x31,0x30,0x34,0x36,0x2c,0x32, + 0x38,0x2e,0x32,0x34,0x34,0x34,0x34,0x38,0x20,0x4c,0x20,0x33,0x39,0x2e,0x36,0x30, + 0x30,0x34,0x32,0x31,0x2c,0x32,0x39,0x2e,0x37,0x39,0x38,0x34,0x37,0x20,0x4c,0x20, + 0x34,0x35,0x2e,0x30,0x35,0x32,0x36,0x30,0x39,0x2c,0x33,0x37,0x2e,0x30,0x36,0x35, + 0x38,0x30,0x39,0x20,0x4c,0x20,0x34,0x37,0x2e,0x39,0x34,0x39,0x37,0x39,0x36,0x2c, + 0x34,0x30,0x2e,0x39,0x30,0x35,0x31,0x35,0x38,0x20,0x43,0x20,0x34,0x39,0x2e,0x31, + 0x35,0x39,0x38,0x33,0x36,0x2c,0x33,0x38,0x2e,0x35,0x35,0x38,0x32,0x39,0x34,0x20, + 0x35,0x30,0x2e,0x36,0x32,0x30,0x31,0x33,0x38,0x2c,0x33,0x36,0x2e,0x33,0x39,0x38, + 0x32,0x39,0x36,0x20,0x35,0x32,0x2e,0x32,0x36,0x31,0x33,0x35,0x39,0x2c,0x33,0x34, + 0x2e,0x34,0x33,0x37,0x36,0x38,0x34,0x20,0x43,0x20,0x35,0x31,0x2e,0x38,0x32,0x33, + 0x31,0x32,0x39,0x2c,0x33,0x33,0x2e,0x38,0x35,0x38,0x33,0x30,0x38,0x20,0x35,0x31, + 0x2e,0x34,0x33,0x31,0x38,0x33,0x35,0x2c,0x33,0x33,0x2e,0x33,0x32,0x39,0x33,0x31, + 0x37,0x20,0x35,0x30,0x2e,0x39,0x31,0x35,0x34,0x32,0x32,0x2c,0x33,0x32,0x2e,0x36, + 0x35,0x35,0x31,0x32,0x39,0x20,0x4c,0x20,0x34,0x35,0x2e,0x36,0x32,0x32,0x39,0x32, + 0x31,0x2c,0x32,0x35,0x2e,0x37,0x35,0x33,0x34,0x34,0x32,0x20,0x7a,0x20,0x4d,0x20, + 0x33,0x38,0x2e,0x35,0x37,0x33,0x38,0x35,0x38,0x2c,0x33,0x30,0x2e,0x35,0x39,0x38, + 0x33,0x33,0x35,0x20,0x4c,0x20,0x33,0x37,0x2e,0x38,0x34,0x33,0x38,0x35,0x38,0x2c, + 0x33,0x31,0x2e,0x32,0x36,0x31,0x30,0x37,0x39,0x20,0x43,0x20,0x33,0x35,0x2e,0x37, + 0x35,0x38,0x34,0x33,0x2c,0x33,0x33,0x2e,0x31,0x38,0x37,0x30,0x37,0x35,0x20,0x33, + 0x34,0x2e,0x35,0x39,0x39,0x35,0x34,0x39,0x2c,0x33,0x36,0x2e,0x31,0x38,0x39,0x38, + 0x37,0x31,0x20,0x33,0x34,0x2e,0x35,0x35,0x38,0x38,0x35,0x39,0x2c,0x33,0x39,0x2e, + 0x37,0x33,0x39,0x36,0x34,0x32,0x20,0x43,0x20,0x33,0x34,0x2e,0x34,0x39,0x33,0x36, + 0x35,0x36,0x2c,0x34,0x35,0x2e,0x34,0x32,0x37,0x36,0x31,0x38,0x20,0x33,0x36,0x2e, + 0x36,0x39,0x38,0x37,0x32,0x33,0x2c,0x35,0x31,0x2e,0x37,0x30,0x38,0x36,0x36,0x37, + 0x20,0x34,0x31,0x2e,0x34,0x30,0x32,0x36,0x30,0x39,0x2c,0x35,0x39,0x2e,0x31,0x38, + 0x37,0x37,0x37,0x32,0x20,0x43,0x20,0x34,0x32,0x2e,0x30,0x34,0x36,0x38,0x31,0x34, + 0x2c,0x36,0x30,0x2e,0x32,0x31,0x32,0x30,0x34,0x39,0x20,0x34,0x32,0x2e,0x39,0x36, + 0x35,0x31,0x37,0x37,0x2c,0x36,0x31,0x2e,0x34,0x39,0x36,0x34,0x37,0x33,0x20,0x34, + 0x34,0x2e,0x30,0x30,0x33,0x32,0x33,0x34,0x2c,0x36,0x32,0x2e,0x38,0x39,0x30,0x30, + 0x30,0x32,0x20,0x43,0x20,0x34,0x33,0x2e,0x38,0x34,0x39,0x31,0x37,0x32,0x2c,0x36, + 0x31,0x2e,0x34,0x37,0x32,0x38,0x33,0x37,0x20,0x34,0x33,0x2e,0x37,0x35,0x32,0x32, + 0x39,0x36,0x2c,0x36,0x30,0x2e,0x30,0x33,0x34,0x37,0x35,0x20,0x34,0x33,0x2e,0x37, + 0x35,0x32,0x32,0x39,0x36,0x2c,0x35,0x38,0x2e,0x35,0x37,0x30,0x37,0x33,0x34,0x20, + 0x43,0x20,0x34,0x33,0x2e,0x37,0x35,0x32,0x32,0x39,0x36,0x2c,0x35,0x32,0x2e,0x35, + 0x38,0x34,0x37,0x36,0x36,0x20,0x34,0x35,0x2e,0x30,0x36,0x34,0x32,0x31,0x31,0x2c, + 0x34,0x36,0x2e,0x39,0x33,0x36,0x33,0x31,0x34,0x20,0x34,0x37,0x2e,0x34,0x30,0x32, + 0x32,0x39,0x36,0x2c,0x34,0x32,0x2e,0x30,0x30,0x32,0x31,0x31,0x35,0x20,0x4c,0x20, + 0x34,0x34,0x2e,0x30,0x34,0x38,0x38,0x35,0x39,0x2c,0x33,0x37,0x2e,0x36,0x35,0x39, + 0x39,0x39,0x34,0x20,0x4c,0x20,0x33,0x38,0x2e,0x35,0x37,0x33,0x38,0x35,0x38,0x2c, + 0x33,0x30,0x2e,0x35,0x39,0x38,0x33,0x33,0x35,0x20,0x7a,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x33,0x37,0x39,0x38, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73,0x76, + 0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/record.svg + 0x0,0x0,0xf,0x98, + 0x0, + 0x0,0x7d,0x95,0x78,0x9c,0xed,0x5d,0x6d,0x93,0xe2,0x36,0x12,0xfe,0xbe,0xbf,0x82, + 0x63,0xbf,0x64,0xeb,0x40,0xe8,0xfd,0x85,0xcc,0x6c,0xea,0x2a,0xa9,0x5c,0xa5,0x2a, + 0xa9,0xbb,0xba,0x24,0x75,0x1f,0x53,0x1e,0x30,0xc,0xb5,0x80,0x39,0xe3,0xd9,0x19, + 0xf6,0xd7,0x5f,0xcb,0x80,0x6d,0x19,0x81,0x6d,0xc6,0x30,0xbb,0xb3,0x3b,0x93,0xec, + 0x80,0xd5,0x56,0xab,0x1f,0xb5,0xa4,0xee,0xb6,0xd4,0xbe,0xf9,0xe1,0x69,0x31,0xef, + 0x7c,0xc,0xe3,0xf5,0x2c,0x5a,0xde,0x76,0x9,0xc2,0xdd,0x4e,0xb8,0x1c,0x45,0xe3, + 0xd9,0x72,0x7a,0xdb,0xfd,0xf3,0x8f,0x9f,0xfb,0xba,0xdb,0x59,0x27,0xc1,0x72,0x1c, + 0xcc,0xa3,0x65,0x78,0xdb,0x5d,0x46,0xdd,0x1f,0xde,0xbf,0xb9,0xf9,0x5b,0xbf,0xdf, + 0xf9,0x31,0xe,0x83,0x24,0x1c,0x77,0x1e,0x67,0xc9,0x7d,0xe7,0x97,0xe5,0x87,0xf5, + 0x28,0x58,0x85,0x9d,0xef,0xee,0x93,0x64,0x35,0x1c,0xc,0x1e,0x1f,0x1f,0xd1,0x6c, + 0x77,0x11,0x45,0xf1,0x74,0xf0,0xae,0xd3,0xef,0xc3,0x9d,0xeb,0x8f,0xd3,0x37,0x9d, + 0x4e,0x7,0xd8,0x2e,0xd7,0xc3,0xf1,0xe8,0xb6,0xbb,0xa3,0x5f,0x3d,0xc4,0xf3,0x94, + 0x6e,0x3c,0x1a,0x84,0xf3,0x70,0x11,0x2e,0x93,0xf5,0x80,0x20,0x32,0xe8,0xe6,0xe4, + 0xa3,0x9c,0x7c,0x64,0x99,0xcf,0x3e,0x86,0xa3,0x68,0xb1,0x88,0x96,0xeb,0xf4,0xce, + 0xe5,0xfa,0x6d,0x81,0x38,0x1e,0x4f,0x32,0x6a,0xdb,0x98,0x47,0x96,0x12,0x11,0x63, + 0xcc,0x0,0xd3,0x1,0xa5,0x7d,0xa0,0xe8,0xaf,0x37,0xcb,0x24,0x78,0xea,0xbb,0xb7, + 0x42,0x1b,0x7d,0xb7,0x52,0x8c,0xf1,0x0,0xca,0x72,0xca,0x7a,0x54,0xc3,0xa7,0x39, + 0x20,0x71,0xb4,0x31,0x69,0x69,0x91,0x3b,0xa0,0xbf,0x82,0xff,0xb3,0x1b,0xf6,0x17, + 0xd0,0x3a,0x7a,0x88,0x47,0xe1,0x4,0xee,0xc,0xd1,0x32,0x4c,0x6,0x3f,0xfd,0xf1, + 0x53,0x56,0xd8,0xc7,0x68,0x9c,0x8c,0xb,0xd5,0xec,0xc1,0x77,0xf8,0x3a,0x3d,0xb2, + 0xc,0x16,0xe1,0x7a,0x15,0x8c,0xc2,0xf5,0x60,0x7f,0x3d,0xbd,0xff,0x71,0x36,0x4e, + 0xee,0x6f,0xbb,0x94,0xa7,0xdf,0xee,0xc3,0xd9,0xf4,0x3e,0xc9,0xbe,0xce,0xc6,0xb7, + 0x5d,0x90,0x8e,0xa6,0x5f,0xf6,0xcc,0x87,0x99,0x6,0x61,0xc4,0xb6,0x45,0xfb,0x1a, + 0x8b,0x45,0x5c,0xa6,0x45,0x8e,0xba,0x39,0xd5,0x8c,0xa3,0xd1,0x5d,0xb0,0x86,0x26, + 0xf,0xee,0xa3,0x45,0x38,0x58,0xcd,0xef,0xc2,0xe0,0x61,0x1c,0xcd,0x96,0x83,0xdf, + 0x7f,0xfe,0xf5,0xdf,0xf7,0xa0,0x81,0x83,0xf5,0x64,0xbe,0x72,0x3e,0xf4,0xa7,0xc9, + 0x87,0xc1,0x6a,0xf6,0xb4,0x8,0x56,0xeb,0x83,0xda,0xac,0x88,0xb7,0xdd,0x38,0x1c, + 0xfd,0x35,0xa,0xe6,0x73,0x8a,0xf6,0xfd,0x92,0xb5,0x2e,0x7a,0x48,0x56,0xf,0xc9, + 0x5f,0xe1,0x53,0x12,0x2e,0xb7,0x8d,0x2,0x64,0xa,0x30,0xa5,0xc5,0xf6,0x36,0xe4, + 0x40,0x94,0xf1,0x58,0xc0,0x3f,0x93,0x59,0x8,0xa0,0x24,0xf1,0x43,0xd8,0x7d,0xf, + 0x85,0x37,0xe3,0x70,0xb2,0xb6,0x44,0x5b,0xb0,0xec,0x37,0x9e,0x16,0x40,0x51,0xc6, + 0x77,0x5,0x18,0xac,0xc2,0x91,0x55,0xe1,0x2d,0x69,0xa1,0xce,0x64,0x63,0x7b,0xcd, + 0x25,0x65,0xdb,0xae,0xed,0x38,0xc8,0xae,0xfe,0x7a,0x2,0x58,0x3b,0xc3,0xe,0xa1, + 0xf6,0x1f,0x2f,0xc5,0x66,0x47,0x1,0x5a,0x9,0x7f,0xb0,0x97,0xe6,0x93,0xed,0xdd, + 0x13,0xd5,0xec,0x5a,0xd0,0x8f,0xe2,0xd9,0x74,0x66,0xfb,0xcd,0xd2,0x69,0x97,0x16, + 0x24,0x2d,0xc8,0xa4,0x54,0xb7,0x33,0xd8,0xc9,0xc,0xea,0x1d,0x6,0xf1,0x3f,0xe3, + 0x60,0x3c,0x83,0x41,0x5d,0xbc,0xc1,0x2d,0xe1,0x98,0x8b,0x1d,0x4e,0x70,0xd7,0x3a, + 0x89,0x56,0x7b,0x5a,0xc0,0x26,0xd9,0xcc,0x1,0x13,0x7b,0xb1,0x3f,0x8a,0xe6,0x51, + 0x3c,0x7c,0x3b,0x49,0x7f,0xbe,0x4f,0x2f,0x45,0xa0,0xc5,0xb3,0x64,0x33,0xcc,0xc5, + 0xeb,0x74,0xa2,0xc9,0x64,0x1d,0x82,0xde,0x16,0xaf,0xa5,0xca,0xb,0x37,0x0,0xab, + 0xbc,0x81,0xb5,0x98,0x85,0x93,0x30,0x54,0x25,0x66,0x48,0x1b,0x86,0x35,0x51,0xda, + 0xc3,0x95,0xf8,0xb9,0x9a,0x1c,0x96,0x81,0x2b,0x7d,0x53,0xb0,0xa8,0x34,0xd,0xc0, + 0x22,0xe3,0x3b,0x50,0x0,0xb7,0xfd,0xe4,0xfb,0xba,0x68,0x51,0x45,0x1a,0xa1,0xe5, + 0xe3,0x86,0x7d,0xdc,0xbc,0x28,0x51,0xc5,0x5a,0x43,0x89,0x68,0x76,0xc,0xa5,0x8c, + 0x1f,0xd1,0xa2,0x2,0x88,0xfa,0x80,0x1e,0x45,0xa9,0xc0,0x4d,0x55,0x0,0xe1,0xe1, + 0x86,0x27,0x62,0x72,0x82,0xdb,0xb3,0x51,0x92,0xaa,0x81,0x2e,0x69,0x10,0x1c,0x87, + 0xe7,0xea,0x12,0x91,0xa6,0x91,0x2e,0x59,0x98,0x9,0x3f,0x57,0x97,0x48,0x41,0x73, + 0x9b,0xa1,0xb4,0x9f,0xfb,0xa0,0x19,0x73,0x98,0xd3,0x6e,0xbb,0xc1,0xfc,0x31,0xd8, + 0xac,0x33,0x26,0xe9,0xaa,0x3d,0xbc,0x8f,0x43,0xb0,0x32,0xde,0x7a,0xb4,0xee,0x38, + 0xdc,0x94,0xee,0x96,0xd2,0xb4,0x1a,0x2,0x2d,0x97,0x48,0x53,0xa9,0x8c,0xcc,0xae, + 0x6e,0xe0,0xaa,0x44,0x8a,0x6a,0xad,0x48,0x5e,0xd5,0x13,0x85,0x79,0x5a,0x21,0x21, + 0x69,0xae,0xb0,0x1b,0x7b,0x8d,0x22,0x41,0xa8,0xc0,0xf9,0xd5,0xe9,0x8e,0xd5,0x9f, + 0xcb,0x59,0x2,0x46,0xca,0xc3,0x3a,0x8c,0x7f,0xb7,0xb,0xfd,0xbf,0x96,0x7f,0xae, + 0xc3,0x3,0xaa,0x3f,0xe2,0x60,0xb9,0x6,0xab,0x62,0x71,0xdb,0x5d,0x4,0x49,0x3c, + 0x7b,0xfa,0xe,0xa6,0x36,0x25,0x30,0x15,0x3d,0x6c,0x7f,0xb3,0x2f,0x48,0x4a,0xa9, + 0x30,0x83,0xf,0x44,0x29,0x83,0xd5,0xbb,0xaa,0x49,0xde,0xb6,0x8e,0x30,0x64,0xc0, + 0x26,0x12,0xae,0x1c,0x20,0x32,0x53,0x5a,0x1b,0xe5,0xc8,0x4c,0x28,0x2,0xe1,0xc, + 0xa6,0xe,0x3e,0x14,0x61,0x29,0x60,0xdc,0xa8,0x1a,0x2d,0xef,0x93,0xb4,0xcd,0xa4, + 0xc7,0xe0,0x2e,0xe8,0x8,0xdd,0xeb,0x53,0xa4,0x25,0x57,0xec,0x5d,0x43,0x74,0xe, + 0x3b,0x8e,0x30,0xad,0x6b,0xf5,0xbf,0x9d,0x9b,0x2b,0x15,0xa9,0x2,0x3a,0x8f,0x88, + 0x89,0xfd,0x38,0x7,0x9b,0x1b,0xfa,0x7,0x78,0x10,0x91,0xa,0xa7,0x24,0x25,0x4c, + 0x36,0x95,0xee,0x52,0x3d,0xe3,0x45,0x4d,0x5e,0x1d,0xb5,0x1a,0xc2,0x63,0x24,0x94, + 0x54,0x94,0x38,0xc2,0x13,0x8e,0x30,0xa0,0xc9,0xb4,0x23,0x3c,0x80,0x8c,0x61,0x2c, + 0x4a,0xe9,0xe,0x5b,0x81,0x40,0xaf,0x28,0x39,0x35,0xd6,0x41,0x78,0xde,0x7c,0xca, + 0xb8,0x84,0xca,0x80,0x7f,0x60,0xb8,0xc2,0x4,0x74,0x6,0x6,0xb4,0x16,0xc4,0xe8, + 0xb3,0x74,0x6,0xe6,0x1a,0x26,0x14,0x11,0xe,0x6c,0x8c,0x20,0x6,0x8b,0x88,0x2e, + 0xab,0x4c,0x99,0xd4,0x62,0xc9,0x11,0x33,0xaa,0x38,0x59,0x79,0x51,0xa3,0x9f,0x7, + 0x6a,0x4,0x51,0x9,0x7a,0x49,0x7a,0x7d,0x70,0x45,0x31,0x56,0x82,0x9e,0x9,0x9a, + 0xa6,0x2,0xac,0x45,0x7,0x34,0x5,0xa3,0x8f,0xc1,0x7f,0xa2,0x8c,0x5a,0x99,0x96, + 0xa4,0x9e,0x12,0xe6,0xa0,0x6d,0xf2,0x34,0x6a,0xf8,0x6a,0xa8,0xf9,0xd8,0x2b,0x5e, + 0x65,0x6b,0x1,0x4d,0x2e,0x41,0x6d,0x5b,0xeb,0x88,0xc1,0x51,0x69,0x6b,0x1,0xb7, + 0x2a,0xd3,0xbc,0xbe,0xc1,0xd1,0x92,0xad,0x5,0x93,0x8b,0x6e,0x60,0x6b,0x51,0xf9, + 0xc,0xbb,0x1d,0xe4,0xc7,0xcd,0xec,0x76,0xee,0x35,0x33,0xeb,0xd9,0x5a,0xc0,0x8d, + 0xb6,0x88,0x12,0xad,0xd6,0x25,0xc9,0x9b,0xeb,0xd2,0x11,0x40,0x6b,0xe8,0x92,0xf4, + 0x69,0x6e,0x85,0x2e,0xf9,0xb8,0x9d,0xad,0x4b,0x97,0xb3,0x48,0x9,0xc7,0xb2,0xe1, + 0xb4,0xe6,0x5f,0x0,0x8f,0x2c,0x96,0xfe,0x85,0xd5,0x59,0x84,0xab,0xa6,0x9b,0x8b, + 0xa,0xaf,0x1b,0xa,0x7f,0xf6,0x92,0x91,0xa2,0x66,0x65,0xe6,0x86,0x95,0x67,0x7d, + 0x42,0x84,0x10,0xc6,0x1,0xd,0x56,0x6a,0xa9,0x81,0x98,0x32,0xea,0xc2,0x96,0x51, + 0xbf,0x24,0x6c,0x4,0xb7,0x9,0xdb,0x49,0xfb,0xc4,0xe2,0x6,0x36,0x86,0x34,0xd4, + 0xc8,0x92,0x91,0x61,0xe1,0xe6,0x94,0xb8,0xda,0x46,0x19,0x54,0x1,0x3a,0xe8,0xfa, + 0x49,0x60,0xef,0x32,0x21,0x18,0xbd,0x28,0x6a,0x8e,0x15,0xeb,0x43,0x8d,0xb6,0x89, + 0xda,0x29,0x47,0xc0,0x82,0xa6,0x10,0x20,0x69,0x15,0xc8,0x5,0x4d,0x20,0x43,0xa8, + 0xe3,0xcd,0xa4,0xf6,0x8,0x21,0x84,0x6b,0x4e,0x5c,0xd0,0x8,0x12,0x46,0x31,0x70, + 0x39,0x5f,0x14,0x35,0xfe,0x7c,0xd4,0x1a,0x78,0x88,0x7e,0xdf,0xe6,0x88,0x1f,0xe4, + 0xf7,0x99,0x1c,0xff,0x2a,0x83,0xce,0xb6,0x2a,0x98,0xb7,0xa,0x9d,0x8d,0x9a,0x16, + 0xa1,0x73,0x59,0x70,0x2c,0xf2,0xfe,0x1c,0x3d,0x41,0xa3,0xc,0xa2,0xda,0xb1,0xca, + 0x47,0x9b,0xdb,0xae,0x41,0xf6,0x1a,0x2f,0x4,0x26,0x26,0x5e,0xda,0x89,0x97,0x36, + 0x4e,0x67,0x35,0x9d,0x5e,0x6e,0xd8,0x4f,0xeb,0x55,0x1c,0x6,0xe3,0xdf,0xc2,0xe4, + 0x3e,0xb2,0x6d,0xf,0x27,0x56,0xfe,0x5a,0x11,0xa,0xe8,0x3a,0xf0,0x23,0x76,0x11, + 0x8a,0xdd,0x17,0x3b,0x1b,0x60,0xc1,0x75,0x4f,0x20,0x45,0x15,0xe5,0xba,0x32,0x42, + 0x71,0x9c,0x3,0x54,0x25,0xa4,0xa0,0x5b,0x6d,0xe9,0x67,0xdf,0xfa,0x76,0x48,0x71, + 0x46,0x4c,0x8f,0x6a,0xa4,0x14,0x63,0xd8,0x9c,0xe3,0x12,0x68,0xf0,0x8d,0x40,0x33, + 0x88,0x3b,0xe1,0xdb,0x15,0x95,0x61,0x66,0x5c,0x97,0x80,0x82,0x7e,0xc2,0x18,0x2e, + 0x2c,0x53,0xfb,0xd5,0xd7,0xa5,0xf5,0x84,0x9a,0x38,0xaf,0xe7,0x7e,0xb6,0xe1,0x7b, + 0xbf,0x64,0xb0,0x7,0x96,0x5a,0x65,0x84,0x6a,0x33,0xda,0x3,0xd8,0xd5,0x73,0x42, + 0x2f,0x1e,0xed,0x1,0xe1,0xc0,0x1e,0xd6,0x86,0x7e,0x9,0xe1,0x1e,0x80,0xad,0x9e, + 0x17,0xfa,0x1a,0xc3,0x3d,0x94,0xb3,0x7a,0x11,0xc2,0xcb,0x87,0x7b,0x8,0x2c,0xf1, + 0x18,0x24,0x16,0x5f,0x40,0xbc,0x7,0x60,0xab,0x17,0x22,0xbc,0x42,0xbc,0xc7,0x50, + 0x8a,0x8d,0x96,0x5f,0x42,0xc0,0x7,0x60,0xbb,0x5e,0x70,0xd1,0xc7,0x9e,0x1e,0xd, + 0x65,0xec,0xdd,0x66,0x68,0x62,0xd5,0x33,0xd9,0x16,0x3,0x3e,0xc0,0x8d,0x7a,0xb8, + 0xbd,0x68,0xc0,0x7,0x50,0x3a,0x1a,0xca,0x68,0x3b,0xe0,0x43,0xad,0x51,0x76,0xb5, + 0x80,0xf,0x70,0x93,0xed,0xa1,0x4,0x1e,0x5c,0x65,0xef,0x12,0x5f,0x38,0xef,0x42, + 0x1,0x1f,0x90,0xce,0xa7,0xb9,0xaf,0x23,0xe0,0x3,0x96,0x31,0x6b,0x38,0xad,0xbd, + 0x9e,0x80,0xf,0x8,0xdf,0xc2,0x93,0xd2,0xaf,0x2e,0xe0,0x3,0xb0,0x1d,0xda,0xe4, + 0xdf,0x2,0x3e,0x15,0xa1,0xb,0x40,0xcd,0xb4,0x89,0xda,0xd7,0x11,0xf0,0xa1,0xdc, + 0x90,0xe7,0xa3,0xf6,0x39,0x4,0x7c,0x9e,0xeb,0xb7,0x80,0xfe,0x22,0xe,0x66,0x60, + 0x29,0x4e,0xa0,0x8d,0xd,0x74,0x14,0x1a,0xb5,0x1d,0x1a,0x1a,0x31,0x49,0x64,0x29, + 0x4e,0x60,0xac,0xb4,0xaa,0x60,0x2a,0x7a,0xf0,0x56,0xb8,0x96,0xaf,0xcb,0x48,0xb, + 0x4e,0x5b,0xa5,0xde,0x1c,0xb6,0x8f,0x31,0xdc,0xe4,0xa9,0x99,0x6f,0x6b,0x60,0x71, + 0xe1,0x3e,0x65,0x43,0x31,0x46,0x9a,0x3d,0x34,0xab,0xbb,0xf,0xd1,0x67,0x42,0x1, + 0xb3,0xd6,0x9e,0x99,0x31,0xaa,0x6b,0xf4,0x4d,0x85,0xd5,0xc3,0xa8,0xa9,0x2,0xca, + 0x3,0x81,0x49,0x7f,0xca,0x78,0x57,0x9a,0x58,0xc0,0x8c,0x55,0x0,0xe5,0xdb,0xb, + 0x97,0xfe,0x1c,0x63,0xd6,0xae,0x85,0xe5,0x41,0x99,0x98,0xa3,0x3b,0xa,0xdb,0xd6, + 0x44,0x62,0x44,0x23,0x4d,0xf4,0x23,0x53,0x53,0x13,0x89,0x51,0xad,0x69,0x22,0xd1, + 0xa4,0x52,0xd1,0x8a,0xc6,0x46,0x6d,0x45,0x9b,0x4c,0x3c,0x12,0x9e,0x30,0xe6,0x6b, + 0x56,0x1,0x56,0x97,0xa0,0x8a,0x18,0xe9,0xdb,0x9a,0x89,0xad,0xe9,0x5,0x66,0x88, + 0xa0,0x5e,0xd8,0xf4,0x89,0x3e,0x2a,0x50,0x9d,0xb3,0xe9,0xd3,0xd3,0x9d,0xd0,0x18, + 0xc1,0x35,0x21,0xed,0x3d,0x6a,0x4f,0xa7,0xf4,0xca,0xf6,0xab,0x33,0x66,0x85,0xa6, + 0x9d,0x55,0xe0,0x76,0xc6,0xb4,0xe0,0xed,0xd7,0xf6,0xbc,0x78,0xa6,0x9b,0xed,0x4d, + 0xf7,0x8a,0x5e,0x6f,0xdc,0x3,0xaf,0x13,0x9b,0xd3,0xb,0x28,0x79,0xb7,0x2d,0x23, + 0xad,0x30,0x83,0xff,0xcc,0x19,0x70,0x21,0x1,0xb6,0x23,0xb8,0xd9,0xfc,0xf9,0x43, + 0xaa,0x7e,0x14,0x81,0xe9,0xca,0x4d,0xf1,0x17,0x3a,0x35,0x21,0xa8,0x44,0x30,0x55, + 0x61,0xf3,0xdc,0xc3,0x13,0x8a,0x83,0xb3,0x6b,0x38,0xd7,0xd5,0x95,0x96,0x8f,0x52, + 0x30,0x65,0x8d,0x52,0x95,0x1e,0xbf,0x60,0x2,0x23,0xa5,0x15,0x33,0xa7,0x4e,0x56, + 0x14,0xac,0x93,0xb,0x3c,0x4d,0x4c,0xf5,0xbc,0xc8,0xd9,0x65,0x1,0x93,0x45,0x3e, + 0x34,0xd3,0xa7,0x89,0x9a,0xdb,0xa7,0x81,0x5,0xa3,0xc1,0x3e,0x4d,0x4,0x2a,0x70, + 0x53,0x54,0xe1,0xd1,0xd4,0xc4,0x4b,0x3b,0xf1,0xd2,0xda,0xa7,0x89,0x1c,0x9c,0x43, + 0x42,0x68,0x5d,0x27,0xe0,0x82,0x9e,0x4a,0xba,0x98,0x9d,0x9a,0x3e,0x55,0xc1,0x34, + 0xb7,0xe6,0xb6,0x12,0xe0,0x98,0x49,0x91,0x9b,0xdb,0x9b,0xd4,0x97,0x95,0xc8,0x28, + 0x52,0xda,0xcc,0x7d,0x88,0xc8,0x66,0xeb,0xcb,0x62,0x2,0x6,0x7b,0x5d,0xbf,0xf1, + 0xa2,0xc2,0x9b,0x53,0x21,0x1,0x28,0x76,0x85,0xa7,0x98,0xc3,0x1c,0x22,0xa,0x86, + 0x68,0x1a,0x20,0x92,0x14,0x71,0xc1,0xcb,0x3b,0xd9,0xf,0x69,0xad,0x63,0x5,0xa4, + 0x84,0xca,0xda,0x4e,0xf3,0xb,0xa,0x4f,0xf1,0x59,0x31,0x34,0xd0,0xf,0x2,0x4a, + 0xe5,0xea,0x7,0x78,0x98,0x8,0xc3,0xf8,0x2f,0x45,0x35,0x60,0x2e,0x31,0x58,0x6b, + 0xd7,0xcb,0x94,0x2,0x69,0x8c,0xb9,0xb9,0x68,0x30,0xa8,0x52,0x78,0xd2,0xd4,0x41, + 0x6f,0x5b,0x3f,0x5e,0x54,0xf8,0x73,0x7a,0xfe,0x4b,0x11,0xde,0xf1,0x23,0x7d,0x6e, + 0x66,0xd3,0x30,0x60,0x2a,0x3c,0xe5,0x88,0x4a,0xa6,0xcc,0x81,0xda,0x2b,0xe7,0x99, + 0xa9,0x9d,0x15,0xed,0x92,0xa8,0x8c,0x29,0xc9,0x2e,0x91,0x24,0xba,0xf0,0x7c,0xe3, + 0x5,0x44,0x67,0xf8,0x2c,0xa5,0x6f,0x4d,0xf4,0x32,0x6f,0x5f,0xac,0xb,0xbc,0x15, + 0x4a,0x95,0x66,0x36,0xaa,0x4a,0x8d,0xc6,0x8c,0x93,0x5e,0xfe,0xa9,0x50,0xce,0x94, + 0x44,0xa0,0x66,0xa6,0xc7,0x31,0x45,0x46,0xd7,0xd9,0x2c,0xf3,0x2c,0x6c,0x59,0x61, + 0xff,0x8a,0x17,0xdb,0xa6,0x5b,0x50,0xdb,0x41,0x1,0x4b,0x24,0x30,0x67,0xaa,0xc7, + 0x24,0xc,0x39,0x23,0x65,0x29,0xa,0x4d,0x24,0xdc,0x7,0xfe,0x9f,0xd3,0x79,0x7d, + 0x3b,0x87,0xb,0xb8,0xc3,0xdd,0x4e,0x60,0x7b,0x5a,0xc3,0xf8,0xe4,0x4e,0xf7,0x11, + 0xa9,0x81,0x33,0xae,0xc,0xa,0x5e,0x54,0x73,0x69,0xd3,0x6d,0x87,0x5f,0xce,0xa0, + 0xad,0x98,0xac,0x99,0x67,0xe0,0xbc,0x9e,0x65,0xba,0x6a,0x54,0xd1,0x17,0x19,0x55, + 0x8a,0x2b,0x24,0x19,0xe3,0x30,0xaa,0x8c,0x2,0x15,0xd2,0xc4,0xbc,0xca,0x51,0xc5, + 0xce,0xd9,0x36,0xff,0x3a,0x46,0x15,0x6b,0xba,0x69,0xfe,0x35,0x8d,0x2a,0xde,0xc2, + 0xd6,0xf7,0xe6,0xa3,0xa,0xec,0x41,0xa4,0x18,0x37,0xbc,0x7,0xfe,0x25,0x32,0x52, + 0x2b,0xf5,0x2a,0x47,0x95,0x6c,0x8a,0xee,0x6b,0x19,0x55,0xb4,0xd8,0x49,0x5f,0xdf, + 0xa8,0x92,0x6d,0x6e,0xf2,0xff,0x36,0xaa,0xca,0xe8,0x7e,0xbd,0x6b,0x95,0xfc,0x7a, + 0xd7,0x2a,0x98,0x52,0xbe,0x59,0x80,0x17,0x1c,0x55,0xea,0xeb,0xf5,0xab,0xd4,0x67, + 0xee,0x57,0xbd,0xae,0xe4,0x23,0x54,0x63,0x53,0xa7,0xdb,0xda,0x3b,0xca,0x93,0xed, + 0x3,0x2b,0x42,0xe7,0xd9,0x33,0xe6,0xdf,0x5f,0xe6,0xdd,0x8b,0xe6,0x81,0xae,0xcd, + 0xa4,0x26,0x5e,0xd4,0xd4,0x75,0x51,0xdb,0x6f,0x39,0x74,0x14,0xf9,0x70,0x77,0xa2, + 0x7f,0x27,0xa3,0x77,0xd7,0xe3,0x49,0xd0,0x5a,0x48,0xeb,0xe1,0x45,0x4d,0xd4,0x42, + 0xad,0x8d,0x83,0x5,0xee,0xfe,0xd6,0x22,0x6c,0xde,0xdd,0xb0,0xfe,0xbd,0xb3,0xbe, + 0x6d,0xb6,0x27,0x71,0x7b,0x7e,0x62,0xf,0x2f,0x6c,0xec,0xba,0xb0,0x5d,0xe0,0x50, + 0xd3,0x33,0x84,0x27,0x57,0x13,0xde,0xb7,0x83,0xd1,0x34,0xd9,0xa0,0xf1,0xbc,0x63, + 0x16,0xca,0x34,0xcb,0x1e,0x78,0xe4,0x54,0xc0,0x21,0x37,0xef,0x6,0x9,0x65,0x5a, + 0xcb,0x1a,0x8,0xa6,0x59,0xe5,0x66,0x1f,0xaa,0xce,0xd9,0x2,0x78,0xf6,0x31,0xb, + 0x75,0xce,0x1e,0xc0,0x23,0xe7,0x56,0xda,0x43,0xa9,0xc9,0x1e,0xbf,0x67,0xe5,0xc3, + 0x3,0x5e,0xcd,0x36,0xf9,0x3d,0x2b,0x1f,0x1e,0x70,0x3b,0x77,0x97,0xdf,0x5,0xf, + 0x16,0xa8,0xc2,0xe,0xb,0xff,0xd9,0xb7,0x23,0xe7,0xe4,0xfc,0x67,0xea,0xbc,0xe7, + 0xef,0xce,0x76,0x7d,0x4e,0x2f,0x19,0x2f,0x78,0x1c,0x43,0x95,0x36,0x9e,0x1c,0x1e, + 0xb4,0x3c,0x72,0x28,0xd3,0x7b,0x7e,0xd3,0x7b,0xd4,0xb3,0x5,0xd0,0xbc,0xf6,0xc9, + 0x8b,0xa2,0xa6,0x5c,0x5d,0x6b,0xf1,0x48,0x53,0x3d,0xd8,0x5e,0xf0,0x54,0x85,0x52, + 0xa5,0xb3,0xb9,0x2d,0x9e,0x78,0x68,0x51,0x67,0x7c,0x8e,0xc0,0x8b,0xa2,0xd6,0x82, + 0x74,0x9f,0xff,0x59,0x94,0x67,0x64,0x1,0x6d,0x86,0x8e,0x3f,0x65,0xa9,0x37,0xb9, + 0xa9,0x3f,0xd,0xaa,0x37,0x65,0xaa,0xb7,0xe3,0x5e,0xd6,0x22,0x95,0x47,0x2d,0xd2, + 0x7c,0x3d,0xf6,0x6f,0x39,0x3f,0x6d,0xfd,0x9c,0x7d,0x3c,0xba,0x78,0x8c,0xe8,0x73, + 0x39,0x1e,0xad,0xc4,0xd5,0xf2,0x58,0x83,0xfc,0xcd,0xf2,0x58,0x1f,0x49,0xbb,0x5c, + 0xd7,0xd6,0x92,0xad,0xe5,0xb1,0x6,0x94,0x2a,0xf3,0x58,0x3,0xcd,0x15,0xf3,0x58, + 0x3,0xb7,0x33,0x8e,0x34,0x1c,0x49,0xc,0xde,0x1a,0x4a,0xfc,0x68,0x1e,0xeb,0xbc, + 0xdd,0xdc,0x37,0x6,0x2a,0x8f,0x32,0xf8,0xce,0x78,0xd5,0x1,0xa9,0xea,0xfc,0x8d, + 0x8f,0xd9,0x68,0x72,0x37,0xba,0x6b,0xe7,0x80,0x93,0xef,0x61,0x48,0x65,0x66,0x45, + 0x76,0x56,0x66,0x45,0xef,0xe9,0xa3,0x3a,0xc7,0x3d,0xce,0xca,0xac,0xe8,0x3d,0x58, + 0xd5,0x9a,0x26,0x31,0x9b,0x39,0xb3,0xb2,0xdd,0xca,0x97,0x6c,0xa2,0x2,0xa5,0xb1, + 0xb2,0xbf,0xe7,0xa0,0xa4,0x7c,0x7d,0x52,0x81,0x92,0x1a,0xd9,0xdf,0xa6,0x28,0x9d, + 0x3a,0x6e,0x51,0x3a,0x8d,0xc0,0xa9,0x6f,0xed,0x2c,0x1f,0x72,0x48,0xcf,0x45,0x20, + 0xb6,0xfd,0x39,0x7a,0xd8,0xe2,0x93,0x5d,0xd6,0xf,0x5f,0x2c,0xd1,0xf0,0x38,0xc6, + 0xee,0x6c,0x87,0x5b,0x49,0xd5,0x21,0x91,0xf6,0xd2,0xc,0x81,0xb9,0xc2,0xc,0x2b, + 0x39,0xa9,0x60,0xec,0x9,0xa5,0x29,0x75,0x23,0x72,0xd6,0x21,0xc2,0x58,0x73,0x2d, + 0xdc,0x74,0xf0,0x14,0x19,0x29,0x8a,0x93,0xb9,0x37,0xf3,0x4b,0xad,0x87,0x1,0x40, + 0x77,0x99,0xcc,0x2f,0x75,0xaa,0xad,0x4e,0xd6,0x72,0xc6,0x7a,0x5,0x80,0x9d,0x99, + 0xce,0x83,0x9d,0x75,0x4,0xef,0x90,0xdb,0xb9,0xeb,0xd5,0x67,0x17,0xb0,0x55,0x57, + 0xcc,0x1e,0xf4,0x8a,0x82,0xfc,0x8a,0x5d,0x2f,0x37,0xf9,0xeb,0x79,0xa2,0xa4,0xd8, + 0xf5,0x72,0x93,0xbf,0x9e,0xa7,0x97,0x8a,0xd6,0x4b,0x27,0xf7,0xa5,0xa7,0x6f,0xbc, + 0xc0,0xe3,0x72,0x45,0x5b,0x7f,0xeb,0xc4,0xcd,0xc0,0xbe,0xcb,0x2b,0xfd,0x94,0x19, + 0x14,0xf6,0x5,0x63,0xe3,0x8f,0xb3,0xf0,0xf1,0x4d,0xd6,0x10,0xfb,0x6,0xb3,0x5d, + 0x95,0xab,0x60,0x1a,0xa6,0x4b,0x9,0xf0,0xdd,0x5a,0xac,0xbb,0x82,0xbb,0x28,0x1e, + 0x87,0xf1,0xbe,0x48,0xa6,0x3f,0x4e,0xd1,0x6e,0xb5,0xb9,0xcd,0xde,0x91,0x56,0x34, + 0xaf,0xa0,0xd6,0xac,0x1c,0xfb,0xcb,0xd7,0xf7,0xc1,0x38,0x7a,0x84,0xfe,0x28,0x17, + 0x7e,0x8a,0x22,0xe8,0x1,0x5d,0xbe,0x6c,0xf,0x73,0x52,0xb0,0x3c,0xc,0xa8,0xbc, + 0x38,0x28,0xdc,0xa4,0x5b,0x73,0xb8,0xc0,0x3a,0xf,0x21,0x64,0xa5,0xe3,0x68,0xf4, + 0x60,0x5f,0xd7,0xd7,0x7f,0xd8,0xf6,0xd1,0xea,0xe9,0xe0,0xfe,0x87,0x38,0xb6,0x4, + 0xf3,0x60,0x13,0x82,0xbc,0xe9,0x9f,0xfd,0x10,0xdc,0xbd,0x6c,0x8e,0xd1,0xec,0xb6, + 0xfd,0xb,0xe7,0xa,0x97,0xd6,0xf7,0xd1,0xe3,0xf4,0x61,0x36,0xe,0xd7,0xbb,0xf7, + 0xac,0x95,0x18,0xa4,0x65,0xfd,0xbb,0xbb,0xe8,0xc9,0x5f,0xfe,0x38,0x5b,0x2,0x1a, + 0xfd,0x1d,0x2f,0x82,0xb3,0x34,0xb5,0x65,0x8a,0x3d,0xef,0x5c,0x7b,0xca,0x14,0xc0, + 0x41,0x64,0xab,0x6f,0xb9,0x10,0x70,0xca,0x13,0x68,0xa4,0x8d,0x8e,0xad,0x46,0x4c, + 0x82,0xf9,0x3a,0xdc,0xbf,0x2,0x2e,0x53,0x9d,0xb4,0xd1,0x7b,0xd5,0x3,0x53,0x19, + 0x10,0xa,0x92,0xf4,0x15,0x74,0x1f,0xc3,0x38,0x99,0x8d,0x82,0x79,0xa6,0x98,0xab, + 0x68,0x3d,0xdb,0x16,0xd9,0xb9,0x4a,0x53,0xc2,0xdd,0x20,0x77,0x5a,0x15,0x23,0x5c, + 0x66,0x9a,0x7a,0xa8,0xa0,0xe9,0xf5,0x45,0x98,0x4,0xe3,0x20,0x9,0x72,0x6d,0xdd, + 0x5f,0xd9,0x7b,0xce,0x37,0xf1,0x78,0x32,0xfc,0xcf,0x4f,0x3f,0x67,0xf6,0xd4,0x68, + 0x34,0xfc,0x6f,0x14,0x7f,0xc8,0xed,0x24,0x4b,0x10,0xdc,0x45,0xf,0x0,0x53,0x66, + 0xe3,0x1,0xdd,0x78,0x34,0xb4,0xa3,0x3b,0x48,0xde,0xcf,0x16,0xa0,0x80,0xf6,0x15, + 0x88,0x7f,0x7f,0x5a,0xcc,0x61,0xd0,0x64,0x5,0xe,0xb1,0x35,0xc5,0xf3,0x4a,0xb7, + 0xd5,0xc6,0xe1,0xf6,0x15,0x87,0xde,0xb7,0x42,0x8e,0x47,0x8b,0x99,0xbd,0x69,0xf0, + 0x7b,0x32,0x9b,0xcf,0x7f,0xb1,0x4c,0x8a,0x76,0xdf,0x60,0xd7,0xd0,0xbd,0x69,0x56, + 0x90,0xe3,0x66,0xb0,0x97,0x32,0xfd,0x36,0x2d,0x75,0xde,0x3c,0xb8,0xb,0xe7,0xb7, + 0xdd,0x1f,0x83,0xf9,0xff,0x1e,0xc2,0xcc,0x6b,0xc8,0x95,0x2b,0x8e,0x1e,0x56,0x8b, + 0x68,0x1c,0xee,0x34,0xb7,0x9b,0x83,0xb7,0xd3,0xe4,0x1d,0xcb,0x55,0x90,0xdc,0x1f, + 0xf1,0x38,0x82,0x78,0x94,0x3b,0x23,0x5b,0x3b,0x73,0x2,0x42,0xc,0x41,0xbc,0xef, + 0xde,0xda,0xa9,0xc8,0xcd,0xd8,0xfc,0xee,0x7b,0x5b,0x5a,0x30,0x70,0xd7,0x49,0x1c, + 0x7d,0x8,0x87,0xcb,0x68,0x19,0xee,0x3e,0x6f,0x95,0x79,0x8,0xe6,0x60,0x9a,0x7c, + 0x45,0xef,0x69,0xfa,0x0,0x52,0x18,0xcf,0x67,0xf0,0x67,0xc8,0xf7,0xd7,0xc6,0x1, + 0xcc,0x7,0x71,0x1c,0x6c,0x9c,0x1a,0xe,0x73,0x84,0xa4,0xde,0x1d,0x48,0xc1,0x88, + 0xcc,0xa7,0xf5,0x4c,0x14,0x7f,0xfa,0xe8,0xbc,0xd8,0x9b,0x1b,0x3a,0x2b,0x8e,0x9f, + 0x6c,0xd6,0x63,0x6c,0x9f,0x30,0x71,0x8f,0x67,0x16,0x6f,0x7c,0xc5,0xd0,0x9e,0xdf, + 0x3a,0x54,0x21,0x6,0x2a,0x4f,0x4d,0x2f,0xab,0xbe,0xf3,0x8f,0x4e,0x46,0xdc,0xcb, + 0x3e,0x75,0x70,0x87,0xd8,0x5f,0x9b,0xac,0xd9,0x46,0x2d,0x6b,0xd2,0xfb,0xea,0xff, + 0x94,0x35,0x21,0xf1,0xc4,0xc5,0x15,0x65,0x1c,0x9b,0x5d,0x5c,0x7c,0xf7,0x5,0x3c, + 0x3f,0x65,0x8d,0xc3,0x1e,0x43,0x60,0x37,0x48,0x52,0x78,0x66,0x31,0x75,0xc6,0x2a, + 0xe0,0x27,0xf,0x97,0x1c,0xbf,0x12,0xfa,0xd8,0x83,0x61,0x6c,0x18,0xac,0x6f,0x2c, + 0xe5,0x4f,0x11,0x65,0x60,0xda,0x52,0xd9,0xeb,0x2b,0xc,0x3e,0xb6,0x35,0x70,0x7a, + 0x76,0x7f,0x21,0x78,0xf,0x12,0x6c,0x90,0x6c,0x7c,0x4c,0xf3,0xc1,0x76,0x58,0x27, + 0x47,0xe0,0x7f,0x60,0xce,0x4d,0xd8,0xa7,0x36,0xc5,0x35,0xd5,0x18,0x20,0xe4,0xf6, + 0x1b,0xd8,0x41,0x8a,0x68,0x49,0x98,0xfd,0x2,0xf5,0x52,0x6c,0x94,0x4a,0xe9,0x88, + 0x82,0x25,0x1,0xac,0x2c,0x9d,0xa6,0xc7,0x36,0xe0,0x2b,0x69,0x92,0xaf,0xdc,0x87, + 0xb2,0xfd,0x6a,0x47,0x4b,0xa7,0x1c,0x2b,0x9d,0x52,0x30,0x18,0x8a,0x13,0xc9,0xb4, + 0x38,0x2b,0xa4,0x14,0x8c,0xf1,0x62,0xa8,0xc5,0xdf,0x27,0x9c,0x6b,0xac,0x58,0x9e, + 0x10,0x5c,0x61,0xa5,0x78,0xcf,0x68,0x64,0xb0,0xe2,0x92,0xf4,0x6c,0x76,0x2c,0x4c, + 0x64,0x11,0x93,0x83,0x51,0x7b,0xac,0xf6,0xb6,0xe,0x14,0x16,0x94,0x9a,0x61,0x58, + 0xd9,0xa9,0xe0,0xa2,0x47,0xd2,0x63,0xbd,0x80,0x29,0x28,0x29,0x78,0x29,0x8,0xec, + 0x2f,0x68,0xed,0xee,0xc3,0x5e,0xa5,0x2d,0x35,0x11,0xd0,0xcb,0x75,0xa8,0x7d,0x75, + 0x7f,0x2a,0x35,0xc2,0x19,0x78,0xfb,0xfb,0x8f,0xd2,0x3c,0x55,0xd3,0x6c,0x13,0x3f, + 0xec,0xd8,0x1d,0x25,0xb2,0x66,0x46,0xda,0x3a,0xcc,0x64,0x89,0x28,0x9b,0x7c,0x28, + 0x3e,0xb8,0x7f,0x3b,0x65,0xe6,0xf3,0x61,0x3e,0x79,0x1e,0x6e,0xc8,0x3d,0x35,0x79, + 0x1e,0x6b,0x57,0x3e,0x4b,0xe7,0x2b,0x4a,0x6d,0xed,0xb0,0xb9,0x2a,0x28,0xf8,0xf, + 0x5b,0xe5,0xe0,0x9c,0x33,0xab,0x86,0x85,0x4f,0x59,0xb1,0x21,0x48,0x9,0x6d,0xd3, + 0xb,0x53,0x61,0x37,0x39,0xd8,0xd6,0x7e,0x53,0x8e,0x86,0xca,0x71,0xc0,0xc4,0x55, + 0xe,0xb,0x3c,0x78,0xc6,0x60,0xa9,0x9e,0xd2,0x12,0x7e,0x75,0x2d,0xb9,0xc0,0x1c, + 0x42,0x95,0x41,0xc,0x50,0xe7,0x4e,0xc7,0x2b,0xd,0xd3,0x37,0x57,0x1a,0xa6,0x6e, + 0x83,0xb0,0x10,0x8a,0xef,0xf5,0x4,0xc,0x7c,0x98,0x21,0x85,0xaa,0x47,0xee,0xab, + 0xfd,0xa4,0xa2,0xec,0xef,0x3f,0xa5,0x28,0x19,0xb7,0x2b,0x68,0x8a,0x11,0x55,0x9a, + 0x2,0x8b,0x17,0xac,0xc6,0x58,0x1d,0xd5,0x14,0xbb,0x8a,0xb6,0xa7,0x29,0x37,0x83, + 0x69,0x6e,0xae,0x4e,0xf7,0x86,0xea,0x74,0x6b,0xa2,0xc2,0x9f,0x1b,0x6b,0x34,0xbf, + 0x7f,0xf3,0x7f,0x4a,0xdb,0x3d,0x2f, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/mic.svg + 0x0,0x0,0xc,0x3f, + 0x0, + 0x0,0x37,0xa9,0x78,0x9c,0xed,0x5a,0x5b,0x8f,0xdb,0xc6,0x19,0x7d,0xf7,0xaf,0x60, + 0xe5,0x17,0x1b,0x95,0xa8,0xb9,0x5f,0xe4,0x5d,0x7,0x45,0x82,0x14,0x1,0x12,0xb4, + 0x68,0x12,0xf4,0x31,0xe0,0x92,0x94,0x96,0x35,0x25,0xaa,0x24,0x65,0x69,0xf3,0xeb, + 0x7b,0x86,0x12,0x6f,0x12,0xb5,0x2b,0xad,0x77,0x9d,0x16,0xe8,0x2a,0x8e,0xc8,0x6f, + 0x2e,0x1f,0xe7,0xcc,0xf9,0x6e,0x23,0xde,0x7c,0xb3,0x5b,0xa6,0xde,0xe7,0x38,0x2f, + 0x92,0x6c,0x75,0x3b,0xa2,0x3e,0x19,0x79,0xf1,0x2a,0xcc,0xa2,0x64,0xb5,0xb8,0x1d, + 0xfd,0xfa,0xcb,0xf7,0x13,0x33,0xf2,0x8a,0x32,0x58,0x45,0x41,0x9a,0xad,0xe2,0xdb, + 0xd1,0x2a,0x1b,0x7d,0xf3,0xf1,0xcd,0xcd,0x9f,0x26,0x13,0xef,0xdb,0x3c,0xe,0xca, + 0x38,0xf2,0xb6,0x49,0x79,0xef,0xfd,0xb0,0xfa,0x54,0x84,0xc1,0x3a,0xf6,0xde,0xdd, + 0x97,0xe5,0x7a,0x36,0x9d,0x6e,0xb7,0x5b,0x3f,0x39,0x8,0xfd,0x2c,0x5f,0x4c,0xdf, + 0x7b,0x93,0x9,0x46,0x16,0x9f,0x17,0x6f,0x3c,0xcf,0x83,0xda,0x55,0x31,0x8b,0xc2, + 0xdb,0xd1,0xa1,0xff,0x7a,0x93,0xa7,0x55,0xbf,0x28,0x9c,0xc6,0x69,0xbc,0x8c,0x57, + 0x65,0x31,0xa5,0x3e,0x9d,0x8e,0xda,0xee,0x61,0xdb,0x7d,0x1b,0xdf,0xf9,0x79,0x5c, + 0x64,0x9b,0x3c,0xdc,0x4f,0x1f,0x86,0xdd,0x9e,0x79,0x34,0x6f,0xbb,0xe2,0x49,0xb6, + 0xbc,0xea,0x44,0xad,0xb5,0x53,0xc2,0xa6,0x8c,0x4d,0xd0,0x63,0x52,0x3c,0xac,0xca, + 0x60,0x37,0x59,0x15,0x6f,0x3b,0x43,0xf1,0x80,0x43,0x43,0x19,0x21,0x64,0x8a,0xb6, + 0xb6,0xe7,0x65,0xbd,0x66,0xbb,0x14,0x30,0x9c,0x7d,0x98,0xaa,0xb5,0xab,0x1d,0xd0, + 0xaf,0xf1,0xaf,0x19,0x50,0xb,0xfc,0xfd,0x5a,0xe7,0x18,0x19,0xfb,0xab,0xb8,0x9c, + 0x7e,0xf7,0xcb,0x77,0x4d,0xe3,0x84,0xf8,0x51,0x19,0x75,0xa6,0xa9,0x91,0xef,0xe9, + 0xed,0x6d,0xc7,0x2a,0x58,0xc6,0xc5,0x3a,0x8,0xe3,0x62,0x5a,0xcb,0xab,0xf1,0xdb, + 0x24,0x2a,0xef,0xc1,0x4,0x55,0xdd,0xdd,0xc7,0xc9,0xe2,0xbe,0x6c,0x6e,0x93,0xe8, + 0x76,0x84,0xd5,0xb1,0xea,0xa6,0x56,0x3e,0x6b,0xe8,0x43,0x7c,0xbe,0x6f,0xaa,0x67, + 0xec,0x36,0x9,0xe9,0xd3,0xaa,0xb1,0xc7,0xb6,0xde,0x44,0x51,0x16,0xde,0x5,0x5, + 0x1e,0x7a,0x7a,0x9f,0x2d,0xe3,0x49,0x9a,0x85,0x41,0x3a,0x5d,0xa7,0x77,0x71,0xb0, + 0x89,0xb2,0x64,0x35,0xfd,0xf9,0xfb,0x1f,0xff,0x7e,0xf,0x1a,0x4e,0x8b,0x79,0xba, + 0xee,0x5d,0x4c,0x16,0xe5,0xa7,0xe9,0x3a,0xd9,0x2d,0x83,0x75,0x71,0x32,0xa7,0x5b, + 0xea,0xed,0x68,0x99,0x84,0xbf,0x31,0xe9,0xbd,0xb,0xb3,0xf5,0xc3,0x7b,0xbf,0xde, + 0xa3,0xe6,0x49,0xb3,0x4d,0xb9,0xde,0x94,0xbf,0xc5,0xbb,0x32,0x5e,0xed,0x1f,0xf, + 0x28,0x75,0x20,0xab,0x9a,0xdd,0xb0,0x46,0x36,0xfa,0x88,0x9,0x6e,0xa2,0x78,0x5e, + 0xb8,0x89,0xf6,0xe0,0xb8,0x3b,0x51,0x35,0xa0,0x9,0x5b,0x1b,0x7,0xf9,0x5f,0xf3, + 0x20,0x4a,0xc0,0xe6,0x7d,0xa7,0x8e,0xc6,0x30,0x4b,0xd3,0x38,0x4,0xb8,0x41,0xba, + 0xd,0x1e,0xf6,0x8f,0x5d,0xcf,0xd3,0x1f,0xca,0x5,0xa9,0x27,0xc5,0xb4,0x45,0x99, + 0xad,0xeb,0xbe,0x58,0x68,0xf9,0x90,0x62,0x75,0x4e,0x38,0xc1,0x8c,0x59,0x3e,0x7b, + 0xcb,0x22,0xf7,0xf9,0x50,0x89,0x32,0x6c,0x71,0x52,0x3e,0xcc,0xe8,0x87,0x51,0x3b, + 0x26,0x9b,0xcf,0x8b,0x18,0x8a,0x49,0x47,0x56,0x6d,0x2d,0x46,0x40,0x97,0x1a,0x79, + 0xd3,0x2f,0xd3,0x46,0x86,0xb4,0xd1,0x61,0x6d,0xa6,0xd1,0x76,0x33,0xed,0x2f,0xfb, + 0x71,0x18,0x4f,0x51,0xe2,0x9a,0x5c,0x81,0x52,0xa4,0xdd,0xe7,0xb9,0x28,0x71,0xcd, + 0xae,0x42,0x49,0x87,0xee,0x73,0x81,0xb6,0x41,0x94,0xb8,0x16,0x2f,0x87,0x92,0x62, + 0x57,0xa0,0x44,0xaa,0xbf,0x67,0xa3,0xa4,0xc4,0x55,0x28,0xcd,0xab,0xbf,0x67,0xa3, + 0xa4,0xd4,0x4b,0xa1,0x4,0x83,0x93,0x57,0xa0,0x34,0xf4,0xdc,0xe4,0x42,0x90,0xa0, + 0x4a,0x5f,0x7,0x52,0x38,0xbf,0xb,0xef,0x8e,0x40,0xba,0x10,0x23,0x28,0xb3,0x2f, + 0x86,0x11,0x53,0xf6,0xa,0x8c,0x68,0x74,0xf7,0x7c,0x26,0x9,0xa6,0xe9,0x55,0x20, + 0xd,0x69,0xbb,0xd8,0x2b,0x41,0x1b,0x7f,0x31,0x94,0xa8,0xe1,0xe7,0x50,0x6a,0xf4, + 0x51,0x23,0x9f,0x0,0xe2,0x72,0x40,0xcf,0xa2,0xd4,0xd1,0xa6,0x9f,0x0,0x62,0xc8, + 0x11,0xcc,0xe5,0xfc,0x11,0x6d,0x5f,0x8c,0x92,0xd2,0x57,0x70,0xc9,0x38,0xa7,0x14, + 0x3f,0x97,0x4b,0x54,0xd9,0xab,0xb8,0xe4,0x60,0xa6,0xe2,0xb9,0x5c,0xa2,0x1d,0xe6, + 0x5e,0x87,0xd2,0x53,0x89,0x42,0x95,0x3b,0xce,0xee,0xf3,0x18,0xb9,0xee,0xdb,0x1, + 0xd6,0x9d,0x87,0x9b,0x31,0x26,0xda,0x69,0xa8,0xcb,0xef,0x7c,0xc3,0x94,0xb6,0xaa, + 0x91,0x3e,0x40,0xaa,0x7c,0xcd,0x8c,0xd1,0xb4,0x9d,0x6a,0xc7,0x6e,0x47,0x4c,0xfb, + 0x52,0xb1,0x96,0xb0,0xf,0x4e,0xc6,0x7c,0x49,0x99,0x24,0xad,0x74,0x71,0x50,0xf5, + 0xeb,0x2a,0x29,0x91,0x2a,0x6f,0x8a,0x38,0xff,0xd9,0xa5,0x9b,0x7f,0x5b,0xfd,0x5a, + 0xc4,0x27,0xbd,0x7e,0xc9,0x83,0x55,0x81,0xdc,0x76,0x89,0x3c,0x2d,0x28,0xf3,0x64, + 0xf7,0x8e,0xf8,0x46,0x4b,0xc2,0xe4,0x98,0xb8,0x4f,0x73,0xe3,0x2b,0xa5,0x34,0xe1, + 0xb8,0xa0,0x5a,0x5b,0xa2,0xdf,0xb7,0xd8,0xe,0xa3,0x78,0x5e,0x3,0xf5,0x15,0xb3, + 0x94,0x57,0xa,0x26,0xf5,0xcd,0x84,0x12,0x9f,0x28,0x45,0xcc,0x98,0x5b,0x5f,0x53, + 0x6b,0xa0,0xe1,0xba,0x25,0x39,0x38,0x94,0xaf,0xb4,0x26,0x56,0x9b,0x1e,0x70,0x54, + 0xfa,0x86,0x28,0x76,0xc8,0x91,0x6b,0x90,0x1,0x9d,0xd1,0x82,0x11,0xd3,0xdf,0x10, + 0xe9,0x2b,0x4e,0xb8,0x95,0x8f,0xec,0x22,0xdc,0x94,0xbc,0x88,0xc,0xce,0x51,0x3f, + 0xc9,0xaa,0x27,0x70,0x74,0xcb,0xa2,0xdc,0xb7,0xa8,0x70,0x64,0x9f,0xf,0xa0,0xe, + 0xd7,0xc6,0x58,0xdd,0x5b,0x16,0x65,0x40,0x54,0x5a,0xc2,0x7a,0xcb,0x62,0x0,0x57, + 0xc2,0xff,0xe8,0xb,0x18,0x30,0xa1,0xd5,0xd6,0xd0,0x31,0xc7,0x28,0x10,0xda,0x8c, + 0x27,0x80,0x4a,0x9,0xcd,0xaf,0xdd,0x92,0x53,0xe8,0x28,0x37,0xe6,0xab,0x41,0x37, + 0xb0,0xc4,0xd2,0x5d,0xa6,0x28,0x9f,0xc1,0x73,0xe8,0xa0,0xb2,0x5a,0x9c,0x56,0x8c, + 0x72,0xf5,0x1c,0xc2,0xbd,0xc6,0xce,0xc,0xa2,0xa6,0xbe,0x3a,0x6a,0x17,0x2c,0x9e, + 0xf8,0x52,0x2b,0xcd,0x68,0xdf,0xda,0x84,0x4f,0x80,0x26,0x37,0x7d,0x6b,0xf3,0x35, + 0x81,0x4f,0x53,0xea,0xc4,0xda,0x4,0x26,0x78,0xcc,0x67,0x62,0xf1,0xe2,0xa2,0xc5, + 0xf7,0x5c,0xef,0x6b,0x50,0x6,0xd5,0xbe,0x15,0x9a,0x50,0x70,0x6,0x8e,0xd1,0x48, + 0x78,0xa9,0x67,0x71,0x6,0x3e,0x9b,0x4b,0x4d,0x65,0xf,0x36,0x4e,0x7d,0x8e,0x60, + 0x6c,0x8e,0x29,0x73,0xdc,0xd5,0x61,0x29,0x7c,0x6e,0x75,0xd7,0xe9,0xf,0xa2,0xc6, + 0xfe,0x3b,0x50,0xa3,0x3e,0x53,0xe0,0x25,0x75,0xbe,0x9e,0x12,0xa2,0x25,0x7b,0x26, + 0x68,0x86,0x49,0x63,0xfb,0x86,0xa6,0x61,0x7d,0x1c,0xff,0xc9,0x63,0xd4,0x8e,0xfb, + 0xd2,0xea,0xd4,0x83,0x8,0xb0,0x4d,0x3d,0x8e,0x1a,0xf9,0x6a,0xa8,0xd,0xa9,0xd7, + 0x67,0xcf,0x1b,0xea,0xbc,0x6,0x7d,0xda,0x15,0x5c,0x9c,0xb3,0x9e,0x49,0xdc,0x9e, + 0xcc,0x59,0xa1,0xcd,0xc,0x68,0x7b,0x22,0x67,0x3d,0x93,0xb8,0xbd,0x50,0xce,0xa, + 0xe7,0x62,0xae,0x39,0x95,0x51,0x5f,0x50,0xff,0x50,0x77,0xb6,0x71,0x55,0xfd,0x23, + 0x6,0xd3,0xf5,0xcb,0x72,0x56,0xda,0x3d,0xdd,0xf8,0x72,0x94,0xce,0x9e,0x37,0xb4, + 0xfa,0x94,0xb8,0x9e,0x4b,0x67,0x0,0xbd,0x80,0x4b,0x6a,0x88,0xb9,0x4f,0x70,0x69, + 0x48,0xdb,0xb3,0xb9,0xf4,0x7a,0x99,0x3d,0x75,0xc7,0x77,0xd7,0xb9,0xb5,0xe1,0x0, + 0x78,0x26,0x58,0xe,0x7,0xd6,0x5e,0x10,0x7e,0xca,0xdd,0xbc,0xea,0xe2,0xcd,0x95, + 0x8b,0x7f,0x76,0xc8,0xa8,0x50,0x73,0x6b,0x16,0x96,0x1f,0x7b,0x7d,0x4a,0xa5,0x94, + 0xb6,0x7,0x1a,0x22,0xb5,0x32,0xe8,0xdc,0xcb,0xfe,0x59,0xb7,0xf7,0x1f,0x9,0x1b, + 0x25,0x2f,0x9,0xdb,0xa3,0xf9,0x89,0xc3,0xd,0x39,0x86,0xb2,0xcc,0xaa,0xa3,0x24, + 0xc3,0xc1,0x2d,0x18,0xed,0xb3,0x8d,0x71,0x4c,0x1,0xe,0xf6,0xeb,0x4d,0xe4,0xbb, + 0x5c,0x4a,0xce,0x5e,0x15,0xb5,0x5e,0x16,0x3b,0x84,0x1a,0x7b,0x49,0xd4,0x1e,0x2b, + 0x4,0x1c,0x68,0xda,0x7,0x92,0x8e,0x40,0x7d,0xd0,0xa4,0x6f,0x29,0xeb,0x55,0x33, + 0x55,0x3e,0x42,0x29,0x15,0x46,0xd0,0x3e,0x68,0xd4,0x97,0x56,0x73,0x94,0xee,0x7f, + 0x28,0x6a,0xe2,0xcb,0x51,0xbb,0xa2,0x42,0x1c,0xae,0x6d,0xce,0xd4,0x41,0xc3,0x35, + 0x53,0xaf,0xbe,0x6a,0xa0,0x73,0x4f,0x15,0xa4,0x2f,0xa,0x9d,0x3b,0x74,0xee,0x42, + 0xd7,0x57,0x21,0x88,0x6c,0xf7,0x33,0xdc,0xe1,0xa1,0xac,0xcf,0x4c,0x2f,0x2b,0xf, + 0x1f,0x6e,0x47,0xd6,0x77,0x32,0xd1,0x39,0xe0,0x99,0xf,0xf6,0x9d,0xf,0xf6,0xcd, + 0x2b,0xaf,0x66,0x2a,0xf1,0x95,0xfb,0x54,0xac,0xf3,0x38,0x88,0x7e,0x8a,0xcb,0xfb, + 0xcc,0x3d,0x7b,0x3c,0x77,0xeb,0xbf,0xe8,0xa4,0x7,0x5b,0x87,0x3a,0xe2,0x70,0xd2, + 0x73,0xb8,0x71,0xde,0x80,0x48,0x61,0xc6,0xd2,0xd7,0x4c,0x33,0x61,0x9e,0x3c,0xe9, + 0xf9,0x12,0xe8,0xab,0x5f,0x45,0xce,0xb3,0x56,0xa,0x7e,0x6d,0x54,0x7d,0x6c,0xbd, + 0xda,0x28,0xcb,0x99,0x18,0xb7,0x57,0x93,0x41,0xa1,0xab,0xba,0xa8,0xe6,0x42,0xba, + 0x0,0x44,0x8,0x2,0xb1,0x38,0x8e,0x40,0xca,0x27,0x5c,0x77,0x6b,0x2c,0xc7,0x6c, + 0xee,0x2b,0x2e,0x88,0x36,0xfd,0x22,0x5,0x5e,0x59,0x1b,0x6c,0x76,0x3f,0x6e,0x4b, + 0x9f,0x51,0x23,0xd,0x65,0xaf,0xc9,0xec,0xea,0xa7,0xb9,0xf3,0xcc,0x6,0xbc,0x2f, + 0x10,0xb7,0x1b,0x78,0x95,0xd4,0x44,0x9,0x77,0x46,0x28,0x18,0xd0,0x61,0x55,0x1c, + 0x82,0xfd,0x73,0x51,0x9d,0x20,0x1a,0x4a,0xa8,0x55,0xe0,0x15,0x83,0xed,0x4b,0xad, + 0x2b,0x70,0x8d,0x45,0x40,0xea,0x9c,0xf5,0xf5,0xc9,0xbc,0xe,0xa2,0x9e,0xe5,0x49, + 0x5f,0xa,0xa1,0x64,0xe7,0xb8,0xc5,0x59,0x9e,0xc2,0x76,0x69,0x8d,0x20,0xdf,0xb3, + 0xbc,0xd3,0xbe,0xf3,0xc1,0xbe,0xb9,0xdb,0x37,0x6d,0x98,0xb5,0x52,0xbf,0xea,0x5e, + 0xb8,0x1f,0x93,0x1f,0xdb,0xb,0xf1,0x2,0xc9,0x40,0x7d,0xc4,0x7a,0xb0,0x69,0xc6, + 0x28,0xa,0x5e,0x67,0xe1,0xc2,0x17,0x1c,0x31,0x88,0xc8,0xf7,0x3d,0x40,0x27,0x1c, + 0x99,0x94,0xc5,0x56,0xd1,0x1e,0xa2,0xd2,0x25,0xa0,0x27,0x88,0xe,0x74,0x9e,0xf, + 0x76,0xce,0x2b,0x9c,0xd,0x32,0x34,0x5a,0xe7,0x57,0x37,0x53,0xf7,0x13,0x7d,0x75, + 0xd5,0xbc,0x22,0xe0,0xde,0xf,0x88,0x3e,0x27,0xf1,0xf6,0x4d,0x83,0x89,0x7b,0xd, + 0xe1,0x30,0xcd,0x3a,0x58,0xc4,0x55,0xd,0x0,0x24,0xf7,0xbf,0xf3,0x1d,0x1a,0xee, + 0xb2,0x3c,0x8a,0xf3,0xba,0x49,0x55,0x7f,0xbd,0xa6,0x43,0x99,0xd0,0xbe,0xe8,0xd0, + 0xd9,0x38,0x37,0x6b,0xd3,0x4e,0x86,0xdb,0x8b,0xfb,0x20,0xca,0xb6,0x8,0x5f,0xc7, + 0x8d,0xbf,0x67,0xd9,0xb2,0xa,0xe7,0xdc,0xd5,0x85,0xe6,0xb8,0xd9,0x1,0xca,0x60, + 0x6,0x1c,0x76,0x60,0x4f,0x1a,0x1f,0x1c,0xcf,0xa8,0x52,0xa8,0x66,0xf4,0x71,0x63, + 0x94,0x85,0x1b,0xf7,0xe6,0xcd,0x64,0xb3,0xdf,0xf0,0xf5,0xee,0x64,0xf8,0x26,0xcf, + 0x5d,0x87,0x34,0x78,0x88,0xb1,0xec,0xea,0xab,0xde,0x86,0xe6,0xd5,0x91,0x66,0x58, + 0xfb,0xfa,0x48,0x23,0x2a,0xee,0xb3,0xed,0x62,0x93,0x44,0x71,0xe1,0x92,0x9f,0x4d, + 0x7c,0xac,0xa0,0x6a,0x9b,0xdc,0xdd,0x65,0xbb,0xe1,0xf6,0x6d,0xb2,0x2,0x28,0x93, + 0x5a,0x17,0x69,0xc2,0xd4,0x71,0x8f,0x5a,0x37,0xf2,0xf7,0x33,0x3d,0xa0,0x81,0x37, + 0x7e,0xfd,0xb8,0xf1,0xc1,0x61,0x58,0xff,0xbe,0xd9,0x72,0xa5,0x7a,0xbc,0x9a,0x5f, + 0x59,0xee,0x68,0x1f,0x94,0xd5,0xeb,0x22,0x9f,0xe3,0xbc,0x4c,0xc2,0x20,0x6d,0xd8, + 0xb7,0xce,0x8a,0x64,0xdf,0xc4,0x84,0x6f,0x58,0xcf,0xf3,0x3a,0x8e,0x55,0x53,0x71, + 0x2a,0x54,0x43,0xcd,0x53,0x46,0x56,0xf2,0x65,0x5c,0x6,0x51,0x50,0x6,0x2d,0x3d, + 0x6b,0x49,0xfd,0x9b,0xd9,0x4d,0x1e,0xcd,0x67,0xff,0xf8,0xee,0xfb,0xa6,0xf2,0xd, + 0xc3,0xd9,0x3f,0xb3,0xfc,0x53,0x5b,0xd1,0xba,0xe,0xc1,0x5d,0xb6,0x1,0x20,0x4d, + 0x35,0xee,0xde,0x5e,0x9,0x67,0xce,0x60,0x83,0xf2,0x63,0xb2,0x4,0xe3,0xdc,0xab, + 0x4b,0x7f,0xde,0x2d,0x53,0x58,0x49,0xd3,0xd0,0xeb,0x5c,0x3e,0xac,0xe3,0x76,0xd2, + 0xfd,0xb4,0xf5,0x6b,0x58,0x83,0xaf,0x72,0x45,0xe1,0x32,0x71,0x83,0xa6,0x3f,0x97, + 0x49,0x9a,0xfe,0xe0,0x94,0x74,0x2b,0xf4,0xe9,0xe1,0x41,0xeb,0x22,0xba,0xb3,0x8e, + 0x9b,0x69,0xbd,0xca,0xea,0x6e,0x71,0xb4,0x4d,0x69,0x70,0x17,0xa7,0xb7,0xa3,0x6f, + 0x83,0xf4,0xdf,0x9b,0xd8,0x3b,0xd9,0xe2,0x45,0x9e,0x6d,0xd6,0xcb,0x2c,0x8a,0xf, + 0x1c,0x1d,0xb5,0xe0,0x1d,0x38,0x7b,0x50,0xb9,0xe8,0x6d,0x9,0x22,0x51,0xeb,0xfd, + 0xca,0xa1,0xd8,0x42,0x89,0xd0,0xb6,0xce,0x55,0x9a,0x3b,0x9f,0xe1,0xb,0xd9,0xfb, + 0x18,0xa1,0x97,0x58,0x61,0x85,0x78,0xdf,0x1e,0x7a,0xac,0x83,0xf2,0xbe,0x5,0xad, + 0xdd,0x64,0x3c,0x9d,0x83,0x6,0x86,0x10,0xd6,0x7f,0x47,0x87,0x31,0x39,0x7c,0x3b, + 0xeb,0x46,0x77,0xcf,0x83,0xf4,0x27,0xf,0x5e,0x4d,0x19,0x2d,0x2d,0xdc,0xa9,0x55, + 0x9c,0x18,0x26,0xbd,0x6f,0x3d,0x8d,0xf2,0xc9,0x72,0x62,0xf9,0x18,0x39,0x2c,0x52, + 0x55,0xa3,0xb9,0x67,0x5c,0x51,0x51,0x3d,0x98,0x41,0xe,0x6c,0x8,0xd2,0xa,0xf, + 0xf9,0x1d,0x15,0xc8,0x7b,0xd,0x64,0x52,0x10,0x6,0x27,0x82,0xd1,0x90,0x62,0xb8, + 0x56,0xa,0x52,0xe4,0x19,0x8,0x88,0xa6,0x27,0x33,0x70,0x27,0x70,0xe2,0xcd,0x68, + 0xd,0x99,0x85,0xa,0xd4,0x13,0xde,0x8f,0x9e,0x2b,0xc7,0x2c,0x5,0x1a,0x63,0x2a, + 0xf6,0xce,0x19,0x53,0x72,0x9f,0x71,0xc9,0x50,0xfe,0x39,0xa1,0x26,0x70,0x47,0x6, + 0x32,0x7c,0x1b,0xa6,0x1b,0x91,0xf5,0x18,0x2a,0x18,0x4,0x64,0x23,0x9b,0xb1,0xd4, + 0x3d,0xf,0x56,0x6,0xd7,0xad,0xaa,0x19,0x29,0x1c,0xbb,0x60,0x90,0xa1,0x23,0x9e, + 0xc,0xa3,0x9d,0x42,0x26,0x89,0xf5,0xdc,0x2f,0x82,0x56,0x5b,0x54,0x40,0x63,0x24, + 0xf4,0x42,0x1b,0xa2,0x31,0x1a,0xf1,0x1e,0xf,0xc9,0xf1,0x3f,0x27,0xc5,0x37,0xa3, + 0xb4,0x11,0x32,0xea,0x84,0x54,0xa2,0xb3,0x6c,0xc6,0x6b,0xee,0x84,0x4,0xf8,0x31, + 0x8d,0x5,0x29,0x9f,0xa2,0x12,0xa5,0x50,0xdf,0x85,0x58,0xf9,0x4c,0x60,0x98,0x84, + 0xd0,0x70,0xcb,0x0,0xa6,0xf2,0x85,0x10,0x16,0x95,0x41,0x23,0xa2,0x43,0xbb,0xf3, + 0xbb,0x77,0x7a,0xba,0x34,0x87,0x41,0xcc,0x60,0x2a,0xef,0xde,0x9e,0x26,0x9b,0xef, + 0x3f,0xb8,0xd6,0xce,0xb1,0x56,0x51,0xe6,0xd9,0xa7,0xd8,0xfd,0xe8,0xef,0x3e,0x87, + 0xdb,0xbd,0x17,0x9c,0x39,0x58,0x98,0xb1,0x84,0xab,0x5a,0xe,0x9b,0x8b,0xf3,0x34, + 0xc1,0xd7,0x4c,0xd4,0xb2,0x28,0x80,0xeb,0xad,0xce,0xba,0x66,0xa4,0x96,0xb5,0xaf, + 0x8f,0x74,0x6c,0xb2,0x4f,0xd7,0x53,0x23,0x80,0x3a,0xa3,0xa9,0x61,0x6a,0x5f,0x7c, + 0x35,0x77,0xd4,0x25,0x5e,0xda,0x32,0x3e,0x9e,0x60,0x6f,0x5d,0xb5,0x24,0x3b,0x75, + 0xd8,0x81,0xb9,0xee,0xc8,0x44,0x70,0xa1,0x34,0xe8,0x6a,0x5d,0x49,0x66,0xad,0xf7, + 0x17,0xc7,0x94,0x7d,0xe2,0xd3,0xb9,0x22,0x1e,0xc5,0x7,0x2,0xab,0x35,0x20,0x57, + 0xe3,0xb,0x7,0xc,0x69,0xf8,0x7d,0x34,0x60,0x7f,0x79,0x15,0x9,0xf,0xa3,0x7, + 0x3b,0xec,0x9e,0xe8,0xe0,0x62,0x69,0xa3,0x64,0xb0,0xc3,0xce,0x75,0x60,0xa,0x5e, + 0xa2,0x73,0xb4,0xb6,0xb7,0x6d,0x7,0x33,0x83,0xf1,0x9d,0x12,0xa3,0xdd,0xf5,0x96, + 0x22,0xa7,0x9,0xf3,0x59,0x8a,0x88,0xd0,0x7d,0x8e,0x28,0xf2,0x14,0x33,0x82,0x3c, + 0xf,0x1e,0xe0,0x92,0x56,0xf1,0x65,0x7c,0x19,0x58,0xac,0xf3,0x65,0x48,0x44,0xf3, + 0xf0,0x3c,0x99,0x86,0x7d,0xdf,0x0,0x30,0x9c,0x5b,0x71,0x4c,0x1d,0xe1,0x7e,0x98, + 0x92,0xca,0x31,0xd,0xbb,0x42,0x94,0xe6,0xb4,0x72,0x32,0x9c,0x31,0x6,0x87,0xeb, + 0xcc,0x57,0xbb,0x8a,0x11,0xe,0x45,0xc0,0xcf,0x9,0x43,0x5d,0x11,0x69,0x29,0x8a, + 0x1,0x5b,0xb9,0x93,0xea,0x2c,0x73,0xc,0x7e,0x58,0x6b,0x28,0x67,0x67,0x2c,0xb2, + 0xc2,0xe0,0x2a,0xeb,0x23,0x92,0x18,0x83,0xcc,0xbd,0x96,0x3b,0x73,0x46,0x10,0x9a, + 0x21,0x4,0xad,0xa2,0xae,0xf0,0x5f,0x59,0xb2,0xea,0x4b,0x5f,0x6a,0x3b,0xae,0x30, + 0x5f,0x77,0x38,0xe7,0xbc,0x92,0x3e,0x9c,0x9d,0x58,0x14,0x3f,0x28,0xf7,0x15,0xc7, + 0x15,0x25,0xdc,0xda,0xee,0x69,0xdd,0x1,0x7a,0x78,0x6d,0x22,0x5d,0x2d,0xe5,0x35, + 0x49,0x36,0x8c,0xb0,0xc9,0xad,0x81,0xae,0xc0,0x25,0x2a,0xce,0xda,0x8,0xdd,0x6b, + 0x14,0x70,0x9e,0xca,0x95,0x59,0x17,0xd,0x18,0xd2,0x70,0xd6,0x6a,0x9b,0xd1,0xe7, + 0xac,0xb6,0xcd,0xfa,0xcf,0x58,0xed,0x69,0xad,0x70,0x64,0xb5,0x3,0x35,0x46,0xc7, + 0x6c,0x5,0xe7,0xe7,0xcd,0x96,0xf8,0x5c,0x21,0x4a,0x49,0x2a,0x1f,0xb1,0x5f,0x41, + 0xce,0xd9,0x6f,0x77,0xd3,0x8f,0x8c,0xf7,0xf,0x20,0xd6,0x45,0x76,0x7e,0x33,0x5d, + 0xc,0x66,0x53,0xb0,0x62,0xf3,0x48,0x36,0x45,0xdd,0xa1,0x9d,0x12,0x94,0x1d,0x2, + 0x49,0x7d,0x87,0x6a,0x9d,0xb,0xe1,0x82,0x76,0x55,0xb8,0xc3,0xe6,0x2d,0xef,0xe6, + 0x53,0x2e,0x2b,0xea,0x64,0xb6,0x55,0x1,0x65,0x18,0x81,0x4d,0xd3,0x2e,0x23,0x1c, + 0x11,0x6,0x1b,0x9a,0x24,0x31,0xff,0xcd,0x71,0xa1,0x53,0x65,0x1c,0xb7,0xee,0x4e, + 0x5a,0xd1,0x1f,0xf9,0x91,0x20,0xd6,0xd2,0xae,0x3,0xd9,0x39,0x31,0x85,0x73,0xd2, + 0xaa,0x1b,0x29,0xea,0x1a,0x44,0xc3,0x47,0x68,0x65,0x65,0x97,0x8f,0x87,0xa,0x46, + 0x23,0x43,0xb3,0x54,0x72,0x31,0x90,0xfa,0x51,0x65,0xd4,0x29,0xcf,0xfa,0x6f,0xe6, + 0x56,0x14,0x7b,0x1b,0x88,0xe6,0x66,0xd2,0xf,0x1f,0x93,0x7c,0x93,0xc6,0xb3,0xf8, + 0x73,0xc,0x97,0x1b,0x9d,0xe7,0x18,0x20,0xd7,0xc8,0xeb,0xb4,0x12,0xc7,0x64,0x2b, + 0xfe,0xbd,0x9,0xf2,0xf8,0xc,0xdb,0x96,0x41,0xfe,0x29,0xce,0xf7,0xf3,0xed,0xaf, + 0x27,0x45,0x19,0xe4,0x65,0x4f,0xb2,0x4c,0xa2,0xde,0x7d,0xbc,0x8a,0x7a,0x4f,0xf0, + 0x42,0x5c,0xfd,0xf0,0x39,0x29,0x92,0xbb,0x24,0x75,0x37,0xd5,0x65,0x1a,0x7f,0x88, + 0x92,0x62,0x8d,0x7c,0x7f,0x96,0xac,0xdc,0x83,0x7f,0xc8,0x50,0xa4,0xcd,0xd3,0x6c, + 0x5b,0xb7,0x77,0xfd,0xe6,0xe2,0x65,0x8,0x32,0xe4,0x70,0x5,0x63,0x52,0x32,0x56, + 0x1f,0x70,0x1e,0xee,0x90,0x3a,0x22,0xb5,0xe1,0x66,0xc,0x5f,0x83,0x3c,0x57,0x56, + 0x45,0x43,0x9f,0x4,0xb,0x74,0x15,0xdd,0x7a,0xad,0xef,0xdc,0x7,0x32,0x86,0x1, + 0x72,0xc,0x5,0xb4,0xb3,0xcc,0x68,0x5f,0x65,0xee,0x90,0x83,0xc1,0x8,0x35,0x43, + 0xd0,0xd4,0xd7,0x78,0xa2,0xff,0x75,0x6e,0x74,0x71,0xae,0xa2,0xa0,0x19,0x57,0xb5, + 0xe,0x35,0x63,0xc1,0x7a,0xad,0x75,0x5c,0xa0,0x5c,0xeb,0x7e,0xc3,0xa3,0x54,0x19, + 0x26,0x5a,0x4b,0xc9,0x81,0xfd,0x7e,0x9c,0x99,0x17,0x28,0x6c,0x12,0x4f,0xc9,0x4e, + 0x17,0x48,0xf,0x2b,0x3c,0x59,0xe0,0xff,0x69,0xf6,0x55,0x5c,0x50,0x13,0x46,0xf7, + 0x17,0xd5,0xd7,0x8d,0x3b,0x93,0xf9,0xf8,0xe6,0x3f,0xbc,0xaf,0x4e,0x32, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/add.png + 0x0,0x0,0x2,0x34, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x6,0x0,0x0,0x0,0x1f,0xf3,0xff,0x61, + 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88, + 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x1,0xbb,0x0,0x0,0x1,0xbb, + 0x1,0x3a,0xec,0xe3,0xe2,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66, + 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x1,0xb1,0x49,0x44, + 0x41,0x54,0x78,0xda,0xa5,0x93,0x4d,0x6b,0x13,0x51,0x14,0x86,0x9f,0xfb,0x35,0x49, + 0xda,0x49,0x4c,0x69,0xdd,0xb8,0x48,0x10,0x5d,0x98,0xb5,0x82,0x15,0x44,0x11,0x44, + 0xe8,0x3f,0x70,0xe7,0x22,0xfa,0x3,0xc4,0x8d,0x1b,0x5b,0x74,0xd3,0x95,0x60,0x41, + 0xff,0x40,0x11,0x5c,0xe9,0x42,0x90,0x52,0x17,0x6e,0xc4,0x2e,0xea,0x7,0x8,0x82, + 0x54,0xb4,0x1,0x15,0x44,0x71,0x4c,0x33,0x36,0x93,0x74,0xe6,0xde,0x3b,0x42,0x45, + 0x70,0xe1,0x44,0x42,0x9f,0xed,0xcb,0x79,0x38,0xbc,0x9c,0x23,0xf2,0x3c,0x67,0x2f, + 0x48,0xa,0xb8,0xb6,0x7e,0xf9,0xee,0x99,0x87,0xad,0xc1,0xd9,0x47,0x47,0xa2,0xe5, + 0x77,0x4b,0x77,0x28,0xa0,0x70,0x83,0xf3,0xab,0x73,0x7e,0xee,0xe0,0x39,0x91,0xba, + 0x21,0xaf,0xa3,0x17,0xf6,0xf6,0xc9,0xfb,0x66,0xac,0xd,0x5e,0x7e,0x7d,0x2e,0xbc, + 0x19,0x52,0xaa,0x68,0xde,0x6e,0xbd,0xd1,0x14,0x50,0x18,0x64,0xde,0xf1,0x73,0x27, + 0x41,0x48,0x49,0xea,0x1c,0xff,0x13,0x8,0x40,0x1,0xf6,0x4f,0x60,0x9d,0x27,0x4e, + 0x7,0x8,0x4,0x99,0x75,0xff,0x9a,0x73,0x40,0xae,0x1,0xda,0x2b,0xed,0xc5,0x4e, + 0xdc,0xb9,0xf2,0xec,0xcb,0x53,0x1d,0x28,0x4d,0xa0,0x15,0x46,0x49,0x92,0x6c,0x88, + 0x14,0x82,0x1d,0x97,0x31,0xfb,0xa0,0x99,0x57,0x8c,0xa1,0x12,0x18,0x8e,0xee,0x3f, + 0x61,0x1b,0xb5,0xe6,0xcd,0x4b,0x87,0x17,0xae,0xee,0x96,0x68,0x16,0xcd,0xf7,0x8b, + 0xc7,0x2e,0x4c,0xa3,0x1c,0xb9,0xf2,0x8,0x29,0x7e,0xb,0x7c,0xbc,0x2b,0xa8,0xeb, + 0x3a,0x52,0x6a,0x4a,0x84,0x44,0xfd,0x1e,0x71,0xf2,0x83,0x6c,0x72,0x33,0xba,0x77, + 0xfa,0xd5,0x8c,0x6,0xb0,0xd6,0xb2,0x19,0x75,0xd0,0x81,0xc6,0x94,0x15,0xb5,0x52, + 0x88,0x91,0x82,0xbe,0xdb,0x46,0x49,0x30,0xb9,0x21,0x49,0x13,0x36,0xa2,0xf,0xf4, + 0x6,0x3,0xa6,0x82,0x2a,0x33,0x41,0xfa,0x57,0x7,0x9e,0xf9,0xc7,0xef,0x9f,0xdc, + 0x42,0x63,0xd0,0x60,0xb4,0x24,0x50,0x8a,0xd9,0x66,0x8b,0xc9,0x20,0x60,0xed,0xe3, + 0x3a,0x65,0xa3,0x29,0x69,0x4d,0x35,0xd4,0x98,0x20,0xce,0xac,0xd5,0xf3,0x23,0xef, + 0xa0,0xbc,0x64,0xf2,0x53,0x87,0x5a,0x4c,0x4d,0x94,0x59,0xeb,0x6c,0xf0,0xa9,0xdd, + 0x13,0x63,0xdd,0x81,0xf3,0x9e,0xcc,0x65,0x48,0x1,0x99,0xf7,0x14,0xa1,0x47,0x9, + 0xbe,0x6d,0xf7,0xc8,0x85,0xc7,0xba,0xb1,0x5,0xd7,0x65,0x23,0xac,0xe7,0x9f,0xbb, + 0x5d,0xd1,0xed,0x67,0x84,0x76,0x9f,0x1d,0xf3,0x99,0x16,0xfc,0xf1,0xe9,0xea,0x32, + 0x30,0x3c,0x30,0xd1,0xd8,0xaa,0xf9,0xda,0x8d,0x91,0xcf,0xb4,0x17,0x7e,0x1,0x5f, + 0x22,0xaf,0xac,0xbe,0x86,0x35,0xeb,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae, + 0x42,0x60,0x82, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/outgoing.svg + 0x0,0x0,0x9,0xac, + 0x0, + 0x0,0x20,0x69,0x78,0x9c,0xed,0x59,0x5b,0x6f,0xdb,0xca,0x11,0x7e,0xcf,0xaf,0x60, + 0x95,0x97,0x4,0xb5,0xa8,0xbd,0x5f,0x74,0xec,0x9c,0x7,0x7,0x29,0xe,0x70,0x8a, + 0x16,0x4d,0x82,0x3e,0x1e,0xd0,0x12,0x25,0xb3,0x91,0x44,0x95,0xa4,0x62,0x2b,0xbf, + 0xbe,0xdf,0x2c,0xef,0x96,0x9c,0x38,0x17,0x4,0x28,0x5a,0xf9,0x22,0x71,0x76,0x76, + 0x66,0x67,0xf6,0xdb,0x6f,0x66,0xed,0xcb,0x5f,0xef,0xb7,0x9b,0xe8,0x63,0x5a,0x94, + 0x59,0xbe,0xbb,0x9a,0xf0,0x98,0x4d,0xa2,0x74,0xb7,0xc8,0x97,0xd9,0x6e,0x7d,0x35, + 0x79,0xff,0xee,0xcd,0xd4,0x4d,0xa2,0xb2,0x4a,0x76,0xcb,0x64,0x93,0xef,0xd2,0xab, + 0xc9,0x2e,0x9f,0xfc,0xfa,0xea,0xd9,0xe5,0x9f,0xa6,0xd3,0xe8,0xba,0x48,0x93,0x2a, + 0x5d,0x46,0x77,0x59,0x75,0x1b,0xfd,0xb6,0xfb,0x50,0x2e,0x92,0x7d,0x1a,0xbd,0xb8, + 0xad,0xaa,0xfd,0x7c,0x36,0xbb,0xbb,0xbb,0x8b,0xb3,0x46,0x18,0xe7,0xc5,0x7a,0xf6, + 0x32,0x9a,0x4e,0x31,0xb3,0xfc,0xb8,0x7e,0x16,0x45,0x11,0xdc,0xee,0xca,0xf9,0x72, + 0x71,0x35,0x69,0xf4,0xf7,0x87,0x62,0x13,0xf4,0x96,0x8b,0x59,0xba,0x49,0xb7,0xe9, + 0xae,0x2a,0x67,0x3c,0xe6,0xb3,0x49,0xaf,0xbe,0xe8,0xd5,0x17,0xe4,0x3c,0xfb,0x98, + 0x2e,0xf2,0xed,0x36,0xdf,0x95,0x61,0xe6,0xae,0x7c,0x3e,0x50,0x2e,0x96,0xab,0x4e, + 0x9b,0x16,0x73,0x27,0x83,0x12,0xf7,0xde,0xcf,0x98,0x98,0x9,0x31,0x85,0xc6,0xb4, + 0x3c,0xee,0xaa,0xe4,0x7e,0x3a,0x9e,0x8a,0x35,0x9e,0x9b,0x2a,0x18,0x63,0x33,0x8c, + 0xf5,0x9a,0x4f,0xd3,0x9a,0xdf,0x6f,0x90,0x89,0x47,0x17,0x13,0x46,0x87,0xde,0x91, + 0xfd,0x3d,0x7e,0xba,0x9,0xad,0x20,0x2e,0xf3,0x43,0xb1,0x48,0x57,0x98,0x99,0xc6, + 0xbb,0xb4,0x9a,0xbd,0x7e,0xf7,0xba,0x1b,0x9c,0xb2,0x78,0x59,0x2d,0x7,0x66,0xda, + 0xe4,0x8f,0xfc,0x8e,0x76,0x64,0x97,0x6c,0xd3,0x72,0x9f,0x2c,0xd2,0x72,0xd6,0xca, + 0xc3,0xfc,0xbb,0x6c,0x59,0xdd,0x5e,0x4d,0x84,0xa,0x4f,0xb7,0x69,0xb6,0xbe,0xad, + 0xba,0xc7,0x6c,0x79,0x35,0x41,0x74,0x22,0x3c,0xb4,0xce,0xe7,0x1d,0x82,0x58,0x2c, + 0xeb,0xa1,0xd6,0xe2,0x70,0x48,0x99,0x30,0x34,0x82,0xdb,0xc8,0xcc,0x32,0x5f,0xdc, + 0x24,0x25,0x96,0x3c,0xbb,0xcd,0xb7,0xe9,0x6c,0xbf,0xb9,0x49,0x93,0xc3,0x32,0xcf, + 0x76,0xb3,0xb7,0x6f,0x7e,0xff,0xfb,0x2d,0x10,0x38,0x2b,0x57,0x9b,0xfd,0xe8,0xc3, + 0x74,0x5d,0x7d,0x98,0xed,0xb3,0xfb,0x6d,0xb2,0x2f,0x4f,0xac,0x51,0x88,0x57,0x93, + 0xfc,0x50,0xad,0x61,0x64,0x1d,0xb7,0xdb,0xd2,0x2d,0xe,0x23,0xfb,0x43,0xf5,0x47, + 0x7a,0x5f,0xa5,0xbb,0x7a,0x4d,0x48,0xcc,0x20,0x4b,0x61,0x98,0xa6,0xc5,0xa3,0xc, + 0x75,0x2e,0xb6,0xf8,0xb5,0xca,0x52,0xe4,0xa4,0x2a,0xe,0xe9,0xe4,0x15,0x6,0x2f, + 0x97,0xe9,0xaa,0x24,0xa5,0x3a,0x57,0xf4,0xa4,0xc2,0x0,0x86,0xb0,0xd3,0x69,0x52, + 0xfc,0xa5,0x48,0x96,0x19,0xf0,0x5d,0x2b,0xd,0x56,0xb3,0xc8,0x37,0x9b,0x74,0x81, + 0x5c,0x27,0x9b,0xbb,0xe4,0x58,0x47,0xd3,0xda,0x19,0x4f,0x95,0x8c,0xc9,0xc6,0x28, + 0xcc,0x96,0x55,0xbe,0x6f,0x75,0xb1,0xb8,0xea,0xb8,0x41,0xd0,0x24,0x9c,0xc2,0x62, + 0x5e,0xcc,0x9f,0x33,0xe6,0x80,0xca,0x5f,0x82,0x28,0xc7,0x8e,0x67,0xd5,0x71,0xce, + 0x7f,0x99,0xf4,0x73,0xf2,0xd5,0xaa,0x4c,0xe1,0x98,0xd,0x64,0x61,0xa7,0x31,0x3, + 0xbe,0xf4,0x24,0x9a,0x7d,0x9f,0x37,0x76,0xce,0x1b,0x3f,0xef,0xcd,0x76,0xde,0x2e, + 0x67,0xe3,0xb0,0x7f,0x74,0x1a,0x85,0x81,0xb3,0x9f,0x94,0x46,0xf8,0xf2,0x3f,0x2f, + 0x8d,0xc2,0x70,0xfe,0xa5,0x34,0x76,0x9,0xdb,0xe3,0x40,0xee,0x91,0x31,0xf0,0x69, + 0x6b,0xa9,0x43,0x78,0x75,0x24,0xa,0x19,0xab,0xca,0xe5,0xe4,0x24,0xe9,0x1f,0xf7, + 0x7f,0xdc,0x23,0xf0,0x68,0x1e,0x71,0x41,0xbf,0xce,0x6a,0x1c,0x1b,0xd,0xc4,0x85, + 0x37,0x76,0x56,0xe7,0x13,0x51,0xcd,0x67,0xcc,0x34,0x2b,0x98,0xe6,0x45,0xb6,0xce, + 0x88,0x44,0x48,0xcf,0x8d,0x75,0x91,0x84,0x41,0x4c,0x8a,0xdb,0x1,0xa4,0x1e,0x1, + 0xcf,0x9,0x36,0x94,0x30,0xfe,0x2b,0xb0,0x21,0xcc,0xcd,0xb7,0x63,0x43,0x9,0xcb, + 0xbf,0xa,0x1b,0xe7,0xbc,0x3d,0x19,0x1b,0xf0,0x26,0xbf,0xf1,0x88,0x9d,0x66,0x89, + 0xbb,0x47,0x89,0xa8,0xf3,0xc7,0x9d,0xfe,0x42,0x22,0x9e,0x9e,0xd0,0x47,0xb3,0x34, + 0xf0,0x66,0xbf,0x90,0x88,0x33,0xde,0xb8,0xd2,0xab,0xcf,0x78,0xfb,0xee,0x2c,0x99, + 0xaf,0xe1,0x19,0x3a,0xf7,0x2c,0xfd,0x56,0x2c,0x71,0xf3,0x75,0x3c,0x43,0x69,0xe6, + 0xea,0x5b,0xb1,0xc4,0xed,0x17,0x79,0xe6,0x1b,0xe9,0x3a,0xf4,0x45,0xf3,0xdb,0x22, + 0x45,0x1f,0xf7,0xfc,0xc,0x6f,0x7f,0x8e,0xd6,0xb9,0xec,0xcd,0xf0,0xab,0x89,0x8b, + 0xad,0x66,0x4a,0xd9,0x5e,0x7a,0x84,0xd4,0xc7,0xc6,0x71,0xe6,0x6c,0xf,0xce,0x7b, + 0x1,0xf2,0x31,0xb1,0x56,0x4a,0xf1,0x3e,0xda,0xa3,0x20,0x5d,0xcf,0x8c,0xf4,0xaa, + 0x13,0xae,0x1b,0x5f,0xef,0x77,0x59,0x85,0x3e,0xf0,0x50,0xa6,0xc5,0x5b,0xea,0xa5, + 0xfe,0xb6,0x7b,0x5f,0xa6,0x27,0x5a,0xef,0x8a,0x64,0x57,0xa2,0x71,0xdb,0x5e,0x4d, + 0xb6,0x49,0x55,0x64,0xf7,0x2f,0x58,0xec,0x14,0x38,0x5a,0xc8,0xb,0x86,0x2f,0x7e, + 0xc1,0x63,0xa9,0x94,0x13,0x4c,0x5f,0xa0,0x93,0xe3,0xd6,0x58,0x7c,0xbf,0xfc,0x22, + 0x6b,0x7d,0x47,0xe,0x43,0xb,0xf1,0xd9,0xe,0xc3,0x8f,0x72,0x28,0x7c,0x8c,0xe5, + 0x29,0x39,0xce,0xa1,0x88,0xb9,0xc6,0x6a,0xb5,0x1c,0xe5,0x70,0xaa,0x21,0x96,0xc8, + 0xa1,0x1f,0x25,0x51,0xc7,0x5e,0x78,0xce,0x84,0x7f,0x62,0x16,0xeb,0xe8,0x2f,0x67, + 0xd4,0x43,0x85,0x4f,0x5d,0x55,0xa2,0xbe,0x6e,0xf9,0x31,0x4b,0xef,0xfa,0x46,0x8b, + 0x1a,0xc7,0xc6,0xee,0x3e,0x59,0xa7,0x1,0xdc,0x8,0x7a,0x15,0x5e,0xcd,0xc0,0x4d, + 0x5e,0x2c,0xd3,0xa2,0x1d,0x32,0xe1,0x35,0x1a,0x6a,0xf0,0xdf,0xb7,0xa6,0xc3,0xc2, + 0x3,0xab,0xdd,0x38,0x3b,0x3f,0x5e,0xde,0x26,0xcb,0xfc,0xe,0x69,0x79,0x38,0xf8, + 0x29,0xcf,0xb1,0xf7,0x1c,0xbb,0xcc,0xa5,0x65,0xee,0xe1,0xf0,0x2,0xb5,0x93,0xbb, + 0xd8,0x59,0xe9,0xcd,0xc9,0xd8,0x91,0xd2,0x6c,0xb5,0x71,0x56,0x3d,0x1c,0x43,0x8b, + 0x7b,0xa0,0xab,0xd2,0xf4,0x50,0x27,0x70,0x7f,0x7f,0x32,0xfb,0x50,0x14,0xa4,0xb0, + 0x49,0x8e,0x29,0x82,0xe,0x6f,0x2d,0xb4,0x9b,0x46,0x5f,0x8a,0x6e,0x5a,0xdb,0xec, + 0xf,0x44,0xe5,0x6d,0x7e,0xb7,0x3e,0x64,0xcb,0xb4,0x6c,0x9a,0xdc,0x7,0xe,0xc2, + 0xd8,0xf4,0xe6,0x26,0xbf,0x3f,0x3f,0x7e,0x97,0xed,0x90,0x92,0x69,0xe3,0x8b,0x4b, + 0xc9,0x1f,0xd1,0x68,0x7d,0x7b,0x71,0x92,0xbd,0x46,0x83,0x92,0x64,0xfc,0x23,0x83, + 0xc7,0xee,0x8a,0xd2,0xac,0xb9,0x20,0x54,0xac,0x92,0x4d,0x99,0xb6,0xed,0x77,0x7, + 0x9f,0xb0,0xe6,0x16,0x83,0x68,0x24,0x90,0x20,0xdc,0x26,0xa9,0xfd,0xc7,0xdd,0xa4, + 0xca,0x16,0xc9,0xa6,0x43,0xe8,0x3e,0x2f,0xb3,0x7a,0x88,0x3,0xbe,0x4e,0x70,0x35, + 0x3e,0x35,0xc1,0x94,0xe4,0xb8,0xda,0xb4,0x68,0x3d,0x5,0x69,0x90,0x6f,0xd3,0x2a, + 0x59,0x26,0x55,0xd2,0x23,0xb6,0x95,0xb4,0xa5,0xe1,0x12,0x17,0xd2,0xf9,0x3f,0x5e, + 0xbf,0xe9,0xa8,0x7b,0xb1,0x98,0xff,0x33,0x2f,0x3e,0xf4,0xac,0x4b,0xa,0xc9,0xd, + 0x6e,0x25,0x57,0x93,0xae,0x9c,0xd0,0x8d,0x63,0x31,0x27,0x6e,0x49,0xaa,0x57,0xd9, + 0x16,0x20,0xa4,0xdb,0xe7,0x9f,0x71,0x9,0xc4,0xc1,0xe9,0x6,0x46,0xca,0xd4,0xd3, + 0xf5,0x46,0x6b,0xb3,0x45,0x5a,0xdf,0x2e,0xcf,0x5e,0xc8,0x97,0x8b,0x6d,0x46,0x93, + 0x66,0x6f,0xab,0x6c,0xb3,0xf9,0x8d,0x9c,0xc,0x4b,0xcc,0xac,0x59,0x68,0x5b,0x5, + 0x6,0x71,0x5c,0xce,0xda,0x28,0xc3,0xd3,0xfa,0xc1,0xde,0x6d,0x92,0x9b,0x74,0x73, + 0x35,0xb9,0x4e,0x36,0xff,0x3e,0xa4,0xd1,0x9,0x32,0xd6,0x45,0x7e,0xd8,0xe3,0x8e, + 0x95,0x36,0xc0,0x9d,0xf4,0xc9,0x6b,0x80,0xdc,0xb8,0xdc,0x27,0xd5,0x6d,0xd7,0xba, + 0xd6,0x25,0xae,0x2f,0x9c,0x2b,0xac,0x79,0x8e,0x68,0x5e,0x9c,0x54,0x11,0x2e,0x5f, + 0x86,0xd1,0x41,0x95,0x2d,0xab,0x22,0xff,0x90,0xce,0x77,0xb8,0x59,0x36,0x9f,0x6b, + 0xe8,0xce,0x59,0x6c,0x84,0x6e,0x45,0x64,0xe8,0x5f,0xb8,0x52,0xce,0x91,0x97,0xb4, + 0x68,0xa5,0xe1,0x61,0x93,0xe1,0x6d,0xae,0x5a,0xd9,0x32,0x1,0x27,0x14,0x45,0x72, + 0x1c,0x99,0x24,0x69,0x5d,0x56,0xe7,0xac,0x95,0x75,0x6b,0xe8,0xf0,0x85,0x30,0xff, + 0x1a,0xa1,0x76,0x49,0xe7,0x2d,0xbf,0x50,0xe0,0x5f,0x1c,0x1f,0xa5,0xa3,0xdf,0x23, + 0x6e,0x41,0x24,0xc2,0x7b,0xf3,0x88,0x94,0xc5,0xa8,0x1f,0xa0,0x5a,0x65,0x20,0x16, + 0x32,0x76,0x20,0x6e,0x2b,0x2e,0x7c,0x6c,0x85,0x37,0x38,0x43,0x23,0x65,0x10,0x8f, + 0x71,0x42,0xa,0x39,0x96,0xaa,0xd8,0x48,0xeb,0xbc,0x83,0xb4,0x5b,0xc3,0x59,0x61, + 0xbf,0x84,0x4f,0xa3,0xa3,0x51,0xa0,0x22,0xa1,0x8b,0x16,0x7d,0x15,0x5b,0x8f,0x4e, + 0xe,0x3a,0x95,0xbe,0x81,0xa9,0x4e,0x2a,0x24,0xea,0xa0,0xd4,0xc2,0x68,0xa1,0xa8, + 0x24,0x3a,0x46,0x8e,0xc5,0x45,0xff,0x69,0x30,0xae,0x63,0xa1,0xb4,0x46,0x19,0xba, + 0x10,0x2e,0x96,0xce,0x1a,0x23,0x5f,0x4e,0x1e,0xe0,0xe1,0x31,0x14,0x50,0xa1,0x7b, + 0x88,0x82,0xbe,0x57,0x1b,0x2,0x6b,0x70,0x2b,0xda,0x1,0x93,0x74,0x20,0xc0,0x89, + 0x8b,0xc5,0xa2,0x6c,0xbf,0x17,0xf,0x3a,0x24,0x9a,0x2d,0xf9,0xa0,0x38,0x36,0x7b, + 0xca,0x4d,0x4c,0x77,0x20,0xaf,0x91,0x3b,0xed,0xa5,0xd5,0xd1,0x35,0x2e,0x45,0xb1, + 0x57,0x46,0x38,0xf,0x99,0x55,0xd6,0x32,0x63,0x23,0x1b,0xb,0xa1,0xd,0xe3,0x1e, + 0x11,0x5a,0x8f,0x5d,0x91,0x2a,0x92,0xb1,0x12,0x82,0x79,0x27,0x2f,0x30,0xea,0xb8, + 0xa0,0x8d,0x97,0xb1,0x40,0xfa,0x49,0x6,0x2b,0x42,0xa0,0x75,0xf0,0xb0,0x28,0x63, + 0x8b,0x1e,0xc3,0xf1,0x20,0xf5,0x56,0x38,0xc7,0x23,0x1d,0x33,0x2e,0x51,0xae,0x21, + 0xe3,0xb1,0x66,0xe,0x5,0x39,0x32,0x9d,0xc5,0x5e,0x76,0xd,0xdf,0xd6,0x3,0x9, + 0x23,0xa9,0x83,0x19,0xed,0x14,0xb,0x32,0x6,0x74,0x29,0x17,0x79,0xb4,0x4b,0x96, + 0xb5,0xbe,0x3d,0xe3,0x96,0xd0,0xd5,0x4b,0x7d,0x8c,0x86,0x3c,0x4,0xc8,0x63,0x6f, + 0x9c,0x61,0xee,0x22,0xe0,0xcd,0xe0,0xe2,0xc6,0x45,0xec,0xc,0x42,0x24,0x91,0xa2, + 0x34,0x50,0x62,0x84,0x6e,0x9f,0x30,0xc7,0xc7,0xca,0x7a,0x6d,0x6d,0x23,0x42,0xa7, + 0x1a,0x9,0xec,0x3b,0xe2,0xb2,0xc1,0xc,0xf0,0xc5,0x64,0x24,0x60,0x87,0x59,0xb0, + 0x33,0x79,0xd3,0x26,0xe4,0xa4,0x97,0x61,0x5d,0xdc,0x68,0x1e,0x72,0x82,0xb3,0x20, + 0xad,0x7,0x64,0x20,0x74,0xd6,0x53,0x0,0x2,0x7b,0x40,0x88,0xe2,0x14,0x94,0x74, + 0x92,0x2,0x15,0xe0,0x7a,0x29,0xc2,0xe4,0x4e,0x86,0xc9,0x38,0x1c,0x8a,0xe3,0xfa, + 0x34,0xd4,0x74,0xb1,0x96,0x9e,0xeb,0x60,0x50,0x59,0xca,0x31,0x3a,0x25,0x4a,0x97, + 0xac,0x3d,0x33,0x61,0x42,0x46,0xa0,0x48,0xc9,0x81,0xd4,0x36,0x6b,0xbc,0x26,0xd7, + 0xa,0x73,0x9d,0xc1,0xfe,0x2a,0x2e,0x99,0x71,0x14,0x9d,0xe3,0x46,0x18,0x3a,0xd9, + 0x6,0xeb,0xb3,0x42,0x9f,0x81,0xcb,0xa7,0x1,0xa2,0x9e,0xcc,0x77,0xe7,0x90,0xde, + 0xf2,0xdd,0x73,0xb6,0x2,0xd0,0xd8,0x19,0xca,0x63,0xa3,0xd7,0xcf,0x21,0xc0,0x41, + 0x6d,0x79,0xea,0x1,0x3c,0x7f,0xf4,0xc,0x7f,0x78,0xf4,0x0,0x76,0x66,0x35,0x76, + 0xf1,0x82,0x4b,0x9c,0x5,0x6c,0xa1,0xac,0xc1,0xee,0x2,0x24,0x7,0x52,0xec,0x17, + 0xb6,0x58,0x82,0x9,0x45,0x6c,0x40,0xa5,0xce,0x13,0xaa,0xd,0x65,0x41,0x92,0x8c, + 0x81,0x47,0x4d,0xd,0xf5,0x56,0xc8,0x0,0x52,0x80,0x9e,0xb0,0x82,0x66,0x4e,0x48, + 0xee,0x71,0x74,0x81,0x15,0xce,0xbc,0x70,0x3a,0x78,0xf1,0xd4,0xe2,0x43,0xa4,0x3c, + 0xbe,0xdc,0x70,0x39,0x9d,0xec,0x3a,0x52,0x70,0x8d,0x4b,0xc8,0x48,0x2a,0x21,0xc3, + 0x71,0xb7,0x26,0x18,0x94,0x58,0x24,0x1d,0x7b,0x12,0xd8,0x0,0x3e,0xe5,0xb8,0x55, + 0x35,0x17,0xb4,0x42,0x3a,0x70,0x46,0x30,0x57,0x73,0x81,0x1,0xab,0xb8,0x10,0x8d, + 0x76,0xe0,0x4d,0x1f,0xbc,0x58,0xa1,0xc0,0x9a,0x7d,0xd0,0xe7,0xd2,0xf3,0xb3,0xc0, + 0xa6,0x2d,0xdd,0x2f,0x84,0xf4,0xcd,0xeb,0x27,0x55,0xdb,0x1f,0x4,0x36,0xe4,0x8c, + 0x3d,0x4,0x1b,0xd1,0x8,0x76,0x82,0x98,0x40,0x80,0xdd,0x95,0x31,0x1d,0x8d,0x38, + 0xa1,0x87,0x52,0xa2,0x11,0x5,0x42,0xb1,0x61,0x7f,0x24,0x28,0x41,0x13,0x8f,0x70, + 0xfa,0xf,0x41,0x20,0x26,0xaf,0x84,0x94,0xa1,0x9a,0xf7,0x52,0x2a,0x80,0x6,0x6c, + 0x4e,0x36,0xa9,0xee,0x49,0x5e,0xb3,0x35,0x93,0xb0,0xc9,0x6b,0x3f,0x40,0x60,0x40, + 0x8c,0x12,0x4c,0xa,0x35,0x5c,0x51,0x27,0xb,0x3c,0xa4,0x15,0xfc,0xf,0xa5,0x60, + 0x4a,0xd,0x4c,0x71,0x17,0x2c,0x6a,0xad,0x8d,0x21,0x4e,0xb5,0x56,0xa0,0x4,0x4, + 0xc0,0x31,0xcb,0xb9,0xa9,0x99,0xb6,0x95,0xf2,0xd8,0x11,0x9f,0xa9,0x86,0x69,0x85, + 0x55,0xc6,0x87,0x88,0x38,0x33,0xe8,0xf,0x82,0x1f,0x2b,0xa4,0x1d,0x46,0x7e,0x26, + 0x47,0xff,0x47,0xdc,0x93,0x10,0x27,0x94,0x39,0xa5,0x37,0x94,0x56,0x81,0xa2,0x11, + 0x58,0x42,0xa3,0x84,0xbb,0x40,0x46,0xcc,0xa0,0xa9,0x13,0x72,0x20,0xa5,0xbf,0x89, + 0x48,0xed,0x59,0xd8,0x4b,0x2b,0xf1,0x2,0x93,0xa1,0xe6,0x19,0xad,0x3,0xb4,0xb8, + 0xf4,0xe,0xd5,0x96,0xf8,0xd,0x5d,0x1e,0xf0,0xe8,0x51,0xb8,0x94,0x63,0x80,0x9, + 0x6d,0x2f,0x50,0x8,0x52,0xd4,0x96,0x8a,0x35,0x76,0x1c,0x4c,0xa9,0x60,0x12,0xcc, + 0xc3,0xd0,0xb9,0x5c,0x10,0x9a,0x95,0x66,0x80,0x91,0x41,0x33,0xa3,0x1,0x95,0x81, + 0xe8,0x1a,0x5d,0x8,0x92,0x2e,0x47,0x42,0xaa,0x84,0x68,0x4d,0x1,0x3,0x58,0xb1, + 0xde,0x2a,0x45,0xad,0xe,0xe8,0x49,0x68,0xc9,0xe1,0x59,0x53,0x5b,0xaa,0x6a,0x82, + 0x53,0xb8,0x9,0x7b,0xa2,0x32,0x2a,0xaf,0xca,0x49,0x19,0x28,0x93,0x85,0x2e,0xc6, + 0x86,0x70,0x4,0x3a,0x53,0x5,0x37,0xa0,0x74,0x6f,0x1b,0xca,0xac,0xc3,0x3e,0x97, + 0xa0,0x1f,0xe,0xb7,0x73,0xb7,0x87,0xff,0x76,0xac,0x69,0x77,0x86,0xdd,0x8c,0x4, + 0x84,0x7c,0xc3,0x10,0x1d,0x97,0x80,0xda,0xd0,0x5b,0xd,0xa4,0xc4,0x25,0xe8,0xf3, + 0x2,0xd4,0xc,0xf6,0x5d,0x6,0x2a,0xc1,0x16,0xa,0x1e,0x76,0x91,0xe1,0x72,0xc2, + 0x6c,0x4d,0x25,0x8a,0x3b,0x86,0x12,0x9,0xee,0xb2,0x16,0x95,0xcf,0xd6,0x54,0xc2, + 0x89,0x8b,0x14,0xb0,0xc1,0x60,0x48,0x69,0x4b,0x6e,0xb8,0x73,0x40,0x28,0x75,0x86, + 0x8a,0x3,0xc7,0x96,0x16,0xa4,0x2d,0x75,0xa5,0x3,0x19,0x66,0x9b,0x18,0xd0,0xd7, + 0x23,0x29,0xa8,0x91,0xba,0xac,0xd0,0x78,0x32,0x6b,0xb9,0x86,0x77,0xa2,0x60,0xf, + 0x50,0x3b,0xc2,0x39,0x2,0x60,0xf5,0x8a,0xa8,0x90,0x3b,0x69,0x43,0x75,0x67,0x4c, + 0x60,0x3,0x6b,0xba,0x15,0x88,0xc2,0x84,0x16,0xf,0x51,0x48,0xb2,0xc8,0x34,0xa1, + 0x6e,0x18,0xf6,0x99,0x4,0xfd,0x2f,0x60,0xed,0x72,0xb6,0xae,0xef,0xfe,0x78,0xbb, + 0xa4,0xbf,0x46,0xbc,0x7a,0xf6,0x1f,0x5d,0x3f,0xc7,0x58, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_rec.svg + 0x0,0x0,0x19,0x53, + 0x0, + 0x0,0xd4,0xc,0x78,0x9c,0xed,0x5d,0x5b,0x73,0x22,0xc7,0x92,0x7e,0xf7,0xaf,0x60, + 0xe5,0x17,0x3b,0x16,0x5a,0x75,0xbf,0xc8,0x33,0x3e,0xb1,0x31,0x27,0x7c,0xe2,0x44, + 0xf8,0xc4,0x6e,0xac,0xed,0xd8,0x47,0x7,0x3,0x2d,0x89,0x35,0x2,0x2d,0xa0,0x91, + 0x34,0xbf,0x7e,0xbf,0x2c,0xa0,0xa9,0x46,0x5,0x74,0x43,0x83,0x34,0x92,0xa4,0xb1, + 0x5,0x55,0xd5,0x75,0xf9,0x2a,0x2b,0x2b,0x33,0x2b,0xb3,0xfa,0xc3,0xdf,0x1e,0x6e, + 0x86,0xad,0x2f,0xf9,0x64,0x3a,0x18,0x8f,0x3e,0x9e,0xf1,0x8c,0x9d,0xb5,0xf2,0x51, + 0x6f,0xdc,0x1f,0x8c,0xae,0x3e,0x9e,0xfd,0xf1,0xfb,0x2f,0x1d,0x77,0xd6,0x9a,0xce, + 0xba,0xa3,0x7e,0x77,0x38,0x1e,0xe5,0x1f,0xcf,0x46,0xe3,0xb3,0xbf,0xfd,0xfc,0xdd, + 0x87,0x7f,0xeb,0x74,0x5a,0x9f,0x26,0x79,0x77,0x96,0xf7,0x5b,0xf7,0x83,0xd9,0x75, + 0xeb,0x9f,0xa3,0xbf,0xa6,0xbd,0xee,0x6d,0xde,0xfa,0xe1,0x7a,0x36,0xbb,0xbd,0x38, + 0x3f,0xbf,0xbf,0xbf,0xcf,0x6,0x8b,0xc4,0x6c,0x3c,0xb9,0x3a,0xff,0xb1,0xd5,0xe9, + 0xe0,0xc9,0xe9,0x97,0xab,0xef,0x5a,0xad,0x16,0x9a,0x1d,0x4d,0x2f,0xfa,0xbd,0x8f, + 0x67,0x8b,0xf2,0xb7,0x77,0x93,0x61,0x28,0xd7,0xef,0x9d,0xe7,0xc3,0xfc,0x26,0x1f, + 0xcd,0xa6,0xe7,0x3c,0xe3,0xe7,0x67,0xab,0xe2,0xbd,0x55,0xf1,0x1e,0x35,0x3e,0xf8, + 0x92,0xf7,0xc6,0x37,0x37,0xe3,0xd1,0x34,0x3c,0x39,0x9a,0x7e,0x1f,0x15,0x9e,0xf4, + 0x2f,0x8b,0xd2,0xd4,0x99,0x7b,0x19,0xa,0x71,0xef,0xfd,0x39,0x13,0xe7,0x42,0x74, + 0x50,0xa2,0x33,0x7d,0x1c,0xcd,0xba,0xf,0x9d,0xf2,0xa3,0xe8,0x63,0xea,0x51,0xc1, + 0x18,0x3b,0x47,0xde,0xaa,0x64,0xb5,0x52,0x17,0xf,0x43,0x20,0xb1,0xb1,0x33,0x21, + 0x37,0x6e,0x1d,0xe8,0xdf,0xe2,0xbf,0xe2,0x81,0x65,0x42,0x36,0x1d,0xdf,0x4d,0x7a, + 0xf9,0x25,0x9e,0xcc,0xb3,0x51,0x3e,0x3b,0xff,0xfb,0xef,0x7f,0x2f,0x32,0x3b,0x2c, + 0xeb,0xcf,0xfa,0x51,0x35,0x4b,0xf0,0x4b,0xed,0x96,0x66,0x64,0xd4,0xbd,0xc9,0xa7, + 0xb7,0xdd,0x5e,0x3e,0x3d,0x5f,0xa6,0x87,0xe7,0xef,0x7,0xfd,0xd9,0x35,0x88,0xc1, + 0x84,0x6f,0xd7,0xf9,0xe0,0xea,0x7a,0x56,0x7c,0x1d,0xf4,0x3f,0x9e,0x61,0x74,0x22, + 0x7c,0x59,0x36,0x7e,0x51,0x50,0x10,0xcb,0xe4,0x3c,0x6b,0x59,0x63,0x9c,0xa5,0xe6, + 0x55,0x94,0xc8,0xad,0x54,0x4d,0x7f,0xdc,0xfb,0xdc,0x9d,0xa2,0xcb,0xe7,0xd7,0xe3, + 0x9b,0xbc,0x33,0x1c,0xf7,0xba,0xc3,0xf3,0xdb,0xe1,0xe7,0xbc,0x7b,0xd7,0x1f,0xf, + 0x46,0xe7,0xbf,0xfd,0xf2,0xeb,0x7f,0x5d,0x83,0xe,0xcf,0xa7,0x97,0xc3,0xdb,0xd2, + 0x87,0xce,0xd5,0xec,0xaf,0xf3,0xdb,0xc1,0xc3,0x4d,0xf7,0x76,0xfa,0xa4,0x4e,0x1a, + 0xe8,0xc7,0xb3,0x41,0x6f,0x3c,0xfa,0x73,0x92,0xf7,0xb2,0xe5,0xe4,0x14,0x5d,0x1c, + 0xdf,0xcd,0x6e,0xef,0x66,0x7f,0xe6,0xf,0xb3,0x7c,0x34,0xef,0x19,0xe0,0x89,0xb0, + 0xa,0xd9,0xf4,0x58,0x91,0x76,0xf6,0x33,0x2a,0xf8,0xd0,0xcf,0x2f,0xa7,0x54,0xd1, + 0x1c,0x15,0xfa,0xa6,0x42,0x6,0xb2,0x30,0xa7,0x79,0x77,0xf2,0x8f,0x49,0xb7,0x3f, + 0x0,0x25,0xcf,0xb,0x45,0x2d,0xf6,0xc6,0xc3,0x61,0xde,0x3,0xaa,0xdd,0xe1,0x7d, + 0xf7,0x71,0xde,0x63,0xfa,0x9,0xb4,0x70,0x71,0x3d,0xc9,0x41,0xbb,0xdf,0x97,0xeb, + 0x50,0xc2,0xf8,0xa2,0x1c,0xb5,0x57,0xce,0x16,0xca,0xf3,0x22,0xfb,0x6a,0x91,0xf8, + 0xc7,0x68,0x30,0x3,0x91,0xde,0x4d,0xf3,0xc9,0x6f,0x34,0xd1,0xff,0x39,0xfa,0x63, + 0x9a,0x3f,0x29,0xf5,0xfb,0xa4,0x3b,0x9a,0x82,0xaa,0x6e,0x3e,0x9e,0xdd,0x74,0x67, + 0x93,0xc1,0xc3,0xf,0x1d,0xde,0x66,0xf8,0xe5,0x6d,0x29,0x32,0xa6,0xb8,0x73,0xed, + 0x8e,0xc8,0x9c,0x51,0x56,0xfe,0xb8,0xea,0x2a,0xff,0x78,0x86,0x5c,0xa3,0xb9,0xb3, + 0xb6,0x48,0x7d,0x44,0x2a,0x17,0x99,0x11,0xda,0x33,0xb1,0x2a,0x2b,0x3e,0x9e,0x99, + 0xcc,0x49,0xeb,0x9c,0x8f,0xca,0x22,0x95,0xcb,0xcc,0x63,0xc5,0x68,0x79,0xd6,0x3a, + 0x7f,0x3e,0xe8,0x9c,0x3f,0x1c,0xba,0x19,0x7d,0x1c,0x82,0x23,0xfe,0x0,0x42,0x17, + 0x86,0xeb,0x0,0x9a,0x35,0x82,0x4b,0x53,0x46,0xcd,0x66,0x4e,0x73,0xab,0x84,0x2c, + 0xa3,0xa6,0x33,0xcf,0x85,0x74,0xae,0x84,0x9a,0xcd,0x38,0xe7,0xca,0x29,0x5e,0x46, + 0x8d,0x67,0xda,0x5b,0x29,0xf4,0x51,0x51,0xe3,0x4e,0x6e,0x47,0xcd,0x36,0x89,0x1a, + 0x18,0x98,0x57,0x96,0x71,0xc0,0xc6,0x32,0x7,0x84,0xbc,0x2b,0xc3,0x26,0x79,0x66, + 0xbc,0xf0,0xc6,0x95,0x61,0xe3,0x99,0x30,0x4a,0x2c,0xb8,0xd3,0x12,0x36,0x21,0x51, + 0x85,0x73,0x46,0xaf,0x13,0x9b,0xd4,0x1a,0xc,0xea,0x59,0x51,0xd3,0x4d,0xa2,0x46, + 0xa3,0x7,0x75,0xf3,0x76,0x7,0x7b,0x25,0x63,0x56,0x8b,0x32,0x68,0x9c,0x65,0xda, + 0x2a,0x2f,0xd7,0x17,0x28,0xe7,0x5a,0x6b,0x5f,0xc2,0xc,0xb0,0x1b,0xa7,0x89,0x2e, + 0x45,0x19,0xb5,0xa2,0xf4,0xb3,0xc2,0x26,0x6b,0xc2,0xf6,0x30,0x5f,0x53,0x60,0x5a, + 0x58,0x81,0xa5,0xe1,0x63,0x55,0x32,0x1,0xe2,0x28,0x93,0xc,0x57,0x19,0xc3,0x52, + 0x95,0xae,0x3c,0x78,0xc2,0xcf,0xa0,0x8a,0x83,0x7,0x9f,0x1a,0x94,0x94,0x8b,0xfd, + 0x2,0xd5,0x4e,0x67,0xe3,0xdb,0x65,0x59,0x6c,0x5f,0xb3,0xc7,0x21,0xf6,0x2c,0x4a, + 0xec,0xa0,0xc6,0xf1,0xe4,0xe2,0x7b,0xc6,0x1c,0x44,0x8b,0x9f,0x42,0xd2,0x18,0xe3, + 0x1d,0xcc,0x1e,0x2f,0xf8,0x4f,0x67,0xab,0x67,0xc6,0x97,0x97,0xd3,0x1c,0xd,0xb3, + 0x28,0x2d,0x6c,0xd7,0x78,0x2,0x6d,0xad,0x98,0xc5,0xbe,0xad,0xb1,0x54,0x6b,0x3c, + 0xdd,0x9a,0x5d,0x1,0x76,0x5e,0x1e,0xf6,0xd1,0x68,0x28,0xe0,0xb9,0x15,0x6e,0x5f, + 0xa2,0xe,0x91,0x79,0xa3,0xad,0xd6,0x25,0xe2,0x20,0xe6,0x83,0xb1,0x63,0x99,0xaa, + 0x12,0x79,0x60,0x27,0xd4,0xd6,0x9,0xb1,0x46,0x1e,0x26,0xb3,0xd2,0x4b,0x5f,0x95, + 0x38,0xb,0x4c,0x8a,0x71,0xde,0x42,0x18,0xba,0xc5,0x40,0x21,0xcb,0x2e,0xab,0x28, + 0x44,0x97,0xd9,0x23,0x89,0x6f,0xe5,0xa2,0xb2,0x7f,0xf6,0x4,0xab,0x2f,0xb7,0x7f, + 0x3e,0x60,0xda,0x5b,0x17,0x2d,0x87,0xff,0x78,0xb2,0xc0,0xe3,0xbc,0x0,0x78,0x4, + 0xfd,0x61,0xc9,0x32,0x5f,0x69,0x40,0x9b,0x6b,0x59,0xb4,0xdf,0x19,0x4f,0x6,0x57, + 0x3,0x8,0x49,0x54,0x4c,0x67,0x72,0xfe,0x53,0x7e,0x4,0xe0,0x47,0x3,0x53,0xc2, + 0xed,0xde,0xdf,0x9f,0xcc,0x97,0x94,0x96,0xd5,0x58,0x1e,0x7d,0x4b,0xbf,0x7b,0x2e, + 0xf,0xb4,0x25,0x6a,0x2d,0xf,0xdb,0xa3,0xdf,0xa,0xad,0xa5,0x96,0x7,0x5a,0x53, + 0x7b,0x2e,0x8f,0x4,0x4a,0x46,0xd4,0x62,0x22,0x6c,0x7f,0x26,0x82,0xb6,0x54,0x2d, + 0x94,0x2e,0xc3,0xcf,0xde,0x28,0x81,0x43,0x37,0x84,0x92,0x62,0x4a,0xd7,0x40,0x29, + 0xd5,0x6f,0x56,0x11,0x24,0x34,0x65,0xeb,0x81,0xd4,0xbb,0xfc,0xdc,0xfb,0xbc,0x6, + 0x52,0x45,0x8c,0xd0,0x98,0x6f,0xc,0x23,0x92,0x92,0xab,0x77,0x9b,0xf7,0x3f,0xef, + 0x4f,0x49,0x4a,0x58,0x5e,0xb,0xa4,0x54,0x6b,0x95,0xb7,0x23,0xb4,0x26,0x1b,0x43, + 0x89,0x4,0x95,0xd,0xfd,0x2e,0xda,0xe3,0x91,0x90,0x97,0x6,0xa2,0x3a,0xa0,0x1b, + 0x51,0x8a,0x5a,0xb3,0x3b,0x80,0x48,0x31,0x82,0x4b,0x7d,0xb9,0xa5,0xb5,0x83,0x51, + 0x32,0xb6,0x6,0x2d,0x91,0xa8,0xc1,0xf2,0x7d,0x69,0x89,0x1b,0x5f,0x8b,0x96,0x8, + 0x66,0xae,0xf6,0xa5,0x25,0x1e,0x51,0xee,0xc9,0x44,0x9b,0x5d,0xe2,0xb1,0x10,0x91, + 0xb4,0xc2,0x83,0x5c,0xe2,0x84,0xb1,0x7e,0x25,0xe2,0x92,0x6c,0x3,0x61,0x5,0x72, + 0xaf,0x8d,0xc4,0xe1,0xa0,0x2b,0xd9,0x4c,0x43,0x5f,0x2f,0xc9,0x35,0x2,0xd2,0xe, + 0x17,0x9a,0x35,0xa0,0xab,0x2c,0x4c,0xa,0x10,0xab,0xac,0x66,0x42,0x7,0xc3,0xc2, + 0xea,0x4b,0x66,0x8c,0xb1,0x4c,0xe2,0x3,0xb7,0xd6,0x33,0xfb,0xe3,0x2e,0x39,0xa1, + 0x6c,0x34,0x88,0xc7,0x91,0x30,0x30,0xa4,0x8d,0x11,0x49,0xc3,0xc5,0x61,0xc6,0x90, + 0x6a,0xe8,0x3c,0x9d,0x38,0x5e,0xd2,0xf7,0xab,0x5a,0x30,0x36,0x11,0xd2,0xe,0xe8, + 0xf6,0x36,0x5a,0x54,0x1b,0xdd,0xb1,0x66,0x26,0x89,0x9a,0x39,0x39,0x6a,0x15,0x6, + 0x5f,0xe8,0x8a,0xf1,0xe0,0x13,0x7a,0x65,0x5a,0x7,0x4d,0xea,0xab,0xc9,0xc1,0xab, + 0xfa,0x2c,0xe3,0x18,0x24,0xb3,0xd5,0x62,0x53,0x3,0x36,0xf0,0x1a,0xa9,0x2d,0xd7, + 0x25,0xd8,0x24,0xcf,0x24,0x36,0x11,0xb7,0x4e,0x32,0xeb,0x45,0x9,0x4b,0x95,0x49, + 0x6f,0x63,0x66,0x95,0x44,0x4d,0xbc,0xc,0xd4,0xb6,0x59,0x6c,0x6a,0x81,0xe6,0x84, + 0x76,0xbe,0xbc,0xd0,0x2c,0x56,0x9f,0xc4,0x3f,0xbd,0x8e,0xda,0x7a,0x59,0x1e,0x8c, + 0xef,0x4c,0x81,0xda,0xcc,0x76,0xd4,0xd8,0xc9,0x50,0x4b,0x35,0x6f,0xd5,0x2e,0x59, + 0xb,0x65,0x56,0x23,0xa8,0x2c,0x6b,0x6d,0x10,0x38,0x76,0xca,0x5a,0x68,0xcd,0x25, + 0x5a,0xdb,0x21,0x6b,0x6d,0x10,0x38,0x1a,0x92,0xb5,0xc0,0x5c,0x5c,0xd,0x59,0x4b, + 0x98,0x3,0xe4,0x76,0x4e,0x3a,0x79,0x2d,0xb9,0x5d,0x25,0xc5,0xcc,0x6a,0xb2,0x16, + 0x8f,0xb5,0xf2,0xc3,0x51,0xda,0xa8,0x27,0xaf,0xda,0x33,0xaa,0x3e,0x2d,0x6d,0x0, + 0xb4,0x2,0x2d,0x99,0x14,0xe5,0xee,0xa0,0xa5,0x54,0x6b,0x7b,0xd3,0xd2,0xf1,0x24, + 0x52,0xae,0x98,0xa9,0xc9,0xd6,0x5e,0x9a,0xc1,0xf6,0xa0,0xc1,0xbb,0x9a,0x83,0x7f, + 0x37,0xf2,0x13,0x6c,0x9c,0x35,0x9,0xdb,0x6b,0x39,0x51,0xda,0x7e,0x7a,0x9,0xd4, + 0x44,0x93,0xa8,0xbd,0x96,0xd3,0xcb,0x9d,0xa8,0xa9,0xc3,0x51,0x7b,0xb9,0xc7,0xe5, + 0xaf,0x4b,0x4d,0x16,0x3e,0xb2,0x4f,0x1c,0x5b,0xe1,0x2b,0xd8,0xa1,0x8c,0xcf,0x86, + 0xe6,0xe4,0x2c,0x3c,0x24,0xe2,0x35,0xe4,0xc,0x8a,0x32,0xed,0xca,0xc8,0x81,0xc6, + 0xb1,0x9,0xc8,0xc4,0x61,0xef,0x91,0xb4,0xef,0xc4,0xc9,0x0,0x37,0xd5,0x84,0xf7, + 0xc6,0x40,0x5b,0x32,0xc3,0x1d,0x7c,0x33,0xcd,0x63,0x93,0xfc,0xf8,0xd8,0xfa,0x67, + 0x92,0xd4,0x78,0x25,0xd4,0x9a,0x50,0x79,0x16,0xa4,0xe6,0x95,0xd7,0xeb,0x46,0xb9, + 0x8c,0x84,0x18,0xa3,0xcc,0xfa,0x2a,0x5d,0xdf,0xd3,0x53,0xdb,0xff,0x91,0xf5,0xcf, + 0x14,0x68,0xdc,0x9f,0x16,0xb4,0x23,0x98,0x5a,0xe,0x18,0xbc,0x3d,0xd9,0xe0,0x8f, + 0xe9,0x6,0x5,0xc6,0xf3,0x9a,0xb7,0xc4,0xe3,0x42,0xd7,0x80,0x34,0xf1,0xfa,0x64, + 0xb0,0x1d,0xa7,0x16,0xd6,0xd4,0xd5,0x11,0xdf,0x84,0xbc,0xbf,0x13,0xb5,0x77,0xe5, + 0x72,0x1f,0xd8,0x6c,0x5d,0xe5,0xf2,0x1b,0x32,0x48,0xec,0x70,0x7d,0x92,0x5c,0x95, + 0xcf,0x7,0xdf,0x5d,0x9f,0xd6,0xca,0x1c,0xcb,0xf5,0x9,0xc8,0xef,0x66,0x16,0x89, + 0xf9,0x92,0xe6,0x64,0xae,0x4f,0x1c,0x4,0x7b,0x3a,0xd7,0x27,0xae,0x58,0x53,0x26, + 0x5d,0xf4,0xbc,0x8e,0x83,0xd8,0x61,0xae,0x4f,0x5c,0xd6,0x73,0x10,0x3b,0xcc,0xf5, + 0x89,0xcb,0xc6,0x1c,0xc4,0x84,0xdd,0xec,0xb0,0xd2,0xb0,0xeb,0x13,0x9a,0xaa,0xe7, + 0x64,0x7a,0x88,0xeb,0x13,0x1a,0xdb,0xd7,0xc7,0x34,0x85,0xd1,0xc9,0x5c,0x9f,0x84, + 0xf5,0x27,0x74,0x7d,0x42,0x6b,0x8d,0xb9,0x3e,0xa1,0xae,0x8d,0x4e,0x74,0x51,0x7b, + 0x29,0x67,0xa4,0x23,0xb9,0x3e,0xa1,0x35,0xbf,0x3,0x88,0x93,0xbb,0x3e,0x9,0xc7, + 0xf8,0xa9,0x5c,0x9f,0xd0,0x96,0xac,0x45,0x4b,0x7,0xb9,0x3e,0xa1,0x35,0xfd,0xe2, + 0xe,0x9a,0x44,0x6c,0x8f,0x7b,0x77,0x7d,0x5a,0x13,0xd2,0x5f,0xb2,0x4d,0xd7,0xb1, + 0x6a,0x36,0xa3,0x77,0xd7,0xa7,0x12,0x6a,0xbc,0x9a,0x79,0xf2,0x35,0xba,0x3e,0x61, + 0xf0,0xb2,0x3e,0xcb,0x78,0xeb,0xae,0x4f,0x40,0xad,0xda,0xe1,0xc9,0xbb,0xeb,0x53, + 0x19,0xb5,0x13,0x5a,0x75,0x53,0xcd,0x6f,0x94,0x48,0x57,0xfb,0xb1,0x48,0x9,0xcb, + 0x47,0x72,0x7d,0x42,0x6b,0x32,0xd1,0xda,0xb3,0xba,0x3e,0xa1,0x4f,0x75,0xc2,0x3a, + 0xe,0x72,0x7d,0x42,0x5b,0xf5,0xe2,0x3a,0xe,0x72,0x7d,0x42,0x6b,0x8d,0x5,0x76, + 0x8,0x27,0x37,0x4a,0xa4,0xab,0xf6,0x64,0x6a,0x76,0x8f,0xe4,0xfa,0x84,0xd6,0x52, + 0x1,0x12,0xaf,0xc3,0xf5,0x9,0x83,0xab,0x1b,0x18,0xfd,0xd,0x59,0x1a,0x77,0xf, + 0xbe,0xd1,0x58,0xfa,0xb7,0x62,0x9d,0x8e,0xcf,0x67,0xde,0x8f,0x42,0xaa,0x1e,0xbb, + 0x39,0x55,0xf7,0xf8,0xf6,0x4d,0x1c,0xbb,0xed,0x44,0xad,0x39,0xdd,0xf6,0x5,0x9e, + 0xf3,0x52,0x61,0xa3,0xe9,0x28,0x43,0xf9,0x32,0x7,0x10,0xc2,0x64,0x9e,0x39,0x57, + 0xee,0x4,0x3a,0x90,0x31,0xa9,0xd9,0x9a,0x3e,0x62,0x75,0xc6,0x25,0x77,0x75,0xcf, + 0x75,0x93,0x71,0xcc,0x95,0x2,0x36,0x24,0xf7,0x87,0x4b,0x92,0x61,0xf0,0x26,0x33, + 0xdc,0x89,0xf2,0x21,0xe,0xb7,0x98,0x2,0xeb,0x23,0x44,0x96,0x63,0xb7,0x2a,0xda, + 0x47,0xc2,0x5c,0x41,0xab,0x10,0x46,0xda,0xba,0x8c,0x3c,0x39,0xf4,0x4a,0x51,0x17, + 0x52,0xb8,0x86,0x5c,0x90,0x8c,0xcb,0x84,0x67,0x6b,0x56,0x1e,0x8c,0xc7,0x9,0x13, + 0x4d,0x65,0x38,0xed,0xa2,0xf9,0xd5,0xd2,0x44,0x2b,0x74,0x6e,0x3e,0x62,0x99,0xd0, + 0xe2,0xe9,0xd8,0x53,0xb4,0x8f,0x35,0x2e,0xc8,0xbe,0x4e,0x5c,0x56,0x78,0xc7,0xa4, + 0xc2,0x72,0x28,0x3e,0x45,0xf9,0x56,0xd9,0xcc,0x48,0xa9,0x6c,0x1b,0xea,0x1a,0xc0, + 0x85,0x74,0xdf,0x80,0x5,0x25,0x76,0xf,0xda,0x86,0xae,0x8c,0xdc,0x91,0xf,0x22, + 0xac,0x17,0xb5,0xaa,0x4c,0xa5,0xc8,0xb9,0x57,0xb9,0xaa,0x4c,0xb5,0x79,0x7f,0xed, + 0xab,0x4a,0x6b,0x97,0x59,0xa9,0xbc,0x6a,0x1b,0x90,0x26,0x84,0x19,0x6b,0x1b,0x70, + 0x9b,0x8c,0x83,0x40,0xde,0xda,0xaa,0x12,0xa5,0x89,0x7b,0x6b,0xab,0xaa,0x92,0xbb, + 0xec,0xfb,0xaa,0xda,0xf,0x5d,0x55,0xd,0xdd,0xd7,0xb8,0xaa,0xa4,0x94,0x6f,0x77, + 0xaf,0x92,0xef,0x7b,0xd5,0xd1,0x24,0x40,0x29,0xc5,0x5b,0x96,0x0,0xc5,0xdb,0xd5, + 0xab,0xc4,0xbb,0x5e,0x45,0xf9,0x92,0x99,0x4c,0x33,0x25,0xb1,0xaa,0x8c,0xca,0xb4, + 0x37,0xa6,0x81,0x10,0x10,0xac,0x96,0xd3,0xad,0xaa,0x66,0x60,0xb0,0x26,0x13,0x58, + 0x96,0x6d,0xc5,0x44,0xe6,0x41,0xa2,0x11,0xa,0x2f,0x8d,0x72,0x59,0x35,0x1,0xb3, + 0x29,0xca,0x7d,0x41,0x43,0x17,0xae,0xd2,0x89,0x62,0x73,0x43,0x17,0x99,0xe2,0x58, + 0x9f,0x6b,0xcc,0x9a,0x61,0xa1,0x40,0xc6,0x5b,0x1b,0x3b,0x15,0xd6,0x8a,0x97,0xf, + 0x4a,0x9f,0x96,0xdd,0x7f,0xf0,0xd5,0x8e,0xee,0x9b,0x63,0xd6,0x2f,0x6b,0xf0,0x27, + 0xd6,0xaa,0x5e,0xd2,0x36,0x2d,0xd8,0xe9,0x66,0xbe,0xba,0x17,0xc1,0x31,0xe8,0x23, + 0xe5,0xa2,0x1c,0xcf,0xc1,0x8b,0x19,0xbc,0x90,0x19,0xe3,0xc6,0xca,0xf2,0xe0,0x31, + 0xdb,0x99,0xd3,0x36,0xba,0x47,0xfc,0x31,0x9c,0x14,0x81,0x6a,0x2c,0x5f,0x1b,0x3c, + 0xd1,0x87,0x85,0x7e,0xa8,0xb6,0xe,0xde,0x56,0x1c,0xbc,0x4b,0xb8,0xdc,0x6f,0x1c, + 0x3c,0x3d,0xd5,0x1d,0xee,0x37,0xf8,0x9,0x9d,0x9d,0xb2,0xcc,0x63,0xe3,0x5c,0x35, + 0x79,0xf9,0x48,0xe2,0x89,0xcc,0x54,0x70,0x70,0x2d,0x52,0x1f,0x52,0x88,0xf4,0x92, + 0x65,0x7b,0xc9,0xb2,0x84,0x48,0xb9,0xb3,0xc0,0xb2,0xd2,0x5a,0x10,0x71,0xe0,0xf0, + 0x6e,0x44,0xb6,0x45,0x54,0xac,0xc5,0x23,0xf0,0x44,0xf8,0xc3,0x7a,0x70,0x83,0xa4, + 0xdd,0x51,0x59,0xa1,0x5a,0x17,0x2d,0x30,0x86,0xcc,0x3a,0x50,0xca,0xc6,0xe8,0x8a, + 0xaf,0x1f,0xcf,0xac,0x52,0x19,0xf3,0x4a,0x85,0xa8,0x8,0x30,0x19,0xcc,0x27,0xdb, + 0xfc,0x40,0x95,0x70,0x8c,0x45,0x4c,0x47,0xba,0xb2,0x5d,0x41,0x22,0xf5,0x9d,0x6d, + 0x8,0xee,0x5d,0x2e,0xb,0x32,0x79,0xcb,0xe2,0xe,0x7,0x89,0xcb,0xcb,0x64,0xcc, + 0x41,0xbd,0x40,0x82,0xa7,0x55,0x30,0x30,0x1e,0xc8,0x30,0x8a,0xab,0xa4,0xf7,0x4a, + 0xe6,0x2c,0x93,0xf8,0x17,0xfb,0x46,0xaf,0x42,0xb,0xec,0x16,0x1f,0xfd,0x68,0xb4, + 0x7b,0x38,0x56,0xef,0x18,0xed,0xc1,0xe1,0x1e,0xb5,0xee,0x27,0xdd,0xd0,0x99,0xed, + 0x53,0x18,0xa1,0x54,0xcf,0x49,0x3f,0x39,0x4b,0xd5,0xc3,0x3d,0x9a,0xbb,0x9f,0x34, + 0x30,0xd3,0x93,0xa1,0xe4,0xb6,0xb8,0x9f,0x47,0xa5,0x92,0xb7,0xa1,0x92,0xd7,0x85, + 0xf0,0x46,0x8b,0xfa,0x44,0xc5,0x32,0x3c,0x66,0xb9,0x37,0xf5,0x3c,0xb2,0x52,0x11, + 0x40,0xe8,0x86,0x56,0x8e,0x73,0x2b,0x2a,0x4f,0x56,0x73,0x71,0x27,0xd5,0xb6,0xfd, + 0x9d,0xf8,0xfa,0x3d,0x6e,0x9b,0x4d,0xc6,0x27,0x55,0x99,0xcc,0x64,0x7c,0xc7,0xae, + 0x88,0x8b,0x54,0xe8,0xd5,0x91,0x1c,0xb7,0x92,0x8a,0x57,0x1d,0xc6,0xe1,0xc3,0xcf, + 0xee,0xa0,0xa4,0xe4,0x8a,0x10,0x35,0x83,0x7b,0xd2,0xc8,0x54,0xa4,0x44,0xd1,0x5c, + 0x6c,0x4f,0x35,0x5b,0xc6,0x2e,0xe2,0x90,0x7c,0x57,0xa8,0x58,0x83,0x94,0x28,0xf9, + 0xae,0x25,0x5b,0x39,0xbc,0xed,0xe4,0x2e,0x84,0x61,0x2f,0xdb,0x22,0x90,0xd8,0xb5, + 0xd0,0x0,0xee,0xc9,0xab,0xc6,0xca,0xb2,0xa9,0x8d,0x73,0x97,0x49,0xc3,0x4d,0xd9, + 0xf3,0x88,0x3b,0x9f,0x9,0xa6,0x59,0xd9,0xcb,0x4d,0x6a,0x9d,0x29,0x65,0x4d,0x55, + 0x6d,0xb6,0xbe,0x10,0x25,0x6c,0x9d,0x6b,0x8,0xf,0x8a,0x33,0x14,0xae,0xde,0x2d, + 0x84,0x97,0xf9,0x65,0x9e,0xdb,0x75,0xc6,0xef,0x3c,0x88,0x9e,0xef,0xbc,0xd0,0x31, + 0x6a,0xb5,0xb1,0xdb,0x8,0x51,0xd7,0xc6,0x9b,0x2d,0x1b,0xf,0x38,0x14,0xce,0xd4, + 0x42,0xeb,0xb0,0x80,0x43,0xe1,0x5c,0x73,0x28,0xf9,0x8d,0x1,0xbe,0xab,0xf6,0x7c, + 0x8a,0xd,0x1c,0x2b,0xe0,0x50,0xf8,0xd4,0xd,0x91,0xcf,0x1b,0x70,0x8,0x21,0xea, + 0x64,0x1,0x87,0xc2,0xd7,0xb,0x16,0x3f,0x2c,0xe0,0x50,0xb2,0x67,0xe0,0xcd,0xbb, + 0x5c,0x75,0xe5,0x3a,0x6f,0x7e,0xf,0x38,0x6c,0x7d,0x13,0x1,0x87,0x92,0x55,0xbb, + 0x38,0xfb,0x3d,0xe0,0xb0,0x8c,0xda,0xdb,0xbd,0x6b,0x5d,0xc4,0x52,0xf1,0x7b,0xc0, + 0x61,0xd5,0x80,0xc3,0x58,0xd,0x78,0xf,0x38,0xac,0x1a,0x70,0x18,0xeb,0x33,0xcf, + 0x10,0x70,0x28,0xf9,0xce,0xbb,0xd6,0x51,0xe6,0x84,0x77,0xad,0xa3,0xb5,0x17,0x77, + 0xd7,0xba,0x90,0xa2,0xce,0x95,0x33,0x87,0x5,0x1c,0x92,0x93,0xc7,0xe9,0x2,0xe, + 0xc9,0x9b,0xa6,0x39,0x94,0x36,0x4a,0xa4,0x51,0x7b,0xa9,0xd9,0x3d,0x56,0xc0,0xa1, + 0x94,0x29,0xe5,0xf2,0x95,0x4,0x1c,0x4a,0x59,0xf7,0xe2,0xc6,0x57,0x14,0x70,0x28, + 0x65,0xa3,0x57,0x2f,0xbe,0x95,0x80,0xc3,0xd8,0x2f,0xb3,0x1,0xd8,0xde,0x48,0xc0, + 0x61,0xec,0xc8,0xdb,0x0,0x6a,0x6f,0x24,0xe0,0x30,0xf6,0xfd,0x3e,0x54,0xb7,0x7d, + 0xd6,0x80,0xc3,0xb4,0xeb,0xc1,0x41,0xd0,0x31,0x55,0x16,0xa5,0xcb,0x4d,0x0,0xba, + 0x55,0x57,0x83,0x97,0x81,0xcf,0x84,0x2b,0x49,0xe5,0xe4,0x91,0xe0,0xc9,0xf3,0x80, + 0xab,0xc8,0xcb,0xed,0x32,0x59,0xf6,0x32,0x59,0x76,0x12,0xb8,0x9a,0xb,0xc9,0x35, + 0xe7,0x69,0x7a,0x3b,0xc9,0xbb,0xfd,0x7f,0xe5,0xb3,0xeb,0x31,0xf5,0x3d,0xbf,0xa4, + 0xf1,0x57,0xb2,0x50,0x60,0xea,0xa0,0x47,0xb4,0x45,0xa6,0x94,0x62,0x42,0xe6,0x1d, + 0x1e,0x66,0x32,0xfa,0x56,0x94,0x21,0x26,0xc1,0xb4,0x72,0x6d,0x9d,0x59,0x61,0x83, + 0x73,0xe3,0xde,0x4e,0x95,0xa8,0x4a,0x1b,0x2d,0xe6,0x44,0xd4,0x29,0xbe,0x75,0x68, + 0xa5,0x29,0xc9,0x7d,0x5b,0xb8,0xcc,0x5a,0x48,0xb,0xb5,0xbd,0xb3,0x89,0x64,0x1c, + 0x54,0x26,0x10,0xc,0x5f,0xf3,0xab,0xc1,0x46,0x2b,0x99,0xf4,0x65,0x4d,0x41,0x80, + 0x6c,0xb1,0xb4,0x59,0xd9,0xdd,0xf0,0x69,0xd9,0xc4,0x7a,0x52,0xea,0x74,0x86,0x8c, + 0xe7,0xb4,0x1,0x61,0x7,0xb6,0x5e,0xdb,0x46,0x8d,0x40,0x4a,0x55,0xd3,0xb2,0x8e, + 0x6e,0x4,0xc2,0xe0,0xa4,0x11,0xce,0x8b,0x6f,0xc2,0xa,0xa4,0xaa,0x85,0xef,0xbc, + 0x4e,0x2b,0x90,0xaa,0x16,0xbe,0x73,0x2,0x2b,0x10,0xc7,0xce,0xcf,0x30,0x62,0xfd, + 0x2d,0x98,0x81,0x54,0xb5,0xd0,0x9f,0x53,0x98,0x81,0xbc,0x10,0xcc,0x3b,0xf3,0x4d, + 0xd8,0x81,0x94,0xac,0xc6,0xdd,0x8f,0x64,0x7,0x52,0x62,0xe3,0x31,0x6e,0xa1,0x4d, + 0xab,0xa4,0x36,0x7d,0x2c,0x3b,0x90,0x92,0x7b,0x1c,0xf4,0x1f,0xd9,0xe,0xa4,0x44, + 0x9d,0xb7,0xae,0x1f,0x66,0x7,0x52,0xa2,0xde,0x5b,0xd7,0xf,0xb3,0x3,0x81,0x85, + 0x37,0x87,0x12,0xdf,0x6d,0x7,0x52,0x49,0x2b,0xdf,0xb1,0xec,0x40,0x10,0xb8,0x5e, + 0xad,0x1d,0x48,0xb2,0xc8,0xd3,0xfe,0xad,0xd9,0x81,0x30,0xf8,0x46,0x6f,0x50,0x6a, + 0xd0,0xe,0x94,0x78,0x97,0x4f,0xe9,0xbd,0x3f,0xcf,0x68,0x5,0x8a,0x43,0xa0,0xde, + 0xad,0x40,0x55,0xed,0x19,0xde,0xd7,0xbd,0xe0,0xed,0x20,0x2b,0xd0,0xd3,0x77,0x89, + 0x6d,0x78,0xef,0x98,0x48,0xbd,0xa2,0x6c,0x69,0x70,0xc,0x6f,0x33,0x7b,0x56,0xd0, + 0x5e,0xc9,0xad,0x53,0x69,0x23,0x50,0x5,0x5b,0xc7,0xdc,0x1b,0x63,0xb3,0x51,0x63, + 0x59,0x55,0x35,0xa3,0xca,0xee,0x40,0x97,0x27,0x36,0x9d,0xb4,0xf9,0x27,0x6d,0x2a, + 0x4a,0x9b,0x95,0xd2,0x26,0xa8,0x84,0xdd,0xca,0xc7,0x92,0x6f,0x55,0xf3,0xd7,0x37, + 0x68,0xa2,0x38,0xc6,0xbb,0xe,0x7d,0xa5,0x60,0xc1,0xe6,0xac,0x3b,0x85,0x89,0xb8, + 0xcc,0x48,0x9e,0x98,0x93,0xd3,0xa6,0xe7,0xa4,0x99,0x7a,0x6f,0x7e,0xb7,0x3f,0x6a, + 0xae,0x52,0xac,0xd9,0xfb,0xcb,0xe,0xd7,0x50,0x3b,0xdd,0x25,0xc7,0xe5,0xa3,0xaf, + 0x18,0xb6,0xe4,0x41,0x59,0x5a,0x9c,0x4a,0x49,0x5e,0x47,0x76,0x1,0x49,0xc2,0x76, + 0xba,0x1b,0xb5,0x5f,0xde,0xeb,0xe,0x5d,0x35,0xd6,0x7e,0x24,0xfb,0x84,0x7,0x87, + 0x3e,0x95,0xe6,0xed,0xad,0xaf,0xa5,0x79,0x6f,0x50,0x14,0xb7,0x2b,0x9c,0xab,0xd6, + 0xdc,0xbe,0x31,0x31,0x29,0x94,0x76,0x5f,0xf9,0xc,0xa6,0x7f,0x42,0xcd,0x1b,0x42, + 0x4f,0x7d,0xcd,0x7b,0x83,0x29,0xa3,0x31,0x94,0x4c,0x9d,0xeb,0xc3,0xf,0xf3,0x9c, + 0xae,0x1b,0xac,0x76,0x98,0xe7,0xb4,0x37,0xfb,0x5e,0x1f,0x7e,0x4c,0x6d,0xd3,0xec, + 0x32,0x87,0x6e,0x30,0x9d,0xa6,0xcd,0xac,0x49,0x93,0xec,0x91,0x54,0xff,0xe7,0xd4, + 0xd1,0x4d,0xf9,0x26,0x9d,0xa7,0xb6,0xf7,0xd,0x76,0xfa,0xa4,0x49,0x3f,0x69,0xfd, + 0x3f,0x96,0xea,0xff,0x9c,0xa8,0xad,0x4b,0xd,0xd,0x5a,0xb9,0xaa,0xc1,0xf6,0x9c, + 0xba,0xb6,0x2e,0xbf,0x13,0xa9,0x49,0x3d,0xb8,0x41,0x9a,0x49,0x29,0x2,0xcf,0x8a, + 0xda,0x2b,0xb1,0x50,0x9c,0x1c,0x3a,0x25,0xac,0x7e,0xb2,0xda,0x2a,0xb9,0x3c,0xcc, + 0xdd,0x23,0x1c,0x33,0xeb,0x4e,0x72,0x26,0x33,0xd6,0x32,0x6f,0x1b,0xf0,0xb7,0x2a, + 0x5c,0x3f,0x8c,0xf0,0x5c,0x2e,0x3d,0x3f,0xe6,0x5f,0x3a,0x58,0xd5,0xcc,0x18,0xe6, + 0xda,0xd2,0x67,0x16,0x4c,0x6b,0x77,0x54,0xcc,0x36,0x4b,0x4f,0xc5,0xb8,0x9b,0x7a, + 0x43,0x4a,0x7,0x9,0x25,0xc3,0x89,0xd2,0x81,0x47,0xc9,0x20,0xa5,0xe4,0x2,0x38, + 0x9d,0x7,0xfa,0xeb,0x32,0xda,0x60,0x7d,0x9c,0xde,0x3f,0xe2,0x98,0xb1,0x45,0x47, + 0xb0,0x9,0xa5,0x50,0xd3,0x6f,0x37,0xb6,0x48,0x55,0xbc,0x17,0xeb,0xdb,0x89,0x2d, + 0x6a,0xde,0x22,0x96,0x40,0x2d,0xbe,0xec,0xe2,0x75,0xc4,0x16,0x35,0x6f,0x10,0x4b, + 0xc1,0xe6,0xaa,0x19,0x95,0x8f,0x65,0xb4,0x51,0x15,0xcc,0x11,0x6a,0xf,0x73,0xc4, + 0xde,0x4e,0x25,0x5e,0xed,0x61,0x8e,0x38,0xb2,0x53,0x89,0x97,0x75,0xcc,0x11,0x87, + 0x5d,0xa,0xe0,0x65,0xcd,0xbb,0x73,0xd2,0x31,0xec,0xdb,0x21,0x8c,0x5a,0x6b,0xee, + 0x6d,0x66,0x60,0x11,0xbb,0x69,0x49,0xee,0xf1,0x66,0xbc,0xbd,0x2f,0x5,0xf0,0xc9, + 0x77,0xa7,0xed,0x32,0x6d,0xa5,0x6f,0x59,0x68,0xe,0xa5,0x8d,0x6f,0xfd,0x5e,0xf5, + 0x5b,0xa4,0xd6,0xc0,0x1e,0xd7,0xb5,0x6c,0xb9,0x8d,0x23,0x6a,0x6c,0x8f,0x8b,0x83, + 0xd2,0x2f,0x8,0xdf,0x81,0x51,0x8d,0xeb,0xf0,0x94,0x8d,0x34,0xe5,0x8d,0x17,0xe2, + 0x71,0xd1,0xba,0x68,0xb9,0x6d,0x37,0xe0,0x85,0xbb,0xf2,0x42,0xb1,0x83,0xef,0xbc, + 0x5b,0xab,0xa5,0xda,0x65,0x77,0x1f,0xce,0xfb,0xf9,0xe5,0x34,0x7c,0x2a,0x1e,0x18, + 0x75,0x6f,0xf2,0xfe,0x97,0x41,0x7e,0xff,0x5d,0x31,0xf2,0xcf,0xdd,0x62,0xfb,0xb9, + 0xed,0x5e,0xe5,0x1,0x64,0xec,0x1,0xf3,0x29,0x5d,0x64,0x7c,0x1e,0x4f,0xfa,0xf9, + 0x64,0x99,0x65,0xc2,0x4f,0x29,0x6b,0x31,0xf,0xc1,0x7c,0xb7,0xc8,0x58,0xf5,0xa, + 0xb5,0x16,0xf9,0x2c,0x9d,0x3f,0xbd,0xee,0xf6,0xc7,0xf7,0xc0,0x6c,0x3d,0xf3,0xeb, + 0x78,0x7c,0x13,0x64,0x3,0xc9,0xa5,0x2d,0x94,0xc4,0xd5,0x2e,0xf4,0x40,0x77,0x6e, + 0x42,0xaf,0xd4,0xb6,0x78,0x73,0xf0,0x2a,0x13,0xed,0xc9,0x8c,0x43,0x93,0x63,0x85, + 0xf3,0x43,0x91,0xd9,0x1f,0xf7,0xee,0x6e,0x40,0x1f,0x9d,0xbb,0xf9,0x7e,0x7c,0xfb, + 0xf0,0xe4,0xf1,0xbb,0xc9,0x84,0xa,0xc,0xbb,0x8f,0x39,0x86,0x7d,0x45,0x7e,0xd9, + 0x8b,0x32,0xf7,0x83,0xfe,0xec,0x9a,0x14,0xa8,0xe2,0xa9,0xeb,0x7c,0x70,0x75,0x3d, + 0x2b,0x25,0x4d,0xaf,0xc7,0xf7,0x57,0x77,0x83,0x7e,0x3e,0x25,0x11,0xe1,0x2e,0x5f, + 0xaf,0x3f,0xe4,0x75,0x3e,0x7f,0x1e,0x3f,0xa4,0xf3,0xef,0x7,0x23,0x60,0xd2,0x59, + 0xb6,0xc5,0x8a,0x43,0xfb,0xf5,0x12,0xcb,0xb6,0x6d,0x71,0xf1,0xfb,0x7a,0x9,0xb4, + 0xb0,0x8a,0xed,0x5a,0xcf,0x7c,0x24,0x8,0x7d,0xdc,0xe9,0x9,0xd1,0xc5,0x65,0x77, + 0x8,0xc2,0x58,0x2c,0x9f,0x82,0x80,0x42,0xa7,0x97,0x74,0x88,0xb5,0x0,0x80,0xba, + 0xb3,0xc1,0x18,0xb,0xe2,0x4b,0x3e,0x99,0xd,0x7a,0xdd,0x61,0x41,0xa5,0xb7,0xe3, + 0xe9,0x60,0x9e,0x15,0xee,0x4,0xe7,0x4a,0x94,0x85,0xb8,0x50,0x95,0xe4,0xca,0x14, + 0xf4,0xfa,0x94,0x4c,0x43,0xfa,0x4d,0x3e,0xeb,0xf6,0xbb,0xb3,0xee,0x8a,0x66,0x97, + 0x29,0xcb,0x53,0x9f,0xf,0x93,0xfe,0xe5,0xc5,0x7f,0xff,0xfd,0x97,0x82,0xdf,0xf4, + 0x7a,0x17,0xff,0x33,0x9e,0xfc,0xb5,0xe2,0x23,0x54,0xa0,0xfb,0x79,0x7c,0x7,0x98, + 0xa,0x16,0x88,0x72,0xfd,0xde,0x5,0xc9,0x70,0xdd,0xd9,0xcf,0x83,0x1b,0x90,0xe1, + 0xf9,0xf4,0xcb,0xd5,0xbf,0x3f,0xdc,0xc,0xb1,0x74,0x8a,0x8c,0x52,0x61,0x5a,0x70, + 0xab,0x4a,0xe7,0xd5,0x4e,0xf2,0xe9,0xf8,0x6e,0xd2,0xc3,0x42,0xbc,0x9e,0xcd,0x6e, + 0x2f,0xce,0xcf,0x6f,0xef,0x26,0xc3,0x6c,0x3c,0xb9,0x42,0x25,0xf8,0x77,0x33,0xa0, + 0x87,0xce,0x7f,0x9b,0xd,0x86,0xc3,0x7f,0x52,0x23,0x31,0x5f,0x3c,0x5f,0x74,0x74, + 0xc9,0xbb,0xa2,0x71,0x7c,0x38,0x5f,0x8e,0x32,0x7c,0xbb,0x5a,0x9b,0xbc,0x61,0xf7, + 0x73,0x3e,0xfc,0x78,0xf6,0xa9,0x3b,0xfc,0xbf,0xbb,0xbc,0xe0,0xd,0x2b,0xe2,0x9a, + 0x8c,0xef,0x6e,0x6f,0xc6,0x7d,0xf4,0x2a,0xd0,0xef,0xd9,0xa,0xbc,0xf0,0x7d,0x29, + 0x7a,0x2d,0xeb,0x5d,0x4c,0x89,0x50,0x91,0x47,0xda,0x8e,0xb6,0x5a,0xad,0x59,0xc2, + 0xda,0x61,0x15,0x73,0xde,0xab,0x85,0xb9,0xc3,0x68,0x47,0xbf,0x6d,0x28,0x3f,0x50, + 0xaf,0xa5,0x26,0x83,0x7,0x44,0x55,0xee,0xe8,0x4e,0xf6,0x2,0x85,0xab,0x15,0xa4, + 0xb,0x7e,0x7f,0x9,0xb0,0x2e,0x46,0xe3,0x11,0x49,0x71,0x93,0xf1,0x5f,0x79,0x74, + 0x29,0x1a,0x7d,0x8d,0x2e,0x6c,0x52,0xa,0xca,0x81,0xd6,0xf1,0xa6,0xf5,0xb4,0x5b, + 0x90,0x9d,0x95,0x84,0xfa,0xe6,0x4,0xa9,0x33,0x56,0x3b,0xe6,0xe8,0xd6,0x74,0x7c, + 0xe0,0x56,0xf3,0xf6,0x3c,0x1b,0xaa,0xad,0x69,0x4b,0xe8,0xb8,0x5a,0x18,0x87,0x4f, + 0xd0,0x7b,0xe8,0xfe,0xf4,0x48,0x84,0x5f,0x82,0x14,0x5f,0xa7,0x88,0xee,0xdf,0x76, + 0x67,0xd7,0x31,0x51,0xac,0xc8,0x18,0xf8,0xd3,0xe4,0x83,0x1,0xf4,0xa6,0xbd,0x5e, + 0xef,0x6b,0x2f,0xfc,0xe9,0xf5,0xce,0xe2,0xe2,0x61,0xfb,0x41,0x15,0x22,0x96,0xb3, + 0xe9,0x7,0xe9,0xff,0x6a,0x29,0xd2,0x24,0xbc,0x1,0xa2,0x9d,0xe0,0x27,0xc4,0xad, + 0x10,0xbe,0xf5,0xa9,0xa5,0x0,0x24,0xd3,0xc2,0x53,0x4c,0x14,0xba,0xa9,0x95,0x13, + 0xa6,0x25,0x3d,0x60,0x66,0xce,0x58,0x1a,0x9c,0x5,0x57,0x94,0xa,0x89,0x16,0x63, + 0x12,0x42,0xfa,0x65,0x22,0x67,0x6,0x15,0x48,0x83,0x8a,0x5,0x26,0x2b,0x4e,0x96, + 0xa,0xca,0x84,0x32,0x61,0x9e,0xb8,0x36,0x4e,0x78,0xef,0x5a,0x12,0xa0,0x0,0x1b, + 0xed,0x43,0x17,0xbc,0x0,0x8e,0xcc,0xb6,0x7e,0xd,0xe9,0xc6,0x7,0x8b,0x99,0xc8, + 0x18,0x93,0xe8,0x9a,0x29,0x27,0xcb,0x8c,0x39,0xba,0x46,0x5a,0x53,0x7b,0xd8,0x1a, + 0x84,0x55,0x5c,0x51,0xb2,0xb6,0xce,0x82,0xa3,0xb5,0x0,0xb2,0xf7,0x50,0x33,0x43, + 0xa2,0x13,0x4e,0x1b,0x69,0x5b,0x64,0xc1,0x12,0xda,0x8,0x59,0x24,0x2a,0x89,0xa, + 0xc0,0x45,0x98,0x86,0xfa,0x13,0x25,0xfb,0x16,0xe9,0x92,0x92,0x59,0x6b,0xe7,0xb5, + 0x6a,0x6f,0xb9,0x6b,0x9,0x4e,0x2f,0x26,0xe0,0x21,0x8d,0x29,0x23,0xb4,0xd4,0xe8, + 0xd7,0x2a,0x95,0x65,0x52,0x49,0x6c,0x61,0xd4,0x2d,0x31,0x57,0xab,0x2c,0x8d,0x58, + 0x58,0x8f,0x16,0x98,0x6a,0x91,0x3b,0x13,0x34,0x75,0x25,0x83,0xc5,0xce,0x30,0xef, + 0xd0,0x3,0x6e,0x81,0x93,0xb0,0xe8,0xeb,0x22,0x91,0x6e,0xc3,0xfd,0xd4,0xe2,0x26, + 0xa3,0x57,0xe,0x9b,0x52,0x32,0x57,0x19,0x59,0x2f,0x69,0x1d,0x80,0xb4,0xa4,0x40, + 0x3,0x48,0x94,0x99,0xe7,0x9a,0xcd,0xef,0xee,0x2f,0xa6,0xf2,0x57,0x2a,0xcc,0xa5, + 0x33,0xc,0x84,0x48,0x17,0x28,0x2b,0x83,0x29,0xa4,0x8a,0x5d,0xc6,0x85,0x47,0x21, + 0x8a,0x44,0xa3,0x1b,0x26,0x1d,0x57,0x2d,0x1,0xa4,0x25,0x3,0x8d,0xb6,0x3b,0x8e, + 0x8e,0x7c,0x28,0xf0,0x83,0x0,0x53,0x64,0x1e,0x13,0x94,0xa8,0x35,0xaa,0xb2,0x96, + 0x10,0x17,0xd9,0xa2,0x5a,0x97,0x29,0x6a,0x57,0xd2,0xa4,0xb,0x2c,0x3f,0x10,0x3a, + 0xea,0xb4,0x14,0x96,0x66,0x38,0x91,0x12,0xb4,0x71,0x4e,0x18,0x6a,0x1a,0x82,0xc4, + 0xfa,0x45,0xb7,0xd2,0x94,0xf7,0xb5,0x44,0xa2,0x8b,0xe5,0xba,0x92,0x8c,0x57,0xb, + 0x97,0x3e,0x45,0x22,0x73,0x7a,0x1d,0x87,0xcd,0x2d,0x5c,0xdd,0xa9,0xad,0xf4,0x66, + 0x59,0xac,0x43,0x32,0xdc,0xff,0x8e,0x7,0xa3,0xb,0x70,0xcf,0x7c,0xb2,0x4c,0xd, + 0x5f,0x86,0x3,0xfc,0xb9,0x50,0xcb,0xb4,0x7e,0x17,0xb2,0xc3,0x64,0xd2,0x7d,0x8c, + 0xd9,0x45,0x48,0x9d,0x8b,0x93,0x17,0xdb,0x78,0x46,0xcc,0x89,0xaf,0x52,0xec,0x28, + 0xcd,0x4a,0x14,0x9b,0xcf,0x0,0x23,0x6b,0x1a,0x79,0xec,0xb5,0x57,0x9f,0xe2,0x7c, + 0x4e,0xb7,0x4a,0x5b,0xac,0xa1,0x36,0x66,0x8,0x64,0x6a,0x9c,0x7a,0xca,0x4c,0x94, + 0xde,0xce,0x4c,0x92,0x8,0x63,0x87,0xf9,0x61,0xfd,0x7e,0x68,0xe5,0xe4,0x8f,0x1b, + 0x51,0xbf,0xd4,0x26,0x81,0xba,0xd0,0xa7,0x0,0x9c,0x3f,0xe5,0x6a,0xe4,0xa8,0xa, + 0x32,0x0,0x48,0xf4,0x86,0xe,0x69,0x69,0x25,0x12,0x5a,0x8a,0xa2,0xdf,0x90,0x66, + 0x95,0xb5,0xc,0x94,0x6d,0xb1,0xe,0xd1,0x73,0xee,0xc9,0x25,0xd2,0x7b,0x6f,0xa4, + 0x6a,0xd1,0x45,0xdb,0x14,0xb9,0x23,0xdb,0xc8,0x75,0x5c,0xd0,0xda,0x96,0x99,0x90, + 0x4a,0x53,0x1a,0x6a,0x11,0x2,0x8b,0x82,0x78,0xa4,0xcc,0xac,0x53,0xc6,0xf1,0x90, + 0xea,0xc9,0x4,0xce,0x5b,0x3a,0x58,0xec,0x34,0xb8,0x8,0xd9,0x33,0xc1,0xfe,0x40, + 0xd3,0xa6,0xa8,0x71,0x95,0xf6,0x9,0x6d,0x5b,0xac,0x94,0x72,0xaa,0x43,0x35,0xda, + 0x29,0x16,0xd2,0xc2,0x41,0xb5,0x6b,0xf9,0x4c,0x2b,0xcb,0x96,0x6d,0x13,0x87,0xa1, + 0x45,0xbd,0x4a,0xf5,0x19,0xd6,0x6e,0x18,0x20,0xa7,0x37,0x67,0xd1,0xb9,0x82,0x3, + 0xcf,0x11,0x6,0x52,0x3d,0x9d,0x55,0x83,0x70,0x34,0x25,0x29,0x82,0x81,0x80,0x11, + 0x7a,0xf9,0xed,0x13,0x71,0x22,0x45,0xf1,0x8e,0x76,0x91,0xc4,0xc0,0x34,0xc1,0xb2, + 0x24,0xc6,0x65,0x43,0x35,0x64,0x65,0x96,0xc4,0x16,0xc0,0x93,0x3d,0x38,0x80,0x27, + 0xbe,0x1d,0x30,0x59,0xa5,0xa1,0x5f,0xdc,0x68,0x1e,0x30,0x1,0xc3,0x94,0xd6,0xb, + 0x45,0x89,0xce,0x7a,0x1a,0x0,0x18,0x2b,0xf1,0x5d,0x6c,0x89,0x24,0x67,0x3b,0x49, + 0x3,0x15,0x3a,0xf3,0xe0,0x5f,0xf4,0x70,0x91,0xf6,0x89,0x18,0x8d,0x4,0x7,0x17, + 0x36,0x2e,0x49,0x1,0xae,0xe0,0x6b,0xa1,0x42,0x65,0x9,0x63,0x81,0x6d,0x8,0x70, + 0xc9,0x79,0xcb,0x8c,0xce,0x18,0xa8,0x3f,0x0,0xf,0xe0,0x20,0xd5,0x2e,0xfa,0x18, + 0x78,0xba,0xc2,0xb3,0xd8,0x6e,0x35,0x58,0xc,0xad,0x10,0x1a,0x9d,0xe3,0x46,0x18, + 0x3,0x32,0x30,0x9e,0x4c,0xa6,0x3a,0x41,0x2e,0x5f,0xd3,0x5b,0xa8,0xd2,0xe5,0x2d, + 0x34,0xb9,0x15,0x87,0x5d,0x78,0xfe,0xaf,0x17,0xb1,0x80,0x3,0x17,0x9f,0xae,0xb9, + 0xf8,0xb4,0xc5,0xb6,0x2d,0x85,0x7a,0xa6,0x15,0x8,0x9a,0x67,0x56,0xd3,0x76,0xcc, + 0xe9,0xe2,0x7f,0xcc,0xa4,0x9c,0xd3,0xbc,0xb,0x94,0x19,0xa5,0x62,0xda,0x30,0xd3, + 0xd2,0xb4,0xe9,0xb8,0x85,0x33,0xe5,0x3c,0x11,0x37,0x29,0x55,0xb4,0xc,0x4,0xbd, + 0x35,0xc0,0x9b,0x39,0xc5,0x2f,0x13,0x69,0xd3,0x3,0xed,0x13,0xc9,0x38,0x6c,0xd5, + 0x92,0x7b,0xac,0x60,0x1e,0xf6,0x13,0xec,0xdb,0xa1,0x15,0xf,0x6e,0x49,0x49,0xca, + 0xe3,0xd7,0xc5,0xdd,0x29,0xd2,0x20,0xe4,0xa0,0x69,0xad,0xca,0xa9,0xd8,0x44,0x41, + 0x63,0x58,0xe2,0xa1,0x42,0x89,0x4e,0xd2,0xea,0xa7,0x4,0x1b,0x68,0x50,0x61,0xa3, + 0x52,0x73,0x96,0xb0,0x4c,0xa4,0x75,0x67,0x44,0xd8,0x54,0x25,0xc5,0x5d,0x80,0x4a, + 0xc3,0x68,0x20,0x9a,0xa,0xe3,0x43,0x2b,0xd8,0xb4,0x8d,0x8e,0x6,0x9d,0x82,0x67, + 0x23,0xcd,0xe9,0x8a,0x34,0xd7,0x20,0xb5,0xd9,0x6f,0x8b,0xda,0x88,0x9d,0x60,0x2a, + 0x88,0x23,0x50,0x88,0x8b,0x32,0xa6,0x60,0x27,0x90,0x9d,0xe2,0x54,0x62,0x27,0xa, + 0x8c,0xc5,0xb6,0xe7,0x2e,0x29,0xe,0x52,0x1a,0xf8,0x9,0xe7,0xe0,0xfe,0x81,0x41, + 0x79,0x12,0x1,0x89,0xde,0xa2,0x54,0x30,0x44,0x70,0xb0,0xb9,0x3c,0xe7,0x88,0x31, + 0xf1,0x39,0xd7,0x66,0x90,0x7f,0x21,0xe0,0x84,0x76,0x40,0x82,0x81,0x64,0xe8,0x8c, + 0x5,0x12,0x5a,0xd4,0xa3,0x22,0x2d,0xf0,0x23,0xd,0x59,0xba,0x94,0xa,0x8e,0x19, + 0x6e,0x3,0x77,0xa1,0x46,0x88,0xd,0xc6,0x10,0x6f,0x25,0x59,0x90,0x34,0x1b,0x46, + 0x94,0xc2,0xb9,0x99,0x73,0xdc,0x65,0x2a,0xcf,0x1c,0xf1,0x35,0xb5,0xe0,0xb8,0x10, + 0x7c,0x8d,0xf,0x23,0x82,0x94,0xad,0xf4,0xbc,0x1d,0x2b,0xa4,0x8d,0x47,0x9e,0xc0, + 0x68,0x23,0xc9,0xd9,0xd3,0x93,0x9c,0xdf,0x44,0x72,0x31,0x5d,0xbc,0x10,0x7a,0x33, + 0xb4,0xc1,0xa,0x6c,0x1d,0x81,0x49,0xd0,0x1b,0x38,0x5c,0xe0,0x45,0xcc,0x40,0x1a, + 0x13,0x32,0x4a,0x75,0xd0,0x2,0xa5,0xf6,0x2c,0xcc,0xa4,0x95,0xf8,0x1,0x23,0x93, + 0xe4,0x5,0xa8,0x3,0x61,0x71,0xe9,0x1d,0xf6,0x5c,0x62,0x6f,0x98,0x39,0x85,0x79, + 0x6c,0x93,0x34,0xe,0x3e,0x17,0x8,0xc6,0xd1,0xdc,0x42,0x95,0xa0,0x4d,0xd,0x7c, + 0x9,0x3b,0xa6,0x6a,0x91,0xdc,0xe,0xc1,0x9c,0x99,0x36,0xd1,0x32,0x24,0x6f,0x94, + 0x34,0x10,0x69,0xa0,0x5a,0xd8,0x28,0xe9,0x13,0x64,0x11,0x49,0x97,0x50,0xc5,0x89, + 0xb4,0x1f,0x42,0xe,0x6,0x11,0x38,0xba,0xe8,0xc0,0x2a,0x45,0x2,0xf,0xb8,0x13, + 0x94,0x18,0x8e,0x36,0xf0,0x7f,0x68,0x15,0x73,0xfe,0x6,0x2e,0xa0,0x28,0x80,0x39, + 0x6c,0xb2,0x8a,0xc4,0x7b,0xe2,0x98,0x2c,0xc8,0x32,0x36,0xc,0x87,0x5e,0xd9,0xa0, + 0xd0,0xc,0x38,0xba,0xb7,0xb,0x8e,0x39,0x1f,0x76,0xa,0xa0,0x8d,0xc4,0xe6,0x4f, + 0x4e,0x6c,0x9e,0x7f,0x43,0xc4,0x26,0xc8,0xb1,0x5,0x34,0xe4,0x17,0xc,0xa2,0x60, + 0x25,0xe0,0x6c,0x10,0xb1,0xa2,0x54,0x62,0x25,0x10,0xf7,0x2,0xad,0x19,0x4c,0xbc, + 0xc,0x9c,0x4,0x73,0x28,0x78,0x98,0x46,0x26,0x31,0x12,0x3b,0xe7,0x24,0xd0,0xb8, + 0xa0,0x46,0x10,0xb1,0x59,0x8b,0x9d,0xcf,0xce,0x39,0x49,0x78,0x31,0x81,0x2,0x71, + 0x30,0x54,0x4,0x36,0x40,0xcd,0x70,0xe7,0x40,0xa2,0x24,0x20,0x2a,0xe,0x42,0xb6, + 0xd4,0x21,0x6d,0x49,0x38,0x8d,0xd2,0xf0,0xb4,0x81,0xae,0x1d,0x14,0xd5,0xa8,0xa4, + 0xd,0xc2,0x56,0x90,0x3f,0xa1,0x34,0x42,0x3b,0xb5,0x81,0x3,0x7b,0xe8,0x85,0xe, + 0x6d,0x2b,0xc,0x80,0xcd,0x7b,0x44,0x1b,0xb9,0x93,0x36,0xec,0xee,0x20,0x7e,0x21, + 0xfd,0x9c,0xdb,0xa,0x8c,0xc2,0x4,0x49,0x8f,0x3c,0xb,0xa8,0x46,0xa8,0x95,0x20, + 0xbb,0x78,0xd8,0x9,0x80,0x36,0x11,0x9b,0xe1,0x7b,0x10,0x5b,0xa1,0xbd,0xad,0x3e, + 0x94,0xed,0x5a,0xa5,0x97,0xec,0xec,0x65,0xd7,0x82,0x34,0x83,0x6e,0x9b,0x85,0xbb, + 0x88,0xa0,0x63,0x69,0xe8,0x76,0xd0,0xf7,0xc2,0x6b,0x6e,0x3c,0x74,0xfc,0xc8,0xa0, + 0x55,0xa6,0xfc,0xea,0x4a,0x72,0xf8,0x3a,0xb9,0x1b,0xe6,0x17,0xf9,0x97,0x1c,0x23, + 0xee,0x47,0x6a,0xb3,0x4b,0xa8,0xcd,0x9a,0x29,0x92,0xb8,0x4a,0x6a,0x33,0x46,0x76, + 0x31,0x19,0xdf,0x8d,0xfa,0x1b,0x56,0xc3,0x4d,0x77,0xf2,0x57,0x3e,0x99,0x37,0x3f, + 0xff,0xdc,0x99,0xce,0xba,0x93,0x59,0x29,0xe5,0x66,0xd0,0x2f,0x7d,0xcf,0x47,0xfd, + 0xd2,0xa,0x69,0x48,0x13,0xff,0xe9,0xcb,0x60,0x3a,0xf8,0x3c,0x18,0xd2,0x97,0xf0, + 0x71,0x98,0xff,0xd4,0x1f,0x4c,0x6f,0x87,0xa8,0x64,0x30,0xa2,0x8e,0xff,0x34,0xfe, + 0x92,0x4f,0x2e,0x87,0xe3,0xfb,0x65,0x7e,0x44,0x1d,0x73,0x4d,0xd2,0x91,0x78,0x86, + 0x15,0xd0,0x9e,0x7b,0x3,0x41,0x29,0x9b,0xdb,0x4e,0xb0,0x4e,0x5c,0x20,0x38,0x32, + 0x82,0x41,0x95,0x44,0x92,0x35,0x1a,0xc2,0x6d,0x20,0x60,0x11,0xc8,0x7a,0x95,0x6, + 0x3e,0x4e,0xca,0x15,0x38,0xfd,0xa7,0x28,0x95,0xfc,0xa6,0x28,0x6c,0xcd,0xac,0x2a, + 0x4,0x33,0xe5,0x9a,0x5e,0xde,0x1b,0xb5,0x8c,0x25,0x28,0x88,0x6d,0xcb,0x35,0xe5, + 0x9e,0xc8,0x0,0x2,0x4e,0x1c,0xcb,0xbe,0xc1,0x36,0x18,0xd3,0xf2,0x56,0xf3,0x3, + 0x56,0x99,0xa2,0xcd,0x65,0x69,0x5f,0x95,0x1e,0x32,0x8a,0x6b,0x77,0xa4,0xa5,0x4d, + 0x4b,0xd2,0xab,0x9a,0x33,0x48,0xba,0xe4,0x26,0x50,0x32,0x35,0xec,0x22,0xf9,0xa5, + 0x35,0x82,0xce,0x38,0x22,0x16,0x7e,0xb5,0xbe,0x48,0xaf,0x4,0x14,0xc9,0xf2,0xd2, + 0x5d,0xab,0xfa,0x57,0x32,0x2f,0xb7,0xca,0x65,0x9e,0x8e,0x3,0x32,0x37,0xb6,0x53, + 0xa7,0x65,0xde,0x9,0x56,0x2b,0x7a,0x3b,0xa8,0x30,0x8e,0xbe,0x81,0xd1,0x68,0x68, + 0xf3,0x32,0x64,0x29,0xe8,0x94,0xd8,0x22,0x35,0xa7,0x2f,0x50,0x86,0xa5,0x6,0x8f, + 0xc,0x1b,0x33,0xd9,0xef,0x98,0xfa,0x31,0xea,0xed,0x7a,0x7f,0xd3,0xf8,0x29,0x5, + 0xad,0x58,0xae,0x22,0x2f,0x1,0x26,0x96,0xb1,0x27,0xe5,0x14,0x9b,0x3b,0x89,0x98, + 0x34,0xaf,0xa8,0xfd,0xc7,0xb3,0x72,0x65,0x73,0x46,0x42,0x97,0x6f,0xfd,0x5c,0xca, + 0x78,0xb2,0xcf,0x95,0xe6,0x79,0x7e,0x44,0xd7,0x9d,0xf4,0xce,0x9e,0x14,0xa9,0xba, + 0x1d,0x4a,0xec,0xa,0xdb,0xb6,0xc3,0x27,0x35,0x17,0xb4,0xb7,0x3a,0xd7,0x49,0xf4, + 0x6c,0x7e,0x76,0x46,0x56,0x59,0x26,0xcd,0x96,0x62,0xe1,0xed,0x66,0xb4,0x1f,0x59, + 0xbb,0xa5,0xb6,0x9,0x45,0x81,0x32,0xda,0x1a,0xd6,0xe8,0xa3,0x5c,0xea,0x71,0x4b, + 0xa9,0xb0,0x9e,0x65,0xe8,0x11,0x84,0xf0,0x76,0xd1,0x68,0xeb,0x3f,0x5a,0xcb,0x67, + 0xda,0xcb,0xf,0x2d,0xd6,0xe2,0xf4,0x4b,0xa5,0xb9,0xa6,0x45,0x5d,0xa1,0x74,0xaa, + 0xee,0xaf,0x4f,0xba,0x91,0xb0,0xf9,0x1d,0xf8,0xf2,0xd9,0x58,0x2a,0x6a,0x90,0x62, + 0xd0,0x1,0x30,0x17,0xe3,0xac,0xd9,0x46,0x3a,0x6a,0x5f,0xd2,0xd9,0x32,0x8d,0xef, + 0xa4,0x53,0x95,0x74,0xc8,0x2,0xc,0x59,0x69,0x41,0x39,0x90,0xe6,0x25,0xb1,0x9e, + 0xe8,0x53,0x91,0xed,0x39,0x9d,0x47,0x91,0x3c,0xf,0x71,0x89,0x11,0x9,0x89,0x23, + 0x52,0x8e,0x26,0x73,0x28,0xa4,0xbd,0xcd,0x32,0xb8,0x65,0xfb,0x32,0x1d,0xaf,0x4f, + 0x49,0x39,0x16,0x22,0x28,0xd9,0x1d,0xc5,0x76,0xd2,0xb1,0x9e,0x24,0x4f,0xab,0xd2, + 0xa4,0x23,0x90,0x4d,0xbb,0x8c,0x2a,0x11,0x43,0x51,0x75,0x7b,0xf9,0xf4,0x92,0x76, + 0x48,0xd3,0x97,0x48,0xa8,0x56,0x3c,0x55,0xfb,0xe9,0xf9,0x4e,0x74,0xc4,0x51,0x3e, + 0xef,0x58,0x13,0x9e,0xc3,0x9f,0xf,0x74,0x14,0xfe,0xf3,0x77,0xff,0xf,0x32,0xf2, + 0xce,0xfd, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_volume.svg + 0x0,0x0,0x12,0x70, + 0x0, + 0x0,0x99,0x75,0x78,0x9c,0xed,0x5d,0x5d,0x73,0xe3,0x36,0x96,0x7d,0xcf,0xaf,0xd0, + 0x3a,0x2f,0xe9,0x5a,0x91,0xc2,0xf7,0x87,0xa7,0x3b,0x53,0x5b,0x49,0x65,0x6a,0xaa, + 0x66,0x6a,0xa6,0x36,0x49,0xed,0x63,0x8a,0x16,0x29,0x59,0x1b,0x59,0xd4,0x4a,0x74, + 0xdb,0xce,0xaf,0xdf,0x3,0x4a,0xa2,0x48,0x9,0x32,0x29,0x58,0x52,0x77,0xba,0x65, + 0x77,0x97,0x25,0x10,0xc0,0x5,0x2e,0xe,0xee,0xbd,0x7,0x0,0xc9,0xf7,0x7f,0x7d, + 0x7e,0x98,0xf6,0x3e,0x66,0x8b,0xe5,0x24,0x9f,0x7d,0xb8,0xa1,0x31,0xb9,0xe9,0x65, + 0xb3,0x61,0x9e,0x4e,0x66,0xe3,0xf,0x37,0xbf,0xfe,0xf2,0x53,0x64,0x6e,0x7a,0xcb, + 0x22,0x99,0xa5,0xc9,0x34,0x9f,0x65,0x1f,0x6e,0x66,0xf9,0xcd,0x5f,0xbf,0xff,0xe6, + 0xfd,0x7f,0x44,0x51,0xef,0x87,0x45,0x96,0x14,0x59,0xda,0x7b,0x9a,0x14,0xf7,0xbd, + 0xbf,0xcf,0x7e,0x5f,0xe,0x93,0x79,0xd6,0xfb,0xee,0xbe,0x28,0xe6,0xb7,0x83,0xc1, + 0xd3,0xd3,0x53,0x3c,0x59,0x27,0xc6,0xf9,0x62,0x3c,0x78,0xd7,0x8b,0x22,0x94,0x5c, + 0x7e,0x1c,0x7f,0xd3,0xeb,0xf5,0x20,0x76,0xb6,0xbc,0x4d,0x87,0x1f,0x6e,0xd6,0xf9, + 0xe7,0x8f,0x8b,0x69,0x99,0x2f,0x1d,0xe,0xb2,0x69,0xf6,0x90,0xcd,0x8a,0xe5,0x80, + 0xc6,0x74,0x70,0xb3,0xcd,0x3e,0xdc,0x66,0x1f,0x3a,0xe1,0x93,0x8f,0xd9,0x30,0x7f, + 0x78,0xc8,0x67,0xcb,0xb2,0xe4,0x6c,0xf9,0x6d,0x2d,0xf3,0x22,0x1d,0x55,0xb9,0x5d, + 0x63,0x9e,0x78,0x99,0x89,0x5a,0x6b,0x7,0x84,0xd,0x18,0x8b,0x90,0x23,0x5a,0xbe, + 0xcc,0x8a,0xe4,0x39,0x6a,0x16,0x45,0x1b,0x7d,0x45,0x19,0x21,0x64,0x80,0x6b,0xdb, + 0x9c,0xdd,0x72,0xdd,0x3e,0x4f,0xa1,0x89,0x83,0x8d,0x29,0xaf,0xd6,0xa5,0x43,0xfb, + 0x73,0xfc,0xaf,0xa,0x6c,0x12,0xe2,0x65,0xfe,0xb8,0x18,0x66,0x23,0x94,0xcc,0xe2, + 0x59,0x56,0xc,0x7e,0xfc,0xe5,0xc7,0xea,0x62,0x44,0xe2,0xb4,0x48,0x6b,0xd5,0x6c, + 0x94,0xdf,0x90,0xdb,0x18,0x91,0x59,0xf2,0x90,0x2d,0xe7,0xc9,0x30,0x5b,0xe,0x36, + 0xe9,0x65,0xf9,0xa7,0x49,0x5a,0xdc,0x3,0xc,0xaa,0xfc,0x76,0x9f,0x4d,0xc6,0xf7, + 0x45,0xf5,0x75,0x92,0x7e,0xb8,0x41,0xef,0x58,0xf9,0x65,0x23,0xfc,0xb6,0x42,0x10, + 0x89,0xf9,0xea,0xd2,0xa6,0xc6,0xfa,0x25,0xb1,0xaa,0xa2,0x1,0xb7,0x46,0x35,0x69, + 0x3e,0xbc,0x4b,0x96,0x68,0xf2,0xe0,0x3e,0x7f,0xc8,0xa2,0x69,0x3e,0x4c,0xa6,0x83, + 0xf9,0xf4,0x2e,0x4b,0x1e,0xd3,0x7c,0x32,0x1b,0xfc,0xfc,0xd3,0x3f,0xfe,0x7d,0xf, + 0x1c,0xe,0x96,0xa3,0xe9,0xbc,0xf1,0x21,0x1a,0x17,0xbf,0xf,0xe6,0x93,0xe7,0x87, + 0x64,0xbe,0xdc,0xab,0xd3,0x75,0xf4,0xc3,0xcd,0x64,0x98,0xcf,0x7e,0xfb,0x98,0x4f, + 0x1f,0x1f,0xb2,0x78,0x33,0x3e,0x55,0x2b,0xf3,0xc7,0x62,0xfe,0x58,0xfc,0x96,0x3d, + 0x17,0xd9,0x6c,0xd5,0x38,0x68,0xa8,0xa6,0xae,0xf2,0xb2,0x2b,0x56,0xa5,0xdd,0x7c, + 0x8f,0xa,0xde,0x57,0x62,0x9c,0x8c,0xf4,0xe3,0x24,0x7b,0x72,0xd5,0xae,0xd4,0xe4, + 0xba,0x72,0xb3,0xfa,0x3a,0x4f,0xc6,0x80,0xea,0x34,0x5f,0x7c,0xb8,0xf9,0x76,0x54, + 0xfe,0xac,0x2f,0xdc,0xe5,0x8b,0x34,0x5b,0x6c,0x2e,0xa9,0xf2,0xa7,0x71,0x29,0xc7, + 0x0,0x4d,0x8a,0x97,0xad,0xb2,0x6a,0x8d,0x76,0xb5,0x56,0xd7,0x89,0xff,0xfa,0xf2, + 0x3e,0x49,0xf3,0xa7,0xf,0x37,0x6c,0xf7,0xe2,0x1f,0x79,0xfe,0x80,0x5a,0x69,0xcc, + 0x29,0xd7,0xc4,0xec,0x5e,0x1e,0x3e,0xa3,0xc,0x89,0x15,0x97,0x9a,0xd8,0xbd,0x8b, + 0x90,0xc7,0x63,0xaa,0x14,0xb0,0xae,0x77,0x2f,0x42,0xe1,0x8f,0x6e,0xfa,0x46,0x8f, + 0xb3,0x49,0x81,0x29,0x32,0x7f,0xde,0x2b,0xfe,0xb8,0x58,0xb8,0xc,0xd3,0xe4,0x25, + 0x43,0xb7,0xc7,0x52,0xf0,0x4d,0xdb,0x2b,0xec,0x55,0xa5,0xb6,0xf8,0xab,0x92,0x96, + 0xf7,0xf9,0xd3,0xf8,0x71,0x92,0x66,0xa8,0xbd,0x58,0x3c,0x66,0xbb,0xf5,0x97,0xd7, + 0xa2,0xbb,0xbb,0xfc,0xd9,0x7f,0xfd,0x69,0x32,0x83,0x4e,0xa2,0x8d,0x2c,0x42,0xc5, + 0x81,0x1c,0x1b,0xd9,0x9a,0xed,0xa9,0x6f,0x9d,0x3,0x12,0x38,0x57,0x7,0x2e,0xbe, + 0x38,0x15,0xda,0x7a,0xa3,0x17,0xe,0x17,0xa3,0x64,0xba,0x5c,0xc1,0xa7,0xe,0xa0, + 0xb2,0xd1,0xab,0xac,0x2b,0xf8,0x94,0x9,0x9c,0x8a,0x4d,0xed,0x40,0x51,0xbe,0x9c, + 0x14,0x25,0x38,0x99,0x88,0xd,0xa3,0x82,0x99,0xea,0x5a,0xbe,0x98,0x40,0xa5,0xc9, + 0xea,0x32,0x66,0x58,0x31,0xc1,0xdc,0xb9,0xe9,0xd,0x4a,0x94,0xe,0xf6,0x61,0x5a, + 0xa6,0xa7,0xd9,0x68,0xb9,0xc5,0xab,0xfb,0x26,0x36,0xed,0x82,0x51,0xca,0x92,0xc5, + 0xdf,0x16,0x49,0xea,0xea,0xad,0xb7,0xab,0x79,0x85,0xb,0x22,0xaa,0x46,0x6c,0x47, + 0x38,0x9f,0x4e,0xb3,0x21,0x34,0x97,0x4c,0x9f,0x92,0x97,0xe5,0xba,0x52,0xd7,0xdd, + 0x22,0x9f,0x6f,0x72,0xaf,0x8d,0x9,0x52,0x50,0xc9,0xb6,0x97,0xe8,0xcb,0x68,0xb4, + 0xcc,0x50,0x98,0xd4,0xd2,0x96,0xc5,0xcb,0x34,0x5b,0xe5,0x8e,0xca,0xe9,0x72,0xfb, + 0xad,0x1e,0x6a,0xaa,0xe9,0x5f,0xca,0xa4,0xf5,0x34,0xb8,0xa5,0x7f,0x59,0xf7,0xf9, + 0x75,0x69,0xc6,0x23,0x8d,0x1e,0x2f,0x8d,0x6c,0xa5,0xbd,0x1f,0x34,0xf5,0xb2,0x4e, + 0x75,0xdf,0x92,0xe9,0xae,0x1a,0x1,0x7a,0x15,0x4b,0x23,0x2c,0xa7,0xb6,0x92,0x3a, + 0x2,0x5c,0x64,0xac,0x9,0xd3,0x52,0x6f,0x55,0x3a,0x2,0xc2,0x22,0x1e,0x4b,0x6d, + 0x35,0x33,0xdb,0x26,0xe,0xbd,0x99,0x87,0xfe,0xcc,0xe3,0xb5,0xf8,0x5f,0x16,0xc9, + 0x6c,0x9,0xf7,0x81,0x79,0xff,0x90,0x14,0x8b,0xc9,0xf3,0x77,0xb4,0x4f,0xdc,0x6f, + 0xcc,0x0,0x26,0xad,0x24,0x3e,0x8b,0x58,0x70,0xab,0x39,0x91,0xef,0xf6,0x8a,0xff, + 0xba,0x9a,0xcf,0x8f,0xcb,0x6c,0xf1,0xb3,0x73,0x1b,0xff,0x9a,0xfd,0x5a,0x19,0xb8, + 0x95,0x76,0x9b,0xbd,0x95,0x42,0x6c,0x47,0xb0,0xf4,0x72,0xb7,0xf7,0x8b,0xc,0x5e, + 0xf9,0xdb,0x10,0x8,0x55,0x8a,0x3e,0xa8,0x52,0x1e,0x6b,0xc3,0xac,0x95,0xba,0xa1, + 0x52,0x28,0x9a,0xeb,0x3d,0x95,0xca,0x18,0xad,0x53,0x52,0xf2,0x86,0x46,0xf7,0xf3, + 0xe,0xbd,0x79,0x97,0x73,0x84,0x1f,0xe9,0x3f,0xb3,0xe2,0x3e,0x47,0xaf,0xe7,0x49, + 0xda,0x41,0xd5,0xb0,0xa5,0x30,0xa5,0x4a,0x70,0xa8,0x5b,0x30,0xc2,0x31,0x42,0x7d, + 0x38,0x6d,0x49,0xd,0x17,0xc,0x9a,0x8f,0xd,0xc,0x91,0x55,0x7d,0x19,0x33,0x4b, + 0x98,0xd4,0xba,0x1f,0xc1,0xe4,0x1b,0x6b,0x99,0xd5,0xa7,0x18,0xb,0x6e,0x3a,0x8d, + 0x5,0x7c,0xc1,0x11,0x63,0xe1,0xb7,0x12,0x2f,0xcc,0x29,0x8d,0x51,0x23,0xd,0x65, + 0x5b,0xa9,0xcc,0x39,0x29,0xab,0x4d,0xc3,0x6e,0xbd,0x50,0x37,0x70,0xa,0x18,0xd0, + 0x66,0xab,0xe0,0x67,0xea,0xc,0x7e,0xc,0x2d,0x71,0xc3,0x3a,0x29,0x57,0x1b,0x65, + 0x39,0x13,0xfd,0xed,0xa7,0xc8,0x9b,0xc8,0x30,0xc4,0x54,0x73,0x21,0x4b,0xf5,0x12, + 0xa3,0x94,0x60,0x21,0xea,0x6d,0xf6,0x1c,0xea,0x55,0xdd,0xd4,0xab,0xd8,0x49,0xd4, + 0xb,0xbf,0xd,0x45,0x32,0xd9,0xd0,0x2e,0x8f,0x1b,0x49,0x4e,0xb5,0x2,0xee,0xbd, + 0x9e,0xb,0x49,0xac,0x99,0xe4,0x51,0x6a,0xe1,0x3e,0x4e,0x11,0xdc,0x7f,0x47,0xfa, + 0x26,0xe6,0xc2,0x5a,0x2e,0xb2,0xe8,0x4,0x6a,0xe2,0x82,0xd3,0x8b,0xa1,0xd0,0x27, + 0x9e,0xea,0xf6,0x6a,0x5b,0xbd,0x47,0xcd,0x66,0x77,0xf6,0x55,0x22,0x15,0x4c,0xb0, + 0x10,0x5f,0xc5,0xa8,0x47,0x5a,0x8b,0xaf,0xf2,0x49,0x6b,0xf7,0x55,0x87,0xd1,0xc6, + 0x62,0xc6,0x8d,0x22,0x4a,0x37,0xe0,0x26,0x62,0x66,0x60,0x56,0x88,0x6d,0x20,0x8e, + 0xc2,0x5c,0x4a,0xb6,0x83,0x39,0x83,0xa,0xe0,0xef,0xf4,0x3e,0xec,0x8e,0x87,0x10, + 0xb3,0x9d,0x20,0xd4,0x69,0xac,0x8f,0x86,0x10,0x13,0x9c,0xbf,0x19,0x42,0xa8,0x44, + 0x1e,0xf,0x21,0xaa,0x47,0x23,0xaa,0x8f,0x87,0x10,0xa4,0xe9,0xe3,0x21,0xe4,0x93, + 0x16,0xa,0xa1,0x6e,0x63,0x5d,0x9a,0x35,0x15,0x6b,0x6e,0xf1,0xdb,0xb4,0x6b,0x30, + 0xda,0x70,0xed,0x3b,0x5e,0x3,0xf6,0xdd,0xc0,0x80,0xb,0x23,0xc5,0x8e,0x7d,0xb3, + 0xf0,0xb4,0x52,0xbe,0x2,0x22,0xa8,0xa4,0x13,0x88,0xba,0x8d,0x76,0xa5,0x93,0x2d, + 0xf1,0x2,0xc3,0x9d,0x23,0xcb,0xe4,0x63,0x23,0xa2,0xaf,0x25,0xc3,0x5,0x7a,0x6a, + 0x2e,0x33,0xf0,0x34,0x42,0x30,0x3f,0x9e,0x20,0x8e,0x37,0xbd,0xdb,0x9e,0x8c,0xf9, + 0xea,0x7,0x9f,0xe9,0x7e,0x91,0x8f,0xf3,0xdf,0xfe,0x70,0x7a,0xc3,0x55,0x73,0x30, + 0x87,0xa3,0x87,0xee,0x22,0xe8,0x1a,0xfe,0x78,0x4c,0x2b,0xf2,0x3c,0xaf,0xf2,0x34, + 0x2b,0xa9,0x78,0x43,0xf1,0xe2,0x56,0x12,0x76,0x1b,0x1a,0x60,0x82,0x9d,0x65,0x6f, + 0xb3,0x79,0x88,0x8d,0x8e,0x9f,0x1e,0x2b,0x5a,0x1d,0x60,0x61,0x79,0x2d,0xdc,0xeb, + 0x3c,0x3d,0x86,0x76,0xc8,0x86,0x87,0xed,0xf9,0x51,0xd3,0xc3,0xa7,0x25,0x84,0x9, + 0xad,0xed,0x56,0xbe,0x76,0x9f,0xcb,0xf,0x71,0xe5,0x63,0x68,0x2d,0x5a,0x6a,0x19, + 0x93,0x37,0x6a,0x9,0xb4,0x41,0xb6,0x69,0x9,0x79,0x7c,0xc6,0x2f,0x0,0x4b,0xa4, + 0x5d,0x49,0x10,0xe6,0xb,0xd,0x42,0x94,0x74,0x32,0x1d,0x31,0x65,0x5b,0x75,0xc4, + 0xb4,0x2f,0xc6,0x68,0xd1,0x91,0x12,0xa3,0x4c,0x4,0xb8,0x23,0x48,0xe3,0xc7,0x2b, + 0xc9,0x27,0x2d,0xd4,0x1d,0x79,0xb4,0x4,0x12,0x76,0x48,0x4b,0xdd,0xbb,0xfe,0xba, + 0xa,0xab,0xfe,0x83,0x16,0x1d,0xd6,0x92,0x47,0x1a,0xd3,0x23,0x49,0x48,0x7,0x69, + 0xd4,0x2f,0x4d,0x9f,0x4e,0x4b,0x8,0x0,0xdb,0x46,0x97,0xaa,0x80,0xe8,0xd8,0x85, + 0x1a,0x2c,0xd,0xc0,0x12,0xf5,0x22,0xb7,0x6d,0xc2,0x61,0xf0,0xa4,0x3d,0x6d,0x68, + 0xe3,0xa3,0xa4,0x46,0x4b,0xe2,0x98,0x7d,0xb9,0xc2,0xb2,0xf9,0x12,0x2b,0xa5,0x34, + 0x71,0x8b,0x0,0x54,0x6b,0x4b,0x8e,0xa6,0xf6,0x65,0x38,0x8e,0x78,0x8,0x14,0x8e, + 0x34,0xd9,0x1f,0xd3,0xb1,0x54,0x3b,0xf4,0xf,0xe1,0x14,0x33,0x46,0xd3,0x3d,0x66, + 0x6d,0x98,0xd2,0x76,0x6b,0xd1,0x3d,0x21,0x12,0x63,0xb5,0xb0,0xea,0x70,0x88,0x54, + 0x4e,0x9d,0x37,0xc7,0xd9,0x87,0xca,0x75,0x69,0x0,0xab,0x21,0x6e,0xbf,0x1f,0x94, + 0x1b,0x73,0xa4,0x8a,0xf,0x8f,0x69,0xb4,0x5a,0x2f,0xa3,0x7d,0x44,0xa4,0x4,0x3d, + 0x37,0x6e,0x3d,0xc1,0x28,0xa1,0xf9,0xbb,0x86,0x82,0x71,0x55,0x49,0xcc,0x3c,0xdd, + 0x18,0xc,0xca,0x62,0x8c,0x8f,0x25,0xcd,0x25,0x11,0x8c,0x5,0xd7,0xc6,0x58,0xdd, + 0x18,0x62,0xca,0x63,0xcb,0x8,0x91,0xfc,0xd3,0xaa,0x4e,0x9d,0xad,0x5b,0x6f,0x1e, + 0x92,0xda,0x22,0x45,0x8c,0x8e,0x50,0x59,0xe,0x86,0x56,0x8c,0x72,0xf5,0xee,0xac, + 0x5a,0x6b,0x20,0xde,0xa7,0xb5,0x26,0x1f,0x1,0x21,0x6,0x42,0x58,0x6d,0xe,0xbe, + 0x94,0xba,0xd4,0x4,0x53,0xb3,0x16,0x55,0x39,0xad,0x51,0x11,0x13,0xb4,0xbf,0xb6, + 0x56,0x57,0x6a,0x8d,0x80,0xff,0x28,0xcd,0xf6,0x57,0x74,0xfd,0x5a,0xfb,0xa4,0x9d, + 0x67,0x4d,0xc8,0x88,0x98,0x5b,0x5d,0x37,0x55,0x6b,0xc8,0x48,0x2e,0x35,0xdd,0x59, + 0xbe,0x72,0x7b,0x51,0x4a,0xef,0xf4,0x7d,0x2f,0xeb,0x9,0x10,0x3,0xea,0x68,0x85, + 0x26,0xb4,0x5c,0x81,0x35,0x46,0x52,0x6b,0x3e,0x31,0x64,0x48,0x13,0x32,0x31,0x21, + 0x2,0xa0,0x51,0xbb,0x5a,0x33,0x4c,0x9a,0x1d,0x72,0xac,0x31,0xa3,0x38,0xfe,0xc9, + 0x5d,0xb5,0xed,0xe4,0x3d,0x81,0xda,0x68,0xcc,0x14,0x4c,0x6,0x75,0x4b,0xa7,0xe0, + 0x92,0x5a,0xb2,0x76,0xad,0x79,0x3a,0xab,0xc5,0x11,0xb1,0xd6,0x81,0xd0,0xa0,0x5b, + 0xac,0x5,0x59,0xea,0xa8,0x58,0xeb,0x40,0x68,0xd0,0x2d,0xd6,0x82,0x34,0x73,0xaa, + 0x58,0xb,0x46,0xc0,0xb4,0xc5,0x5a,0xb4,0xbe,0x4a,0xda,0x3d,0x6e,0x4f,0xc3,0xe2, + 0x76,0xea,0x67,0xe5,0x2d,0xb1,0x16,0xa7,0xde,0xe0,0xf5,0x74,0x5a,0x3a,0xc8,0x93, + 0xbb,0x77,0xbd,0x2b,0x96,0xc0,0xb7,0x8f,0xc1,0x92,0x4f,0xda,0x11,0x58,0x52,0x2a, + 0x7c,0xbd,0x76,0xdf,0x61,0x1c,0x70,0x2e,0x7e,0x47,0xe4,0x75,0x5a,0xa1,0xb,0xb6, + 0xb4,0xbe,0xb7,0x7b,0xee,0x40,0x72,0x6d,0xfa,0x28,0x95,0x52,0xda,0x46,0xe7,0x61, + 0xe8,0x95,0x91,0x5a,0x30,0xce,0x76,0x8d,0xea,0x6e,0x6e,0xba,0x56,0xa0,0xf0,0x58, + 0xcf,0xce,0x76,0xf1,0x4,0x6a,0xeb,0xb4,0x61,0x77,0x3a,0xb5,0xf1,0x98,0x4b,0xc9, + 0x9b,0x51,0x1c,0xe3,0x70,0x8f,0x0,0xc7,0x8e,0xfb,0x76,0x1d,0x16,0x8c,0x36,0x21, + 0x3,0xf7,0xad,0x2c,0xb3,0x6a,0x3f,0xdc,0xee,0xee,0x83,0xdf,0xae,0x35,0xda,0x69, + 0xcb,0xf9,0x74,0x5a,0xa3,0xb1,0xb4,0x9a,0xef,0x6c,0xc4,0x69,0x60,0x8a,0xa,0x23, + 0x68,0x53,0x6d,0x32,0xb6,0x94,0xd5,0xf9,0x88,0x53,0x9b,0x8e,0xd1,0x77,0x87,0xcb, + 0xf0,0x60,0xf7,0x4,0x5a,0x63,0x9d,0xb4,0xd6,0xe0,0xb,0x6f,0xc3,0xda,0xe,0xd, + 0x38,0x40,0x19,0xfc,0xf4,0xc2,0x4b,0x45,0xde,0xc6,0xda,0xde,0xa0,0xba,0x6e,0x34, + 0xf9,0x38,0xd5,0xf9,0xcf,0x38,0xbc,0xb6,0xd8,0x80,0x7e,0x21,0xce,0x5e,0x2f,0x36, + 0xac,0xbf,0xb8,0x79,0x4a,0xa4,0x30,0x7d,0x19,0x6b,0xa6,0x99,0xa8,0x4d,0xb0,0xe6, + 0x9,0x6,0xb4,0xd8,0xb5,0xe3,0x48,0x6d,0x2c,0x4a,0x3b,0x89,0xa9,0xab,0x6b,0x3a, + 0x70,0x47,0x2e,0x6c,0x5c,0xa6,0xb1,0xe6,0x91,0xb,0x6a,0x63,0x66,0x1a,0x91,0xfc, + 0xd0,0x9b,0x77,0xe8,0xcd,0xbb,0x7f,0xa4,0x41,0x10,0xd9,0x69,0x33,0xb9,0x5c,0x26, + 0x3e,0x5,0x6a,0x3f,0xb3,0x5d,0xd0,0x8,0xf1,0x7d,0x97,0xfe,0xbb,0x9d,0xd0,0x48, + 0xa8,0x73,0x6d,0xa8,0x77,0xab,0xba,0x6d,0x7b,0x41,0x7a,0xb7,0xb9,0x5b,0x42,0x59, + 0x69,0x25,0x93,0x21,0x9b,0x19,0x92,0x5,0x2c,0x41,0xfb,0xa4,0xbd,0x65,0x53,0xfd, + 0xcf,0x7b,0x84,0x23,0x62,0xb6,0x93,0xd1,0x73,0x9b,0x7d,0x91,0x95,0x9e,0x3d,0xc9, + 0xb7,0x23,0x6f,0x53,0x75,0xfb,0x50,0x9f,0x68,0xff,0xa7,0x23,0xb0,0x2,0x36,0x80, + 0x52,0x31,0x1c,0xd,0x4f,0xb4,0x4b,0xf6,0x75,0x1e,0xbd,0x8a,0x98,0xea,0x14,0xc0, + 0xb8,0x7d,0xd5,0xa8,0x6e,0x6a,0x4e,0x9,0xc8,0x75,0xd5,0xad,0x10,0xe1,0x3e,0xdb, + 0x73,0x36,0x4b,0xe7,0x3d,0x69,0x72,0x96,0x6d,0x5b,0x7f,0xcc,0x72,0x3d,0x97,0xd9, + 0x7a,0x2e,0x33,0xa2,0xb5,0x1d,0xd1,0x36,0x73,0xca,0x6b,0xe7,0xc1,0x4f,0x6c,0x4e, + 0x5d,0xd5,0xed,0x78,0xa,0xda,0xde,0xb,0x35,0xa7,0x22,0x60,0x7b,0x2f,0xcc,0x9c, + 0x1e,0x44,0xef,0x57,0x72,0x50,0x3b,0xa2,0xa4,0xe3,0xb9,0x3a,0x22,0x22,0xad,0x4f, + 0xb0,0xe7,0xe7,0xbd,0x95,0xa0,0x5b,0xd5,0xed,0xb8,0x9,0x38,0x5f,0x7,0xca,0x34, + 0xd4,0xc3,0x20,0x94,0x6,0x9c,0xaf,0xf3,0x49,0xfb,0x82,0x8e,0x68,0x3a,0x72,0x2, + 0xaf,0xac,0xbb,0x41,0x6a,0xc5,0x22,0x22,0x75,0xb6,0x53,0xbf,0xdd,0xab,0x6f,0x1b, + 0x6c,0x1d,0xe2,0xbe,0x95,0x92,0xa9,0xc,0x38,0xdf,0x0,0x69,0x1,0xee,0xdb,0x27, + 0xed,0xeb,0x25,0x2a,0x11,0x63,0x1d,0x8f,0xe6,0xaf,0x18,0x5,0xfe,0x1f,0x73,0x37, + 0xca,0xb1,0x84,0xa5,0xac,0xbe,0x7d,0xd8,0x2f,0xe9,0x65,0x75,0x90,0x97,0x1d,0xa5, + 0x77,0xe9,0xdd,0x95,0xb4,0xbc,0x8d,0xb4,0x44,0x46,0x77,0x5a,0xc3,0xda,0xb0,0x8b, + 0x48,0xd6,0x56,0x8f,0x4f,0x4f,0x5e,0xca,0xea,0xdb,0xe1,0x12,0xe0,0x5c,0xc3,0x2d, + 0x60,0x88,0x73,0xbd,0x12,0x98,0x8b,0x13,0x98,0x8,0xb1,0xec,0x31,0x24,0x26,0xb2, + 0xe7,0x71,0xf6,0xf5,0xea,0x5b,0xb1,0x25,0x3,0x16,0x1d,0xc3,0xcd,0xac,0xc,0x58, + 0x74,0xc,0x33,0xb3,0x57,0x32,0x43,0x6c,0x24,0x6d,0xb7,0x35,0xa1,0x35,0xeb,0x88, + 0xce,0x73,0xc3,0xd0,0x71,0xd5,0xb7,0x63,0x28,0x60,0x35,0xd3,0xa,0x63,0x8d,0xd, + 0x42,0x6c,0xc0,0x6a,0xa6,0x4f,0xda,0x17,0x48,0x6c,0xa2,0x8e,0x2b,0x8e,0x35,0xf2, + 0x11,0xd5,0xf,0x14,0x9c,0x87,0xdf,0x74,0x13,0xd1,0x36,0xee,0xd6,0x84,0x70,0x9c, + 0xa1,0x54,0x52,0x5,0xa0,0xcc,0x9a,0x10,0x8e,0xe3,0x91,0xf6,0x75,0x73,0x9c,0x48, + 0x90,0x8e,0x6b,0xe0,0x5b,0x22,0x2,0xa3,0xf4,0xf6,0xad,0xd1,0xd7,0xb9,0x4e,0x29, + 0xa2,0x1d,0x2,0x97,0xe4,0x3b,0xd6,0x6,0xf0,0x9d,0x8c,0xa4,0x36,0x3d,0x6c,0x44, + 0xaf,0x7c,0xa7,0x33,0xdf,0x89,0x94,0xea,0x18,0x29,0x6e,0x49,0x49,0xc4,0xce,0xb3, + 0xe2,0xb8,0x2b,0xa2,0x1d,0x3a,0x21,0xdc,0x27,0xd8,0x32,0xda,0x2b,0xf7,0x69,0xc3, + 0xf5,0xe7,0xc2,0x7d,0x22,0xd5,0xed,0x34,0x4a,0x9d,0xa0,0x44,0x98,0xe9,0x67,0xe6, + 0x40,0xa5,0x88,0xd6,0xdb,0x16,0xc9,0x5,0x79,0x10,0xa4,0x5,0xf0,0xa0,0x30,0xf3, + 0x7b,0xe5,0x41,0x2b,0x1e,0x4,0x14,0x74,0x7e,0x12,0xcf,0x86,0xac,0x44,0xf5,0x43, + 0x81,0xe7,0xe1,0x43,0xdd,0x44,0xb4,0xe3,0x29,0x84,0x13,0xc1,0xcd,0x9a,0x80,0x67, + 0x47,0x41,0x5a,0x8,0x27,0xf2,0x48,0xfb,0x32,0x39,0x51,0x64,0xbb,0x9d,0xf6,0xde, + 0x25,0x2d,0x11,0x13,0x97,0xe0,0x46,0xdd,0xc4,0xb4,0xdf,0xc1,0x1c,0x70,0xe7,0xbd, + 0x4e,0x14,0x55,0x21,0x88,0x63,0x3a,0xe0,0xce,0x7b,0x9f,0xb4,0x2b,0x3f,0x8a,0x8c, + 0x38,0xea,0xe0,0xda,0x86,0xc0,0x34,0x36,0xc7,0xcf,0xc7,0x93,0x4a,0x31,0xad,0x70, + 0x30,0x1,0x37,0xfd,0x4,0x3b,0x6b,0x66,0x2,0x6e,0xfa,0xc9,0xee,0x32,0x9d,0x1d, + 0xbe,0xc5,0xe8,0xca,0x95,0x8e,0xe2,0x4a,0x11,0xed,0x76,0x4f,0xc3,0x2e,0x99,0x89, + 0xb8,0x39,0xe7,0x41,0xb7,0x86,0x98,0x76,0x18,0x85,0x3c,0xdf,0x31,0xd8,0x62,0x9a, + 0x80,0xe7,0x3b,0x5e,0x79,0xd3,0x27,0xe3,0x4d,0x11,0x23,0xdd,0xe,0x8a,0xec,0x10, + 0x9b,0x48,0xf3,0x73,0x1e,0x86,0x6b,0x88,0x69,0xc5,0x9c,0xbd,0xe0,0x33,0x8b,0x44, + 0xfd,0x0,0xf6,0x99,0xcd,0xf2,0x95,0x43,0x6d,0x39,0x54,0xa4,0x48,0x37,0x92,0xbf, + 0x43,0x72,0x50,0xf6,0x2c,0xa6,0x38,0x48,0x4c,0x3b,0xb6,0x7c,0xd6,0xb3,0x5,0xc9, + 0x9,0x33,0x99,0xc9,0x2,0x90,0xcc,0x89,0x2f,0x9c,0x69,0x41,0xb2,0x4f,0xda,0x97, + 0xcb,0xa7,0xa2,0xfa,0xe,0xc9,0x91,0x9c,0x2a,0xb2,0xec,0x3c,0x2c,0x3e,0x54,0x54, + 0x1b,0x1e,0x14,0x9,0xe0,0x56,0xc6,0xa8,0xa1,0xa,0x38,0xba,0x9,0x69,0x1,0xdc, + 0xca,0x27,0xed,0xca,0xad,0x1c,0xb7,0x82,0x23,0xf,0xda,0x83,0x2a,0x6d,0x2c,0xd3, + 0x97,0xe2,0x58,0xa5,0xa8,0x56,0x68,0xd0,0x4b,0xf2,0x2c,0x45,0x3,0x78,0xd6,0x48, + 0x8d,0xc4,0x48,0x5c,0x79,0xd6,0xe9,0x78,0x56,0x24,0x55,0xc7,0x5,0x82,0x7d,0x12, + 0x14,0xd5,0x83,0xfd,0xf3,0xf2,0xad,0x52,0x54,0x3b,0xa4,0x2,0x38,0x57,0xb8,0x25, + 0xa5,0x57,0xce,0xd5,0x86,0xf7,0xcf,0x8d,0x73,0x45,0x4a,0x74,0xb,0x2c,0x3c,0x84, + 0x28,0xa2,0xf6,0x3c,0x27,0x51,0xf,0x88,0x6a,0xc5,0x1f,0xbb,0x24,0xff,0x52,0x2c, + 0x80,0x7f,0x85,0x99,0xeb,0x2b,0xff,0x6a,0xf2,0xaf,0xce,0x8b,0x5,0x1e,0x72,0x14, + 0xd1,0xf3,0x2c,0x89,0x5,0x8b,0x6a,0xc7,0x59,0x8,0x17,0x4b,0xed,0x9d,0x3d,0x7c, + 0x66,0xf4,0x15,0x69,0x3c,0x84,0x8b,0x79,0xa4,0x7d,0xd9,0x5c,0x2c,0xaa,0x2f,0xc1, + 0x7,0xf0,0xb1,0x88,0xf2,0x4b,0x72,0xb2,0x6e,0xe2,0xda,0xb0,0x61,0x43,0xf6,0xbc, + 0xac,0xd0,0x46,0x9b,0x0,0x24,0xda,0x90,0x3d,0x2f,0x9f,0xb4,0x2b,0x2f,0xdb,0xf0, + 0x32,0x18,0xa4,0x8e,0xdb,0x8,0x7e,0xc2,0x84,0x10,0xf9,0x12,0x67,0x5,0x1b,0xe2, + 0x5a,0x61,0x72,0xd1,0xbd,0x30,0x1b,0xb2,0x17,0x76,0xca,0x47,0xa0,0x5f,0x39,0xda, + 0x86,0xa3,0x45,0x46,0x75,0x7c,0x9d,0x91,0x9f,0x3c,0x45,0x5a,0x9e,0xfb,0x3e,0xaa, + 0x3d,0x71,0xed,0xf0,0xa,0xe0,0x6b,0xe1,0x16,0xf6,0xba,0x47,0xd6,0x8a,0xfd,0xcf, + 0x91,0xaf,0x1,0xf9,0x47,0xdf,0x67,0x55,0x27,0x52,0x98,0x3d,0xe7,0x59,0xa5,0x78, + 0x45,0x5c,0x2b,0x16,0x2f,0xba,0x77,0x66,0x43,0xf6,0xce,0x4e,0x8c,0xfc,0xaf,0x98, + 0xbb,0x75,0x7f,0x2a,0x80,0x9f,0x54,0xa1,0x9e,0x4b,0x9c,0x4b,0x3c,0x4e,0x5c,0x3b, + 0xe6,0x2,0x78,0xdc,0x9d,0x49,0x6c,0x12,0x70,0xdf,0x96,0x24,0x21,0x7b,0x6a,0x3e, + 0x69,0x5f,0x3e,0x8f,0x43,0x40,0xd1,0xed,0xd9,0x3b,0xaf,0x90,0xab,0xc8,0xd8,0xf3, + 0xac,0x2a,0xbc,0x55,0x64,0x1b,0x4e,0xea,0x4f,0xaa,0xef,0x1e,0x71,0x8c,0x10,0x7b, + 0x5,0xdc,0xcd,0x20,0xb9,0x37,0xbe,0x69,0xe3,0x74,0x1e,0x69,0x57,0x4e,0x57,0xe7, + 0x74,0x91,0xea,0xfe,0x66,0xcf,0x43,0x44,0xb,0xf1,0xea,0xb9,0x9f,0x79,0xe1,0x15, + 0xd9,0xa,0x19,0x7b,0x41,0x7e,0x7,0x69,0x57,0x7e,0xf7,0x19,0xf1,0xbb,0x48,0x76, + 0x5,0xf6,0x61,0xd2,0x15,0xd5,0x1f,0x1f,0x71,0x19,0x9e,0x57,0x8a,0x6c,0x87,0x5a, + 0x8,0xd7,0xb,0xb6,0xbc,0xde,0xe8,0xe3,0xca,0xf5,0xfe,0xc,0x5c,0x2f,0xb2,0xdd, + 0x9f,0x5e,0x74,0x80,0x7f,0x21,0x68,0x38,0xdb,0xca,0xdd,0x6b,0x22,0xdb,0x60,0x59, + 0xbf,0x61,0xf9,0xfc,0xd6,0x5d,0x78,0xf,0x16,0x5d,0x69,0xdf,0x5,0x69,0x1f,0xbe, + 0x77,0x3b,0x5d,0xf1,0xa,0x17,0x8b,0xc,0xbd,0xe4,0x16,0x5e,0x77,0x91,0xed,0xf8, + 0xb,0xa0,0x80,0x43,0x7e,0xa7,0xee,0x42,0x4c,0xbe,0xf0,0x9e,0x5e,0x6a,0x7b,0xa9, + 0xa9,0x47,0x5a,0x4b,0xb0,0xfd,0x7e,0x90,0x66,0xa3,0x65,0xf9,0xe9,0x21,0x2b,0x92, + 0x34,0x29,0x92,0x6f,0xaa,0x96,0x6c,0x52,0x36,0xfe,0xf0,0xfd,0x22,0x1d,0xdd,0xfe, + 0xf7,0x8f,0x3f,0x55,0x8d,0x1f,0xe,0x6f,0xff,0x27,0x5f,0xfc,0xbe,0x6d,0x94,0xcb, + 0x90,0xdc,0xe5,0x8f,0x68,0x6b,0xa5,0x50,0xe4,0x4b,0x87,0xb7,0xe,0xc1,0x49,0xf1, + 0xfd,0xe4,0x21,0x19,0x67,0x83,0xe5,0xc7,0xf1,0x7f,0x3e,0x3f,0x4c,0x21,0xbc,0xba, + 0xd0,0xc8,0xec,0xde,0x56,0xbb,0xad,0x74,0x55,0xed,0x22,0x5b,0xe6,0x8f,0x8b,0x21, + 0xba,0x7c,0x5f,0x14,0xf3,0xdb,0xc1,0x60,0xfe,0xb8,0x98,0xc6,0xf9,0x62,0x8c,0x4a, + 0xf0,0xef,0x61,0xe2,0xa,0xd,0x7e,0x2e,0x26,0xd3,0xe9,0xdf,0x9d,0x90,0xba,0x92, + 0x7,0xeb,0x86,0x6e,0xf4,0x50,0xeb,0xc7,0xfb,0xc1,0xa6,0x97,0xe5,0xb7,0xf1,0xb6, + 0xf7,0xd3,0xe4,0x25,0x5b,0x6c,0x34,0x5e,0xc1,0x66,0xbc,0xc8,0x1f,0xe7,0xf,0x79, + 0x9a,0xad,0x33,0xec,0x5e,0x9f,0x26,0x77,0xd9,0xf4,0xc3,0xcd,0xf,0xc9,0xf4,0xff, + 0x1e,0xb3,0xde,0xe6,0xce,0x8a,0x4d,0xbd,0xbd,0x5e,0xb1,0x3f,0x9d,0x63,0x42,0xa9, + 0x31,0xf0,0x4e,0xab,0x69,0xad,0xad,0x12,0xc2,0xb2,0xbe,0xc5,0x27,0x43,0x2d,0x37, + 0xa0,0x20,0xce,0x99,0x51,0x4e,0x9c,0x6b,0x7b,0xd7,0x98,0xbc,0x63,0x21,0x64,0xcd, + 0x52,0x8f,0x9b,0x50,0x1a,0x3b,0xef,0x57,0xc3,0xcc,0xbe,0x70,0x78,0x46,0x48,0xd0, + 0x4a,0x6f,0x5e,0x73,0xb8,0xfe,0x56,0x6,0x91,0xc2,0xad,0x4e,0x3b,0x43,0xc3,0x2d, + 0x84,0xdb,0x77,0x3e,0xf4,0x2d,0xf2,0xdf,0xb3,0xf2,0x69,0x98,0xa9,0x76,0x8f,0x7, + 0x73,0x5f,0x6b,0x6f,0x41,0xad,0xd,0xeb,0x3c,0x29,0xee,0xeb,0x63,0x3a,0x29,0x9d, + 0x7b,0x71,0xcf,0x45,0xe3,0xc,0x67,0xaf,0x87,0xf4,0x7f,0xf6,0xc,0x1c,0x35,0xb8, + 0x32,0x65,0x7d,0xa,0xe3,0x6,0x37,0x6d,0x68,0xef,0x87,0x9e,0x8a,0x5,0x41,0x43, + 0x74,0x9f,0xb2,0x98,0x9,0x6a,0x9,0xef,0x89,0x58,0x12,0x5,0xcb,0x49,0xa1,0x2f, + 0x6b,0x89,0x61,0x4a,0xf5,0x58,0xac,0x28,0x31,0x42,0xd3,0xbe,0x76,0xaf,0xa3,0xd6, + 0xc2,0x4a,0x14,0xde,0xe6,0x94,0xb1,0x30,0x46,0x69,0xa6,0x36,0x15,0x2a,0xd5,0xe7, + 0xe8,0xa5,0x76,0x8f,0x69,0xde,0x88,0x26,0xae,0xe7,0xd6,0xc0,0x9d,0x6b,0x65,0x50, + 0x7c,0x9b,0xbc,0x2e,0x4e,0x75,0xad,0x95,0x5b,0xe1,0xbe,0x96,0xff,0xd1,0xe8,0xe0, + 0x5a,0x77,0x5b,0x7b,0x30,0x2,0x66,0x6f,0x81,0xe6,0xef,0xf6,0xec,0xe8,0xab,0xeb, + 0x1e,0xef,0xca,0x82,0x35,0xbb,0xe2,0x1f,0x8d,0xa7,0x49,0x5a,0xdc,0x57,0x57,0x23, + 0x27,0x2,0x48,0xbd,0x5,0x8e,0x67,0x69,0x3d,0xf1,0x7f,0xf3,0xc9,0xac,0x99,0x8a, + 0x39,0x95,0x2d,0xa6,0x13,0xfc,0xb9,0x15,0x9b,0xb4,0x34,0x59,0xde,0x27,0x8b,0x45, + 0xf2,0x72,0x3b,0xcb,0x67,0x59,0x3d,0x75,0x65,0xa4,0x6e,0xc9,0x3e,0xa,0xb6,0x33, + 0xd1,0xd9,0x10,0x18,0xdd,0xc6,0xdc,0x76,0x2f,0xb7,0x86,0xf2,0xc1,0x53,0xa8,0x62, + 0xd,0x45,0x2d,0x9e,0xf,0x5e,0x7a,0x71,0x14,0xdf,0x58,0x69,0x9b,0xab,0xc1,0x70, + 0x4b,0xee,0xed,0x6b,0x96,0x6b,0xd9,0x48,0xbd,0xcf,0x26,0xe3,0xfb,0xc2,0x79,0x5f, + 0x65,0x76,0x2e,0x95,0xea,0x41,0x7c,0x7b,0xb3,0xb,0x4e,0xd7,0x50,0xde,0x8c,0x3a, + 0x8e,0x1a,0xbb,0xd7,0x29,0xff,0x9f,0x70,0xf0,0xde,0xf,0xc6,0xd5,0xc7,0xe6,0x6c, + 0x5e,0x6b,0xa5,0xd4,0xc5,0x26,0xe6,0xf2,0x77,0xaf,0x2e,0x77,0xd5,0x37,0x84,0xee, + 0xc,0x18,0xa7,0x5c,0xb5,0xb5,0xfc,0x70,0x1b,0xb7,0x2d,0x29,0x8d,0x87,0x88,0x89, + 0x72,0xe3,0x6c,0xfb,0x6e,0x5d,0x12,0x11,0x0,0xa6,0xea,0x3f,0x30,0xd7,0xdd,0xcb, + 0x9,0x95,0x96,0x98,0xeb,0xee,0xcd,0x7a,0x98,0x97,0xf5,0x44,0x7c,0x42,0x30,0x85, + 0x39,0x8c,0x54,0x54,0x20,0x84,0xd6,0xc6,0xc0,0x80,0x30,0xd7,0x34,0x26,0x57,0xa9, + 0x7b,0xd5,0xd6,0x67,0xf6,0x6,0x34,0x98,0xfc,0xf5,0x3b,0xda,0xab,0x77,0xb0,0xcf, + 0xe0,0x35,0x9c,0x93,0x42,0x38,0x36,0x74,0x3f,0x35,0xc7,0x3c,0x6e,0x77,0x13,0xd0, + 0x13,0x87,0x79,0x2,0xb1,0x59,0x59,0x6a,0x5,0x32,0x85,0x60,0x7,0xed,0xe6,0xe0, + 0x3d,0x4a,0xb,0xb4,0x8a,0x53,0xe3,0xc,0xce,0x8e,0x8b,0x0,0x3d,0xa9,0x3d,0x4b, + 0xef,0xf0,0xc8,0x79,0x50,0xdc,0xc6,0xef,0xf,0xa2,0x18,0x71,0x8,0x8a,0xed,0xa0, + 0x38,0xa6,0x94,0x19,0x18,0xed,0xd3,0x8d,0x34,0x2,0xf2,0xd5,0x88,0x88,0xd8,0x2a, + 0x8e,0xc1,0x73,0x86,0x1e,0x63,0x6,0x8b,0x41,0x2c,0x87,0x6e,0xc,0x41,0x2b,0x35, + 0x87,0x55,0x16,0x4c,0x49,0x45,0x65,0xdf,0x60,0x14,0xd,0xe1,0x4c,0xf4,0x28,0x7c, + 0xaa,0x90,0x30,0xdb,0x48,0x73,0x64,0x86,0x53,0x8e,0xd2,0x48,0x45,0x71,0xd,0x97, + 0x60,0x62,0xa5,0x10,0xf5,0x59,0xd3,0x48,0x33,0x8a,0x4b,0xc4,0xdd,0x55,0x69,0x8d, + 0x34,0xb,0x11,0x9a,0x3b,0xe4,0xb8,0x97,0x70,0x59,0x28,0x49,0x38,0xeb,0x5f,0x86, + 0xf4,0xa8,0xd2,0xf9,0x16,0xc9,0x24,0xb5,0x2e,0x51,0x13,0x2e,0xb5,0x41,0x1a,0xfe, + 0x1a,0xa6,0xab,0x24,0xb,0xb7,0x85,0x92,0x56,0x19,0x59,0x95,0x75,0x3e,0xf,0xd6, + 0x4c,0x81,0x75,0xa8,0xb2,0x46,0xa,0xee,0x20,0x58,0xcf,0x69,0x12,0xed,0x76,0x8e, + 0xd0,0x9,0x64,0x92,0xd8,0x9e,0x7b,0x33,0xb1,0xd5,0x80,0xb5,0x71,0xde,0x11,0x8e, + 0x9b,0x68,0x94,0x6,0x7,0x46,0x23,0xdd,0x3,0xb5,0x5d,0x2a,0xfe,0x32,0x4a,0xab, + 0x44,0xb8,0x42,0xf7,0xfa,0x34,0x89,0xcc,0xb2,0x2a,0xaf,0xb9,0x4b,0x74,0x5e,0x91, + 0xad,0x67,0xd,0xa3,0x8a,0x42,0x7c,0x5d,0xc5,0xa,0xee,0x17,0xc5,0x24,0x12,0xd, + 0x87,0xb7,0x13,0xce,0x93,0x22,0x6a,0x21,0x64,0x9b,0x44,0x7d,0xa3,0xe3,0x9d,0x2f, + 0xbc,0x71,0x30,0xe3,0xe0,0x7c,0x69,0xcc,0x99,0x7d,0x24,0x6f,0x8a,0xb9,0x22,0x88, + 0xea,0x17,0xc3,0xfd,0x70,0xc5,0x67,0xb6,0x8f,0xa2,0xf2,0x7,0xf1,0x6e,0xef,0x2c, + 0xb1,0xe4,0x80,0xd5,0x3e,0x95,0x29,0x6e,0xaa,0xce,0x75,0x9f,0x1,0xb4,0x3e,0xd5, + 0x39,0x4e,0xe9,0xa6,0x1,0x11,0xf5,0x77,0x47,0xd7,0x33,0xbc,0x94,0x6f,0x1e,0x75, + 0x6f,0xe0,0xb2,0xd6,0x97,0xc1,0xf9,0x5e,0xe0,0x76,0x67,0xcd,0xa7,0x9e,0xe1,0xc5, + 0x9f,0xa1,0x9c,0x97,0xee,0xfd,0x7b,0x82,0xb,0x4,0x92,0x95,0x90,0xde,0x7f,0xf5, + 0xaa,0xec,0xfd,0xea,0x53,0x8f,0xf4,0x28,0x7e,0x79,0x6c,0x61,0xcd,0xb4,0x54,0x1d, + 0xf3,0xfb,0xea,0xff,0xe3,0xd5,0x40,0x17,0x53,0x6,0x36,0xc,0x11,0xda,0xea,0x5d, + 0x62,0xd5,0x37,0xea,0x56,0x8e,0xb4,0x65,0xbc,0x1f,0x61,0x22,0xba,0x97,0x9a,0x49, + 0xfe,0xee,0x15,0x94,0xd5,0xec,0x65,0x39,0x70,0x47,0xd9,0x3f,0x2,0xff,0x62,0xb4, + 0x61,0x9f,0xd0,0x9d,0xef,0xb9,0x4a,0x84,0x56,0x52,0x39,0x45,0x40,0xc7,0x44,0x69, + 0x4e,0x4b,0x83,0xc5,0x19,0x43,0xf0,0x22,0x9c,0x29,0xd0,0xee,0x15,0x64,0x30,0x4e, + 0x2,0x36,0x53,0x18,0xea,0xde,0x4a,0x66,0xa9,0x46,0x28,0x5d,0x9a,0xa6,0xf2,0xdd, + 0x93,0x7d,0x8c,0x87,0x45,0xa0,0xcb,0x99,0x7,0xa3,0x9c,0x37,0x42,0x34,0xff,0xf4, + 0x3e,0xcd,0xbc,0x26,0xf0,0x85,0xb0,0x8b,0x92,0xca,0x57,0x26,0xf8,0xeb,0xeb,0x1b, + 0x87,0x66,0xf8,0x7e,0xe0,0xf2,0x29,0x83,0x32,0x8f,0x25,0x10,0xdc,0x3f,0xd1,0xfd, + 0xab,0x4b,0x3b,0xa6,0x60,0x7f,0x55,0x6a,0xc7,0x14,0xec,0xaf,0x7c,0xed,0x98,0x2, + 0x1a,0xb,0xe4,0x20,0xda,0xec,0x22,0xc,0x8e,0x8e,0x48,0xb7,0x24,0xdb,0xaf,0x84, + 0x60,0x6a,0x57,0xf5,0xf5,0xab,0x82,0xeb,0xa9,0x1d,0x39,0xc7,0xaa,0x84,0x52,0x1d, + 0xf3,0xfb,0xea,0x7f,0xdd,0x14,0xb8,0x17,0x57,0x3a,0x77,0xa4,0xd7,0xaf,0x15,0xb4, + 0x31,0x71,0x2f,0xc1,0x53,0x1c,0x9f,0x28,0xe1,0xa0,0x14,0xf5,0xb7,0x49,0xaf,0x62, + 0xb3,0xf2,0xcf,0x7b,0xb7,0x70,0xf1,0xfd,0x37,0xff,0xf,0xac,0x78,0x9d,0xef, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/rec_call.svg + 0x0,0x0,0x17,0xc7, + 0x0, + 0x0,0xb4,0xcb,0x78,0x9c,0xed,0x5d,0x5b,0x73,0x22,0x47,0x96,0x7e,0xf7,0xaf,0x60, + 0xe5,0x17,0x77,0x2c,0x14,0x79,0xbf,0xc8,0x2d,0x4f,0x6c,0xb4,0xc3,0x13,0x13,0xe1, + 0x89,0xdd,0x18,0xdb,0x31,0x8f,0xe,0x4,0x85,0xc4,0x1a,0x1,0xb,0xa8,0x25,0xf5, + 0xaf,0xdf,0xef,0x64,0x71,0xa9,0x82,0x84,0x2a,0xa0,0x90,0xd4,0x6a,0x49,0x6d,0xb, + 0xb2,0xb2,0x2a,0x33,0xbf,0x73,0x3f,0x95,0x97,0x8f,0x7f,0x7b,0xbc,0x1b,0x36,0x3e, + 0xa7,0xd3,0xd9,0x60,0x3c,0xba,0xba,0xe0,0x9,0xbb,0x68,0xa4,0xa3,0xee,0xb8,0x37, + 0x18,0xdd,0x5c,0x5d,0xfc,0xf1,0xfb,0x2f,0x2d,0x77,0xd1,0x98,0xcd,0x3b,0xa3,0x5e, + 0x67,0x38,0x1e,0xa5,0x57,0x17,0xa3,0xf1,0xc5,0xdf,0x7e,0xfa,0xee,0xe3,0x7f,0xb4, + 0x5a,0x8d,0x4f,0xd3,0xb4,0x33,0x4f,0x7b,0x8d,0x87,0xc1,0xfc,0xb6,0xf1,0x8f,0xd1, + 0x5f,0xb3,0x6e,0x67,0x92,0x36,0x7e,0xb8,0x9d,0xcf,0x27,0x97,0xed,0xf6,0xc3,0xc3, + 0x43,0x32,0x58,0x14,0x26,0xe3,0xe9,0x4d,0xfb,0x43,0xa3,0xd5,0xc2,0x9d,0xb3,0xcf, + 0x37,0xdf,0x35,0x1a,0xd,0x34,0x3b,0x9a,0x5d,0xf6,0xba,0x57,0x17,0x8b,0xfa,0x93, + 0xfb,0xe9,0x30,0xd4,0xeb,0x75,0xdb,0xe9,0x30,0xbd,0x4b,0x47,0xf3,0x59,0x9b,0x27, + 0xbc,0x7d,0xb1,0xae,0xde,0x5d,0x57,0xef,0x52,0xe3,0x83,0xcf,0x69,0x77,0x7c,0x77, + 0x37,0x1e,0xcd,0xc2,0x9d,0xa3,0xd9,0xf7,0xb9,0xca,0xd3,0x5e,0x7f,0x55,0x9b,0x3a, + 0xf3,0x20,0x43,0x25,0xee,0xbd,0x6f,0x33,0xd1,0x16,0xa2,0x85,0x1a,0xad,0xd9,0xd3, + 0x68,0xde,0x79,0x6c,0x15,0x6f,0x45,0x1f,0x63,0xb7,0xa,0xc6,0x58,0x1b,0xd7,0xd6, + 0x35,0xab,0xd5,0xba,0x7c,0x1c,0x2,0x89,0x9d,0x9d,0x9,0x57,0xf3,0xad,0x3,0xfd, + 0x9,0xfe,0x5b,0xdd,0xb0,0x2c,0x48,0x66,0xe3,0xfb,0x69,0x37,0xed,0xe3,0xce,0x34, + 0x19,0xa5,0xf3,0xf6,0xcf,0xbf,0xff,0xbc,0xba,0xd8,0x62,0x49,0x6f,0xde,0xcb,0x3d, + 0x66,0x9,0x7e,0xa1,0xdd,0x2,0x45,0x46,0x9d,0xbb,0x74,0x36,0xe9,0x74,0xd3,0x59, + 0x7b,0x59,0x1e,0xee,0x7f,0x18,0xf4,0xe6,0xb7,0x57,0x17,0x42,0x85,0x6f,0xb7,0xe9, + 0xe0,0xe6,0x76,0xbe,0xfa,0x3a,0xe8,0x5d,0x5d,0x60,0x74,0x22,0x7c,0x59,0x36,0x7e, + 0xb9,0xe2,0x20,0x96,0xc8,0xec,0xd2,0xf2,0x89,0xf9,0x4b,0xca,0x84,0x4b,0x5,0x76, + 0x2b,0x3c,0xa6,0x37,0xee,0x5e,0x77,0x66,0xe8,0x72,0xfb,0x76,0x7c,0x97,0xb6,0x27, + 0xc3,0xeb,0xb4,0x73,0xdf,0x1b,0xf,0x46,0xed,0xdf,0x7e,0xf9,0xf5,0x7f,0x6e,0xc1, + 0x81,0xed,0x59,0x7f,0x38,0x29,0x7c,0x68,0xdd,0xcc,0xff,0x6a,0x4f,0x6,0x8f,0x77, + 0x9d,0xc9,0x6c,0xeb,0x69,0x34,0xc4,0xab,0x8b,0x69,0xda,0xfd,0xb3,0xdb,0x19,0xe, + 0x93,0x25,0x59,0x56,0x9d,0x1b,0xdf,0xcf,0x27,0xf7,0xf3,0x3f,0xd3,0xc7,0x79,0x3a, + 0xca,0xfa,0x4,0x60,0x72,0x28,0x85,0xcb,0x74,0x5b,0x52,0x40,0x68,0xd5,0xc4,0x1d, + 0xfe,0xd7,0x1f,0xa4,0xc0,0x64,0x3e,0xbd,0x4f,0x2f,0x7e,0xc2,0xc5,0x8f,0xbd,0xb4, + 0x3f,0xa3,0x4a,0x19,0x56,0xf4,0x4d,0x85,0xb,0xb8,0xb4,0x6a,0x77,0x2,0x8,0x26, + 0x69,0x97,0x38,0x38,0xab,0x9a,0x7b,0xe6,0xfc,0x89,0x88,0x56,0xac,0x2a,0x33,0xca, + 0x36,0xa,0xc0,0x4e,0xfe,0x7c,0x4,0xaa,0x8d,0xcb,0x6,0x17,0xf4,0xbf,0x68,0x8d, + 0xa7,0x45,0xd,0x30,0x25,0xfe,0xb0,0x68,0x9d,0x2f,0x44,0xdc,0x3d,0x8f,0x59,0xf4, + 0xa0,0x35,0x9e,0xe,0x6e,0x6,0x44,0x36,0xaa,0xe7,0x8a,0x75,0x31,0xd2,0xdc,0x98, + 0x94,0xd5,0xf6,0xa2,0xd1,0x5e,0x8c,0x1a,0xfc,0x9d,0x76,0xa6,0x7f,0x9f,0x76,0x7a, + 0x3,0x48,0x75,0xfe,0x96,0xe2,0x15,0xc5,0x94,0x5e,0x20,0x85,0xbb,0x66,0xf3,0xf1, + 0x64,0x59,0x17,0xe8,0xcc,0x9f,0x86,0x40,0x85,0xa,0x5b,0xdd,0xf1,0x70,0x3c,0xbd, + 0xfc,0xbe,0x1f,0x7e,0x7e,0xc,0x45,0x63,0xb0,0xf1,0x60,0xfe,0x74,0xb9,0x1e,0x60, + 0xa3,0x31,0xee,0xf7,0x67,0x29,0x18,0x37,0x5f,0x16,0xb8,0x17,0x37,0xa0,0xa9,0x75, + 0x7,0x2b,0x35,0xd6,0xed,0x5f,0x77,0xaf,0x8b,0x8d,0xf1,0x48,0x63,0x3c,0xde,0x98, + 0x5f,0xa3,0xd1,0x2e,0xe,0xfa,0x50,0x8c,0x84,0xf1,0x7,0x60,0xc4,0x7b,0xd7,0xa0, + 0xfc,0x46,0xb7,0x7f,0xac,0xa,0x92,0xb0,0xfc,0x20,0x90,0x62,0xad,0xb1,0x58,0x6b, + 0x51,0x94,0x84,0x95,0xb5,0xa1,0xc4,0x9d,0xdc,0x85,0xd2,0xaa,0x3d,0xee,0x74,0x9, + 0x10,0xd5,0x1,0xdd,0x89,0x52,0xae,0x35,0x5b,0x2,0x44,0xa4,0x35,0xd6,0xd7,0xfd, + 0x3d,0xad,0x9d,0x8c,0x92,0xb1,0x7,0xf0,0x92,0xc3,0xc0,0x59,0x7a,0x2c,0x2f,0x71, + 0xe3,0xf,0xe2,0x25,0x82,0x99,0xab,0x63,0x79,0x89,0xe7,0x38,0xf7,0x30,0x94,0x96, + 0x4a,0xf,0xdd,0x18,0x42,0x99,0x5d,0x5d,0x74,0x86,0xf,0x9d,0xa7,0xd9,0xaa,0x91, + 0x60,0xad,0x2f,0x6f,0xa7,0x29,0xbc,0x8b,0xef,0x23,0x5c,0xb7,0x97,0x29,0xd7,0x7d, + 0x7d,0xe4,0xe8,0x39,0x4b,0xb4,0x55,0x7e,0x7d,0xcf,0x13,0x15,0x8a,0x84,0x73,0xad, + 0xb5,0x5f,0x57,0x15,0x57,0x17,0xb0,0xee,0xc6,0xa1,0xb2,0x58,0x58,0xd7,0x50,0x5b, + 0xc4,0x6a,0xdf,0x2c,0x5a,0xfb,0x63,0x34,0x98,0xc3,0x3f,0xb9,0x9f,0xa5,0xd3,0xdf, + 0xc8,0xc6,0xff,0xf7,0xe8,0x8f,0x59,0xba,0x55,0xeb,0xf7,0x69,0x67,0x34,0x83,0x43, + 0x71,0x47,0x6,0xc,0x1f,0x87,0xf0,0xe8,0x7e,0xe0,0x89,0x30,0x50,0x33,0xbc,0xd9, + 0x82,0xff,0xc5,0x98,0xd5,0xe2,0x43,0xa9,0x32,0x3f,0x27,0x6c,0x5e,0x17,0x60,0x93, + 0x3c,0x31,0x5e,0x78,0xe3,0x8a,0xb8,0x51,0xaf,0x95,0xe0,0xa6,0x80,0x9b,0x90,0x89, + 0xc3,0x8f,0xd1,0x45,0xd4,0x64,0x22,0xb5,0xce,0x41,0x59,0x3,0x68,0xa0,0x90,0x57, + 0x96,0x71,0xd7,0xc4,0x27,0xe7,0x34,0xf7,0xee,0x45,0x51,0x13,0x4c,0x16,0x99,0x4d, + 0x27,0x46,0x59,0xc1,0x8b,0xdc,0x26,0x12,0xcb,0x4,0xf0,0x29,0xa2,0xc6,0x55,0xc2, + 0xb8,0x34,0xd2,0x15,0x51,0x23,0x76,0x35,0x78,0x44,0x45,0xd8,0xce,0x39,0x78,0xb2, + 0x82,0xfb,0x6,0xaf,0x4d,0x61,0xf0,0x36,0x1,0x41,0x48,0x7a,0x8a,0x2c,0xa3,0x13, + 0xcf,0x85,0x74,0xae,0x30,0x78,0xb,0x89,0xe2,0xca,0x29,0x5e,0x1c,0x3c,0x4f,0xb4, + 0xb7,0x52,0xe8,0x3a,0x79,0x6,0x1e,0xb1,0x30,0x5c,0x83,0x65,0x40,0x7,0x3,0xda, + 0x98,0xf3,0xb2,0x4c,0x19,0x6a,0x86,0x9d,0x3e,0xba,0xbb,0xce,0x7c,0x3a,0x78,0xfc, + 0xa1,0xc5,0x9b,0xc,0xbf,0xbc,0x29,0x45,0xc2,0xc0,0xab,0x61,0x8c,0xe,0x1c,0x28, + 0x3f,0x14,0x28,0x83,0xab,0x46,0xc3,0x36,0xda,0x22,0x65,0x44,0x62,0x84,0xf6,0x4c, + 0x14,0x28,0x63,0x12,0x27,0xad,0x73,0xde,0x6e,0xa,0xb3,0x47,0xcc,0xa5,0xe5,0xb, + 0x4a,0x9b,0x10,0x8b,0xe8,0x68,0x39,0x2c,0x8e,0xbe,0xa,0x63,0xbd,0x29,0xc,0xcb, + 0x24,0x16,0xc2,0x66,0x73,0x32,0x18,0x74,0x94,0x4d,0xb4,0x11,0x45,0xd,0x25,0x44, + 0xa2,0xb9,0xd0,0xac,0x6,0x76,0x5b,0x10,0x4,0x4a,0xc9,0x6a,0x26,0x74,0x20,0xcb, + 0xfa,0x4b,0x62,0x8c,0xb1,0x4c,0xe2,0x3,0xb7,0xd6,0x33,0x5b,0xca,0x80,0xbb,0x5b, + 0x80,0x5a,0x16,0x9e,0xcb,0xd0,0x40,0x6b,0xf9,0xa5,0x5,0xad,0xc1,0x8c,0x61,0xae, + 0x29,0x7d,0x62,0xa1,0x14,0xed,0x87,0x3,0x87,0xf4,0x14,0x28,0x6f,0xac,0x65,0xde, + 0x16,0x25,0x15,0xf2,0xeb,0x98,0x29,0x98,0x44,0x1e,0xa0,0x73,0x10,0x75,0xe6,0x8a, + 0x4,0x81,0xfa,0x93,0x4c,0xe6,0x4c,0x49,0x4c,0x0,0xac,0x3e,0x5c,0x8e,0x76,0x71, + 0x55,0x9,0x8e,0x45,0xd6,0x2d,0x61,0xf3,0xb8,0x48,0x44,0xc5,0xe7,0x34,0x91,0xac, + 0x46,0x92,0x6d,0xe8,0x78,0x41,0x8b,0x9e,0x19,0xba,0x83,0x75,0xea,0xe1,0xc,0x77, + 0xe,0xca,0x44,0x51,0x33,0xcf,0x8e,0x5a,0x85,0xc1,0x6f,0x19,0xfa,0x1d,0x4e,0x41, + 0xdc,0x81,0x88,0x3a,0x1b,0xd1,0xc1,0xab,0x4a,0x83,0x2f,0xa8,0xde,0x73,0xb0,0x4c, + 0xd4,0x75,0x3b,0x2,0x36,0xe8,0x6c,0xa9,0x2d,0xd7,0x5,0xd8,0xe0,0xad,0x4a,0xc4, + 0x59,0x6e,0x93,0x65,0x36,0xab,0x12,0x96,0x2a,0x91,0xde,0xe6,0x95,0x7e,0x14,0x35, + 0xf1,0x3a,0x50,0x8b,0x45,0x9,0x47,0x81,0xe6,0x84,0x76,0xbe,0x28,0x68,0x16,0xd2, + 0x27,0xf1,0x4f,0x6f,0xa2,0xb6,0x59,0x97,0x87,0x24,0x22,0x53,0xe0,0x36,0xb3,0x1f, + 0x35,0xf6,0x6c,0xa8,0xc5,0x9a,0xb7,0xaa,0x2c,0x1d,0x81,0x3a,0xeb,0x11,0x54,0x4e, + 0x47,0xec,0x88,0xc9,0x4b,0xd3,0x11,0x68,0xcd,0x45,0x5a,0x2b,0x49,0x47,0xec,0x88, + 0xc9,0x6b,0x4a,0x47,0x40,0xb9,0xb8,0x3,0xd2,0x11,0xc2,0x9c,0x90,0xda,0xc2,0xf8, + 0xd9,0x61,0xa9,0x2d,0x15,0xcd,0xc4,0xec,0x87,0x30,0xd7,0x9a,0xa8,0x11,0x25,0x51, + 0xce,0x4b,0x46,0x1d,0xce,0x4b,0x3b,0x0,0xad,0xc0,0x4b,0x26,0xc6,0xb9,0x25,0xbc, + 0x14,0x6b,0xed,0x68,0x5e,0x3a,0x9f,0x67,0xcf,0x15,0x33,0x7,0xaa,0xb5,0xba,0xa3, + 0xed,0x97,0xb,0x6b,0x30,0x78,0x77,0xe0,0xe0,0x8f,0x36,0x19,0xb5,0x27,0xc4,0x5e, + 0x12,0x36,0x5e,0x43,0x20,0x5d,0xd1,0x3f,0xa9,0x39,0x23,0xf6,0x72,0xe9,0x7,0xa0, + 0x56,0x6b,0x42,0x6e,0x5f,0x20,0x50,0x77,0x4e,0xe8,0x45,0x51,0x53,0xa7,0xa3,0xf6, + 0x1a,0x92,0x36,0xd4,0xab,0xce,0xb0,0x56,0xe8,0xe8,0x7d,0x62,0x1e,0xba,0x62,0x13, + 0x8a,0xe9,0x35,0x3d,0xbb,0x8f,0xe8,0x94,0x4f,0x84,0x2b,0x78,0xe5,0xdd,0xa7,0xab, + 0xb,0x9f,0x50,0x99,0xca,0x25,0x78,0xfa,0xd1,0xba,0xfd,0x68,0xdd,0x69,0xd0,0x6a, + 0x2e,0x14,0x1f,0x48,0xa7,0xd9,0x64,0x9a,0x76,0x7a,0xff,0x4c,0xe7,0xb7,0x63,0xea, + 0x7b,0xda,0xa7,0xf1,0x57,0xca,0xf4,0x80,0x74,0x88,0x23,0x16,0x99,0x9e,0xc5,0x17, + 0xd2,0x6,0x4c,0x2b,0xd7,0xd4,0x89,0x15,0x56,0xa8,0xf2,0xec,0xf4,0xdb,0xca,0x50, + 0x8,0xe5,0xf9,0xe1,0xf2,0x76,0x4a,0x72,0x87,0x2c,0x91,0xb4,0x5a,0x6f,0x68,0x12, + 0xe1,0x11,0x8c,0x6c,0x20,0x67,0x50,0x95,0x69,0x57,0x44,0xe,0x14,0x83,0xfd,0x95, + 0x6e,0x3b,0x7,0x78,0xa6,0xc4,0x47,0xc,0x34,0xe7,0x9f,0x17,0xb4,0xcd,0x37,0x33, + 0x3b,0x4c,0x56,0xdc,0xbc,0x45,0x4d,0xe1,0xb9,0x43,0xff,0x28,0x6a,0xb6,0x12,0x6a, + 0x75,0x44,0x9b,0xb,0x56,0xf3,0xca,0xeb,0xcd,0xbc,0x72,0x42,0xfe,0xa3,0x51,0x66, + 0x53,0x4a,0x37,0xdd,0xa9,0x98,0xe7,0x75,0xe6,0xd0,0x3f,0xa,0x5a,0xb5,0xe4,0x6b, + 0x6d,0xa0,0x9d,0x21,0xcb,0x75,0xc2,0xe0,0xe5,0xb3,0xd,0x3e,0xd6,0x3c,0xa4,0xe8, + 0x99,0x22,0x6f,0xb4,0xe5,0xe,0x8a,0xbc,0x77,0x4,0x8a,0xfb,0x3,0xce,0x75,0x6b, + 0x82,0xd5,0x15,0x79,0xe3,0x59,0xa5,0x91,0xb7,0xc8,0xdb,0xfe,0xb3,0x47,0xde,0x68, + 0xed,0x88,0xc8,0x7b,0x47,0x2a,0xa3,0x3e,0x94,0xe,0xc9,0xe2,0x9c,0x34,0xa9,0x44, + 0x28,0x79,0x58,0x16,0xe7,0xa4,0x49,0x25,0x68,0xed,0xd8,0x2c,0xce,0x19,0xdf,0x3c, + 0x2a,0xb9,0xf1,0xe6,0x71,0x2b,0x1d,0xba,0x23,0x75,0x1a,0x4f,0xb3,0x46,0x53,0xb2, + 0xb5,0x84,0xfe,0x5e,0x8,0xe6,0x9d,0x79,0x1d,0x93,0x4a,0x0,0x5b,0x51,0x97,0x6f, + 0xe7,0xde,0x77,0xe4,0xe9,0xa3,0x29,0xfd,0x68,0xf6,0xbf,0x8e,0xc8,0x1f,0xb0,0x71, + 0x6,0x2b,0xa5,0x5f,0xc7,0xac,0x12,0xc0,0xb6,0xfd,0x5a,0xf5,0x5b,0x99,0x55,0x22, + 0x94,0x62,0x45,0x9e,0xa9,0x31,0xc,0xae,0x55,0xd4,0x28,0x47,0xec,0xbc,0x78,0x1d, + 0xd3,0x4a,0x0,0x5b,0xd,0x79,0x9d,0xad,0x8,0x11,0xa3,0xb4,0x5e,0xdb,0xaf,0x7d, + 0x5e,0x49,0x29,0x76,0x6a,0x4b,0xde,0x8a,0xd3,0x18,0x76,0x4c,0x79,0x10,0xd1,0xba, + 0x28,0x75,0x50,0x53,0x18,0x14,0xaf,0x61,0xc6,0xe0,0x6a,0xde,0x87,0xd0,0x46,0xb, + 0xbe,0x9c,0xf8,0xb1,0xf8,0xd6,0xa2,0x4,0x9b,0x42,0x43,0x4d,0xe1,0x12,0x6b,0xa5, + 0x64,0xfe,0x43,0x59,0xb6,0xa7,0x42,0x52,0x43,0x24,0xc0,0x84,0x9,0x99,0xb6,0x78, + 0xa0,0x7d,0xee,0xdb,0xbe,0x5c,0xc7,0xb2,0x85,0x6a,0x49,0x95,0xfd,0x50,0x44,0x73, + 0x3a,0xf1,0xf4,0x4f,0x3c,0x55,0x14,0x4f,0x2b,0xc5,0x53,0x50,0xdb,0x79,0x2b,0x21, + 0x55,0xb5,0x57,0xc0,0x85,0xf4,0xd7,0xfb,0x34,0x95,0xc,0xba,0x6a,0xef,0x81,0x6b, + 0xcb,0x67,0x6c,0x4d,0x1b,0xdc,0x91,0x4e,0x8e,0xa7,0x9e,0xa3,0x69,0xea,0xe7,0xcf, + 0x2,0x49,0xf9,0x7c,0x93,0x7b,0xde,0x4e,0x16,0x48,0xca,0x6a,0x93,0x7b,0x6a,0xcc, + 0x2,0x55,0x7d,0x51,0xf6,0x9a,0xf3,0x40,0x52,0x3e,0xdf,0xb4,0xa0,0x57,0x97,0x7, + 0x92,0xf2,0xf9,0x66,0xf7,0xc4,0x9a,0x17,0xcf,0x97,0x7,0x92,0xe2,0x39,0xf3,0x40, + 0x52,0xd6,0x97,0x7,0x92,0x82,0x95,0xe6,0x81,0xa4,0x10,0x25,0x40,0xd4,0x99,0x7, + 0x92,0xd1,0xac,0xd3,0xcb,0xe6,0x81,0x24,0xdf,0x39,0xe7,0xa9,0xf6,0x3c,0x10,0xc2, + 0xf1,0x67,0xcc,0x3,0xc9,0x5c,0x6,0xf3,0xd5,0xe4,0x81,0x24,0xdf,0x78,0x7b,0xf4, + 0x5a,0xf3,0x40,0xaf,0x69,0x6d,0x11,0x50,0xdb,0x8,0xe9,0x5f,0x67,0x1a,0xe8,0x75, + 0xad,0x2d,0x12,0x32,0x32,0xb9,0xfe,0x9b,0xc9,0x2,0x49,0xb6,0x91,0x39,0x7c,0x9d, + 0x59,0xa0,0xd7,0xb5,0xb6,0x8,0xa8,0xbd,0x91,0x69,0x2a,0x71,0xe8,0xf6,0x25,0x2e, + 0x2a,0xae,0xbb,0x39,0xc,0x9d,0xf8,0x22,0xa1,0xe8,0x72,0xa2,0xf8,0xc2,0xa3,0xe8, + 0x22,0xa5,0x28,0xe1,0x5e,0xd4,0x23,0x45,0x10,0x57,0xea,0x6b,0x9,0x1f,0x9b,0xcb, + 0x7c,0xa6,0x99,0xd3,0x0,0x24,0xb6,0xc9,0xc0,0x8b,0xce,0x9c,0x6,0x2,0x3b,0x3d, + 0xd2,0xba,0x37,0x5,0x40,0x5b,0xe2,0x20,0x5f,0x6b,0xc7,0x1a,0xf6,0x8a,0xbe,0x96, + 0xf0,0xaa,0x3e,0x94,0x5c,0xe9,0x2c,0x7c,0xd4,0x39,0x62,0x16,0xfe,0xb1,0x9b,0x2, + 0xa0,0xb5,0x23,0x66,0xe1,0xef,0xd8,0x65,0xa1,0x36,0x94,0xec,0xce,0xf7,0xb7,0xb9, + 0x7e,0x97,0x6d,0xb4,0x51,0x79,0xbf,0x8e,0x2a,0x20,0xc5,0x42,0xa9,0x12,0x90,0xfa, + 0x69,0x3f,0x4d,0xed,0x46,0x63,0x9,0x9c,0x59,0xe6,0xb8,0x3d,0xd2,0x7d,0xaf,0xae, + 0x99,0xa5,0xd6,0x89,0x82,0xef,0x5d,0x4c,0xc5,0x70,0xe7,0x29,0x2f,0xcd,0x36,0x12, + 0x31,0xdc,0x25,0xd2,0x70,0xb3,0xe1,0x52,0x79,0x32,0x69,0x36,0x97,0xb,0x89,0x90, + 0xca,0x56,0xd3,0xcd,0x92,0xd7,0x90,0x97,0x2b,0x75,0xe,0xb6,0xfb,0x27,0xc9,0x4f, + 0x3c,0x6d,0x3f,0x97,0xd8,0x16,0x2b,0x31,0xad,0x24,0xc9,0x91,0x3f,0x68,0x3f,0x97, + 0x8a,0x9b,0xc7,0xc4,0x94,0x92,0xa4,0x58,0xab,0x26,0x71,0x93,0xc2,0x55,0xa0,0x4d, + 0x89,0x88,0x48,0xe1,0xcb,0x80,0x8a,0x40,0xe0,0xc3,0xcf,0x26,0xde,0xa5,0xf2,0x88, + 0xc6,0xe4,0xe1,0xf2,0xc8,0xc2,0xcf,0xae,0xc6,0xea,0x8d,0xa2,0x23,0x28,0x73,0xbf, + 0x73,0x3f,0x98,0xba,0x39,0x91,0xb6,0xab,0x38,0xc8,0x3e,0x46,0x91,0xa9,0xc8,0x89, + 0xdc,0xdb,0xda,0x38,0x91,0xb6,0x27,0x29,0xa3,0x7d,0xde,0xcb,0x3b,0x40,0xf1,0x47, + 0x46,0xb8,0xc7,0x3c,0x56,0x7c,0x4,0x7c,0x68,0x2d,0x2c,0xf7,0x26,0xb6,0xb1,0xe, + 0xa3,0xec,0x36,0x9c,0x47,0x2d,0xa2,0xb0,0xb9,0x3d,0x34,0xca,0xd5,0x3a,0x66,0xcb, + 0x9e,0x8,0x39,0xd1,0x19,0xad,0x1c,0xe7,0xf5,0xad,0x2,0xb,0x2a,0xbd,0xb4,0xff, + 0xf6,0x8,0xad,0x70,0x28,0xb1,0x72,0xad,0x1d,0xa1,0x16,0xa2,0x74,0xad,0x31,0x7, + 0xe9,0xe,0xdb,0x50,0x2c,0x3a,0xf4,0x8a,0x7e,0xb1,0x74,0x7b,0x76,0x14,0xcb,0xa1, + 0x14,0xdd,0x74,0xa,0x71,0x21,0x93,0xf8,0xe7,0x8f,0x80,0x2b,0xd1,0x1a,0x9c,0xa5, + 0x10,0x5e,0x9c,0x2c,0x52,0xd5,0xfd,0x72,0xe9,0x4a,0xb7,0x34,0x3b,0xd3,0x66,0x77, + 0x5a,0x98,0x4,0xaa,0x8a,0xf9,0x53,0xf7,0xbc,0xb3,0x4a,0x25,0xcc,0x2b,0xe5,0xca, + 0x1f,0xba,0xb9,0x3,0x9e,0xb4,0x94,0x79,0xb0,0x61,0xd7,0x3c,0xa9,0x59,0x62,0x9d, + 0x95,0x7e,0xdf,0x86,0x78,0x39,0xef,0xe4,0xc,0xb,0x5d,0x44,0x7e,0x91,0xc0,0xf6, + 0x84,0x1,0x28,0x8b,0xb5,0x68,0x86,0x59,0x6,0x4e,0xd1,0xec,0x83,0x9c,0xd3,0x40, + 0x33,0x12,0x50,0x2b,0x51,0xc2,0xe6,0xe6,0x8b,0xf4,0xa3,0x75,0xfb,0xd1,0xba,0x34, + 0x29,0x42,0xb1,0xc4,0x73,0xfe,0x1a,0x92,0x78,0x32,0xbf,0xd7,0x56,0x4c,0x7d,0xda, + 0x8d,0xf7,0x9e,0x56,0x27,0xd6,0x18,0xbd,0x76,0xb7,0x9f,0xc2,0x6b,0x64,0x93,0x78, + 0xcb,0x37,0xe6,0xd5,0x6f,0x23,0xf2,0x94,0xbd,0x9e,0x66,0x1c,0xe,0x7b,0xd5,0x79, + 0x35,0x67,0x1d,0xbc,0xdf,0x97,0xbe,0xc5,0xe5,0xe2,0xe0,0x5,0x53,0xd0,0x21,0x3a, + 0xe7,0x88,0x86,0xf4,0xad,0x11,0x89,0xd2,0x6a,0x73,0x51,0xc1,0x76,0x5d,0xca,0x9e, + 0xa1,0x2a,0x17,0xc6,0x7d,0x5,0x83,0xcf,0xef,0x8b,0x55,0x2d,0xa0,0x5b,0xf2,0x7, + 0x7,0x53,0x15,0xf9,0x43,0x68,0x9f,0x30,0xc8,0xff,0xc6,0xa,0x4b,0xe8,0x12,0xcf, + 0x9c,0x2b,0xa6,0x12,0xd,0x6d,0x56,0xc3,0x94,0x3f,0xeb,0xc2,0xd4,0xd2,0xc1,0xf3, + 0xaa,0xb2,0x79,0x2e,0xfe,0x78,0xd1,0xc1,0x1f,0x43,0xf9,0xaf,0x65,0xf0,0x85,0x38, + 0x32,0x16,0x66,0x6e,0xcf,0xbd,0xaa,0x30,0x78,0xa1,0x12,0x61,0xa4,0xf5,0x5b,0x6c, + 0x6f,0xb,0x33,0x81,0x49,0x2b,0x92,0x49,0xb4,0xde,0x6f,0x8c,0xdd,0x24,0x86,0x3b, + 0xa1,0x5e,0x72,0xe8,0x92,0x1d,0xc5,0xf4,0xb5,0xd,0x7d,0xb3,0xed,0xd8,0xb,0xd, + 0x44,0x2b,0x94,0x78,0x93,0xf4,0x82,0x4f,0x78,0xc7,0xa4,0xe2,0xcd,0xf5,0xa7,0xdc, + 0x75,0x69,0x4d,0x2,0x36,0xf3,0x4d,0xc5,0x44,0xe2,0x5d,0x95,0x75,0x9c,0x27,0x61, + 0x9b,0x7f,0xd5,0x17,0xc5,0xf6,0xd0,0xdd,0x11,0xea,0x41,0x81,0x99,0x44,0x33,0x25, + 0x6d,0x53,0x1a,0x88,0x9c,0x37,0x66,0x63,0x45,0x3c,0x37,0xb8,0xf,0xf1,0x5f,0x81, + 0x78,0x2d,0xd2,0xe1,0x1a,0x77,0x14,0xa7,0xfa,0x10,0xa5,0x1d,0xe4,0x53,0x15,0xc8, + 0xc7,0x8d,0x43,0xcb,0xec,0xac,0xb3,0x7f,0x4b,0x39,0x57,0x1c,0x3a,0x73,0xfa,0xeb, + 0x11,0xda,0x12,0x65,0x2d,0x23,0x82,0xf3,0x76,0xcc,0x74,0x99,0x54,0x89,0x17,0x91, + 0x2a,0xab,0x6c,0x62,0xa4,0x54,0x90,0x2a,0x6f,0xc1,0x42,0x8e,0xfb,0x37,0x29,0x55, + 0xf2,0x98,0x1d,0x5d,0xde,0x86,0x54,0xc9,0x43,0xf7,0x73,0x79,0x4b,0x52,0xa5,0xea, + 0xdc,0xde,0xb4,0xb2,0x54,0xc1,0x1f,0x4c,0xac,0x54,0x5e,0x35,0x11,0x5f,0x26,0xde, + 0x38,0x6b,0xdf,0xa4,0x54,0x1d,0xbc,0x79,0xec,0x5b,0x91,0x2a,0x91,0x27,0xd2,0xb7, + 0x27,0x55,0xa6,0xce,0x89,0x3d,0xef,0x52,0xb5,0x89,0xee,0xb7,0x6b,0xab,0x22,0xab, + 0x37,0xbe,0x15,0xa9,0x2a,0xec,0xda,0xf1,0xee,0x1,0xd6,0x2e,0x55,0xf6,0xdb,0x8d, + 0xab,0xec,0x2b,0x8f,0xab,0xde,0xd8,0x82,0x43,0xa7,0xaa,0xed,0x6a,0xf3,0xbe,0xe0, + 0xb0,0x88,0x5a,0xb5,0xed,0x70,0xde,0x17,0x1c,0x16,0x51,0xab,0xb6,0xc3,0xd9,0xfb, + 0x82,0xc3,0x22,0x6c,0xb9,0x77,0x76,0xdf,0xdc,0x82,0x43,0xa8,0xd4,0x67,0x1b,0x7c, + 0xb4,0xf9,0x9d,0x73,0x8e,0x6a,0x5f,0x70,0xe8,0xa4,0x3c,0x68,0x82,0xc4,0x69,0xb, + 0xe,0x9d,0xd4,0x65,0x13,0x24,0xaa,0xa3,0x24,0x76,0x4e,0x63,0x59,0xb7,0x27,0xa2, + 0xd3,0xa0,0x2e,0x8e,0x1,0xb4,0x7c,0x4e,0xae,0xcb,0xb9,0x80,0xaf,0x65,0xc1,0x21, + 0x9c,0xd5,0x67,0x5b,0x70,0xe8,0xc4,0x61,0x27,0xe3,0x9d,0xb6,0xe0,0xd0,0x89,0x63, + 0x4f,0xc6,0x3b,0xe3,0x22,0x30,0xc7,0x6d,0x51,0x29,0xbd,0x2f,0x38,0xac,0x84,0x5a, + 0xd9,0x99,0xf,0xef,0xb,0xe,0x63,0xa8,0x6d,0xac,0x5c,0xfa,0x96,0x16,0x1c,0xba, + 0xdc,0xa4,0x8d,0xf7,0x5,0x87,0x95,0x51,0x63,0xf5,0xed,0x70,0xf4,0xbe,0xe0,0xf0, + 0x19,0x17,0x1c,0xe6,0x37,0x47,0x7e,0x9,0x8f,0x94,0x95,0xce,0x82,0x47,0x9d,0x23, + 0x66,0xc1,0x1f,0xbd,0xe0,0xd0,0xb1,0xd8,0x94,0xe1,0x97,0x5d,0x70,0x48,0x33,0x3f, + 0x9f,0x6b,0xc1,0xa1,0xf5,0x87,0x1d,0xd5,0x7c,0xda,0x82,0x43,0xeb,0x6b,0x3b,0xab, + 0x59,0x58,0x57,0x3a,0x49,0x5f,0xd8,0x63,0x96,0xee,0x1c,0xbd,0xe0,0xd0,0x1e,0xb3, + 0x76,0xe7,0xcc,0xb,0xe,0x6d,0xf9,0x59,0xcd,0xa8,0x73,0xc4,0x59,0xcd,0xc7,0x2e, + 0x38,0xb4,0xc7,0xac,0xfb,0x88,0x1f,0x10,0x5e,0xd7,0x72,0x8f,0xa,0x87,0xfe,0xc8, + 0xa3,0xe,0xfd,0x89,0xae,0x3e,0xaa,0xb2,0xdc,0xe3,0xa8,0x43,0x7f,0xa2,0xb,0xab, + 0x6a,0xe3,0x24,0x49,0x87,0x3a,0x95,0xf6,0xdb,0x1e,0xb1,0x31,0x4f,0xcf,0xd2,0xef, + 0x31,0x28,0xd9,0x23,0x36,0xe6,0xb1,0x5d,0xfa,0x3d,0x14,0xa5,0x7d,0xcb,0x2d,0x36, + 0x56,0x23,0x28,0x11,0xb3,0x9d,0x9b,0x8b,0x1c,0xc2,0xba,0x88,0x44,0x66,0x3f,0x3b, + 0x17,0x5b,0x7c,0x21,0xb3,0x8e,0xab,0xee,0xa4,0xe5,0x18,0x8b,0xb5,0x1d,0xc5,0x87, + 0x94,0x2d,0x12,0xa9,0xef,0xc0,0x43,0xb8,0x2b,0xd2,0xcb,0x8d,0x20,0x15,0xce,0x9e, + 0xb6,0x4e,0x88,0x62,0x46,0x8e,0x2,0x22,0xc6,0x9c,0x72,0xba,0xb8,0x33,0xa7,0x48, + 0xbc,0xd1,0xf9,0xd3,0x1e,0xa2,0xbb,0xe7,0x56,0xca,0x34,0xa2,0xde,0x79,0x76,0x79, + 0xaf,0xf2,0xd8,0x32,0xe5,0xa8,0xe4,0x11,0x9a,0x18,0x80,0x1d,0xb9,0xc1,0xb9,0x3c, + 0x6a,0x9,0xde,0x76,0x6b,0xc7,0xda,0xab,0x57,0x97,0xb0,0xb5,0xf6,0xf9,0x4e,0x32, + 0x7c,0x43,0x49,0x7e,0x6b,0xaa,0x6d,0x61,0x59,0x1b,0x6c,0x6f,0xe2,0x8d,0x92,0x35, + 0xcf,0xbc,0x85,0xe5,0x9b,0x78,0x7b,0x69,0x4d,0xb5,0x1d,0x2c,0xdf,0x8f,0x91,0x8e, + 0x40,0x57,0x6d,0xb7,0xa1,0x3a,0xa0,0x3b,0x67,0xc2,0xd2,0xf3,0x63,0x96,0xdb,0xbc, + 0x8d,0x53,0x23,0x31,0xf8,0x1a,0x52,0x6f,0x67,0x39,0x35,0x32,0x72,0x24,0x52,0xe1, + 0xf8,0xa4,0x97,0x4,0xad,0x72,0x2a,0xfa,0x74,0x7b,0xf0,0x66,0xce,0x8c,0x4,0x6a, + 0x67,0xcf,0x61,0x17,0x58,0x6d,0xeb,0x48,0xb6,0x1d,0xc7,0xb7,0x89,0xd8,0x49,0x6f, + 0x4b,0x6f,0x2a,0x1c,0xa,0xf7,0xa2,0xa0,0xd5,0xf0,0xb2,0xe8,0xc5,0x53,0xe3,0x1f, + 0xdb,0xbd,0xb4,0x3f,0xb,0x9f,0x56,0x81,0xe2,0xa8,0x73,0x97,0xf6,0x3e,0xf,0xd2, + 0x87,0xef,0x56,0x63,0xbf,0xee,0xac,0xc6,0x31,0xe9,0xdc,0xa4,0x21,0x44,0x0,0x62, + 0x59,0x26,0x62,0x71,0xe1,0x7a,0x3c,0xed,0xa5,0xd3,0xe5,0x25,0x13,0x7e,0xa,0x97, + 0x16,0x51,0x44,0x78,0xc9,0xb9,0xb8,0xb0,0x8e,0x46,0xf1,0xd4,0xd5,0x75,0x16,0xbf, + 0x3e,0xbb,0xed,0xf4,0xc6,0xf,0x40,0x61,0xf3,0xe2,0x97,0xf1,0xf8,0x2e,0xbc,0xe, + 0xe5,0x5e,0xaf,0xd2,0xe2,0x6b,0xda,0x3f,0x6,0x9b,0xa0,0x8d,0x13,0xab,0x59,0x87, + 0xeb,0x8b,0x4f,0x1,0x13,0xc3,0x11,0xba,0xda,0xcd,0x8b,0xbd,0x71,0xf7,0xfe,0xe, + 0x4,0x6b,0xdd,0x67,0x74,0x9d,0x3c,0x6e,0xdd,0x7e,0x3f,0x9d,0x52,0x85,0x61,0xe7, + 0x29,0xc5,0xa8,0xc3,0x9f,0xa5,0x6,0x7a,0x18,0xf4,0xe6,0xb7,0x14,0x0,0xaf,0x6e, + 0xbb,0x4d,0x7,0x37,0xb7,0xf3,0x42,0xd1,0xec,0x76,0xfc,0x70,0x73,0x3f,0xe8,0xa5, + 0x33,0x92,0xa0,0xfb,0x74,0xb3,0x81,0x70,0xad,0x75,0x7d,0x3d,0x7e,0x8c,0x5f,0x7f, + 0x18,0x8c,0x80,0x49,0x6b,0xd1,0x16,0x37,0x6c,0xb,0xb9,0x45,0x8d,0x65,0xdb,0x5e, + 0x6c,0x1,0xb4,0xa8,0xf1,0xb8,0xe,0x40,0x37,0x2f,0x3d,0xd1,0x5b,0xb,0x96,0xef, + 0xf2,0x94,0xb8,0xa2,0xdf,0x19,0x82,0x2d,0x16,0x12,0xb8,0x62,0x9f,0xd0,0xe5,0x25, + 0xcf,0x8d,0xa7,0xc4,0xf1,0x9d,0xf9,0x60,0x3c,0xba,0xba,0xf8,0x9c,0x4e,0xe7,0x83, + 0x6e,0x67,0xb8,0xe2,0xc8,0xc9,0x78,0x36,0xc8,0x2e,0x91,0xca,0x94,0x16,0xca,0xb6, + 0x20,0x72,0xe1,0x51,0x92,0x2b,0xb3,0xe2,0xd6,0x6d,0x26,0xd,0xe5,0x77,0xe9,0xbc, + 0xd3,0xeb,0xcc,0x3b,0x6b,0x8e,0x5d,0x96,0xd8,0x65,0xff,0xa6,0xbd,0xfe,0xe5,0xbf, + 0x7e,0xfe,0x65,0x15,0x2b,0x77,0xbb,0x97,0xff,0x1e,0x4f,0xff,0x5a,0x36,0xd7,0x68, + 0x50,0x85,0xce,0xf5,0xf8,0x1e,0x20,0xad,0xe2,0x77,0xd4,0xeb,0x75,0x2f,0x49,0x56, + 0x3b,0xf3,0x9f,0x6,0x77,0x60,0xc2,0xf6,0xec,0xf3,0xcd,0x7f,0x3e,0xde,0xd,0x21, + 0x38,0xab,0xb,0x85,0xca,0x94,0x66,0x59,0x3f,0x34,0x7b,0xec,0x34,0x9d,0x8d,0xef, + 0xa7,0x5d,0x44,0xd8,0xb7,0xf3,0xf9,0xe4,0xb2,0xdd,0x9e,0xdc,0x4f,0x87,0xc9,0x78, + 0x7a,0x83,0x87,0xe0,0xdf,0xdd,0x80,0x6e,0x6a,0xff,0x36,0x1f,0xc,0x87,0xff,0xa0, + 0x46,0xf2,0x31,0x7d,0x7b,0xd1,0xd1,0x65,0xd8,0x9d,0x1b,0xc7,0xc7,0xf6,0x72,0x94, + 0xe1,0xdb,0xcd,0x6,0xf1,0x86,0x9d,0xeb,0x74,0x78,0x75,0xf1,0xa9,0x33,0xfc,0xbf, + 0xfb,0x74,0x95,0x11,0x5a,0xb3,0xd6,0x74,0x7c,0x3f,0xb9,0x1b,0xf7,0xd2,0x5,0xdf, + 0x5e,0xac,0xc1,0x5b,0xf0,0xf1,0xa2,0xc9,0x9b,0x2,0x49,0x44,0x3e,0x43,0x5a,0xd2, + 0x56,0xa3,0x31,0x8f,0xfa,0x22,0x2a,0xb1,0x92,0x21,0x1a,0x69,0xb6,0x64,0xa2,0x60, + 0xfe,0xb4,0x80,0x37,0xb2,0x1a,0xf1,0xcd,0x1a,0xbe,0xe8,0xed,0x10,0x74,0xa5,0xb5, + 0xb5,0xba,0xa9,0x12,0x61,0x99,0x35,0x3a,0xa7,0x26,0x2b,0xf4,0x69,0x39,0x10,0xa5, + 0x4c,0x9e,0xd0,0x37,0x79,0xaa,0x65,0x35,0xf2,0xfb,0x5f,0x6c,0x74,0x67,0xa9,0xb9, + 0x61,0xec,0x24,0xdc,0x21,0x27,0xc8,0x45,0xb0,0xda,0x31,0x47,0xb3,0xc2,0xf1,0x81, + 0x5b,0xcd,0x9b,0xd9,0x65,0xc4,0x62,0xa6,0x29,0x11,0x94,0x69,0x61,0x1c,0x3e,0xc1, + 0x97,0xa0,0xd5,0xc7,0xe2,0x43,0xe1,0xe1,0x8b,0x1c,0x4c,0x1f,0x4c,0x70,0x39,0x1a, + 0x8f,0xe8,0x25,0xd7,0x74,0xfc,0x57,0x9a,0xcb,0x2e,0xd3,0xd7,0xdc,0x8e,0x35,0x4a, + 0xc1,0xf1,0x0,0x78,0xb9,0x41,0x60,0x18,0x93,0xce,0xfc,0x36,0xff,0xd8,0xd5,0x83, + 0xd7,0x29,0xa3,0x75,0x13,0xf4,0x29,0x97,0x4b,0x8a,0xb7,0x18,0x94,0x4b,0xd8,0x28, + 0x4a,0x43,0x4b,0x9a,0x65,0xb5,0x16,0x19,0xc4,0xff,0x1d,0xf,0x46,0x97,0xe0,0xdf, + 0x74,0xba,0x2c,0xd,0x5f,0x86,0x3,0xfc,0xb9,0x54,0xcb,0xb2,0x5e,0x7,0xba,0x7b, + 0x3a,0xed,0x3c,0xe5,0x7,0x16,0x4a,0xb3,0x64,0xd4,0xe5,0xbe,0xd1,0x15,0x7,0x3, + 0xba,0xfc,0xb3,0xa1,0xc8,0x87,0xf5,0xc6,0xab,0x0,0x30,0xa8,0x64,0x85,0xf0,0x8d, + 0x4f,0xd,0x5,0x27,0x96,0x69,0xe1,0xe9,0x14,0x1b,0x20,0xac,0x95,0x13,0xa6,0x21, + 0x3d,0x6c,0x2a,0x73,0xc6,0x12,0x5d,0xac,0x91,0x5a,0x2a,0x14,0x5a,0x90,0x43,0x8, + 0xe9,0x97,0x85,0x9c,0x19,0x3c,0x40,0xc2,0x9,0x61,0x82,0xb9,0x42,0xb1,0x54,0x70, + 0x37,0x14,0xb8,0x8c,0x5e,0xfb,0x92,0x19,0xf1,0xde,0x35,0x24,0xe8,0x9,0xb2,0x6a, + 0x1f,0xba,0x0,0xad,0x6a,0xe1,0xa5,0x34,0x7e,0xd,0xe5,0xc6,0x7b,0x2e,0xc9,0x84, + 0x33,0x26,0xd1,0x35,0x53,0x2c,0x96,0x9,0x9c,0x1f,0xd,0x43,0x4e,0xed,0xc1,0x14, + 0xa,0xab,0x32,0x49,0xd0,0xd6,0x59,0xce,0x78,0x3,0xfc,0xe1,0x3d,0xbc,0xce,0x50, + 0xe8,0x84,0xd3,0x46,0xda,0x6,0xbd,0x1f,0x16,0xda,0x8,0xb9,0x2a,0x54,0x12,0xf, + 0x10,0x8,0x60,0x34,0x2,0xf5,0x5c,0xb1,0x6f,0x90,0xa7,0x29,0x99,0xb5,0x36,0x7b, + 0xaa,0xf6,0x96,0xbb,0x86,0xe0,0xb4,0x62,0x80,0x87,0x32,0xa6,0xe0,0x30,0x48,0x8d, + 0x7e,0xad,0x4b,0x59,0x22,0x95,0x84,0xc9,0xa6,0x6e,0x89,0x2c,0x31,0x65,0x69,0xc4, + 0x30,0x9a,0x68,0x81,0xa9,0x6,0x9d,0xaa,0x3,0x67,0x4e,0xc9,0xf0,0x3e,0xdc,0x30, + 0xef,0xd0,0x3,0x6e,0x81,0x93,0xb0,0xe8,0xeb,0xa2,0x90,0xb6,0xf3,0xf9,0xd4,0x80, + 0x33,0x47,0xf3,0xed,0x4c,0xa1,0x18,0x62,0x8f,0xfe,0xb,0x4f,0x85,0x4a,0x4a,0x81, + 0x6,0x50,0x8,0x87,0x84,0x6b,0x96,0x2d,0xab,0x58,0x91,0xf2,0x57,0xaa,0xcc,0xa5, + 0x33,0xc,0x32,0x44,0x9b,0xca,0x28,0x3,0x12,0xd2,0x83,0x5d,0xc2,0x29,0x2e,0x14, + 0x74,0x32,0x12,0xed,0x2d,0xe6,0xb8,0x6a,0x8,0x20,0x2d,0x19,0xc4,0xab,0xd9,0x72, + 0x34,0x11,0x88,0xce,0x7a,0x23,0xc0,0x14,0x39,0x40,0x82,0xa,0xb5,0xc6,0xa3,0xac, + 0x25,0xc4,0x45,0xb2,0x78,0xac,0x4b,0x14,0xb5,0x2b,0x89,0xe8,0x70,0x9f,0x38,0x64, + 0x14,0xcf,0xb4,0x74,0xac,0x93,0xe1,0xc4,0x4a,0xf0,0xd5,0x39,0x61,0xa8,0x69,0x8, + 0xd2,0x7b,0x85,0x6e,0xc5,0x39,0xef,0x4b,0x63,0x83,0x4b,0xc3,0xab,0x2,0x8,0xa2, + 0x28,0x6e,0xf5,0x16,0xa4,0x71,0x65,0xc1,0xa0,0x7a,0x49,0xef,0xc3,0xf2,0x77,0x67, + 0xdd,0x6e,0xf7,0x4b,0x37,0xfc,0xe9,0x76,0x73,0xda,0x9f,0x74,0xfc,0xcd,0x7e,0x1d, + 0xa5,0x74,0x15,0x1d,0xa5,0x58,0x86,0xf,0x23,0x8f,0x9c,0x8e,0x75,0x6a,0xae,0x3f, + 0xe5,0xaf,0x73,0xda,0x7c,0xc8,0x82,0xc3,0x9b,0xc0,0xf,0x4c,0x64,0x9c,0xfa,0x50, + 0xaa,0x5f,0x62,0x23,0xa,0x83,0xc9,0xfe,0x75,0x77,0x81,0xa3,0xf4,0x26,0x38,0x41, + 0xba,0x29,0x12,0x80,0xfa,0xf1,0xa4,0xdf,0xb5,0x87,0x9f,0x4f,0x74,0xa7,0x48,0x8c, + 0xce,0x63,0x43,0x99,0x55,0xd6,0x32,0x50,0x18,0xb1,0x1,0x58,0x8c,0x71,0x4f,0x27, + 0x54,0x79,0xef,0x8d,0x54,0xd,0xda,0x50,0x89,0x4e,0x48,0x94,0x4d,0x5c,0x75,0x5c, + 0x10,0x8f,0x4b,0xb8,0x16,0x4a,0x53,0x19,0x9e,0x22,0x4,0x98,0x83,0x74,0x85,0x4c, + 0xac,0x53,0xc6,0xf1,0x50,0xea,0x69,0xa2,0x5,0x6f,0xe8,0x90,0xd,0xd0,0x90,0x26, + 0xca,0xa1,0x41,0xd,0x80,0xb6,0x66,0xf5,0xc4,0x75,0xd9,0x27,0xb4,0x6d,0xc1,0x31, + 0xc5,0x52,0x87,0xc7,0x68,0xa7,0x58,0x28,0xb,0xd3,0xf8,0x5c,0xc3,0x27,0x1a,0x1, + 0xe4,0xb2,0x6d,0x92,0x34,0x62,0xee,0x75,0xa9,0x4f,0xc0,0xc3,0x61,0x80,0x9c,0xd6, + 0xdf,0x19,0xe6,0x9a,0xe,0xb2,0x87,0xf8,0x49,0x34,0x68,0x26,0x1f,0x48,0xa4,0xa9, + 0x48,0x11,0xc,0x4,0x8c,0xd0,0xcb,0x6f,0x9f,0x48,0x22,0x15,0x1d,0xdf,0x66,0x17, + 0x45,0xc,0xca,0x3,0xa2,0x2b,0x31,0x2e,0x1b,0x1e,0x83,0x18,0x86,0x49,0x12,0xf, + 0xe8,0x26,0xf,0x49,0xf0,0xa4,0xbf,0x2,0x26,0xeb,0x32,0xf4,0x8b,0x23,0xa8,0x8, + 0x98,0x40,0x71,0xc0,0x9,0x13,0x8a,0xa,0x9d,0xf5,0x34,0x0,0x28,0x18,0xd2,0x3f, + 0xb0,0x6a,0xe8,0xa1,0x74,0x92,0x6,0x2a,0x74,0xe2,0x21,0xc7,0x74,0xf3,0xaa,0xec, + 0x13,0x9,0x9c,0x84,0x26,0x13,0x36,0x5f,0x93,0xe,0x4a,0x83,0x7c,0x87,0x7,0x2a, + 0x4b,0x18,0xb,0xa8,0x63,0xc0,0x25,0xb3,0x96,0x19,0xcd,0x64,0xa1,0xfe,0x0,0x3c, + 0x80,0x83,0x52,0xbb,0xe8,0x63,0xd0,0x6d,0xa,0xf7,0xc2,0x62,0x6a,0x88,0x1a,0xf1, + 0x22,0x8d,0xce,0x71,0x23,0x8c,0x1,0x1b,0x18,0x4f,0x69,0x1e,0x1d,0x61,0x97,0x2d, + 0x71,0x8c,0x5b,0x40,0xf8,0x60,0x3f,0x6c,0xbd,0x34,0x72,0xf2,0xc3,0x4e,0xab,0xd8, + 0x7,0xb7,0x6d,0x5b,0x45,0xa1,0x9f,0xc3,0x20,0xf2,0x82,0x56,0x38,0x50,0xe,0xf7, + 0x48,0x60,0xd4,0xbe,0x82,0xe7,0x99,0xd5,0x64,0x96,0x38,0x6d,0xc8,0x5,0x4a,0xca, + 0x8c,0xe7,0x5d,0xe0,0xcc,0x5c,0x29,0xc8,0x6,0x4a,0x4b,0xd3,0xa4,0x20,0x94,0x33, + 0xe5,0x3c,0x31,0xb7,0x21,0xf7,0x41,0x52,0x19,0xe3,0x20,0x53,0xc6,0xf1,0xcb,0x42, + 0x52,0xfe,0xe0,0x7d,0x62,0x19,0x7,0x93,0x25,0x39,0xc2,0x36,0x62,0x19,0xe8,0x55, + 0xd8,0xaf,0xd0,0xa,0x42,0xd4,0x70,0xfe,0x9c,0xf2,0xf8,0x75,0xf9,0xee,0xac,0xca, + 0x60,0xec,0xd1,0xb4,0x56,0xc5,0x52,0x18,0x13,0xf0,0x18,0x44,0x3c,0x3c,0x10,0x3e, + 0xa6,0x27,0xe9,0xa7,0x2,0x1b,0x78,0x50,0x41,0x61,0xab,0x4c,0x25,0x2c,0xb,0x49, + 0xee,0x8c,0x8,0xc6,0x45,0x52,0x62,0xb,0x5c,0x1a,0x46,0xa3,0x1d,0xbc,0x35,0x1f, + 0x5a,0x81,0xf1,0x32,0x3a,0x37,0xe8,0x18,0x3c,0x27,0xf1,0x9c,0x3e,0x90,0xe7,0xb4, + 0x85,0x77,0x23,0x85,0xfa,0x9a,0x19,0xcf,0xc6,0x18,0x8f,0x34,0xb,0xa8,0x42,0xca, + 0x81,0xd2,0x89,0xca,0x98,0x95,0x66,0x81,0x3b,0x91,0x2f,0x25,0xcd,0xa2,0xa0,0x63, + 0x6c,0x33,0x9b,0xbb,0xeb,0xe0,0xb8,0x40,0xb5,0x70,0xe,0x43,0x10,0x74,0x95,0x27, + 0xaf,0x88,0x58,0x2f,0x57,0xa,0xdd,0x8,0x65,0x96,0xb9,0x38,0x8e,0x74,0x14,0xcf, + 0x14,0x38,0x83,0x4b,0x8,0x9b,0x1f,0xda,0x1,0x37,0x6,0xee,0x51,0x82,0x1,0xe1, + 0x7c,0x8f,0x56,0x65,0x41,0x35,0x69,0xb8,0x97,0x85,0x52,0x28,0xcf,0xb0,0x3f,0xa9, + 0xb,0x4f,0x84,0xe7,0x6a,0xc,0xa9,0x59,0x72,0x8f,0xa0,0xc2,0x89,0xf9,0x98,0xe5, + 0xdc,0x64,0xca,0x77,0x59,0xca,0x13,0x47,0x2a,0x4e,0x2d,0x94,0x2f,0x7c,0x41,0xe3, + 0xc3,0x88,0xe0,0x78,0x2a,0x9d,0xb5,0x63,0x11,0x19,0xe7,0x47,0x1e,0xc1,0xe8,0x24, + 0xee,0xb3,0xdf,0x20,0xf7,0xf9,0xb8,0xda,0x83,0xe5,0x15,0xb0,0x29,0x41,0x7b,0xd0, + 0xe6,0x84,0x2e,0x28,0x29,0x66,0xe0,0x10,0x9,0x99,0x2b,0x75,0x88,0xf0,0xa4,0xf6, + 0x2c,0xd0,0xd5,0x86,0xa9,0x1d,0x1e,0xd4,0xf3,0x8,0x91,0x2,0x9b,0x71,0xe9,0x1d, + 0x8c,0x31,0xe9,0x3d,0xd0,0x51,0x81,0xaa,0x4d,0x72,0x57,0xa1,0x0,0x3,0xfb,0x38, + 0xa2,0x34,0x7c,0x6d,0xb2,0x76,0x50,0x58,0x30,0xa5,0xaa,0x41,0x8e,0x2d,0x3c,0x57, + 0x66,0x9a,0xc4,0xd9,0x70,0x4d,0x51,0xd3,0xc0,0xd7,0x81,0xef,0x6d,0x73,0x45,0x9f, + 0x68,0x36,0x9,0x1d,0xc4,0x95,0x2f,0x24,0x43,0x89,0xc0,0xc,0x2c,0xe1,0xe8,0x40, + 0x57,0xab,0x14,0x79,0x42,0x50,0x5b,0xf0,0xf2,0x39,0xda,0xc0,0xff,0xe1,0x76,0x67, + 0x8a,0xf,0xf4,0x56,0x74,0x82,0x74,0xb0,0xbe,0x8a,0xfc,0x5f,0x52,0xa5,0x2c,0x38, + 0x39,0x36,0xc,0x87,0xb6,0x25,0x55,0x68,0x6,0xaa,0xde,0xdb,0x85,0x2a,0xcd,0x86, + 0x1d,0x3,0xe8,0x24,0xd6,0xf3,0xbb,0x58,0x2f,0xcf,0x1f,0x6f,0x88,0xef,0xc,0xdf, + 0xa1,0xf5,0x8c,0x4,0x3b,0xf9,0x85,0xe6,0x58,0xe9,0x18,0xa8,0x3c,0xb8,0x61,0xb9, + 0x52,0xd2,0x31,0x70,0x9,0x3,0xdb,0x19,0xf0,0x80,0xc,0x2a,0x6,0xe4,0x14,0x3c, + 0x50,0x94,0x49,0x60,0x64,0x33,0x15,0x83,0xe8,0x4,0x4e,0x3d,0xf1,0x9d,0xb5,0xb0, + 0x8e,0x36,0x53,0x31,0x61,0xf,0x65,0x5,0x3e,0x61,0x78,0x10,0xb4,0x30,0x35,0xc3, + 0x9d,0x3,0xb7,0x92,0x13,0xa9,0x38,0x78,0xda,0x52,0x87,0xb4,0x25,0x7,0x36,0x57, + 0x86,0xbb,0xd,0xe2,0xd2,0x10,0xd4,0xe5,0x6a,0xda,0xe0,0x90,0x5,0x1f,0x15,0x1, + 0x16,0x22,0x39,0x1b,0x54,0xb3,0x47,0xc,0xe5,0xd0,0xb6,0xc2,0x0,0x58,0xd6,0x23, + 0x32,0xf6,0x4e,0xda,0xe0,0x1,0x40,0xe,0x10,0x7b,0x67,0x6a,0x58,0x60,0x14,0x26, + 0x78,0x83,0xf4,0xae,0x80,0x9e,0x88,0x10,0xc,0x1c,0x98,0x1f,0x76,0x4,0xa0,0x53, + 0xf8,0xce,0xf3,0xaf,0x83,0xef,0x72,0xc1,0xdf,0xea,0xe3,0xfa,0x43,0x9e,0x25,0x77, + 0x44,0x95,0x85,0x6c,0x2a,0xd5,0x87,0x1d,0x5d,0xbf,0xab,0xca,0xa2,0x2d,0x47,0x2e, + 0xc,0x38,0xa0,0x99,0xbd,0x47,0x40,0xe0,0x92,0xc5,0xd9,0xe0,0x13,0x17,0x0,0xa7, + 0x84,0x9,0xc2,0x2d,0x14,0x59,0xa3,0xe1,0x0,0x6,0x2,0x8a,0x40,0xd6,0x75,0x19, + 0x54,0x1a,0x5,0x20,0x50,0x7a,0x9f,0x72,0xa5,0x34,0x83,0x1d,0xba,0x13,0x6c,0xba, + 0x7a,0x20,0xf4,0xa,0xd7,0xb4,0x87,0x52,0xae,0x65,0xb0,0xa0,0x20,0xd,0xb6,0xe, + 0x7,0xab,0xe7,0xac,0xc2,0xd7,0xe9,0xfd,0x30,0xbd,0x4c,0x3f,0xa7,0x18,0x7d,0x2f, + 0x97,0xc5,0x72,0x91,0x2c,0x96,0x66,0x8a,0x15,0x7e,0xf2,0x64,0xed,0x76,0x26,0x97, + 0xd3,0xf1,0xfd,0xa8,0xb7,0x83,0xd6,0x77,0x9d,0xe9,0x5f,0xe9,0x34,0xeb,0x47,0xf6, + 0xb9,0x35,0x9b,0x77,0xa6,0xf3,0x42,0xc9,0xdd,0xa0,0x57,0xf8,0x9e,0x8e,0x7a,0x5, + 0xfa,0xd7,0x94,0x21,0xfb,0xf1,0xf3,0x60,0x36,0xb8,0x1e,0xc,0xe9,0x4b,0xf8,0x38, + 0x4c,0x7f,0xec,0xd,0x66,0x93,0x21,0x1e,0x32,0x18,0x51,0xc7,0x7f,0x1c,0x7f,0x4e, + 0xa7,0xfd,0xe1,0xf8,0x61,0x79,0x7d,0xfd,0xbe,0x6c,0x23,0xa7,0xb,0x8f,0xfb,0xc4, + 0x9c,0x6e,0x4b,0x43,0xb7,0x80,0x86,0x70,0x55,0xe0,0x32,0x23,0xee,0x84,0xdf,0x5f, + 0x9a,0xd3,0x5d,0x24,0x28,0x70,0x3,0xac,0xa4,0xd3,0x32,0x6d,0x85,0x6c,0xd,0x6d, + 0x83,0x21,0x8c,0xa3,0x6f,0x50,0x1a,0x1a,0xd1,0xbb,0xc,0x97,0x14,0x62,0x48,0x58, + 0x3e,0xcd,0xc3,0x17,0x32,0x7f,0xa4,0xa,0x11,0xe8,0x33,0xa,0x9c,0xd5,0xbe,0x24, + 0xf0,0xaf,0x94,0xd1,0x8e,0xe4,0x80,0x11,0xf9,0xee,0xcf,0x1,0xcb,0xfc,0x39,0xd1, + 0xf1,0xee,0x53,0xfa,0x4,0xc1,0xb4,0x5c,0x2e,0x16,0x51,0x1c,0x76,0xdc,0xaa,0xa6, + 0xa7,0x98,0x16,0xa6,0x9f,0xdc,0x51,0x62,0x75,0x18,0xfc,0xd2,0x5c,0x4a,0x24,0x7b, + 0x53,0xd3,0x86,0x8e,0x39,0x91,0x47,0x5c,0x4,0x1,0x86,0x3,0xdb,0xe4,0x61,0x5b, + 0x55,0xd8,0x87,0xc6,0x7f,0xd1,0xd4,0x52,0xe8,0xe5,0xe0,0xbf,0x64,0x1f,0x1a,0xac, + 0xc1,0xe9,0x97,0x6a,0x73,0x4d,0x72,0x5f,0xa1,0x76,0xec,0xd9,0x5f,0x76,0xa5,0xc0, + 0xa6,0xf4,0xf6,0x6d,0x71,0xff,0xce,0x3a,0x8f,0xe5,0x75,0xb2,0x8d,0xb7,0x17,0xcd, + 0xed,0xac,0xf4,0x48,0x7b,0xcb,0x52,0xef,0x98,0x34,0x3b,0x2c,0xb4,0x14,0x6c,0xeb, + 0xfe,0xaa,0x66,0x85,0x26,0x45,0xef,0x33,0x2b,0xbb,0xfa,0x95,0xcd,0xcb,0xed,0x4c, + 0xbb,0xe5,0x2e,0x47,0x8c,0xf7,0x3c,0x88,0x2f,0x17,0xcc,0x1,0xbf,0x4f,0x12,0x1b, + 0xe6,0x3e,0xad,0x2e,0x7b,0x4e,0x6f,0x25,0xc8,0xf3,0x83,0x35,0x65,0xc4,0x25,0xe2, + 0x9d,0x39,0xe,0x65,0x8e,0xad,0x46,0x8a,0xcc,0x41,0xc0,0x3b,0x67,0x9c,0x35,0xfb, + 0xb8,0x44,0x3d,0x3b,0x97,0x9c,0x41,0x87,0x8,0x8b,0x80,0x7,0xa8,0xab,0x2,0xe1, + 0x2d,0xdc,0x39,0xca,0xf3,0x21,0xb0,0xf1,0xe4,0xa8,0x59,0xb5,0xe4,0x13,0x8a,0x79, + 0x25,0xa,0xaa,0x55,0x8f,0x3d,0x7d,0x2f,0xa3,0x2c,0xef,0xdf,0xc7,0x28,0xab,0xd6, + 0x9e,0x81,0x53,0xfc,0x66,0x5e,0x6d,0x8b,0x53,0x34,0xe5,0x9c,0xe1,0x2e,0xef,0x76, + 0x53,0x2d,0xab,0x51,0x9f,0xec,0x71,0x25,0xc3,0x9f,0x8f,0xf4,0x62,0xfb,0xa7,0xef, + 0xfe,0x1f,0x20,0x4c,0x87,0xe3, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/icon_call.svg + 0x0,0x0,0xf,0x4b, + 0x0, + 0x0,0x45,0x20,0x78,0x9c,0xed,0x5b,0x6b,0x73,0xdb,0xc6,0x15,0xfd,0xee,0x5f,0x81, + 0xd2,0x5f,0x9c,0x29,0x9,0xee,0xfb,0xc1,0x58,0xee,0x74,0x94,0x49,0x27,0x33,0xc9, + 0xb4,0xd3,0x24,0xd3,0x8f,0x19,0x8,0x4,0x25,0xd6,0x14,0xc1,0x82,0xa0,0x25,0xf9, + 0xd7,0xf7,0xdc,0x5,0x1,0x2,0x22,0x28,0x91,0x92,0x6c,0xa7,0x4e,0x25,0xdb,0xa2, + 0xee,0x2e,0xf6,0x71,0xf6,0xec,0xb9,0xf7,0x2e,0xd6,0x6f,0xff,0x72,0x7b,0xbd,0x88, + 0x3e,0x64,0xc5,0x7a,0x9e,0x2f,0xcf,0x6,0x3c,0x66,0x83,0x28,0x5b,0xa6,0xf9,0x74, + 0xbe,0xbc,0x3c,0x1b,0xfc,0xfa,0xcb,0xf7,0x23,0x37,0x88,0xd6,0x65,0xb2,0x9c,0x26, + 0x8b,0x7c,0x99,0x9d,0xd,0x96,0xf9,0xe0,0x2f,0xef,0x5e,0xbd,0xfd,0xd3,0x68,0x14, + 0x9d,0x17,0x59,0x52,0x66,0xd3,0xe8,0x66,0x5e,0x5e,0x45,0x3f,0x2c,0xdf,0xaf,0xd3, + 0x64,0x95,0x45,0x6f,0xae,0xca,0x72,0x35,0x19,0x8f,0x6f,0x6e,0x6e,0xe2,0xf9,0xd6, + 0x18,0xe7,0xc5,0xe5,0xf8,0x9b,0x68,0x34,0xc2,0x93,0xeb,0xf,0x97,0xaf,0xa2,0x28, + 0x42,0xb7,0xcb,0xf5,0x64,0x9a,0x9e,0xd,0xb6,0xf5,0x57,0x9b,0x62,0x11,0xea,0x4d, + 0xd3,0x71,0xb6,0xc8,0xae,0xb3,0x65,0xb9,0x1e,0xf3,0x98,0x8f,0x7,0xbb,0xea,0xe9, + 0xae,0x7a,0x4a,0x9d,0xcf,0x3f,0x64,0x69,0x7e,0x7d,0x9d,0x2f,0xd7,0xe1,0xc9,0xe5, + 0xfa,0x75,0xab,0x72,0x31,0x9d,0x35,0xb5,0x69,0x30,0x37,0x32,0x54,0xe2,0xde,0xfb, + 0x31,0x13,0x63,0x21,0x46,0xa8,0x31,0x5a,0xdf,0x2d,0xcb,0xe4,0x76,0xd4,0x7d,0x14, + 0x63,0xec,0x7b,0x54,0x30,0xc6,0xc6,0x28,0xdb,0xd5,0x3c,0xae,0xd6,0xe4,0x76,0x1, + 0x24,0xe,0xe,0x26,0x94,0xb6,0x7b,0x7,0xfa,0x2b,0xfc,0x6d,0x1e,0xa8,0xd,0xf1, + 0x3a,0xdf,0x14,0x69,0x36,0xc3,0x93,0x59,0xbc,0xcc,0xca,0xf1,0x77,0xbf,0x7c,0xd7, + 0x14,0x8e,0x58,0x3c,0x2d,0xa7,0xad,0x66,0x6a,0xf0,0x3b,0xfd,0x76,0x56,0x64,0x99, + 0x5c,0x67,0xeb,0x55,0x92,0x66,0xeb,0x71,0x6d,0xf,0xcf,0xdf,0xcc,0xa7,0xe5,0x15, + 0xc8,0x60,0xc2,0x6f,0x57,0xd9,0xfc,0xf2,0xaa,0x6c,0x7e,0x9d,0x4f,0xcf,0x6,0x98, + 0x9d,0x8,0xbf,0xd4,0x9d,0x4f,0x1a,0x6,0xb1,0x58,0x56,0x45,0x75,0x8b,0xed,0x22, + 0x55,0x35,0xd1,0xa1,0x5b,0xa7,0x99,0x69,0x9e,0x5e,0x24,0x6b,0xc,0x79,0x7c,0x95, + 0x5f,0x67,0xa3,0x45,0x9e,0x26,0x8b,0xf1,0x6a,0x71,0x91,0x25,0x9b,0x69,0x3e,0x5f, + 0x8e,0x7f,0xfe,0xfe,0xc7,0x7f,0x5c,0x81,0x87,0xe3,0xf5,0x6c,0xb1,0xea,0x7c,0x18, + 0x5d,0x96,0xef,0xc7,0xab,0xf9,0xed,0x75,0xb2,0x5a,0xef,0xb5,0x49,0x13,0x3d,0x1b, + 0xcc,0xd3,0x7c,0xf9,0x1b,0x1a,0x5c,0xc4,0xf5,0xea,0x34,0x63,0xcc,0x37,0xe5,0x6a, + 0x53,0xfe,0x96,0xdd,0x96,0xd9,0xb2,0x1a,0x1a,0xf0,0x69,0x81,0x15,0x8a,0xe9,0xb1, + 0xc6,0x36,0x78,0x87,0x6,0xde,0x4e,0xb3,0xd9,0x9a,0x1a,0xaa,0x60,0xa1,0xdf,0x54, + 0x28,0x40,0x11,0x16,0x35,0x4b,0x8a,0xbf,0x15,0xc9,0x74,0xe,0x2a,0x57,0x95,0x5a, + 0x3d,0xa6,0xf9,0x62,0x91,0xa5,0x80,0x35,0x59,0xdc,0x24,0x77,0xd5,0x90,0xe9,0x2b, + 0x90,0x61,0x72,0x55,0x64,0x20,0xef,0xeb,0x6e,0x1b,0x4a,0x18,0xdf,0xd4,0xa3,0xfe, + 0xba,0xc5,0x42,0x79,0xde,0x14,0x5f,0x6e,0x8d,0xbf,0x2e,0xe7,0x25,0x58,0xba,0x59, + 0x67,0xc5,0xcf,0xb4,0xd2,0x7f,0x5f,0xfe,0xba,0xce,0xf6,0x6a,0xfd,0x52,0x24,0xcb, + 0x35,0x68,0x75,0x7d,0x36,0xb8,0x4e,0xca,0x62,0x7e,0xfb,0x66,0xc4,0x87,0xc,0xdf, + 0x7c,0x28,0x45,0xcc,0x14,0x77,0x6e,0x38,0x12,0xb1,0x33,0xca,0xca,0x6f,0x76,0x43, + 0xe5,0x67,0x3,0x94,0x1a,0xcd,0x9d,0xb5,0x8d,0xf5,0xe,0x56,0x2e,0x62,0x23,0xb4, + 0x67,0x62,0x57,0x57,0x9c,0xd,0x4c,0xec,0xa4,0x75,0xce,0xb7,0xea,0xc2,0xca,0x65, + 0xec,0xb1,0x65,0xb4,0x1c,0x44,0xe3,0x2f,0x7,0x9d,0xf3,0xcf,0x87,0xae,0xa4,0x8f, + 0xb,0x48,0xe2,0x1b,0x30,0x5d,0x18,0xae,0x3,0x68,0xd6,0x8,0x2e,0x4d,0x17,0x35, + 0x1b,0x3b,0xcd,0xad,0x12,0xb2,0x8b,0x9a,0x8e,0x3d,0x17,0xd2,0xb9,0xe,0x6a,0x36, + 0xe6,0x9c,0x2b,0xa7,0x78,0x17,0x35,0x1e,0x6b,0x6f,0xa5,0xd0,0x9f,0x14,0x35,0xee, + 0xe4,0xc3,0xa8,0xd9,0x97,0x44,0xd,0xa,0xe6,0x95,0x65,0x1c,0xb0,0xb1,0xd8,0x1, + 0x21,0xef,0xba,0xb0,0x49,0x1e,0x1b,0x2f,0xbc,0x71,0x5d,0xd8,0x78,0x2c,0x8c,0x12, + 0x5b,0x79,0xaa,0x61,0x13,0x12,0x4d,0x38,0x67,0xf4,0x7d,0xb2,0x49,0xad,0xa1,0x50, + 0x5f,0x14,0x35,0xfd,0x92,0xa8,0xd1,0xec,0xc1,0x6e,0x3e,0x1c,0xc1,0x59,0x32,0x66, + 0xb5,0xe8,0x82,0xc6,0x59,0xac,0xad,0xf2,0xf2,0xfe,0x6,0xe5,0x5c,0x6b,0xed,0x3b, + 0x98,0x1,0x76,0xe3,0x34,0xf1,0x52,0x74,0x51,0x6b,0x6a,0x7f,0x51,0xd8,0xe4,0x89, + 0xb0,0xdd,0x56,0x7b,0xa,0xa2,0x85,0x1d,0xd8,0x99,0x3e,0x76,0x25,0x13,0x20,0x47, + 0x97,0x32,0x5c,0xc5,0xc,0x5b,0x55,0xba,0xee,0xe4,0x9,0x3f,0x83,0x26,0x9e,0x3d, + 0xf9,0xbe,0x49,0x49,0xb9,0xf5,0x17,0x68,0x76,0x5d,0xe6,0xab,0xba,0x2e,0xfc,0x57, + 0x79,0xb7,0x80,0xd3,0x22,0xe3,0x8,0x2d,0xe6,0xc5,0xe4,0x35,0x63,0xe,0xb1,0xc5, + 0xb7,0xc1,0x94,0x63,0xbe,0xf3,0xf2,0x6e,0xc2,0xbf,0x1d,0xec,0x9e,0xc9,0x67,0xb3, + 0x75,0x86,0x8e,0x59,0xcb,0x16,0xfc,0x35,0x9e,0x40,0x5f,0x3b,0xb1,0x78,0x6a,0x6f, + 0xac,0xaf,0x37,0xde,0xdf,0x9b,0xdd,0x1,0x36,0xee,0x4e,0xfb,0x93,0x71,0x28,0xe0, + 0xf9,0x20,0xdc,0xbe,0xc3,0xe,0x11,0x7b,0xa3,0xad,0xd6,0x1d,0x72,0x90,0xf8,0x60, + 0xee,0xd8,0xa6,0xaa,0x43,0xf,0x78,0x42,0x6d,0x9d,0x10,0xf7,0xe8,0x61,0x62,0x2b, + 0xbd,0xf4,0xc7,0x92,0xb3,0xc1,0xa4,0x99,0xe7,0xa,0xd1,0xd0,0xa,0x13,0x45,0x30, + 0x5b,0x37,0xd1,0xc4,0x2e,0xe5,0x1d,0xc5,0x6f,0xdd,0xaa,0x72,0x3a,0xd8,0xc3,0xea, + 0xc3,0xea,0xb7,0x5b,0x2c,0x7b,0x34,0x89,0x1c,0xfe,0xf2,0xde,0xa,0x77,0x55,0x5, + 0x68,0x4,0xfd,0x60,0xbd,0x75,0x3e,0xd2,0x84,0xe,0xb7,0xb2,0xed,0x7f,0x94,0x17, + 0xf3,0xcb,0x39,0x82,0x24,0xaa,0xa6,0x63,0x59,0x7d,0x75,0x1f,0x1,0xf8,0xad,0x89, + 0x29,0xe1,0x1e,0xf7,0xef,0x7b,0xeb,0x25,0xa5,0x65,0x27,0x6c,0x8f,0xa9,0xa5,0xef, + 0x27,0x6e,0xf,0xf4,0x25,0x4e,0xda,0x1e,0x36,0xa5,0xef,0x23,0x7a,0xeb,0xdb,0x1e, + 0xe8,0x4d,0x3d,0x71,0x7b,0xf4,0xa0,0x64,0xc4,0x49,0x22,0xc2,0x9e,0x2e,0x22,0xe8, + 0x4b,0x9d,0x84,0xd2,0x2c,0x7c,0x3d,0x19,0x25,0x28,0xf4,0xb,0xa1,0xa4,0x98,0xd2, + 0x27,0xa0,0xd4,0x37,0x6e,0x76,0x24,0x48,0xe8,0xca,0x9e,0x6,0x52,0x3a,0xbb,0x48, + 0x2f,0xee,0x81,0x74,0x24,0x46,0xe8,0xcc,0xbf,0x18,0x46,0x14,0x25,0x1f,0x3f,0x6c, + 0x3e,0xbd,0x78,0x3a,0x93,0x94,0xb0,0xfc,0x24,0x90,0xfa,0x7a,0x3b,0xda,0x1d,0xa1, + 0x37,0xf9,0x62,0x28,0x51,0xa0,0x72,0x60,0xdc,0x4d,0x7f,0xbc,0x15,0xe4,0xf5,0x3, + 0x71,0x3c,0xa0,0x7,0x51,0x6a,0xf5,0x66,0x1f,0x1,0xa2,0x4f,0x8,0x66,0x7a,0xf6, + 0x40,0x6f,0xcf,0x46,0xc9,0xd8,0x13,0xb8,0x44,0xa1,0x6,0xcb,0x9e,0xca,0x25,0x6e, + 0xfc,0x49,0x5c,0x22,0x98,0xb9,0x7a,0x2a,0x97,0x78,0x8b,0xb9,0x9f,0x2d,0xb4,0x79, + 0x2c,0x3c,0x16,0xa2,0x15,0xad,0xf0,0x10,0x97,0x38,0x61,0xac,0xdf,0x85,0xb8,0x14, + 0xdb,0x20,0x58,0x41,0xdc,0x6b,0x5b,0xe1,0x70,0xc8,0x95,0x6c,0xac,0x91,0xaf,0x77, + 0xe2,0x1a,0x81,0x68,0x87,0xb,0xcd,0x5e,0x20,0x57,0xd9,0x1e,0x29,0x20,0xac,0xb2, + 0x9a,0x9,0x1d,0xe,0x16,0x76,0xbf,0xc4,0xc6,0x18,0xcb,0x24,0x3e,0x70,0x6b,0x3d, + 0xb3,0xdf,0x3c,0x16,0x27,0x74,0xf,0xd,0xda,0xf3,0xe8,0x39,0x60,0xe8,0x3f,0x8c, + 0xe8,0x3d,0xb8,0x78,0xde,0x61,0xc8,0x71,0xe8,0xec,0x2f,0x1c,0xef,0xe4,0xfb,0xc7, + 0x9e,0x60,0x1c,0x22,0xd2,0x23,0xd0,0x3d,0xf9,0xd0,0xe2,0xb8,0xd9,0x7d,0xaa,0x95, + 0xe9,0x45,0xcd,0x7c,0x76,0xd4,0x8e,0x98,0x7c,0x93,0x2b,0xb6,0x27,0xdf,0x93,0x57, + 0xf6,0xe7,0xa0,0xbd,0xf9,0x6a,0xef,0xe4,0xd5,0xe9,0x92,0xf1,0x29,0x28,0xf3,0xe0, + 0x89,0xcd,0x9,0xb0,0x41,0x6b,0xa4,0xb6,0x5c,0x77,0x60,0x93,0x3c,0x96,0x70,0x22, + 0xee,0x3e,0x65,0xee,0x57,0x25,0x2c,0x55,0x2c,0xbd,0x6d,0x8b,0x55,0x2f,0x6a,0xe2, + 0xf7,0x81,0xda,0x43,0x27,0x36,0x27,0x81,0xe6,0x84,0x76,0xbe,0xbb,0xd1,0x2c,0x76, + 0x9f,0xc4,0x1f,0x7d,0x1f,0xb5,0xfb,0x75,0x79,0x38,0x7d,0x67,0xa,0x6c,0x33,0xf, + 0xa3,0xc6,0x3e,0x1b,0x6a,0x7d,0xdd,0x5b,0xf5,0x58,0xac,0x85,0x3a,0xbb,0x19,0x1c, + 0x1d,0x6b,0x1d,0x8,0x38,0x1e,0x8d,0xb5,0xd0,0x9b,0xeb,0xe9,0xed,0x91,0x58,0xeb, + 0x40,0xc0,0xf1,0x42,0xb1,0x16,0xc4,0xc5,0x9d,0x10,0x6b,0x9,0xf3,0x8c,0xb8,0x9d, + 0x53,0x4e,0x7e,0x52,0xdc,0xae,0x7a,0xc3,0xcc,0xe3,0x62,0x2d,0xde,0xce,0xca,0x9f, + 0x8f,0xd2,0xc1,0x3c,0x79,0xd7,0x9f,0x51,0xa7,0x73,0xe9,0x0,0xa0,0x47,0x70,0xc9, + 0xf4,0x31,0xf7,0x11,0x2e,0xf5,0xf5,0xf6,0x64,0x2e,0x7d,0xba,0x88,0x94,0x2b,0x66, + 0x4e,0x94,0xb5,0xdf,0xdb,0x81,0xed,0xb3,0x26,0xef,0x4e,0x9c,0xfc,0xff,0xf,0xf9, + 0x9,0x36,0xce,0x5e,0x12,0xb6,0xaf,0xe5,0x8d,0xd2,0xc3,0x6f,0x2f,0x81,0x9a,0x78, + 0x49,0xd4,0xbe,0x96,0xb7,0x97,0x8f,0xa2,0xa6,0x9e,0x8f,0xda,0xef,0xe1,0x75,0x39, + 0x8d,0x2a,0x59,0xbc,0x28,0x74,0x74,0x58,0xda,0x86,0xae,0xdb,0x85,0x62,0x7a,0xb7, + 0x9e,0xe9,0x2d,0x6,0xe5,0x63,0xe1,0x3a,0x51,0x79,0x7a,0x77,0x36,0xf0,0x31,0xd9, + 0x54,0xeb,0x60,0x62,0xd6,0x5b,0x77,0xd6,0x5b,0xb7,0x8,0xaa,0xe6,0x82,0xf9,0xc4, + 0x75,0x5a,0xaf,0x8a,0x2c,0x99,0xfe,0x94,0x95,0x57,0x39,0x8d,0x3d,0x9b,0xd1,0xfc, + 0x8f,0x3a,0xa1,0xc0,0xd2,0x21,0x8f,0xd8,0x9e,0x50,0x6c,0x7f,0x21,0x35,0x60,0x5a, + 0xb9,0xa1,0x8e,0xad,0xb0,0x42,0xb9,0xfa,0x84,0xe2,0xed,0x98,0x2e,0x7c,0x84,0x4f, + 0xcd,0xb,0x1b,0xba,0x69,0x32,0xfd,0x30,0xcf,0x6e,0x5e,0x35,0xd8,0xd1,0x85,0x96, + 0x6d,0xe7,0xab,0xe4,0x32,0xb,0x5e,0x1c,0x88,0x57,0x27,0xcc,0xdb,0x82,0x8b,0xbc, + 0x98,0x66,0x45,0x5d,0x64,0xc2,0x57,0xa7,0x68,0xeb,0xe8,0x77,0x57,0x66,0xda,0x6f, + 0x65,0xd0,0x6a,0x53,0xce,0xfa,0xcb,0xd7,0x57,0xc9,0x34,0xbf,0x1,0x1,0xef,0x17, + 0x7e,0xcc,0xf3,0xeb,0xb0,0x21,0x25,0x45,0x76,0xee,0x7e,0x31,0xad,0xae,0x80,0xc7, + 0x40,0xce,0xc5,0xfc,0x5e,0x21,0xfa,0x93,0x31,0x37,0x6,0xf1,0x88,0xbd,0x5f,0x38, + 0xcd,0xd3,0xd,0x5d,0xe2,0x1a,0x6d,0xaa,0xb5,0x5a,0xdd,0xee,0x3d,0xbe,0x29,0xa, + 0xaa,0xb0,0x48,0xee,0x32,0x4c,0x3b,0xfc,0xa8,0x79,0xd5,0x5c,0x41,0x6a,0x1e,0xdb, + 0x5d,0x43,0x6a,0x4c,0xeb,0xab,0xfc,0xe6,0x72,0x33,0x9f,0x66,0x6b,0x92,0xaf,0x4d, + 0x76,0xbf,0x83,0x50,0x36,0xba,0xb8,0xc8,0x6f,0xfb,0xcb,0x6f,0xe6,0x4b,0x80,0x32, + 0xaa,0xfb,0x62,0xd,0xd1,0xee,0xd7,0xa8,0xfb,0xb6,0x62,0xf,0xbf,0x6d,0xd,0xf4, + 0x20,0xa5,0x39,0x50,0x78,0x47,0x18,0xfa,0xf6,0xa0,0xb,0x22,0xc6,0x2c,0x59,0xac, + 0xb3,0xfa,0xba,0x50,0xc3,0xa0,0x30,0xe8,0x9a,0xab,0x79,0x41,0x4c,0x4d,0xca,0x70, + 0x25,0xe9,0x43,0x56,0x94,0xf3,0x34,0x59,0x34,0x4c,0x5e,0xe5,0xeb,0x79,0x55,0x84, + 0x4,0xd8,0x9,0x6c,0x1f,0xd7,0xd9,0xb5,0xa1,0x29,0xc9,0x95,0x69,0x8,0xbb,0xcf, + 0xd3,0x60,0xbf,0xce,0xca,0x64,0x9a,0x94,0xc9,0x8e,0xb4,0xb5,0xa5,0x3e,0xc3,0x7d, + 0x5b,0x4c,0x67,0x93,0x7f,0x7e,0xf7,0x7d,0x13,0xd1,0xa6,0xe9,0xe4,0x5f,0x79,0xf1, + 0x7e,0x17,0xa9,0x52,0x85,0xe4,0x22,0xdf,0x0,0xa6,0x26,0xca,0xa6,0x1b,0x52,0xe9, + 0x84,0xf6,0x58,0x52,0xbe,0x9b,0x5f,0x83,0x87,0x74,0x31,0xee,0xcf,0xb7,0xd7,0xb, + 0xec,0x9d,0xa6,0xa0,0x53,0x99,0xde,0x78,0xee,0x1a,0xad,0x9a,0x2d,0xb2,0xea,0xe2, + 0x5b,0xef,0x5d,0xc1,0x69,0x7a,0x3d,0xa7,0x87,0xc6,0x3f,0x97,0xf3,0xc5,0xe2,0x7, + 0xea,0xa4,0x1d,0x79,0x8f,0xb7,0x3,0xad,0x83,0xe3,0xd6,0x3c,0xde,0x8e,0xeb,0x59, + 0x86,0xdf,0x2e,0xef,0x2d,0xde,0x22,0xb9,0xc8,0x16,0x67,0x83,0xf3,0x64,0xf1,0x9f, + 0x4d,0xd6,0xbc,0xda,0xdc,0x91,0xab,0xc8,0x37,0xab,0xeb,0x7c,0x9a,0x6d,0x99,0x3b, + 0xd8,0x81,0xb7,0x65,0xf2,0xb6,0xcb,0x55,0x52,0x5e,0x35,0xca,0xd4,0x7d,0xb1,0x9b, + 0x14,0xe9,0x4e,0xb4,0xaa,0x48,0x7f,0x86,0x49,0x4c,0x30,0xbd,0x37,0xaf,0xf7,0x35, + 0xf7,0x9b,0x6f,0xa9,0xb4,0x95,0x62,0xac,0xcb,0x22,0x7f,0x9f,0x4d,0x96,0xf9,0x32, + 0xdb,0x7e,0xae,0xc8,0x3c,0x41,0x10,0xed,0xe9,0xcb,0xd5,0x75,0x46,0x0,0x29,0x2b, + 0x16,0x73,0xfc,0x98,0xa8,0xda,0x36,0x4d,0x20,0xb,0x45,0x91,0xdc,0x75,0x5a,0xd8, + 0x7f,0x3,0x15,0x5e,0xe6,0x62,0x16,0x92,0x9b,0x9d,0x8b,0x6a,0xa6,0xd2,0xef,0x0, + 0x76,0xc5,0xbd,0xea,0xde,0x14,0x17,0x78,0xda,0xc5,0x8c,0xce,0x74,0x5a,0x41,0xc2, + 0xae,0xf8,0xae,0xaf,0x18,0xe3,0xf9,0x29,0x12,0x36,0x96,0xc4,0x79,0x3f,0x6c,0x9a, + 0x8f,0xfe,0x1a,0x35,0x95,0x87,0xcd,0xa7,0x88,0x45,0x9c,0xbe,0xa1,0xe3,0x9a,0xf2, + 0xf0,0x23,0xeb,0xf7,0xb5,0xff,0xb1,0x19,0x42,0xd9,0xe3,0x3d,0xb4,0xa4,0xa8,0x46, + 0xd6,0xee,0xc3,0x1a,0xa,0x41,0x86,0x90,0x56,0x2f,0x5,0x72,0x17,0xd8,0xe8,0xca, + 0x14,0x67,0xba,0x75,0xc6,0xdd,0x61,0x47,0x8b,0x2,0x61,0x45,0x3a,0xcb,0xcd,0x62, + 0xab,0x2b,0x4b,0xb1,0x59,0x64,0x93,0xec,0x43,0xb6,0xcc,0xa7,0xd3,0x9a,0x3,0xaf, + 0x45,0x62,0x66,0x7c,0xda,0xa5,0x1,0x8b,0xa5,0x61,0xd2,0xf8,0xd5,0x6d,0x6d,0x27, + 0x3f,0xf,0xfa,0x4e,0x2e,0x36,0x65,0xd9,0xb6,0xfd,0x3b,0x9f,0x2f,0x27,0x81,0x23, + 0xf7,0x69,0x80,0x89,0x78,0x64,0x33,0xa2,0x75,0x7a,0x16,0xe0,0x7,0x9c,0x56,0x78, + 0xcf,0xed,0x50,0xc6,0xc2,0x3a,0xc3,0xad,0x8d,0x7e,0x6c,0x59,0xe1,0xa8,0xc,0xc2, + 0x79,0x6e,0xf7,0x68,0x24,0x84,0xb6,0xfb,0x2b,0x8d,0xc9,0x64,0xb4,0x2b,0xa0,0xe5, + 0x69,0xfa,0x35,0xe0,0x43,0x9e,0x91,0x7b,0xa5,0x87,0xc8,0x52,0x85,0x55,0xcc,0x4a, + 0xc2,0x47,0xc3,0xd1,0x22,0x27,0xe1,0x43,0x41,0x71,0x1c,0xc7,0xb3,0x7d,0xf8,0xf8, + 0x3f,0x12,0x3e,0x9a,0x5e,0x1,0x31,0x65,0x75,0x7,0x1f,0x13,0x5b,0xec,0x25,0xa6, + 0x7d,0xf,0x3e,0xa6,0x47,0x29,0xbe,0x3a,0x7c,0x9a,0x9d,0x64,0x10,0x89,0x2a,0xe4, + 0x2,0xa6,0xb3,0xbf,0x1c,0x72,0x6,0x2f,0xb5,0xec,0xdb,0x5f,0x46,0xfe,0x1,0xf0, + 0x41,0xe3,0xcc,0x6b,0xd9,0xd0,0xc7,0x3,0x1e,0x17,0x73,0x8d,0xec,0x48,0x98,0x86, + 0x3e,0xa2,0xf,0x9e,0x1e,0x37,0xf5,0xd5,0xc2,0x53,0xab,0x8f,0xd8,0xc1,0x3,0x17, + 0xf5,0x90,0xfa,0x98,0xe3,0xd5,0xf9,0xb2,0x13,0x6e,0xa,0xa5,0x5a,0xef,0x12,0x1e, + 0x8e,0xa3,0xfa,0x3d,0x28,0x6,0xea,0xbc,0x57,0x5b,0xf,0x6a,0xb4,0xa3,0xef,0x21, + 0x44,0x1,0x49,0x35,0xb8,0xe,0x9b,0xd6,0x9e,0x3b,0x83,0x1c,0xac,0x89,0xf0,0x9a, + 0x31,0xf4,0xac,0x50,0x8d,0x7e,0x73,0xe9,0xe9,0x3e,0x76,0xca,0x1b,0xa7,0x75,0xfb, + 0xae,0xc6,0xfe,0xb0,0x46,0xa8,0x87,0xdd,0x67,0x9d,0xa0,0x63,0x24,0xab,0x1d,0x73, + 0x48,0xf7,0xe9,0x3,0xb7,0x9a,0xf,0xab,0x62,0x2b,0x41,0x3a,0x19,0x6b,0xaf,0x85, + 0x71,0xf8,0x84,0xd4,0x55,0x30,0xe5,0x5b,0xe7,0x74,0x35,0x48,0xdc,0xf1,0x76,0x80, + 0xdc,0x66,0xd8,0x41,0xc8,0xd7,0x69,0x9a,0x7e,0x4c,0xc3,0x8f,0x34,0x1d,0xb4,0xab, + 0x37,0xcb,0xd6,0x3e,0x59,0x6b,0x58,0xa0,0xe8,0xb8,0xd0,0x1b,0x20,0x3a,0xa,0xf9, + 0x2c,0x47,0x6,0xe3,0xa3,0xf3,0x48,0x1,0x48,0xec,0xd,0xef,0x28,0x26,0x41,0xb2, + 0xaf,0x9c,0x30,0x91,0xf4,0x80,0x99,0x39,0x63,0x69,0x72,0x16,0x29,0x9f,0x54,0x30, + 0x5a,0xcc,0x49,0x8,0xe9,0x6b,0x23,0x67,0x6,0xd,0x48,0x83,0x86,0x5,0x16,0xab, + 0x6d,0x96,0x2a,0xe6,0xc8,0x36,0xc2,0x3a,0x71,0x6d,0x1c,0x84,0xca,0x45,0x12,0xa0, + 0x0,0x1b,0xed,0xc3,0x10,0x3c,0xd8,0xe5,0x18,0x45,0xa,0x64,0x47,0x90,0xca,0x25, + 0x1d,0x95,0x80,0x93,0x18,0x9a,0xe9,0x9a,0x65,0xcc,0x9c,0xd4,0xcc,0x68,0xea,0x8f, + 0x7,0x1a,0x73,0x45,0x66,0x6d,0x29,0x8a,0xe2,0x11,0x40,0xf6,0xde,0xb2,0xca,0x88, + 0x2d,0xa0,0x8d,0xb4,0x14,0xb6,0x69,0xa1,0x8d,0x90,0x8d,0x51,0x49,0x34,0x80,0xc, + 0x9,0x49,0xbc,0x90,0x2d,0xb3,0x8f,0xe8,0x48,0x4f,0x32,0x6b,0x6d,0xd5,0x2a,0xa2, + 0x37,0xee,0x22,0x81,0x38,0xd1,0x23,0x6e,0x9,0x3,0x50,0x46,0x20,0xaa,0xc3,0xb8, + 0x76,0x56,0x6c,0x2c,0x25,0x21,0x39,0x34,0x2c,0x51,0x1d,0xa6,0x5a,0x9a,0xb1,0xb0, + 0x1e,0x3d,0x30,0x15,0x51,0x30,0x2c,0x38,0x2a,0x85,0x5b,0xe,0x86,0x79,0x87,0x11, + 0x70,0xb,0x9c,0x4,0xa2,0xc8,0xda,0x68,0x11,0x4e,0x9e,0x47,0xdc,0x20,0x70,0xc6, + 0x70,0x3b,0x66,0xae,0xa0,0xed,0x52,0xd0,0x3e,0x0,0xb5,0x24,0xc2,0x25,0xab,0xc8, + 0x5f,0x7a,0xae,0x81,0x48,0x67,0x29,0x7f,0xa4,0xca,0xf4,0x36,0x1c,0x61,0xed,0x48, + 0xc7,0x8,0x39,0xd,0x96,0x90,0x1a,0xc6,0x5e,0x17,0xf0,0x13,0xe0,0x2c,0xe2,0x58, + 0xee,0xac,0xe3,0x2a,0x12,0x40,0x9a,0x5c,0xaa,0x1e,0x8e,0x1c,0xbd,0x31,0x65,0x60, + 0x35,0x1,0xa6,0xe8,0xa0,0x49,0x90,0x51,0x6b,0x34,0x85,0x48,0xe,0x88,0x8b,0x78, + 0xdb,0xac,0x8b,0x15,0xf5,0x2b,0x69,0xd1,0x11,0x9a,0x70,0x10,0x1d,0x6d,0x5a,0xa6, + 0x91,0xf,0x70,0xa2,0x92,0xb,0xd1,0x1f,0xf5,0x8f,0x29,0x48,0xec,0x5f,0xc,0xab, + 0x9f,0x79,0x1f,0x3b,0x14,0xdd,0x6e,0xd7,0x5d,0x3e,0x73,0x40,0x5a,0xf9,0x81,0x7d, + 0x5c,0xab,0xa8,0xd1,0xda,0x4a,0x6f,0xf8,0xc3,0x8a,0x79,0x7c,0x6,0x44,0xd6,0xea, + 0x65,0xcc,0xe4,0x21,0xcd,0x68,0x67,0x99,0x97,0x7d,0x72,0xd4,0x2f,0x25,0x8a,0x55, + 0x2b,0xc0,0xe8,0x70,0x95,0x4e,0x96,0x86,0xbb,0x4f,0xed,0x72,0x28,0x38,0xad,0x9f, + 0xf7,0x43,0xac,0x10,0x68,0x6a,0x9c,0xda,0x17,0x13,0xa5,0x1f,0x16,0x93,0x5e,0x84, + 0x43,0x7a,0xb9,0x7f,0xbd,0xfe,0x50,0x7a,0x49,0x37,0xc5,0x4c,0xf,0xea,0x42,0x7f, + 0xe,0xc0,0xf9,0xbe,0xaa,0x71,0x12,0x1f,0x6,0xef,0x6,0xe7,0xa6,0xbd,0xb4,0xb4, + 0x13,0x9,0x2d,0x6c,0x56,0x8,0x92,0x82,0x17,0xb1,0x96,0x81,0xd9,0x16,0xfb,0x10, + 0x23,0xe7,0x9e,0x8e,0xee,0x90,0xd,0x1b,0xa9,0x22,0x19,0x2b,0x40,0xed,0xb1,0x8d, + 0x50,0xea,0xb8,0xa0,0xbd,0x8d,0x4,0x46,0x2a,0x4d,0x36,0xb4,0x22,0x4,0x36,0x5, + 0x69,0xa4,0x8c,0xad,0x53,0xc6,0xf1,0x60,0xf5,0x74,0x6f,0x8a,0x47,0x3a,0xbc,0x70, + 0xd2,0x50,0x11,0x3a,0xc2,0x86,0xfc,0x81,0xd3,0xa6,0x69,0x71,0x67,0x3b,0x47,0xdf, + 0x16,0x3b,0xa5,0x6b,0x75,0x68,0x46,0x3b,0xc5,0x82,0x2d,0xbc,0x7b,0x77,0x91,0x8f, + 0xb5,0xb2,0xac,0xee,0x9b,0x14,0x86,0x36,0xf5,0xce,0xea,0x63,0xec,0xdd,0x30,0x41, + 0x1e,0x83,0x77,0x86,0x39,0x8a,0xfc,0x20,0xd7,0x5c,0x44,0xf4,0x5a,0x1f,0xc4,0xd1, + 0x64,0x52,0x4,0x3,0x1,0x23,0x74,0xfd,0xdb,0x39,0x29,0x11,0xe2,0x22,0xc8,0xc7, + 0xd6,0x84,0xe4,0x97,0x24,0x4b,0x62,0x5e,0x21,0x80,0x74,0x48,0x50,0x99,0x24,0x59, + 0x80,0x26,0x7b,0x28,0x80,0x27,0xdd,0xe,0x98,0xec,0x6c,0x18,0x17,0x37,0x9a,0x7, + 0x4c,0x20,0x98,0xd2,0x7a,0xa1,0xc8,0xe8,0xac,0xa7,0x9,0x40,0x58,0x49,0x77,0xe1, + 0x12,0xe9,0x10,0xd1,0x49,0x9a,0xa8,0xd0,0x31,0x52,0xde,0xf0,0x70,0x63,0x3b,0xf, + 0x9,0x35,0x14,0x5c,0xd8,0x76,0x4d,0x48,0x8e,0x84,0xae,0x85,0x6,0x95,0x25,0x8c, + 0x5,0xdc,0x10,0xe0,0x92,0x55,0xcf,0x8c,0x2e,0xb1,0xd1,0x78,0x0,0x1e,0xc0,0x81, + 0xd5,0x6e,0xc7,0x18,0x34,0x5d,0xe1,0x59,0xb8,0x5b,0xd,0x89,0xa1,0x1d,0x42,0xb3, + 0x73,0xdc,0x8,0x24,0xdb,0xd0,0x50,0x4f,0x6f,0x12,0x75,0xf,0x5d,0x3e,0xf6,0xbb, + 0x50,0xa5,0xbb,0x2e,0xb4,0x3f,0xfa,0x21,0x2f,0x5c,0xfd,0x49,0x5b,0x12,0xf0,0xcc, + 0xcd,0xa7,0x4f,0xdc,0x7c,0xda,0xc2,0x6d,0x4b,0xa1,0xbe,0xd0,0xe,0x4,0xe7,0x99, + 0xd5,0xe4,0x8e,0xe1,0x96,0xb0,0xc1,0x90,0x89,0x54,0x9c,0x77,0x81,0x99,0x2d,0x2b, + 0x96,0xd,0x2b,0x2d,0xcd,0x90,0x5e,0x72,0x70,0xa6,0x9c,0x27,0x72,0xd3,0x89,0x31, + 0x6d,0x3,0xf8,0x23,0x8e,0x65,0xaa,0x18,0x5f,0x1b,0xc9,0xe9,0x81,0xfb,0x44,0x19, + 0x7,0x57,0x8d,0x7c,0x10,0x3b,0x98,0x7,0x7f,0x2,0xbf,0x1d,0x7a,0x41,0xf0,0x1a, + 0xe,0xe6,0x11,0xc0,0x7a,0x70,0xb0,0x35,0x9c,0xc6,0x86,0x20,0x7,0x5d,0x6b,0xd5, + 0xb5,0xc2,0x89,0x82,0x63,0xd8,0xe2,0xa1,0x41,0x89,0x41,0xd2,0xee,0x27,0x83,0xd, + 0x1c,0x54,0x70,0x54,0xaa,0x92,0x84,0xda,0x48,0xfb,0xce,0x88,0xe0,0x54,0x21,0x9, + 0x6,0xe2,0xe2,0xc2,0x6c,0x10,0x9a,0xa,0xe3,0x43,0x2f,0x70,0xda,0x46,0xb7,0x26, + 0xdd,0x7,0xcf,0x41,0xce,0xe9,0x23,0x39,0xf7,0x82,0x6c,0xb3,0xff,0x5b,0x6c,0x23, + 0x39,0xc1,0x52,0x90,0x22,0x20,0x6f,0x41,0x92,0x61,0x1a,0x39,0x41,0xec,0xd4,0xb6, + 0x92,0x9c,0x28,0x8,0x8b,0x1d,0x56,0x17,0xc5,0x1c,0xa2,0x34,0xe8,0x9,0xa7,0xff, + 0x67,0x1d,0x4,0xca,0x53,0x8,0x48,0x7c,0x6b,0x59,0x21,0x88,0x50,0xb0,0x2a,0x9e, + 0x73,0x24,0x4c,0xbc,0x52,0x6d,0x86,0xf8,0xd7,0x54,0xe7,0x80,0x90,0x19,0x1f,0x28, + 0xa3,0x4,0x3,0xe,0xed,0x11,0x35,0xb6,0xa0,0x47,0x1a,0xb1,0x74,0xc7,0xa,0xc5, + 0x44,0x74,0xcd,0xb9,0xb,0x2d,0x22,0x6c,0x30,0x86,0xb4,0x95,0x62,0x41,0xca,0x6c, + 0x18,0x31,0x85,0x73,0x53,0x29,0x6e,0x6d,0xe5,0xb1,0x23,0x5d,0x53,0x5b,0xc5,0x45, + 0xe0,0x4b,0xe7,0x88,0x74,0x23,0x97,0x19,0xa5,0xab,0x7e,0xac,0x90,0xb6,0x3d,0xf3, + 0x1e,0x8c,0xe,0x52,0xce,0x7e,0x7e,0xca,0xf9,0xe3,0xf,0xaf,0xbf,0x38,0xdf,0xc, + 0x39,0x58,0x1,0xd7,0x11,0x44,0x42,0xc3,0x91,0xbb,0xa0,0x45,0xcc,0x20,0x1a,0x13, + 0xb2,0x65,0x75,0xc8,0x2,0xa5,0xf6,0x2c,0xac,0xa4,0xd,0xff,0xb,0xca,0x63,0xbd, + 0x3c,0x22,0xd2,0x40,0x2c,0x2e,0xbd,0x83,0xcf,0x25,0x79,0xc3,0xca,0x29,0xac,0xe3, + 0x90,0xa2,0x71,0xe8,0x5c,0x20,0x8c,0xa3,0xb5,0x45,0x2a,0x41,0x4e,0xd,0xba,0x4, + 0x8f,0xa9,0x28,0x47,0x17,0x8,0xcc,0x99,0x19,0x12,0x97,0x11,0x79,0xa3,0xa6,0x41, + 0x48,0x83,0xd4,0xc2,0xb6,0x4c,0xe7,0xf4,0x1f,0xaf,0xc0,0xe5,0x8e,0x91,0xfc,0x21, + 0xe2,0x60,0x90,0x0,0xad,0x58,0x6f,0x95,0xa2,0x80,0x7,0xea,0x84,0x24,0x86,0xa3, + 0xf,0xfc,0x8b,0xac,0xa2,0xd2,0x37,0xa8,0x80,0xf2,0xa4,0x64,0xe4,0x64,0x15,0x85, + 0xf7,0xa4,0x98,0x2c,0xc4,0x32,0x36,0x4c,0x47,0x48,0x87,0x50,0x5e,0xc7,0x50,0x74, + 0x6f,0xb7,0x8a,0x59,0x4d,0xbb,0xf,0xa0,0x83,0x64,0xf3,0x9f,0x9d,0x6c,0xfe,0x84, + 0x37,0x25,0x5f,0x9c,0x6c,0xd8,0xb8,0x46,0x82,0x43,0x7e,0x2b,0x10,0x8d,0x94,0x40, + 0xd9,0x10,0x62,0xb5,0xac,0x24,0x25,0x8,0xf7,0x2,0xd7,0xc,0x16,0x5e,0x6,0x25, + 0xc1,0x1a,0xa,0x1e,0x96,0x91,0x49,0xcc,0xc4,0x56,0x4a,0x82,0x8c,0xb,0x69,0x4, + 0x91,0xcd,0x5a,0x78,0x3e,0x5b,0x29,0x9,0x27,0x29,0x52,0xf4,0xa6,0x3,0xd,0x41, + 0x6,0xa8,0x1b,0xee,0x1c,0x28,0x4a,0x1,0xa2,0xe2,0x20,0xb2,0xa5,0x1,0x69,0x4b, + 0xc1,0x69,0xcb,0x86,0xa7,0xd,0x72,0xed,0x90,0xa8,0xb6,0x6a,0xda,0x10,0x6c,0x85, + 0xf8,0x13,0x49,0x23,0xb2,0x53,0x1b,0x14,0xd8,0x23,0x2f,0x74,0xe8,0x5b,0x61,0x2, + 0xac,0x1a,0x11,0x39,0x72,0x27,0x6d,0xf0,0xee,0x20,0xbf,0x90,0xbe,0x52,0x5b,0x81, + 0x59,0x98,0x10,0xe9,0xd1,0x45,0x13,0x6a,0x11,0x69,0x25,0x68,0xd7,0x9e,0x76,0xf, + 0x40,0x87,0xc8,0x66,0xf8,0x13,0xc8,0xd6,0x64,0x6f,0xdb,0xf,0xe1,0xc7,0x5b,0x7a, + 0x53,0xf9,0xee,0xd5,0x7f,0x1,0x31,0x5,0x7d,0xe7, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/current.svg + 0x0,0x0,0x12,0x57, + 0x0, + 0x0,0x69,0xb1,0x78,0x9c,0xed,0x5c,0x59,0x73,0xe3,0x46,0x92,0x7e,0xf7,0xaf,0xc0, + 0xca,0x2f,0xee,0x58,0x12,0xac,0xfb,0x50,0xb7,0x3c,0xf,0xed,0xf0,0xc4,0x44,0x78, + 0x62,0x37,0xd6,0x76,0xcc,0xe3,0x4,0x44,0x82,0x12,0xa7,0x29,0x82,0xb,0x52,0x2d, + 0xc9,0xbf,0x7e,0xbe,0x2c,0x80,0x20,0x40,0x16,0x45,0x52,0xa2,0xe,0xdb,0xa3,0x3e, + 0x44,0x24,0xa,0x95,0x55,0x99,0x5f,0xe5,0x85,0x62,0x7d,0xfa,0xcb,0xfd,0xcd,0x34, + 0xf9,0x9a,0x97,0x8b,0x49,0x31,0xbb,0x38,0xe3,0x29,0x3b,0x4b,0xf2,0xd9,0xb0,0x18, + 0x4d,0x66,0x57,0x17,0x67,0xbf,0xfe,0xf2,0x63,0xdf,0x9d,0x25,0x8b,0x65,0x36,0x1b, + 0x65,0xd3,0x62,0x96,0x5f,0x9c,0xcd,0x8a,0xb3,0xbf,0x7c,0xff,0xcd,0xa7,0xff,0xea, + 0xf7,0x93,0xcf,0x65,0x9e,0x2d,0xf3,0x51,0x72,0x37,0x59,0x5e,0x27,0x7f,0x9b,0x7d, + 0x59,0xc,0xb3,0x79,0x9e,0x7c,0x77,0xbd,0x5c,0xce,0xcf,0x7,0x83,0xbb,0xbb,0xbb, + 0x74,0x52,0x13,0xd3,0xa2,0xbc,0x1a,0x7c,0x48,0xfa,0x7d,0x3c,0xb9,0xf8,0x7a,0xf5, + 0x4d,0x92,0x24,0x60,0x3b,0x5b,0x9c,0x8f,0x86,0x17,0x67,0x75,0xfb,0xf9,0x6d,0x39, + 0xd,0xed,0x46,0xc3,0x41,0x3e,0xcd,0x6f,0xf2,0xd9,0x72,0x31,0xe0,0x29,0x1f,0x9c, + 0xad,0x9b,0xf,0xd7,0xcd,0x87,0xc4,0x7c,0xf2,0x35,0x1f,0x16,0x37,0x37,0xc5,0x6c, + 0x11,0x9e,0x9c,0x2d,0xbe,0x6d,0x35,0x2e,0x47,0xe3,0xa6,0x35,0xd,0xe6,0x4e,0x86, + 0x46,0xdc,0x7b,0x3f,0x60,0x62,0x20,0x44,0x1f,0x2d,0xfa,0x8b,0x87,0xd9,0x32,0xbb, + 0xef,0x77,0x1f,0xc5,0x18,0x63,0x8f,0xa,0xc6,0xd8,0x0,0xf7,0xd6,0x2d,0xf,0x6b, + 0x75,0x7e,0x3f,0x85,0x24,0x76,0xe,0x26,0xdc,0x6d,0x73,0x87,0xf4,0xe7,0xf8,0xd7, + 0x3c,0xb0,0x22,0xa4,0x8b,0xe2,0xb6,0x1c,0xe6,0x63,0x3c,0x99,0xa7,0xb3,0x7c,0x39, + 0xf8,0xe1,0x97,0x1f,0x9a,0x9b,0x7d,0x96,0x8e,0x96,0xa3,0x56,0x37,0x2b,0xe1,0x77, + 0xf8,0x76,0x34,0x32,0xcb,0x6e,0xf2,0xc5,0x3c,0x1b,0xe6,0x8b,0xc1,0x8a,0x1e,0x9e, + 0xbf,0x9b,0x8c,0x96,0xd7,0x17,0x67,0x42,0x85,0xab,0xeb,0x7c,0x72,0x75,0xbd,0x6c, + 0x2e,0x27,0xa3,0x8b,0x33,0xcc,0x4e,0x84,0x8b,0x15,0xf3,0xf3,0x6,0x41,0x2c,0x95, + 0xd5,0xad,0x55,0x8f,0xed,0x5b,0xca,0x84,0x5b,0x1d,0xb8,0x75,0xba,0x19,0x15,0xc3, + 0xcb,0x6c,0x81,0x21,0xf,0xae,0x8b,0x9b,0x7c,0x30,0x9f,0x5e,0xe6,0xd9,0xed,0xa8, + 0x98,0xcc,0x6,0x3f,0xff,0xf8,0xd3,0xff,0x5e,0x3,0x81,0x83,0xc5,0x78,0x3a,0xef, + 0x7c,0xe8,0x5f,0x2d,0xbf,0xc,0xe6,0x93,0xfb,0x9b,0x6c,0xbe,0xd8,0xea,0x8d,0xa6, + 0x78,0x71,0x36,0xbc,0x2d,0x4b,0xe0,0x29,0x5d,0x69,0xa5,0x19,0x5b,0x71,0xbb,0x9c, + 0xdf,0x2e,0xff,0x99,0xdf,0x2f,0xf3,0x59,0x35,0x24,0xc8,0xa5,0x25,0xa4,0x70,0x9b, + 0x1e,0x4b,0x3b,0x2,0x6a,0x38,0xdc,0xe0,0xbf,0xf1,0x24,0x87,0x48,0x96,0xe5,0x6d, + 0x7e,0xf6,0x3d,0x6e,0x7e,0x1a,0xe5,0xe3,0x5,0x35,0xaa,0x44,0x45,0x57,0x2a,0xdc, + 0xc0,0xad,0x86,0xef,0x1c,0x12,0x98,0xe7,0x43,0x2,0x70,0xd5,0xb4,0xd5,0xe7,0xf2, + 0x81,0x74,0xd6,0x6d,0x2a,0x2b,0xc5,0x26,0x1d,0xb9,0xce,0xff,0x79,0xf,0xa1,0x26, + 0xe7,0x9,0x17,0xf4,0x5f,0xb4,0xc5,0x43,0xdd,0x2,0x98,0xc4,0x2f,0x16,0x6d,0xf3, + 0x1b,0xe9,0xf6,0x91,0x6e,0xea,0x11,0xf4,0x8b,0x72,0x72,0x35,0x21,0xad,0x51,0x3b, + 0xd7,0x6d,0x8b,0x99,0xb6,0xe6,0xa4,0xac,0xb6,0x67,0xc9,0xa0,0x9e,0x35,0xe0,0x9d, + 0x67,0xe5,0x5f,0xcb,0x6c,0x34,0x81,0x12,0xda,0x8f,0x74,0xef,0x28,0xa6,0x74,0x2d, + 0x29,0x3c,0xb5,0x58,0x16,0xf3,0x55,0x5b,0x48,0x67,0xf9,0x30,0x85,0x54,0x88,0xd8, + 0x1f,0x16,0xd3,0xa2,0x3c,0xff,0x76,0x1c,0x7e,0x3e,0x6,0x52,0x1,0x14,0x4f,0x96, + 0xf,0xe7,0xeb,0x9,0x26,0x49,0x31,0x1e,0x2f,0x72,0xe0,0xb6,0x4d,0xb,0xe0,0xc5, + 0x3,0x60,0xb5,0x1e,0xe0,0x41,0xcc,0x86,0xe3,0xcb,0xe1,0x65,0x97,0x19,0x8f,0x30, + 0xe3,0x71,0x66,0x7e,0x2d,0x8d,0x41,0x77,0xd2,0xc7,0xca,0x48,0x18,0x7f,0x84,0x8c, + 0xf8,0xe8,0x12,0x9a,0xdf,0x18,0xf6,0xc7,0x43,0x85,0x24,0x2c,0x3f,0x4a,0x48,0x31, + 0x6e,0x2c,0xc6,0x2d,0x2a,0x25,0x61,0xe5,0xc9,0xa4,0xc4,0x9d,0xdc,0x25,0xa5,0x86, + 0x1f,0x77,0x7a,0x8f,0x20,0xe,0x17,0xe8,0x4e,0x29,0xb5,0xb8,0xd9,0x3d,0x82,0x88, + 0x70,0x63,0x63,0x3d,0x7e,0x84,0xdb,0xb3,0xa5,0x64,0xec,0x11,0x58,0x72,0x98,0x38, + 0xcb,0x9f,0x8a,0x25,0x6e,0xfc,0x51,0x58,0x22,0x31,0x73,0xf5,0x54,0x2c,0xf1,0x16, + 0x72,0x8f,0x93,0xd2,0xca,0xe8,0x61,0x18,0x53,0x18,0xb3,0x8b,0xb3,0x6c,0x7a,0x97, + 0x3d,0x2c,0x1a,0x26,0xc1,0x59,0x9f,0x5f,0x97,0x39,0x82,0x8b,0x6f,0x23,0xa8,0x7b, + 0x14,0x94,0xeb,0xb1,0xde,0x73,0x8c,0x9c,0xa5,0xda,0x2a,0xbf,0x7e,0xe6,0x81,0x88, + 0x22,0xe5,0x5c,0x6b,0xed,0xd7,0x4d,0xc5,0xc5,0x19,0x9c,0xbb,0x71,0x68,0x2c,0x6a, + 0xe7,0x1a,0x5a,0x8b,0x58,0xeb,0xab,0x9a,0xdb,0xaf,0xb3,0xc9,0x12,0xe1,0xc9,0xed, + 0x22,0x2f,0x7f,0x26,0x17,0xff,0x3f,0xb3,0x5f,0x17,0xf9,0x56,0xab,0x5f,0xca,0x6c, + 0xb6,0x40,0x3c,0x71,0x43,0xe,0xc,0x1f,0xa7,0x8,0xe8,0xbe,0xe3,0xa9,0x30,0x30, + 0x33,0xbc,0xd7,0x47,0xf8,0xc5,0x98,0xd5,0xe2,0xc3,0x5e,0x63,0xfe,0x92,0x62,0xf3, + 0xba,0x23,0x36,0xc9,0x53,0xe3,0x85,0x37,0xae,0x2b,0x37,0x1a,0xb5,0x12,0xdc,0x74, + 0xe4,0x26,0x64,0xea,0xf0,0x63,0x74,0x57,0x6a,0x32,0x95,0x5a,0xb7,0x44,0x79,0x2, + 0xa1,0x41,0x43,0x5e,0x59,0xc6,0x5d,0xf,0x9f,0x9c,0xd3,0xdc,0xbb,0x37,0x95,0x9a, + 0x60,0xb2,0xb,0x36,0x9d,0x1a,0x65,0x5,0xef,0xa2,0x4d,0xa4,0x96,0x9,0xc8,0xa7, + 0x2b,0x35,0xae,0x52,0xc6,0xa5,0x91,0xae,0x2b,0x35,0x82,0xab,0x41,0x17,0x7,0x8a, + 0xed,0x25,0x27,0x4f,0x5e,0xf0,0xb1,0xc9,0x6b,0xd3,0x99,0xbc,0x4d,0xa1,0x10,0x5a, + 0x3d,0x5d,0xc8,0xe8,0xd4,0x73,0x21,0x9d,0xeb,0x4c,0xde,0x62,0x45,0x71,0xe5,0x14, + 0xef,0x4e,0x9e,0xa7,0xda,0x5b,0x29,0xf4,0x29,0x31,0x83,0x80,0x58,0x18,0xae,0x1, + 0x19,0xe8,0xc1,0x40,0x37,0xe6,0x65,0x21,0xb3,0x4f,0x6a,0x86,0x3d,0x7f,0x76,0x37, + 0xd9,0xb2,0x9c,0xdc,0x7f,0xd7,0xe7,0x3d,0x86,0x3f,0xbc,0x27,0x45,0xca,0x80,0xd5, + 0x30,0x47,0x7,0x4,0xca,0xf,0x1d,0xcd,0xe0,0xae,0xd1,0xf0,0x8d,0xb6,0xab,0x19, + 0x91,0x1a,0xa1,0x3d,0x13,0x1d,0xcd,0x98,0xd4,0x49,0xeb,0x9c,0xb7,0x9b,0x8b,0xd9, + 0x23,0xe5,0xd2,0xf2,0xd,0x57,0x9b,0x10,0x75,0x72,0xb4,0x9a,0x16,0xc7,0x58,0x85, + 0xb1,0xde,0x74,0xa6,0x65,0x52,0x8b,0xc5,0x66,0x5b,0x6b,0x30,0xd8,0x28,0x9b,0x6a, + 0x23,0xba,0x16,0x4a,0x88,0x54,0x73,0xa1,0xd9,0x9,0xe0,0x56,0x2b,0x4,0x46,0xc9, + 0x6a,0x26,0x74,0x50,0xcb,0xfa,0x22,0x35,0xc6,0x58,0x26,0xf1,0x81,0x5b,0xeb,0x99, + 0xdd,0xb,0xc0,0xdd,0x1c,0x60,0x96,0x85,0xe7,0x32,0x30,0xe8,0xaf,0x2e,0xfa,0xb0, + 0x1a,0xcc,0x18,0xe6,0x7a,0xd2,0xa7,0x16,0x46,0xd1,0x7e,0x38,0x72,0x4a,0xf,0x41, + 0xf3,0xc6,0x5a,0xe6,0x6d,0x77,0xa5,0x62,0xfd,0x3a,0x66,0x3a,0x2e,0x91,0x7,0xd1, + 0x39,0x2c,0x75,0xe6,0xba,0xa,0x81,0xf9,0x93,0x4c,0xb6,0x5c,0x49,0x6c,0x1,0x58, + 0x7d,0xfc,0x3a,0xda,0x85,0xaa,0x3d,0x72,0xec,0x42,0x77,0xf,0xcc,0xe3,0x4b,0x22, + 0xba,0x7c,0x9e,0xb7,0x24,0xf,0x53,0xc9,0xb6,0xe8,0x78,0xc7,0x8a,0xbe,0xb0,0xe8, + 0x8e,0xb6,0xa9,0xc7,0x3,0xee,0x25,0x34,0x13,0x95,0x9a,0x79,0x75,0xa9,0x1d,0x30, + 0xf9,0x2d,0x47,0xbf,0x23,0x28,0x88,0x7,0x10,0xd1,0x60,0x23,0x3a,0x79,0x75,0xd0, + 0xe4,0x3b,0xa6,0xf7,0x25,0x20,0x13,0xd,0xdd,0x9e,0x20,0x36,0xd8,0x6c,0xa9,0x2d, + 0xd7,0x1d,0xb1,0x21,0x5a,0x95,0xc8,0xb3,0xdc,0x26,0x64,0x36,0x9b,0x92,0x2c,0x55, + 0x2a,0xbd,0x6d,0x1b,0xfd,0xa8,0xd4,0xc4,0xfb,0x90,0x5a,0x2c,0x4b,0x78,0x92,0xd0, + 0x9c,0xd0,0xce,0x77,0x17,0x9a,0xc5,0xea,0x93,0xf8,0xab,0x37,0xa5,0xb6,0xd9,0x96, + 0x87,0x1a,0x22,0x53,0x40,0x9b,0x79,0x5c,0x6a,0xec,0xd5,0xa4,0x16,0x63,0x6f,0xd5, + 0xbe,0x72,0x4,0xda,0xac,0x67,0x70,0x70,0x39,0x62,0x47,0x4e,0xbe,0xb7,0x1c,0x1, + 0x6e,0x2e,0xc2,0x6d,0x4f,0x39,0x62,0x47,0x4e,0x7e,0xa2,0x72,0x4,0x8c,0x8b,0x3b, + 0xa2,0x1c,0x21,0xcc,0x33,0x4a,0x5b,0x98,0x3f,0x3b,0xae,0xb4,0xa5,0xa2,0x95,0x98, + 0xc7,0x45,0xd8,0xe2,0x26,0x4e,0x28,0x25,0xb1,0x1f,0x4b,0x46,0x1d,0x8f,0xa5,0x1d, + 0x2,0x3d,0x0,0x4b,0x26,0x86,0xdc,0x3d,0x58,0x8a,0x71,0x7b,0x32,0x96,0x5e,0x2e, + 0xb2,0xe7,0x8a,0x99,0x23,0xcd,0xda,0xa9,0xb3,0xed,0xb7,0x4b,0x6b,0x30,0x79,0x77, + 0xe4,0xe4,0x9f,0xec,0x32,0x4e,0x5e,0x10,0x7b,0x4b,0xb1,0xf1,0x13,0x24,0xd2,0x7, + 0xc6,0x27,0x27,0xae,0x88,0xbd,0x5d,0xf9,0x1,0x52,0x3b,0x69,0x41,0xee,0xb1,0x44, + 0xe0,0xd4,0x35,0xa1,0x37,0x95,0x9a,0x7a,0xbe,0xd4,0xde,0x43,0xd1,0x86,0x46,0x95, + 0x4d,0x4f,0x2a,0x3a,0x7a,0x9f,0xd8,0x16,0x5d,0x97,0x85,0x62,0x7a,0xad,0xcf,0xe1, + 0x3d,0x6,0xe5,0x53,0xe1,0x3a,0x51,0xf9,0xf0,0xe1,0xe2,0xcc,0xa7,0x44,0x53,0xad, + 0x2,0xcf,0x38,0xda,0x76,0x1c,0x6d,0x5b,0x6,0xab,0xe6,0x2,0xf9,0x48,0x3d,0x2d, + 0xe6,0x65,0x9e,0x8d,0xfe,0x9e,0x2f,0xaf,0xb,0x1a,0x7b,0x3e,0xa6,0xf9,0x1f,0x54, + 0xe9,0x81,0xea,0x90,0x47,0xd4,0x95,0x9e,0xfa,0x82,0xac,0x1,0xd3,0xca,0xf5,0x74, + 0x6a,0x85,0x15,0x6a,0x7f,0x75,0xfa,0x8f,0x55,0xa1,0x10,0xca,0xf3,0xe3,0xd7,0xdb, + 0x73,0x8a,0x3b,0xe4,0x89,0xa4,0xd5,0x7a,0xc3,0x92,0x8,0x8f,0x64,0x64,0x43,0x72, + 0x6,0x4d,0x99,0x76,0x5d,0xc9,0x41,0x63,0xf0,0xbf,0xd2,0x6d,0xd7,0x0,0x5f,0xa8, + 0xf0,0x11,0x13,0x9a,0xf3,0xaf,0x2b,0xb4,0xcd,0x37,0x33,0x3b,0x5c,0x56,0xdc,0xbd, + 0x45,0x5d,0xe1,0x4b,0xa7,0xfe,0x51,0xa9,0xd9,0x83,0xa4,0x76,0x8a,0x6c,0xb3,0x86, + 0x9a,0x57,0x5e,0x6f,0xd6,0x95,0x53,0x8a,0x1f,0x8d,0x32,0x9b,0xab,0x74,0x33,0x9c, + 0x8a,0x45,0x5e,0x2f,0x9c,0xfa,0x47,0x85,0x76,0x58,0xf1,0xf5,0x64,0x42,0x7b,0x81, + 0x2a,0xd7,0x33,0x26,0x2f,0x5f,0x6d,0xf2,0x31,0xf6,0x58,0x45,0xaf,0x94,0x79,0x83, + 0x97,0x3b,0x2a,0xf3,0xde,0x91,0x28,0x3e,0x9e,0x70,0xae,0xb9,0x9,0x76,0xaa,0xcc, + 0x1b,0x7d,0xed,0xcd,0xbc,0x45,0xdb,0xf7,0xbf,0x78,0xe6,0xd,0x6e,0x4f,0xc8,0xbc, + 0x77,0x94,0x32,0x4e,0x27,0xa5,0x63,0xaa,0x38,0xcf,0xda,0x54,0x22,0x94,0x3c,0xae, + 0x8a,0xf3,0xac,0x4d,0x25,0xe0,0xf6,0xd4,0x2a,0xce,0xb,0xbe,0x79,0x54,0x72,0xe3, + 0xcd,0xe3,0x56,0x39,0x74,0x47,0xe9,0x34,0x5e,0x66,0x8d,0x96,0x64,0x4f,0x92,0xfa, + 0x7b,0x21,0x98,0x77,0xe6,0x7d,0x6c,0x2a,0x81,0xd8,0xba,0xb6,0x7c,0xbb,0xf6,0xbe, + 0xa3,0x4e,0x1f,0x2d,0xe9,0x47,0xab,0xff,0xa7,0xc8,0xfc,0x21,0x36,0xce,0xe0,0xa5, + 0xf4,0xfb,0xd8,0x55,0x2,0xb1,0x6d,0xbf,0x56,0xfd,0xb3,0xec,0x2a,0x11,0x4a,0xb1, + 0x2e,0x66,0x4e,0x98,0x6,0x9f,0x74,0xa9,0x51,0x8d,0xd8,0x79,0xf1,0x3e,0xb6,0x95, + 0x40,0x6c,0x27,0xa8,0xeb,0x6c,0x65,0x88,0x98,0xa5,0xf5,0xda,0xfe,0xde,0xf7,0x95, + 0xec,0x95,0x9d,0xda,0x5a,0x6f,0xdd,0x6d,0xc,0x3b,0xb6,0x3c,0x88,0x68,0x5b,0x50, + 0x1d,0xcc,0x14,0x26,0xc5,0x4f,0xb0,0x63,0xb0,0xd9,0xf7,0x21,0xb4,0xd1,0x82,0xaf, + 0x36,0x7e,0xd4,0x57,0x7d,0x2a,0xb0,0x29,0x30,0xea,0x9,0x97,0x5a,0x2b,0x25,0xf3, + 0x1f,0xf6,0x55,0x7b,0xe,0x28,0x6a,0x88,0x14,0x32,0x61,0x42,0xe6,0x7d,0x1e,0x74, + 0xdf,0xba,0x7a,0xac,0xd6,0xb1,0xe2,0x70,0x58,0x51,0xe5,0x71,0x51,0x44,0x6b,0x3a, + 0xf1,0xf2,0x4f,0xbc,0x54,0x14,0x2f,0x2b,0xc5,0x4b,0x50,0xdb,0x75,0x2b,0x21,0xd5, + 0x61,0xaf,0x80,0x3b,0xe5,0xaf,0xff,0x6c,0x53,0xa9,0x44,0x77,0xd8,0x7b,0xe0,0x93, + 0xd5,0x33,0xb6,0xb6,0xd,0xee,0x28,0x27,0xc7,0x4b,0xcf,0xd1,0x32,0xf5,0xeb,0x57, + 0x81,0xa4,0x7c,0xbd,0xcd,0x3d,0x7f,0x9c,0x2a,0x90,0x94,0x87,0x6d,0xee,0x39,0x61, + 0x15,0xe8,0xd0,0x17,0x65,0xef,0xb9,0xe,0x24,0xe5,0xeb,0x6d,0xb,0x7a,0x77,0x75, + 0x20,0x29,0x5f,0x6f,0x77,0x4f,0x8c,0xbd,0x78,0xbd,0x3a,0x90,0x14,0xaf,0x59,0x7, + 0x92,0xf2,0x74,0x75,0x20,0x29,0xd8,0xde,0x3a,0x90,0x14,0x62,0x8f,0x20,0x4e,0x59, + 0x7,0x92,0xd1,0xaa,0xd3,0xdb,0xd6,0x81,0x24,0xdf,0xb9,0xe7,0xe9,0xe4,0x75,0x20, + 0xa4,0xe3,0xaf,0x58,0x7,0x92,0xad,0xa,0xe6,0xbb,0xa9,0x3,0x49,0xbe,0xf1,0xf6, + 0xe8,0xbd,0xd6,0x81,0xde,0xd3,0x77,0x8b,0x20,0xb5,0x8d,0x94,0xfe,0x7d,0x96,0x81, + 0xde,0xd7,0x77,0x8b,0x84,0x8c,0x6c,0xae,0xff,0xd3,0x54,0x81,0x24,0xdb,0xa8,0x1c, + 0xbe,0xcf,0x2a,0xd0,0xfb,0xfa,0x6e,0x11,0xa4,0xf6,0x7,0xd9,0xa6,0x12,0x17,0xdd, + 0x63,0x85,0x8b,0x3,0xbf,0x77,0x73,0x9c,0x74,0xe2,0x5f,0x12,0x8a,0x7e,0x9d,0x28, + 0xfe,0xc5,0xa3,0xe8,0x97,0x94,0xa2,0x8a,0x7b,0xd3,0x88,0x14,0x49,0xdc,0xde,0x58, + 0x4b,0xf8,0xd8,0x5e,0xe6,0x17,0xda,0x39,0xd,0x81,0xc4,0xe,0x19,0x78,0xd3,0x9d, + 0xd3,0x90,0xc0,0xce,0x88,0xf4,0xd4,0x87,0x2,0x80,0x97,0x38,0x2a,0xd6,0xda,0xf1, + 0x1d,0xf6,0x3,0x63,0x2d,0xe1,0xd5,0xe9,0xa4,0xe4,0xf6,0xee,0xc2,0x47,0x9b,0x27, + 0xec,0xc2,0x7f,0xea,0xa1,0x0,0xe0,0xf6,0x84,0x5d,0xf8,0x3b,0x4e,0x59,0x38,0x99, + 0x94,0xec,0xce,0xf7,0xb7,0xad,0x71,0xef,0x3b,0x68,0xe3,0xe0,0xf3,0x3a,0xe,0x11, + 0x52,0x2c,0x95,0xda,0x23,0xa4,0x71,0x3e,0xce,0x73,0xbb,0xc1,0x2c,0x45,0x30,0xcb, + 0x1c,0xb7,0x8f,0x87,0xef,0x9f,0x6,0x74,0x66,0x4b,0xf8,0xd4,0x9c,0xc9,0x42,0xc7, + 0xc8,0x8c,0xbe,0x4e,0xf2,0xbb,0x6f,0x9a,0xb1,0xd1,0x39,0x35,0xf5,0x18,0xe6,0xd9, + 0x55,0x1e,0xf8,0xc2,0x2c,0x56,0xb3,0xac,0x6f,0x5c,0x16,0xe5,0x28,0x2f,0x57,0xb7, + 0x4c,0xf8,0xe9,0xdc,0xaa,0x87,0xb6,0x3e,0x9,0xa7,0x65,0x3c,0xa9,0xd7,0xe6,0x3e, + 0x8b,0xdf,0x5f,0x5c,0x67,0xa3,0xe2,0xe,0x46,0x7f,0xf3,0xe6,0x6f,0x45,0x71,0x13, + 0x2,0x7b,0xee,0x75,0x63,0xe0,0xd7,0x76,0xf9,0x3e,0x4,0x6d,0xda,0x38,0x61,0xfd, + 0xd6,0xcd,0x87,0xe0,0xf8,0xc,0xb7,0xb2,0x71,0x87,0xcd,0xcd,0x51,0x31,0xbc,0xa5, + 0xa3,0x99,0xfa,0xb7,0x95,0x7b,0x9a,0xdf,0x6f,0x3d,0x5e,0x9d,0xb5,0xd3,0x9f,0x66, + 0xf,0x39,0x66,0x1d,0x7e,0xad,0x94,0x55,0x1f,0x2c,0x24,0x45,0xf3,0xd8,0xea,0x70, + 0xa1,0x16,0x69,0x71,0x5d,0xdc,0x5d,0xdd,0x4e,0x46,0xf9,0xa2,0x3e,0x55,0x67,0x83, + 0x41,0xb8,0xd7,0xbf,0xbc,0x2c,0xee,0xe3,0xf7,0xef,0x26,0x33,0xc8,0xa4,0x5f,0xf3, + 0xe2,0x86,0x6d,0x49,0xae,0x6e,0xb1,0xe2,0xed,0xc5,0x96,0x80,0xea,0x16,0xf7,0x6b, + 0x50,0x6f,0xde,0x7a,0x68,0xe,0x44,0xaa,0x47,0x5c,0x12,0x28,0xc6,0xd9,0x74,0x91, + 0xaf,0x4e,0xfb,0x69,0xd0,0x13,0x46,0xbc,0x82,0x6b,0x51,0x12,0xd0,0xb2,0x65,0x38, + 0x6d,0xe8,0x6b,0x5e,0x2e,0x27,0xc3,0x6c,0xda,0x80,0x79,0x5e,0x2c,0x26,0xd5,0x2d, + 0xaa,0x6c,0x4a,0x8b,0xb8,0xbf,0xe3,0x9d,0x43,0x57,0x48,0xad,0x57,0xf9,0xee,0xa7, + 0xc1,0x36,0x46,0x3,0xfd,0x26,0x5f,0x66,0xa3,0x6c,0x99,0xad,0x1,0xbb,0xa2,0xac, + 0xce,0xfc,0xf8,0x54,0x8e,0xc6,0xe7,0xff,0xf7,0xc3,0x8f,0xcd,0xfa,0x1b,0xe,0xcf, + 0xff,0x51,0x94,0x5f,0xd6,0xeb,0x8a,0x1a,0x64,0x97,0xc5,0x2d,0x64,0xd4,0x98,0x4, + 0x3a,0xe0,0x68,0x78,0x4e,0x21,0x4e,0xb6,0xfc,0x7e,0x72,0x3,0xc,0xd2,0x59,0x57, + 0xff,0x7d,0x7f,0x33,0xc5,0xba,0x69,0x6e,0x74,0x1a,0xd3,0x81,0x46,0xeb,0x4e,0xab, + 0x6e,0xcb,0xbc,0x3a,0xcb,0x2a,0x7a,0xfc,0xd7,0x68,0x78,0x33,0xa1,0x87,0x6,0x3f, + 0x2f,0x27,0xd3,0xe9,0xdf,0x88,0x49,0xdb,0x4e,0xc,0xea,0x81,0xae,0x96,0x70,0x6b, + 0x1e,0x9f,0x6,0xab,0x59,0x86,0xab,0xab,0xd,0xdd,0x4d,0xb3,0xcb,0x7c,0x7a,0x71, + 0xf6,0x39,0x9b,0xfe,0xff,0x6d,0xde,0x1c,0x5f,0xb4,0x46,0x56,0x59,0xdc,0xce,0x6f, + 0x8a,0x51,0x5e,0xc3,0xf6,0x6c,0x2d,0xbc,0x1a,0xc6,0x35,0xcb,0xab,0x8e,0x4a,0x44, + 0xfb,0xeb,0x36,0x7b,0x78,0x25,0xc9,0x32,0x9a,0x16,0xab,0xd4,0x4a,0xc6,0xb9,0xea, + 0xf5,0x65,0xaa,0xa4,0xd6,0x5a,0x20,0x31,0x6e,0x66,0x7c,0xb5,0x16,0x5f,0xf4,0x71, + 0xac,0x73,0xa5,0xb5,0xb5,0xba,0xa7,0x52,0x61,0x99,0x35,0xba,0x15,0xa,0x1f,0x30, + 0xa6,0xd5,0x44,0x94,0x32,0x6d,0x45,0x5f,0xb5,0xb5,0x56,0xb5,0x68,0x9f,0x61,0xb2, + 0x31,0x9c,0x55,0x74,0x8e,0xcc,0x43,0x22,0x97,0x73,0x82,0xb2,0x55,0xab,0x1d,0x2c, + 0x6e,0x2f,0x7c,0xe0,0x56,0xf3,0x5e,0x75,0xdb,0x4a,0x61,0x7a,0x32,0xd5,0x5e,0xb, + 0xe3,0xf0,0x9,0xa6,0x59,0x30,0xe5,0xc5,0x87,0x4e,0xe7,0xb5,0x5d,0x1f,0x3,0x4, + 0xe7,0xb3,0x62,0x46,0xd1,0x5a,0x59,0x7c,0xc9,0x11,0x53,0x84,0x9f,0xfa,0xb2,0x65, + 0xdf,0x95,0xf2,0xc6,0x41,0x78,0xad,0x49,0x60,0x1a,0xf3,0x6c,0x79,0xdd,0xee,0xb6, + 0xe9,0x78,0xed,0xab,0xd7,0x2c,0xe8,0x53,0xcb,0x89,0xc7,0x39,0x6,0xdb,0x2,0x7e, + 0x6,0x42,0x97,0xde,0xac,0x9a,0xf5,0xc9,0x99,0xfc,0xab,0x98,0xcc,0xce,0x81,0xdf, + 0xbc,0x5c,0x51,0xc3,0xc5,0x74,0x82,0x5f,0xe7,0x6a,0x45,0x1b,0x65,0x30,0xdd,0x65, + 0x99,0x3d,0xb4,0x27,0x16,0xa8,0x95,0x83,0x3b,0x7f,0x6c,0x76,0xdd,0xc9,0x40,0x2f, + 0x7f,0x4f,0x14,0x95,0x53,0xbc,0xf1,0x2a,0x8,0x18,0x5a,0xb2,0x8,0x9d,0x92,0xcf, + 0x89,0x42,0x62,0xcd,0x34,0x22,0x64,0xa8,0x0,0x12,0xd6,0xa,0x11,0x7f,0x22,0x3d, + 0xf2,0x26,0xe6,0x8c,0x25,0xbd,0x58,0x23,0xb5,0x54,0x20,0x22,0x6f,0xf0,0x42,0x48, + 0xbf,0x22,0x72,0x66,0xd0,0x81,0x34,0xe8,0x58,0x30,0xd7,0x21,0x4b,0x95,0x2,0xab, + 0x40,0x19,0xe5,0x2f,0xe4,0x45,0xbc,0x77,0x89,0x84,0x3e,0xa1,0x56,0xed,0xc3,0x10, + 0x60,0x54,0xad,0x63,0x36,0xf9,0x29,0xd0,0x8d,0xf,0x87,0x1,0x20,0x23,0x63,0x12, + 0x43,0x33,0x5d,0xb2,0x4c,0x99,0x93,0x1a,0xc9,0x1a,0xf1,0x83,0x27,0x14,0x56,0x55, + 0x2b,0x41,0x5b,0x24,0x2d,0x8c,0x27,0xc0,0x87,0xf7,0x96,0x55,0x44,0x27,0x9c,0x36, + 0xd2,0x26,0x94,0xe8,0x8,0xa4,0x3a,0xb2,0x21,0x2a,0x89,0xe,0x84,0x4a,0x99,0x56, + 0x42,0xb6,0xc8,0x3e,0xa1,0x97,0x47,0x92,0x59,0x6b,0xab,0x5e,0xb5,0xb7,0xdc,0x25, + 0x2,0x16,0xd6,0x33,0x1e,0x68,0x4c,0x21,0x67,0x92,0x1a,0xe3,0x5a,0x53,0x59,0x2a, + 0x95,0x84,0xc7,0xa6,0x61,0x89,0xea,0x35,0x8a,0xa5,0x19,0xc3,0x67,0x82,0x3,0x53, + 0x9,0xbd,0xad,0x45,0x66,0xad,0x64,0x48,0xec,0xc,0xf3,0xe,0x23,0xe0,0x16,0x72, + 0x12,0x16,0x63,0xad,0x89,0x56,0x28,0x74,0x80,0x64,0xb,0x81,0xc,0x6,0xd3,0x26, + 0x63,0xd9,0xd3,0xf9,0x5,0x9e,0x88,0x4a,0x4a,0x1,0x6,0x20,0x22,0xe9,0xe4,0x1a, + 0x12,0xe9,0xa8,0xf2,0x27,0x6a,0x4c,0x5f,0x18,0x67,0x58,0x43,0x1a,0x29,0xbd,0x32, + 0x50,0x21,0x75,0xec,0x52,0x2e,0x3c,0x1a,0xd1,0x1b,0x77,0x89,0x74,0xd7,0x71,0x95, + 0x20,0x35,0x64,0x92,0x61,0x79,0xf5,0xfa,0x8e,0x2a,0x5a,0xb4,0x87,0x88,0x4,0xa6, + 0x28,0xc9,0x15,0x44,0xd4,0x1a,0x5d,0x59,0x4b,0x12,0x17,0x69,0xdd,0xad,0x4b,0x15, + 0xf1,0x95,0xa4,0x74,0xa4,0xc8,0x1c,0x6b,0x14,0x7d,0x5a,0xda,0x2e,0x60,0x38,0x41, + 0xc9,0x39,0x44,0x5,0x96,0xf8,0x63,0xa,0xd2,0x7b,0x85,0x61,0xc5,0x91,0xf7,0x5b, + 0xb2,0x81,0xd2,0x70,0x42,0x1c,0x16,0xa2,0x68,0x27,0x8a,0xf5,0x6a,0x6c,0x3c,0x18, + 0x4c,0x2f,0xd9,0x7d,0x38,0xfe,0xe1,0x62,0x38,0x1c,0xfe,0x36,0xc,0xbf,0x86,0xc3, + 0x96,0xf5,0x27,0x1b,0x7f,0xf5,0xb8,0x8d,0x52,0xfa,0x10,0x1b,0xa5,0x58,0x25,0x1f, + 0x46,0xe5,0x11,0xda,0x2e,0xd0,0x5b,0x7f,0x6a,0xdf,0xe7,0xc0,0x1e,0xe6,0xe4,0x7d, + 0xf,0xf2,0x3,0x88,0x8c,0x53,0x1f,0xf6,0xda,0x97,0xd8,0x8c,0xc2,0x64,0xaa,0xbf, + 0xc3,0x5d,0xc2,0x51,0x7a,0x53,0x38,0x61,0x75,0xd3,0x17,0x4,0x60,0x7e,0x3c,0xd9, + 0x77,0xed,0xa5,0x25,0x44,0xd2,0xb8,0x14,0xed,0xf3,0x1,0xcd,0x2a,0x6b,0x19,0x34, + 0x6c,0x81,0x47,0xd,0x55,0x7a,0xda,0xf9,0xe0,0xbd,0x37,0x52,0x25,0xf0,0x27,0x61, + 0xe7,0x9d,0xec,0xe1,0xae,0xe3,0x82,0x30,0x2e,0x11,0x5a,0x28,0x4d,0x34,0xf4,0x82, + 0x88,0xdf,0x58,0xb2,0x15,0x32,0xb5,0x4e,0x19,0xc7,0x3,0xd5,0x53,0xc5,0x80,0x27, + 0x3a,0x54,0xeb,0x34,0x56,0x13,0xbd,0xca,0x86,0x19,0x80,0x6e,0x4d,0xd3,0xe3,0x9a, + 0xf6,0x19,0xbc,0x2d,0x10,0xd3,0xa5,0x3a,0x74,0xa3,0x9d,0x62,0x81,0x16,0xea,0xd1, + 0x2e,0xf1,0xa9,0x56,0x96,0xad,0x78,0xd3,0x4a,0x23,0x70,0xaf,0xa9,0x3e,0x5,0x86, + 0xc3,0x4,0x79,0xa,0x7b,0x47,0x47,0x87,0x38,0xac,0x3d,0x61,0xb8,0x48,0xa8,0x24, + 0xd,0x15,0x69,0x22,0x29,0x12,0x3,0x9,0x46,0xe8,0xd5,0xd5,0x67,0x5a,0x91,0x8a, + 0xb6,0x5,0xd9,0x9a,0x84,0xac,0x9b,0x96,0xae,0xc4,0xbc,0x6c,0xe8,0x86,0xe,0xb9, + 0x91,0xb4,0x3c,0x60,0x9b,0x3c,0x56,0x82,0x27,0xfb,0x15,0x64,0xb2,0xa6,0x61,0x5c, + 0xdc,0x68,0x1e,0x64,0x2,0xc3,0x81,0x20,0x4c,0x28,0x22,0x3a,0xeb,0x69,0x2,0x30, + 0x30,0x64,0x7f,0xe0,0xd5,0x30,0x42,0xe9,0x24,0x4d,0x54,0xe8,0xd4,0x63,0x1d,0xd3, + 0xc3,0xd,0xed,0x33,0x2d,0x38,0x9,0x4b,0x26,0x6c,0xbb,0x25,0x6d,0xc0,0xc1,0xfa, + 0xe,0x1d,0x2a,0x4b,0x32,0x16,0x30,0xc7,0x10,0x97,0xac,0x38,0x33,0x2a,0xc9,0xd0, + 0x78,0x20,0x3c,0x8,0x7,0x54,0x5b,0x8f,0x31,0xd8,0x36,0x85,0x67,0xe1,0x31,0x35, + 0x96,0x1a,0x61,0x91,0x66,0xe7,0xb8,0x11,0xc6,0x0,0x6,0xc6,0x53,0x19,0x56,0x47, + 0xe0,0xb2,0xb5,0x1c,0xe3,0x1e,0x10,0x31,0xd8,0x77,0x1b,0x85,0x1d,0xda,0x9a,0xfe, + 0x61,0xa7,0x57,0x1c,0x3,0x6d,0xdb,0x5e,0x51,0xe8,0xd7,0x70,0x88,0xbc,0x63,0x15, + 0x8e,0x5c,0x87,0x8f,0xac,0xc0,0xa8,0x7f,0x5,0xe6,0x99,0xd5,0xe4,0x96,0x60,0x9e, + 0xb1,0xc0,0x84,0x97,0x15,0xe6,0x5d,0x40,0x66,0x8b,0xa,0xb5,0x41,0xd3,0xd2,0xf4, + 0xa8,0xd0,0xc8,0x99,0x72,0x9e,0xc0,0x6d,0x28,0x7c,0x90,0x44,0x63,0x1c,0x6a,0xaa, + 0x10,0xbf,0x22,0x92,0xf1,0x7,0xf6,0x9,0x32,0xe,0x2e,0x4b,0x72,0x64,0x6d,0x4, + 0x19,0xd8,0x55,0xf8,0xaf,0xc0,0xc5,0xc3,0x2e,0x11,0x49,0x79,0xfc,0x71,0xed,0xe1, + 0x34,0x34,0x38,0x7b,0xb0,0xd6,0xaa,0x4b,0x85,0x33,0x1,0xc6,0xb0,0xc4,0x43,0x87, + 0x88,0x31,0x3d,0xad,0x7e,0x22,0xd8,0x80,0x41,0x5,0x83,0xad,0x2a,0x93,0xb0,0x22, + 0xd2,0xba,0x33,0x22,0x38,0x17,0x49,0xdf,0x21,0x1,0x4a,0xc3,0x6c,0xb4,0x43,0xb4, + 0xe6,0x3,0x17,0x38,0x2f,0xa3,0x5b,0x93,0x8e,0x89,0xe7,0x59,0x98,0xd3,0x47,0x62, + 0x4e,0x5b,0x44,0x37,0x52,0xa8,0xdf,0x33,0xf0,0x6c,0xc,0x78,0x64,0x59,0xa0,0x15, + 0x32,0xe,0xf4,0x2d,0x1f,0x65,0x4c,0x63,0x59,0x10,0x4e,0xb4,0xa9,0x64,0x59,0x14, + 0x6c,0x8c,0xed,0x55,0x2f,0xa1,0x1c,0x2,0x17,0x98,0x16,0x4e,0x67,0xc,0x7,0x5b, + 0xe5,0x29,0x2a,0x22,0xe8,0xb5,0xa8,0xb0,0x8d,0x30,0x66,0x55,0x88,0xe3,0xc8,0x46, + 0xf1,0xca,0x80,0x33,0x84,0x84,0xf0,0xf9,0x81,0xf,0xd0,0x18,0xd0,0x43,0x67,0xca, + 0x21,0x68,0x69,0x8d,0xa8,0xa1,0x5,0xd3,0xa4,0x11,0x5e,0x76,0xa8,0x30,0x9e,0x8, + 0x38,0x39,0x77,0xa1,0x47,0x44,0xae,0xc6,0x90,0x99,0xa5,0xf0,0x8,0x26,0x9c,0xc0, + 0xc7,0x2c,0xe7,0xa6,0x32,0xbe,0x2b,0x2a,0x4f,0x1d,0x99,0x38,0x55,0x1b,0x5f,0xc4, + 0x82,0xc6,0x87,0x19,0x21,0xf0,0x54,0xba,0xe2,0x63,0x91,0x19,0xb7,0x67,0x1e,0x91, + 0xd1,0xb3,0xd0,0x67,0xff,0x84,0xe8,0xf3,0x71,0xb3,0x7,0xcf,0x2b,0xe0,0x53,0x82, + 0xf5,0xd0,0xf0,0xf0,0x2e,0x18,0x29,0x66,0x10,0x10,0x9,0xd9,0xa2,0x3a,0x64,0x78, + 0x52,0x7b,0x16,0xf4,0x6a,0x25,0x7e,0x60,0xe1,0xe0,0x12,0x91,0x22,0x5,0x98,0x71, + 0xe9,0x1d,0x9c,0x31,0xd9,0x3d,0xe8,0x51,0x41,0xab,0x3d,0xa,0x57,0x61,0x0,0x3, + 0x7c,0x1c,0x69,0x1a,0xb1,0x36,0x79,0x3b,0x18,0x2c,0xb8,0x52,0x95,0x50,0x60,0x8b, + 0xc8,0x95,0x99,0x1e,0x21,0x1b,0xa1,0x29,0x5a,0x1a,0xc4,0x3a,0x88,0xbd,0x6d,0x8b, + 0xf4,0x19,0x41,0x8a,0xa4,0xd,0x1e,0x6d,0x22,0x39,0x4a,0x24,0x66,0x80,0x84,0xa3, + 0x8d,0xc2,0x56,0x29,0x8a,0x84,0x60,0xb6,0x10,0xe5,0x73,0xf0,0xc0,0xff,0x8,0xbb, + 0x2b,0xc3,0x7,0x7d,0x2b,0xfa,0x66,0x42,0xf0,0xbe,0x8a,0xe2,0x5f,0x32,0xa5,0x2c, + 0x4,0x39,0x36,0x4c,0x47,0x48,0x87,0x58,0x57,0xa7,0x30,0xf5,0xde,0xd6,0xa6,0xb4, + 0x9a,0x76,0x4c,0x40,0xcf,0x82,0x9e,0xdf,0x5,0xbd,0x36,0x3e,0xfe,0x40,0xb8,0x33, + 0x7c,0x87,0xd5,0x33,0x12,0x70,0xf2,0xb5,0xe5,0x68,0x6c,0xc,0x4c,0x1e,0xc2,0xb0, + 0x16,0x95,0x6c,0xc,0x42,0xc2,0x0,0x3b,0x3,0xc,0xc8,0x60,0x62,0xa0,0x4e,0xc1, + 0x83,0x46,0x99,0x84,0x8c,0x6c,0x65,0x62,0x90,0x9d,0x20,0xa8,0x27,0xdc,0x59,0xb, + 0xef,0x68,0x2b,0x13,0xc3,0xc9,0x46,0x29,0xe0,0x84,0xa1,0x23,0x58,0x61,0x62,0xc3, + 0x9d,0x3,0x5a,0x29,0x88,0x54,0x1c,0x98,0xb6,0x34,0x20,0x6d,0x29,0x80,0x6d,0xd1, + 0xf0,0xb4,0x41,0x5e,0x1a,0x92,0xba,0x56,0x4b,0x1b,0x2,0xb2,0x10,0xa3,0x22,0xc1, + 0x42,0x26,0x67,0x83,0x69,0xf6,0xc8,0xa1,0x1c,0x78,0x2b,0x4c,0x80,0x55,0x23,0x22, + 0x67,0xef,0xa4,0xd,0x11,0x0,0xd6,0x1,0x72,0xef,0xca,0xc,0xb,0xcc,0xc2,0x84, + 0x68,0x90,0x5e,0xdc,0x52,0x8f,0x48,0xc1,0x80,0xc0,0xf6,0xb4,0x23,0x2,0x7a,0xe, + 0xee,0x3c,0xff,0x7d,0xe0,0xae,0x95,0xfc,0x35,0x1f,0xd7,0x1f,0xda,0x90,0xdc,0x91, + 0x55,0x76,0xaa,0xa9,0xd4,0x1e,0x7e,0x74,0xfd,0x12,0xa6,0xca,0xb6,0x1c,0x85,0x30, + 0x40,0x40,0xaf,0x7a,0x57,0x8c,0xc4,0xa5,0xca,0xb3,0x81,0x13,0x17,0x4,0x4e,0x5, + 0x13,0xa4,0x5b,0x20,0x59,0xa3,0x11,0x0,0x6,0x5,0x8a,0xa0,0xd6,0x35,0xd,0x26, + 0x8d,0x12,0x10,0x18,0xbd,0xcf,0x2d,0x2a,0xbd,0x8a,0x85,0xed,0x4,0x4c,0x9b,0xe, + 0x61,0x57,0x38,0x32,0x2c,0xe9,0x5a,0x9c,0x1,0x41,0x41,0x16,0x6c,0x9d,0xe,0x1e, + 0x5e,0xb3,0xa,0x97,0xe5,0xed,0x34,0x3f,0xcf,0xbf,0xe6,0x98,0xfd,0xa8,0x55,0xc5, + 0x72,0x91,0x2a,0x96,0x66,0x8a,0x75,0x7e,0xda,0x6a,0x1d,0x66,0xf3,0xf3,0xb2,0xb8, + 0x9d,0x8d,0x76,0xe8,0xfa,0x26,0x2b,0xbf,0xe4,0x65,0x35,0x8e,0xea,0x73,0x7f,0xb1, + 0xcc,0xca,0x65,0x87,0x72,0x33,0x19,0x75,0xae,0xf3,0xd9,0xa8,0xa3,0xff,0x13,0x55, + 0xc8,0x3e,0x7e,0x9d,0x2c,0x26,0x97,0x93,0x29,0x5d,0x84,0x8f,0xd3,0xfc,0xe3,0x68, + 0xb2,0x98,0x4f,0xd1,0xc9,0x64,0x46,0x3,0xff,0x58,0x7c,0xcd,0xcb,0xf1,0xb4,0xb8, + 0x5b,0xdd,0x5f,0xbf,0x9,0x7a,0xa,0x76,0xb4,0x6e,0x6d,0xb1,0xaf,0xb0,0xa3,0x68, + 0x2b,0x8c,0x25,0x37,0x88,0x40,0xd8,0x23,0xd5,0xb,0x35,0x1a,0x4d,0xfe,0x4f,0xfa, + 0x10,0xb4,0xc0,0x5e,0x18,0x2,0x8a,0x26,0x93,0x41,0xdf,0x60,0xa1,0x15,0x8c,0xf8, + 0xc5,0xca,0x16,0xcd,0x57,0x7b,0xaf,0x44,0xfd,0x74,0x4d,0xa5,0xb2,0x8d,0x46,0x42, + 0xde,0xea,0x10,0xc6,0xcc,0x23,0x57,0x75,0xb2,0xc5,0xda,0xa0,0x99,0x91,0xf0,0x6a, + 0x27,0x5,0x8f,0x1c,0xba,0x91,0x56,0x9b,0xe0,0xa1,0xba,0xb3,0x82,0x9b,0xff,0x9d, + 0x62,0x86,0xbf,0x3a,0x66,0xc,0x6b,0x1d,0x4e,0x5c,0x61,0xc6,0x86,0x40,0x7,0x71, + 0x9,0x30,0x43,0x1b,0x44,0x2a,0x7b,0x83,0x20,0xc5,0x79,0x26,0x43,0xd2,0x48,0x85, + 0x19,0x32,0x38,0xf0,0x2d,0x16,0xc2,0xe,0x46,0x48,0xd8,0xca,0xe0,0x34,0x34,0x5f, + 0x19,0xab,0xca,0xe0,0x34,0x54,0x4b,0xa5,0x9c,0xca,0xe0,0x34,0x3d,0x22,0x5d,0x33, + 0xb5,0xc5,0x69,0x78,0x23,0x88,0xb2,0xa7,0xb7,0x38,0x71,0xd0,0x68,0x26,0x91,0x56, + 0xba,0xff,0x80,0xe6,0x8,0xd0,0x6c,0x3a,0x29,0x68,0x9b,0x62,0x18,0xc0,0x83,0xea, + 0x7f,0xa,0xb1,0x4b,0x55,0xa6,0x16,0x8,0x5c,0x5c,0x30,0x3f,0xc8,0xec,0xa8,0xd4, + 0x40,0xa5,0x6b,0x98,0x21,0x15,0x40,0x43,0xaf,0x66,0x84,0x6d,0xd1,0x10,0xa4,0x53, + 0x26,0xc9,0x6d,0x5d,0xe4,0xae,0xa8,0x36,0xa5,0x5d,0xce,0xdc,0xf2,0x56,0x8f,0x0, + 0x8,0xc5,0xcc,0x4e,0xb7,0x78,0xd3,0xfe,0x28,0xd,0xa7,0xe2,0x5e,0x1,0x34,0x18, + 0x9a,0xd6,0x8e,0x89,0x3f,0x1f,0x68,0x42,0x80,0xf3,0x89,0xde,0xb3,0x7e,0xff,0xcd, + 0xbf,0x1,0x25,0xf9,0x48,0x89, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/led-green.svg + 0x0,0x0,0x14,0x25, + 0x3c, + 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e, + 0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46, + 0x2d,0x38,0x22,0x20,0x73,0x74,0x61,0x6e,0x64,0x61,0x6c,0x6f,0x6e,0x65,0x3d,0x22, + 0x6e,0x6f,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x2d,0x2d,0x20,0x43,0x72,0x65,0x61,0x74, + 0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x49,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x20,0x28,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x29,0x20,0x2d,0x2d,0x3e,0xa, + 0x3c,0x73,0x76,0x67,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x64,0x63, + 0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72,0x6c,0x2e,0x6f,0x72, + 0x67,0x2f,0x64,0x63,0x2f,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x31,0x2e, + 0x31,0x2f,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x63,0x63,0x3d, + 0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x63,0x72,0x65,0x61,0x74,0x69,0x76,0x65, + 0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x73,0x23,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67, + 0x2f,0x31,0x39,0x39,0x39,0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d, + 0x73,0x79,0x6e,0x74,0x61,0x78,0x2d,0x6e,0x73,0x23,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x73,0x76,0x67,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f, + 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30, + 0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22, + 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72, + 0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x78, + 0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70, + 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39, + 0x39,0x39,0x2f,0x78,0x6c,0x69,0x6e,0x6b,0x22,0xa,0x20,0x20,0x20,0x78,0x6d,0x6c, + 0x6e,0x73,0x3a,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3d,0x22,0x68,0x74,0x74, + 0x70,0x3a,0x2f,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2e,0x73,0x6f,0x75, + 0x72,0x63,0x65,0x66,0x6f,0x72,0x67,0x65,0x2e,0x6e,0x65,0x74,0x2f,0x44,0x54,0x44, + 0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x2d,0x30,0x2e,0x64,0x74,0x64,0x22, + 0xa,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f,0x72,0x67,0x2f,0x6e,0x61,0x6d,0x65, + 0x73,0x70,0x61,0x63,0x65,0x73,0x2f,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x22, + 0xa,0x20,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x34,0x22,0xa,0x20, + 0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x32,0x34,0x22,0xa,0x20,0x20, + 0x20,0x69,0x64,0x3d,0x22,0x73,0x76,0x67,0x32,0x22,0xa,0x20,0x20,0x20,0x73,0x6f, + 0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22, + 0x30,0x2e,0x33,0x32,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x34,0x36,0x22, + 0xa,0x20,0x20,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30, + 0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f, + 0x63,0x62,0x61,0x73,0x65,0x3d,0x22,0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x70,0x6c,0x62, + 0x65,0x61,0x75,0x64,0x6f,0x69,0x6e,0x2f,0x53,0x46,0x4c,0x50,0x68,0x6f,0x6e,0x65, + 0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f,0x6e,0x65,0x2f,0x73,0x66,0x6c,0x70,0x68,0x6f, + 0x6e,0x65,0x2d,0x67,0x74,0x6b,0x2f,0x70,0x69,0x78,0x6d,0x61,0x70,0x73,0x22,0xa, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x64,0x6f,0x63,0x6e, + 0x61,0x6d,0x65,0x3d,0x22,0x6c,0x65,0x64,0x2d,0x67,0x72,0x65,0x65,0x6e,0x2e,0x73, + 0x76,0x67,0x22,0xa,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e, + 0x3d,0x22,0x6f,0x72,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x2e,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x2e,0x73,0x76,0x67,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x22,0xa,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a, + 0x6d,0x6f,0x64,0x69,0x66,0x69,0x65,0x64,0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x3e, + 0xa,0x20,0x20,0x3c,0x64,0x65,0x66,0x73,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x64,0x65,0x66,0x73,0x34,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47, + 0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x31,0x39,0x38,0x22,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63, + 0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x66,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f, + 0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x33,0x32,0x30,0x30,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c, + 0x6f,0x72,0x3a,0x23,0x36,0x65,0x30,0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x3b,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x31,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x33,0x32,0x30,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69, + 0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63, + 0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77, + 0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37, + 0x37,0x32,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x38, + 0x30,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x32,0x37,0x37,0x34,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x38,0x30,0x30, + 0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30, + 0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x32,0x37,0x37,0x36,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69, + 0x3a,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a, + 0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x78,0x3d,0x22,0x30, + 0x20,0x3a,0x20,0x31,0x32,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76,0x70,0x5f,0x79,0x3d, + 0x22,0x30,0x20,0x3a,0x20,0x31,0x30,0x30,0x30,0x20,0x3a,0x20,0x30,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x76, + 0x70,0x5f,0x7a,0x3d,0x22,0x32,0x34,0x20,0x3a,0x20,0x31,0x32,0x20,0x3a,0x20,0x31, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x70,0x65,0x72,0x73,0x70,0x33,0x64,0x2d,0x6f,0x72,0x69,0x67,0x69,0x6e, + 0x3d,0x22,0x31,0x32,0x20,0x3a,0x20,0x38,0x20,0x3a,0x20,0x31,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x65,0x72,0x73,0x70,0x65,0x63, + 0x74,0x69,0x76,0x65,0x34,0x31,0x37,0x37,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x36,0x39,0x22,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f, + 0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x38,0x62,0x66,0x66,0x33,0x35,0x3b, + 0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74, + 0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x32,0x37,0x31,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d, + 0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x31,0x39,0x37,0x38,0x30,0x30,0x3b,0x73,0x74, + 0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x34,0x32,0x37,0x33,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e, + 0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72, + 0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64, + 0x3d,0x22,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74, + 0x34,0x31,0x38,0x33,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74, + 0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x34,0x31,0x38,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73,0x74, + 0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x30,0x66,0x65,0x30,0x30, + 0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x30,0x61,0x61,0x65, + 0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x30,0x2e,0x34,0x39,0x38,0x30,0x33,0x39,0x32,0x32,0x3b,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x2e, + 0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x73,0x74,0x6f,0x70,0x33,0x32,0x35,0x32,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x38,0x37,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, + 0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79, + 0x6c,0x65,0x3d,0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23, + 0x31,0x34,0x35,0x66,0x30,0x30,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63, + 0x69,0x74,0x79,0x3a,0x31,0x3b,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64, + 0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x31, + 0x36,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d, + 0x22,0x73,0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x38,0x30,0x30, + 0x30,0x30,0x65,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79, + 0x3a,0x31,0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3d,0x22,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x36,0x39,0x22,0x20, + 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x74,0x6f,0x70,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x73, + 0x74,0x6f,0x70,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x23,0x62,0x30,0x30,0x30,0x31, + 0x34,0x3b,0x73,0x74,0x6f,0x70,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x30, + 0x3b,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x3d,0x22,0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x73,0x74,0x6f,0x70,0x34,0x31,0x37,0x31,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61, + 0x64,0x69,0x65,0x6e,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6c,0x69,0x6e,0x65, + 0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23, + 0x6c,0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37, + 0x37,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c, + 0x69,0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x32,0x37,0x37, + 0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x31,0x3d,0x22,0x32,0x36, + 0x2e,0x34,0x32,0x30,0x35,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x79,0x31,0x3d,0x22,0x33,0x2e,0x34,0x35,0x36,0x35,0x32,0x32,0x35,0x22,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x32,0x3d,0x22,0x32,0x30,0x2e,0x32,0x39,0x31, + 0x37,0x32,0x37,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x79,0x32,0x3d,0x22, + 0x2d,0x35,0x2e,0x32,0x37,0x35,0x38,0x36,0x31,0x37,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73, + 0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65, + 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x72,0x61,0x64,0x69,0x61,0x6c, + 0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65,0x63,0x74, + 0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x78,0x6c,0x69,0x6e,0x6b,0x3a,0x68,0x72,0x65,0x66,0x3d,0x22,0x23,0x6c,0x69, + 0x6e,0x65,0x61,0x72,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x34,0x32,0x36,0x39, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x72,0x61,0x64, + 0x69,0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x32,0x31,0x32,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x31,0x33,0x2e,0x39, + 0x36,0x35,0x33,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x63,0x79,0x3d, + 0x22,0x39,0x2e,0x34,0x37,0x33,0x33,0x30,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x66,0x78,0x3d,0x22,0x31,0x33,0x2e,0x39,0x36,0x35,0x33,0x36,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x79,0x3d,0x22,0x39,0x2e,0x34,0x37, + 0x33,0x33,0x30,0x38,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x3d, + 0x22,0x31,0x31,0x2e,0x35,0x37,0x38,0x38,0x37,0x34,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x54,0x72,0x61,0x6e,0x73, + 0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61,0x74,0x72,0x69,0x78,0x28,0x31,0x2c,0x30, + 0x2c,0x30,0x2c,0x31,0x2e,0x30,0x32,0x32,0x39,0x30,0x30,0x38,0x2c,0x30,0x2c,0x2d, + 0x30,0x2e,0x32,0x37,0x34,0x33,0x33,0x32,0x38,0x29,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x67,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x55,0x6e,0x69,0x74,0x73, + 0x3d,0x22,0x75,0x73,0x65,0x72,0x53,0x70,0x61,0x63,0x65,0x4f,0x6e,0x55,0x73,0x65, + 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x70,0x72,0x65,0x61,0x64,0x4d, + 0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x61,0x64,0x22,0x20,0x2f,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x66,0x69,0x6c,0x74,0x65,0x72,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c,0x65, + 0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x66,0x69,0x6c,0x74,0x65,0x72,0x34,0x37,0x31, + 0x32,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x65,0x47,0x61,0x75, + 0x73,0x73,0x69,0x61,0x6e,0x42,0x6c,0x75,0x72,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x6f,0x6c,0x6c, + 0x65,0x63,0x74,0x3d,0x22,0x61,0x6c,0x77,0x61,0x79,0x73,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x64,0x44,0x65,0x76,0x69,0x61,0x74,0x69, + 0x6f,0x6e,0x3d,0x22,0x30,0x2e,0x32,0x33,0x33,0x39,0x33,0x35,0x39,0x34,0x22,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x66,0x65,0x47, + 0x61,0x75,0x73,0x73,0x69,0x61,0x6e,0x42,0x6c,0x75,0x72,0x34,0x37,0x31,0x34,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x69,0x6c,0x74,0x65,0x72, + 0x3e,0xa,0x20,0x20,0x3c,0x2f,0x64,0x65,0x66,0x73,0x3e,0xa,0x20,0x20,0x3c,0x73, + 0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e,0x61,0x6d,0x65,0x64,0x76,0x69,0x65, + 0x77,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x62,0x61,0x73,0x65,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65,0x63,0x6f,0x6c,0x6f,0x72,0x3d, + 0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62, + 0x6f,0x72,0x64,0x65,0x72,0x63,0x6f,0x6c,0x6f,0x72,0x3d,0x22,0x23,0x36,0x36,0x36, + 0x36,0x36,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x31,0x2e,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65, + 0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x30,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x70,0x61,0x67,0x65, + 0x73,0x68,0x61,0x64,0x6f,0x77,0x3d,0x22,0x32,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x7a,0x6f,0x6f,0x6d,0x3d,0x22,0x31, + 0x31,0x2e,0x33,0x31,0x33,0x37,0x30,0x38,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x63,0x78,0x3d,0x22,0x2d,0x31,0x2e,0x37, + 0x32,0x30,0x35,0x32,0x36,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x79,0x3d,0x22,0x2d,0x31,0x2e,0x31,0x39,0x35,0x38, + 0x30,0x35,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61, + 0x70,0x65,0x3a,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2d,0x75,0x6e,0x69,0x74, + 0x73,0x3d,0x22,0x70,0x78,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73, + 0x63,0x61,0x70,0x65,0x3a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x2d,0x6c,0x61,0x79, + 0x65,0x72,0x3d,0x22,0x6c,0x61,0x79,0x65,0x72,0x31,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x33,0x32,0x70,0x78,0x22,0xa,0x20,0x20, + 0x20,0x20,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x33,0x32,0x70,0x78,0x22, + 0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x75,0x69,0x64,0x65,0x73, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x67,0x75,0x69,0x64,0x65,0x2d,0x62,0x62,0x6f,0x78, + 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x77,0x69,0x64, + 0x74,0x68,0x3d,0x22,0x31,0x34,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69, + 0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x68, + 0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x38,0x34,0x30,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77, + 0x2d,0x78,0x3d,0x22,0x2d,0x35,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b, + 0x73,0x63,0x61,0x70,0x65,0x3a,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2d,0x79,0x3d,0x22, + 0x2d,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x73,0x68,0x6f,0x77,0x67,0x72,0x69, + 0x64,0x3d,0x22,0x66,0x61,0x6c,0x73,0x65,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x67,0x75,0x69,0x64,0x65,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x72,0x69,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f, + 0x6e,0x3d,0x22,0x76,0x65,0x72,0x74,0x69,0x63,0x61,0x6c,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x35, + 0x2e,0x39,0x38,0x32,0x31,0x34,0x33,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x69,0x64,0x3d,0x22,0x67,0x75,0x69,0x64,0x65,0x33,0x31,0x34,0x36,0x22,0x20,0x2f, + 0x3e,0xa,0x20,0x20,0x3c,0x2f,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x6e, + 0x61,0x6d,0x65,0x64,0x76,0x69,0x65,0x77,0x3e,0xa,0x20,0x20,0x3c,0x6d,0x65,0x74, + 0x61,0x64,0x61,0x74,0x61,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6d, + 0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x37,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c, + 0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, + 0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x72,0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61, + 0x74,0x3e,0x69,0x6d,0x61,0x67,0x65,0x2f,0x73,0x76,0x67,0x2b,0x78,0x6d,0x6c,0x3c, + 0x2f,0x64,0x63,0x3a,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x3c,0x64,0x63,0x3a,0x74,0x79,0x70,0x65,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x72,0x64,0x66,0x3a,0x72,0x65,0x73,0x6f, + 0x75,0x72,0x63,0x65,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x70,0x75,0x72, + 0x6c,0x2e,0x6f,0x72,0x67,0x2f,0x64,0x63,0x2f,0x64,0x63,0x6d,0x69,0x74,0x79,0x70, + 0x65,0x2f,0x53,0x74,0x69,0x6c,0x6c,0x49,0x6d,0x61,0x67,0x65,0x22,0x20,0x2f,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x63,0x3a,0x57,0x6f,0x72,0x6b, + 0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x3e, + 0xa,0x20,0x20,0x3c,0x2f,0x6d,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x3e,0xa,0x20, + 0x20,0x3c,0x67,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70, + 0x65,0x3a,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x43,0x61,0x6c,0x71,0x75,0x65,0x20, + 0x31,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x6e,0x6b,0x73,0x63,0x61,0x70,0x65, + 0x3a,0x67,0x72,0x6f,0x75,0x70,0x6d,0x6f,0x64,0x65,0x3d,0x22,0x6c,0x61,0x79,0x65, + 0x72,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x6c,0x61,0x79,0x65, + 0x72,0x31,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0xa,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x74, + 0x79,0x70,0x65,0x3d,0x22,0x61,0x72,0x63,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a, + 0x31,0x3b,0x66,0x69,0x6c,0x6c,0x3a,0x75,0x72,0x6c,0x28,0x23,0x72,0x61,0x64,0x69, + 0x61,0x6c,0x47,0x72,0x61,0x64,0x69,0x65,0x6e,0x74,0x33,0x32,0x31,0x32,0x29,0x3b, + 0x66,0x69,0x6c,0x6c,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x73, + 0x74,0x72,0x6f,0x6b,0x65,0x3a,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3b,0x73,0x74, + 0x72,0x6f,0x6b,0x65,0x2d,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x31,0x3b,0x66, + 0x69,0x6c,0x74,0x65,0x72,0x3a,0x75,0x72,0x6c,0x28,0x23,0x66,0x69,0x6c,0x74,0x65, + 0x72,0x34,0x37,0x31,0x32,0x29,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69, + 0x64,0x3d,0x22,0x70,0x61,0x74,0x68,0x32,0x34,0x32,0x34,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x78,0x3d, + 0x22,0x31,0x32,0x2e,0x31,0x39,0x37,0x35,0x39,0x33,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x63,0x79,0x3d,0x22, + 0x31,0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x78,0x3d,0x22,0x31, + 0x31,0x2e,0x35,0x37,0x38,0x38,0x37,0x34,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x73,0x6f,0x64,0x69,0x70,0x6f,0x64,0x69,0x3a,0x72,0x79,0x3d,0x22,0x31,0x31, + 0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x64,0x3d,0x22,0x4d,0x20,0x32,0x33,0x2e,0x37,0x37,0x36,0x34,0x36,0x36,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x41,0x20,0x31,0x31,0x2e,0x35,0x37, + 0x38,0x38,0x37,0x34,0x2c,0x31,0x31,0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x20,0x30, + 0x20,0x31,0x20,0x31,0x20,0x30,0x2e,0x36,0x31,0x38,0x37,0x31,0x39,0x31,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x41,0x20,0x31,0x31,0x2e,0x35,0x37, + 0x38,0x38,0x37,0x34,0x2c,0x31,0x31,0x2e,0x38,0x34,0x34,0x30,0x33,0x39,0x20,0x30, + 0x20,0x31,0x20,0x31,0x20,0x32,0x33,0x2e,0x37,0x37,0x36,0x34,0x36,0x36,0x2c,0x31, + 0x31,0x2e,0x39,0x37,0x39,0x31,0x38,0x34,0x20,0x7a,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x6d,0x61, + 0x74,0x72,0x69,0x78,0x28,0x30,0x2e,0x35,0x37,0x39,0x37,0x39,0x34,0x34,0x2c,0x30, + 0x2c,0x30,0x2c,0x30,0x2e,0x35,0x36,0x36,0x38,0x31,0x33,0x39,0x2c,0x34,0x2e,0x39, + 0x32,0x37,0x39,0x30,0x33,0x38,0x2c,0x35,0x2e,0x32,0x31,0x30,0x30,0x33,0x32,0x33, + 0x29,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x67,0x3e,0xa,0x3c,0x2f,0x73, + 0x76,0x67,0x3e,0xa, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/speaker_25.svg + 0x0,0x0,0xa,0xd5, + 0x0, + 0x0,0x32,0x6,0x78,0x9c,0xd5,0x5a,0x5b,0x93,0xdb,0xb6,0x15,0x7e,0xf7,0xaf,0x50, + 0xe5,0x17,0x7b,0x2a,0x41,0xb8,0x5f,0xb4,0xbb,0xce,0x83,0x33,0xe9,0x64,0x26,0x99, + 0x76,0xea,0x64,0xfa,0x98,0xe1,0x92,0x90,0x96,0x35,0x25,0xaa,0x24,0x65,0xed,0xe6, + 0xd7,0xf7,0x0,0x12,0x2f,0x90,0xa8,0x95,0xb4,0xd6,0xda,0xed,0x2a,0x19,0x93,0x7, + 0x97,0x3,0x7c,0xe7,0xc3,0xc1,0x39,0x20,0x6e,0x7f,0x78,0x5c,0x64,0x83,0x2f,0xb6, + 0x28,0xd3,0x7c,0x79,0x37,0x24,0x8,0xf,0x7,0x76,0x19,0xe7,0x49,0xba,0x9c,0xdf, + 0xd,0x7f,0xff,0xed,0xa7,0xb1,0x1e,0xe,0xca,0x2a,0x5a,0x26,0x51,0x96,0x2f,0xed, + 0xdd,0x70,0x99,0xf,0x7f,0xf8,0xf0,0xe6,0xf6,0x2f,0xe3,0xf1,0xe0,0x63,0x61,0xa3, + 0xca,0x26,0x83,0x4d,0x5a,0x3d,0xc,0x7e,0x5e,0x7e,0x2e,0xe3,0x68,0x65,0x7,0xef, + 0x1e,0xaa,0x6a,0x35,0x9d,0x4c,0x36,0x9b,0xd,0x4a,0x77,0x42,0x94,0x17,0xf3,0xc9, + 0xfb,0xc1,0x78,0xc,0x2d,0xcb,0x2f,0xf3,0x37,0x83,0xc1,0x0,0xd4,0x2e,0xcb,0x69, + 0x12,0xdf,0xd,0x77,0xf5,0x57,0xeb,0x22,0xf3,0xf5,0x92,0x78,0x62,0x33,0xbb,0xb0, + 0xcb,0xaa,0x9c,0x10,0x44,0x26,0xc3,0xb6,0x7a,0xdc,0x56,0xdf,0xd8,0x7b,0x54,0xd8, + 0x32,0x5f,0x17,0xf1,0xb6,0xfb,0x38,0xee,0xd6,0x2c,0x92,0x59,0x5b,0x15,0x46,0xb2, + 0x61,0xbe,0x12,0x31,0xc6,0x4c,0x30,0x9d,0x50,0x3a,0x86,0x1a,0xe3,0xf2,0x69,0x59, + 0x45,0x8f,0xe3,0x65,0xf9,0xb6,0xd3,0x14,0x6,0xd8,0xd7,0x94,0x62,0x8c,0x27,0x50, + 0xd6,0xd6,0x3c,0xaf,0xd6,0xf4,0x31,0x3,0x18,0x8e,0xe,0xc6,0x97,0x76,0xb5,0x3, + 0xf4,0x2b,0xf8,0xbf,0x69,0x50,0xb,0xd0,0x76,0xae,0x33,0x68,0x69,0xd1,0xd2,0x56, + 0x93,0x1f,0x7f,0xfb,0xb1,0x29,0x1c,0x63,0x94,0x54,0x49,0xa7,0x9b,0x1a,0xf9,0x40, + 0x6f,0x60,0x8e,0x65,0xb4,0xb0,0xe5,0x2a,0x8a,0x6d,0x39,0xa9,0xe5,0xbe,0xfd,0x26, + 0x4d,0xaa,0x7,0x60,0x82,0xf4,0x6f,0xf,0x36,0x9d,0x3f,0x54,0xcd,0x6b,0x9a,0xdc, + 0xd,0x61,0x76,0xd4,0xbf,0xd4,0xca,0xa7,0xd,0x7d,0x30,0x62,0xdb,0xa2,0xba,0xc7, + 0x6e,0x11,0x17,0x88,0xf8,0xc2,0x80,0x6d,0x41,0x47,0x49,0x1e,0xdf,0x47,0x25,0xc, + 0x7a,0xf2,0x90,0x2f,0xec,0x38,0xcb,0xe3,0x28,0x9b,0xac,0xb2,0x7b,0x1b,0xad,0x93, + 0x3c,0x5d,0x4e,0x3e,0xfd,0xf4,0xcb,0x3f,0x1e,0x80,0x86,0x93,0x72,0x96,0xad,0x82, + 0x87,0xf1,0xbc,0xfa,0x3c,0x59,0xa5,0x8f,0x8b,0x68,0x55,0x1e,0xf4,0xe9,0xa6,0xa, + 0xe3,0x5e,0xd9,0xe8,0xb3,0x2d,0xfe,0xa0,0x2,0xd5,0x6,0x6a,0x86,0x99,0xaf,0xab, + 0xd5,0xba,0xfa,0xc3,0x3e,0x56,0x76,0xb9,0x1d,0x1b,0x40,0xd4,0xc1,0xcb,0x17,0xbb, + 0x66,0x8d,0x6c,0xf8,0x1,0x3a,0xb8,0x4d,0xec,0xac,0x74,0x1d,0x6d,0x91,0x71,0x6f, + 0xdc,0x17,0x40,0x11,0xd8,0xd5,0x46,0xc5,0xdf,0x8a,0x28,0x49,0x81,0xca,0xdb,0x4a, + 0x1d,0x8d,0x71,0x9e,0x65,0x36,0x6,0x64,0xa3,0x6c,0x13,0x3d,0x6d,0xc7,0x5c,0xf7, + 0x13,0x36,0x65,0x9c,0xa8,0x5d,0xa7,0xd0,0x6d,0x59,0xe5,0xab,0xba,0x2e,0xcc,0xb2, + 0x7a,0xca,0xdc,0xd4,0x40,0x38,0x86,0x1e,0xf3,0x62,0xfa,0x16,0xfb,0xbf,0x1b,0x2f, + 0xca,0xc1,0xbe,0x69,0xf5,0x34,0x25,0x37,0xc3,0xb6,0x4d,0x3e,0x9b,0x95,0x16,0x14, + 0xe3,0x8e,0xcc,0xdb,0x15,0x5a,0x80,0x2e,0x33,0x1c,0x4c,0xbe,0x4e,0x1b,0xee,0xd3, + 0x46,0x7a,0xb5,0x51,0xd2,0x68,0xbb,0x9d,0x84,0xd3,0x7e,0x1e,0xc6,0x43,0x94,0x98, + 0xc2,0x17,0xa0,0x94,0x28,0xf7,0x7b,0x29,0x4a,0x4c,0xd1,0x8b,0x50,0x52,0xb1,0xfb, + 0x9d,0xa1,0xad,0x17,0x25,0xa6,0xf8,0xf5,0x50,0x92,0xf4,0x9b,0x71,0x89,0x49,0x7e, + 0x11,0x4a,0x33,0xff,0xf7,0x62,0x94,0xa4,0xbc,0x16,0x4a,0x1c,0x73,0x71,0x1,0x4a, + 0x7d,0xe3,0xc6,0x67,0x82,0x4,0xaa,0xd4,0x65,0x20,0xc5,0xb3,0xfb,0xf8,0x7e,0xf, + 0xa4,0x33,0x31,0x2,0x65,0xe6,0x6a,0x18,0x51,0x69,0x2e,0xc0,0x88,0x24,0xf7,0x2f, + 0x67,0x12,0xa7,0x8a,0x5c,0x4,0x52,0x9f,0xb6,0xb3,0xbd,0x12,0x68,0x63,0x57,0x43, + 0x89,0x68,0x76,0xc,0xa5,0x46,0x1f,0xd1,0xe2,0x4,0x10,0xe7,0x3,0x7a,0x14,0xa5, + 0x8e,0x36,0x75,0x2,0x88,0x3e,0x47,0x30,0x13,0xb3,0x67,0xb4,0x7d,0x35,0x4a,0xf2, + 0x92,0x1d,0x4e,0x3b,0xa7,0x64,0x5f,0xca,0x25,0x22,0x2f,0xdb,0xe1,0x1c,0xcc,0x84, + 0xbf,0x94,0x4b,0x44,0xbd,0x74,0x87,0x3b,0x15,0x28,0xf8,0xc0,0x71,0xfa,0x50,0x58, + 0x8,0x74,0xdf,0xf6,0xb0,0xee,0x38,0xdc,0x94,0x52,0xde,0x76,0x43,0x5c,0x70,0x87, + 0x34,0x95,0xca,0xc8,0x46,0xfa,0x4,0x52,0x89,0x14,0xd5,0x5a,0x91,0xb6,0xab,0x47, + 0x7a,0x37,0xa4,0xa,0x9,0x49,0x5b,0xc2,0x3e,0x39,0x19,0x45,0x82,0x50,0x81,0x5b, + 0xe9,0x7c,0xa7,0xea,0xf7,0x65,0x5a,0x41,0x9c,0xbc,0x2e,0x6d,0xf1,0xc9,0xc5,0x9a, + 0x7f,0x5f,0xfe,0x5e,0xda,0x83,0x5a,0xbf,0x15,0xd1,0xb2,0x84,0xc0,0x76,0x71,0x37, + 0x5c,0x44,0x55,0x91,0x3e,0xbe,0xc3,0x48,0x2b,0x81,0xa9,0x18,0x61,0xf7,0x6b,0x5e, + 0x90,0x94,0x52,0x61,0x6,0xf,0x44,0x29,0x83,0xd5,0xfb,0x16,0xdb,0x7e,0x14,0x8f, + 0x6b,0x20,0x48,0x52,0x43,0x98,0x57,0x30,0xae,0x5f,0xc6,0x4,0x23,0x2c,0x25,0xd6, + 0x23,0x66,0x90,0x22,0x46,0x83,0x86,0xcb,0xa6,0xe4,0xe0,0x90,0x48,0x2a,0x85,0x8d, + 0xd2,0x1,0x70,0x44,0x20,0x8d,0x25,0xdd,0x5,0xc8,0x35,0xc8,0x0,0x9d,0x56,0x9c, + 0x62,0x1d,0x1a,0x44,0x20,0xc9,0x30,0x33,0xe2,0x19,0x2b,0x82,0x9b,0x12,0x67,0x91, + 0xc1,0x39,0xea,0x93,0xac,0x3a,0x81,0xa3,0x9b,0x16,0x61,0xc8,0x40,0x7a,0x23,0x42, + 0x3e,0x0,0x75,0x98,0xd2,0xda,0xa8,0x60,0x5a,0x84,0x2,0xa2,0xc2,0x60,0x1a,0x4c, + 0x8b,0x2,0xb8,0x2,0xfc,0x8f,0x3a,0x83,0x1,0x63,0xe2,0x4d,0x43,0x46,0xc,0x5a, + 0x1,0xa1,0xf5,0x68,0xc,0x50,0x49,0xae,0xd8,0xa5,0x26,0x39,0x84,0x8e,0x30,0xad, + 0xbf,0x19,0x74,0x3d,0x53,0xac,0xdc,0x63,0x6,0xb9,0x33,0xf0,0x1c,0x74,0x10,0xe1, + 0x27,0xa7,0x24,0x25,0x4c,0xbe,0x84,0x70,0xaf,0x61,0x99,0x5e,0xd4,0xe4,0x37,0x47, + 0xed,0x8c,0xc9,0x63,0x24,0x94,0x54,0x94,0x84,0xab,0x8d,0x23,0xc,0x68,0x32,0x1d, + 0xae,0x36,0xa4,0x30,0xf8,0x34,0x29,0xf,0x56,0x1b,0x87,0xe,0x9e,0xf3,0x99,0x30, + 0x79,0x7e,0xd6,0xe4,0x3,0xd7,0xfb,0x1a,0x94,0x81,0x54,0xdf,0x70,0x85,0x9,0x70, + 0x6,0x1c,0xa3,0x16,0xe0,0xa5,0x5e,0xc4,0x19,0xf0,0xd9,0x4c,0x28,0x22,0x2,0xd8, + 0x18,0x41,0xc,0x36,0x63,0xbd,0x4f,0x99,0xfd,0xaa,0xe,0x4b,0x8e,0x98,0x51,0x5d, + 0xa7,0xdf,0x8b,0x1a,0xfd,0xdf,0x40,0x8d,0x20,0x2a,0x81,0x97,0xc4,0xf9,0x7a,0x82, + 0xb1,0x12,0xf4,0x85,0xa0,0x69,0x2a,0xb4,0x9,0x17,0x9a,0x82,0xd5,0xc7,0xe0,0x3f, + 0xb1,0x8f,0xda,0x7e,0x5d,0xe2,0x8f,0x3c,0x30,0x7,0xb6,0xc9,0xe7,0x51,0xc3,0xdf, + 0xc,0xb5,0x3e,0xf5,0x8a,0x9f,0x8a,0x59,0xa1,0x4e,0x3b,0x83,0xb3,0x63,0xd6,0x23, + 0x81,0xdb,0xc9,0x98,0x15,0xb4,0xe9,0x1e,0x6d,0x27,0x62,0xd6,0x23,0x81,0xdb,0x95, + 0x62,0x56,0x70,0x2e,0xfa,0x82,0x98,0x95,0xca,0xaf,0xc8,0x7f,0x88,0x3b,0xdb,0xb8, + 0x28,0xff,0xe1,0xbd,0xe1,0xfa,0x79,0x31,0x2b,0xe9,0x9e,0x6e,0x7c,0x3d,0x4a,0x47, + 0xcf,0x1b,0x5a,0x7d,0x92,0x5f,0xce,0xa5,0x23,0x80,0x9e,0xc1,0x25,0xd9,0xc7,0xdc, + 0x13,0x5c,0xea,0xd3,0xf6,0x62,0x2e,0xbd,0x5e,0x64,0x4f,0x38,0x96,0x17,0xba,0xb5, + 0xfe,0xd,0xf0,0xc8,0x66,0xd9,0xbf,0xb1,0x6,0x9b,0xf0,0x29,0x77,0xf3,0xaa,0x93, + 0xd7,0x17,0x4e,0xfe,0xc5,0x5b,0x86,0x47,0xcd,0xcd,0x99,0x1b,0xb6,0xef,0xf5,0x9, + 0x11,0x42,0x98,0x0,0x34,0xd8,0xa9,0xa5,0x86,0xca,0x41,0xf4,0x4f,0xbb,0xb5,0xbf, + 0x27,0x6c,0x4,0x5f,0x13,0xb6,0x67,0xe3,0x13,0x87,0x1b,0xc4,0x18,0xd2,0x50,0x23, + 0xf7,0x82,0xc,0x7,0x37,0xa7,0x24,0x64,0x1b,0x65,0xd0,0x5,0x70,0x30,0xcc,0x37, + 0x21,0xde,0x65,0x42,0x30,0xfa,0xaa,0xa8,0x5,0x51,0x6c,0x1f,0x6a,0xf4,0x9a,0xa8, + 0x3d,0x97,0x8,0x38,0xd0,0x14,0x2,0x24,0x1d,0x81,0x42,0xd0,0x4,0x32,0x84,0x6, + 0xd9,0x8c,0x8f,0x47,0x8,0x21,0x5c,0x73,0x12,0x82,0x46,0x90,0x30,0x8a,0x41,0xea, + 0xfe,0x5d,0x51,0xe3,0x5f,0x8f,0xda,0x5,0x19,0x62,0x7f,0x6e,0x73,0x24,0xf,0xea, + 0xcf,0x99,0x82,0xfc,0xaa,0x81,0xce,0x8d,0x2a,0xca,0xae,0xa,0x9d,0x3b,0x74,0xee, + 0x42,0x17,0xaa,0xe0,0x58,0xb4,0xf6,0x8c,0x1f,0x61,0x50,0x6,0x51,0x1d,0x44,0xe5, + 0xf1,0xd3,0xdd,0xd0,0x20,0x27,0xe3,0x9d,0x3,0x9e,0x59,0x6f,0xdd,0x59,0x6f,0xdd, + 0xc2,0x7b,0x35,0xed,0xc5,0x17,0xda,0xa9,0x5c,0x15,0x36,0x4a,0x7e,0xb5,0xd5,0x43, + 0xee,0xc6,0x6e,0x67,0x6e,0xfe,0x67,0x9d,0xf4,0x80,0xe9,0x20,0x8f,0xd8,0x9d,0xf4, + 0xec,0x5e,0x9c,0x37,0xc0,0x82,0xeb,0x91,0x40,0x8a,0x2a,0xca,0xf5,0xc9,0x93,0x9e, + 0xaf,0x81,0xde,0x7f,0x15,0x39,0xce,0x5a,0xc6,0xe4,0xde,0xf1,0x8c,0x44,0x98,0xa9, + 0x6e,0x6e,0xe3,0x18,0xc5,0x90,0x64,0x1c,0x2b,0x1d,0x26,0x7,0xe0,0xd,0x95,0x6, + 0x90,0xc3,0xfd,0x52,0x20,0x4a,0xb4,0xd0,0xd7,0xf0,0x21,0xd,0x8e,0x4a,0x4b,0xc3, + 0x28,0x1f,0xb5,0x4f,0xe3,0x5e,0xa1,0xcb,0xe6,0x88,0x62,0x5c,0xb8,0x8d,0xd,0x63, + 0xd8,0xe0,0x39,0x7d,0xff,0x9a,0xcc,0xf6,0x9f,0xe6,0x8e,0x33,0x9b,0x41,0xee,0x14, + 0x30,0x5b,0x20,0xc1,0xb9,0x14,0x9d,0xe3,0xc,0xc7,0x6c,0x9,0xc3,0x56,0xa,0x36, + 0xd1,0x80,0xd9,0x87,0x75,0x67,0xbd,0x75,0xb,0x67,0x1f,0xa5,0xa9,0x31,0xe2,0xf0, + 0xf4,0xe9,0x12,0x66,0xaf,0xa2,0xe4,0x2c,0x6b,0x48,0xa1,0xb0,0xe4,0xee,0xa8,0x92, + 0x53,0x20,0xb,0xf5,0xdb,0x21,0xb8,0x21,0xc6,0xfd,0x41,0xa6,0x26,0x98,0x18,0x9, + 0xf4,0xa6,0xe0,0x82,0x84,0x52,0xde,0x16,0xda,0xc0,0xbe,0x78,0xfa,0x50,0xf3,0xaa, + 0xb6,0x38,0xf8,0xd6,0xbc,0x97,0xe5,0x23,0x46,0x68,0x98,0xd8,0xf2,0x50,0xe4,0x8f, + 0xd,0x60,0x3e,0x7b,0x67,0xc2,0xb0,0x82,0x55,0x20,0xbc,0xc6,0x26,0x39,0xd2,0x88, + 0x71,0x63,0x18,0xb7,0x63,0xfa,0xba,0x30,0xb9,0x6f,0xee,0xcf,0xc1,0x44,0xc3,0xb4, + 0x5e,0x23,0x48,0xff,0x35,0x57,0x7b,0x47,0x0,0xc0,0x4e,0x41,0xf7,0xb0,0xe2,0x40, + 0x8,0x4e,0x69,0xb8,0x39,0x33,0x10,0x82,0x9b,0x33,0xe7,0x7a,0xdd,0xef,0x3a,0x75, + 0x73,0xa1,0x4d,0x2f,0x6,0x88,0x6a,0xce,0x34,0x36,0x1,0x42,0x14,0x3a,0xd0,0x12, + 0x4b,0xf5,0x5d,0x57,0x7,0x23,0xaf,0xc8,0xe7,0xeb,0xae,0xbb,0x2d,0x4c,0xb7,0x13, + 0x77,0x29,0xc5,0x3f,0x35,0x37,0x62,0xdc,0x75,0x98,0xe4,0x4b,0x6a,0x37,0x6f,0x9a, + 0x79,0xba,0x5b,0x37,0xbb,0x6e,0x56,0xd1,0xdc,0xfa,0xac,0x17,0xd0,0xd9,0x7e,0xd9, + 0xde,0x15,0xdc,0xe7,0x45,0x62,0x8b,0xba,0x48,0xfa,0xbf,0xa0,0x68,0x97,0x18,0xb7, + 0xf7,0x7a,0x3a,0xc6,0x70,0xbd,0x36,0xe5,0xb8,0xbf,0xbc,0x7c,0x88,0x92,0x7c,0x3, + 0x73,0xdf,0x2f,0xfc,0x33,0xcf,0x17,0xcd,0x15,0xa4,0xae,0x85,0x1f,0x7d,0x96,0x4a, + 0x29,0xd5,0xcd,0xfe,0xda,0x16,0x3e,0x39,0x7c,0x20,0xec,0xe1,0xb8,0x59,0x6c,0x4d, + 0x61,0x92,0xc7,0x6b,0x77,0xc3,0x6c,0xbc,0xde,0x5a,0x6f,0xf5,0x78,0xd0,0x7c,0x5d, + 0x14,0xae,0x42,0x16,0x3d,0x59,0x98,0xaf,0xff,0xa7,0xee,0xa6,0xb9,0x22,0xd5,0x34, + 0x6b,0xaf,0x49,0x35,0xa2,0xf2,0x21,0xdf,0xcc,0xd7,0x69,0x62,0x4b,0x67,0xf2,0xb5, + 0xdd,0x57,0xe0,0xcb,0xc6,0xf7,0xf7,0xf9,0x63,0x7f,0xf9,0x26,0x5d,0x2,0x1a,0xe3, + 0x5a,0x17,0x6e,0x22,0xb2,0xfd,0x1a,0xb5,0x6e,0x48,0x55,0x8f,0xd4,0x0,0xd,0x10, + 0xc3,0x1c,0x29,0x4,0x98,0x28,0xae,0x3f,0xe5,0xb7,0x24,0xf1,0xc3,0xab,0x89,0x95, + 0x17,0x8e,0xc3,0x51,0xe5,0x6f,0x46,0x7d,0xb1,0x45,0x95,0xc6,0x51,0xd6,0xd0,0x6e, + 0x95,0x97,0xe9,0xb6,0x88,0x72,0xa4,0x69,0x10,0xec,0x38,0x72,0xf9,0xae,0x18,0xe1, + 0xb2,0xe1,0xe4,0x21,0x15,0xbd,0x7c,0x61,0xab,0x28,0x89,0xaa,0xa8,0xe5,0x65,0x2d, + 0xa9,0x3f,0xf,0xdf,0x16,0xc9,0x6c,0xfa,0xcf,0x1f,0x7f,0x6a,0xe,0x79,0xe2,0x78, + 0xfa,0xaf,0xbc,0xf8,0x5c,0xab,0x83,0x8d,0x1e,0x2a,0x44,0xf7,0xf9,0x1a,0x0,0x69, + 0xe,0x9e,0xdc,0x45,0xad,0x78,0xea,0x56,0x5f,0x54,0x7d,0x48,0x17,0x40,0x35,0x77, + 0x45,0xef,0xaf,0x8f,0x8b,0xc,0x96,0x47,0x53,0x10,0x54,0xae,0x9e,0x56,0xb6,0xed, + 0x74,0xdb,0x6d,0x7d,0xdd,0xb0,0xf7,0xca,0x62,0x12,0x2f,0x52,0xd7,0x68,0xf2,0xa9, + 0x4a,0xb3,0xec,0x67,0xa7,0xa4,0x7b,0x18,0x35,0xd9,0xd,0xb4,0x3e,0x2f,0xea,0xcc, + 0xe3,0x76,0x52,0xcf,0xd2,0xbf,0xcd,0xf7,0xcc,0x94,0x45,0xf7,0x36,0xbb,0x1b,0x7e, + 0x8c,0xb2,0xff,0xac,0xed,0xe0,0xc0,0xc4,0xf3,0x22,0x5f,0xaf,0x16,0x79,0x62,0x77, + 0x1c,0x1d,0xb6,0xe0,0xed,0x38,0xbb,0x53,0x39,0xf,0x4c,0xc2,0xb9,0x68,0xfd,0x46, + 0xd5,0xef,0x9c,0x20,0x4a,0x81,0xad,0x4a,0x2b,0xf1,0xbe,0x3d,0xc2,0x9b,0xb7,0xa0, + 0x34,0xc7,0x64,0x45,0xfe,0xd9,0x4e,0xdf,0xb2,0xc8,0xfd,0x6e,0xb6,0xaf,0xbd,0x57, + 0x53,0xaa,0xbe,0xcf,0xbc,0x86,0x69,0x25,0x55,0xfd,0x9d,0x77,0xf7,0xe6,0x3,0x57, + 0xd8,0xd,0x95,0x6,0x21,0x65,0x86,0x30,0x6c,0xde,0x77,0x7a,0xf2,0x53,0x70,0x91, + 0x54,0xd7,0xc4,0xab,0xa8,0x7a,0xe8,0x9a,0x6c,0x37,0xbe,0xf6,0x70,0x70,0x6,0x86, + 0x99,0x82,0xc9,0xde,0x1d,0xec,0x78,0xd4,0xbc,0xf7,0xa5,0x9d,0x93,0xc4,0xfe,0x69, + 0xf9,0xd5,0xd8,0x94,0x8e,0x5d,0x3f,0x60,0x85,0x29,0xd8,0x60,0x99,0x74,0x85,0xff, + 0xce,0xd3,0x65,0x28,0x5,0x76,0xd8,0x22,0x4b,0xe1,0x9f,0x29,0xaf,0x65,0x49,0x4, + 0x2e,0xaf,0x28,0xa2,0xa7,0xe9,0x32,0x5f,0xda,0xae,0x74,0x7b,0x2c,0x39,0xc5,0xcf, + 0xc1,0x39,0x18,0x0,0xa,0xbf,0xe,0x60,0x67,0x85,0xb0,0x91,0x12,0x3a,0x22,0x10, + 0x5a,0x40,0x0,0xa9,0xc9,0xe0,0xe3,0x40,0x22,0x8e,0x1,0x34,0x35,0x82,0x3c,0x97, + 0x72,0x62,0x30,0x1b,0x70,0x24,0xb0,0x34,0x8a,0x92,0x91,0x41,0xc6,0x60,0x4d,0xa5, + 0x1c,0x40,0x12,0x4c,0x30,0x6c,0xcb,0x64,0xa4,0x90,0x62,0x46,0x71,0x23,0xa0,0x71, + 0x5b,0x53,0x20,0xae,0xb5,0x54,0x54,0xd6,0x1d,0x4a,0x39,0x2,0xa7,0xca,0x94,0x30, + 0x82,0xd6,0xaa,0xb1,0xb3,0x92,0xd1,0x90,0x64,0x2b,0xa9,0xa1,0x79,0x2b,0xde,0x35, + 0x27,0xaa,0x33,0xca,0x56,0x79,0xdf,0xc8,0xff,0x1c,0x4,0x33,0x4c,0x7d,0xc4,0x5d, + 0x3d,0x30,0x77,0xb0,0xd9,0x2e,0x27,0xe7,0x8,0x60,0x6b,0x7f,0xa1,0xb5,0x19,0xf9, + 0xbf,0xb4,0xb6,0xcf,0x9c,0x60,0xd6,0x80,0x5,0xf,0xa,0x76,0x5b,0x4,0xb,0x84, + 0xf5,0xae,0x20,0x90,0xd4,0x4a,0x4,0x45,0xee,0x40,0x0,0x19,0xb6,0x27,0x7d,0x72, + 0x11,0x86,0x36,0xc2,0x18,0x13,0x76,0x5f,0x3c,0xba,0x1d,0x9b,0x32,0x48,0x1f,0x49, + 0x27,0x4f,0xf6,0x45,0x4f,0x41,0x51,0xd7,0xdf,0xcd,0x9b,0xc7,0x70,0x5d,0xb6,0xae, + 0x1f,0x7c,0x96,0x73,0x98,0xb0,0x3d,0xc6,0xee,0x6f,0x6f,0x79,0xbb,0x99,0x2,0x37, + 0xba,0x77,0x95,0x3c,0xdd,0xb9,0xbb,0xa0,0x1,0x33,0x32,0x23,0x17,0x3b,0x4a,0xd8, + 0xdb,0xd5,0xe0,0x17,0x60,0xa7,0xfb,0x6a,0x29,0x95,0x0,0x76,0xba,0x6f,0x6e,0xc0, + 0xa4,0xae,0x10,0x9e,0x94,0x14,0xc0,0x3a,0x90,0x42,0x7,0x9c,0x2b,0xa5,0x35,0x50, + 0x9e,0x6a,0xf7,0x81,0x42,0x6c,0xa5,0x7,0xdd,0x6,0x5c,0xdc,0xf1,0xcb,0xb3,0xea, + 0xed,0x4c,0xb8,0xdf,0x11,0x12,0x75,0xad,0xbb,0x65,0x10,0x64,0x83,0x10,0xe4,0x3a, + 0x5d,0xa7,0xf8,0x71,0x9c,0x9,0xed,0xa7,0x86,0x1d,0xb2,0x1,0xae,0xbd,0xa8,0x96, + 0x71,0xb0,0xd,0x6f,0xd7,0x51,0xe7,0xac,0xd0,0xe3,0xe9,0x4e,0xb1,0xc1,0x80,0x84, + 0x39,0x4f,0xe1,0x2e,0xf1,0x60,0xb7,0x84,0x89,0x5b,0xd0,0x42,0x12,0xe9,0x4e,0x62, + 0x30,0xe3,0xb0,0x86,0x7,0xfe,0x84,0xd6,0x8,0xe1,0xfc,0x87,0xa0,0xa,0x93,0xae, + 0x48,0xf9,0x3b,0x3a,0x80,0xac,0x6b,0xdc,0x48,0x25,0x82,0xd8,0xcc,0x18,0x65,0x3a, + 0x1d,0x72,0xa4,0x88,0x60,0xce,0x42,0xad,0x6a,0xe6,0xce,0xe2,0x30,0xee,0x7c,0xbc, + 0x38,0x58,0xce,0xe1,0x8d,0x54,0x6f,0x6,0xf,0xf4,0x9e,0xd,0xfc,0x6b,0xb1,0xce, + 0xec,0xd4,0x7e,0xb1,0x0,0x46,0xd2,0x2e,0xed,0x58,0x29,0x7f,0x71,0x32,0x30,0x8c, + 0xc0,0x4c,0x2a,0xae,0xe5,0x79,0x6b,0xdc,0x9b,0xed,0x66,0x11,0x15,0x9f,0x6d,0xb1, + 0x55,0xbf,0x7d,0x1e,0x97,0x55,0x54,0x54,0x81,0x64,0x91,0x26,0xc1,0xbb,0x5d,0x26, + 0x1,0x33,0xae,0xe4,0x21,0x6e,0xbe,0xa4,0x65,0x7a,0x9f,0x66,0xee,0xc5,0x3f,0x66, + 0xf6,0x26,0x49,0xcb,0x15,0xec,0xfd,0xd3,0x74,0xe9,0x6,0x7e,0x93,0x43,0xc0,0x36, + 0xcb,0xf2,0x4d,0x5d,0xde,0x44,0x61,0x40,0xa4,0x5b,0x17,0x8,0x7d,0x78,0xf3,0x5f, + 0x82,0x32,0xad,0x39, + // /home/emmanuel/sflphone/sflphone-client-kde/src/icons/incoming.svg + 0x0,0x0,0x9,0xb0, + 0x0, + 0x0,0x20,0x84,0x78,0x9c,0xed,0x59,0xdb,0x8e,0xdb,0xc8,0x11,0x7d,0xf7,0x57,0x30, + 0xf2,0x8b,0x8d,0x48,0x64,0xdf,0x2f,0xda,0x19,0xef,0xc3,0x18,0x5e,0x2c,0xe0,0x20, + 0x41,0x6c,0x23,0x8f,0xb,0x8e,0x44,0x69,0x18,0x4b,0xa2,0x42,0x52,0x73,0xf1,0xd7, + 0xe7,0x54,0xf3,0x22,0x72,0x46,0x63,0x8f,0xed,0x8d,0x91,0x45,0x22,0xdb,0x92,0x58, + 0x5d,0x5d,0xd5,0x55,0x7d,0xfa,0x54,0xb5,0x7c,0xf6,0xf3,0xed,0x76,0x13,0x5d,0x67, + 0x65,0x95,0x17,0xbb,0xf3,0x9,0x8f,0xd9,0x24,0xca,0x76,0x8b,0x62,0x99,0xef,0xd6, + 0xe7,0x93,0xf,0xef,0xdf,0xcc,0xdc,0x24,0xaa,0xea,0x74,0xb7,0x4c,0x37,0xc5,0x2e, + 0x3b,0x9f,0xec,0x8a,0xc9,0xcf,0xaf,0x9e,0x9d,0xfd,0x69,0x36,0x8b,0x2e,0xca,0x2c, + 0xad,0xb3,0x65,0x74,0x93,0xd7,0x57,0xd1,0xaf,0xbb,0x8f,0xd5,0x22,0xdd,0x67,0xd1, + 0x8b,0xab,0xba,0xde,0xcf,0x93,0xe4,0xe6,0xe6,0x26,0xce,0x5b,0x61,0x5c,0x94,0xeb, + 0xe4,0x65,0x34,0x9b,0x61,0x66,0x75,0xbd,0x7e,0x16,0x45,0x11,0xdc,0xee,0xaa,0xf9, + 0x72,0x71,0x3e,0x69,0xf5,0xf7,0x87,0x72,0x13,0xf4,0x96,0x8b,0x24,0xdb,0x64,0xdb, + 0x6c,0x57,0x57,0x9,0x8f,0x79,0x32,0x39,0xaa,0x2f,0x8e,0xea,0xb,0x72,0x9e,0x5f, + 0x67,0x8b,0x62,0xbb,0x2d,0x76,0x55,0x98,0xb9,0xab,0x9e,0xf,0x94,0xcb,0xe5,0xaa, + 0xd7,0xa6,0xc5,0xdc,0xc8,0xa0,0xc4,0xbd,0xf7,0x9,0x13,0x89,0x10,0x33,0x68,0xcc, + 0xaa,0xbb,0x5d,0x9d,0xde,0xce,0xc6,0x53,0xb1,0xc6,0x53,0x53,0x5,0x63,0x2c,0xc1, + 0xd8,0x51,0xf3,0x69,0x5a,0xf3,0xdb,0xd,0x32,0xf1,0xe8,0x62,0xc2,0xe8,0xd0,0x3b, + 0xb2,0xbf,0xc7,0xbf,0x7e,0x42,0x27,0x88,0xab,0xe2,0x50,0x2e,0xb2,0x15,0x66,0x66, + 0xf1,0x2e,0xab,0x93,0xd7,0xef,0x5f,0xf7,0x83,0x33,0x16,0x2f,0xeb,0xe5,0xc0,0x4c, + 0x97,0xfc,0x91,0xdf,0xd1,0x8e,0xec,0xd2,0x6d,0x56,0xed,0xd3,0x45,0x56,0x25,0x9d, + 0x3c,0xcc,0xbf,0xc9,0x97,0xf5,0xd5,0xf9,0x44,0xa8,0xf0,0x74,0x95,0xe5,0xeb,0xab, + 0xba,0x7f,0xcc,0x97,0xe7,0x13,0x44,0x27,0xc2,0x43,0xe7,0x7c,0xde,0x23,0x88,0xc5, + 0xb2,0x19,0xea,0x2c,0xe,0x87,0x94,0x9,0x43,0x23,0xb8,0x8d,0xcc,0x2c,0x8b,0xc5, + 0x65,0x5a,0x61,0xc9,0xc9,0x55,0xb1,0xcd,0x92,0xfd,0xe6,0x32,0x4b,0xf,0xcb,0x22, + 0xdf,0x25,0xef,0xde,0xbc,0xfd,0xdb,0x15,0x10,0x98,0x54,0xab,0xcd,0x7e,0xf4,0x65, + 0xb6,0xae,0x3f,0x26,0xfb,0xfc,0x76,0x9b,0xee,0xab,0x7,0xd6,0x28,0xc4,0xf3,0x49, + 0xe,0x44,0x6f,0x81,0xe8,0xb8,0xdb,0x96,0x7e,0x71,0xc5,0xa1,0xde,0x1f,0xea,0xdf, + 0xb2,0xdb,0x3a,0xdb,0x35,0x6b,0x42,0x62,0x6,0x59,0xa,0xc3,0x34,0x2d,0x1e,0x65, + 0xa8,0x77,0xb1,0xc5,0xdb,0x2a,0xcf,0x90,0x93,0xba,0x3c,0x64,0x93,0x57,0x18,0x3c, + 0x5b,0x66,0xab,0x8a,0x94,0x9a,0x5c,0xd1,0x93,0xa,0x3,0x18,0xc2,0x4e,0x67,0x69, + 0xf9,0x4b,0x99,0x2e,0x73,0xe0,0xbb,0x51,0x1a,0xac,0x66,0x51,0x6c,0x36,0xd9,0x2, + 0xb9,0x4e,0x37,0x37,0xe9,0x5d,0x13,0x4d,0x67,0x67,0x3c,0x55,0x58,0x2b,0x5a,0xa3, + 0x30,0x5b,0xd5,0xc5,0xbe,0xd3,0xc5,0xe2,0xea,0xbb,0xd,0x82,0x26,0xe1,0xc,0x16, + 0x8b,0x72,0xfe,0x9c,0x31,0x7,0x54,0xfe,0x14,0x44,0x5,0x76,0x3c,0xaf,0xef,0xe6, + 0xfc,0xa7,0xc9,0x71,0x4e,0xb1,0x5a,0x55,0x19,0x1c,0xb3,0x81,0x2c,0xec,0x34,0x66, + 0xc0,0x97,0x9a,0x44,0xc9,0xf7,0x79,0x63,0xa7,0xbc,0xf1,0xd3,0xde,0x4c,0xef,0xed, + 0x2c,0x19,0x87,0xfd,0xbb,0xa7,0x51,0x33,0xfd,0xc3,0xd2,0xa8,0x99,0xfd,0x81,0x69, + 0xd4,0xcc,0x7f,0x29,0x8d,0x7d,0xc2,0xf6,0x38,0x90,0x7b,0x64,0xc,0x7c,0xda,0x59, + 0xea,0x11,0x5e,0xdf,0xed,0xc3,0x9,0x1a,0xaa,0xca,0xe5,0xe4,0x41,0xd2,0xaf,0xf7, + 0xbf,0xdd,0x22,0xf0,0x68,0x1e,0x71,0x41,0x6f,0x27,0x35,0xee,0x5a,0xd,0xc4,0x85, + 0xf,0x76,0x52,0xe7,0x13,0x51,0xcd,0x67,0xcc,0xb4,0x2b,0x98,0x15,0x65,0xbe,0xce, + 0x89,0x44,0x48,0xcf,0x8d,0x75,0x91,0x84,0x41,0x4c,0x8a,0xdb,0x63,0xe6,0x1f,0x3, + 0xcf,0x3,0x6c,0x28,0x61,0xfc,0x57,0x60,0x43,0x98,0xcb,0x6f,0xc7,0x86,0x12,0x96, + 0x7f,0x15,0x36,0x4e,0x79,0x7b,0x32,0x36,0xe0,0x4d,0x7e,0xe3,0x11,0x7b,0x98,0x25, + 0xee,0xe4,0x63,0x59,0xea,0xfd,0x71,0xa7,0xbf,0x90,0x88,0xa7,0x27,0xf4,0xd1,0x2c, + 0xd,0xbc,0xd9,0x2f,0x24,0xe2,0x84,0x37,0xae,0xf4,0xea,0x33,0xde,0xbe,0x3b,0x4b, + 0xc6,0x7e,0x5,0x96,0xe8,0xdc,0xb3,0xec,0x5b,0xb1,0xc4,0x8d,0xff,0x2a,0x2c,0x51, + 0x9a,0xb9,0xfa,0x56,0x2c,0xf1,0x1,0x72,0x7f,0x5f,0xba,0xe,0x7d,0xd1,0xfc,0xaa, + 0xcc,0xd0,0xc7,0x3d,0x3f,0xc1,0xdb,0x9f,0xa3,0x75,0x7e,0x5c,0xeb,0x2d,0xc7,0xca, + 0x6d,0x6c,0x4,0xe8,0x54,0xf4,0xd2,0x3b,0x48,0x7d,0xac,0xb8,0xf6,0x42,0x1c,0xa5, + 0xb7,0xe2,0x7c,0x32,0x93,0xb1,0xe3,0x82,0xdb,0xb6,0x59,0x9,0xca,0x82,0x94,0xa5, + 0x35,0xcc,0x48,0xd9,0x4b,0xd7,0xad,0xb7,0xf,0xbb,0xbc,0x46,0x27,0x78,0xa8,0xb2, + 0xf2,0x1d,0x75,0x53,0x7f,0xdd,0x7d,0xa8,0xb2,0x7,0x5a,0xef,0xcb,0x74,0x57,0xa1, + 0x75,0xdb,0x9e,0x4f,0xb6,0x69,0x5d,0xe6,0xb7,0x2f,0x58,0x6c,0x8c,0x33,0x5c,0x4d, + 0x19,0xfe,0xf0,0xa9,0x8c,0x51,0x67,0x9d,0x54,0x66,0xca,0x62,0x6e,0xd,0xca,0xa0, + 0x7d,0xf9,0x45,0xd6,0xfa,0x9e,0x1c,0x52,0xb,0xf1,0xd9,0xe,0xc3,0x8d,0x72,0x28, + 0x4c,0xac,0x4,0xd3,0xce,0x8c,0x72,0x28,0x63,0xa5,0x8d,0x16,0x42,0x8f,0x72,0x28, + 0x58,0x2c,0x3c,0xb7,0xc2,0x8e,0x52,0x38,0xd3,0xb1,0xb0,0x30,0xc0,0xed,0x13,0x73, + 0xd8,0x44,0x7f,0x96,0x50,0xf,0x15,0xbe,0xf5,0x55,0x89,0xfa,0xba,0xe5,0x75,0x9e, + 0xdd,0x1c,0x1b,0x2d,0x6a,0x1c,0x5b,0xbb,0xfb,0x74,0x9d,0x5,0x70,0x23,0xe8,0x55, + 0x78,0xb5,0x3,0x97,0x45,0xb9,0xcc,0xca,0x6e,0xc8,0x84,0xd7,0x68,0xa8,0xc5,0xff, + 0xb1,0x35,0x1d,0x16,0x1e,0x58,0xed,0xc7,0xd9,0xe9,0xf1,0xea,0x2a,0x5d,0x16,0x37, + 0x48,0xc0,0xfd,0xc1,0x4f,0x45,0x81,0x9d,0xe7,0x3c,0x96,0x5c,0x5a,0xe6,0xee,0xf, + 0x2f,0x50,0x3b,0xb9,0x8b,0x9d,0x95,0xde,0x3c,0x18,0x83,0x3b,0x11,0x5b,0x6d,0x9c, + 0x55,0xf7,0xc7,0xd0,0xe2,0x1e,0xe8,0xaa,0x34,0x3b,0x34,0x9,0xdc,0xdf,0x3e,0x98, + 0x7d,0x28,0x4b,0x52,0xd8,0xa4,0x77,0x19,0x82,0xe,0x1f,0xdd,0xe1,0x68,0x1b,0x7d, + 0x29,0xfa,0x69,0x5d,0xb3,0x3f,0x10,0x55,0x57,0xc5,0xcd,0xfa,0x90,0x2f,0xb3,0xaa, + 0x6d,0x72,0xef,0x39,0x8,0x63,0xb3,0xcb,0xcb,0xe2,0xf6,0xf4,0xf8,0x4d,0xbe,0x43, + 0x4a,0x66,0xad,0x2f,0x2e,0x25,0x7f,0x44,0xa3,0xf3,0xed,0xc5,0x83,0xec,0xb5,0x1a, + 0x94,0x24,0x90,0xdb,0xe9,0xc1,0xbb,0xfe,0x8a,0xd2,0xae,0xb9,0x24,0x54,0xac,0xd2, + 0x4d,0x95,0x75,0xed,0x77,0xf,0x9f,0xb0,0xe6,0xe,0x83,0x68,0x24,0x90,0x20,0xdc, + 0x26,0xa9,0xfd,0xc7,0xdd,0xa4,0xce,0x17,0xe9,0xa6,0x47,0xe8,0xbe,0xa8,0xf2,0x66, + 0x88,0xeb,0xd8,0x3b,0xc1,0x95,0x1c,0x9d,0x9a,0x60,0x4a,0x72,0x65,0x7a,0xb4,0x3e, + 0x4,0x69,0x90,0x6f,0xb3,0x3a,0x5d,0xa6,0x75,0x7a,0x44,0x6c,0x27,0xe9,0x4a,0xc3, + 0x19,0x2e,0xa4,0xf3,0xbf,0xbf,0x7e,0xd3,0x53,0xf7,0x62,0x31,0xff,0x47,0x51,0x7e, + 0x3c,0xb2,0x2e,0x29,0xa4,0x97,0xb8,0x95,0x9c,0x4f,0xfa,0x72,0x42,0x37,0x8e,0xc5, + 0x9c,0x98,0x25,0xad,0x5f,0xe5,0x5b,0x80,0x90,0x6e,0x9f,0x7f,0xc6,0x25,0x10,0x7, + 0xa7,0x1f,0x18,0x29,0x53,0x4f,0x77,0x34,0xda,0x98,0x2d,0xb3,0xe6,0x76,0x79,0xf2, + 0x42,0xbe,0x5c,0x6c,0x73,0x9a,0x94,0xbc,0xab,0xf3,0xcd,0xe6,0x57,0x72,0x32,0x2c, + 0x31,0x49,0xbb,0xd0,0xae,0xa,0xc,0xe2,0x38,0x4b,0xba,0x28,0xc3,0xd3,0xfa,0xde, + 0xde,0x6d,0xd2,0xcb,0x6c,0x73,0x3e,0xb9,0x48,0x37,0xff,0x3a,0x64,0xd1,0x3,0x64, + 0xac,0xcb,0xe2,0xb0,0xc7,0x1d,0x2b,0x6b,0x81,0x3b,0x39,0x26,0xaf,0x5,0x72,0xeb, + 0x72,0x9f,0xd6,0x57,0x7d,0xeb,0xda,0x94,0xb8,0x63,0xe1,0x5c,0x61,0xcd,0x73,0x44, + 0xf3,0xe2,0x41,0x15,0xe1,0xfc,0x65,0x18,0x1d,0x54,0xd9,0xaa,0x2e,0x8b,0x8f,0xd9, + 0x7c,0x87,0x9b,0x65,0xfb,0xbd,0x81,0xee,0x1c,0x74,0x8d,0xb2,0x33,0x7a,0x75,0xa, + 0x64,0xf6,0x9f,0xb8,0xa5,0xce,0x91,0xa5,0xac,0xec,0xa4,0xe1,0x61,0x93,0xe3,0x63, + 0xae,0x3a,0xd9,0x32,0x5,0x43,0x94,0x65,0x7a,0x37,0x72,0x40,0xd2,0xa6,0xc8,0xce, + 0x7b,0x9b,0xfd,0x8a,0x7a,0xb4,0x21,0xe8,0xbf,0x44,0x3c,0x6,0xd7,0x7a,0xc3,0xe5, + 0x54,0xc5,0x46,0x29,0xad,0xad,0x8b,0xde,0x46,0x3e,0xd6,0xca,0x29,0xe3,0xc5,0x23, + 0x52,0xac,0x1d,0x35,0x5e,0x4a,0xa7,0x20,0x6,0x8e,0x9d,0xf2,0x4a,0xf0,0x29,0x14, + 0xb4,0x70,0x8a,0x89,0x91,0x32,0x78,0x8,0xe5,0x55,0x2b,0x3b,0x96,0x2a,0x5c,0xdf, + 0x39,0x17,0xa4,0x7b,0x5c,0xc4,0x69,0xe9,0x71,0x11,0x9f,0x46,0x67,0xa5,0x44,0x89, + 0x42,0x5b,0x2d,0x8e,0x65,0x6d,0x3d,0x3a,0x4a,0x68,0x5d,0x8e,0x1d,0x4d,0x7d,0xa2, + 0x60,0x4a,0x61,0x95,0x67,0x72,0x3a,0x63,0xa8,0xd1,0x58,0x15,0x73,0xf7,0xbe,0x76, + 0xa,0xdc,0xc7,0x96,0x6b,0xa5,0xe5,0x54,0xb8,0x58,0x4a,0x86,0x52,0xf4,0x72,0x72, + 0xf,0x20,0x8f,0xc2,0x2,0x95,0xef,0x3e,0x2c,0x8e,0xcd,0xdb,0x10,0x69,0x83,0x6b, + 0xd2,0xe,0x20,0xa5,0x13,0x2,0x92,0x5c,0x2c,0x16,0x55,0xf7,0x77,0x71,0xaf,0x65, + 0xa2,0xd9,0x92,0x6b,0x39,0x10,0x37,0xdb,0x6a,0x62,0xba,0x14,0x79,0x8d,0xdc,0x69, + 0x2f,0xad,0x8e,0x2e,0x70,0x4b,0x8a,0xbd,0x32,0xc2,0x79,0xc8,0xac,0xb2,0x96,0x19, + 0x1b,0x59,0xca,0xb1,0x61,0xdc,0x4f,0x75,0x6c,0xbd,0xf7,0x46,0xaa,0x8,0x25,0x58, + 0x8,0xe6,0x9d,0x9c,0x62,0x14,0xad,0x8b,0xc6,0x5e,0xc8,0x58,0x48,0xa5,0x49,0x6, + 0x2b,0x42,0xa0,0x97,0xf0,0xb0,0x88,0x16,0x3,0x9b,0xe9,0x78,0x90,0x7a,0x2b,0x9c, + 0xe3,0x91,0x8e,0x1,0xc,0xa3,0x25,0x64,0x1c,0xfb,0xee,0xbc,0xf0,0x91,0xe9,0x2d, + 0x1e,0x65,0x17,0xf0,0x6d,0x3d,0x17,0x63,0xa9,0x83,0x19,0xd,0x4,0x5,0x19,0x63, + 0xca,0x28,0x17,0x30,0x63,0x59,0xe7,0xdb,0x33,0xe,0xdf,0x6f,0x7,0x52,0x1f,0xa3, + 0x43,0xf,0x1,0xf2,0xd8,0xa3,0x3,0xc2,0xce,0xb9,0xd8,0x38,0x61,0x70,0x93,0xe3, + 0x22,0x76,0x6,0x21,0x92,0x48,0x51,0x1a,0x28,0x31,0x42,0x77,0x4f,0x98,0x83,0xa6, + 0xcd,0x7a,0x6d,0x6d,0x2b,0x2,0xac,0x23,0x74,0x1b,0x40,0xb6,0xb1,0xc1,0xc,0xf0, + 0xc5,0x64,0x24,0x60,0x87,0x59,0xd0,0x35,0x79,0xd3,0x26,0xe4,0xe4,0x28,0xc3,0xba, + 0xb8,0xd1,0x3c,0xe4,0x44,0x48,0x34,0x76,0x5e,0x28,0x12,0x3a,0xeb,0x29,0x0,0x81, + 0x3d,0x30,0xd2,0x3a,0x4e,0x41,0x49,0x27,0x29,0x50,0x1,0xf2,0x97,0x22,0x4c,0xee, + 0x65,0x98,0x6c,0x63,0xa9,0x38,0xee,0x53,0x43,0x4d,0x1c,0x1f,0xe9,0xb9,0xe,0x6, + 0x95,0xa5,0x1c,0xb,0x1f,0x53,0xba,0x64,0xe3,0x99,0x9,0x13,0x32,0x2,0x45,0x4a, + 0xe,0xa4,0xb6,0x5d,0xe3,0x5,0xb9,0x56,0x98,0xeb,0xc,0xf6,0x57,0x71,0xc9,0x8c, + 0xa3,0xe8,0x0,0x70,0x61,0xc,0x1d,0x2b,0xac,0xcf,0xa,0x7d,0x2,0x2e,0x9f,0x6, + 0x88,0x7a,0x3a,0x1,0x9e,0x40,0x7a,0xdc,0x31,0xd0,0xfc,0x39,0x5b,0x1,0x6a,0xec, + 0xbf,0x84,0x5,0x7,0xe5,0xe6,0xa9,0x47,0xf0,0xf4,0xe1,0x33,0xfc,0xfe,0xe1,0x3, + 0xdc,0x99,0xd5,0xd8,0xc7,0x29,0x97,0x38,0xd,0xd8,0x44,0xd9,0xc0,0xdd,0x5,0x50, + 0xe,0xa4,0xd8,0x31,0x6c,0xb2,0x34,0x53,0xe0,0xd4,0x70,0xa6,0x9c,0x27,0x5c,0x1b, + 0xca,0x82,0x24,0x19,0x3,0x13,0x99,0x6,0xec,0x9d,0x90,0x1,0xa6,0x80,0x3d,0xa1, + 0x5,0xfd,0x9d,0x90,0xdc,0xe3,0xf0,0x2,0x2d,0x9c,0x79,0xe1,0x74,0xf0,0x2,0xf2, + 0xd2,0x24,0x2,0x29,0x7b,0xc0,0x6f,0xb0,0x9c,0x5e,0x76,0x11,0x29,0xb8,0xd6,0x6a, + 0x2c,0x95,0x90,0xe1,0xc0,0x5b,0x13,0xc,0x4a,0x2c,0x92,0xe,0x3e,0x9,0x6c,0x80, + 0x9f,0x72,0xb8,0xc6,0x34,0x6c,0xd0,0x9,0xe9,0xc8,0xd1,0x55,0xa8,0x61,0x3,0x3, + 0x5e,0x71,0x21,0x1a,0xed,0xb4,0x30,0x3e,0x78,0xb1,0x42,0x19,0x3d,0x8,0xfa,0x54, + 0x7a,0x7e,0x1c,0xdc,0xb4,0x15,0x4c,0x49,0x21,0x7d,0xfb,0xd2,0x7f,0x28,0xb8,0x21, + 0x6b,0xec,0x3e,0xdc,0x88,0x4a,0xb0,0x17,0xc4,0x6,0x2,0xc,0xaf,0x8c,0xe9,0xa9, + 0xc4,0x9,0x3d,0x94,0x12,0x95,0x28,0x90,0x8a,0xd,0x3b,0x24,0x41,0xb,0x9a,0xb8, + 0x84,0xd3,0x7f,0x1b,0x4,0x72,0x42,0x15,0x97,0x92,0x0,0x37,0x90,0x82,0xc,0xc1, + 0x5e,0x26,0xb0,0x89,0x23,0x52,0xe2,0xd,0x63,0x33,0x5c,0x2d,0xd,0x6f,0xfc,0x0, + 0x83,0x1,0x33,0xb8,0xd0,0x49,0xa1,0x86,0x2b,0xea,0x65,0x81,0x8b,0x50,0x41,0xd5, + 0x48,0xa,0xb6,0x44,0x43,0xc0,0xb9,0xb,0x16,0xb5,0xd6,0xc6,0x10,0xaf,0xe2,0x2a, + 0x89,0x32,0x10,0x20,0xc7,0x2c,0xe7,0xa6,0x61,0xdb,0x4e,0xca,0x63,0x47,0x9c,0xa6, + 0x5a,0xb6,0x45,0x89,0x36,0x3e,0x44,0xc4,0x99,0x51,0xba,0xf1,0x63,0x85,0xb4,0xc3, + 0xc8,0x4f,0xe4,0xe8,0xff,0x98,0x7b,0x22,0xe6,0xc4,0xe0,0xa7,0x8b,0x9e,0xe2,0x50, + 0x60,0x5,0x4a,0x47,0x60,0xa,0x8d,0x42,0xee,0x2,0x21,0x31,0x23,0x3c,0xa,0xd3, + 0x40,0xea,0x70,0xd3,0x94,0xda,0xb3,0xb0,0x9b,0x56,0xe2,0x5,0x36,0x43,0xe5,0x33, + 0x5a,0x7,0x70,0x71,0xe9,0x1d,0x6a,0x2e,0x71,0x9c,0xf3,0x20,0xf,0xed,0x51,0xbe, + 0x94,0x63,0x0,0xa,0x6d,0x30,0x70,0x8,0x62,0xd4,0x96,0x4a,0x36,0xf6,0x1c,0x6c, + 0xa9,0x60,0x12,0xec,0xc3,0xd0,0xbf,0x4c,0x9,0xcf,0x4a,0x33,0x0,0xc9,0xa0,0xa5, + 0xd1,0x0,0xcb,0x40,0x74,0x81,0x5e,0x4,0x49,0x97,0x23,0x21,0xd5,0x43,0xea,0x29, + 0x5,0xd9,0xb3,0xde,0x2a,0x45,0xd,0xf,0x28,0x4a,0x68,0xc9,0xe1,0x19,0xef,0x2, + 0xf8,0x8,0x24,0xa7,0x70,0x41,0xf6,0x44,0x67,0x54,0x64,0x95,0x93,0x32,0xd0,0x26, + 0xb,0xbd,0x8c,0xd,0xe1,0x8,0xe9,0xb0,0x1e,0x1d,0x83,0xd6,0xbd,0x6d,0x69,0xb3, + 0x9,0xfb,0x54,0x82,0xfe,0x3,0x80,0x3b,0x75,0xad,0xf8,0xa3,0xa3,0x4d,0xbb,0x13, + 0xc,0x67,0x24,0x40,0xe4,0x5b,0x96,0xe8,0xf9,0x4,0xf4,0x86,0x1e,0x6b,0x20,0x25, + 0x3e,0x41,0xbf,0x17,0xc0,0x66,0xb0,0xf3,0x32,0xd0,0x9,0x36,0x51,0xf0,0xb0,0x8f, + 0x4c,0x22,0x39,0xb6,0xa1,0x13,0xc5,0x1d,0x43,0xa1,0x4,0x7f,0x59,0x8b,0xfa,0x67, + 0x1b,0x3a,0xe1,0xc4,0x47,0xa,0xe8,0x60,0x30,0xa4,0xb4,0x25,0x37,0xdc,0x39,0x60, + 0x94,0x3a,0x44,0xc5,0x81,0x64,0x4b,0xb,0xd2,0x96,0xba,0xd3,0x81,0xc,0xb3,0x4d, + 0xc,0xf0,0xeb,0x91,0x14,0xf4,0x48,0xdd,0x56,0x68,0x40,0x99,0xc5,0x1d,0x2,0xde, + 0x89,0x86,0x3d,0x60,0xed,0x8,0xe9,0x8,0x80,0x35,0x2b,0xa2,0x72,0xee,0xa4,0xd, + 0x35,0x9e,0x31,0x81,0xd,0x6c,0x28,0x57,0x20,0xa,0x13,0x5a,0x3d,0x44,0x21,0xc9, + 0x22,0xd3,0x84,0xbb,0x61,0xd8,0x27,0x12,0xf4,0xbf,0x81,0xb6,0xb3,0x64,0xdd,0xfc, + 0x2c,0x80,0x8f,0x33,0xfa,0xa1,0xe2,0xd5,0xb3,0x7f,0x3,0xaf,0xa5,0xcc,0x97, + +}; + +static const unsigned char qt_resource_name[] = { + // images + 0x0,0x6, + 0x7,0x3,0x7d,0xc3, + 0x0,0x69, + 0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x73, + // icons + 0x0,0x5, + 0x0,0x6f,0xa6,0x53, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x73, + // fail.svg + 0x0,0x8, + 0x7,0xff,0x57,0x47, + 0x0,0x66, + 0x0,0x61,0x0,0x69,0x0,0x6c,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // unhold.svg + 0x0,0xa, + 0x6,0x28,0xd3,0x27, + 0x0,0x75, + 0x0,0x6e,0x0,0x68,0x0,0x6f,0x0,0x6c,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_accept.svg + 0x0,0xf, + 0x0,0xfc,0x17,0x67, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x61,0x0,0x63,0x0,0x63,0x0,0x65,0x0,0x70,0x0,0x74,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_dialpad.svg + 0x0,0x10, + 0xe,0xd9,0x53,0x27, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x64,0x0,0x69,0x0,0x61,0x0,0x6c,0x0,0x70,0x0,0x61,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // busy.svg + 0x0,0x8, + 0xc,0xac,0x57,0xe7, + 0x0,0x62, + 0x0,0x75,0x0,0x73,0x0,0x79,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // accept.svg + 0x0,0xa, + 0xc,0x7b,0xa9,0xe7, + 0x0,0x61, + 0x0,0x63,0x0,0x63,0x0,0x65,0x0,0x70,0x0,0x74,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // history.svg + 0x0,0xb, + 0x6,0x46,0x4f,0xa7, + 0x0,0x68, + 0x0,0x69,0x0,0x73,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x79,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // hold.svg + 0x0,0x8, + 0x6,0x27,0x57,0x27, + 0x0,0x68, + 0x0,0x6f,0x0,0x6c,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // sflphone_notif.svg + 0x0,0x12, + 0x0,0x1b,0xcb,0xe7, + 0x0,0x73, + 0x0,0x66,0x0,0x6c,0x0,0x70,0x0,0x68,0x0,0x6f,0x0,0x6e,0x0,0x65,0x0,0x5f,0x0,0x6e,0x0,0x6f,0x0,0x74,0x0,0x69,0x0,0x66,0x0,0x2e,0x0,0x73,0x0,0x76, + 0x0,0x67, + // history2.svg + 0x0,0xc, + 0x4,0x24,0xc,0x7, + 0x0,0x68, + 0x0,0x69,0x0,0x73,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x79,0x0,0x32,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // user-group-properties.svgz + 0x0,0x1a, + 0x5,0xd8,0xf,0x6a, + 0x0,0x75, + 0x0,0x73,0x0,0x65,0x0,0x72,0x0,0x2d,0x0,0x67,0x0,0x72,0x0,0x6f,0x0,0x75,0x0,0x70,0x0,0x2d,0x0,0x70,0x0,0x72,0x0,0x6f,0x0,0x70,0x0,0x65,0x0,0x72, + 0x0,0x74,0x0,0x69,0x0,0x65,0x0,0x73,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67,0x0,0x7a, + // speaker_75.svg + 0x0,0xe, + 0xf,0xd8,0x7c,0x47, + 0x0,0x73, + 0x0,0x70,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x65,0x0,0x72,0x0,0x5f,0x0,0x37,0x0,0x35,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // speaker.svg + 0x0,0xb, + 0x1,0x31,0x8d,0xc7, + 0x0,0x73, + 0x0,0x70,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x65,0x0,0x72,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // sflphone.svg + 0x0,0xc, + 0xd,0x7e,0x37,0x27, + 0x0,0x73, + 0x0,0x66,0x0,0x6c,0x0,0x70,0x0,0x68,0x0,0x6f,0x0,0x6e,0x0,0x65,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // speaker_50.svg + 0x0,0xe, + 0xf,0xf3,0x7c,0x47, + 0x0,0x73, + 0x0,0x70,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x65,0x0,0x72,0x0,0x5f,0x0,0x35,0x0,0x30,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // ring.svg + 0x0,0x8, + 0x0,0x4a,0x55,0xe7, + 0x0,0x72, + 0x0,0x69,0x0,0x6e,0x0,0x67,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // mic_50.svg + 0x0,0xa, + 0x2,0x8d,0x25,0xe7, + 0x0,0x6d, + 0x0,0x69,0x0,0x63,0x0,0x5f,0x0,0x35,0x0,0x30,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // missed.svg + 0x0,0xa, + 0x9,0xb9,0xdb,0x87, + 0x0,0x6d, + 0x0,0x69,0x0,0x73,0x0,0x73,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // x-office-address-book.png + 0x0,0x19, + 0x7,0xed,0x1a,0x7, + 0x0,0x78, + 0x0,0x2d,0x0,0x6f,0x0,0x66,0x0,0x66,0x0,0x69,0x0,0x63,0x0,0x65,0x0,0x2d,0x0,0x61,0x0,0x64,0x0,0x64,0x0,0x72,0x0,0x65,0x0,0x73,0x0,0x73,0x0,0x2d, + 0x0,0x62,0x0,0x6f,0x0,0x6f,0x0,0x6b,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // document-encrypt.svgz + 0x0,0x15, + 0xb,0xf2,0x8f,0xea, + 0x0,0x64, + 0x0,0x6f,0x0,0x63,0x0,0x75,0x0,0x6d,0x0,0x65,0x0,0x6e,0x0,0x74,0x0,0x2d,0x0,0x65,0x0,0x6e,0x0,0x63,0x0,0x72,0x0,0x79,0x0,0x70,0x0,0x74,0x0,0x2e, + 0x0,0x73,0x0,0x76,0x0,0x67,0x0,0x7a, + // remove.png + 0x0,0xa, + 0x6,0xcb,0x4f,0xc7, + 0x0,0x72, + 0x0,0x65,0x0,0x6d,0x0,0x6f,0x0,0x76,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // refuse.svg + 0x0,0xa, + 0xc,0x9b,0x4d,0x67, + 0x0,0x72, + 0x0,0x65,0x0,0x66,0x0,0x75,0x0,0x73,0x0,0x65,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // transfert.svg + 0x0,0xd, + 0xb,0x87,0xe8,0xa7, + 0x0,0x74, + 0x0,0x72,0x0,0x61,0x0,0x6e,0x0,0x73,0x0,0x66,0x0,0x65,0x0,0x72,0x0,0x74,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_hangup.svg + 0x0,0xf, + 0x2,0x49,0x2c,0xc7, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x68,0x0,0x61,0x0,0x6e,0x0,0x67,0x0,0x75,0x0,0x70,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // hang_up.svg + 0x0,0xb, + 0x6,0x1e,0x53,0x67, + 0x0,0x68, + 0x0,0x61,0x0,0x6e,0x0,0x67,0x0,0x5f,0x0,0x75,0x0,0x70,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_unhold.svg + 0x0,0xf, + 0xa,0xaa,0x6d,0xa7, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x75,0x0,0x6e,0x0,0x68,0x0,0x6f,0x0,0x6c,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_hold.svg + 0x0,0xd, + 0xd,0x6b,0xd0,0x87, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x68,0x0,0x6f,0x0,0x6c,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_dialpad_off.svg + 0x0,0x14, + 0xc,0x34,0xea,0x7, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x64,0x0,0x69,0x0,0x61,0x0,0x6c,0x0,0x70,0x0,0x61,0x0,0x64,0x0,0x5f,0x0,0x6f,0x0,0x66,0x0,0x66,0x0,0x2e, + 0x0,0x73,0x0,0x76,0x0,0x67, + // dial.svg + 0x0,0x8, + 0xf,0x7f,0x57,0x87, + 0x0,0x64, + 0x0,0x69,0x0,0x61,0x0,0x6c,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // call.svg + 0x0,0x8, + 0x8,0x2f,0x57,0xe7, + 0x0,0x63, + 0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // mic_75.svg + 0x0,0xa, + 0x2,0xaa,0x25,0xe7, + 0x0,0x6d, + 0x0,0x69,0x0,0x63,0x0,0x5f,0x0,0x37,0x0,0x35,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // stock_person.svg + 0x0,0x10, + 0xe,0x93,0x2e,0x87, + 0x0,0x73, + 0x0,0x74,0x0,0x6f,0x0,0x63,0x0,0x6b,0x0,0x5f,0x0,0x70,0x0,0x65,0x0,0x72,0x0,0x73,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // led-gray.svg + 0x0,0xc, + 0x6,0xde,0xbd,0x7, + 0x0,0x6c, + 0x0,0x65,0x0,0x64,0x0,0x2d,0x0,0x67,0x0,0x72,0x0,0x61,0x0,0x79,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // led-red.svg + 0x0,0xb, + 0x8,0x52,0x34,0x47, + 0x0,0x6c, + 0x0,0x65,0x0,0x64,0x0,0x2d,0x0,0x72,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // mic_25.svg + 0x0,0xa, + 0x2,0x5a,0x25,0xe7, + 0x0,0x6d, + 0x0,0x69,0x0,0x63,0x0,0x5f,0x0,0x32,0x0,0x35,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // mailbox.svg + 0x0,0xb, + 0x9,0x8c,0x5a,0x87, + 0x0,0x6d, + 0x0,0x61,0x0,0x69,0x0,0x6c,0x0,0x62,0x0,0x6f,0x0,0x78,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // record_disabled.svg + 0x0,0x13, + 0xb,0x3f,0xd7,0xa7, + 0x0,0x72, + 0x0,0x65,0x0,0x63,0x0,0x6f,0x0,0x72,0x0,0x64,0x0,0x5f,0x0,0x64,0x0,0x69,0x0,0x73,0x0,0x61,0x0,0x62,0x0,0x6c,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x73, + 0x0,0x76,0x0,0x67, + // icon_volume_off.svg + 0x0,0x13, + 0xf,0x38,0x34,0x27, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x76,0x0,0x6f,0x0,0x6c,0x0,0x75,0x0,0x6d,0x0,0x65,0x0,0x5f,0x0,0x6f,0x0,0x66,0x0,0x66,0x0,0x2e,0x0,0x73, + 0x0,0x76,0x0,0x67, + // sflphone-kde3.svg + 0x0,0x11, + 0x5,0x2d,0x97,0x47, + 0x0,0x73, + 0x0,0x66,0x0,0x6c,0x0,0x70,0x0,0x68,0x0,0x6f,0x0,0x6e,0x0,0x65,0x0,0x2d,0x0,0x6b,0x0,0x64,0x0,0x65,0x0,0x33,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + + // record.svg + 0x0,0xa, + 0x6,0x88,0x4d,0x87, + 0x0,0x72, + 0x0,0x65,0x0,0x63,0x0,0x6f,0x0,0x72,0x0,0x64,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // mic.svg + 0x0,0x7, + 0x3,0xf6,0x5a,0x27, + 0x0,0x6d, + 0x0,0x69,0x0,0x63,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // add.png + 0x0,0x7, + 0x7,0xa7,0x57,0x87, + 0x0,0x61, + 0x0,0x64,0x0,0x64,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // outgoing.svg + 0x0,0xc, + 0x2,0x93,0x6,0x67, + 0x0,0x6f, + 0x0,0x75,0x0,0x74,0x0,0x67,0x0,0x6f,0x0,0x69,0x0,0x6e,0x0,0x67,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_rec.svg + 0x0,0xc, + 0x5,0x42,0x92,0x7, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x72,0x0,0x65,0x0,0x63,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_volume.svg + 0x0,0xf, + 0x8,0xbc,0x40,0x27, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x76,0x0,0x6f,0x0,0x6c,0x0,0x75,0x0,0x6d,0x0,0x65,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // rec_call.svg + 0x0,0xc, + 0xb,0x38,0x71,0xe7, + 0x0,0x72, + 0x0,0x65,0x0,0x63,0x0,0x5f,0x0,0x63,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // icon_call.svg + 0x0,0xd, + 0xb,0x63,0xd0,0x47, + 0x0,0x69, + 0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x5f,0x0,0x63,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // current.svg + 0x0,0xb, + 0xc,0x82,0xc9,0xc7, + 0x0,0x63, + 0x0,0x75,0x0,0x72,0x0,0x72,0x0,0x65,0x0,0x6e,0x0,0x74,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // led-green.svg + 0x0,0xd, + 0xe,0xef,0x26,0x7, + 0x0,0x6c, + 0x0,0x65,0x0,0x64,0x0,0x2d,0x0,0x67,0x0,0x72,0x0,0x65,0x0,0x65,0x0,0x6e,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // speaker_25.svg + 0x0,0xe, + 0xf,0x28,0x7c,0x47, + 0x0,0x73, + 0x0,0x70,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x65,0x0,0x72,0x0,0x5f,0x0,0x32,0x0,0x35,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + // incoming.svg + 0x0,0xc, + 0x2,0x43,0x16,0xa7, + 0x0,0x69, + 0x0,0x6e,0x0,0x63,0x0,0x6f,0x0,0x6d,0x0,0x69,0x0,0x6e,0x0,0x67,0x0,0x2e,0x0,0x73,0x0,0x76,0x0,0x67, + +}; + +static const unsigned char qt_resource_struct[] = { + // : + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1, + // :/images + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2, + // :/images/icons + 0x0,0x0,0x0,0x12,0x0,0x2,0x0,0x0,0x0,0x33,0x0,0x0,0x0,0x3, + // :/images/icons/sflphone_notif.svg + 0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x98,0x82, + // :/images/icons/ring.svg + 0x0,0x0,0x1,0xfe,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0xe8,0x5d, + // :/images/icons/icon_accept.svg + 0x0,0x0,0x0,0x52,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x26,0x3e, + // :/images/icons/speaker.svg + 0x0,0x0,0x1,0xa2,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0x7f,0x24, + // :/images/icons/incoming.svg + 0x0,0x0,0x6,0x50,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x88,0xe0, + // :/images/icons/icon_hangup.svg + 0x0,0x0,0x3,0x4,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0x97,0xd3, + // :/images/icons/mic_25.svg + 0x0,0x0,0x4,0x5c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x38,0xc4, + // :/images/icons/mic_50.svg + 0x0,0x0,0x2,0x14,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0xfd,0xdb, + // :/images/icons/outgoing.svg + 0x0,0x0,0x5,0x54,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0xfa,0xee, + // :/images/icons/mic_75.svg + 0x0,0x0,0x3,0xe2,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x3,0xe4, + // :/images/icons/mic.svg + 0x0,0x0,0x5,0x2c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0xec,0x73, + // :/images/icons/history2.svg + 0x0,0x0,0x1,0x28,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0xeb,0x3e, + // :/images/icons/sflphone-kde3.svg + 0x0,0x0,0x4,0xea,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4,0x84,0xef, + // :/images/icons/icon_rec.svg + 0x0,0x0,0x5,0x72,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x4,0x9e, + // :/images/icons/user-group-properties.svgz + 0x0,0x0,0x1,0x46,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0xd,0xb7, + // :/images/icons/hang_up.svg + 0x0,0x0,0x3,0x28,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xa7,0xa, + // :/images/icons/hold.svg + 0x0,0x0,0x0,0xe8,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x84,0x99, + // :/images/icons/unhold.svg + 0x0,0x0,0x0,0x38,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x10,0x33, + // :/images/icons/history.svg + 0x0,0x0,0x0,0xcc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x74,0xf8, + // :/images/icons/record.svg + 0x0,0x0,0x5,0x12,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0xdc,0xd7, + // :/images/icons/remove.png + 0x0,0x0,0x2,0xb0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0x7a,0xe9, + // :/images/icons/led-gray.svg + 0x0,0x0,0x4,0x22,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4,0x1d,0x6b, + // :/images/icons/add.png + 0x0,0x0,0x5,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4,0xf8,0xb6, + // :/images/icons/x-office-address-book.png + 0x0,0x0,0x2,0x48,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0x1c,0x50, + // :/images/icons/fail.svg + 0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, + // :/images/icons/call.svg + 0x0,0x0,0x3,0xcc,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xf4,0xab, + // :/images/icons/led-red.svg + 0x0,0x0,0x4,0x40,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x31,0x94, + // :/images/icons/icon_volume.svg + 0x0,0x0,0x5,0x90,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x1d,0xf5, + // :/images/icons/mailbox.svg + 0x0,0x0,0x4,0x76,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x44,0x69, + // :/images/icons/missed.svg + 0x0,0x0,0x2,0x2e,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0x9,0xd8, + // :/images/icons/icon_unhold.svg + 0x0,0x0,0x3,0x44,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xb9,0x7, + // :/images/icons/rec_call.svg + 0x0,0x0,0x5,0xb4,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x30,0x69, + // :/images/icons/record_disabled.svg + 0x0,0x0,0x4,0x92,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x68,0x62, + // :/images/icons/icon_call.svg + 0x0,0x0,0x5,0xd2,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x48,0x34, + // :/images/icons/transfert.svg + 0x0,0x0,0x2,0xe4,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0x85,0xe5, + // :/images/icons/document-encrypt.svgz + 0x0,0x0,0x2,0x80,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0x2c,0x27, + // :/images/icons/icon_dialpad_off.svg + 0x0,0x0,0x3,0x88,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xdb,0x36, + // :/images/icons/accept.svg + 0x0,0x0,0x0,0xb2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x51,0x76, + // :/images/icons/current.svg + 0x0,0x0,0x5,0xf2,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x57,0x83, + // :/images/icons/refuse.svg + 0x0,0x0,0x2,0xca,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0x7c,0x39, + // :/images/icons/busy.svg + 0x0,0x0,0x0,0x9c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x3f,0xc8, + // :/images/icons/icon_hold.svg + 0x0,0x0,0x3,0x68,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xca,0x86, + // :/images/icons/sflphone.svg + 0x0,0x0,0x1,0xbe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0x8a,0x84, + // :/images/icons/stock_person.svg + 0x0,0x0,0x3,0xfc,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x10,0x32, + // :/images/icons/icon_dialpad.svg + 0x0,0x0,0x0,0x76,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x34,0x9d, + // :/images/icons/led-green.svg + 0x0,0x0,0x6,0xe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x5,0x69,0xde, + // :/images/icons/speaker_25.svg + 0x0,0x0,0x6,0x2e,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x5,0x7e,0x7, + // :/images/icons/icon_volume_off.svg + 0x0,0x0,0x4,0xbe,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x4,0x77,0xb5, + // :/images/icons/dial.svg + 0x0,0x0,0x3,0xb6,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x3,0xea,0x13, + // :/images/icons/speaker_75.svg + 0x0,0x0,0x1,0x80,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0x73,0x9a, + // :/images/icons/speaker_50.svg + 0x0,0x0,0x1,0xdc,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0xdd,0x29, + +}; + +QT_BEGIN_NAMESPACE + +extern Q_CORE_EXPORT bool qRegisterResourceData + (int, const unsigned char *, const unsigned char *, const unsigned char *); + +extern Q_CORE_EXPORT bool qUnregisterResourceData + (int, const unsigned char *, const unsigned char *, const unsigned char *); + +QT_END_NAMESPACE + + +int QT_MANGLE_NAMESPACE(qInitResources_resources)() +{ + QT_PREPEND_NAMESPACE(qRegisterResourceData) + (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_resources)) + +int QT_MANGLE_NAMESPACE(qCleanupResources_resources)() +{ + QT_PREPEND_NAMESPACE(qUnregisterResourceData) + (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_resources)) + diff --git a/sflphone-client-kde/cmake-build/src/sflphone-client-kde b/sflphone-client-kde/cmake-build/src/sflphone-client-kde new file mode 100755 index 0000000000000000000000000000000000000000..4156b6c4f9b5f3a41f16e658caaca085cbe7ed85 Binary files /dev/null and b/sflphone-client-kde/cmake-build/src/sflphone-client-kde differ diff --git a/sflphone-client-kde/cmake-build/src/sflphone-client-kde.shell b/sflphone-client-kde/cmake-build/src/sflphone-client-kde.shell new file mode 100755 index 0000000000000000000000000000000000000000..f80434c31ab6480d7c91d1a555111421f5cf1aaa --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/sflphone-client-kde.shell @@ -0,0 +1,4 @@ +#!/bin/sh +# created by cmake, don't edit, changes will be lost + +LD_LIBRARY_PATH=/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/lib/./:/usr/local/lib:/usr/lib:/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} "/home/emmanuel/sflphone/sflphone-client-kde/cmake-build/src/sflphone-client-kde" "$@" diff --git a/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp b/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp new file mode 100644 index 0000000000000000000000000000000000000000..defb0f8202ba9e4b8a98627946134fb75e887f62 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp @@ -0,0 +1,25 @@ +/* This file is autogenerated, do not edit +-D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL +*/ +#include "moc_SFLPhoneTray.cpp" +#include "moc_Codec.cpp" +#include "moc_Account.cpp" +#include "moc_AccountList.cpp" +#include "moc_ActionSetAccountFirst.cpp" +#include "moc_AccountWizard.cpp" +#include "moc_dlgaddressbook.cpp" +#include "moc_AccountItemWidget.cpp" +#include "moc_dlghooks.cpp" +#include "moc_dlgaccounts.cpp" +#include "moc_dlgaudio.cpp" +#include "moc_dlgdisplay.cpp" +#include "moc_AccountListModel.cpp" +#include "moc_CallModel.cpp" +#include "moc_ContactItemWidget.cpp" +#include "moc_SFLPhone.cpp" +#include "moc_Call.cpp" +#include "moc_ConfigurationDialog.cpp" +#include "moc_CallTreeItem.cpp" +#include "moc_dlggeneral.cpp" +#include "moc_ConfigurationSkeleton.cpp" +#include "moc_Dialpad.cpp" diff --git a/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp.files b/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp.files new file mode 100644 index 0000000000000000000000000000000000000000..b65128b8a92429bab9eb788d6f7582c8ec78dfd9 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/sflphone-client-kde_automoc.cpp.files @@ -0,0 +1,14 @@ +SOURCES: +/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneView.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhone.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneapplication.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/SFLPhoneTray.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/main.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Account.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/AccountList.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Call.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/CallTreeItem.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/callmanager_interface_singleton.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/instance_interface_singleton.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/AccountWizard.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/AccountItemWidget.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/ActionSetAccountFirst.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Contact.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/ContactItemWidget.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationDialog.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlggeneral.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgdisplay.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaccounts.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaudio.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlgaddressbook.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/dlghooks.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Dialpad.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Codec.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/Item.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/AccountListModel.cpp;/home/emmanuel/sflphone/sflphone-client-kde/src/CallModel.cpp +MOC_COMPILE_DEFINITIONS: +_BSD_SOURCE;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;_XOPEN_SOURCE=500;_BSD_SOURCE;QT_NO_STL;QT_NO_CAST_TO_ASCII;_REENTRANT;KDE_DEPRECATED_WARNINGS;QT_DLL +MOC_DEFINITIONS: + -D_BSD_SOURCE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_DLL -fexceptions -DDATA_INSTALL_DIR="\"/usr/local/share/apps\"" -DSHARE_INSTALL_PREFIX="\"/usr/local/share\"" +MOC_INCLUDES: +/usr/include;/usr/include/KDE;/usr/include/qt4/KDE;/usr/include/qt4;/usr/include/qt4/phonon;/usr/include/qt4/QtXmlPatterns;/usr/include/qt4/QtXml;/usr/include/qt4/QtWebKit;/usr/include/qt4/QtUiTools;/usr/include/qt4/QtTest;/usr/include/qt4/QtSvg;/usr/include/qt4/QtSql;/usr/include/qt4/QtScriptTools;/usr/include/qt4/QtScript;/usr/include/qt4/QtOpenGL;/usr/include/qt4/QtNetwork;/usr/include/qt4/QtMultimedia;/usr/include/qt4/QtHelp;/usr/include/qt4/QtDesigner;/usr/include/qt4/QtDBus;/usr/include/qt4/QtAssistant;/usr/include/qt4/Qt3Support;/usr/include/qt4/QtGui;/usr/include/qt4/QtCore;/usr/include/qt4/Qt;/usr/share/qt4/mkspecs/default;/home/emmanuel/sflphone/sflphone-client-kde/cmake-build +CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE: +ON +CMAKE_BINARY_DIR: +/home/emmanuel/sflphone/sflphone-client-kde/cmake-build +CMAKE_SOURCE_DIR: +/home/emmanuel/sflphone/sflphone-client-kde diff --git a/sflphone-client-kde/cmake-build/src/ui_SFLPhoneView_base.h b/sflphone-client-kde/cmake-build/src/ui_SFLPhoneView_base.h new file mode 100644 index 0000000000000000000000000000000000000000..284139b07d6619f69ef61ff14e61248d1baf711f --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_SFLPhoneView_base.h @@ -0,0 +1,258 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'SFLPhoneView_base.ui' +** +** Created: Tue Apr 20 14:19:41 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_SFLPHONEVIEW_BASE_H +#define UI_SFLPHONEVIEW_BASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QGridLayout> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QListWidget> +#include <QtGui/QSlider> +#include <QtGui/QStackedWidget> +#include <QtGui/QToolButton> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "Dialpad.h" +#include "klineedit.h" + +QT_BEGIN_NAMESPACE + +class Ui_SFLPhone_view +{ +public: + QVBoxLayout *verticalLayout; + QStackedWidget *stackedWidget_screen; + QWidget *page_callList; + QHBoxLayout *horizontalLayout_3; + QWidget *page_callHistory; + QVBoxLayout *verticalLayout_2; + QListWidget *listWidget_callHistory; + KLineEdit *lineEdit_searchHistory; + QWidget *page_addressBook; + QVBoxLayout *verticalLayout_5; + QListWidget *listWidget_addressBook; + KLineEdit *lineEdit_addressBook; + QLabel *label_addressBookFull; + QWidget *widget_controls; + QGridLayout *gridLayout; + QSlider *slider_recVol_2; + Dialpad *widget_dialpad; + QSlider *slider_sndVol_2; + QToolButton *toolButton_recVol_2; + QToolButton *toolButton_sndVol_2; + QToolButton *toolButton_recVol; + QSlider *slider_recVol; + QToolButton *toolButton_sndVol; + QSlider *slider_sndVol; + + void setupUi(QWidget *SFLPhone_view) + { + if (SFLPhone_view->objectName().isEmpty()) + SFLPhone_view->setObjectName(QString::fromUtf8("SFLPhone_view")); + SFLPhone_view->resize(337, 526); + SFLPhone_view->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(SFLPhone_view); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + stackedWidget_screen = new QStackedWidget(SFLPhone_view); + stackedWidget_screen->setObjectName(QString::fromUtf8("stackedWidget_screen")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(stackedWidget_screen->sizePolicy().hasHeightForWidth()); + stackedWidget_screen->setSizePolicy(sizePolicy); + page_callList = new QWidget(); + page_callList->setObjectName(QString::fromUtf8("page_callList")); + horizontalLayout_3 = new QHBoxLayout(page_callList); + horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); + stackedWidget_screen->addWidget(page_callList); + page_callHistory = new QWidget(); + page_callHistory->setObjectName(QString::fromUtf8("page_callHistory")); + verticalLayout_2 = new QVBoxLayout(page_callHistory); + verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2")); + listWidget_callHistory = new QListWidget(page_callHistory); + listWidget_callHistory->setObjectName(QString::fromUtf8("listWidget_callHistory")); + + verticalLayout_2->addWidget(listWidget_callHistory); + + lineEdit_searchHistory = new KLineEdit(page_callHistory); + lineEdit_searchHistory->setObjectName(QString::fromUtf8("lineEdit_searchHistory")); + lineEdit_searchHistory->setProperty("showClearButton", QVariant(true)); + + verticalLayout_2->addWidget(lineEdit_searchHistory); + + stackedWidget_screen->addWidget(page_callHistory); + page_addressBook = new QWidget(); + page_addressBook->setObjectName(QString::fromUtf8("page_addressBook")); + verticalLayout_5 = new QVBoxLayout(page_addressBook); + verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5")); + listWidget_addressBook = new QListWidget(page_addressBook); + listWidget_addressBook->setObjectName(QString::fromUtf8("listWidget_addressBook")); + + verticalLayout_5->addWidget(listWidget_addressBook); + + lineEdit_addressBook = new KLineEdit(page_addressBook); + lineEdit_addressBook->setObjectName(QString::fromUtf8("lineEdit_addressBook")); + lineEdit_addressBook->setEnabled(true); + lineEdit_addressBook->setProperty("showClearButton", QVariant(true)); + + verticalLayout_5->addWidget(lineEdit_addressBook); + + label_addressBookFull = new QLabel(page_addressBook); + label_addressBookFull->setObjectName(QString::fromUtf8("label_addressBookFull")); + label_addressBookFull->setWordWrap(true); + + verticalLayout_5->addWidget(label_addressBookFull); + + stackedWidget_screen->addWidget(page_addressBook); + + verticalLayout->addWidget(stackedWidget_screen); + + widget_controls = new QWidget(SFLPhone_view); + widget_controls->setObjectName(QString::fromUtf8("widget_controls")); + widget_controls->setEnabled(true); + gridLayout = new QGridLayout(widget_controls); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + slider_recVol_2 = new QSlider(widget_controls); + slider_recVol_2->setObjectName(QString::fromUtf8("slider_recVol_2")); + QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Expanding); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(slider_recVol_2->sizePolicy().hasHeightForWidth()); + slider_recVol_2->setSizePolicy(sizePolicy1); + slider_recVol_2->setMinimumSize(QSize(0, 50)); + slider_recVol_2->setLayoutDirection(Qt::RightToLeft); + slider_recVol_2->setAutoFillBackground(false); + slider_recVol_2->setMaximum(100); + slider_recVol_2->setOrientation(Qt::Vertical); + slider_recVol_2->setInvertedAppearance(false); + slider_recVol_2->setInvertedControls(false); + slider_recVol_2->setTickPosition(QSlider::NoTicks); + + gridLayout->addWidget(slider_recVol_2, 0, 0, 1, 1); + + widget_dialpad = new Dialpad(widget_controls); + widget_dialpad->setObjectName(QString::fromUtf8("widget_dialpad")); + QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Preferred); + sizePolicy2.setHorizontalStretch(0); + sizePolicy2.setVerticalStretch(0); + sizePolicy2.setHeightForWidth(widget_dialpad->sizePolicy().hasHeightForWidth()); + widget_dialpad->setSizePolicy(sizePolicy2); + + gridLayout->addWidget(widget_dialpad, 0, 1, 2, 2); + + slider_sndVol_2 = new QSlider(widget_controls); + slider_sndVol_2->setObjectName(QString::fromUtf8("slider_sndVol_2")); + sizePolicy1.setHeightForWidth(slider_sndVol_2->sizePolicy().hasHeightForWidth()); + slider_sndVol_2->setSizePolicy(sizePolicy1); + slider_sndVol_2->setMinimumSize(QSize(0, 50)); + slider_sndVol_2->setLayoutDirection(Qt::LeftToRight); + slider_sndVol_2->setAutoFillBackground(false); + slider_sndVol_2->setMaximum(100); + slider_sndVol_2->setOrientation(Qt::Vertical); + slider_sndVol_2->setTickPosition(QSlider::NoTicks); + + gridLayout->addWidget(slider_sndVol_2, 0, 3, 1, 1); + + toolButton_recVol_2 = new QToolButton(widget_controls); + toolButton_recVol_2->setObjectName(QString::fromUtf8("toolButton_recVol_2")); + QIcon icon; + icon.addFile(QString::fromUtf8(":/Images/mic_75.svg"), QSize(), QIcon::Normal, QIcon::Off); + toolButton_recVol_2->setIcon(icon); + toolButton_recVol_2->setCheckable(true); + + gridLayout->addWidget(toolButton_recVol_2, 1, 0, 1, 1); + + toolButton_sndVol_2 = new QToolButton(widget_controls); + toolButton_sndVol_2->setObjectName(QString::fromUtf8("toolButton_sndVol_2")); + QIcon icon1; + icon1.addFile(QString::fromUtf8(":/Images/speaker_75.svg"), QSize(), QIcon::Normal, QIcon::Off); + toolButton_sndVol_2->setIcon(icon1); + toolButton_sndVol_2->setCheckable(true); + toolButton_sndVol_2->setChecked(false); + + gridLayout->addWidget(toolButton_sndVol_2, 1, 3, 1, 1); + + toolButton_recVol = new QToolButton(widget_controls); + toolButton_recVol->setObjectName(QString::fromUtf8("toolButton_recVol")); + toolButton_recVol->setIcon(icon); + toolButton_recVol->setCheckable(true); + + gridLayout->addWidget(toolButton_recVol, 2, 0, 1, 2); + + slider_recVol = new QSlider(widget_controls); + slider_recVol->setObjectName(QString::fromUtf8("slider_recVol")); + slider_recVol->setOrientation(Qt::Horizontal); + + gridLayout->addWidget(slider_recVol, 2, 2, 1, 2); + + toolButton_sndVol = new QToolButton(widget_controls); + toolButton_sndVol->setObjectName(QString::fromUtf8("toolButton_sndVol")); + toolButton_sndVol->setIcon(icon); + toolButton_sndVol->setCheckable(true); + + gridLayout->addWidget(toolButton_sndVol, 3, 0, 1, 2); + + slider_sndVol = new QSlider(widget_controls); + slider_sndVol->setObjectName(QString::fromUtf8("slider_sndVol")); + slider_sndVol->setOrientation(Qt::Horizontal); + + gridLayout->addWidget(slider_sndVol, 3, 2, 1, 2); + + + verticalLayout->addWidget(widget_controls); + + + retranslateUi(SFLPhone_view); + QObject::connect(toolButton_sndVol, SIGNAL(toggled(bool)), toolButton_sndVol_2, SLOT(setChecked(bool))); + QObject::connect(toolButton_recVol, SIGNAL(toggled(bool)), toolButton_recVol_2, SLOT(setChecked(bool))); + QObject::connect(slider_recVol, SIGNAL(valueChanged(int)), slider_recVol_2, SLOT(setValue(int))); + QObject::connect(slider_sndVol, SIGNAL(valueChanged(int)), slider_sndVol_2, SLOT(setValue(int))); + + stackedWidget_screen->setCurrentIndex(1); + + + QMetaObject::connectSlotsByName(SFLPhone_view); + } // setupUi + + void retranslateUi(QWidget *SFLPhone_view) + { + lineEdit_addressBook->setText(QString()); + label_addressBookFull->setText(tr2i18n("Attention:number of results exceeds max displayed.", 0)); +#ifndef UI_QT_NO_TOOLTIP + slider_recVol_2->setToolTip(tr2i18n("Mic volume", 0)); +#endif // QT_NO_TOOLTIP +#ifndef UI_QT_NO_TOOLTIP + slider_sndVol_2->setToolTip(tr2i18n("Speakers volume", 0)); +#endif // QT_NO_TOOLTIP + toolButton_recVol_2->setText(QString()); + toolButton_sndVol_2->setText(QString()); + toolButton_recVol->setText(QString()); + toolButton_sndVol->setText(QString()); + Q_UNUSED(SFLPhone_view); + } // retranslateUi + +}; + +namespace Ui { + class SFLPhone_view: public Ui_SFLPhone_view {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // SFLPHONEVIEW_BASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlgaccountsbase.h b/sflphone-client-kde/cmake-build/src/ui_dlgaccountsbase.h new file mode 100644 index 0000000000000000000000000000000000000000..4d62514187e9deb723d4977fcecdc8d8759256bf --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlgaccountsbase.h @@ -0,0 +1,1007 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlgaccountsbase.ui' +** +** Created: Tue Apr 20 14:19:41 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGACCOUNTSBASE_H +#define UI_DLGACCOUNTSBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QComboBox> +#include <QtGui/QFormLayout> +#include <QtGui/QFrame> +#include <QtGui/QGridLayout> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QLineEdit> +#include <QtGui/QListWidget> +#include <QtGui/QRadioButton> +#include <QtGui/QScrollArea> +#include <QtGui/QSpacerItem> +#include <QtGui/QSpinBox> +#include <QtGui/QTabWidget> +#include <QtGui/QToolButton> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "keditlistbox.h" +#include "klineedit.h" +#include "knuminput.h" +#include "kurlrequester.h" + +QT_BEGIN_NAMESPACE + +class Ui_DlgAccountsBase +{ +public: + QVBoxLayout *verticalLayout; + QWidget *widget1_configAccounts; + QHBoxLayout *horizontalLayout_3; + QFrame *frame1_accountList; + QVBoxLayout *verticalLayout_6; + QListWidget *listWidget_accountList; + QGroupBox *groupBox_accountListHandle; + QHBoxLayout *horizontalLayout_2; + QToolButton *button_accountRemove; + QToolButton *button_accountAdd; + QToolButton *button_accountDown; + QToolButton *button_accountUp; + QSpacerItem *horizontalSpacer; + QTabWidget *frame2_editAccounts; + QWidget *tab_basic; + QFormLayout *formLayout; + QLabel *label1_alias; + QLineEdit *edit1_alias; + QLabel *label2_protocol; + QComboBox *edit2_protocol; + QLabel *label3_server; + QLineEdit *edit3_server; + QLabel *label4_user; + QLineEdit *edit4_user; + QLabel *label5_password; + QLineEdit *edit5_password; + QLabel *label6_mailbox; + QLineEdit *edit6_mailbox; + QLabel *label7_state; + QLabel *edit7_state; + QWidget *tab_advanced; + QVBoxLayout *verticalLayout_3; + QGroupBox *groupBox; + QGridLayout *gridLayout_8; + QLabel *label_regExpire; + KIntSpinBox *spinbox_regExpire; + QCheckBox *checkBox_conformRFC; + QSpacerItem *horizontalSpacer_7; + QGroupBox *groupBox_2; + QGridLayout *gridLayout_9; + QLabel *label_ni_local_address; + QComboBox *comboBox_ni_local_address; + QLabel *label_ni_local_port; + QSpinBox *spinBox_ni_local_port; + QSpacerItem *horizontalSpacer_8; + QGroupBox *groupBox_3; + QGridLayout *gridLayout_10; + QRadioButton *radioButton_pa_same_as_local; + QRadioButton *radioButton_pa_custom; + QLabel *label_published_address; + QLabel *label_pa_published_port; + QSpinBox *spinBox_pa_published_port; + QLineEdit *lineEdit_pa_published_address; + QSpacerItem *horizontalSpacer_9; + QSpacerItem *verticalSpacer_3; + QWidget *tab_stun; + QGridLayout *gridLayout_6; + QLabel *label_commonSettings; + QSpacerItem *verticalSpacer_2; + QCheckBox *checkbox_stun; + KLineEdit *line_stun; + QWidget *tab_codec; + QGridLayout *gridLayout_7; + KEditListBox *keditlistbox_codec; + QLabel *label_frequency; + QLabel *label_frequency_value; + QSpacerItem *horizontalSpacer_6; + QLabel *label_bitrate; + QLabel *label_bitrate_value; + QLabel *label_bandwidth; + QLabel *label_bandwidth_value; + QWidget *tab; + QGridLayout *gridLayout; + QListWidget *list_credential; + QSpacerItem *horizontalSpacer_2; + QGroupBox *group_credential; + QGridLayout *gridLayout_2; + QLabel *label_credential_realm; + QLabel *labe_credential_auth; + QLabel *label_credential_password; + KLineEdit *edit_credential_realm; + KLineEdit *edit_credential_auth; + KLineEdit *edit_credential_password; + QToolButton *button_add_credential; + QToolButton *button_remove_credential; + QWidget *tab_2; + QGridLayout *gridLayout_3; + QScrollArea *scrollArea; + QWidget *scrollAreaWidgetContents; + QGridLayout *gridLayout_5; + QLabel *label_tls_info; + QGroupBox *group_security_tls; + QGridLayout *gridLayout_4; + QLabel *label_tls_listener; + KIntSpinBox *spinbox_tls_listener; + QSpacerItem *horizontalSpacer_4; + QLabel *label_tls_authority; + KUrlRequester *file_tls_authority; + QLabel *label_tls_endpoint; + KUrlRequester *file_tls_endpoint; + QLabel *label_tls_private_key; + KUrlRequester *file_tls_private_key; + QLabel *label_tls_private_key_password; + KLineEdit *edit_tls_private_key_password; + QLabel *label_tls_method; + QComboBox *combo_tls_method; + QSpacerItem *horizontalSpacer_5; + QLabel *label_tls_cipher; + KLineEdit *edit_tls_cipher; + QLabel *label_tls_outgoing; + KLineEdit *edit_tls_outgoing; + QLabel *label_tls_timeout; + KIntSpinBox *spinbox_tls_timeout_sec; + QCheckBox *check_tls_incoming; + QCheckBox *check_tls_answer; + QCheckBox *check_tls_requier_cert; + QLabel *label_tls_details; + QSpacerItem *verticalSpacer; + QSpacerItem *horizontalSpacer_3; + KIntSpinBox *spinbox_tls_timeout_msec; + QLabel *label_timeout2; + QGroupBox *groupbox_STRP_keyexchange; + QVBoxLayout *verticalLayout_2; + QComboBox *combo_security_STRP; + QCheckBox *checkbox_ZTRP_send_hello; + QCheckBox *checkbox_ZRTP_warn_supported; + QCheckBox *checkbox_ZRTP_Ask_user; + QCheckBox *checkbox_ZRTP_display_SAS; + QCheckBox *checkbox_SDES_fallback_rtp; + + void setupUi(QWidget *DlgAccountsBase) + { + if (DlgAccountsBase->objectName().isEmpty()) + DlgAccountsBase->setObjectName(QString::fromUtf8("DlgAccountsBase")); + DlgAccountsBase->resize(858, 550); + DlgAccountsBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgAccountsBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + widget1_configAccounts = new QWidget(DlgAccountsBase); + widget1_configAccounts->setObjectName(QString::fromUtf8("widget1_configAccounts")); + widget1_configAccounts->setAutoFillBackground(false); + horizontalLayout_3 = new QHBoxLayout(widget1_configAccounts); + horizontalLayout_3->setContentsMargins(0, 0, 0, 0); + horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); + horizontalLayout_3->setSizeConstraint(QLayout::SetDefaultConstraint); + frame1_accountList = new QFrame(widget1_configAccounts); + frame1_accountList->setObjectName(QString::fromUtf8("frame1_accountList")); + QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(frame1_accountList->sizePolicy().hasHeightForWidth()); + frame1_accountList->setSizePolicy(sizePolicy); + frame1_accountList->setMinimumSize(QSize(0, 0)); + frame1_accountList->setMaximumSize(QSize(16777215, 16777215)); + frame1_accountList->setSizeIncrement(QSize(0, 0)); + frame1_accountList->setFrameShape(QFrame::StyledPanel); + frame1_accountList->setFrameShadow(QFrame::Raised); + verticalLayout_6 = new QVBoxLayout(frame1_accountList); + verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6")); + listWidget_accountList = new QListWidget(frame1_accountList); + listWidget_accountList->setObjectName(QString::fromUtf8("listWidget_accountList")); + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(listWidget_accountList->sizePolicy().hasHeightForWidth()); + listWidget_accountList->setSizePolicy(sizePolicy1); + listWidget_accountList->setMinimumSize(QSize(150, 0)); + listWidget_accountList->setMaximumSize(QSize(16777215, 16777215)); + listWidget_accountList->setDragEnabled(true); + + verticalLayout_6->addWidget(listWidget_accountList); + + groupBox_accountListHandle = new QGroupBox(frame1_accountList); + groupBox_accountListHandle->setObjectName(QString::fromUtf8("groupBox_accountListHandle")); + QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Preferred); + sizePolicy2.setHorizontalStretch(0); + sizePolicy2.setVerticalStretch(0); + sizePolicy2.setHeightForWidth(groupBox_accountListHandle->sizePolicy().hasHeightForWidth()); + groupBox_accountListHandle->setSizePolicy(sizePolicy2); + groupBox_accountListHandle->setMaximumSize(QSize(16777215, 16777215)); + groupBox_accountListHandle->setLayoutDirection(Qt::RightToLeft); + groupBox_accountListHandle->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + horizontalLayout_2 = new QHBoxLayout(groupBox_accountListHandle); + horizontalLayout_2->setSpacing(0); + horizontalLayout_2->setContentsMargins(0, 0, 0, 0); + horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); + horizontalLayout_2->setSizeConstraint(QLayout::SetNoConstraint); + button_accountRemove = new QToolButton(groupBox_accountListHandle); + button_accountRemove->setObjectName(QString::fromUtf8("button_accountRemove")); + QSizePolicy sizePolicy3(QSizePolicy::Fixed, QSizePolicy::Fixed); + sizePolicy3.setHorizontalStretch(0); + sizePolicy3.setVerticalStretch(0); + sizePolicy3.setHeightForWidth(button_accountRemove->sizePolicy().hasHeightForWidth()); + button_accountRemove->setSizePolicy(sizePolicy3); + button_accountRemove->setShortcut(QString::fromUtf8("-, Del, Backspace")); + + horizontalLayout_2->addWidget(button_accountRemove); + + button_accountAdd = new QToolButton(groupBox_accountListHandle); + button_accountAdd->setObjectName(QString::fromUtf8("button_accountAdd")); + sizePolicy3.setHeightForWidth(button_accountAdd->sizePolicy().hasHeightForWidth()); + button_accountAdd->setSizePolicy(sizePolicy3); + button_accountAdd->setSizeIncrement(QSize(0, 0)); + button_accountAdd->setShortcut(QString::fromUtf8("+")); + + horizontalLayout_2->addWidget(button_accountAdd); + + button_accountDown = new QToolButton(groupBox_accountListHandle); + button_accountDown->setObjectName(QString::fromUtf8("button_accountDown")); + button_accountDown->setShortcut(QString::fromUtf8("Down, PgDown")); + + horizontalLayout_2->addWidget(button_accountDown); + + button_accountUp = new QToolButton(groupBox_accountListHandle); + button_accountUp->setObjectName(QString::fromUtf8("button_accountUp")); + button_accountUp->setShortcut(QString::fromUtf8("Up, PgUp")); + + horizontalLayout_2->addWidget(button_accountUp); + + horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_2->addItem(horizontalSpacer); + + + verticalLayout_6->addWidget(groupBox_accountListHandle); + + + horizontalLayout_3->addWidget(frame1_accountList); + + frame2_editAccounts = new QTabWidget(widget1_configAccounts); + frame2_editAccounts->setObjectName(QString::fromUtf8("frame2_editAccounts")); + QSizePolicy sizePolicy4(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy4.setHorizontalStretch(3); + sizePolicy4.setVerticalStretch(0); + sizePolicy4.setHeightForWidth(frame2_editAccounts->sizePolicy().hasHeightForWidth()); + frame2_editAccounts->setSizePolicy(sizePolicy4); + tab_basic = new QWidget(); + tab_basic->setObjectName(QString::fromUtf8("tab_basic")); + formLayout = new QFormLayout(tab_basic); + formLayout->setObjectName(QString::fromUtf8("formLayout")); + label1_alias = new QLabel(tab_basic); + label1_alias->setObjectName(QString::fromUtf8("label1_alias")); + + formLayout->setWidget(0, QFormLayout::LabelRole, label1_alias); + + edit1_alias = new QLineEdit(tab_basic); + edit1_alias->setObjectName(QString::fromUtf8("edit1_alias")); + QSizePolicy sizePolicy5(QSizePolicy::Expanding, QSizePolicy::Fixed); + sizePolicy5.setHorizontalStretch(0); + sizePolicy5.setVerticalStretch(0); + sizePolicy5.setHeightForWidth(edit1_alias->sizePolicy().hasHeightForWidth()); + edit1_alias->setSizePolicy(sizePolicy5); + edit1_alias->setMinimumSize(QSize(0, 0)); + + formLayout->setWidget(0, QFormLayout::FieldRole, edit1_alias); + + label2_protocol = new QLabel(tab_basic); + label2_protocol->setObjectName(QString::fromUtf8("label2_protocol")); + + formLayout->setWidget(1, QFormLayout::LabelRole, label2_protocol); + + edit2_protocol = new QComboBox(tab_basic); + edit2_protocol->setObjectName(QString::fromUtf8("edit2_protocol")); + + formLayout->setWidget(1, QFormLayout::FieldRole, edit2_protocol); + + label3_server = new QLabel(tab_basic); + label3_server->setObjectName(QString::fromUtf8("label3_server")); + + formLayout->setWidget(2, QFormLayout::LabelRole, label3_server); + + edit3_server = new QLineEdit(tab_basic); + edit3_server->setObjectName(QString::fromUtf8("edit3_server")); + edit3_server->setMinimumSize(QSize(0, 0)); + + formLayout->setWidget(2, QFormLayout::FieldRole, edit3_server); + + label4_user = new QLabel(tab_basic); + label4_user->setObjectName(QString::fromUtf8("label4_user")); + + formLayout->setWidget(3, QFormLayout::LabelRole, label4_user); + + edit4_user = new QLineEdit(tab_basic); + edit4_user->setObjectName(QString::fromUtf8("edit4_user")); + + formLayout->setWidget(3, QFormLayout::FieldRole, edit4_user); + + label5_password = new QLabel(tab_basic); + label5_password->setObjectName(QString::fromUtf8("label5_password")); + + formLayout->setWidget(4, QFormLayout::LabelRole, label5_password); + + edit5_password = new QLineEdit(tab_basic); + edit5_password->setObjectName(QString::fromUtf8("edit5_password")); + edit5_password->setEchoMode(QLineEdit::Password); + + formLayout->setWidget(4, QFormLayout::FieldRole, edit5_password); + + label6_mailbox = new QLabel(tab_basic); + label6_mailbox->setObjectName(QString::fromUtf8("label6_mailbox")); + + formLayout->setWidget(5, QFormLayout::LabelRole, label6_mailbox); + + edit6_mailbox = new QLineEdit(tab_basic); + edit6_mailbox->setObjectName(QString::fromUtf8("edit6_mailbox")); + + formLayout->setWidget(5, QFormLayout::FieldRole, edit6_mailbox); + + label7_state = new QLabel(tab_basic); + label7_state->setObjectName(QString::fromUtf8("label7_state")); + + formLayout->setWidget(6, QFormLayout::LabelRole, label7_state); + + edit7_state = new QLabel(tab_basic); + edit7_state->setObjectName(QString::fromUtf8("edit7_state")); + QSizePolicy sizePolicy6(QSizePolicy::Expanding, QSizePolicy::Preferred); + sizePolicy6.setHorizontalStretch(0); + sizePolicy6.setVerticalStretch(0); + sizePolicy6.setHeightForWidth(edit7_state->sizePolicy().hasHeightForWidth()); + edit7_state->setSizePolicy(sizePolicy6); + edit7_state->setMinimumSize(QSize(10, 0)); + + formLayout->setWidget(6, QFormLayout::FieldRole, edit7_state); + + frame2_editAccounts->addTab(tab_basic, QString()); + tab_advanced = new QWidget(); + tab_advanced->setObjectName(QString::fromUtf8("tab_advanced")); + verticalLayout_3 = new QVBoxLayout(tab_advanced); + verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3")); + groupBox = new QGroupBox(tab_advanced); + groupBox->setObjectName(QString::fromUtf8("groupBox")); + gridLayout_8 = new QGridLayout(groupBox); + gridLayout_8->setObjectName(QString::fromUtf8("gridLayout_8")); + label_regExpire = new QLabel(groupBox); + label_regExpire->setObjectName(QString::fromUtf8("label_regExpire")); + + gridLayout_8->addWidget(label_regExpire, 0, 0, 1, 1); + + spinbox_regExpire = new KIntSpinBox(groupBox); + spinbox_regExpire->setObjectName(QString::fromUtf8("spinbox_regExpire")); + spinbox_regExpire->setMaximum(16777215); + + gridLayout_8->addWidget(spinbox_regExpire, 0, 1, 1, 1); + + checkBox_conformRFC = new QCheckBox(groupBox); + checkBox_conformRFC->setObjectName(QString::fromUtf8("checkBox_conformRFC")); + + gridLayout_8->addWidget(checkBox_conformRFC, 1, 0, 1, 2); + + horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_8->addItem(horizontalSpacer_7, 0, 2, 1, 1); + + + verticalLayout_3->addWidget(groupBox); + + groupBox_2 = new QGroupBox(tab_advanced); + groupBox_2->setObjectName(QString::fromUtf8("groupBox_2")); + gridLayout_9 = new QGridLayout(groupBox_2); + gridLayout_9->setObjectName(QString::fromUtf8("gridLayout_9")); + label_ni_local_address = new QLabel(groupBox_2); + label_ni_local_address->setObjectName(QString::fromUtf8("label_ni_local_address")); + + gridLayout_9->addWidget(label_ni_local_address, 0, 0, 1, 1); + + comboBox_ni_local_address = new QComboBox(groupBox_2); + comboBox_ni_local_address->setObjectName(QString::fromUtf8("comboBox_ni_local_address")); + + gridLayout_9->addWidget(comboBox_ni_local_address, 0, 1, 1, 1); + + label_ni_local_port = new QLabel(groupBox_2); + label_ni_local_port->setObjectName(QString::fromUtf8("label_ni_local_port")); + + gridLayout_9->addWidget(label_ni_local_port, 1, 0, 1, 1); + + spinBox_ni_local_port = new QSpinBox(groupBox_2); + spinBox_ni_local_port->setObjectName(QString::fromUtf8("spinBox_ni_local_port")); + + gridLayout_9->addWidget(spinBox_ni_local_port, 1, 1, 1, 1); + + horizontalSpacer_8 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_9->addItem(horizontalSpacer_8, 0, 2, 1, 1); + + + verticalLayout_3->addWidget(groupBox_2); + + groupBox_3 = new QGroupBox(tab_advanced); + groupBox_3->setObjectName(QString::fromUtf8("groupBox_3")); + gridLayout_10 = new QGridLayout(groupBox_3); + gridLayout_10->setObjectName(QString::fromUtf8("gridLayout_10")); + radioButton_pa_same_as_local = new QRadioButton(groupBox_3); + radioButton_pa_same_as_local->setObjectName(QString::fromUtf8("radioButton_pa_same_as_local")); + + gridLayout_10->addWidget(radioButton_pa_same_as_local, 0, 0, 1, 3); + + radioButton_pa_custom = new QRadioButton(groupBox_3); + radioButton_pa_custom->setObjectName(QString::fromUtf8("radioButton_pa_custom")); + + gridLayout_10->addWidget(radioButton_pa_custom, 1, 0, 2, 3); + + label_published_address = new QLabel(groupBox_3); + label_published_address->setObjectName(QString::fromUtf8("label_published_address")); + + gridLayout_10->addWidget(label_published_address, 3, 0, 1, 1); + + label_pa_published_port = new QLabel(groupBox_3); + label_pa_published_port->setObjectName(QString::fromUtf8("label_pa_published_port")); + + gridLayout_10->addWidget(label_pa_published_port, 4, 0, 1, 1); + + spinBox_pa_published_port = new QSpinBox(groupBox_3); + spinBox_pa_published_port->setObjectName(QString::fromUtf8("spinBox_pa_published_port")); + + gridLayout_10->addWidget(spinBox_pa_published_port, 4, 1, 1, 2); + + lineEdit_pa_published_address = new QLineEdit(groupBox_3); + lineEdit_pa_published_address->setObjectName(QString::fromUtf8("lineEdit_pa_published_address")); + + gridLayout_10->addWidget(lineEdit_pa_published_address, 3, 1, 1, 1); + + horizontalSpacer_9 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_10->addItem(horizontalSpacer_9, 3, 3, 1, 1); + + + verticalLayout_3->addWidget(groupBox_3); + + verticalSpacer_3 = new QSpacerItem(20, 138, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout_3->addItem(verticalSpacer_3); + + frame2_editAccounts->addTab(tab_advanced, QString()); + tab_stun = new QWidget(); + tab_stun->setObjectName(QString::fromUtf8("tab_stun")); + gridLayout_6 = new QGridLayout(tab_stun); + gridLayout_6->setObjectName(QString::fromUtf8("gridLayout_6")); + label_commonSettings = new QLabel(tab_stun); + label_commonSettings->setObjectName(QString::fromUtf8("label_commonSettings")); + label_commonSettings->setWordWrap(true); + + gridLayout_6->addWidget(label_commonSettings, 0, 0, 1, 2); + + verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + gridLayout_6->addItem(verticalSpacer_2, 2, 0, 1, 1); + + checkbox_stun = new QCheckBox(tab_stun); + checkbox_stun->setObjectName(QString::fromUtf8("checkbox_stun")); + + gridLayout_6->addWidget(checkbox_stun, 1, 0, 1, 1); + + line_stun = new KLineEdit(tab_stun); + line_stun->setObjectName(QString::fromUtf8("line_stun")); + line_stun->setEnabled(false); + + gridLayout_6->addWidget(line_stun, 1, 1, 1, 1); + + frame2_editAccounts->addTab(tab_stun, QString()); + tab_codec = new QWidget(); + tab_codec->setObjectName(QString::fromUtf8("tab_codec")); + gridLayout_7 = new QGridLayout(tab_codec); + gridLayout_7->setObjectName(QString::fromUtf8("gridLayout_7")); + keditlistbox_codec = new KEditListBox(tab_codec); + keditlistbox_codec->setObjectName(QString::fromUtf8("keditlistbox_codec")); + keditlistbox_codec->setButtons(KEditListBox::All); + + gridLayout_7->addWidget(keditlistbox_codec, 0, 0, 1, 3); + + label_frequency = new QLabel(tab_codec); + label_frequency->setObjectName(QString::fromUtf8("label_frequency")); + + gridLayout_7->addWidget(label_frequency, 1, 0, 1, 1); + + label_frequency_value = new QLabel(tab_codec); + label_frequency_value->setObjectName(QString::fromUtf8("label_frequency_value")); + + gridLayout_7->addWidget(label_frequency_value, 1, 1, 1, 1); + + horizontalSpacer_6 = new QSpacerItem(470, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_7->addItem(horizontalSpacer_6, 1, 2, 2, 1); + + label_bitrate = new QLabel(tab_codec); + label_bitrate->setObjectName(QString::fromUtf8("label_bitrate")); + + gridLayout_7->addWidget(label_bitrate, 2, 0, 1, 1); + + label_bitrate_value = new QLabel(tab_codec); + label_bitrate_value->setObjectName(QString::fromUtf8("label_bitrate_value")); + + gridLayout_7->addWidget(label_bitrate_value, 2, 1, 1, 1); + + label_bandwidth = new QLabel(tab_codec); + label_bandwidth->setObjectName(QString::fromUtf8("label_bandwidth")); + + gridLayout_7->addWidget(label_bandwidth, 3, 0, 1, 1); + + label_bandwidth_value = new QLabel(tab_codec); + label_bandwidth_value->setObjectName(QString::fromUtf8("label_bandwidth_value")); + + gridLayout_7->addWidget(label_bandwidth_value, 3, 1, 1, 1); + + frame2_editAccounts->addTab(tab_codec, QString()); + tab = new QWidget(); + tab->setObjectName(QString::fromUtf8("tab")); + gridLayout = new QGridLayout(tab); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + list_credential = new QListWidget(tab); + list_credential->setObjectName(QString::fromUtf8("list_credential")); + sizePolicy1.setHeightForWidth(list_credential->sizePolicy().hasHeightForWidth()); + list_credential->setSizePolicy(sizePolicy1); + + gridLayout->addWidget(list_credential, 0, 0, 2, 3); + + horizontalSpacer_2 = new QSpacerItem(327, 23, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout->addItem(horizontalSpacer_2, 2, 0, 1, 1); + + group_credential = new QGroupBox(tab); + group_credential->setObjectName(QString::fromUtf8("group_credential")); + QSizePolicy sizePolicy7(QSizePolicy::Preferred, QSizePolicy::Minimum); + sizePolicy7.setHorizontalStretch(0); + sizePolicy7.setVerticalStretch(0); + sizePolicy7.setHeightForWidth(group_credential->sizePolicy().hasHeightForWidth()); + group_credential->setSizePolicy(sizePolicy7); + gridLayout_2 = new QGridLayout(group_credential); + gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); + label_credential_realm = new QLabel(group_credential); + label_credential_realm->setObjectName(QString::fromUtf8("label_credential_realm")); + + gridLayout_2->addWidget(label_credential_realm, 0, 0, 1, 1); + + labe_credential_auth = new QLabel(group_credential); + labe_credential_auth->setObjectName(QString::fromUtf8("labe_credential_auth")); + + gridLayout_2->addWidget(labe_credential_auth, 1, 0, 1, 1); + + label_credential_password = new QLabel(group_credential); + label_credential_password->setObjectName(QString::fromUtf8("label_credential_password")); + + gridLayout_2->addWidget(label_credential_password, 2, 0, 1, 1); + + edit_credential_realm = new KLineEdit(group_credential); + edit_credential_realm->setObjectName(QString::fromUtf8("edit_credential_realm")); + edit_credential_realm->setEnabled(false); + + gridLayout_2->addWidget(edit_credential_realm, 0, 1, 1, 1); + + edit_credential_auth = new KLineEdit(group_credential); + edit_credential_auth->setObjectName(QString::fromUtf8("edit_credential_auth")); + edit_credential_auth->setEnabled(false); + + gridLayout_2->addWidget(edit_credential_auth, 1, 1, 1, 1); + + edit_credential_password = new KLineEdit(group_credential); + edit_credential_password->setObjectName(QString::fromUtf8("edit_credential_password")); + edit_credential_password->setEnabled(false); + + gridLayout_2->addWidget(edit_credential_password, 2, 1, 1, 1); + + + gridLayout->addWidget(group_credential, 3, 0, 1, 3); + + button_add_credential = new QToolButton(tab); + button_add_credential->setObjectName(QString::fromUtf8("button_add_credential")); + + gridLayout->addWidget(button_add_credential, 2, 1, 1, 1); + + button_remove_credential = new QToolButton(tab); + button_remove_credential->setObjectName(QString::fromUtf8("button_remove_credential")); + + gridLayout->addWidget(button_remove_credential, 2, 2, 1, 1); + + frame2_editAccounts->addTab(tab, QString()); + tab_2 = new QWidget(); + tab_2->setObjectName(QString::fromUtf8("tab_2")); + gridLayout_3 = new QGridLayout(tab_2); + gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3")); + scrollArea = new QScrollArea(tab_2); + scrollArea->setObjectName(QString::fromUtf8("scrollArea")); + scrollArea->setWidgetResizable(true); + scrollAreaWidgetContents = new QWidget(); + scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents")); + scrollAreaWidgetContents->setGeometry(QRect(0, 0, 536, 758)); + gridLayout_5 = new QGridLayout(scrollAreaWidgetContents); + gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5")); + label_tls_info = new QLabel(scrollAreaWidgetContents); + label_tls_info->setObjectName(QString::fromUtf8("label_tls_info")); + QSizePolicy sizePolicy8(QSizePolicy::Minimum, QSizePolicy::Minimum); + sizePolicy8.setHorizontalStretch(0); + sizePolicy8.setVerticalStretch(0); + sizePolicy8.setHeightForWidth(label_tls_info->sizePolicy().hasHeightForWidth()); + label_tls_info->setSizePolicy(sizePolicy8); + label_tls_info->setWordWrap(true); + + gridLayout_5->addWidget(label_tls_info, 2, 0, 1, 2); + + group_security_tls = new QGroupBox(scrollAreaWidgetContents); + group_security_tls->setObjectName(QString::fromUtf8("group_security_tls")); + sizePolicy1.setHeightForWidth(group_security_tls->sizePolicy().hasHeightForWidth()); + group_security_tls->setSizePolicy(sizePolicy1); + group_security_tls->setCheckable(true); + group_security_tls->setChecked(false); + gridLayout_4 = new QGridLayout(group_security_tls); + gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4")); + label_tls_listener = new QLabel(group_security_tls); + label_tls_listener->setObjectName(QString::fromUtf8("label_tls_listener")); + + gridLayout_4->addWidget(label_tls_listener, 0, 0, 1, 1); + + spinbox_tls_listener = new KIntSpinBox(group_security_tls); + spinbox_tls_listener->setObjectName(QString::fromUtf8("spinbox_tls_listener")); + spinbox_tls_listener->setMaximum(65535); + + gridLayout_4->addWidget(spinbox_tls_listener, 0, 1, 1, 3); + + horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_4->addItem(horizontalSpacer_4, 0, 4, 1, 5); + + label_tls_authority = new QLabel(group_security_tls); + label_tls_authority->setObjectName(QString::fromUtf8("label_tls_authority")); + + gridLayout_4->addWidget(label_tls_authority, 1, 0, 1, 1); + + file_tls_authority = new KUrlRequester(group_security_tls); + file_tls_authority->setObjectName(QString::fromUtf8("file_tls_authority")); + + gridLayout_4->addWidget(file_tls_authority, 1, 1, 1, 8); + + label_tls_endpoint = new QLabel(group_security_tls); + label_tls_endpoint->setObjectName(QString::fromUtf8("label_tls_endpoint")); + + gridLayout_4->addWidget(label_tls_endpoint, 2, 0, 1, 1); + + file_tls_endpoint = new KUrlRequester(group_security_tls); + file_tls_endpoint->setObjectName(QString::fromUtf8("file_tls_endpoint")); + + gridLayout_4->addWidget(file_tls_endpoint, 2, 1, 1, 8); + + label_tls_private_key = new QLabel(group_security_tls); + label_tls_private_key->setObjectName(QString::fromUtf8("label_tls_private_key")); + + gridLayout_4->addWidget(label_tls_private_key, 3, 0, 1, 1); + + file_tls_private_key = new KUrlRequester(group_security_tls); + file_tls_private_key->setObjectName(QString::fromUtf8("file_tls_private_key")); + + gridLayout_4->addWidget(file_tls_private_key, 3, 1, 1, 8); + + label_tls_private_key_password = new QLabel(group_security_tls); + label_tls_private_key_password->setObjectName(QString::fromUtf8("label_tls_private_key_password")); + + gridLayout_4->addWidget(label_tls_private_key_password, 4, 0, 1, 1); + + edit_tls_private_key_password = new KLineEdit(group_security_tls); + edit_tls_private_key_password->setObjectName(QString::fromUtf8("edit_tls_private_key_password")); + + gridLayout_4->addWidget(edit_tls_private_key_password, 4, 1, 1, 8); + + label_tls_method = new QLabel(group_security_tls); + label_tls_method->setObjectName(QString::fromUtf8("label_tls_method")); + + gridLayout_4->addWidget(label_tls_method, 5, 0, 1, 1); + + combo_tls_method = new QComboBox(group_security_tls); + combo_tls_method->setObjectName(QString::fromUtf8("combo_tls_method")); + + gridLayout_4->addWidget(combo_tls_method, 5, 1, 1, 3); + + horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_4->addItem(horizontalSpacer_5, 5, 4, 1, 5); + + label_tls_cipher = new QLabel(group_security_tls); + label_tls_cipher->setObjectName(QString::fromUtf8("label_tls_cipher")); + + gridLayout_4->addWidget(label_tls_cipher, 6, 0, 1, 1); + + edit_tls_cipher = new KLineEdit(group_security_tls); + edit_tls_cipher->setObjectName(QString::fromUtf8("edit_tls_cipher")); + + gridLayout_4->addWidget(edit_tls_cipher, 6, 1, 1, 8); + + label_tls_outgoing = new QLabel(group_security_tls); + label_tls_outgoing->setObjectName(QString::fromUtf8("label_tls_outgoing")); + + gridLayout_4->addWidget(label_tls_outgoing, 7, 0, 1, 1); + + edit_tls_outgoing = new KLineEdit(group_security_tls); + edit_tls_outgoing->setObjectName(QString::fromUtf8("edit_tls_outgoing")); + + gridLayout_4->addWidget(edit_tls_outgoing, 7, 1, 1, 8); + + label_tls_timeout = new QLabel(group_security_tls); + label_tls_timeout->setObjectName(QString::fromUtf8("label_tls_timeout")); + + gridLayout_4->addWidget(label_tls_timeout, 8, 0, 1, 1); + + spinbox_tls_timeout_sec = new KIntSpinBox(group_security_tls); + spinbox_tls_timeout_sec->setObjectName(QString::fromUtf8("spinbox_tls_timeout_sec")); + sizePolicy3.setHeightForWidth(spinbox_tls_timeout_sec->sizePolicy().hasHeightForWidth()); + spinbox_tls_timeout_sec->setSizePolicy(sizePolicy3); + spinbox_tls_timeout_sec->setMinimumSize(QSize(50, 0)); + + gridLayout_4->addWidget(spinbox_tls_timeout_sec, 8, 1, 1, 1); + + check_tls_incoming = new QCheckBox(group_security_tls); + check_tls_incoming->setObjectName(QString::fromUtf8("check_tls_incoming")); + + gridLayout_4->addWidget(check_tls_incoming, 9, 0, 1, 5); + + check_tls_answer = new QCheckBox(group_security_tls); + check_tls_answer->setObjectName(QString::fromUtf8("check_tls_answer")); + + gridLayout_4->addWidget(check_tls_answer, 10, 0, 1, 5); + + check_tls_requier_cert = new QCheckBox(group_security_tls); + check_tls_requier_cert->setObjectName(QString::fromUtf8("check_tls_requier_cert")); + + gridLayout_4->addWidget(check_tls_requier_cert, 11, 0, 1, 5); + + label_tls_details = new QLabel(group_security_tls); + label_tls_details->setObjectName(QString::fromUtf8("label_tls_details")); + + gridLayout_4->addWidget(label_tls_details, 12, 0, 1, 1); + + verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + gridLayout_4->addItem(verticalSpacer, 13, 0, 1, 1); + + horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_4->addItem(horizontalSpacer_3, 8, 4, 1, 5); + + spinbox_tls_timeout_msec = new KIntSpinBox(group_security_tls); + spinbox_tls_timeout_msec->setObjectName(QString::fromUtf8("spinbox_tls_timeout_msec")); + sizePolicy3.setHeightForWidth(spinbox_tls_timeout_msec->sizePolicy().hasHeightForWidth()); + spinbox_tls_timeout_msec->setSizePolicy(sizePolicy3); + spinbox_tls_timeout_msec->setMinimumSize(QSize(50, 0)); + + gridLayout_4->addWidget(spinbox_tls_timeout_msec, 8, 3, 1, 1); + + label_timeout2 = new QLabel(group_security_tls); + label_timeout2->setObjectName(QString::fromUtf8("label_timeout2")); + sizePolicy8.setHeightForWidth(label_timeout2->sizePolicy().hasHeightForWidth()); + label_timeout2->setSizePolicy(sizePolicy8); + label_timeout2->setMinimumSize(QSize(10, 0)); + label_timeout2->setMaximumSize(QSize(10, 16777215)); + + gridLayout_4->addWidget(label_timeout2, 8, 2, 1, 1); + + + gridLayout_5->addWidget(group_security_tls, 3, 0, 1, 2); + + groupbox_STRP_keyexchange = new QGroupBox(scrollAreaWidgetContents); + groupbox_STRP_keyexchange->setObjectName(QString::fromUtf8("groupbox_STRP_keyexchange")); + verticalLayout_2 = new QVBoxLayout(groupbox_STRP_keyexchange); + verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2")); + combo_security_STRP = new QComboBox(groupbox_STRP_keyexchange); + combo_security_STRP->setObjectName(QString::fromUtf8("combo_security_STRP")); + QSizePolicy sizePolicy9(QSizePolicy::Minimum, QSizePolicy::Fixed); + sizePolicy9.setHorizontalStretch(0); + sizePolicy9.setVerticalStretch(0); + sizePolicy9.setHeightForWidth(combo_security_STRP->sizePolicy().hasHeightForWidth()); + combo_security_STRP->setSizePolicy(sizePolicy9); + + verticalLayout_2->addWidget(combo_security_STRP); + + checkbox_ZTRP_send_hello = new QCheckBox(groupbox_STRP_keyexchange); + checkbox_ZTRP_send_hello->setObjectName(QString::fromUtf8("checkbox_ZTRP_send_hello")); + + verticalLayout_2->addWidget(checkbox_ZTRP_send_hello); + + checkbox_ZRTP_warn_supported = new QCheckBox(groupbox_STRP_keyexchange); + checkbox_ZRTP_warn_supported->setObjectName(QString::fromUtf8("checkbox_ZRTP_warn_supported")); + + verticalLayout_2->addWidget(checkbox_ZRTP_warn_supported); + + checkbox_ZRTP_Ask_user = new QCheckBox(groupbox_STRP_keyexchange); + checkbox_ZRTP_Ask_user->setObjectName(QString::fromUtf8("checkbox_ZRTP_Ask_user")); + + verticalLayout_2->addWidget(checkbox_ZRTP_Ask_user); + + checkbox_ZRTP_display_SAS = new QCheckBox(groupbox_STRP_keyexchange); + checkbox_ZRTP_display_SAS->setObjectName(QString::fromUtf8("checkbox_ZRTP_display_SAS")); + + verticalLayout_2->addWidget(checkbox_ZRTP_display_SAS); + + checkbox_SDES_fallback_rtp = new QCheckBox(groupbox_STRP_keyexchange); + checkbox_SDES_fallback_rtp->setObjectName(QString::fromUtf8("checkbox_SDES_fallback_rtp")); + + verticalLayout_2->addWidget(checkbox_SDES_fallback_rtp); + + + gridLayout_5->addWidget(groupbox_STRP_keyexchange, 0, 0, 1, 2); + + scrollArea->setWidget(scrollAreaWidgetContents); + + gridLayout_3->addWidget(scrollArea, 0, 0, 1, 1); + + frame2_editAccounts->addTab(tab_2, QString()); + + horizontalLayout_3->addWidget(frame2_editAccounts); + + + verticalLayout->addWidget(widget1_configAccounts); + +#ifndef UI_QT_NO_SHORTCUT + label1_alias->setBuddy(edit1_alias); + label2_protocol->setBuddy(edit2_protocol); + label3_server->setBuddy(edit3_server); + label4_user->setBuddy(edit4_user); + label5_password->setBuddy(edit5_password); + label6_mailbox->setBuddy(edit6_mailbox); + label_regExpire->setBuddy(spinbox_regExpire); +#endif // QT_NO_SHORTCUT + + retranslateUi(DlgAccountsBase); + QObject::connect(checkbox_stun, SIGNAL(toggled(bool)), line_stun, SLOT(setEnabled(bool))); + + frame2_editAccounts->setCurrentIndex(0); + + + QMetaObject::connectSlotsByName(DlgAccountsBase); + } // setupUi + + void retranslateUi(QWidget *DlgAccountsBase) + { +#ifndef UI_QT_NO_WHATSTHIS + listWidget_accountList->setWhatsThis(tr2i18n("By default, when you place a call, sflphone will use the first account in this list which is \"registered\". Change the order of the accounts using the \"Up\" and \"Down\" arrows. Enable/disable them by checking/unchecking them on the left of the item. Add or remove some with \"Plus\" and \"Sub\" buttons. Edit the selected account with the form on the right.", 0)); +#endif // QT_NO_WHATSTHIS + groupBox_accountListHandle->setTitle(QString()); +#ifndef UI_QT_NO_TOOLTIP + button_accountRemove->setToolTip(tr2i18n("Remove the selected account", 0)); +#endif // QT_NO_TOOLTIP +#ifndef UI_QT_NO_WHATSTHIS + button_accountRemove->setWhatsThis(tr2i18n("This button will remove the selected account in the list below. Be sure you really don't need it anymore. If you think you might use it again later, just uncheck it.", 0)); +#endif // QT_NO_WHATSTHIS +#ifndef UI_QT_NO_ACCESSIBILITY + button_accountRemove->setAccessibleDescription(QString()); +#endif // QT_NO_ACCESSIBILITY + button_accountRemove->setText(tr2i18n("Remove", 0)); +#ifndef UI_QT_NO_TOOLTIP + button_accountAdd->setToolTip(tr2i18n("Add a new account", 0)); +#endif // QT_NO_TOOLTIP +#ifndef UI_QT_NO_WHATSTHIS + button_accountAdd->setWhatsThis(tr2i18n("This button enables you to initialize a new account. You will then be able to edit it using the form on the right.", 0)); +#endif // QT_NO_WHATSTHIS + button_accountAdd->setText(tr2i18n("Add", 0)); +#ifndef UI_QT_NO_TOOLTIP + button_accountDown->setToolTip(tr2i18n("Get this account down", 0)); +#endif // QT_NO_TOOLTIP +#ifndef UI_QT_NO_WHATSTHIS + button_accountDown->setWhatsThis(tr2i18n("By default, when you place a call, sflphone will use the first account in this list which is \"registered\". Change the order of the accounts using the \"Up\" and \"Down\" arrows.", 0)); +#endif // QT_NO_WHATSTHIS + button_accountDown->setText(tr2i18n("Down", 0)); +#ifndef UI_QT_NO_TOOLTIP + button_accountUp->setToolTip(tr2i18n("Get this account up", 0)); +#endif // QT_NO_TOOLTIP +#ifndef UI_QT_NO_WHATSTHIS + button_accountUp->setWhatsThis(tr2i18n("By default, when you place a call, sflphone will use the first account in this list which is \"registered\". Change the order of the accounts using the \"Up\" and \"Down\" arrows.", 0)); +#endif // QT_NO_WHATSTHIS + button_accountUp->setText(tr2i18n("Up", 0)); + label1_alias->setText(tr2i18n("Alias", 0)); + label2_protocol->setText(tr2i18n("Protocol", 0)); + edit2_protocol->clear(); + edit2_protocol->insertItems(0, QStringList() + << tr2i18n("SIP", 0) + << tr2i18n("IAX", 0) + ); + label3_server->setText(tr2i18n("Server", 0)); + label4_user->setText(tr2i18n("Username", 0)); + label5_password->setText(tr2i18n("Password", 0)); + label6_mailbox->setText(tr2i18n("Voicemail", 0)); + label7_state->setText(tr2i18n("Status", 0)); + edit7_state->setText(QString()); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab_basic), tr2i18n("Basic", 0)); + groupBox->setTitle(tr2i18n("Resgistration", 0)); + label_regExpire->setText(tr2i18n("Registration expire", 0)); + checkBox_conformRFC->setText(tr2i18n("Conform to RFC 3263", 0)); + groupBox_2->setTitle(tr2i18n("Network Interface", 0)); + label_ni_local_address->setText(tr2i18n("Local address", 0)); + label_ni_local_port->setText(tr2i18n("Local port", 0)); + groupBox_3->setTitle(tr2i18n("Published address", 0)); + radioButton_pa_same_as_local->setText(tr2i18n("Same as local parameters", 0)); + radioButton_pa_custom->setText(tr2i18n("Set published address and port", 0)); + label_published_address->setText(tr2i18n("Published address", 0)); + label_pa_published_port->setText(tr2i18n("Published port", 0)); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab_advanced), tr2i18n("Advanced", 0)); + label_commonSettings->setText(tr2i18n("Stun parameters will be applied on each SIP account created.", 0)); + checkbox_stun->setText(tr2i18n("Enable Stun", 0)); + line_stun->setClickMessage(tr2i18n("choose Stun server (example : stunserver.org)", 0)); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab_stun), tr2i18n("Stun", 0)); + label_frequency->setText(tr2i18n("Frequency: ", 0)); + label_frequency_value->setText(tr2i18n("-", 0)); + label_bitrate->setText(tr2i18n("Bitrate:", 0)); + label_bitrate_value->setText(tr2i18n("-", 0)); + label_bandwidth->setText(tr2i18n("Bandwidth: ", 0)); + label_bandwidth_value->setText(tr2i18n("-", 0)); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab_codec), tr2i18n("Codecs", 0)); + group_credential->setTitle(tr2i18n("Details", 0)); + label_credential_realm->setText(tr2i18n("Realm", 0)); + labe_credential_auth->setText(tr2i18n("Auth. name", 0)); + label_credential_password->setText(tr2i18n("Password", 0)); + button_add_credential->setText(tr2i18n("Add", 0)); + button_remove_credential->setText(tr2i18n("Remove", 0)); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab), tr2i18n("Credential", 0)); + label_tls_info->setText(tr2i18n("TLS transport can be used along with UDP for those calls that would require secure sip transactions (aka SIPS). You can configure a different TLS transport for each account. However each of them will run on a dedicated port, different one from each other.", 0)); + group_security_tls->setTitle(tr2i18n("Enable TLS", 0)); + label_tls_listener->setText(tr2i18n("Global TLS listener*", 0)); + label_tls_authority->setText(tr2i18n("Authority certificate list", 0)); + label_tls_endpoint->setText(tr2i18n("Public endpoint certificate", 0)); + label_tls_private_key->setText(tr2i18n("Private key", 0)); + label_tls_private_key_password->setText(tr2i18n("Private key password", 0)); + label_tls_method->setText(tr2i18n("TLS protocol method", 0)); + combo_tls_method->clear(); + combo_tls_method->insertItems(0, QStringList() + << tr2i18n("Default", 0) + << tr2i18n("TLSv1", 0) + << tr2i18n("SSLv2", 0) + << tr2i18n("SSLv3", 0) + << tr2i18n("SSLv23", 0) + ); + label_tls_cipher->setText(tr2i18n("TLS cipher list", 0)); + label_tls_outgoing->setText(tr2i18n("Outgoing TLS server name", 0)); + label_tls_timeout->setText(tr2i18n("Negotiation timeout (s:ms)", 0)); + check_tls_incoming->setText(tr2i18n("Verify incoming certificates (server side)", 0)); + check_tls_answer->setText(tr2i18n("Verify answer certificates (client side)", 0)); + check_tls_requier_cert->setText(tr2i18n("Require a certificate for incoming TLS connections", 0)); + label_tls_details->setText(tr2i18n("*Apply to all accounts", 0)); + label_timeout2->setText(tr2i18n("<center>:</center>", 0)); + groupbox_STRP_keyexchange->setTitle(tr2i18n("SRTP key exchange", 0)); + combo_security_STRP->clear(); + combo_security_STRP->insertItems(0, QStringList() + << tr2i18n("Disabled", 0) + << tr2i18n("ZRTP", 0) + << tr2i18n("SDES", 0) + ); + checkbox_ZTRP_send_hello->setText(tr2i18n("Send Hello Hash in SDP", 0)); + checkbox_ZRTP_warn_supported->setText(tr2i18n("Ask user to confirm SAS", 0)); + checkbox_ZRTP_Ask_user->setText(tr2i18n("Warn if ZRTP is not supported", 0)); + checkbox_ZRTP_display_SAS->setText(tr2i18n("Display SAS once for hold events", 0)); + checkbox_SDES_fallback_rtp->setText(tr2i18n("Fallback on RTP on SDES failure", 0)); + frame2_editAccounts->setTabText(frame2_editAccounts->indexOf(tab_2), tr2i18n("Security", 0)); + Q_UNUSED(DlgAccountsBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgAccountsBase: public Ui_DlgAccountsBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGACCOUNTSBASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlgaddressbookbase.h b/sflphone-client-kde/cmake-build/src/ui_dlgaddressbookbase.h new file mode 100644 index 0000000000000000000000000000000000000000..4af175cd325f8cef8908e15c81e5c7bb71ba058c --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlgaddressbookbase.h @@ -0,0 +1,173 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlgaddressbookbase.ui' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGADDRESSBOOKBASE_H +#define UI_DLGADDRESSBOOKBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QSlider> +#include <QtGui/QSpacerItem> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "knuminput.h" + +QT_BEGIN_NAMESPACE + +class Ui_DlgAddressBookBase +{ +public: + QVBoxLayout *verticalLayout; + QCheckBox *kcfg_enableAddressBook; + QWidget *widget_configAddressBookGeneral; + QVBoxLayout *verticalLayout_2; + QWidget *widget_maxResults; + QHBoxLayout *horizontalLayout_4; + QLabel *label_maxResults; + QSlider *horizontalSlider_maxResults; + KIntSpinBox *kcfg_maxResults; + QCheckBox *kcfg_displayPhoto; + QGroupBox *groupBox_displayTypes; + QHBoxLayout *horizontalLayout_7; + QCheckBox *kcfg_business; + QCheckBox *kcfg_mobile; + QCheckBox *kcfg_home; + QSpacerItem *verticalSpacer_configAddressBook; + + void setupUi(QWidget *DlgAddressBookBase) + { + if (DlgAddressBookBase->objectName().isEmpty()) + DlgAddressBookBase->setObjectName(QString::fromUtf8("DlgAddressBookBase")); + DlgAddressBookBase->resize(350, 250); + DlgAddressBookBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgAddressBookBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + kcfg_enableAddressBook = new QCheckBox(DlgAddressBookBase); + kcfg_enableAddressBook->setObjectName(QString::fromUtf8("kcfg_enableAddressBook")); + + verticalLayout->addWidget(kcfg_enableAddressBook); + + widget_configAddressBookGeneral = new QWidget(DlgAddressBookBase); + widget_configAddressBookGeneral->setObjectName(QString::fromUtf8("widget_configAddressBookGeneral")); + widget_configAddressBookGeneral->setEnabled(false); + verticalLayout_2 = new QVBoxLayout(widget_configAddressBookGeneral); + verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2")); + verticalLayout_2->setContentsMargins(0, -1, -1, -1); + widget_maxResults = new QWidget(widget_configAddressBookGeneral); + widget_maxResults->setObjectName(QString::fromUtf8("widget_maxResults")); + horizontalLayout_4 = new QHBoxLayout(widget_maxResults); +#ifndef UI_Q_OS_MAC + horizontalLayout_4->setSpacing(-1); +#endif + horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4")); + horizontalLayout_4->setContentsMargins(0, 5, 5, 5); + label_maxResults = new QLabel(widget_maxResults); + label_maxResults->setObjectName(QString::fromUtf8("label_maxResults")); + + horizontalLayout_4->addWidget(label_maxResults); + + horizontalSlider_maxResults = new QSlider(widget_maxResults); + horizontalSlider_maxResults->setObjectName(QString::fromUtf8("horizontalSlider_maxResults")); + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(horizontalSlider_maxResults->sizePolicy().hasHeightForWidth()); + horizontalSlider_maxResults->setSizePolicy(sizePolicy); + horizontalSlider_maxResults->setMinimum(25); + horizontalSlider_maxResults->setMaximum(50); + horizontalSlider_maxResults->setOrientation(Qt::Horizontal); + + horizontalLayout_4->addWidget(horizontalSlider_maxResults); + + kcfg_maxResults = new KIntSpinBox(widget_maxResults); + kcfg_maxResults->setObjectName(QString::fromUtf8("kcfg_maxResults")); + + horizontalLayout_4->addWidget(kcfg_maxResults); + + + verticalLayout_2->addWidget(widget_maxResults); + + kcfg_displayPhoto = new QCheckBox(widget_configAddressBookGeneral); + kcfg_displayPhoto->setObjectName(QString::fromUtf8("kcfg_displayPhoto")); + + verticalLayout_2->addWidget(kcfg_displayPhoto); + + groupBox_displayTypes = new QGroupBox(widget_configAddressBookGeneral); + groupBox_displayTypes->setObjectName(QString::fromUtf8("groupBox_displayTypes")); + horizontalLayout_7 = new QHBoxLayout(groupBox_displayTypes); + horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7")); + kcfg_business = new QCheckBox(groupBox_displayTypes); + kcfg_business->setObjectName(QString::fromUtf8("kcfg_business")); + + horizontalLayout_7->addWidget(kcfg_business); + + kcfg_mobile = new QCheckBox(groupBox_displayTypes); + kcfg_mobile->setObjectName(QString::fromUtf8("kcfg_mobile")); + + horizontalLayout_7->addWidget(kcfg_mobile); + + kcfg_home = new QCheckBox(groupBox_displayTypes); + kcfg_home->setObjectName(QString::fromUtf8("kcfg_home")); + + horizontalLayout_7->addWidget(kcfg_home); + + + verticalLayout_2->addWidget(groupBox_displayTypes); + + + verticalLayout->addWidget(widget_configAddressBookGeneral); + + verticalSpacer_configAddressBook = new QSpacerItem(20, 72, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout->addItem(verticalSpacer_configAddressBook); + +#ifndef UI_QT_NO_SHORTCUT + label_maxResults->setBuddy(horizontalSlider_maxResults); +#endif // QT_NO_SHORTCUT + + retranslateUi(DlgAddressBookBase); + QObject::connect(horizontalSlider_maxResults, SIGNAL(valueChanged(int)), kcfg_maxResults, SLOT(setValue(int))); + QObject::connect(kcfg_maxResults, SIGNAL(valueChanged(int)), horizontalSlider_maxResults, SLOT(setValue(int))); + QObject::connect(kcfg_enableAddressBook, SIGNAL(toggled(bool)), widget_configAddressBookGeneral, SLOT(setEnabled(bool))); + + QMetaObject::connectSlotsByName(DlgAddressBookBase); + } // setupUi + + void retranslateUi(QWidget *DlgAddressBookBase) + { + kcfg_enableAddressBook->setText(tr2i18n("Enable address book", 0)); + label_maxResults->setText(tr2i18n("Maximum results", 0)); + kcfg_displayPhoto->setText(tr2i18n("Display photo if available", 0)); + groupBox_displayTypes->setTitle(tr2i18n("Display phone numbers of these types :", 0)); + kcfg_business->setText(tr2i18n("Work", 0)); + kcfg_mobile->setText(tr2i18n("Mobile", 0)); + kcfg_home->setText(tr2i18n("Home", 0)); + Q_UNUSED(DlgAddressBookBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgAddressBookBase: public Ui_DlgAddressBookBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGADDRESSBOOKBASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlgaudiobase.h b/sflphone-client-kde/cmake-build/src/ui_dlgaudiobase.h new file mode 100644 index 0000000000000000000000000000000000000000..6b8f91af11a8bbf6265df1e886a15f436bd7de5e --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlgaudiobase.h @@ -0,0 +1,262 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlgaudiobase.ui' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGAUDIOBASE_H +#define UI_DLGAUDIOBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QFormLayout> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QSpacerItem> +#include <QtGui/QStackedWidget> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "kcombobox.h" +#include "kurlrequester.h" + +QT_BEGIN_NAMESPACE + +class Ui_DlgAudioBase +{ +public: + QVBoxLayout *verticalLayout; + QGroupBox *groupBox1_audio; + QFormLayout *formLayout_3; + QLabel *label_interface; + KComboBox *kcfg_interface; + QCheckBox *kcfg_enableRingtones; + KUrlRequester *KUrlRequester_ringtone; + QStackedWidget *stackedWidget_interfaceSpecificSettings; + QWidget *page1_alsa; + QVBoxLayout *verticalLayout_20; + QGroupBox *groupBox_alsa; + QFormLayout *formLayout_4; + QLabel *label1_alsaPugin; + KComboBox *box_alsaPlugin; + QLabel *label2_in; + KComboBox *kcfg_alsaInputDevice; + QLabel *label3_out; + KComboBox *kcfg_alsaOutputDevice; + QWidget *page2_pulseAudio; + QVBoxLayout *verticalLayout_7; + QGroupBox *groupBox_pulseAudio; + QFormLayout *formLayout_11; + QCheckBox *kcfg_pulseAudioVolumeAlter; + QGroupBox *groupBox1_recordGeneral; + QHBoxLayout *horizontalLayout; + QLabel *label_destinationFolderd; + KUrlRequester *KUrlRequester_destinationFolder; + QSpacerItem *verticalSpacer; + + void setupUi(QWidget *DlgAudioBase) + { + if (DlgAudioBase->objectName().isEmpty()) + DlgAudioBase->setObjectName(QString::fromUtf8("DlgAudioBase")); + DlgAudioBase->resize(467, 437); + DlgAudioBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgAudioBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + groupBox1_audio = new QGroupBox(DlgAudioBase); + groupBox1_audio->setObjectName(QString::fromUtf8("groupBox1_audio")); + groupBox1_audio->setMouseTracking(false); + formLayout_3 = new QFormLayout(groupBox1_audio); + formLayout_3->setObjectName(QString::fromUtf8("formLayout_3")); + formLayout_3->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); + label_interface = new QLabel(groupBox1_audio); + label_interface->setObjectName(QString::fromUtf8("label_interface")); + + formLayout_3->setWidget(0, QFormLayout::LabelRole, label_interface); + + kcfg_interface = new KComboBox(groupBox1_audio); + kcfg_interface->setObjectName(QString::fromUtf8("kcfg_interface")); + + formLayout_3->setWidget(0, QFormLayout::FieldRole, kcfg_interface); + + kcfg_enableRingtones = new QCheckBox(groupBox1_audio); + kcfg_enableRingtones->setObjectName(QString::fromUtf8("kcfg_enableRingtones")); + + formLayout_3->setWidget(2, QFormLayout::LabelRole, kcfg_enableRingtones); + + KUrlRequester_ringtone = new KUrlRequester(groupBox1_audio); + KUrlRequester_ringtone->setObjectName(QString::fromUtf8("KUrlRequester_ringtone")); + KUrlRequester_ringtone->setFilter(QString::fromUtf8("*.ul *.au *.wav")); + + formLayout_3->setWidget(2, QFormLayout::FieldRole, KUrlRequester_ringtone); + + + verticalLayout->addWidget(groupBox1_audio); + + stackedWidget_interfaceSpecificSettings = new QStackedWidget(DlgAudioBase); + stackedWidget_interfaceSpecificSettings->setObjectName(QString::fromUtf8("stackedWidget_interfaceSpecificSettings")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(stackedWidget_interfaceSpecificSettings->sizePolicy().hasHeightForWidth()); + stackedWidget_interfaceSpecificSettings->setSizePolicy(sizePolicy); + page1_alsa = new QWidget(); + page1_alsa->setObjectName(QString::fromUtf8("page1_alsa")); + verticalLayout_20 = new QVBoxLayout(page1_alsa); + verticalLayout_20->setContentsMargins(0, 0, 0, 0); + verticalLayout_20->setObjectName(QString::fromUtf8("verticalLayout_20")); + groupBox_alsa = new QGroupBox(page1_alsa); + groupBox_alsa->setObjectName(QString::fromUtf8("groupBox_alsa")); + formLayout_4 = new QFormLayout(groupBox_alsa); + formLayout_4->setObjectName(QString::fromUtf8("formLayout_4")); + formLayout_4->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + formLayout_4->setVerticalSpacing(5); + formLayout_4->setContentsMargins(9, -1, -1, -1); + label1_alsaPugin = new QLabel(groupBox_alsa); + label1_alsaPugin->setObjectName(QString::fromUtf8("label1_alsaPugin")); + + formLayout_4->setWidget(0, QFormLayout::LabelRole, label1_alsaPugin); + + box_alsaPlugin = new KComboBox(groupBox_alsa); + box_alsaPlugin->setObjectName(QString::fromUtf8("box_alsaPlugin")); + box_alsaPlugin->setSizeAdjustPolicy(QComboBox::AdjustToContents); + + formLayout_4->setWidget(0, QFormLayout::FieldRole, box_alsaPlugin); + + label2_in = new QLabel(groupBox_alsa); + label2_in->setObjectName(QString::fromUtf8("label2_in")); + + formLayout_4->setWidget(2, QFormLayout::LabelRole, label2_in); + + kcfg_alsaInputDevice = new KComboBox(groupBox_alsa); + kcfg_alsaInputDevice->setObjectName(QString::fromUtf8("kcfg_alsaInputDevice")); + kcfg_alsaInputDevice->setSizeAdjustPolicy(QComboBox::AdjustToContents); + + formLayout_4->setWidget(2, QFormLayout::FieldRole, kcfg_alsaInputDevice); + + label3_out = new QLabel(groupBox_alsa); + label3_out->setObjectName(QString::fromUtf8("label3_out")); + + formLayout_4->setWidget(4, QFormLayout::LabelRole, label3_out); + + kcfg_alsaOutputDevice = new KComboBox(groupBox_alsa); + kcfg_alsaOutputDevice->setObjectName(QString::fromUtf8("kcfg_alsaOutputDevice")); + kcfg_alsaOutputDevice->setSizeAdjustPolicy(QComboBox::AdjustToContents); + + formLayout_4->setWidget(4, QFormLayout::FieldRole, kcfg_alsaOutputDevice); + + + verticalLayout_20->addWidget(groupBox_alsa); + + stackedWidget_interfaceSpecificSettings->addWidget(page1_alsa); + page2_pulseAudio = new QWidget(); + page2_pulseAudio->setObjectName(QString::fromUtf8("page2_pulseAudio")); + verticalLayout_7 = new QVBoxLayout(page2_pulseAudio); + verticalLayout_7->setObjectName(QString::fromUtf8("verticalLayout_7")); + groupBox_pulseAudio = new QGroupBox(page2_pulseAudio); + groupBox_pulseAudio->setObjectName(QString::fromUtf8("groupBox_pulseAudio")); + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(groupBox_pulseAudio->sizePolicy().hasHeightForWidth()); + groupBox_pulseAudio->setSizePolicy(sizePolicy1); + formLayout_11 = new QFormLayout(groupBox_pulseAudio); + formLayout_11->setObjectName(QString::fromUtf8("formLayout_11")); + formLayout_11->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + kcfg_pulseAudioVolumeAlter = new QCheckBox(groupBox_pulseAudio); + kcfg_pulseAudioVolumeAlter->setObjectName(QString::fromUtf8("kcfg_pulseAudioVolumeAlter")); + + formLayout_11->setWidget(0, QFormLayout::LabelRole, kcfg_pulseAudioVolumeAlter); + + + verticalLayout_7->addWidget(groupBox_pulseAudio); + + stackedWidget_interfaceSpecificSettings->addWidget(page2_pulseAudio); + + verticalLayout->addWidget(stackedWidget_interfaceSpecificSettings); + + groupBox1_recordGeneral = new QGroupBox(DlgAudioBase); + groupBox1_recordGeneral->setObjectName(QString::fromUtf8("groupBox1_recordGeneral")); + sizePolicy.setHeightForWidth(groupBox1_recordGeneral->sizePolicy().hasHeightForWidth()); + groupBox1_recordGeneral->setSizePolicy(sizePolicy); + horizontalLayout = new QHBoxLayout(groupBox1_recordGeneral); + horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); + label_destinationFolderd = new QLabel(groupBox1_recordGeneral); + label_destinationFolderd->setObjectName(QString::fromUtf8("label_destinationFolderd")); + + horizontalLayout->addWidget(label_destinationFolderd); + + KUrlRequester_destinationFolder = new KUrlRequester(groupBox1_recordGeneral); + KUrlRequester_destinationFolder->setObjectName(QString::fromUtf8("KUrlRequester_destinationFolder")); + QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Preferred); + sizePolicy2.setHorizontalStretch(0); + sizePolicy2.setVerticalStretch(0); + sizePolicy2.setHeightForWidth(KUrlRequester_destinationFolder->sizePolicy().hasHeightForWidth()); + KUrlRequester_destinationFolder->setSizePolicy(sizePolicy2); + + horizontalLayout->addWidget(KUrlRequester_destinationFolder); + + + verticalLayout->addWidget(groupBox1_recordGeneral); + + verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout->addItem(verticalSpacer); + +#ifndef UI_QT_NO_SHORTCUT + label_interface->setBuddy(kcfg_interface); + label1_alsaPugin->setBuddy(box_alsaPlugin); + label2_in->setBuddy(kcfg_alsaInputDevice); + label3_out->setBuddy(kcfg_alsaOutputDevice); + label_destinationFolderd->setBuddy(KUrlRequester_destinationFolder); +#endif // QT_NO_SHORTCUT + + retranslateUi(DlgAudioBase); + QObject::connect(kcfg_interface, SIGNAL(currentIndexChanged(int)), stackedWidget_interfaceSpecificSettings, SLOT(setCurrentIndex(int))); + + stackedWidget_interfaceSpecificSettings->setCurrentIndex(0); + + + QMetaObject::connectSlotsByName(DlgAudioBase); + } // setupUi + + void retranslateUi(QWidget *DlgAudioBase) + { + groupBox1_audio->setTitle(QString()); + label_interface->setText(tr2i18n("Sound manager", 0)); + kcfg_interface->clear(); + kcfg_interface->insertItems(0, QStringList() + << tr2i18n("ALSA", 0) + << tr2i18n("PulseAudio", 0) + ); + kcfg_enableRingtones->setText(tr2i18n("Enable ringtones", 0)); + groupBox_alsa->setTitle(tr2i18n("ALSA settings", 0)); + label1_alsaPugin->setText(tr2i18n("ALSA plugin", 0)); + label2_in->setText(tr2i18n("Input", 0)); + label3_out->setText(tr2i18n("Output", 0)); + groupBox_pulseAudio->setTitle(tr2i18n("PulseAudio settings", 0)); + kcfg_pulseAudioVolumeAlter->setText(tr2i18n("Mute other applications during a call", 0)); + groupBox1_recordGeneral->setTitle(tr2i18n("Recording", 0)); + label_destinationFolderd->setText(tr2i18n("Destination folder", 0)); + Q_UNUSED(DlgAudioBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgAudioBase: public Ui_DlgAudioBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGAUDIOBASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlgdisplaybase.h b/sflphone-client-kde/cmake-build/src/ui_dlgdisplaybase.h new file mode 100644 index 0000000000000000000000000000000000000000..3dc94f5b307a8b1df9adc114c0af7a4cea244c46 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlgdisplaybase.h @@ -0,0 +1,139 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlgdisplaybase.ui' +** +** Created: Tue Apr 20 14:19:41 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGDISPLAYBASE_H +#define UI_DLGDISPLAYBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QSpacerItem> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> + +QT_BEGIN_NAMESPACE + +class Ui_DlgDisplayBase +{ +public: + QVBoxLayout *verticalLayout; + QLabel *label1_notifications; + QWidget *widget1_notifications; + QHBoxLayout *horizontalLayout_5; + QCheckBox *kcfg_notifOnCalls; + QCheckBox *kcfg_notifOnMessages; + QLabel *label2_displayMainWindow; + QWidget *widget_displayMainWindow; + QHBoxLayout *horizontalLayout_6; + QCheckBox *kcfg_displayOnStart; + QCheckBox *kcfg_displayOnCalls; + QSpacerItem *verticalSpacer_configDisplay; + + void setupUi(QWidget *DlgDisplayBase) + { + if (DlgDisplayBase->objectName().isEmpty()) + DlgDisplayBase->setObjectName(QString::fromUtf8("DlgDisplayBase")); + DlgDisplayBase->resize(373, 300); + DlgDisplayBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgDisplayBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + label1_notifications = new QLabel(DlgDisplayBase); + label1_notifications->setObjectName(QString::fromUtf8("label1_notifications")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(label1_notifications->sizePolicy().hasHeightForWidth()); + label1_notifications->setSizePolicy(sizePolicy); + + verticalLayout->addWidget(label1_notifications); + + widget1_notifications = new QWidget(DlgDisplayBase); + widget1_notifications->setObjectName(QString::fromUtf8("widget1_notifications")); + sizePolicy.setHeightForWidth(widget1_notifications->sizePolicy().hasHeightForWidth()); + widget1_notifications->setSizePolicy(sizePolicy); + horizontalLayout_5 = new QHBoxLayout(widget1_notifications); + horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5")); + kcfg_notifOnCalls = new QCheckBox(widget1_notifications); + kcfg_notifOnCalls->setObjectName(QString::fromUtf8("kcfg_notifOnCalls")); + + horizontalLayout_5->addWidget(kcfg_notifOnCalls); + + kcfg_notifOnMessages = new QCheckBox(widget1_notifications); + kcfg_notifOnMessages->setObjectName(QString::fromUtf8("kcfg_notifOnMessages")); + + horizontalLayout_5->addWidget(kcfg_notifOnMessages); + + + verticalLayout->addWidget(widget1_notifications); + + label2_displayMainWindow = new QLabel(DlgDisplayBase); + label2_displayMainWindow->setObjectName(QString::fromUtf8("label2_displayMainWindow")); + sizePolicy.setHeightForWidth(label2_displayMainWindow->sizePolicy().hasHeightForWidth()); + label2_displayMainWindow->setSizePolicy(sizePolicy); + + verticalLayout->addWidget(label2_displayMainWindow); + + widget_displayMainWindow = new QWidget(DlgDisplayBase); + widget_displayMainWindow->setObjectName(QString::fromUtf8("widget_displayMainWindow")); + sizePolicy.setHeightForWidth(widget_displayMainWindow->sizePolicy().hasHeightForWidth()); + widget_displayMainWindow->setSizePolicy(sizePolicy); + horizontalLayout_6 = new QHBoxLayout(widget_displayMainWindow); + horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6")); + kcfg_displayOnStart = new QCheckBox(widget_displayMainWindow); + kcfg_displayOnStart->setObjectName(QString::fromUtf8("kcfg_displayOnStart")); + + horizontalLayout_6->addWidget(kcfg_displayOnStart); + + kcfg_displayOnCalls = new QCheckBox(widget_displayMainWindow); + kcfg_displayOnCalls->setObjectName(QString::fromUtf8("kcfg_displayOnCalls")); + + horizontalLayout_6->addWidget(kcfg_displayOnCalls); + + + verticalLayout->addWidget(widget_displayMainWindow); + + verticalSpacer_configDisplay = new QSpacerItem(20, 16777215, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout->addItem(verticalSpacer_configDisplay); + + + retranslateUi(DlgDisplayBase); + + QMetaObject::connectSlotsByName(DlgDisplayBase); + } // setupUi + + void retranslateUi(QWidget *DlgDisplayBase) + { + label1_notifications->setText(tr2i18n("Enable notifications", 0)); + kcfg_notifOnCalls->setText(tr2i18n("On incoming calls", 0)); + kcfg_notifOnMessages->setText(tr2i18n("On messages", 0)); + label2_displayMainWindow->setText(tr2i18n("Show main window", 0)); + kcfg_displayOnStart->setText(tr2i18n("On start", 0)); + kcfg_displayOnCalls->setText(tr2i18n("On incoming calls", 0)); + Q_UNUSED(DlgDisplayBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgDisplayBase: public Ui_DlgDisplayBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGDISPLAYBASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlggeneralbase.h b/sflphone-client-kde/cmake-build/src/ui_dlggeneralbase.h new file mode 100644 index 0000000000000000000000000000000000000000..d1db8bcfe634c7d165d5c31ea894ae414b45b539 --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlggeneralbase.h @@ -0,0 +1,184 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlggeneralbase.ui' +** +** Created: Tue Apr 20 14:19:41 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGGENERALBASE_H +#define UI_DLGGENERALBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QFormLayout> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QSpacerItem> +#include <QtGui/QToolButton> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "knuminput.h" + +QT_BEGIN_NAMESPACE + +class Ui_DlgGeneralBase +{ +public: + QVBoxLayout *verticalLayout; + QGroupBox *groupBox1_history_2; + QVBoxLayout *verticalLayout_21; + QWidget *widget_historyCapacity_2; + QHBoxLayout *horizontalLayout_11; + QCheckBox *kcfg_enableHistory; + KIntSpinBox *kcfg_historyMax; + QLabel *label; + QSpacerItem *horizontalSpacer; + QToolButton *toolButton_historyClear; + QGroupBox *groupBox2_connection_2; + QFormLayout *formLayout_13; + QLabel *label_SIPPort_2; + QWidget *widget_SIPPort_2; + QHBoxLayout *horizontalLayout_9; + KIntSpinBox *kcfg_SIPPort; + QLabel *label_WarningSIPPort; + QSpacerItem *verticalSpacer_configGeneral_2; + + void setupUi(QWidget *DlgGeneralBase) + { + if (DlgGeneralBase->objectName().isEmpty()) + DlgGeneralBase->setObjectName(QString::fromUtf8("DlgGeneralBase")); + DlgGeneralBase->resize(525, 404); + DlgGeneralBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgGeneralBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + groupBox1_history_2 = new QGroupBox(DlgGeneralBase); + groupBox1_history_2->setObjectName(QString::fromUtf8("groupBox1_history_2")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(groupBox1_history_2->sizePolicy().hasHeightForWidth()); + groupBox1_history_2->setSizePolicy(sizePolicy); + verticalLayout_21 = new QVBoxLayout(groupBox1_history_2); + verticalLayout_21->setObjectName(QString::fromUtf8("verticalLayout_21")); + widget_historyCapacity_2 = new QWidget(groupBox1_history_2); + widget_historyCapacity_2->setObjectName(QString::fromUtf8("widget_historyCapacity_2")); + horizontalLayout_11 = new QHBoxLayout(widget_historyCapacity_2); + horizontalLayout_11->setObjectName(QString::fromUtf8("horizontalLayout_11")); + kcfg_enableHistory = new QCheckBox(widget_historyCapacity_2); + kcfg_enableHistory->setObjectName(QString::fromUtf8("kcfg_enableHistory")); + + horizontalLayout_11->addWidget(kcfg_enableHistory); + + kcfg_historyMax = new KIntSpinBox(widget_historyCapacity_2); + kcfg_historyMax->setObjectName(QString::fromUtf8("kcfg_historyMax")); + sizePolicy.setHeightForWidth(kcfg_historyMax->sizePolicy().hasHeightForWidth()); + kcfg_historyMax->setSizePolicy(sizePolicy); + kcfg_historyMax->setMinimum(-8); + + horizontalLayout_11->addWidget(kcfg_historyMax); + + label = new QLabel(widget_historyCapacity_2); + label->setObjectName(QString::fromUtf8("label")); + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(label->sizePolicy().hasHeightForWidth()); + label->setSizePolicy(sizePolicy1); + + horizontalLayout_11->addWidget(label); + + horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_11->addItem(horizontalSpacer); + + + verticalLayout_21->addWidget(widget_historyCapacity_2); + + toolButton_historyClear = new QToolButton(groupBox1_history_2); + toolButton_historyClear->setObjectName(QString::fromUtf8("toolButton_historyClear")); + + verticalLayout_21->addWidget(toolButton_historyClear); + + + verticalLayout->addWidget(groupBox1_history_2); + + groupBox2_connection_2 = new QGroupBox(DlgGeneralBase); + groupBox2_connection_2->setObjectName(QString::fromUtf8("groupBox2_connection_2")); + sizePolicy.setHeightForWidth(groupBox2_connection_2->sizePolicy().hasHeightForWidth()); + groupBox2_connection_2->setSizePolicy(sizePolicy); + formLayout_13 = new QFormLayout(groupBox2_connection_2); + formLayout_13->setObjectName(QString::fromUtf8("formLayout_13")); + formLayout_13->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + label_SIPPort_2 = new QLabel(groupBox2_connection_2); + label_SIPPort_2->setObjectName(QString::fromUtf8("label_SIPPort_2")); + + formLayout_13->setWidget(0, QFormLayout::LabelRole, label_SIPPort_2); + + widget_SIPPort_2 = new QWidget(groupBox2_connection_2); + widget_SIPPort_2->setObjectName(QString::fromUtf8("widget_SIPPort_2")); + widget_SIPPort_2->setMinimumSize(QSize(50, 0)); + horizontalLayout_9 = new QHBoxLayout(widget_SIPPort_2); + horizontalLayout_9->setContentsMargins(0, 0, 0, 0); + horizontalLayout_9->setObjectName(QString::fromUtf8("horizontalLayout_9")); + kcfg_SIPPort = new KIntSpinBox(widget_SIPPort_2); + kcfg_SIPPort->setObjectName(QString::fromUtf8("kcfg_SIPPort")); + + horizontalLayout_9->addWidget(kcfg_SIPPort); + + label_WarningSIPPort = new QLabel(widget_SIPPort_2); + label_WarningSIPPort->setObjectName(QString::fromUtf8("label_WarningSIPPort")); + label_WarningSIPPort->setEnabled(false); + + horizontalLayout_9->addWidget(label_WarningSIPPort); + + + formLayout_13->setWidget(0, QFormLayout::FieldRole, widget_SIPPort_2); + + + verticalLayout->addWidget(groupBox2_connection_2); + + verticalSpacer_configGeneral_2 = new QSpacerItem(504, 171, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout->addItem(verticalSpacer_configGeneral_2); + +#ifndef UI_QT_NO_SHORTCUT + label_SIPPort_2->setBuddy(kcfg_SIPPort); +#endif // QT_NO_SHORTCUT + + retranslateUi(DlgGeneralBase); + + QMetaObject::connectSlotsByName(DlgGeneralBase); + } // setupUi + + void retranslateUi(QWidget *DlgGeneralBase) + { + groupBox1_history_2->setTitle(tr2i18n("Call history", 0)); + kcfg_enableHistory->setText(tr2i18n("Keep my history for at least", 0)); + label->setText(tr2i18n("days", 0)); + toolButton_historyClear->setText(tr2i18n("Clear history", 0)); + groupBox2_connection_2->setTitle(tr2i18n("Connection", 0)); + label_SIPPort_2->setText(tr2i18n("SIP Port", 0)); + label_WarningSIPPort->setText(QString()); + Q_UNUSED(DlgGeneralBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgGeneralBase: public Ui_DlgGeneralBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGGENERALBASE_H + diff --git a/sflphone-client-kde/cmake-build/src/ui_dlghooksbase.h b/sflphone-client-kde/cmake-build/src/ui_dlghooksbase.h new file mode 100644 index 0000000000000000000000000000000000000000..8bfd52bfa7a80e99a6b13ae261e7908c7d51136d --- /dev/null +++ b/sflphone-client-kde/cmake-build/src/ui_dlghooksbase.h @@ -0,0 +1,200 @@ +#include <kdialog.h> +#include <klocale.h> + +/******************************************************************************** +** Form generated from reading UI file 'dlghooksbase.ui' +** +** Created: Tue Apr 20 14:19:42 2010 +** by: Qt User Interface Compiler version 4.6.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_DLGHOOKSBASE_H +#define UI_DLGHOOKSBASE_H + +#include <QtCore/QVariant> +#include <QtGui/QAction> +#include <QtGui/QApplication> +#include <QtGui/QButtonGroup> +#include <QtGui/QCheckBox> +#include <QtGui/QGroupBox> +#include <QtGui/QHBoxLayout> +#include <QtGui/QHeaderView> +#include <QtGui/QLabel> +#include <QtGui/QLineEdit> +#include <QtGui/QSpacerItem> +#include <QtGui/QVBoxLayout> +#include <QtGui/QWidget> +#include "klineedit.h" + +QT_BEGIN_NAMESPACE + +class Ui_DlgHooksBase +{ +public: + QVBoxLayout *verticalLayout; + QGroupBox *groupBox_urlArgument; + QVBoxLayout *verticalLayout_12; + QLabel *label; + QWidget *widget_protocols; + QHBoxLayout *horizontalLayout_8; + QCheckBox *kcfg_enableHooksSIP; + QLineEdit *kcfg_hooksSIPHeader; + QCheckBox *kcfg_enableHooksIAX; + QWidget *widget_urlArgumentForm; + QHBoxLayout *horizontalLayout; + QLabel *label_command; + KLineEdit *kcfg_hooksCommand; + QLabel *label_2; + QGroupBox *groupBox_phoneNumberFormatting; + QVBoxLayout *verticalLayout_13; + QWidget *widget_phoneNumberFormattingForm; + QHBoxLayout *horizontalLayout_2; + QCheckBox *kcfg_addPrefix; + KLineEdit *kcfg_prepend; + QSpacerItem *verticalSpacer_configHooks; + + void setupUi(QWidget *DlgHooksBase) + { + if (DlgHooksBase->objectName().isEmpty()) + DlgHooksBase->setObjectName(QString::fromUtf8("DlgHooksBase")); + DlgHooksBase->resize(520, 407); + DlgHooksBase->setWindowTitle(QString::fromUtf8("Form")); + verticalLayout = new QVBoxLayout(DlgHooksBase); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + groupBox_urlArgument = new QGroupBox(DlgHooksBase); + groupBox_urlArgument->setObjectName(QString::fromUtf8("groupBox_urlArgument")); + verticalLayout_12 = new QVBoxLayout(groupBox_urlArgument); + verticalLayout_12->setObjectName(QString::fromUtf8("verticalLayout_12")); + label = new QLabel(groupBox_urlArgument); + label->setObjectName(QString::fromUtf8("label")); + label->setWordWrap(true); + + verticalLayout_12->addWidget(label); + + widget_protocols = new QWidget(groupBox_urlArgument); + widget_protocols->setObjectName(QString::fromUtf8("widget_protocols")); + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(widget_protocols->sizePolicy().hasHeightForWidth()); + widget_protocols->setSizePolicy(sizePolicy); + widget_protocols->setMinimumSize(QSize(0, 0)); + horizontalLayout_8 = new QHBoxLayout(widget_protocols); + horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8")); + horizontalLayout_8->setContentsMargins(0, 4, 4, 4); + kcfg_enableHooksSIP = new QCheckBox(widget_protocols); + kcfg_enableHooksSIP->setObjectName(QString::fromUtf8("kcfg_enableHooksSIP")); + + horizontalLayout_8->addWidget(kcfg_enableHooksSIP); + + kcfg_hooksSIPHeader = new QLineEdit(widget_protocols); + kcfg_hooksSIPHeader->setObjectName(QString::fromUtf8("kcfg_hooksSIPHeader")); + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(kcfg_hooksSIPHeader->sizePolicy().hasHeightForWidth()); + kcfg_hooksSIPHeader->setSizePolicy(sizePolicy1); + + horizontalLayout_8->addWidget(kcfg_hooksSIPHeader); + + + verticalLayout_12->addWidget(widget_protocols); + + kcfg_enableHooksIAX = new QCheckBox(groupBox_urlArgument); + kcfg_enableHooksIAX->setObjectName(QString::fromUtf8("kcfg_enableHooksIAX")); + + verticalLayout_12->addWidget(kcfg_enableHooksIAX); + + widget_urlArgumentForm = new QWidget(groupBox_urlArgument); + widget_urlArgumentForm->setObjectName(QString::fromUtf8("widget_urlArgumentForm")); + horizontalLayout = new QHBoxLayout(widget_urlArgumentForm); + horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); + horizontalLayout->setContentsMargins(0, 4, 4, 4); + label_command = new QLabel(widget_urlArgumentForm); + label_command->setObjectName(QString::fromUtf8("label_command")); + + horizontalLayout->addWidget(label_command); + + kcfg_hooksCommand = new KLineEdit(widget_urlArgumentForm); + kcfg_hooksCommand->setObjectName(QString::fromUtf8("kcfg_hooksCommand")); + sizePolicy1.setHeightForWidth(kcfg_hooksCommand->sizePolicy().hasHeightForWidth()); + kcfg_hooksCommand->setSizePolicy(sizePolicy1); + + horizontalLayout->addWidget(kcfg_hooksCommand); + + + verticalLayout_12->addWidget(widget_urlArgumentForm); + + label_2 = new QLabel(groupBox_urlArgument); + label_2->setObjectName(QString::fromUtf8("label_2")); + + verticalLayout_12->addWidget(label_2); + + + verticalLayout->addWidget(groupBox_urlArgument); + + groupBox_phoneNumberFormatting = new QGroupBox(DlgHooksBase); + groupBox_phoneNumberFormatting->setObjectName(QString::fromUtf8("groupBox_phoneNumberFormatting")); + verticalLayout_13 = new QVBoxLayout(groupBox_phoneNumberFormatting); + verticalLayout_13->setObjectName(QString::fromUtf8("verticalLayout_13")); + widget_phoneNumberFormattingForm = new QWidget(groupBox_phoneNumberFormatting); + widget_phoneNumberFormattingForm->setObjectName(QString::fromUtf8("widget_phoneNumberFormattingForm")); + horizontalLayout_2 = new QHBoxLayout(widget_phoneNumberFormattingForm); + horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); + horizontalLayout_2->setContentsMargins(0, 4, 4, 4); + kcfg_addPrefix = new QCheckBox(widget_phoneNumberFormattingForm); + kcfg_addPrefix->setObjectName(QString::fromUtf8("kcfg_addPrefix")); + + horizontalLayout_2->addWidget(kcfg_addPrefix); + + kcfg_prepend = new KLineEdit(widget_phoneNumberFormattingForm); + kcfg_prepend->setObjectName(QString::fromUtf8("kcfg_prepend")); + sizePolicy1.setHeightForWidth(kcfg_prepend->sizePolicy().hasHeightForWidth()); + kcfg_prepend->setSizePolicy(sizePolicy1); + + horizontalLayout_2->addWidget(kcfg_prepend); + + + verticalLayout_13->addWidget(widget_phoneNumberFormattingForm); + + + verticalLayout->addWidget(groupBox_phoneNumberFormatting); + + verticalSpacer_configHooks = new QSpacerItem(499, 96, QSizePolicy::Minimum, QSizePolicy::Expanding); + + verticalLayout->addItem(verticalSpacer_configHooks); + +#ifndef UI_QT_NO_SHORTCUT + label_command->setBuddy(kcfg_hooksCommand); +#endif // QT_NO_SHORTCUT + + retranslateUi(DlgHooksBase); + + QMetaObject::connectSlotsByName(DlgHooksBase); + } // setupUi + + void retranslateUi(QWidget *DlgHooksBase) + { + groupBox_urlArgument->setTitle(tr2i18n("URL Argument", 0)); + label->setText(tr2i18n("Custom commands on incoming calls with URL", 0)); + kcfg_enableHooksSIP->setText(tr2i18n("Trigger on specific SIP header", 0)); + kcfg_enableHooksIAX->setText(tr2i18n("Trigger on IAX2 URL", 0)); + label_command->setText(tr2i18n("Command to run", 0)); + label_2->setText(tr2i18n("%s will be replaced with the passed URL.", 0)); + groupBox_phoneNumberFormatting->setTitle(tr2i18n("Phone number rewriting", 0)); + kcfg_addPrefix->setText(tr2i18n("Prefix dialed numbers with", 0)); + Q_UNUSED(DlgHooksBase); + } // retranslateUi + +}; + +namespace Ui { + class DlgHooksBase: public Ui_DlgHooksBase {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // DLGHOOKSBASE_H + diff --git a/sflphone-client-kde/cmake/FindKabc.cmake b/sflphone-client-kde/cmake/FindKabc.cmake index 59405f2f711cfe9294445382663bc1866818f4dd..ab3431d1105a53fb054c6bc64189660c8df4a775 100644 --- a/sflphone-client-kde/cmake/FindKabc.cmake +++ b/sflphone-client-kde/cmake/FindKabc.cmake @@ -1,5 +1,5 @@ FIND_LIBRARY(KABC_LIBRARY NAMES kabc) -FIND_PATH(KABC_INCLUDE_DIR kabc_export.h /usr/include/kabc /usr/local/include/kabc ) +FIND_PATH(KABC_INCLUDE_DIR kabc_export.h /usr/include/kabc /usr/local/include/kabc $ENV{KDEDIR}/include/kabc ) IF (KABC_INCLUDE_DIR AND KABC_LIBRARY) diff --git a/sflphone-client-kde/config.sh b/sflphone-client-kde/config.sh old mode 100755 new mode 100644 diff --git a/sflphone-client-kde/data/CMakeLists.txt b/sflphone-client-kde/data/CMakeLists.txt index 99e05c78c1279021a50ae6f5353146244484aa83..4155adb86eebd0a387569b2f2383e10180bea5d8 100644 --- a/sflphone-client-kde/data/CMakeLists.txt +++ b/sflphone-client-kde/data/CMakeLists.txt @@ -3,4 +3,5 @@ add_subdirectory(icons) INSTALL( FILES sflphone-client-kde.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) INSTALL( FILES sflphone-client-kdeui.rc DESTINATION ${DATA_INSTALL_DIR}/sflphone-client-kde ) +INSTALL( FILES sflphone-client-kde.notifyrc DESTINATION ${DATA_INSTALL_DIR}/sflphone-client-kde) diff --git a/sflphone-client-kde/data/sflphone-client-kde.notifyrc b/sflphone-client-kde/data/sflphone-client-kde.notifyrc new file mode 100644 index 0000000000000000000000000000000000000000..48ceca1403d13d0a6fa8b020f146da02fc375ab7 --- /dev/null +++ b/sflphone-client-kde/data/sflphone-client-kde.notifyrc @@ -0,0 +1,25 @@ +[Global] +Name=sflphone-client-kde +IconName=sflphone-client-kde +Comment=SFLphone VoIP KDE4 client + +[Event/contact online] +Name=Contact Online +Comment=A contact has come online +Sound= +Action=Sound|Popup + + +[Event/test_notification] +Name=test message +Comment=Test message +Contexts=call +Action=Sound|Popup|Taskbar +Persistant=true +Sound= + +[Event/test_notification2] +Name=test message2 +Comment=Test message2 +Sound=KDE-Im-New-Mail.ogg +Action=None diff --git a/sflphone-client-kde/data/sflphone-client-kdeui.rc b/sflphone-client-kde/data/sflphone-client-kdeui.rc index 4402357f0571e624558ff8a88f7497ed08a03501..9c1a57fe7130ae11d4bc1244ace0508e04ae33b1 100644 --- a/sflphone-client-kde/data/sflphone-client-kdeui.rc +++ b/sflphone-client-kde/data/sflphone-client-kdeui.rc @@ -5,10 +5,8 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0 http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd" > - --> - + --> <gui name="sflphone-client-kde" version="1"> - <MenuBar> <Menu name="Actions" > <text>Actions</text> @@ -38,18 +36,15 @@ </Menu> </MenuBar> - <ToolBar name="callsToolBar" iconText="icononly" position="Top" noMerge="1" fullWidth="true" newline="true" > - <Action name="action_accept" /> - <Action name="action_refuse" /> - <Action name="action_hold" /> - <Action name="action_transfer" /> - <Action name="action_record" /> - <Action name="action_mailBox" /> - </ToolBar> - - <ToolBar name="screenToolBar" iconText="icononly" position="Top" noMerge="1" fullWidth="true" newline="true" > + <ToolBar name="mainToolBar" iconText="icononly" position="Top" noMerge="1" fullWidth="false" newline="true" > + <Action name="action_accept" /> + <Action name="action_mailBox" /> + <Action name="action_refuse" /> + <Action name="action_hold" /> + <Action name="action_transfer" /> + <Action name="action_record" /> <Action name="action_main" /> <Action name="action_history" /> <Action name="action_addressBook" /> </ToolBar> -</gui> \ No newline at end of file +</gui> diff --git a/sflphone-client-kde/man/sflphone-client-kde.1.docbook b/sflphone-client-kde/man/sflphone-client-kde.1.docbook index c676275b815baa14f79a7df9cd53beef61951035..ff0fa5ca504436ae792babddfe2f12b0a30e3612 100644 --- a/sflphone-client-kde/man/sflphone-client-kde.1.docbook +++ b/sflphone-client-kde/man/sflphone-client-kde.1.docbook @@ -44,7 +44,7 @@ sflphone-client-kde is a KDE client for SFLphone; it communicates with the core <refsect1> <title>Bugs</title> -<para>Please report bugs at http://dev.savoirfairelinux.net/sflphone/newticket.</para> +<para>Please report bugs at https://projects.savoirfairelinux.com/projects/sflphone/issues/new.</para> </refsect1> diff --git a/sflphone-client-kde/man/sflphone-client-kde.pod b/sflphone-client-kde/man/sflphone-client-kde.pod old mode 100644 new mode 100755 index 9aa07b2e59bc6af6c50a694adcc276ed1fa2c0c1..559160f429bbabf2d079efdc27c29d90241de5cf --- a/sflphone-client-kde/man/sflphone-client-kde.pod +++ b/sflphone-client-kde/man/sflphone-client-kde.pod @@ -14,7 +14,7 @@ B<sflphone-client-kde> is a KDE client for SFLphone; it communicates with the co =head1 BUGS -Please report bugs at http://dev.savoirfairelinux.net/sflphone/newticket. +Please report bugs at https://projects.savoirfairelinux.com/projects/show/sflphone. =head1 AUTHORS diff --git a/sflphone-client-kde/src/Account.cpp b/sflphone-client-kde/src/Account.cpp index 2af4f19a7b4cf50018744a1d1f83a5f037a00cc4..9a4bf289ee9562d72c803f47899dfcf017fbc319 100644 --- a/sflphone-client-kde/src/Account.cpp +++ b/sflphone-client-kde/src/Account.cpp @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -30,25 +30,25 @@ const QString account_state_name(QString & s) { - if(s == QString(ACCOUNT_STATE_REGISTERED)) - return i18n("Registered" ); - if(s == QString(ACCOUNT_STATE_UNREGISTERED)) - return i18n("Not Registered"); - if(s == QString(ACCOUNT_STATE_TRYING)) - return i18n("Trying..."); - if(s == QString(ACCOUNT_STATE_ERROR)) - return i18n("Error"); - if(s == QString(ACCOUNT_STATE_ERROR_AUTH)) - return i18n("Authentication Failed"); - if(s == QString(ACCOUNT_STATE_ERROR_NETWORK)) - return i18n("Network unreachable"); - if(s == QString(ACCOUNT_STATE_ERROR_HOST)) - return i18n("Host unreachable"); - if(s == QString(ACCOUNT_STATE_ERROR_CONF_STUN)) - return i18n("Stun configuration error"); - if(s == QString(ACCOUNT_STATE_ERROR_EXIST_STUN)) - return i18n("Stun server invalid"); - return i18n("Invalid"); + if(s == QString(ACCOUNT_STATE_REGISTERED)) + return i18n("Registered" ); + if(s == QString(ACCOUNT_STATE_UNREGISTERED)) + return i18n("Not Registered"); + if(s == QString(ACCOUNT_STATE_TRYING)) + return i18n("Trying..."); + if(s == QString(ACCOUNT_STATE_ERROR)) + return i18n("Error"); + if(s == QString(ACCOUNT_STATE_ERROR_AUTH)) + return i18n("Authentication Failed"); + if(s == QString(ACCOUNT_STATE_ERROR_NETWORK)) + return i18n("Network unreachable"); + if(s == QString(ACCOUNT_STATE_ERROR_HOST)) + return i18n("Host unreachable"); + if(s == QString(ACCOUNT_STATE_ERROR_CONF_STUN)) + return i18n("Stun configuration error"); + if(s == QString(ACCOUNT_STATE_ERROR_EXIST_STUN)) + return i18n("Stun server invalid"); + return i18n("Invalid"); } //Constructors @@ -60,135 +60,125 @@ Account::Account():accountId(NULL) void Account::initItem() { - if(item != NULL) - { - delete item; - } - item = new QListWidgetItem(); - item->setSizeHint(QSize(140,25)); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsEnabled); - initItemWidget(); + if(item != NULL) + delete item; + item = new QListWidgetItem(); + item->setSizeHint(QSize(140,25)); + item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsEnabled); + initItemWidget(); } void Account::initItemWidget() { - if(itemWidget != NULL) - { - delete itemWidget; - } - bool enabled = getAccountDetail(ACCOUNT_ENABLED) == ACCOUNT_ENABLED_TRUE; - itemWidget = new AccountItemWidget(); - itemWidget->setEnabled(enabled); - itemWidget->setAccountText(getAccountDetail(ACCOUNT_ALIAS)); - if(isNew() || !enabled) - { - itemWidget->setState(AccountItemWidget::Unregistered); - } - else if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { - itemWidget->setState(AccountItemWidget::Registered); - } - else - { - itemWidget->setState(AccountItemWidget::NotWorking); - } - connect(itemWidget, SIGNAL(checkStateChanged(bool)), this, SLOT(setEnabled(bool))); + if(itemWidget != NULL) + delete itemWidget; + + bool enabled = getAccountDetail(ACCOUNT_ENABLED) == ACCOUNT_ENABLED_TRUE; + itemWidget = new AccountItemWidget(); + itemWidget->setEnabled(enabled); + itemWidget->setAccountText(getAccountDetail(ACCOUNT_ALIAS)); + + if(isNew() || !enabled) + itemWidget->setState(AccountItemWidget::Unregistered); + else if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) + itemWidget->setState(AccountItemWidget::Registered); + else + itemWidget->setState(AccountItemWidget::NotWorking); + connect(itemWidget, SIGNAL(checkStateChanged(bool)), this, SLOT(setEnabled(bool))); } Account * Account::buildExistingAccountFromId(QString _accountId) { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - Account * a = new Account(); - a->accountId = new QString(_accountId); - a->accountDetails = new MapStringString( configurationManager.getAccountDetails(_accountId).value() ); - a->initItem(); - return a; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + Account * a = new Account(); + a->accountId = new QString(_accountId); + a->accountDetails = new MapStringString( configurationManager.getAccountDetails(_accountId).value() ); + a->initItem(); + return a; } Account * Account::buildNewAccountFromAlias(QString alias) { - Account * a = new Account(); - a->accountDetails = new MapStringString(); - a->setAccountDetail(ACCOUNT_ALIAS,alias); - a->initItem(); - return a; + Account * a = new Account(); + a->accountDetails = new MapStringString(); + a->setAccountDetail(ACCOUNT_ALIAS,alias); + a->initItem(); + return a; } Account::~Account() { - delete accountId; - delete accountDetails; - delete item; + delete accountId; + delete accountDetails; + delete item; } //Getters bool Account::isNew() const { - return (accountId == NULL); + return (accountId == NULL); } bool Account::isChecked() const { - return itemWidget->getEnabled(); + return itemWidget->getEnabled(); } const QString & Account::getAccountId() const { - if (isNew()) - { - qDebug() << "Error : getting AccountId of a new account."; - } - return *accountId; + if (isNew()) + qDebug() << "Error : getting AccountId of a new account."; + return *accountId; } MapStringString & Account::getAccountDetails() const { - return *accountDetails; + return *accountDetails; } QListWidgetItem * Account::getItem() { - return item; + return item; } AccountItemWidget * Account::getItemWidget() { - return itemWidget; + return itemWidget; } QString Account::getStateName(QString & state) { - return account_state_name(state); + return account_state_name(state); } QColor Account::getStateColor() { - if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_UNREGISTERED) - { return Qt::black; } - if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { return Qt::darkGreen; } - return Qt::red; + if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_UNREGISTERED) + return Qt::black; + if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) + return Qt::darkGreen; + return Qt::red; } QString Account::getStateColorName() { - if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_UNREGISTERED) - { return "black"; } - if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { return "darkGreen"; } - return "red"; + if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_UNREGISTERED) + return "black"; + if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) + return "darkGreen"; + return "red"; } QString Account::getAccountDetail(QString param) const { - return (*accountDetails)[param]; + return (*accountDetails)[param]; } QString Account::getAlias() const { - return getAccountDetail(ACCOUNT_ALIAS); + return getAccountDetail(ACCOUNT_ALIAS); } @@ -196,70 +186,67 @@ QString Account::getAlias() const void Account::setAccountDetails(MapStringString m) { - *accountDetails = m; + *accountDetails = m; } void Account::setAccountDetail(QString param, QString val) { - (*accountDetails)[param] = val; + (*accountDetails)[param] = val; } void Account::setAccountId(QString id) { - qDebug() << "accountId = " << accountId; - if (! isNew()) - { - qDebug() << "Error : setting AccountId of an existing account."; - } - accountId = new QString(id); + qDebug() << "accountId = " << accountId; + if (! isNew()) + qDebug() << "Error : setting AccountId of an existing account."; + accountId = new QString(id); } void Account::setEnabled(bool checked) { - qDebug() << "setEnabled = " << checked; - setAccountDetail(ACCOUNT_ENABLED, checked ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); + setAccountDetail(ACCOUNT_ENABLED, checked ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); } bool Account::isEnabled() const { - return (getAccountDetail(ACCOUNT_ENABLED) == ACCOUNT_ENABLED_TRUE); + qDebug() << "isEnabled = " << getAccountDetail(ACCOUNT_ENABLED); + return (getAccountDetail(ACCOUNT_ENABLED) == ACCOUNT_ENABLED_TRUE); } bool Account::isRegistered() const { - return (getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED); + qDebug() << "isRegistered = " << getAccountDetail(ACCOUNT_STATUS); + return (getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED); } void Account::updateState() { - qDebug() << "updateState"; - if(! isNew()) - { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - MapStringString details = configurationManager.getAccountDetails(getAccountId()).value(); - AccountItemWidget * itemWidget = getItemWidget(); - QString status = details[ACCOUNT_STATUS]; - setAccountDetail(ACCOUNT_STATUS, status); - if(getAccountDetail(ACCOUNT_ENABLED) != ACCOUNT_ENABLED_TRUE ) - { - qDebug() << "itemWidget->setState(AccountItemWidget::Unregistered);"; - itemWidget->setState(AccountItemWidget::Unregistered); - } - else if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { - qDebug() << "itemWidget->setState(AccountItemWidget::Registered);"; - itemWidget->setState(AccountItemWidget::Registered); - } - else - { - qDebug() << "itemWidget->setState(AccountItemWidget::NotWorking);"; - itemWidget->setState(AccountItemWidget::NotWorking); - } - } + qDebug() << "updateState"; + if(! isNew()) { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + MapStringString details = configurationManager.getAccountDetails(getAccountId()).value(); + AccountItemWidget * itemWidget = getItemWidget(); + QString status = details[ACCOUNT_STATUS]; + setAccountDetail(ACCOUNT_STATUS, status); + if(getAccountDetail(ACCOUNT_ENABLED) != ACCOUNT_ENABLED_TRUE ) { + qDebug() << "itemWidget->setState(AccountItemWidget::Unregistered);"; + itemWidget->setState(AccountItemWidget::Unregistered); + } + else if(getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) { + qDebug() << "itemWidget->setState(AccountItemWidget::Registered);"; + itemWidget->setState(AccountItemWidget::Registered); + } + else { + qDebug() << "itemWidget->setState(AccountItemWidget::NotWorking);"; + itemWidget->setState(AccountItemWidget::NotWorking); + } + } } //Operators bool Account::operator==(const Account& a)const { - return *accountId == *a.accountId; + return *accountId == *a.accountId; } + + diff --git a/sflphone-client-kde/src/Account.h b/sflphone-client-kde/src/Account.h index 8760c9e6b055dff7537e591396e38329bdae9df2..57edac8f630331b97ba3d8b763b85673ce3df87c 100644 --- a/sflphone-client-kde/src/Account.h +++ b/sflphone-client-kde/src/Account.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -36,54 +36,54 @@ class Account : public QObject, public Item<AccountItemWidget>{ Q_OBJECT private: - QString * accountId; - MapStringString * accountDetails; -// QListWidgetItem * item; -// AccountItemWidget * itemWidget; + QString * accountId; + MapStringString * accountDetails; +// QListWidgetItem * item; +// AccountItemWidget * itemWidget; - Account(); + Account(); public: - - ~Account(); - - //Constructors - static Account * buildExistingAccountFromId(QString _accountId); - static Account * buildNewAccountFromAlias(QString alias); - - //Getters - bool isNew() const; - bool isChecked() const; - const QString & getAccountId() const; - MapStringString & getAccountDetails() const; - QListWidgetItem * getItem(); - AccountItemWidget * getItemWidget(); - QString getStateName(QString & state); - QColor getStateColor(); - QString getStateColorName(); - QString getAccountDetail(QString param) const; - QString getAlias() const; - bool isEnabled() const; - bool isRegistered() const; - - //Setters - void setAccountId(QString id); - void setAccountDetails(MapStringString m); - void setAccountDetail(QString param, QString val); - - //Updates - void initItem(); - void initItemWidget(); - void updateState(); - - //Operators - bool operator==(const Account&)const; - + + ~Account(); + + //Constructors + static Account * buildExistingAccountFromId(QString _accountId); + static Account * buildNewAccountFromAlias(QString alias); + + //Getters + bool isNew() const; + bool isChecked() const; + const QString & getAccountId() const; + MapStringString & getAccountDetails() const; + QListWidgetItem * getItem(); + AccountItemWidget * getItemWidget(); + QString getStateName(QString & state); + QColor getStateColor(); + QString getStateColorName(); + QString getAccountDetail(QString param) const; + QString getAlias() const; + bool isEnabled() const; + bool isRegistered() const; + + //Setters + void setAccountId(QString id); + void setAccountDetails(MapStringString m); + void setAccountDetail(QString param, QString val); + + //Updates + void initItem(); + void initItemWidget(); + void updateState(); + + //Operators + bool operator==(const Account&)const; + public slots: - void setEnabled(bool checked); - - - + void setEnabled(bool checked); + + + }; diff --git a/sflphone-client-kde/src/AccountItemWidget.cpp b/sflphone-client-kde/src/AccountItemWidget.cpp index 1f57e83dd35ff999b3f1d5e4a1c173311dff3b7f..cd7fae14c44c345b5ab8e94e443e69fd78cab74e 100644 --- a/sflphone-client-kde/src/AccountItemWidget.cpp +++ b/sflphone-client-kde/src/AccountItemWidget.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -29,88 +29,87 @@ AccountItemWidget::AccountItemWidget(QWidget *parent) : QWidget(parent) { - checkBox = new QCheckBox(this); - checkBox->setObjectName("checkBox"); - led = new QLabel(); - led->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); - textLabel = new QLabel(); - - QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); - QHBoxLayout* hlayout = new QHBoxLayout(); - hlayout->setContentsMargins(0,0,0,0); - hlayout->addWidget(checkBox); - hlayout->addWidget(textLabel); - hlayout->addItem(horizontalSpacer); - hlayout->addWidget(led); - this->setLayout(hlayout); - state = Unregistered; - enabled = false; - updateDisplay(); - - QMetaObject::connectSlotsByName(this); + checkBox = new QCheckBox(this); + checkBox->setObjectName("checkBox"); + led = new QLabel(); + led->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); + textLabel = new QLabel(); + + QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); + QHBoxLayout* hlayout = new QHBoxLayout(); + hlayout->setContentsMargins(0,0,0,0); + hlayout->addWidget(checkBox); + hlayout->addWidget(textLabel); + hlayout->addItem(horizontalSpacer); + hlayout->addWidget(led); + this->setLayout(hlayout); + state = Unregistered; + enabled = false; + updateDisplay(); + + QMetaObject::connectSlotsByName(this); } AccountItemWidget::~AccountItemWidget() { - delete led; - delete checkBox; - delete textLabel; + delete led; + delete checkBox; + delete textLabel; } void AccountItemWidget::updateStateDisplay() { - switch(state) - { - case Registered: - led->setPixmap(QPixmap(ICON_ACCOUNT_LED_GREEN)); - break; - case Unregistered: - led->setPixmap(QPixmap(ICON_ACCOUNT_LED_GRAY)); - break; - case NotWorking: - led->setPixmap(QPixmap(ICON_ACCOUNT_LED_RED)); - break; - default: - qDebug() << "Calling AccountItemWidget::setState with value " << state << ", not part of enum AccountItemWidget::State."; - } + switch(state) { + case Registered: + led->setPixmap(QPixmap(ICON_ACCOUNT_LED_GREEN)); + break; + case Unregistered: + led->setPixmap(QPixmap(ICON_ACCOUNT_LED_GRAY)); + break; + case NotWorking: + led->setPixmap(QPixmap(ICON_ACCOUNT_LED_RED)); + break; + default: + qDebug() << "Calling AccountItemWidget::setState with value " << state << ", not part of enum AccountItemWidget::State."; + } } - + void AccountItemWidget::updateEnabledDisplay() { - checkBox->setCheckState(enabled ? Qt::Checked : Qt::Unchecked); + checkBox->setCheckState(enabled ? Qt::Checked : Qt::Unchecked); } - + void AccountItemWidget::updateDisplay() { - updateStateDisplay(); - updateEnabledDisplay(); + updateStateDisplay(); + updateEnabledDisplay(); } void AccountItemWidget::setState(int state) { - this->state = state; - updateStateDisplay(); + this->state = state; + updateStateDisplay(); } void AccountItemWidget::setEnabled(bool enabled) { - this->enabled = enabled; - updateEnabledDisplay(); + this->enabled = enabled; + updateEnabledDisplay(); } void AccountItemWidget::setAccountText(QString text) { - this->textLabel->setText(text); + this->textLabel->setText(text); } - + bool AccountItemWidget::getEnabled() { - return checkBox->checkState(); + return checkBox->checkState(); } void AccountItemWidget::on_checkBox_stateChanged(int state) { - emit checkStateChanged(state == Qt::Checked); + emit checkStateChanged(state == Qt::Checked); } diff --git a/sflphone-client-kde/src/AccountItemWidget.h b/sflphone-client-kde/src/AccountItemWidget.h index 60055a3e5b09728a0bc886d9c152eecaee791294..9985411f42f96b192e09c3326e92ac16e568542d 100644 --- a/sflphone-client-kde/src/AccountItemWidget.h +++ b/sflphone-client-kde/src/AccountItemWidget.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,7 +28,7 @@ #include <kled.h> /** - @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> + @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> */ class AccountItemWidget : public QWidget { @@ -36,40 +36,40 @@ Q_OBJECT private: - int state; - bool enabled; - QLabel * led; - QCheckBox * checkBox; - QLabel * textLabel; + int state; + bool enabled; + QLabel * led; + QCheckBox * checkBox; + QLabel * textLabel; public: - enum State {Registered, Unregistered, NotWorking}; + enum State {Registered, Unregistered, NotWorking}; - //Constructors & Destructors - AccountItemWidget(QWidget *parent = 0); - ~AccountItemWidget(); + //Constructors & Destructors + AccountItemWidget(QWidget *parent = 0); + ~AccountItemWidget(); - //Getters - int getState(); - bool getEnabled(); - - //Setters - void setState(int state); - void setEnabled(bool enabled); - void setAccountText(QString text); - - //Updates - void updateStateDisplay(); - void updateEnabledDisplay(); - void updateDisplay(); - -private slots: - void on_checkBox_stateChanged(int state); - - + //Getters + int getState(); + bool getEnabled(); + + //Setters + void setState(int state); + void setEnabled(bool enabled); + void setAccountText(QString text); + + //Updates + void updateStateDisplay(); + void updateEnabledDisplay(); + void updateDisplay(); + +private slots: + void on_checkBox_stateChanged(int state); + + signals: - void checkStateChanged(bool checked); + void checkStateChanged(bool checked); }; diff --git a/sflphone-client-kde/src/AccountList.cpp b/sflphone-client-kde/src/AccountList.cpp index 4add67625c13ee31e1b43532bf4b48f5d13ec5cd..2475f3ebe61d31644d8b3af3673cc5a04500d521 100644 --- a/sflphone-client-kde/src/AccountList.cpp +++ b/sflphone-client-kde/src/AccountList.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -29,204 +29,198 @@ AccountList::AccountList(QStringList & _accountIds) { -// firstAccount = QString(); - accounts = new QVector<Account *>(); - for (int i = 0; i < _accountIds.size(); ++i){ - (*accounts) += Account::buildExistingAccountFromId(_accountIds[i]); - } +// firstAccount = QString(); + accounts = new QVector<Account *>(); + for (int i = 0; i < _accountIds.size(); ++i) { + (*accounts) += Account::buildExistingAccountFromId(_accountIds[i]); + } + } AccountList::AccountList(bool fill) { - accounts = new QVector<Account *>(); - if(fill) - { - updateAccounts(); - } + accounts = new QVector<Account *>(); + if(fill) + updateAccounts(); } void AccountList::update() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - Account * current; - for (int i = 0; i < accounts->size(); i++){ - current = (*accounts)[i]; - if (!(*accounts)[i]->isNew()) - removeAccount(current); - } - //ask for the list of accounts ids to the configurationManager - QStringList accountIds = configurationManager.getAccountList().value(); - for (int i = 0; i < accountIds.size(); ++i){ - accounts->insert(i, Account::buildExistingAccountFromId(accountIds[i])); - } + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + Account * current; + for (int i = 0; i < accounts->size(); i++) { + current = (*accounts)[i]; + if (!(*accounts)[i]->isNew()) + removeAccount(current); + } + //ask for the list of accounts ids to the configurationManager + QStringList accountIds = configurationManager.getAccountList().value(); + for (int i = 0; i < accountIds.size(); ++i) { + accounts->insert(i, Account::buildExistingAccountFromId(accountIds[i])); + } } void AccountList::updateAccounts() { - qDebug() << "updateAccounts"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList accountIds = configurationManager.getAccountList().value(); - accounts->clear(); - for (int i = 0; i < accountIds.size(); ++i){ - (*accounts) += Account::buildExistingAccountFromId(accountIds[i]); - } - emit accountListUpdated(); + qDebug() << "updateAccounts"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList accountIds = configurationManager.getAccountList().value(); + accounts->clear(); + for (int i = 0; i < accountIds.size(); ++i) { + (*accounts) += Account::buildExistingAccountFromId(accountIds[i]); + } + emit accountListUpdated(); } void AccountList::upAccount(int index) { - if(index <= 0 || index >= size()) - { - qDebug() << "Error : index or future index out of range in upAccount."; - return; - } - Account * account = getAccountAt(index); - accounts->remove(index); - accounts->insert(index - 1, account); + if(index <= 0 || index >= size()) { + qDebug() << "Error : index or future index out of range in upAccount."; + return; + } + Account * account = getAccountAt(index); + accounts->remove(index); + accounts->insert(index - 1, account); } void AccountList::downAccount(int index) { - if(index < 0 || index >= size() - 1) - { - qDebug() << "Error : index or future index out of range in upAccount."; - return; - } - Account * account = getAccountAt(index); - accounts->remove(index); - accounts->insert(index + 1, account); + if(index < 0 || index >= size() - 1) { + qDebug() << "Error : index or future index out of range in upAccount."; + return; + } + Account * account = getAccountAt(index); + accounts->remove(index); + accounts->insert(index + 1, account); } QString AccountList::getOrderedList() const { - QString order; - for( int i = 0 ; i < size() ; i++) - { - order += getAccountAt(i)->getAccountId() + "/"; - } - return order; + QString order; + for( int i = 0 ; i < size() ; i++) { + order += getAccountAt(i)->getAccountId() + "/"; + } + return order; } QVector<Account *> AccountList::registeredAccounts() const { - qDebug() << "registeredAccounts"; - QVector<Account *> registeredAccounts; - Account * current; - for (int i = 0; i < accounts->count(); ++i){ - current = (*accounts)[i]; - if(current->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { - qDebug() << current->getAlias() << " : " << current; - registeredAccounts.append(current); - } - } - return registeredAccounts; + qDebug() << "registeredAccounts"; + QVector<Account *> registeredAccounts; + Account * current; + for (int i = 0; i < accounts->count(); ++i) { + current = (*accounts)[i]; + if(current->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) { + qDebug() << current->getAlias() << " : " << current; + registeredAccounts.append(current); + } + } + return registeredAccounts; } Account * AccountList::firstRegisteredAccount() const { - Account * current; - for (int i = 0; i < accounts->count(); ++i){ - current = (*accounts)[i]; - if(current->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) - { - return current; - } - } - return NULL; + Account * current; + for (int i = 0; i < accounts->count(); ++i) { + current = (*accounts)[i]; + if(current->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED) + { + return current; + } + } + return NULL; } AccountList::~AccountList() { - delete accounts; + delete accounts; } //Getters QVector<Account *> & AccountList::getAccounts() { - return *accounts; + return *accounts; } const Account * AccountList::getAccountAt (int i) const { - return (*accounts)[i]; + return (*accounts)[i]; } Account * AccountList::getAccountAt (int i) { - return (*accounts)[i]; + return (*accounts)[i]; } Account * AccountList::getAccountById(const QString & id) const { - if(id.isEmpty()) - { return NULL; } - for (int i = 0; i < accounts->size(); ++i) - { - if (!(*accounts)[i]->isNew() && (*accounts)[i]->getAccountId() == id) - { - return (*accounts)[i]; - } - } - return NULL; + if(id.isEmpty()) + return NULL; + for (int i = 0; i < accounts->size(); ++i) { + if (!(*accounts)[i]->isNew() && (*accounts)[i]->getAccountId() == id) + return (*accounts)[i]; + } + return NULL; } QVector<Account *> AccountList::getAccountByState(QString & state) { - QVector<Account *> v; - for (int i = 0; i < accounts->size(); ++i){ - if ((*accounts)[i]->getAccountDetail(ACCOUNT_STATUS) == state) - v += (*accounts)[i]; - } - return v; + QVector<Account *> v; + for (int i = 0; i < accounts->size(); ++i) { + if ((*accounts)[i]->getAccountDetail(ACCOUNT_STATUS) == state) + v += (*accounts)[i]; + } + return v; } Account * AccountList::getAccountByItem(QListWidgetItem * item) { - for (int i = 0; i < accounts->size(); ++i){ - if ( (*accounts)[i]->getItem() == item) - return (*accounts)[i]; - } - return NULL; + for (int i = 0; i < accounts->size(); ++i) { + if ( (*accounts)[i]->getItem() == item) + return (*accounts)[i]; + } + return NULL; } int AccountList::size() const { - return accounts->size(); + return accounts->size(); } //Setters Account * AccountList::addAccount(QString & alias) { - Account * a = Account::buildNewAccountFromAlias(alias); - (*accounts) += a; - return a; + Account * a = Account::buildNewAccountFromAlias(alias); + (*accounts) += a; + return a; } void AccountList::removeAccount(QListWidgetItem * item) { - if(!item) {qDebug() << "Attempting to remove an account from a NULL item."; return; } + if(!item) + qDebug() << "Attempting to remove an account from a NULL item."; return; - Account * a = getAccountByItem(item); - if(!a) {qDebug() << "Attempting to remove an unexisting account."; return; } + Account * a = getAccountByItem(item); + if(!a) + qDebug() << "Attempting to remove an unexisting account."; return; - accounts->remove(accounts->indexOf(a)); + accounts->remove(accounts->indexOf(a)); } void AccountList::removeAccount(Account * account) { - accounts->remove(accounts->indexOf(account)); + accounts->remove(accounts->indexOf(account)); } const Account * AccountList::operator[] (int i) const { - return (*accounts)[i]; + return (*accounts)[i]; } Account * AccountList::operator[] (int i) { - return (*accounts)[i]; + return (*accounts)[i]; } diff --git a/sflphone-client-kde/src/AccountList.h b/sflphone-client-kde/src/AccountList.h index 48032d89a3b3d5253ee7917fac7fdd0dc0abe705..f26c8e6f45fac1c1b1396c2de1bd4f62a42504ea 100644 --- a/sflphone-client-kde/src/AccountList.h +++ b/sflphone-client-kde/src/AccountList.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -29,59 +29,59 @@ class AccountList : public QObject{ - Q_OBJECT - + Q_OBJECT + private: - QVector<Account *> * accounts; + QVector<Account *> * accounts; public: - //Constructors & Destructors - AccountList(QStringList & _accountIds); - /** - * Constructs a new accountList, empty if fill = false - * filled with accounts from configurationManager.getAccountList() if true - * @param fill Whether to fill the list with accounts from configurationManager or not. - */ - AccountList(bool fill = true); - ~AccountList(); - - //Getters - QVector<Account *> & getAccounts(); - Account * getAccountAt (int i); - const Account * getAccountAt (int i) const; - Account * getAccountById(const QString & id) const; - QVector<Account *> getAccountByState(QString & state); - Account * getAccountByItem(QListWidgetItem * item); - int size() const; - Account * firstRegisteredAccount() const; - QString getOrderedList() const; - - //Setters - Account * addAccount(QString & alias); - void removeAccount(Account * account); - void removeAccount(QListWidgetItem * item); - void upAccount(int index); - void downAccount(int index); + //Constructors & Destructors + AccountList(QStringList & _accountIds); + /** + * Constructs a new accountList, empty if fill = false + * filled with accounts from configurationManager.getAccountList() if true + * @param fill Whether to fill the list with accounts from configurationManager or not. + */ + AccountList(bool fill = true); + ~AccountList(); + + //Getters + QVector<Account *> & getAccounts(); + Account * getAccountAt (int i); + const Account * getAccountAt (int i) const; + Account * getAccountById(const QString & id) const; + QVector<Account *> getAccountByState(QString & state); + Account * getAccountByItem(QListWidgetItem * item); + int size() const; + Account * firstRegisteredAccount() const; + QString getOrderedList() const; + + //Setters + Account * addAccount(QString & alias); + void removeAccount(Account * account); + void removeAccount(QListWidgetItem * item); + void upAccount(int index); + void downAccount(int index); - //Operators - Account * operator[] (int i); - const Account * operator[] (int i) const; - QVector<Account *> registeredAccounts() const; - -public slots: - /** - * updates the list of accounts (removed, added, order...) with the configurationManager's list - */ - void update(); - /** - * updates the list and the details of accounts with the configurationManager's list - */ - void updateAccounts(); - + //Operators + Account * operator[] (int i); + const Account * operator[] (int i) const; + QVector<Account *> registeredAccounts() const; + +public slots: + /** + * updates the list of accounts (removed, added, order...) with the configurationManager's list + */ + void update(); + /** + * updates the list and the details of accounts with the configurationManager's list + */ + void updateAccounts(); + signals: - void accountListUpdated(); + void accountListUpdated(); }; diff --git a/sflphone-client-kde/src/AccountListModel.cpp b/sflphone-client-kde/src/AccountListModel.cpp index 3b83ffe11e1053895acc4094423b5bf504d4a84c..0a1448a2bd6a8cf17bd140f930fe6f358c629194 100644 --- a/sflphone-client-kde/src/AccountListModel.cpp +++ b/sflphone-client-kde/src/AccountListModel.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,7 +26,7 @@ AccountListModel::AccountListModel(QObject *parent) : QAbstractListModel(parent) { - this->accounts = new AccountList(); + this->accounts = new AccountList(); } @@ -36,104 +36,88 @@ AccountListModel::~AccountListModel() QVariant AccountListModel::data ( const QModelIndex & index, int role) const { - if (!index.isValid() || index.row() < 0 || index.row() >= rowCount()) - return QVariant(); - - const Account * account = (*accounts)[index.row()]; - if(index.column() == 0 && role == Qt::DisplayRole) - { - return QVariant(account->getAlias()); - } - else if(index.column() == 0 && role == Qt::CheckStateRole) - { - return QVariant(account->isEnabled() ? Qt::Checked : Qt::Unchecked); - } - else if(index.column() == 0 && role == Qt::DecorationRole) - { - if(! account->isEnabled()) - { - return QVariant(QIcon(ICON_ACCOUNT_LED_GRAY)); - } - else if(account->isRegistered()) - { - return QVariant(QIcon(ICON_ACCOUNT_LED_GREEN)); - } - else - { - return QVariant(QIcon(ICON_ACCOUNT_LED_RED)); - } - } - return QVariant(); + if (!index.isValid() || index.row() < 0 || index.row() >= rowCount()) + return QVariant(); + + const Account * account = (*accounts)[index.row()]; + if(index.column() == 0 && role == Qt::DisplayRole) + return QVariant(account->getAlias()); + else if(index.column() == 0 && role == Qt::CheckStateRole) + return QVariant(account->isEnabled() ? Qt::Checked : Qt::Unchecked); + else if(index.column() == 0 && role == Qt::DecorationRole) { + if(! account->isEnabled()) + return QVariant(QIcon(ICON_ACCOUNT_LED_GRAY)); + else if(account->isRegistered()) + return QVariant(QIcon(ICON_ACCOUNT_LED_GREEN)); + else + return QVariant(QIcon(ICON_ACCOUNT_LED_RED)); + } + return QVariant(); } Qt::ItemFlags AccountListModel::flags(const QModelIndex & index) const { - if (index.column() == 0) - { - return QAbstractItemModel::flags(index) | Qt::ItemIsUserCheckable; - } - return QAbstractItemModel::flags(index); + if (index.column() == 0) + return QAbstractItemModel::flags(index) | Qt::ItemIsUserCheckable; + return QAbstractItemModel::flags(index); } bool AccountListModel::setData ( const QModelIndex & index, const QVariant &value, int role) { - qDebug() << "setData"; - if (index.isValid() && index.column() == 0 && role == Qt::CheckStateRole) { - (*accounts)[index.row()]->setEnabled(value.toBool()); - emit dataChanged(index, index); - return true; - } - return false; + qDebug() << "setData"; + if (index.isValid() && index.column() == 0 && role == Qt::CheckStateRole) { + (*accounts)[index.row()]->setEnabled(value.toBool()); + emit dataChanged(index, index); + return true; + } + return false; } bool AccountListModel::accountUp( int index ) { - if(index > 0 && index <= rowCount()) - { - accounts->upAccount(index); - emit dataChanged(this->index(index - 1, 0, QModelIndex()), this->index(index, 0, QModelIndex())); - return true; - } - return false; + if(index > 0 && index <= rowCount()) { + accounts->upAccount(index); + emit dataChanged(this->index(index - 1, 0, QModelIndex()), this->index(index, 0, QModelIndex())); + return true; + } + return false; } bool AccountListModel::accountDown( int index ) { - if(index >= 0 && index < rowCount()) - { - accounts->downAccount(index); - emit dataChanged(this->index(index, 0, QModelIndex()), this->index(index + 1, 0, QModelIndex())); - return true; - } - return false; + if(index >= 0 && index < rowCount()) { + accounts->downAccount(index); + emit dataChanged(this->index(index, 0, QModelIndex()), this->index(index + 1, 0, QModelIndex())); + return true; + } + return false; } bool AccountListModel::removeAccount( int index ) { - if(index >= 0 && index < rowCount()) - { - accounts->removeAccount(accounts->getAccountAt(index)); - emit dataChanged(this->index(index, 0, QModelIndex()), this->index(rowCount(), 0, QModelIndex())); - return true; - } - return false; + if(index >= 0 && index < rowCount()) { + accounts->removeAccount(accounts->getAccountAt(index)); + emit dataChanged(this->index(index, 0, QModelIndex()), this->index(rowCount(), 0, QModelIndex())); + return true; + } + return false; } bool AccountListModel::addAccount( QString alias ) { - accounts->addAccount(alias); - emit dataChanged(this->index(0, 0, QModelIndex()), this->index(rowCount(), 0, QModelIndex())); - return true; + accounts->addAccount(alias); + emit dataChanged(this->index(0, 0, QModelIndex()), this->index(rowCount(), 0, QModelIndex())); + return true; } int AccountListModel::rowCount(const QModelIndex & /*parent*/) const { - return accounts->size(); + return accounts->size(); } QString AccountListModel::getOrderedList() const { - return accounts->getOrderedList(); + return accounts->getOrderedList(); } diff --git a/sflphone-client-kde/src/AccountListModel.h b/sflphone-client-kde/src/AccountListModel.h index dc4a9b40e6267b35b0cedf08db76b0df5a62e780..91ae8ae2d502c082b7d9f1cc5cdd526c7ce5753a 100644 --- a/sflphone-client-kde/src/AccountListModel.h +++ b/sflphone-client-kde/src/AccountListModel.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,34 +26,34 @@ #include "AccountList.h" /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> + @author Jérémy Quentin <jeremy.quentin@gmail.com> */ class AccountListModel : public QAbstractListModel { Q_OBJECT private: - AccountList * accounts; + AccountList * accounts; public: - AccountListModel(QObject *parent = 0); + AccountListModel(QObject *parent = 0); - ~AccountListModel(); - - QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const; - int rowCount(const QModelIndex & parent = QModelIndex()) const; -// int columnCount(const QModelIndex & parent = QModelIndex()) const; -// QVariant headerData(int section , Qt::Orientation orientation, int role) const; - Qt::ItemFlags flags(const QModelIndex & index) const; - virtual bool setData ( const QModelIndex & index, const QVariant &value, int role); - - bool accountUp( int index ); - bool accountDown( int index ); - bool removeAccount( int index ); - bool addAccount( QString alias ); - - QString getOrderedList() const; -// QStringList getActiveCodecList() const ; -// void setActiveCodecList(const QStringList & activeCodecListToSet); + ~AccountListModel(); + + QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const; + int rowCount(const QModelIndex & parent = QModelIndex()) const; +// int columnCount(const QModelIndex & parent = QModelIndex()) const; +// QVariant headerData(int section , Qt::Orientation orientation, int role) const; + Qt::ItemFlags flags(const QModelIndex & index) const; + virtual bool setData ( const QModelIndex & index, const QVariant &value, int role); + + bool accountUp( int index ); + bool accountDown( int index ); + bool removeAccount( int index ); + bool addAccount( QString alias ); + + QString getOrderedList() const; +// QStringList getActiveCodecList() const ; +// void setActiveCodecList(const QStringList & activeCodecListToSet); }; diff --git a/sflphone-client-kde/src/AccountWizard.cpp b/sflphone-client-kde/src/AccountWizard.cpp index 1fdeb85b3a749820e9850ddd100b2980b15a9d16..32d5f66c2de89dad2b07adc901eaa198af6a67eb 100644 --- a/sflphone-client-kde/src/AccountWizard.cpp +++ b/sflphone-client-kde/src/AccountWizard.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,6 +18,7 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include <unistd.h> #include "AccountWizard.h" #include <QVBoxLayout> #include <QFormLayout> @@ -34,13 +35,17 @@ #define FIELD_SIP_ACCOUNT "SIP" #define FIELD_IAX_ACCOUNT "IAX" #define FIELD_EMAIL_ADDRESS "EMAIL_ADDRESS" -#define FIELD_ENABLE_STUN "ENABLE_STUN" -#define FIELD_STUN_SERVER "STUN_SERVER" + #define FIELD_SIP_ALIAS "SIP_ALIAS" #define FIELD_SIP_SERVER "SIP_SERVER" #define FIELD_SIP_USER "SIP_USER" #define FIELD_SIP_PASSWORD "SIP_PASSWORD" #define FIELD_SIP_VOICEMAIL "SIP_VOICEMAIL" +#define FIELD_SIP_ENABLE_STUN "SIP_ENABLE_STUN" +#define FIELD_SIP_STUN_SERVER "SIP_STUN_SERVER" + +#define FIELD_ZRTP_ENABLED "ZRTP_ENABLED" + #define FIELD_IAX_ALIAS "IAX_ALIAS" #define FIELD_IAX_SERVER "IAX_SERVER" #define FIELD_IAX_USER "IAX_USER" @@ -56,93 +61,94 @@ ***************************************************************************/ typedef struct { - bool success; - QString reason; - QString user; - QString passwd; + bool success; + QString reason; + QString user; + QString passwd; } rest_account; -int sendRequest(QString host, int port, QString req, QString & ret) { - - int s; - struct sockaddr_in servSockAddr; - struct hostent *servHostEnt; - long int length=0; - long int status=0; - int i=0; - FILE *f; - char buf[1024]; - - bzero(&servSockAddr, sizeof(servSockAddr)); - servHostEnt = gethostbyname(host.toLatin1()); - if (servHostEnt == NULL) { - ret = "gethostbyname"; - return -1; - } - bcopy((char *)servHostEnt->h_addr, (char *)&servSockAddr.sin_addr, servHostEnt->h_length); - servSockAddr.sin_port = htons(port); - servSockAddr.sin_family = AF_INET; +int sendRequest(QString host, int port, QString req, QString & ret) +{ + int s; + struct sockaddr_in servSockAddr; + struct hostent *servHostEnt; + long int length=0; + long int status=0; + int i=0; + FILE *f; + char buf[1024]; + + bzero(&servSockAddr, sizeof(servSockAddr)); + servHostEnt = gethostbyname(host.toLatin1()); + if (servHostEnt == NULL) { + ret = "gethostbyname"; + return -1; + } + bcopy((char *)servHostEnt->h_addr, (char *)&servSockAddr.sin_addr, servHostEnt->h_length); + servSockAddr.sin_port = htons(port); + servSockAddr.sin_family = AF_INET; - if ((s = socket(AF_INET,SOCK_STREAM,0)) < 0) { - ret = "socket"; - return -1; - } + if ((s = socket(AF_INET,SOCK_STREAM,0)) < 0) { + ret = "socket"; + return -1; + } - if(connect(s, (const struct sockaddr *) &servSockAddr, (socklen_t) sizeof(servSockAddr)) < 0 ) { - perror(NULL); - ret = "connect"; - return -1; - } + if(connect(s, (const struct sockaddr *) &servSockAddr, (socklen_t) sizeof(servSockAddr)) < 0 ) { + perror(NULL); + ret = "connect"; + return -1; + } - f = fdopen(s, "r+"); - - const char * req2 = req.toLatin1(); - const char * host2 = host.toLatin1(); - fprintf(f, "%s HTTP/1.1\r\n", req2); - fprintf(f, "Host: %s\r\n", host2); - fputs("User-Agent: SFLphone\r\n", f); - fputs("\r\n", f); - - while (strncmp(fgets(buf, sizeof(buf), f), "\r\n", 2)) { - const char *len_h = "content-length"; - const char *status_h = "HTTP/1.1"; - if (strncasecmp(buf, len_h, strlen(len_h)) == 0) - length = atoi(buf + strlen(len_h) + 1); - if (strncasecmp(buf, status_h, strlen(status_h)) == 0) - status = atoi(buf + strlen(status_h) + 1); - } - for (i = 0; i < length; i++) - ret[i] = fgetc(f); - - if (status != 200) { - ret = "http error: " + status; -// sprintf(ret, "http error: %ld", status); - return -1; - } - - fclose(f); - shutdown(s, 2); - close(s); - return 0; + f = fdopen(s, "r+"); + + const char * req2 = req.toLatin1(); + const char * host2 = host.toLatin1(); + fprintf(f, "%s HTTP/1.1\r\n", req2); + fprintf(f, "Host: %s\r\n", host2); + fputs("User-Agent: SFLphone\r\n", f); + fputs("\r\n", f); + + while (strncmp(fgets(buf, sizeof(buf), f), "\r\n", 2)) { + const char *len_h = "content-length"; + const char *status_h = "HTTP/1.1"; + if (strncasecmp(buf, len_h, strlen(len_h)) == 0) + length = atoi(buf + strlen(len_h) + 1); + if (strncasecmp(buf, status_h, strlen(status_h)) == 0) + status = atoi(buf + strlen(status_h) + 1); + } + for (i = 0; i < length; i++) + ret[i] = fgetc(f); + + if (status != 200) { + ret = "http error: " + status; +// sprintf(ret, "http error: %ld", status); + return -1; + } + + fclose(f); + shutdown(s, 2); + close(s); + return 0; } -rest_account get_rest_account(QString host, QString email) { - QString req = "GET /rest/accountcreator?email=" + email; - QString ret; - rest_account ra; - qDebug() << "HOST: " << host; - int res = sendRequest(host, 80, req, ret); - if (res != -1) { - QStringList list = ret.split("\n"); - ra.user = list[0]; - ra.passwd = list[1];\ - ra.success = true; - } else { - ra.success = false; - ra.reason = ret; - } - qDebug() << ret; - return ra; +rest_account get_rest_account(QString host, QString email) +{ + QString req = "GET /rest/accountcreator?email=" + email; + QString ret; + rest_account ra; + qDebug() << "HOST: " << host; + int res = sendRequest(host, 80, req, ret); + if (res != -1) { + QStringList list = ret.split("\n"); + ra.user = list[0]; + ra.passwd = list[1];\ + ra.success = true; + } else { + ra.success = false; + ra.reason = ret; + } + qDebug() << ret; + return ra; } /*************************************************************************** @@ -153,20 +159,21 @@ rest_account get_rest_account(QString host, QString email) { AccountWizard::AccountWizard(QWidget * parent) : QWizard(parent) { - setPage(Page_Intro, new WizardIntroPage); - setPage(Page_AutoMan, new WizardAccountAutoManualPage); - setPage(Page_Type, new WizardAccountTypePage); - setPage(Page_Email, new WizardAccountEmailAddressPage); - setPage(Page_SIPForm, new WizardAccountFormPage(SIP)); - setPage(Page_IAXForm, new WizardAccountFormPage(IAX)); - setPage(Page_Stun, new WizardAccountStunPage); - setPage(Page_Conclusion, new WizardAccountConclusionPage); - - setStartId(Page_Intro); - setWindowTitle(i18n("Account creation wizard")); - setWindowIcon(QIcon(ICON_SFLPHONE)); - setMinimumHeight(350); - setPixmap(QWizard::WatermarkPixmap, QPixmap(ICON_SFLPHONE)); + setPage(Page_Intro, new WizardIntroPage); + setPage(Page_AutoMan, new WizardAccountAutoManualPage); + setPage(Page_Type, new WizardAccountTypePage); + setPage(Page_Email, new WizardAccountEmailAddressPage); + setPage(Page_SIPForm, new WizardAccountSIPFormPage); + setPage(Page_IAXForm, new WizardAccountIAXFormPage); + setPage(Page_Stun, new WizardAccountStunPage); + setPage(Page_Conclusion, new WizardAccountConclusionPage); + + setStartId(Page_Intro); + setWindowTitle(i18n("Account creation wizard")); + setWindowIcon(QIcon(ICON_SFLPHONE)); + setMinimumHeight(350); + setMinimumWidth(500); + setPixmap(QWizard::WatermarkPixmap, QPixmap(ICON_SFLPHONE)); } @@ -176,98 +183,138 @@ AccountWizard::~AccountWizard() void AccountWizard::accept() { - QString ret; - MapStringString accountDetails; - - QString & alias = accountDetails[QString(ACCOUNT_ALIAS)]; - QString & server = accountDetails[QString(ACCOUNT_HOSTNAME)]; - QString & user = accountDetails[QString(ACCOUNT_USERNAME)]; - QString & password = accountDetails[QString(ACCOUNT_PASSWORD)]; - QString & protocol = accountDetails[QString(ACCOUNT_TYPE)]; - QString & mailbox = accountDetails[QString(ACCOUNT_MAILBOX)]; - QString & enabled = accountDetails[QString(ACCOUNT_ENABLED)]; - QString & resolveOnce = accountDetails[QString(ACCOUNT_RESOLVE_ONCE)]; - QString & regExpire = accountDetails[QString(ACCOUNT_EXPIRE)]; - - bool createAccount = false; - bool sip = false; - bool SFL = field(FIELD_SFL_ACCOUNT).toBool(); - if(SFL) - { - QString emailAddress = field(FIELD_EMAIL_ADDRESS).toString(); - char charEmailAddress[1024]; - strncpy(charEmailAddress, emailAddress.toLatin1(), sizeof(charEmailAddress) - 1); - - rest_account acc = get_rest_account(SFL_ACCOUNT_HOST, charEmailAddress); - if(acc.success) - { - ret += i18n("This assistant is now finished.") + "\n"; - alias = QString(acc.user) + "@" + SFL_ACCOUNT_HOST; - server = QString(SFL_ACCOUNT_HOST); - user = QString(acc.user); - password = QString(acc.passwd); - mailbox = QString(); - protocol = QString(ACCOUNT_TYPE_SIP); - createAccount = true; - sip = true; - } - else - { - ret += i18n("Creation of account has failed for the reason") + " :\n"; - ret += acc.reason; - } - } - else - { - ret += i18n("This assistant is now finished.") + "\n"; - bool SIPAccount = field(FIELD_SIP_ACCOUNT).toBool(); - if(SIPAccount) - { - alias = field(FIELD_SIP_ALIAS).toString(); - server = field(FIELD_SIP_SERVER).toString(); - user = field(FIELD_SIP_USER).toString(); - password = field(FIELD_SIP_PASSWORD).toString(); - mailbox = field(FIELD_SIP_VOICEMAIL).toString(); - protocol = QString(ACCOUNT_TYPE_SIP); - sip = true; - - } - else - { - alias = field(FIELD_IAX_ALIAS).toString(); - server = field(FIELD_IAX_SERVER).toString(); - user = field(FIELD_IAX_USER).toString(); - password = field(FIELD_IAX_PASSWORD).toString(); - mailbox = field(FIELD_IAX_VOICEMAIL).toString(); - protocol = QString(ACCOUNT_TYPE_IAX); - } - createAccount = true; - } - if(createAccount) - { - enabled = ACCOUNT_ENABLED_TRUE; - resolveOnce = "FALSE"; - regExpire = QString::number(ACCOUNT_EXPIRE_DEFAULT); - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QString accountId = configurationManager.addAccount(accountDetails); - //configurationManager.sendRegister(accountId, 1); - if(sip) - { - bool enableStun = field(FIELD_ENABLE_STUN).toBool(); - QString stunServer = field(FIELD_STUN_SERVER).toString(); - if(enableStun != configurationManager.isStunEnabled()) configurationManager.enableStun(); - if(enableStun) configurationManager.setStunServer(stunServer); - } - ret += i18n("Alias") + " : " + alias + "\n"; - ret += i18n("Server") + " : " + server + "\n"; - ret += i18n("Username") + " : " + user + "\n"; - ret += i18n("Password") + " : " + password + "\n"; - ret += i18n("Protocol") + " : " + protocol + "\n"; - ret += i18n("Voicemail number") + " : " + mailbox + "\n"; - } - qDebug() << ret; - QDialog::accept(); - restart(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + + QString ret; + MapStringString accountDetails; + + QString & alias = accountDetails[QString(ACCOUNT_ALIAS)]; + QString & enabled = accountDetails[QString(ACCOUNT_ENABLED)]; + QString & mailbox = accountDetails[QString(ACCOUNT_MAILBOX)]; + QString & protocol = accountDetails[QString(ACCOUNT_TYPE)]; + QString & server = accountDetails[QString(ACCOUNT_HOSTNAME)]; + QString & user = accountDetails[QString(ACCOUNT_USERNAME)]; + QString & password = accountDetails[QString(ACCOUNT_PASSWORD)]; + + // sip only parameters + QString & stun_enabled = accountDetails[QString(ACCOUNT_SIP_STUN_ENABLED)]; + QString & stun_server = accountDetails[QString(ACCOUNT_SIP_STUN_SERVER)]; + + // zrtp only parameters + QString & srtp_enabled = accountDetails[QString(ACCOUNT_SRTP_ENABLED)]; + QString & key_exchange = accountDetails[QString(ACCOUNT_KEY_EXCHANGE)]; + QString & zrtp_display_sas = accountDetails[QString(ACCOUNT_ZRTP_DISPLAY_SAS)]; + QString & zrtp_not_supp_warning = accountDetails[QString(ACCOUNT_ZRTP_NOT_SUPP_WARNING)]; + QString & zrtp_hello_hash = accountDetails[QString(ACCOUNT_ZRTP_HELLO_HASH)]; + QString & display_sas_once = accountDetails[QString(ACCOUNT_DISPLAY_SAS_ONCE)]; + + // interface paramters + QString & locale_interface = accountDetails[QString(LOCAL_INTERFACE)]; + QString & published_address = accountDetails[QString(PUBLISHED_ADDRESS)]; + + bool is_using_sflphone_org = field(FIELD_SFL_ACCOUNT).toBool(); + bool is_using_sip = false; + bool is_create_account = false; + + // sflphone.org + if(is_using_sflphone_org) { + QString emailAddress = field(FIELD_EMAIL_ADDRESS).toString(); + char charEmailAddress[1024]; + strncpy(charEmailAddress, emailAddress.toLatin1(), sizeof(charEmailAddress) - 1); + rest_account acc = get_rest_account(SFL_ACCOUNT_HOST, charEmailAddress); + + if(acc.success) { + ret += i18n("This assistant is now finished.") + "\n"; + field(FIELD_SIP_ALIAS) = QString(acc.user) + "@" + SFL_ACCOUNT_HOST; + field(FIELD_SIP_VOICEMAIL) = QString(); + field(FIELD_SIP_SERVER) = QString(SFL_ACCOUNT_HOST); + field(FIELD_SIP_PASSWORD) = QString(acc.passwd); + field(FIELD_SIP_USER) = QString(acc.user); + + protocol = QString(ACCOUNT_TYPE_SIP); + server = QString(SFL_ACCOUNT_HOST); + password = QString(acc.passwd); + user = QString(acc.user); + enabled = QString(ACCOUNT_ENABLED_TRUE); + + is_create_account = true; + is_using_sip = true; + } + else { + ret += i18n("Creation of account has failed for the reason") + " :\n"; + ret += acc.reason; + } + } + else if(field(FIELD_SIP_ACCOUNT).toBool()) { //sip + ret += i18n("This assistant is now finished.") + "\n"; + + alias = field(FIELD_SIP_ALIAS).toString(); + enabled = QString(ACCOUNT_ENABLED_TRUE); + mailbox = field(FIELD_SIP_VOICEMAIL).toString(); + protocol = QString(ACCOUNT_TYPE_SIP); + server = field(FIELD_SIP_SERVER).toString(); + password = field(FIELD_SIP_PASSWORD).toString(); + user = field(FIELD_SIP_USER).toString(); + + is_create_account = true; + is_using_sip = true; + + } + else { // iax + ret += i18n("This assistant is now finished.") + "\n"; + + alias = field(FIELD_IAX_ALIAS).toString(); + enabled = QString(ACCOUNT_ENABLED_TRUE); + mailbox = field(FIELD_IAX_VOICEMAIL).toString(); + protocol = QString(ACCOUNT_TYPE_IAX); + server = field(FIELD_IAX_SERVER).toString(); + password = field(FIELD_IAX_PASSWORD).toString(); + user = field(FIELD_IAX_USER).toString(); + + is_create_account = true; + is_using_sip = false; + } + + + // common sip paramaters + if(is_using_sip) { + if(field(FIELD_SIP_ENABLE_STUN).toBool()) { + stun_enabled = QString(ACCOUNT_ENABLED_TRUE); + stun_server = field(FIELD_SIP_STUN_SERVER).toString(); + } + else { + stun_enabled = QString(ACCOUNT_ENABLED_FALSE); + stun_server = QString(); + } + + if(field(FIELD_ZRTP_ENABLED).toBool()) { + srtp_enabled = QString(ACCOUNT_ENABLED_TRUE); + key_exchange = QString(ZRTP); + zrtp_display_sas = QString(ACCOUNT_ENABLED_TRUE); + zrtp_not_supp_warning = QString(ACCOUNT_ENABLED_TRUE); + zrtp_hello_hash = QString(ACCOUNT_ENABLED_TRUE); + display_sas_once = QString(ACCOUNT_ENABLED_FALSE); + } + + QStringList ifaceList = configurationManager.getAllIpInterface(); + + locale_interface = ifaceList.at(0); + published_address = ifaceList.at(0); + + ret += i18n("Alias") + " : " + alias + "\n"; + ret += i18n("Server") + " : " + server + "\n"; + ret += i18n("Username") + " : " + user + "\n"; + ret += i18n("Password") + " : " + password + "\n"; + ret += i18n("Protocol") + " : " + protocol + "\n"; + ret += i18n("Voicemail number") + " : " + mailbox + "\n"; + } + + if(is_create_account) { + QString accountId = configurationManager.addAccount(accountDetails); + } + qDebug() << ret; + QDialog::accept(); + restart(); } @@ -281,26 +328,26 @@ void AccountWizard::accept() WizardIntroPage::WizardIntroPage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("Account creation wizard")); - setSubTitle(i18n("Welcome to the Account creation wizard of SFLphone!")); + setTitle(i18n("Account creation wizard")); + setSubTitle(i18n("Welcome to the Account creation wizard of SFLphone!")); - introLabel = new QLabel(i18n("This installation wizard will help you configure an account.")); - introLabel->setWordWrap(true); + introLabel = new QLabel(i18n("This installation wizard will help you configure an account.")); + introLabel->setWordWrap(true); - QVBoxLayout *layout = new QVBoxLayout; - layout->addWidget(introLabel); - setLayout(layout); + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(introLabel); + setLayout(layout); } WizardIntroPage::~WizardIntroPage() { - delete introLabel; + delete introLabel; } int WizardIntroPage::nextId() const { - return AccountWizard::Page_AutoMan; + return AccountWizard::Page_AutoMan; } /*************************************************************************** @@ -312,39 +359,35 @@ int WizardIntroPage::nextId() const WizardAccountAutoManualPage::WizardAccountAutoManualPage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("Account")); - setSubTitle(i18n("Please select one of the following options")); + setTitle(i18n("Account")); + setSubTitle(i18n("Please select one of the following options")); - radioButton_SFL = new QRadioButton(i18n("Create a free SIP/IAX2 account on sflphone.org")); - radioButton_manual = new QRadioButton(i18n("Register an existing SIP or IAX2 account")); - radioButton_SFL->setChecked(true); + radioButton_SFL = new QRadioButton(i18n("Create a free SIP/IAX2 account on sflphone.org")); + radioButton_manual = new QRadioButton(i18n("Register an existing SIP or IAX2 account")); + radioButton_SFL->setChecked(true); - registerField(FIELD_SFL_ACCOUNT, radioButton_SFL); - registerField(FIELD_OTHER_ACCOUNT, radioButton_manual); + registerField(FIELD_SFL_ACCOUNT, radioButton_SFL); + registerField(FIELD_OTHER_ACCOUNT, radioButton_manual); - QVBoxLayout *layout = new QVBoxLayout; - layout->addWidget(radioButton_SFL); - layout->addWidget(radioButton_manual); - setLayout(layout); + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(radioButton_SFL); + layout->addWidget(radioButton_manual); + setLayout(layout); } WizardAccountAutoManualPage::~WizardAccountAutoManualPage() { - delete radioButton_SFL; - delete radioButton_manual; + delete radioButton_SFL; + delete radioButton_manual; } int WizardAccountAutoManualPage::nextId() const { - if(radioButton_SFL->isChecked()) - { - return AccountWizard::Page_Email; - } - else - { - return AccountWizard::Page_Type; - } + if(radioButton_SFL->isChecked()) + return AccountWizard::Page_Email; + else + return AccountWizard::Page_Type; } /*************************************************************************** @@ -355,39 +398,35 @@ int WizardAccountAutoManualPage::nextId() const WizardAccountTypePage::WizardAccountTypePage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("VoIP Protocols")); - setSubTitle(i18n("Select an account type")); - - radioButton_SIP = new QRadioButton(i18n("SIP (Session Initiation Protocol)")); - radioButton_IAX = new QRadioButton(i18n("IAX2 (InterAsterix Exchange)")); - radioButton_SIP->setChecked(true); - - registerField(FIELD_SIP_ACCOUNT, radioButton_SIP); - registerField(FIELD_IAX_ACCOUNT, radioButton_IAX); - - QVBoxLayout *layout = new QVBoxLayout; - layout->addWidget(radioButton_SIP); - layout->addWidget(radioButton_IAX); - setLayout(layout); + setTitle(i18n("VoIP Protocols")); + setSubTitle(i18n("Select an account type")); + + radioButton_SIP = new QRadioButton(i18n("SIP (Session Initiation Protocol)")); + radioButton_IAX = new QRadioButton(i18n("IAX2 (InterAsterix Exchange)")); + radioButton_SIP->setChecked(true); + + registerField(FIELD_SIP_ACCOUNT, radioButton_SIP); + registerField(FIELD_IAX_ACCOUNT, radioButton_IAX); + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(radioButton_SIP); + layout->addWidget(radioButton_IAX); + setLayout(layout); } WizardAccountTypePage::~WizardAccountTypePage() { - delete radioButton_SIP; - delete radioButton_IAX; + delete radioButton_SIP; + delete radioButton_IAX; } int WizardAccountTypePage::nextId() const { - if(radioButton_SIP->isChecked()) - { - return AccountWizard::Page_SIPForm; - } - else - { - return AccountWizard::Page_IAXForm; - } + if(radioButton_SIP->isChecked()) + return AccountWizard::Page_SIPForm; + else + return AccountWizard::Page_IAXForm; } /*************************************************************************** @@ -398,30 +437,114 @@ int WizardAccountTypePage::nextId() const WizardAccountEmailAddressPage::WizardAccountEmailAddressPage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("Optional email address")); - setSubTitle(i18n("This email address will be used to send your voicemail messages.")); - - label_emailAddress = new QLabel(i18n("Email address")); - lineEdit_emailAddress = new QLineEdit(); - - registerField(FIELD_EMAIL_ADDRESS, lineEdit_emailAddress); - - QFormLayout *layout = new QFormLayout; - layout->setWidget(0, QFormLayout::LabelRole, label_emailAddress); - layout->setWidget(0, QFormLayout::FieldRole, lineEdit_emailAddress); - setLayout(layout); + setTitle(i18n("Optional email address")); + setSubTitle(i18n("This email address will be used to send your voicemail messages.")); + + label_emailAddress = new QLabel(i18n("Email address")); + lineEdit_emailAddress = new QLineEdit(); + label_enableZrtp = new QLabel(i18n("Secure with ZRTP")); + checkBox_enableZrtp = new QCheckBox(); + + registerField(FIELD_EMAIL_ADDRESS, lineEdit_emailAddress); + registerField(FIELD_ZRTP_ENABLED, checkBox_enableZrtp); + + QFormLayout *layout = new QFormLayout; + + layout->setWidget(0, QFormLayout::LabelRole, label_emailAddress); + layout->setWidget(0, QFormLayout::FieldRole, lineEdit_emailAddress); + layout->setWidget(1, QFormLayout::LabelRole, label_enableZrtp); + layout->setWidget(1, QFormLayout::FieldRole, checkBox_enableZrtp); + + setLayout(layout); } WizardAccountEmailAddressPage::~WizardAccountEmailAddressPage() { - delete label_emailAddress; - delete lineEdit_emailAddress; + delete label_emailAddress; + delete lineEdit_emailAddress; + delete label_enableZrtp; + delete checkBox_enableZrtp; } int WizardAccountEmailAddressPage::nextId() const { - return AccountWizard::Page_Stun; + return AccountWizard::Page_Stun; +} + +/*************************************************************************** + * Class WizardAccountFormPage * + * Page of account settings. * + ***************************************************************************/ + +WizardAccountSIPFormPage::WizardAccountSIPFormPage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(i18n("SIP account settings")); + setSubTitle(i18n("Please fill the following information")); + + label_alias = new QLabel(i18n("Alias") + " *"); + label_server = new QLabel(i18n("Server") + " *"); + label_user = new QLabel(i18n("Username") + " *"); + label_password = new QLabel(i18n("Password") + " *"); + label_voicemail = new QLabel(i18n("Voicemail number")); + label_enableZrtp = new QLabel(i18n("Secure with ZRTP")); + + lineEdit_alias = new QLineEdit; + lineEdit_server = new QLineEdit; + lineEdit_user = new QLineEdit; + lineEdit_password = new QLineEdit; + lineEdit_voicemail = new QLineEdit; + checkBox_enableZrtp = new QCheckBox; + + lineEdit_password->setEchoMode(QLineEdit::Password); + + registerField(QString(FIELD_SIP_ALIAS) + "*", lineEdit_alias); + registerField(QString(FIELD_SIP_SERVER) + "*", lineEdit_server); + registerField(QString(FIELD_SIP_USER) + "*", lineEdit_user); + registerField(QString(FIELD_SIP_PASSWORD) + "*", lineEdit_password); + registerField(QString(FIELD_SIP_VOICEMAIL), lineEdit_voicemail); + registerField(QString(FIELD_ZRTP_ENABLED), checkBox_enableZrtp); + + QFormLayout *layout = new QFormLayout; + + + layout->setWidget(0, QFormLayout::LabelRole, label_alias); + layout->setWidget(0, QFormLayout::FieldRole, lineEdit_alias); + layout->setWidget(1, QFormLayout::LabelRole, label_server); + layout->setWidget(1, QFormLayout::FieldRole, lineEdit_server); + layout->setWidget(2, QFormLayout::LabelRole, label_user); + layout->setWidget(2, QFormLayout::FieldRole, lineEdit_user); + layout->setWidget(3, QFormLayout::LabelRole, label_password); + layout->setWidget(3, QFormLayout::FieldRole, lineEdit_password); + layout->setWidget(4, QFormLayout::LabelRole, label_voicemail); + layout->setWidget(4, QFormLayout::FieldRole, lineEdit_voicemail); + layout->setWidget(5, QFormLayout::LabelRole, label_enableZrtp); + layout->setWidget(5, QFormLayout::FieldRole, checkBox_enableZrtp); + + setLayout(layout); +} + + +WizardAccountSIPFormPage::~WizardAccountSIPFormPage() +{ + delete label_alias; + delete label_server; + delete label_user; + delete label_password; + delete label_voicemail; + delete label_enableZrtp; + delete lineEdit_alias; + delete lineEdit_server; + delete lineEdit_user; + delete lineEdit_password; + delete lineEdit_voicemail; + delete checkBox_enableZrtp; +} + +int WizardAccountSIPFormPage::nextId() const +{ + return AccountWizard::Page_Stun; } /*************************************************************************** @@ -429,93 +552,66 @@ int WizardAccountEmailAddressPage::nextId() const * Page of account settings. * ***************************************************************************/ -WizardAccountFormPage::WizardAccountFormPage(int type, QWidget *parent) +WizardAccountIAXFormPage::WizardAccountIAXFormPage(QWidget *parent) : QWizardPage(parent) { - this->type = type; - if(type == SIP) - { - setTitle(i18n("SIP account settings")); - } - else - { - setTitle(i18n("IAX2 account settings")); - } - setSubTitle(i18n("Please fill the following information")); - - label_alias = new QLabel(i18n("Alias") + " *"); - label_server = new QLabel(i18n("Server") + " *"); - label_user = new QLabel(i18n("Username") + " *"); - label_password = new QLabel(i18n("Password") + " *"); - label_voicemail = new QLabel(i18n("Voicemail number")); - - lineEdit_alias = new QLineEdit; - lineEdit_server = new QLineEdit; - lineEdit_user = new QLineEdit; - lineEdit_password = new QLineEdit; - lineEdit_voicemail = new QLineEdit; - - lineEdit_password->setEchoMode(QLineEdit::Password); - - if(type == SIP) - { - registerField(QString(FIELD_SIP_ALIAS) + "*", lineEdit_alias); - registerField(QString(FIELD_SIP_SERVER) + "*", lineEdit_server); - registerField(QString(FIELD_SIP_USER) + "*", lineEdit_user); - registerField(QString(FIELD_SIP_PASSWORD) + "*", lineEdit_password); - registerField(QString(FIELD_SIP_VOICEMAIL), lineEdit_voicemail); - } - else - { - registerField(QString(FIELD_IAX_ALIAS) + "*", lineEdit_alias); - registerField(QString(FIELD_IAX_SERVER) + "*", lineEdit_server); - registerField(QString(FIELD_IAX_USER) + "*", lineEdit_user); - registerField(QString(FIELD_IAX_PASSWORD) + "*", lineEdit_password); - registerField(QString(FIELD_IAX_VOICEMAIL), lineEdit_voicemail); - } - - QFormLayout *layout = new QFormLayout; - - - layout->setWidget(0, QFormLayout::LabelRole, label_alias); - layout->setWidget(0, QFormLayout::FieldRole, lineEdit_alias); + setTitle(i18n("IAX2 account settings")); + setSubTitle(i18n("Please fill the following information")); + + label_alias = new QLabel(i18n("Alias") + " *"); + label_server = new QLabel(i18n("Server") + " *"); + label_user = new QLabel(i18n("Username") + " *"); + label_password = new QLabel(i18n("Password") + " *"); + label_voicemail = new QLabel(i18n("Voicemail number")); + + lineEdit_alias = new QLineEdit; + lineEdit_server = new QLineEdit; + lineEdit_user = new QLineEdit; + lineEdit_password = new QLineEdit; + lineEdit_voicemail = new QLineEdit; + + lineEdit_password->setEchoMode(QLineEdit::Password); + + registerField(QString(FIELD_IAX_ALIAS) + "*", lineEdit_alias); + registerField(QString(FIELD_IAX_SERVER) + "*", lineEdit_server); + registerField(QString(FIELD_IAX_USER) + "*", lineEdit_user); + registerField(QString(FIELD_IAX_PASSWORD) + "*", lineEdit_password); + registerField(QString(FIELD_IAX_VOICEMAIL), lineEdit_voicemail); + + QFormLayout *layout = new QFormLayout; + + layout->setWidget(0, QFormLayout::LabelRole, label_alias); + layout->setWidget(0, QFormLayout::FieldRole, lineEdit_alias); layout->setWidget(1, QFormLayout::LabelRole, label_server); - layout->setWidget(1, QFormLayout::FieldRole, lineEdit_server); + layout->setWidget(1, QFormLayout::FieldRole, lineEdit_server); layout->setWidget(2, QFormLayout::LabelRole, label_user); - layout->setWidget(2, QFormLayout::FieldRole, lineEdit_user); + layout->setWidget(2, QFormLayout::FieldRole, lineEdit_user); layout->setWidget(3, QFormLayout::LabelRole, label_password); - layout->setWidget(3, QFormLayout::FieldRole, lineEdit_password); + layout->setWidget(3, QFormLayout::FieldRole, lineEdit_password); layout->setWidget(4, QFormLayout::LabelRole, label_voicemail); - layout->setWidget(4, QFormLayout::FieldRole, lineEdit_voicemail); - - setLayout(layout); + layout->setWidget(4, QFormLayout::FieldRole, lineEdit_voicemail); + + setLayout(layout); } -WizardAccountFormPage::~WizardAccountFormPage() +WizardAccountIAXFormPage::~WizardAccountIAXFormPage() { - delete label_alias; - delete label_server; - delete label_user; - delete label_password; - delete label_voicemail; - delete lineEdit_alias; - delete lineEdit_server; - delete lineEdit_user; - delete lineEdit_password; - delete lineEdit_voicemail; + delete label_alias; + delete label_server; + delete label_user; + delete label_password; + delete label_voicemail; + delete lineEdit_alias; + delete lineEdit_server; + delete lineEdit_user; + delete lineEdit_password; + delete lineEdit_voicemail; } -int WizardAccountFormPage::nextId() const +int WizardAccountIAXFormPage::nextId() const { - if(type == SIP) - { - return AccountWizard::Page_Stun; - } - else - { - return AccountWizard::Page_Conclusion; - } + return AccountWizard::Page_Conclusion; } /*************************************************************************** @@ -526,34 +622,37 @@ int WizardAccountFormPage::nextId() const WizardAccountStunPage::WizardAccountStunPage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("Network Address Translation (NAT)")); - setSubTitle(i18n("You should probably enable this if you are behind a firewall.")); - - checkBox_enableStun = new QCheckBox(i18n("Enable STUN")); - label_StunServer = new QLabel(i18n("Stun Server")); - lineEdit_StunServer = new QLineEdit(); - - registerField(FIELD_ENABLE_STUN, checkBox_enableStun); - registerField(FIELD_STUN_SERVER, lineEdit_StunServer); - - QFormLayout *layout = new QFormLayout; - layout->addWidget(checkBox_enableStun); - layout->addWidget(label_StunServer); - layout->addWidget(lineEdit_StunServer); - setLayout(layout); + setTitle(i18n("Network Address Translation (NAT)")); + setSubTitle(i18n("You should probably enable this if you are behind a firewall.")); + + checkBox_enableStun = new QCheckBox(i18n("Enable STUN")); + label_StunServer = new QLabel(i18n("Stun Server")); + lineEdit_StunServer = new QLineEdit(); + lineEdit_StunServer->setDisabled(true); + + registerField(FIELD_SIP_ENABLE_STUN, checkBox_enableStun); + registerField(FIELD_SIP_STUN_SERVER, lineEdit_StunServer); + + QFormLayout *layout = new QFormLayout; + layout->addWidget(checkBox_enableStun); + layout->addWidget(label_StunServer); + layout->addWidget(lineEdit_StunServer); + setLayout(layout); + + connect(checkBox_enableStun, SIGNAL(toggled(bool)), lineEdit_StunServer, SLOT(setEnabled(bool))); } WizardAccountStunPage::~WizardAccountStunPage() { - delete checkBox_enableStun; - delete label_StunServer; - delete lineEdit_StunServer; + delete checkBox_enableStun; + delete label_StunServer; + delete lineEdit_StunServer; } int WizardAccountStunPage::nextId() const { - return AccountWizard::Page_Conclusion; + return AccountWizard::Page_Conclusion; } /*************************************************************************** @@ -564,11 +663,11 @@ int WizardAccountStunPage::nextId() const WizardAccountConclusionPage::WizardAccountConclusionPage(QWidget *parent) : QWizardPage(parent) { - setTitle(i18n("This assistant is now finished.")); - setSubTitle(i18n("After checking the settings you chose, click \"Finish\" to create the account.")); + setTitle(i18n("This assistant is now finished.")); + setSubTitle(i18n("After checking the settings you chose, click \"Finish\" to create the account.")); - QVBoxLayout *layout = new QVBoxLayout; - setLayout(layout); + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); } WizardAccountConclusionPage::~WizardAccountConclusionPage() @@ -577,5 +676,5 @@ WizardAccountConclusionPage::~WizardAccountConclusionPage() int WizardAccountConclusionPage::nextId() const { - return -1; + return -1; } diff --git a/sflphone-client-kde/src/AccountWizard.h b/sflphone-client-kde/src/AccountWizard.h index e0791ada5ce78cd677793f16ab6f285ce136b068..8700099317c7b628e0d2d3a45eaa01a2f4367996 100644 --- a/sflphone-client-kde/src/AccountWizard.h +++ b/sflphone-client-kde/src/AccountWizard.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -29,19 +29,19 @@ /** - @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> + @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> */ class AccountWizard : public QWizard { Q_OBJECT public: - - enum { Page_Intro, Page_AutoMan, Page_Type, Page_Email, Page_SIPForm, Page_IAXForm, Page_Stun, Page_Conclusion }; - - AccountWizard(QWidget * parent = 0); - ~AccountWizard(); - void accept(); + + enum { Page_Intro, Page_AutoMan, Page_Type, Page_Email, Page_SIPForm, Page_IAXForm, Page_Stun, Page_Conclusion }; + + AccountWizard(QWidget * parent = 0); + ~AccountWizard(); + void accept(); }; @@ -52,15 +52,15 @@ public: class WizardIntroPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardIntroPage(QWidget *parent = 0); - ~WizardIntroPage(); - int nextId() const; + WizardIntroPage(QWidget *parent = 0); + ~WizardIntroPage(); + int nextId() const; private: - QLabel * introLabel; + QLabel * introLabel; }; /*************************************************************************** @@ -71,16 +71,16 @@ private: class WizardAccountAutoManualPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardAccountAutoManualPage(QWidget *parent = 0); - ~WizardAccountAutoManualPage(); - int nextId() const; + WizardAccountAutoManualPage(QWidget *parent = 0); + ~WizardAccountAutoManualPage(); + int nextId() const; private: - QRadioButton * radioButton_SFL; - QRadioButton * radioButton_manual; + QRadioButton * radioButton_SFL; + QRadioButton * radioButton_manual; }; /*************************************************************************** @@ -90,16 +90,16 @@ private: class WizardAccountTypePage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardAccountTypePage(QWidget *parent = 0); - ~WizardAccountTypePage(); - int nextId() const; + WizardAccountTypePage(QWidget *parent = 0); + ~WizardAccountTypePage(); + int nextId() const; private: - QRadioButton * radioButton_SIP; - QRadioButton * radioButton_IAX; + QRadioButton * radioButton_SIP; + QRadioButton * radioButton_IAX; }; /*************************************************************************** @@ -109,47 +109,82 @@ private: class WizardAccountEmailAddressPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardAccountEmailAddressPage(QWidget *parent = 0); - ~WizardAccountEmailAddressPage(); - int nextId() const; + WizardAccountEmailAddressPage(QWidget *parent = 0); + ~WizardAccountEmailAddressPage(); + int nextId() const; private: - QLabel * label_emailAddress; - QLineEdit * lineEdit_emailAddress; + QLabel * label_emailAddress; + QLineEdit * lineEdit_emailAddress; + QLabel * label_enableZrtp; + QCheckBox * checkBox_enableZrtp; }; /*************************************************************************** - * Class WizardAccountFormPage * + * Class WizardAccountSIPFormPage * * Page of account settings. * ***************************************************************************/ -class WizardAccountFormPage : public QWizardPage +class WizardAccountSIPFormPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - - WizardAccountFormPage(int type, QWidget *parent = 0); - ~WizardAccountFormPage(); - int nextId() const; + + WizardAccountSIPFormPage(QWidget *parent = 0); + ~WizardAccountSIPFormPage(); + int nextId() const; private: - int type; - - QLabel * label_alias; - QLabel * label_server; - QLabel * label_user; - QLabel * label_password; - QLabel * label_voicemail; - - QLineEdit * lineEdit_alias; - QLineEdit * lineEdit_server; - QLineEdit * lineEdit_user; - QLineEdit * lineEdit_password; - QLineEdit * lineEdit_voicemail; + int type; + + QLabel * label_alias; + QLabel * label_server; + QLabel * label_user; + QLabel * label_password; + QLabel * label_voicemail; + QLabel * label_enableZrtp; + + QLineEdit * lineEdit_alias; + QLineEdit * lineEdit_server; + QLineEdit * lineEdit_user; + QLineEdit * lineEdit_password; + QLineEdit * lineEdit_voicemail; + QCheckBox * checkBox_enableZrtp; +}; + +/*************************************************************************** + * Class WizardAccountIAXFormPage * + * Page of account settings. * + ***************************************************************************/ + +class WizardAccountIAXFormPage : public QWizardPage +{ + Q_OBJECT + +public: + + WizardAccountIAXFormPage(QWidget *parent = 0); + ~WizardAccountIAXFormPage(); + int nextId() const; + +private: + int type; + + QLabel * label_alias; + QLabel * label_server; + QLabel * label_user; + QLabel * label_password; + QLabel * label_voicemail; + + QLineEdit * lineEdit_alias; + QLineEdit * lineEdit_server; + QLineEdit * lineEdit_user; + QLineEdit * lineEdit_password; + QLineEdit * lineEdit_voicemail; }; /*************************************************************************** @@ -159,17 +194,17 @@ private: class WizardAccountStunPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardAccountStunPage(QWidget *parent = 0); - ~WizardAccountStunPage(); - int nextId() const; + WizardAccountStunPage(QWidget *parent = 0); + ~WizardAccountStunPage(); + int nextId() const; private: - QCheckBox * checkBox_enableStun; - QLabel * label_StunServer; - QLineEdit * lineEdit_StunServer; + QCheckBox * checkBox_enableStun; + QLabel * label_StunServer; + QLineEdit * lineEdit_StunServer; }; /*************************************************************************** @@ -179,12 +214,12 @@ private: class WizardAccountConclusionPage : public QWizardPage { - Q_OBJECT + Q_OBJECT public: - WizardAccountConclusionPage(QWidget *parent = 0); - ~WizardAccountConclusionPage(); - int nextId() const; + WizardAccountConclusionPage(QWidget *parent = 0); + ~WizardAccountConclusionPage(); + int nextId() const; private: }; diff --git a/sflphone-client-kde/src/ActionSetAccountFirst.cpp b/sflphone-client-kde/src/ActionSetAccountFirst.cpp index 3033af2e2f65cd50cc311f5212cb33b5c8732af3..e27651058005bc52c5023d96d21f316d0334d8c6 100644 --- a/sflphone-client-kde/src/ActionSetAccountFirst.cpp +++ b/sflphone-client-kde/src/ActionSetAccountFirst.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -25,10 +25,10 @@ ActionSetAccountFirst::ActionSetAccountFirst(Account * account, QObject *parent) : QAction((account == NULL) ? i18n("Default account") : account->getAlias(), parent) { - setCheckable(true); - this->account = account; - connect(this, SIGNAL(triggered()), - this, SLOT(emitSetFirst())); + setCheckable(true); + this->account = account; + connect(this, SIGNAL(triggered()), + this, SLOT(emitSetFirst())); } @@ -38,5 +38,5 @@ ActionSetAccountFirst::~ActionSetAccountFirst() void ActionSetAccountFirst::emitSetFirst() { - emit setFirst(account); + emit setFirst(account); } diff --git a/sflphone-client-kde/src/ActionSetAccountFirst.h b/sflphone-client-kde/src/ActionSetAccountFirst.h index 4e832e0ae45288fa9399da38884c6d0118822246..4cf4aece9b6a8b9cd78fad85e934bdaf14fa5624 100644 --- a/sflphone-client-kde/src/ActionSetAccountFirst.h +++ b/sflphone-client-kde/src/ActionSetAccountFirst.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -27,26 +27,26 @@ #include "Account.h" /** - @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> + @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> */ class ActionSetAccountFirst : public QAction { Q_OBJECT private: - - Account * account; + + Account * account; public: - ActionSetAccountFirst(Account * account, QObject *parent = 0); - ~ActionSetAccountFirst(); + ActionSetAccountFirst(Account * account, QObject *parent = 0); + ~ActionSetAccountFirst(); private slots: - void emitSetFirst(); - + void emitSetFirst(); + signals: - void setFirst(Account * account); + void setFirst(Account * account); }; diff --git a/sflphone-client-kde/src/CMakeLists.txt b/sflphone-client-kde/src/CMakeLists.txt old mode 100644 new mode 100755 index e1a056a1059c3ddd706a496185bad4dec5f8a35e..4bf5e151ccf8559bd6d22e53591ae437d5b31ebb --- a/sflphone-client-kde/src/CMakeLists.txt +++ b/sflphone-client-kde/src/CMakeLists.txt @@ -16,15 +16,20 @@ ENDIF(${CMAKE_BUILD_TYPE} MATCHES Release) SET ( KDE4_KABC_LIBS -lkabc ) -SET( sflphone_client_kde_SRCS +SET( sflphone_client_kde_SRCS SFLPhoneView.cpp SFLPhone.cpp + SFLPhoneapplication.cpp + SFLPhoneTray.cpp main.cpp sflphone_const.h Account.cpp AccountList.cpp Call.cpp - CallList.cpp + #CallList.cpp + #CallTreeView.cpp + #CallTreeModel.cpp + CallTreeItem.cpp configurationmanager_interface_singleton.cpp callmanager_interface_singleton.cpp instance_interface_singleton.cpp @@ -38,16 +43,15 @@ SET( sflphone_client_kde_SRCS conf/dlgdisplay.cpp conf/dlgaccounts.cpp conf/dlgaudio.cpp - conf/dlgrecord.cpp conf/dlgaddressbook.cpp conf/dlghooks.cpp conf/ConfigurationSkeleton.cpp Dialpad.cpp Codec.cpp - CodecListModel.cpp - SortableCodecListWidget.cpp Item.cpp AccountListModel.cpp + CallModel.cpp + #CallTreeWidget.cpp ) @@ -108,7 +112,6 @@ SET( config_ui_files conf/dlgdisplaybase.ui conf/dlgaccountsbase.ui conf/dlgaudiobase.ui - conf/dlgrecordbase.ui conf/dlgaddressbookbase.ui conf/dlghooksbase.ui ) diff --git a/sflphone-client-kde/src/Call.cpp b/sflphone-client-kde/src/Call.cpp index f0d926a903fea314ad32ad6c8a7a6209c21174a1..0f2bbabee60e783af2833fd9c565a82ba92d491e 100644 --- a/sflphone-client-kde/src/Call.cpp +++ b/sflphone-client-kde/src/Call.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Valle <emmanuel.lepage@savoirfairelinux.com >* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,7 +28,6 @@ #include <kabc/addressbook.h> #include <kabc/stdaddressbook.h> - using namespace KABC; const call_state Call::actionPerformedStateMap [11][5] = @@ -97,445 +96,388 @@ const function Call::stateChangedFunctionMap[11][6] = /*ERROR */ {&Call::nothing , &Call::nothing , &Call::nothing , &Call::nothing , &Call::stop , &Call::nothing } }; - -const char * Call::callStateIcons[11] = {ICON_INCOMING, ICON_RINGING, ICON_CURRENT, ICON_DIALING, ICON_HOLD, ICON_FAILURE, ICON_BUSY, ICON_TRANSFER, ICON_TRANSF_HOLD, "", ""}; - const char * Call::historyIcons[3] = {ICON_HISTORY_INCOMING, ICON_HISTORY_OUTGOING, ICON_HISTORY_MISSED}; -void Call::initCallItem() -{ - item = new QListWidgetItem(); - item->setSizeHint(QSize(140,45)); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsEnabled); - initCallItemWidget(); -} - -void Call::initCallItemWidget() -{ - itemWidget = new QWidget(); - labelIcon = new QLabel(); - labelCallNumber = new QLabel(peerPhoneNumber); - labelTransferPrefix = new QLabel(i18n("Transfer to : ")); - labelTransferNumber = new QLabel(); - QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); - - QHBoxLayout * mainLayout = new QHBoxLayout(); - mainLayout->setContentsMargins ( 3, 1, 2, 1); - mainLayout->setSpacing(4); - QVBoxLayout * descr = new QVBoxLayout(); - descr->setMargin(1); - descr->setSpacing(1); - QHBoxLayout * transfer = new QHBoxLayout(); - transfer->setMargin(0); - transfer->setSpacing(0); - mainLayout->addWidget(labelIcon); - if(! peerName.isEmpty()) - { - labelPeerName = new QLabel(peerName); - descr->addWidget(labelPeerName); - } - descr->addWidget(labelCallNumber); - transfer->addWidget(labelTransferPrefix); - transfer->addWidget(labelTransferNumber); - descr->addLayout(transfer); - mainLayout->addLayout(descr); - mainLayout->addItem(horizontalSpacer); +/*void Call::initCallItemWidget() +{ + itemWidget = new QWidget(); + labelIcon = new QLabel(); + labelCallNumber = new QLabel(peerPhoneNumber); + labelTransferPrefix = new QLabel(i18n("Transfer to : ")); + labelTransferNumber = new QLabel(); + QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); + + QHBoxLayout * mainLayout = new QHBoxLayout(); + mainLayout->setContentsMargins ( 3, 1, 2, 1); + mainLayout->setSpacing(4); + QVBoxLayout * descr = new QVBoxLayout(); + descr->setMargin(1); + descr->setSpacing(1); + QHBoxLayout * transfer = new QHBoxLayout(); + transfer->setMargin(0); + transfer->setSpacing(0); + mainLayout->addWidget(labelIcon); + if(! peerName.isEmpty()) + { + labelPeerName = new QLabel(peerName); + descr->addWidget(labelPeerName); + } + descr->addWidget(labelCallNumber); + transfer->addWidget(labelTransferPrefix); + transfer->addWidget(labelTransferNumber); + descr->addLayout(transfer); + mainLayout->addLayout(descr); + mainLayout->addItem(horizontalSpacer); + + itemWidget->setLayout(mainLayout); +}*/ + + /*void Call::setItemIcon(const QString pixmap) +{ + labelIcon->setPixmap(QPixmap(pixmap)); + }*/ - itemWidget->setLayout(mainLayout); -} -void Call::setItemIcon(const QString pixmap) +Call::Call(call_state startState, QString callId, QString peerName, QString peerNumber, QString account) + : conference(false) { - labelIcon->setPixmap(QPixmap(pixmap)); + this->callId = callId; + this->peerPhoneNumber = peerNumber; + this->peerName = peerName; + changeCurrentState(startState); + this->account = account; + this->recording = false; + // this->historyItemWidget = NULL; + this->startTime = NULL; + this->stopTime = NULL; + // this->initCallItemWidget(); + emit changed(); } - -Call::Call(call_state startState, QString callId, QString peerName, QString peerNumber, QString account) +Call::Call(QString confId, QString account) + : conference(true) { - this->callId = callId; - this->peerPhoneNumber = peerNumber; - this->peerName = peerName; - initCallItem(); - changeCurrentState(startState); - this->account = account; - this->recording = false; - this->historyItem = NULL; - this->historyItemWidget = NULL; - this->startTime = NULL; - this->stopTime = NULL; + this->confId = confId; + this->account = account; } - +#include <unistd.h> Call * Call::buildExistingCall(QString callId) { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - MapStringString details = callManager.getCallDetails(callId).value(); - qDebug() << "Constructing existing call with details : " << details; - QString peerNumber = details[CALL_PEER_NUMBER]; - QString peerName = details[CALL_PEER_NAME]; - call_state startState = getStartStateFromDaemonCallState(details[CALL_STATE], details[CALL_TYPE]); - QString account = details[CALL_ACCOUNTID]; - Call * call = new Call(startState, callId, peerName, peerNumber, account); - call->startTime = new QDateTime(QDateTime::currentDateTime()); - call->recording = callManager.getIsRecording(callId); - call->historyState = getHistoryStateFromDaemonCallState(details[CALL_STATE], details[CALL_TYPE]); - return call; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + MapStringString details = callManager.getCallDetails(callId).value(); + qDebug() << "Constructing existing call with details : " << details; + QString peerNumber = details[CALL_PEER_NUMBER]; + QString peerName = details[CALL_PEER_NAME]; + call_state startState = getStartStateFromDaemonCallState(details[CALL_STATE], details[CALL_TYPE]); + QString account = details[CALL_ACCOUNTID]; + Call * call = new Call(startState, callId, peerName, peerNumber, account); + call->startTime = new QDateTime(QDateTime::currentDateTime()); + call->recording = callManager.getIsRecording(callId); + call->historyState = getHistoryStateFromDaemonCallState(details[CALL_STATE], details[CALL_TYPE]); + return call; } Call::~Call() { - delete startTime; - delete stopTime; - delete item; - //delete itemWidget; - delete historyItem; - //delete historyItemWidget; + delete startTime; + delete stopTime; } - + Call * Call::buildDialingCall(QString callId, const QString & peerName, QString account) { - Call * call = new Call(CALL_STATE_DIALING, callId, peerName, "", account); - call->historyState = NONE; - return call; + Call * call = new Call(CALL_STATE_DIALING, callId, peerName, "", account); + call->historyState = NONE; + return call; } Call * Call::buildIncomingCall(const QString & callId/*, const QString & from, const QString & account*/) { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - MapStringString details = callManager.getCallDetails(callId).value(); - qDebug() << "details = " << details; - QString from = details[CALL_PEER_NUMBER]; - QString account = details[CALL_ACCOUNTID]; - QString peerName = details[CALL_PEER_NAME]; - Call * call = new Call(CALL_STATE_INCOMING, callId, peerName, from, account); - call->historyState = MISSED; - return call; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + MapStringString details = callManager.getCallDetails(callId).value(); + qDebug() << "details = " << details; + QString from = details[CALL_PEER_NUMBER]; + QString account = details[CALL_ACCOUNTID]; + QString peerName = details[CALL_PEER_NAME]; + Call * call = new Call(CALL_STATE_INCOMING, callId, peerName, from, account); + call->historyState = MISSED; + return call; } Call * Call::buildRingingCall(const QString & callId) { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - MapStringString details = callManager.getCallDetails(callId).value(); - QString from = details[CALL_PEER_NUMBER]; - QString account = details[CALL_ACCOUNTID]; - QString peerName = details[CALL_PEER_NAME]; - Call * call = new Call(CALL_STATE_RINGING, callId, peerName, from, account); - call->historyState = OUTGOING; - return call; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + MapStringString details = callManager.getCallDetails(callId).value(); + QString from = details[CALL_PEER_NUMBER]; + QString account = details[CALL_ACCOUNTID]; + QString peerName = details[CALL_PEER_NAME]; + Call * call = new Call(CALL_STATE_RINGING, callId, peerName, from, account); + call->historyState = OUTGOING; + return call; } Call * Call::buildHistoryCall(const QString & callId, uint startTimeStamp, uint stopTimeStamp, QString account, QString name, QString number, QString type) { - if(name == "empty") name = ""; - Call * call = new Call(CALL_STATE_OVER, callId, name, number, account); - call->startTime = new QDateTime(QDateTime::fromTime_t(startTimeStamp)); - call->stopTime = new QDateTime(QDateTime::fromTime_t(stopTimeStamp)); - call->historyState = getHistoryStateFromType(type); - return call; + if(name == "empty") name = ""; + Call * call = new Call(CALL_STATE_OVER, callId, name, number, account); + call->startTime = new QDateTime(QDateTime::fromTime_t(startTimeStamp)); + call->stopTime = new QDateTime(QDateTime::fromTime_t(stopTimeStamp)); + call->historyState = getHistoryStateFromType(type); + return call; } history_state Call::getHistoryStateFromType(QString type) { - if(type == DAEMON_HISTORY_TYPE_MISSED) - { - return MISSED; - } - else if(type == DAEMON_HISTORY_TYPE_OUTGOING) - { - return OUTGOING; - } - else if(type == DAEMON_HISTORY_TYPE_INCOMING) - { - return INCOMING; - } - return NONE; + if(type == DAEMON_HISTORY_TYPE_MISSED) + return MISSED; + else if(type == DAEMON_HISTORY_TYPE_OUTGOING) + return OUTGOING; + else if(type == DAEMON_HISTORY_TYPE_INCOMING) + return INCOMING; + return NONE; } QString Call::getTypeFromHistoryState(history_state historyState) { - if(historyState == MISSED) - { - return DAEMON_HISTORY_TYPE_MISSED; - } - else if(historyState == OUTGOING) - { - return DAEMON_HISTORY_TYPE_OUTGOING; - } - else if(historyState == INCOMING) - { - return DAEMON_HISTORY_TYPE_INCOMING; - } - return QString(); + if(historyState == MISSED) + return DAEMON_HISTORY_TYPE_MISSED; + else if(historyState == OUTGOING) + return DAEMON_HISTORY_TYPE_OUTGOING; + else if(historyState == INCOMING) + return DAEMON_HISTORY_TYPE_INCOMING; + return QString(); } call_state Call::getStartStateFromDaemonCallState(QString daemonCallState, QString daemonCallType) { - if(daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT) - { - return CALL_STATE_CURRENT; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) - { - return CALL_STATE_HOLD; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_BUSY) - { - return CALL_STATE_BUSY; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_INCOMING) - { - return CALL_STATE_INCOMING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) - { - return CALL_STATE_RINGING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_INCOMING) - { - return CALL_STATE_INCOMING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_RINGING) - { - return CALL_STATE_RINGING; - } - else - { - return CALL_STATE_FAILURE; - } + if(daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT) + return CALL_STATE_CURRENT; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) + return CALL_STATE_HOLD; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_BUSY) + return CALL_STATE_BUSY; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_INCOMING) + { + return CALL_STATE_INCOMING; + } + else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) + return CALL_STATE_RINGING; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_INCOMING) + return CALL_STATE_INCOMING; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_RINGING) + return CALL_STATE_RINGING; + else + return CALL_STATE_FAILURE; } history_state Call::getHistoryStateFromDaemonCallState(QString daemonCallState, QString daemonCallType) { - if((daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT || daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) && daemonCallType == DAEMON_CALL_TYPE_INCOMING) - { - return INCOMING; - } - else if((daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT || daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) - { - return OUTGOING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_BUSY) - { - return OUTGOING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_INCOMING) - { - return INCOMING; - } - else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) - { - return MISSED; - } - else - { - return NONE; - } + if((daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT || daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) && daemonCallType == DAEMON_CALL_TYPE_INCOMING) + return INCOMING; + else if((daemonCallState == DAEMON_CALL_STATE_INIT_CURRENT || daemonCallState == DAEMON_CALL_STATE_INIT_HOLD) && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) + return OUTGOING; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_BUSY) + return OUTGOING; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_INCOMING) + return INCOMING; + else if(daemonCallState == DAEMON_CALL_STATE_INIT_INACTIVE && daemonCallType == DAEMON_CALL_TYPE_OUTGOING) + return MISSED; + else + return NONE; } daemon_call_state Call::toDaemonCallState(const QString & stateName) { - if(stateName == QString(CALL_STATE_CHANGE_HUNG_UP)) - { - return DAEMON_CALL_STATE_HUNG_UP; - } - if(stateName == QString(CALL_STATE_CHANGE_RINGING)) - { - return DAEMON_CALL_STATE_RINGING; - } - if(stateName == QString(CALL_STATE_CHANGE_CURRENT)) - { - return DAEMON_CALL_STATE_CURRENT; - } - if(stateName == QString(CALL_STATE_CHANGE_UNHOLD_CURRENT)) - { - return DAEMON_CALL_STATE_CURRENT; - } - if(stateName == QString(CALL_STATE_CHANGE_UNHOLD_RECORD)) - { - return DAEMON_CALL_STATE_CURRENT; - } - if(stateName == QString(CALL_STATE_CHANGE_HOLD)) - { - return DAEMON_CALL_STATE_HOLD; - } - if(stateName == QString(CALL_STATE_CHANGE_BUSY)) - { - return DAEMON_CALL_STATE_BUSY; - } - if(stateName == QString(CALL_STATE_CHANGE_FAILURE)) - { - return DAEMON_CALL_STATE_FAILURE; - } - qDebug() << "stateChanged signal received with unknown state."; - return DAEMON_CALL_STATE_FAILURE; + if(stateName == QString(CALL_STATE_CHANGE_HUNG_UP)) + return DAEMON_CALL_STATE_HUNG_UP; + if(stateName == QString(CALL_STATE_CHANGE_RINGING)) + return DAEMON_CALL_STATE_RINGING; + if(stateName == QString(CALL_STATE_CHANGE_CURRENT)) + return DAEMON_CALL_STATE_CURRENT; + if(stateName == QString(CALL_STATE_CHANGE_UNHOLD_CURRENT)) + return DAEMON_CALL_STATE_CURRENT; + if(stateName == QString(CALL_STATE_CHANGE_UNHOLD_RECORD)) + return DAEMON_CALL_STATE_CURRENT; + if(stateName == QString(CALL_STATE_CHANGE_HOLD)) + return DAEMON_CALL_STATE_HOLD; + if(stateName == QString(CALL_STATE_CHANGE_BUSY)) + return DAEMON_CALL_STATE_BUSY; + if(stateName == QString(CALL_STATE_CHANGE_FAILURE)) + return DAEMON_CALL_STATE_FAILURE; + qDebug() << "stateChanged signal received with unknown state."; + return DAEMON_CALL_STATE_FAILURE; } Contact * Call::findContactForNumberInKAddressBook(QString number) { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); - bool displayPhoto = addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]; - AddressBook * ab = KABC::StdAddressBook::self(true); - QVector<Contact *> results = QVector<Contact *>(); - AddressBook::Iterator it; - for ( it = ab->begin(); it != ab->end(); ++it ) { - for(int i = 0 ; i < it->phoneNumbers().count() ; i++) - { - if(it->phoneNumbers().at(i) == number) - { - return new Contact( *it, it->phoneNumbers().at(i), displayPhoto ); - } - } - } - return NULL; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + bool displayPhoto = addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]; + AddressBook * ab = KABC::StdAddressBook::self(true); + QVector<Contact *> results = QVector<Contact *>(); + AddressBook::Iterator it; + for ( it = ab->begin(); it != ab->end(); ++it ) { + for(int i = 0 ; i < it->phoneNumbers().count() ; i++) { + if(it->phoneNumbers().at(i) == number) { + return new Contact( *it, it->phoneNumbers().at(i), displayPhoto ); + } + } + } + return NULL; } -QListWidgetItem * Call::getItem() +/*QWidget * Call::getItemWidget() +{ + return itemWidget; + }*/ + +QString Call::getStopTimeStamp() const { - return item; + if (stopTime == NULL) + return QString(); + return QString::number(stopTime->toTime_t()); } -QWidget * Call::getItemWidget() +QString Call::getStartTimeStamp() const { - return itemWidget; + if (startTime == NULL) + return QString(); + return QString::number(startTime->toTime_t()); } -QListWidgetItem * Call::getHistoryItem() +QString Call::getTransferNumber() const { - if(historyItem == NULL && historyState != NONE) - { - historyItem = new QListWidgetItem(); - historyItem->setSizeHint(QSize(140,45)); - } - return historyItem; + return transferNumber; } -QString Call::getStopTimeStamp() const +void Call::setTransferNumber(QString number) { - if (stopTime == NULL) - { return QString(); } - return QString::number(stopTime->toTime_t()); + transferNumber = number; } -QString Call::getStartTimeStamp() const +QString Call::getCallNumber() const +{ + return callNumber; +} + +void Call::setCallNumber(QString number) { - if (startTime == NULL) - { return QString(); } - return QString::number(startTime->toTime_t()); -} - -QWidget * Call::getHistoryItemWidget() -{ - historyItemWidget = new QWidget(); - labelHistoryIcon = new QLabel(); - labelHistoryIcon->setPixmap(QPixmap(historyIcons[historyState])); - labelHistoryCallNumber = new QLabel(peerPhoneNumber); - if(startTime) - labelHistoryTime = new QLabel(startTime->toString(Qt::LocaleDate)); - else - labelHistoryTime = new QLabel(); - QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); - - QHBoxLayout * mainLayout = new QHBoxLayout(); - mainLayout->setContentsMargins ( 3, 1, 2, 1); - mainLayout->setSpacing(4); - QVBoxLayout * descr = new QVBoxLayout(); - descr->setMargin(1); - descr->setSpacing(1); - descr->setMargin(0); - descr->setSpacing(1); - mainLayout->addWidget(labelHistoryIcon); - if(! peerName.isEmpty()) - { - labelHistoryPeerName = new QLabel(peerName); - descr->addWidget(labelHistoryPeerName); - } - descr->addWidget(labelHistoryCallNumber); - descr->addWidget(labelHistoryTime); - mainLayout->addLayout(descr); - mainLayout->addItem(horizontalSpacer); - historyItemWidget->setLayout(mainLayout); - return historyItemWidget; + callNumber = number; } + + +/*QWidget * Call::getHistoryItemWidget() +{ + historyItemWidget = new QWidget(); + labelHistoryIcon = new QLabel(); + labelHistoryIcon->setPixmap(QPixmap(historyIcons[historyState])); + labelHistoryCallNumber = new QLabel(peerPhoneNumber); + if(startTime) + labelHistoryTime = new QLabel(startTime->toString(Qt::LocaleDate)); + else + labelHistoryTime = new QLabel(); + QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); + + QHBoxLayout * mainLayout = new QHBoxLayout(); + mainLayout->setContentsMargins ( 3, 1, 2, 1); + mainLayout->setSpacing(4); + QVBoxLayout * descr = new QVBoxLayout(); + descr->setMargin(1); + descr->setSpacing(1); + descr->setMargin(0); + descr->setSpacing(1); + mainLayout->addWidget(labelHistoryIcon); + if(! peerName.isEmpty()) + { + labelHistoryPeerName = new QLabel(peerName); + descr->addWidget(labelHistoryPeerName); + } + descr->addWidget(labelHistoryCallNumber); + descr->addWidget(labelHistoryTime); + mainLayout->addLayout(descr); + mainLayout->addItem(horizontalSpacer); + historyItemWidget->setLayout(mainLayout); + return historyItemWidget; + }*/ call_state Call::getState() const { - return currentState; + return currentState; } history_state Call::getHistoryState() const { - return historyState; + return historyState; } bool Call::isHistory() const { - return (getState() == CALL_STATE_OVER); + return (getState() == CALL_STATE_OVER); } call_state Call::stateChanged(const QString & newStateName) { - call_state previousState = currentState; - daemon_call_state dcs = toDaemonCallState(newStateName); - //(this->*(stateChangedFunctionMap[currentState][dcs]))(); - changeCurrentState(stateChangedStateMap[currentState][dcs]); - (this->*(stateChangedFunctionMap[previousState][dcs]))(); - qDebug() << "Calling stateChanged " << newStateName << " -> " << toDaemonCallState(newStateName) << " on call with state " << previousState << ". Become " << currentState; - return currentState; + call_state previousState = currentState; + daemon_call_state dcs = toDaemonCallState(newStateName); + //(this->*(stateChangedFunctionMap[currentState][dcs]))(); + changeCurrentState(stateChangedStateMap[currentState][dcs]); + (this->*(stateChangedFunctionMap[previousState][dcs]))(); + qDebug() << "Calling stateChanged " << newStateName << " -> " << toDaemonCallState(newStateName) << " on call with state " << previousState << ". Become " << currentState; + return currentState; } call_state Call::actionPerformed(call_action action) { - call_state previousState = currentState; - //update the state - changeCurrentState(actionPerformedStateMap[previousState][action]); - //execute the action associated with this transition - (this->*(actionPerformedFunctionMap[previousState][action]))(); - qDebug() << "Calling action " << action << " on call with state " << previousState << ". Become " << currentState; - //return the new state - return currentState; + call_state previousState = currentState; + //update the state + changeCurrentState(actionPerformedStateMap[previousState][action]); + //execute the action associated with this transition + (this->*(actionPerformedFunctionMap[previousState][action]))(); + qDebug() << "Calling action " << action << " on call with state " << previousState << ". Become " << currentState; + //return the new state + return currentState; } QString Call::getCallId() const { - return callId; + return callId; } QString Call::getPeerPhoneNumber() const { - return peerPhoneNumber; + return peerPhoneNumber; } QString Call::getPeerName() const { - return peerName; + return peerName; } call_state Call::getCurrentState() const { - return currentState; + return currentState; } bool Call::getRecording() const { - return recording; + return recording; } QString Call::getAccountId() const { - return account; + return account; } /* void Call::putRecording() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - bool daemonRecording = callManager.getIsRecording(this -> callId); - if(daemonRecording != recording) - { - callManager.setRecording(this->callId); - } + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + bool daemonRecording = callManager.getIsRecording(this -> callId); + if(daemonRecording != recording) + { + callManager.setRecording(this->callId); + } } */ @@ -551,233 +493,240 @@ void Call::nothing() void Call::accept() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Accepting call. callId : " << callId; - callManager.accept(callId); - this->startTime = new QDateTime(QDateTime::currentDateTime()); - this->historyState = INCOMING; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Accepting call. callId : " << callId; + callManager.accept(callId); + this->startTime = new QDateTime(QDateTime::currentDateTime()); + this->historyState = INCOMING; } void Call::refuse() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Refusing call. callId : " << callId; - callManager.refuse(callId); - this->startTime = new QDateTime(QDateTime::currentDateTime()); - this->historyState = MISSED; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Refusing call. callId : " << callId; + callManager.refuse(callId); + this->startTime = new QDateTime(QDateTime::currentDateTime()); + this->historyState = MISSED; } void Call::acceptTransf() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - QString number = labelTransferNumber->text(); - qDebug() << "Accepting call and transfering it to number : " << number << ". callId : " << callId; - callManager.accept(callId); - callManager.transfert(callId, number); - //this->historyState = TRANSFERED; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Accepting call and transfering it to number : " << transferNumber << ". callId : " << callId; + callManager.accept(callId); + callManager.transfert(callId, transferNumber); +// historyState = TRANSFERED; } void Call::acceptHold() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Accepting call and holding it. callId : " << callId; - callManager.accept(callId); - callManager.hold(callId); - this->historyState = INCOMING; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Accepting call and holding it. callId : " << callId; + callManager.accept(callId); + callManager.hold(callId); + this->historyState = INCOMING; } void Call::hangUp() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - this->stopTime = new QDateTime(QDateTime::currentDateTime()); - qDebug() << "Hanging up call. callId : " << callId; - callManager.hangUp(callId); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + this->stopTime = new QDateTime(QDateTime::currentDateTime()); + qDebug() << "Hanging up call. callId : " << callId; + callManager.hangUp(callId); } void Call::cancel() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Canceling call. callId : " << callId; - callManager.hangUp(callId); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Canceling call. callId : " << callId; + callManager.hangUp(callId); } void Call::hold() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Holding call. callId : " << callId; - callManager.hold(callId); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Holding call. callId : " << callId; + callManager.hold(callId); } void Call::call() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - QString number = labelCallNumber->text(); - qDebug() << "account = " << account; - if(account.isEmpty()) - { - qDebug() << "account is not set, taking the first registered."; - this->account = SFLPhoneView::accountInUseId(); - } - if(!account.isEmpty()) - { - qDebug() << "Calling " << number << " with account " << account << ". callId : " << callId; - callManager.placeCall(account, callId, number); - this->account = account; - this->peerPhoneNumber = number; -// Contact * contact = findContactForNumberInKAddressBook(peerPhoneNumber); -// if(contact) this->peerName = contact->getNickName(); - this->startTime = new QDateTime(QDateTime::currentDateTime()); - this->historyState = OUTGOING; - } - else - { - qDebug() << "Trying to call " << number << " with no account registered . callId : " << callId; - this->historyState = NONE; - throw "No account registered!"; - } + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "account = " << account; + if(account.isEmpty()) { + qDebug() << "account is not set, taking the first registered."; + this->account = SFLPhoneView::accountInUseId(); + } + if(!account.isEmpty()) { + qDebug() << "Calling " << callNumber << " with account " << account << ". callId : " << callId; + callManager.placeCall(account, callId, callNumber); + this->account = account; + this->peerPhoneNumber = callNumber; +// Contact * contact = findContactForNumberInKAddressBook(peerPhoneNumber); +// if(contact) this->peerName = contact->getNickName(); + this->startTime = new QDateTime(QDateTime::currentDateTime()); + this->historyState = OUTGOING; + } + else { + qDebug() << "Trying to call " << transferNumber << " with no account registered . callId : " << callId; + this->historyState = NONE; + throw "No account registered!"; + } } void Call::transfer() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - QString number = labelTransferNumber->text(); - qDebug() << "Transfering call to number : " << number << ". callId : " << callId; - callManager.transfert(callId, number); - this->stopTime = new QDateTime(QDateTime::currentDateTime()); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Transfering call to number : " << transferNumber << ". callId : " << callId; + callManager.transfert(callId, transferNumber); + this->stopTime = new QDateTime(QDateTime::currentDateTime()); } void Call::unhold() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Unholding call. callId : " << callId; - callManager.unhold(callId); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Unholding call. callId : " << callId; + callManager.unhold(callId); } /* void Call::switchRecord() { - qDebug() << "Switching record state for call automate. callId : " << callId; - recording = !recording; + qDebug() << "Switching record state for call automate. callId : " << callId; + recording = !recording; } */ void Call::setRecord() { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "Setting record " << !recording << " for call. callId : " << callId; - callManager.setRecording(callId); - recording = !recording; - updateItem(); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "Setting record " << !recording << " for call. callId : " << callId; + callManager.setRecording(callId); + recording = !recording; } void Call::start() { - qDebug() << "Starting call. callId : " << callId; - this->startTime = new QDateTime(QDateTime::currentDateTime()); + qDebug() << "Starting call. callId : " << callId; + this->startTime = new QDateTime(QDateTime::currentDateTime()); } void Call::startStop() { - qDebug() << "Starting and stoping call. callId : " << callId; - this->startTime = new QDateTime(QDateTime::currentDateTime()); - this->stopTime = new QDateTime(QDateTime::currentDateTime()); + qDebug() << "Starting and stoping call. callId : " << callId; + this->startTime = new QDateTime(QDateTime::currentDateTime()); + this->stopTime = new QDateTime(QDateTime::currentDateTime()); } void Call::stop() { - qDebug() << "Stoping call. callId : " << callId; - this->stopTime = new QDateTime(QDateTime::currentDateTime()); + qDebug() << "Stoping call. callId : " << callId; + this->stopTime = new QDateTime(QDateTime::currentDateTime()); } void Call::startWeird() { - qDebug() << "Starting call. callId : " << callId; - this->startTime = new QDateTime(QDateTime::currentDateTime()); - qDebug() << "Warning : call " << callId << " had an unexpected transition of state at its start."; + qDebug() << "Starting call. callId : " << callId; + this->startTime = new QDateTime(QDateTime::currentDateTime()); + qDebug() << "Warning : call " << callId << " had an unexpected transition of state at its start."; } void Call::warning() { - qDebug() << "Warning : call " << callId << " had an unexpected transition of state."; + qDebug() << "Warning : call " << callId << " had an unexpected transition of state."; } -void Call::appendItemText(QString text) +void Call::appendText(QString str) { - QLabel * editNumber; - switch(currentState) - { - case CALL_STATE_TRANSFER: - case CALL_STATE_TRANSF_HOLD: - editNumber = labelTransferNumber; - break; - case CALL_STATE_DIALING: - editNumber = labelCallNumber; - break; - case CALL_STATE_CURRENT: - text = QString(); - editNumber = labelCallNumber; - break; - default: - qDebug() << "Type key on call not editable. Doing nothing."; - return; - } - editNumber->setText(editNumber->text() + text); + QString * editNumber; + + switch (currentState) { + case CALL_STATE_TRANSFER: + case CALL_STATE_TRANSF_HOLD: + editNumber = &transferNumber; + break; + case CALL_STATE_DIALING: + editNumber = &callNumber; + break; + default: + qDebug() << "Backspace on call not editable. Doing nothing."; + return; + } + + editNumber->append(str); + + emit changed(); } void Call::backspaceItemText() { - QLabel * editNumber; - switch (currentState) - { - case CALL_STATE_TRANSFER: - case CALL_STATE_TRANSF_HOLD: - editNumber = labelTransferNumber; - break; - case CALL_STATE_DIALING: - editNumber = labelCallNumber; - break; - default: - qDebug() << "Backspace on call not editable. Doing nothing."; - return; - } - QString text = editNumber->text(); - int textSize = text.size(); - if(textSize > 0) - { - editNumber->setText(text.remove(textSize-1, 1)); - } - else - { - changeCurrentState(CALL_STATE_OVER); - } + QString * editNumber; + + switch (currentState) { + case CALL_STATE_TRANSFER: + case CALL_STATE_TRANSF_HOLD: + editNumber = &transferNumber; + break; + case CALL_STATE_DIALING: + editNumber = &callNumber; + break; + default: + qDebug() << "Backspace on call not editable. Doing nothing."; + return; + } + QString text = *editNumber; + int textSize = text.size(); + if(textSize > 0) { + *editNumber = text.remove(textSize-1, 1); + + emit changed(); + } + else { + changeCurrentState(CALL_STATE_OVER); + } } void Call::changeCurrentState(call_state newState) { - currentState = newState; - updateItem(); -} - -void Call::updateItem() -{ - if(currentState != CALL_STATE_OVER) - { - if(currentState == CALL_STATE_CURRENT && recording) - setItemIcon(ICON_CURRENT_REC); - else - { - QString str = QString(callStateIcons[currentState]); - setItemIcon(str); - } - bool transfer = currentState == CALL_STATE_TRANSFER || currentState == CALL_STATE_TRANSF_HOLD; - labelTransferPrefix->setVisible(transfer); - labelTransferNumber->setVisible(transfer); - if(!transfer) - labelTransferNumber->setText(""); - } - else - { -// qDebug() << "Updating item of call of state OVER. Doing nothing."; - } + qDebug() << "Call state changed to: " << newState; + currentState = newState; + + emit changed(); + + if (currentState == CALL_STATE_OVER) + emit isOver(this); } +bool Call::isConference() const { + return conference; +} + +void Call::setConference(bool value) { + conference = value; +} + +QString Call::getConfId() const { + return confId; +} + +void Call::setConfId(QString value) { + confId = value; +} + +QString Call::getCurrentCodecName() { + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + return callManager.getCurrentCodecName(callId); +} + +//This function could also be called mayBeSecure or haveChancesToBeEncryptedButWeCantTell. +bool Call::isSecure() { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + //MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + AccountList accountList; + Account* currentAccount = accountList.getAccountById(account); + + if ((currentAccount->getAccountDetail(TLS_ENABLE ) == "true") || (currentAccount->getAccountDetail(TLS_METHOD).toInt())) { + return true; + } + return false; +} diff --git a/sflphone-client-kde/src/Call.h b/sflphone-client-kde/src/Call.h index e9b99619a342c29229aaeaadb4744a6499e6175d..aee93c53daaf121d66f72c3779c9e93782029c05 100644 --- a/sflphone-client-kde/src/Call.h +++ b/sflphone-client-kde/src/Call.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Valle <emmanuel.lepage@savoirfairelinux.com >* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -25,7 +25,6 @@ #include <QtCore/QString> #include <QtCore/QDateTime> -#include <QtGui/QListWidgetItem> #include <QtGui/QLabel> #include <QtGui/QWidget> @@ -138,151 +137,160 @@ typedef void (Call::*function)(); * keeping the information gathered by the call and needed by the history * call (history state, start time...). **/ -class Call +class Call : public QObject { + Q_OBJECT private: - //Call attributes - - QString account; - QString callId; - QString peerPhoneNumber; - QString peerName; - history_state historyState; - QDateTime * startTime; - QDateTime * stopTime; - - QListWidgetItem * item; - QWidget * itemWidget; - QLabel * labelIcon; - QLabel * labelPeerName; - QLabel * labelCallNumber; - QLabel * labelTransferPrefix; - QLabel * labelTransferNumber; - - QListWidgetItem * historyItem; - QWidget * historyItemWidget; - QLabel * labelHistoryIcon; - QLabel * labelHistoryPeerName; - QLabel * labelHistoryCallNumber; - QLabel * labelHistoryTime; - - - //Automate attributes - /** - * actionPerformedStateMap[orig_state][action] - * Map of the states to go to when the action action is - * performed on a call in state orig_state. - **/ - static const call_state actionPerformedStateMap [11][5]; - - /** - * actionPerformedFunctionMap[orig_state][action] - * Map of the functions to call when the action action is - * performed on a call in state orig_state. - **/ - static const function actionPerformedFunctionMap [11][5]; - - /** - * stateChangedStateMap[orig_state][daemon_new_state] - * Map of the states to go to when the daemon sends the signal - * callStateChanged with arg daemon_new_state - * on a call in state orig_state. - **/ - static const call_state stateChangedStateMap [11][6]; - - /** - * stateChangedFunctionMap[orig_state][daemon_new_state] - * Map of the functions to call when the daemon sends the signal - * callStateChanged with arg daemon_new_state - * on a call in state orig_state. - **/ - static const function stateChangedFunctionMap [11][6]; - - static const char * historyIcons[3]; - - call_state currentState; - bool recording; - - static const char * callStateIcons[11]; + //Call attributes + + QString account; + QString callId; + QString confId; + QString peerPhoneNumber; + QString peerName; + history_state historyState; + QDateTime * startTime; + QDateTime * stopTime; + + /* + QWidget * historyItemWidget; + QLabel * labelHistoryIcon; + QLabel * labelHistoryPeerName; + QLabel * labelHistoryCallNumber; + QLabel * labelHistoryTime; + */ - Call(call_state startState, QString callId, QString peerNumber = "", QString account = "", QString peerName = ""); - - static daemon_call_state toDaemonCallState(const QString & stateName); - - //Automate functions - // See actionPerformedFunctionMap and stateChangedFunctionMap - // to know when it is called. - void nothing(); - void accept(); - void refuse(); - void acceptTransf(); - void acceptHold(); - void hangUp(); - void cancel(); - void hold(); - void call(); - void transfer(); - void unhold(); - void switchRecord(); - void setRecord(); - void start(); - void startStop(); - void stop(); - void startWeird(); - void warning(); + QString transferNumber; + QString callNumber; + + bool conference; + + //Automate attributes + /** + * actionPerformedStateMap[orig_state][action] + * Map of the states to go to when the action action is + * performed on a call in state orig_state. + **/ + static const call_state actionPerformedStateMap [11][5]; + + /** + * actionPerformedFunctionMap[orig_state][action] + * Map of the functions to call when the action action is + * performed on a call in state orig_state. + **/ + static const function actionPerformedFunctionMap [11][5]; + + /** + * stateChangedStateMap[orig_state][daemon_new_state] + * Map of the states to go to when the daemon sends the signal + * callStateChanged with arg daemon_new_state + * on a call in state orig_state. + **/ + static const call_state stateChangedStateMap [11][6]; + + /** + * stateChangedFunctionMap[orig_state][daemon_new_state] + * Map of the functions to call when the daemon sends the signal + * callStateChanged with arg daemon_new_state + * on a call in state orig_state. + **/ + static const function stateChangedFunctionMap [11][6]; + + static const char * historyIcons[3]; + + call_state currentState; + bool recording; + + static const char * callStateIcons[11]; + + Call(call_state startState, QString callId, QString peerNumber = "", QString account = "", QString peerName = ""); + + static daemon_call_state toDaemonCallState(const QString & stateName); + + //Automate functions + // See actionPerformedFunctionMap and stateChangedFunctionMap + // to know when it is called. + void nothing(); + void accept(); + void refuse(); + void acceptTransf(); + void acceptHold(); + void hangUp(); + void cancel(); + void hold(); + void call(); + void transfer(); + void unhold(); + void switchRecord(); + void setRecord(); + void start(); + void startStop(); + void stop(); + void startWeird(); + void warning(); public: - - //Constructors & Destructors - ~Call(); - void initCallItem(); - void initCallItemWidget(); - static Call * buildDialingCall(QString callId, const QString & peerName, QString account = ""); - static Call * buildIncomingCall(const QString & callId); - static Call * buildRingingCall(const QString & callId); - static Call * buildHistoryCall(const QString & callId, uint startTimeStamp, uint stopTimeStamp, QString account, QString name, QString number, QString type); - static Call * buildExistingCall(QString callId); - - static history_state getHistoryStateFromType(QString type); - static QString getTypeFromHistoryState(history_state historyState); - static call_state getStartStateFromDaemonCallState(QString daemonCallState, QString daemonCallType); - static history_state getHistoryStateFromDaemonCallState(QString daemonCallState, QString daemonCallType); - - //Getters - QListWidgetItem * getItem(); - QWidget * getItemWidget(); - QListWidgetItem * getHistoryItem(); - QWidget * getHistoryItemWidget(); - call_state getState() const; - QString getCallId() const; - QString getPeerPhoneNumber() const; - QString getPeerName() const; - call_state getCurrentState() const; - history_state getHistoryState() const; - bool getRecording() const; - QString getAccountId() const; - bool isHistory() const; - QString getStopTimeStamp() const; - QString getStartTimeStamp() const; - - //Automate calls - call_state stateChanged(const QString & newState); - call_state actionPerformed(call_action action); - - //Setters - void appendItemText(QString text); - void backspaceItemText(); - void setItemIcon(const QString pixmap); -// void setPeerName(const QString peerName); - void changeCurrentState(call_state newState); - - //Updates - void updateItem(); + Call(QString confId, QString account); + //Constructors & Destructors + ~Call(); +// void initCallItemWidget(); + static Call * buildDialingCall(QString callId, const QString & peerName, QString account = ""); + static Call * buildIncomingCall(const QString & callId); + static Call * buildRingingCall(const QString & callId); + static Call * buildHistoryCall(const QString & callId, uint startTimeStamp, uint stopTimeStamp, QString account, QString name, QString number, QString type); + static Call * buildExistingCall(QString callId); + + static history_state getHistoryStateFromType(QString type); + static QString getTypeFromHistoryState(history_state historyState); + static call_state getStartStateFromDaemonCallState(QString daemonCallState, QString daemonCallType); + static history_state getHistoryStateFromDaemonCallState(QString daemonCallState, QString daemonCallType); + + //Getters + call_state getState() const; + QString getCallId() const; + QString getPeerPhoneNumber() const; + QString getPeerName() const; + call_state getCurrentState() const; + history_state getHistoryState() const; + bool getRecording() const; + QString getAccountId() const; + bool isHistory() const; + QString getStopTimeStamp() const; + QString getStartTimeStamp() const; + QString getCurrentCodecName(); + bool isSecure(); + bool isConference() const; + + void setConference(bool value); + + QString getConfId() const; + void setConfId(QString value); + + QString getTransferNumber() const; + void setTransferNumber(QString number); + + QString getCallNumber() const; + void setCallNumber(QString number); - //Utils - Contact * findContactForNumberInKAddressBook(QString number); + //Automate calls + call_state stateChanged(const QString & newState); + call_state actionPerformed(call_action action); + + //Setters +// void appendItemText(QString text); + void appendText(QString str); + void backspaceItemText(); +// void setItemIcon(const QString pixmap); +// void setPeerName(const QString peerName); + void changeCurrentState(call_state newState); + + //Utils + Contact * findContactForNumberInKAddressBook(QString number); +signals: + void changed(); + void isOver(Call*); }; -#endif \ No newline at end of file +#endif diff --git a/sflphone-client-kde/src/CallList.cpp b/sflphone-client-kde/src/CallList.cpp deleted file mode 100644 index 615662de35429fc5013ce6041f455ce8bec933e4..0000000000000000000000000000000000000000 --- a/sflphone-client-kde/src/CallList.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#include "CallList.h" - - -#include "callmanager_interface_singleton.h" -#include "configurationmanager_interface_singleton.h" - -CallList::CallList(QObject * parent) - : QObject(parent) -{ - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList callList = callManager.getCallList(); - qDebug() << "Call List = " << callList; - calls = new QVector<Call *>(); - for(int i = 0 ; i < callList.size() ; i++) - { - calls->append(Call::buildExistingCall(callList[i])); - } - MapStringString historyMap = configurationManager.getHistory().value(); - qDebug() << "Call History = " << historyMap; - QMapIterator<QString, QString> i(historyMap); - while (i.hasNext()) { - i.next(); - uint startTimeStamp = i.key().toUInt(); - QStringList param = i.value().split("|"); - QString type = param[0]; - QString number = param[1]; - QString name = param[2]; - uint stopTimeStamp = param[3].toUInt(); - QString account = param[4]; - calls->insert(0, Call::buildHistoryCall(generateCallId(), startTimeStamp, stopTimeStamp, account, name, number, type)); - } -} - -MapStringString CallList::getHistoryMap() -{ - MapStringString res; - for(int i = 0 ; i < size() ; i++) - { - Call * call = (*calls)[i]; - if( - call->getState() == CALL_STATE_OVER && - call->getHistoryState() != NONE - ) - { - QString key = call->getStartTimeStamp(); - QString val = Call::getTypeFromHistoryState(call->getHistoryState()) + "|" + call->getPeerPhoneNumber() + "|" + call->getPeerName() + "|" + call->getStopTimeStamp() + "|" + call->getAccountId(); - res[key] = val; - } - } - qDebug() << res; - return res; -} - -CallList::~CallList() -{ - for(int i=0 ; i<size() ; i++) - { - delete (*calls)[i]; - } - delete calls; -} - -Call * CallList::operator[](const QListWidgetItem * item) -{ - for(int i = 0 ; i < size() ; i++) - { - if ((*calls)[i]->getItem() == item) - { - return (*calls)[i]; - } - } - return NULL; -} - -Call * CallList::findCallByItem(const QListWidgetItem * item) -{ - for(int i = 0 ; i < size() ; i++) - { - if ((*calls)[i]->getItem() == item) - { - return (*calls)[i]; - } - } - return NULL; -} - -Call * CallList::findCallByHistoryItem(const QListWidgetItem * item) -{ - for(int i = 0 ; i < size() ; i++) - { - if ((*calls)[i]->getHistoryItem() == item) - { - return (*calls)[i]; - } - } - return NULL; -} - -Call * CallList::findCallByCallId(const QString & callId) -{ - for(int i = 0 ; i < size() ; i++) - { - if ((*calls)[i]->getCallId() == callId) - { - return (*calls)[i]; - } - } - return NULL; -} - -Call * CallList::operator[](const QString & callId) -{ - for(int i = 0 ; i < size() ; i++) - { - if ((*calls)[i]->getCallId() == callId) - { - return (*calls)[i]; - } - } - return NULL; -} - -Call * CallList::operator[](int ind) -{ - return (*calls)[ind]; -} - - -QString CallList::generateCallId() -{ - int id = qrand(); - QString res = QString::number(id); - return res; -} - -int CallList::size() -{ - return calls->size(); -} - -Call * CallList::addDialingCall(const QString & peerName, QString account) -{ - Call * call = Call::buildDialingCall(generateCallId(), peerName, account); - calls->insert(0, call); - return call; -} - -Call * CallList::addIncomingCall(const QString & callId/*, const QString & from, const QString & account*/) -{ - Call * call = Call::buildIncomingCall(callId/*, from, account*/); - calls->insert(0, call); - return call; -} - -Call * CallList::addRingingCall(const QString & callId) -{ - Call * call = Call::buildRingingCall(callId); - calls->insert(0, call); - return call; -} - -void CallList::clearHistory() -{ - qDebug() << "clearHistory"; - Call * call; - QMutableVectorIterator<Call *> i(*calls); - while (i.hasNext()) - { - call = i.next(); - if (call->isHistory()) - { i.remove(); } - } -} diff --git a/sflphone-client-kde/src/CallList.h b/sflphone-client-kde/src/CallList.h deleted file mode 100644 index 1aeb35dae53f1cdfd88632c1a6e93eb0ac4e38d8..0000000000000000000000000000000000000000 --- a/sflphone-client-kde/src/CallList.h +++ /dev/null @@ -1,70 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#ifndef CALL_LIST_H -#define CALL_LIST_H - -#include <QtCore/QVector> -#include <QtCore/QString> -#include <QtGui/QListWidgetItem> - -#include "Call.h" -#include "dbus/metatypes.h" - -class CallList : public QObject -{ -Q_OBJECT - -private: - - QVector<Call *> * calls; - -public: - - //Constructors & Destructors - CallList(QObject * parent = 0); - ~CallList(); - - //Getters - Call * findCallByItem(const QListWidgetItem * item); - Call * findCallByHistoryItem(const QListWidgetItem * item); - Call * findCallByCallId(const QString & callId); - Call * operator[](const QListWidgetItem * item); - Call * operator[](const QString & callId); - Call * operator[](int ind); - int size(); - MapStringString getHistoryMap(); - - //Setters - Call * addDialingCall(const QString & peerName = "", QString account = ""); - Call * addIncomingCall(const QString & callId/*, const QString & from, const QString & account*/); - Call * addRingingCall(const QString & callId); - - //GSetter - QString generateCallId(); - -public slots: - void clearHistory(); - -}; - - -#endif \ No newline at end of file diff --git a/sflphone-client-kde/src/CallModel.cpp b/sflphone-client-kde/src/CallModel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..743707f0bd7a5caded3ee131c54cf9636f9ddeb0 --- /dev/null +++ b/sflphone-client-kde/src/CallModel.cpp @@ -0,0 +1,549 @@ +/*************************************************************************** + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Emmanuel Lepage Valle <emmanuel.lepage@savoirfairelinux.com >* + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#include <CallModel.h> +#include <QDebug> + +#include "callmanager_interface_singleton.h" +#include "configurationmanager_interface_singleton.h" +#include "sflphone_const.h" + +/***************************************************************************** + * * + * Constructor * + * * + ****************************************************************************/ + +///Retrieve current and older calls from the daemon, fill history and the calls TreeView and enable drag n' drop +CallModel::CallModel(ModelType type, QWidget* parent) : QTreeWidget(parent) +{ + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList callList = callManager.getCallList(); + foreach (QString callId, callList) { + Call* tmpCall = Call::buildExistingCall(callId); + activeCalls[tmpCall->getCallId()] = tmpCall; + if (type == ActiveCall) + addCall(tmpCall); + } + + QStringList confList = callManager.getConferenceList(); + foreach (QString confId, confList) { + addConference(confId); + } + + //Add older calls + MapStringString historyMap = configurationManager.getHistory().value(); + qDebug() << "Call History = " << historyMap; + QMapIterator<QString, QString> i(historyMap); + while (i.hasNext()) { + i.next(); + uint startTimeStamp = i.key().toUInt(); + QStringList param = i.value().split("|"); + QString type = param[0]; + QString number = param[1]; + QString name = param[2]; + uint stopTimeStamp = param[3].toUInt(); + QString account = param[4]; + historyCalls[QString::number(startTimeStamp)] = Call::buildHistoryCall(generateCallId(), startTimeStamp, stopTimeStamp, account, name, number, type); + //if (type == ActiveCall) //TODO uncomment + //addCall(historyCalls[QString::number(startTimeStamp)]); + } + + //Widget part + setAcceptDrops(true); + setDragEnabled(true); + CallTreeItemDelegate *delegate = new CallTreeItemDelegate(); + setItemDelegate(delegate); +} + + + +/***************************************************************************** + * * + * Drag and drop related code * + * * + ****************************************************************************/ + +///Action performed when an item is dropped on the TreeView +bool CallModel::dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action) +{ + QByteArray encodedData = data->data(MIME_CALLID); + + if (!QString(encodedData).isEmpty()) { + clearArtefact(privateCallList_callId[encodedData]->treeItem); + + if (!parent) { + qDebug() << "Call dropped on empty space"; + if (privateCallList_callId[encodedData]->treeItem->parent()) + detachParticipant(privateCallList_callId[encodedData]->call_real); + else + qDebug() << "The call is not in a conversation (doing nothing)"; + return true; + } + + if (privateCallList_item[parent]->call_real->getCallId() == QString(encodedData)) { + qDebug() << "Call dropped on itself (doing nothing)"; + return true; + } + + if ((parent->parent()) || (parent->childCount())) { + qDebug() << "Call dropped on a conference"; + + if ((privateCallList_callId[encodedData]->treeItem->childCount()) && (!parent->childCount())) { + qDebug() << "Conference dropped on a call (doing nothing)"; + return true; + } + + QTreeWidgetItem* call1 = privateCallList_callId[encodedData]->treeItem; + QTreeWidgetItem* call2 = (parent->parent())?parent->parent():parent; + + if (call1->parent()) { + if (call1->parent() == call2) { + qDebug() << "Call dropped on it's own conversation (doing nothing)"; + return true; + } + else if (privateCallList_item[call1]->treeItem->childCount()) { + qDebug() << "Merging two conferences"; + mergeConferences(privateCallList_item[call1]->call_real,privateCallList_item[call2]->call_real); + } + else if (call1->parent()) { + qDebug() << "Moving call from a conference to an other"; + detachParticipant(privateCallList_callId[encodedData]->call_real); + } + } + + addParticipant(privateCallList_item[call1]->call_real,privateCallList_item[call2]->call_real); + return true; + } + + qDebug() << "Call dropped on another call"; + createConferenceFromCall(privateCallList_callId[encodedData]->call_real,privateCallList_item[parent]->call_real); + return true; + } + + return false; +} + +///Encode data to be tranported during the drag n' drop operation +QMimeData* CallModel::mimeData(const QList<QTreeWidgetItem *> items) const +{ + QMimeData *mimeData = new QMimeData(); + + //Call ID for internal call merging and spliting + + if (privateCallList_item[items[0]]->call_real->isConference()) + mimeData->setData(MIME_CALLID, privateCallList_item[items[0]]->call_real->getConfId().toAscii()); + else + mimeData->setData(MIME_CALLID, privateCallList_item[items[0]]->call_real->getCallId().toAscii()); + + //Plain text for other applications + mimeData->setData(MIME_PLAIN_TEXT, QString(privateCallList_item[items[0]]->call_real->getPeerName()+"\n"+privateCallList_item[items[0]]->call_real->getPeerPhoneNumber()).toAscii()); + + //TODO Comment this line if you don't want to see ugly artefact, but the caller details will not be visible while dragged + items[0]->setText(0, privateCallList_item[items[0]]->call_real->getPeerName() + "\n" + privateCallList_item[items[0]]->call_real->getPeerPhoneNumber()); + return mimeData; +} + + + +/***************************************************************************** + * * + * Access related functions * + * * + ****************************************************************************/ + +///Return the active call count +int CallModel::size() +{ + return activeCalls.size(); +} + +///Return a call corresponding to this ID or NULL +Call* CallModel::findCallByCallId(QString callId) +{ + return activeCalls[callId]; +} + +///Return the action call list +QList<Call*> CallModel::getCallList() +{ + QList<Call*> callList; + foreach(Call* call, activeCalls) { + callList.push_back(call); + } + return callList; +} + + + +/***************************************************************************** + * * + * View related code * + * * + ****************************************************************************/ + +///Set the TreeView header text +void CallModel::setTitle(QString title) +{ + headerItem()->setText(0,title); +} + +///Select an item in the TreeView +bool CallModel::selectItem(Call* item) +{ + if (privateCallList_call[item]->treeItem) { + setCurrentItem(privateCallList_call[item]->treeItem); + return true; + } + else + return false; +} + +///Return the current item +Call* CallModel::getCurrentItem() +{ + if (currentItem() && privateCallList_item[QTreeWidget::currentItem()]) + return privateCallList_item[QTreeWidget::currentItem()]->call_real; + else + return false; +} + +///Remove a TreeView item and delete it +bool CallModel::removeItem(Call* item) +{ + if (indexOfTopLevelItem(privateCallList_call[item]->treeItem) != -1) {//TODO To remove once safe + removeItemWidget(privateCallList_call[item]->treeItem,0); + return true; + } + else + return false; +} + +///Return the TreeView, this +QWidget* CallModel::getWidget() +{ + return this; +} + +///Convenience wrapper around extractItem(QTreeWidgetItem*) +QTreeWidgetItem* CallModel::extractItem(QString callId) +{ + QTreeWidgetItem* currentItem = privateCallList_callId[callId]->treeItem; + return extractItem(currentItem); +} + +///Extract an item from the TreeView and return it, the item is -not- deleted +QTreeWidgetItem* CallModel::extractItem(QTreeWidgetItem* item) +{ + QTreeWidgetItem* parentItem = item->parent(); + + if (parentItem) { + if ((indexOfTopLevelItem(parentItem) == -1 ) || (parentItem->indexOfChild(item) == -1)) { + qDebug() << "The conversation does not exist"; + return 0; + } + + QTreeWidgetItem* toReturn = parentItem->takeChild(parentItem->indexOfChild(item)); + + return toReturn; + } + else + return takeTopLevelItem(indexOfTopLevelItem(item)); +} + +///Convenience wrapper around insertItem(QTreeWidgetItem*, QTreeWidgetItem*) +CallTreeItem* CallModel::insertItem(QTreeWidgetItem* item, Call* parent) +{ + return insertItem(item,(parent)?privateCallList_call[parent]->treeItem:0); +} + +///Insert a TreeView item in the TreeView as child of parent or as a top level item, also restore the item Widget +CallTreeItem* CallModel::insertItem(QTreeWidgetItem* item, QTreeWidgetItem* parent) +{ + if (!item) { + qDebug() << "This is not a valid call"; + return 0; + } + + if (!parent) + insertTopLevelItem(0,item); + else + parent->addChild(item); + + privateCallList_widget.remove(privateCallList_item[item]->call); + privateCallList_item[item]->call = new CallTreeItem(); + privateCallList_item[item]->call->setCall(privateCallList_item[item]->call_real); + privateCallList_widget[privateCallList_item[item]->call] = privateCallList_item[item]; + + setItemWidget(item,0,privateCallList_item[item]->call); + + expandAll(); + return privateCallList_item[item]->call; +} + +///Remove a call from the interface +void CallModel::destroyCall(Call* toDestroy) +{ + if (privateCallList_call[toDestroy]->treeItem == currentItem()) + setCurrentItem(0); + + if (indexOfTopLevelItem(privateCallList_call[toDestroy]->treeItem) != -1) + takeTopLevelItem(indexOfTopLevelItem(privateCallList_call[toDestroy]->treeItem)); + else if (privateCallList_call[toDestroy]->treeItem->parent()) + privateCallList_call[toDestroy]->treeItem->parent()->removeChild(privateCallList_call[toDestroy]->treeItem); + else + qDebug() << "Call not found"; +} + +/// @todo Remove the text partially covering the TreeView item widget when it is being dragged, a beter implementation is needed +void CallModel::clearArtefact(QTreeWidgetItem* item) +{ + item->setText(0,""); +} + + + +/***************************************************************************** + * * + * Call related code * + * * + ****************************************************************************/ + +///Add a call in the model structure, the call must exist before being added to the model +Call* CallModel::addCall(Call* call, Call* parent) +{ + InternalCallModelStruct* aNewStruct = new InternalCallModelStruct; + aNewStruct->call_real = call; + + QTreeWidgetItem* callItem = new QTreeWidgetItem(); + aNewStruct->treeItem = callItem; + aNewStruct->conference = false; + + privateCallList_item[callItem] = aNewStruct; + privateCallList_call[call] = aNewStruct; + privateCallList_callId[call->getCallId()] = aNewStruct; + + aNewStruct->call = insertItem(callItem,parent); + privateCallList_widget[aNewStruct->call] = aNewStruct; + + setCurrentItem(callItem); + + connect(call, SIGNAL(isOver(Call*)), this, SLOT(destroyCall(Call*))); + return call; +} + +///Create a new dialing call from peer name and the account ID +Call* CallModel::addDialingCall(const QString & peerName, QString account) +{ + Call* call = Call::buildDialingCall(generateCallId(), peerName, account); + activeCalls[call->getCallId()] = call; + addCall(call); + selectItem(call); + return call; +} + +///Create a new incomming call when the daemon is being called +Call* CallModel::addIncomingCall(const QString & callId) +{ + Call* call = Call::buildIncomingCall(callId); + activeCalls[call->getCallId()] = call; + addCall(call); + selectItem(call); + return call; +} + +///Create a ringing call +Call* CallModel::addRingingCall(const QString & callId) +{ + Call* call = Call::buildRingingCall(callId); + activeCalls[call->getCallId()] = call; + addCall(call); + selectItem(call); + return call; +} + +///Generate a new random call unique identifier (callId) +QString CallModel::generateCallId() +{ + int id = qrand(); + QString res = QString::number(id); + return res; +} + + + +/***************************************************************************** + * * + * Conference related code * + * * + ****************************************************************************/ + +///Add a new conference, get the call list and update the interface as needed +Call* CallModel::addConference(const QString & confID) +{ + qDebug() << "Notified of a new conference " << confID; + CallManagerInterface& callManager = CallManagerInterfaceSingleton::getInstance(); + QStringList callList = callManager.getParticipantList(confID); + qDebug() << "Paticiapants are:" << callList; + + if (!callList.size()) { + qDebug() << "This conference (" + confID + ") contain no call"; + return 0; + } + + if (!privateCallList_callId[callList[0]]) { + qDebug() << "Invalid call"; + return 0; + } + Call* newConf = new Call(confID, privateCallList_callId[callList[0]]->call_real->getAccountId()); + + InternalCallModelStruct* aNewStruct = new InternalCallModelStruct; + aNewStruct->call_real = newConf; + aNewStruct->conference = true; + + QTreeWidgetItem* confItem = new QTreeWidgetItem(); + aNewStruct->treeItem = confItem; + + privateCallList_item[confItem] = aNewStruct; + privateCallList_call[newConf] = aNewStruct; + privateCallList_callId[newConf->getConfId()] = aNewStruct; //WARNING It may break something is it is done wrong + + aNewStruct->call = insertItem(confItem,(QTreeWidgetItem*)0); + privateCallList_widget[aNewStruct->call] = aNewStruct; + + setCurrentItem(confItem); + + foreach (QString callId, callList) { + insertItem(extractItem(privateCallList_callId[callId]->treeItem),confItem); + } + return newConf; +} + +///Join two call to create a conference, the conference will be created later (see addConference) +bool CallModel::createConferenceFromCall(Call* call1, Call* call2) +{ + qDebug() << "Joining call: " << call1->getCallId() << " and " << call2->getCallId(); + CallManagerInterface &callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.joinParticipant(call1->getCallId(),call2->getCallId()); + return true; +} + +///Add a new participant to a conference +bool CallModel::addParticipant(Call* call2, Call* conference) +{ + if (conference->isConference()) { + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.addParticipant(call2->getCallId(), conference->getConfId()); + return true; + } + else { + qDebug() << "This is not a conference"; + return false; + } +} + +///Remove a participant from a conference +bool CallModel::detachParticipant(Call* call) +{ + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.detachParticipant(call->getCallId()); + return true; +} + +///Merge two conferences +bool CallModel::mergeConferences(Call* conf1, Call* conf2) +{ + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.joinConference(conf1->getConfId(),conf2->getConfId()); + return true; +} + +///Executed when the daemon signal a modification in an existing conference. Update the call list and update the TreeView +void CallModel::conferenceChanged(const QString &confId, const QString &state) +{ + CallManagerInterface& callManager = CallManagerInterfaceSingleton::getInstance(); + QStringList callList = callManager.getParticipantList(confId); + qDebug() << "New " + confId + " participant list: " << callList; + + if (!privateCallList_callId[confId]) { + qDebug() << "The conference does not exist"; + return; + } + + if (!privateCallList_callId[confId]->treeItem) { + qDebug() << "The conference item does not exist"; + return; + } + + QList<QTreeWidgetItem*> buffer; + foreach (QString callId, callList) { + if (privateCallList_callId[callId]) { + QTreeWidgetItem* item3 = extractItem(privateCallList_callId[callId]->treeItem); + insertItem(item3, privateCallList_callId[confId]->treeItem); + buffer << privateCallList_callId[callId]->treeItem; + } + else + qDebug() << "Call " << callId << " does not exist"; + } + + for (int j =0; j < privateCallList_callId[confId]->treeItem->childCount();j++) { + if (buffer.indexOf(privateCallList_callId[confId]->treeItem->child(j)) == -1) + insertItem(extractItem(privateCallList_callId[confId]->treeItem->child(j))); + } +} + +///Remove a conference from the model and the TreeView +void CallModel::conferenceRemoved(const QString &confId) +{ + qDebug() << "Ending conversation containing " << privateCallList_callId[confId]->treeItem->childCount() << " participants"; + for (int j =0; j < privateCallList_callId[confId]->treeItem->childCount();j++) { + insertItem(extractItem(privateCallList_callId[confId]->treeItem->child(j))); + } + privateCallList_call.remove(privateCallList_callId[confId]->call_real); + privateCallList_widget.remove(privateCallList_callId[confId]->call); + privateCallList_item.remove(privateCallList_callId[confId]->treeItem); + takeTopLevelItem(indexOfTopLevelItem(privateCallList_callId[confId]->treeItem)); + delete privateCallList_callId[confId]->treeItem; + privateCallList_callId.remove(confId); +} + + + +/***************************************************************************** + * * + * History related code * + * * + ****************************************************************************/ + +///Return a list of all previous calls +MapStringString CallModel::getHistoryMap() +{ + MapStringString toReturn; + foreach(Call* call, historyCalls) { + toReturn[historyCalls.key(call)] = Call::getTypeFromHistoryState(call->getHistoryState()) + "|" + call->getPeerPhoneNumber() + "|" + call->getPeerName() + "|" + call->getStopTimeStamp() + "|" + call->getAccountId(); + } + return toReturn; +} + +///Clear the list of old calls //TODO Clear them from the daemon +void CallModel::clearHistory() +{ + historyCalls.clear(); +} diff --git a/sflphone-client-kde/src/CallModel.h b/sflphone-client-kde/src/CallModel.h new file mode 100644 index 0000000000000000000000000000000000000000..07e9882e421ea8f2605275bb208e0a0ac3470e5b --- /dev/null +++ b/sflphone-client-kde/src/CallModel.h @@ -0,0 +1,126 @@ +/*************************************************************************** + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Emmanuel Lepage Valle <emmanuel.lepage@savoirfairelinux.com >* + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef CALL_MODEL +#define CALL_MODEL + +#include <QObject> +#include <QHash> +#include <QTreeWidgetItem> +#include <QVector> +#include <QTreeWidget> +#include <QItemDelegate> +#include <QDragEnterEvent> + +#include "CallTreeItem.h" +#include "Call.h" +#include "dbus/metatypes.h" + +/** Note from the author: It was previously done by a QAbstractModel + QTreeView, but the sip-call use case is incompatible + * with the MVC model. The MVC never got to a point were it was bug-free and the code was getting dirty. The QTreeWidget + * solution may be less "clean" than MVC, but is 3 time smaller and easier to improve (in fact, possible to improve). + * + * This model is the view itself (private inheritance) so drag and drop can interact directly with the model without cross + * layer hack. This call merge the content of 4 previous classes (CallTreeModel, CallTreeView, CallList and most of the + * previous CallTreeItem). + */ + +struct InternalCallModelStruct { + InternalCallModelStruct* parent; + CallTreeItem* call; + Call* call_real; + QTreeWidgetItem* treeItem; + QList<InternalCallModelStruct*> children; + bool conference; +}; + +struct InternalCallModelStruct; + + +class CallTreeItemDelegate : public QItemDelegate +{ + public: + CallTreeItemDelegate() { } + QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index ) const { return QSize(0,60); } +}; + + + +class CallModel : private QTreeWidget { + Q_OBJECT + public: + enum ModelType { + ActiveCall, + History, + Address + }; + + CallModel(ModelType type, QWidget* parent =0); + Call* addCall(Call* call, Call* parent =0); + int size(); + Call* findCallByCallId(QString callId); + QList<Call*> getCallList(); + bool selectItem(Call* item); + Call* getCurrentItem(); + bool removeItem(Call* item); + QWidget* getWidget(); + void setTitle(QString title); + bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action); + QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const; + + Call* addDialingCall(const QString & peerName = "", QString account = ""); + Call* addIncomingCall(const QString & callId/*, const QString & from, const QString & account*/); + Call* addRingingCall(const QString & callId); + bool createConferenceFromCall(Call* call1, Call* call2); + Call* addConference(const QString &confID); + bool mergeConferences(Call* conf1, Call* conf2); + bool addParticipant(Call* call2, Call* conference); + bool detachParticipant(Call* call); + void conferenceChanged(const QString &confId, const QString &state); + void conferenceRemoved(const QString &confId); + + MapStringString getHistoryMap(); + + protected: + void dragEnterEvent(QDragEnterEvent *e) { e->accept(); } + void dragMoveEvent(QDragMoveEvent *e) { e->accept(); } + + private: + QHash<QString, Call*> activeCalls; + QHash<QString, Call*> historyCalls; + QHash<CallTreeItem* , InternalCallModelStruct*> privateCallList_widget; + QHash<QTreeWidgetItem* , InternalCallModelStruct*> privateCallList_item; + QHash<Call* , InternalCallModelStruct*> privateCallList_call; + QHash<QString , InternalCallModelStruct*> privateCallList_callId; + InternalCallModelStruct find(const CallTreeItem* call); + QTreeWidgetItem* extractItem(QString callId); + QTreeWidgetItem* extractItem(QTreeWidgetItem* item); + CallTreeItem* insertItem(QTreeWidgetItem* item, QTreeWidgetItem* parent=0); + CallTreeItem* insertItem(QTreeWidgetItem* item, Call* parent); + QString generateCallId(); + void clearArtefact(QTreeWidgetItem* item); + + private slots: + void destroyCall(Call* toDestroy); + + public slots: + void clearHistory(); +}; +#endif diff --git a/sflphone-client-kde/src/CallTreeItem.cpp b/sflphone-client-kde/src/CallTreeItem.cpp new file mode 100644 index 0000000000000000000000000000000000000000..dc2b15d935ef0ddbd41a5d90cf5ae81f7a524527 --- /dev/null +++ b/sflphone-client-kde/src/CallTreeItem.cpp @@ -0,0 +1,164 @@ +/*************************************************************************** + * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). * + * All rights reserved. * + * Contact: Nokia Corporation (qt-info@nokia.com) * + * Author : Mathieu Leduc-Hamel mathieu.leduc-hamel@savoirfairelinux.com * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include <QtCore/QStringList> + +#include <klocale.h> +#include <kdebug.h> +#include <unistd.h> + +#include "sflphone_const.h" +#include "CallTreeItem.h" + +const char * CallTreeItem::callStateIcons[12] = {ICON_INCOMING, ICON_RINGING, ICON_CURRENT, ICON_DIALING, ICON_HOLD, ICON_FAILURE, ICON_BUSY, ICON_TRANSFER, ICON_TRANSF_HOLD, "", "", ICON_CONFERENCE}; + +CallTreeItem::CallTreeItem(QWidget *parent) + : itemCall(0), QWidget(parent), init(false) +{ + +} + +CallTreeItem::~CallTreeItem() +{ + +} + +Call* CallTreeItem::call() const +{ + return itemCall; +} + +void CallTreeItem::setCall(Call *call) +{ + itemCall = call; + + if (itemCall->isConference()) { + if (!init) { + labelHistoryPeerName = new QLabel("Conference",this); + labelIcon = new QLabel("Icn",this); + QHBoxLayout* mainLayout = new QHBoxLayout(); + mainLayout->addWidget(labelIcon); + mainLayout->addWidget(labelHistoryPeerName); + setLayout(mainLayout); + init = true; + } + labelIcon->setPixmap(QPixmap(ICON_CONFERENCE)); + labelIcon->setVisible(true); + labelHistoryPeerName->setVisible(true); + return; + } + + labelIcon = new QLabel(); + labelCallNumber2 = new QLabel(itemCall->getPeerPhoneNumber()); + labelTransferPrefix = new QLabel(i18n("Transfer to : ")); + labelTransferNumber = new QLabel(); + QSpacerItem* verticalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Expanding, QSizePolicy::Expanding); + + QHBoxLayout* mainLayout = new QHBoxLayout(); + mainLayout->setContentsMargins ( 3, 1, 2, 1); + + labelCodec = new QLabel(this); + //labelCodec->setText("Codec: "+itemCall->getCurrentCodecName()); + + labelSecure = new QLabel(this); + + mainLayout->setSpacing(4); + QVBoxLayout* descr = new QVBoxLayout(); + descr->setMargin(1); + descr->setSpacing(1); + QHBoxLayout* transfer = new QHBoxLayout(); + transfer->setMargin(0); + transfer->setSpacing(0); + mainLayout->addWidget(labelIcon); + + if(! itemCall->getPeerName().isEmpty()) { + labelPeerName = new QLabel(itemCall->getPeerName()); + descr->addWidget(labelPeerName); + } + + descr->addWidget(labelCallNumber2); + descr->addWidget(labelSecure); + descr->addWidget(labelCodec); + transfer->addWidget(labelTransferPrefix); + transfer->addWidget(labelTransferNumber); + descr->addLayout(transfer); + descr->addItem(verticalSpacer); + mainLayout->addLayout(descr); + + setLayout(mainLayout); + setMinimumSize(QSize(50, 30)); + + connect(itemCall, SIGNAL(changed()), + this, SLOT(updated())); + + updated(); +} + +void CallTreeItem::updated() +{ + call_state state = itemCall->getState(); + bool recording = itemCall->getRecording(); + if(state != CALL_STATE_OVER) { + if(state == CALL_STATE_CURRENT && recording) { + labelIcon->setPixmap(QPixmap(ICON_CURRENT_REC)); + } + else { + QString str = QString(callStateIcons[state]); + labelIcon->setPixmap(QPixmap(str)); + } + bool transfer = state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD; + labelTransferPrefix->setVisible(transfer); + labelTransferNumber->setVisible(transfer); + + if(!transfer) { + labelTransferNumber->setText(""); + } + labelTransferNumber->setText(itemCall->getTransferNumber()); + labelCallNumber2->setText(itemCall->getPeerPhoneNumber()); + + if(state == CALL_STATE_DIALING) { + labelCallNumber2->setText(itemCall->getCallNumber()); + } + else { + labelCodec->setText("Codec: "+itemCall->getCurrentCodecName()); + if (itemCall->isSecure()) + labelSecure->setText("⚷"); + } + } + else { + qDebug() << "Updating item of call of state OVER. Doing nothing."; + } + +} + +void CallTreeItem::setConference(bool value) { + conference = value; + labelIcon->setPixmap(QPixmap(ICON_CONFERENCE)); + //labelTransferNumber->setVisible(false); + //labelTransferPrefix->setVisible(false); +} + +bool CallTreeItem::isConference() { + return conference; +} + diff --git a/sflphone-client-kde/src/CallTreeItem.h b/sflphone-client-kde/src/CallTreeItem.h new file mode 100644 index 0000000000000000000000000000000000000000..ff76000a33553f720aa9a0baa979240ce449d93f --- /dev/null +++ b/sflphone-client-kde/src/CallTreeItem.h @@ -0,0 +1,82 @@ +/*************************************************************************** + * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). * + * All rights reserved. * + * Contact: Nokia Corporation (qt-info@nokia.com) * + * Author : Mathieu Leduc-Hamel mathieu.leduc-hamel@savoirfairelinux.com * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +/** + * http://doc.trolltech.com/4.5/itemviews-editabletreemodel.html + */ + +#ifndef CALLTREE_ITEM_H +#define CALLTREE_ITEM_H + +#include <QtCore/QList> +#include <QtCore/QVariant> +#include <QtCore/QVector> + +#include <QtGui/QWidget> +#include <QtGui/QLabel> +#include <QtGui/QSpacerItem> +#include <QtGui/QHBoxLayout> +#include <QtGui/QVBoxLayout> +#include <KIcon> + +#include "Call.h" + +class CallTreeItem : public QWidget +{ + Q_OBJECT + public: + CallTreeItem(QWidget* parent =0); + ~CallTreeItem(); + + Call* call() const; + void setCall(Call *call); + static const char * callStateIcons[12]; + void setConference(bool value); + bool isConference(); + + private: + Call *itemCall; + + QLabel* labelIcon; + QLabel* labelPeerName; + QLabel* labelCallNumber2; + QLabel* labelTransferPrefix; + QLabel* labelTransferNumber; + QLabel* labelCodec; + QLabel* labelSecure; + + QWidget* historyItemWidget; + QLabel* labelHistoryIcon; + QLabel* labelHistoryPeerName; + QLabel* labelHistoryCallNumber; + QLabel* labelHistoryTime; + bool conference; + bool init; + +public slots: + void updated(); +signals: + void over(Call*); + }; + +#endif // CALLTREE_ITEM_H diff --git a/sflphone-client-kde/src/Codec.cpp b/sflphone-client-kde/src/Codec.cpp index 3e94070c0de39b524cf2153406c0ac2d1a2cefa9..74ec3af8fe2a9bb6e4ff69a9f20805ed96dcf472 100644 --- a/sflphone-client-kde/src/Codec.cpp +++ b/sflphone-client-kde/src/Codec.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -25,40 +25,74 @@ Codec::Codec(int payload, bool enabled) { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList details = configurationManager.getCodecDetails(payload); - this->payload = QString::number(payload); - this->enabled = enabled; - this->name = details[CODEC_NAME]; - this->frequency = details[CODEC_SAMPLE_RATE]; - this->bitrate = details[CODEC_BIT_RATE]; - this->bandwidth = details[CODEC_BANDWIDTH]; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList details = configurationManager.getCodecDetails(payload); + this->payload = QString::number(payload); + this->enabled = enabled; + this->name = details[CODEC_NAME]; + this->frequency = details[CODEC_SAMPLE_RATE]; + this->bitrate = details[CODEC_BIT_RATE]; + this->bandwidth = details[CODEC_BANDWIDTH]; } QString Codec::getPayload() const -{ return payload; } +{ + return payload; +} + QString Codec::getName() const -{ return name; } +{ + return name; +} + QString Codec::getFrequency() const -{ return frequency; } +{ + return frequency; +} + QString Codec::getBitrate() const -{ return bitrate; } +{ + return bitrate; +} + QString Codec::getBandwidth() const -{ return bandwidth; } +{ + return bandwidth; +} + bool Codec::isEnabled() const -{ return enabled; } +{ + return enabled; +} void Codec::setPayload(QString payload) -{ this->payload = payload; } +{ + this->payload = payload; +} + void Codec::setName(QString name) -{ this->name = name; } +{ + this->name = name; +} + void Codec::setFrequency(QString frequency) -{ this->frequency = frequency; } +{ + this->frequency = frequency; +} + void Codec::setBitrate(QString bitrate) -{ this->bitrate = bitrate; } +{ + this->bitrate = bitrate; +} + void Codec::setBandwidth(QString bandwidth) -{ this->bandwidth = bandwidth; } +{ + this->bandwidth = bandwidth; +} + void Codec::setEnabled(bool enabled) -{ this->enabled = enabled; } +{ + this->enabled = enabled; +} diff --git a/sflphone-client-kde/src/Codec.h b/sflphone-client-kde/src/Codec.h index 9a86d604d5a9a293cf7a1e9b2a9b59cd463d86e8..4bb408d67ff119ebb29d8eda512735c09e1e7c47 100644 --- a/sflphone-client-kde/src/Codec.h +++ b/sflphone-client-kde/src/Codec.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -25,42 +25,42 @@ #include <QtCore/QString> /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> + @author Jérémy Quentin <jeremy.quentin@gmail.com> */ class Codec : public QObject { Q_OBJECT private: - QString payload; - QString name; - QString frequency; - QString bitrate; - QString bandwidth; - bool enabled; + QString payload; + QString name; + QString frequency; + QString bitrate; + QString bandwidth; + bool enabled; public: - Codec(int payload, bool enabled); -// Codec(const Codec & codec); + Codec(int payload, bool enabled); +// Codec(const Codec & codec); -// ~Codec(); +// ~Codec(); - QString getPayload() const; - QString getName() const; - QString getFrequency() const; - QString getBitrate() const; - QString getBandwidth() const; - bool isEnabled() const; - - void setPayload(QString payload); - void setName(QString name); - void setFrequency(QString frequency); - void setBitrate(QString bitrate); - void setBandwidth(QString bandwidth); - void setEnabled(bool enabled); - - Codec & operator=(const Codec&); + QString getPayload() const; + QString getName() const; + QString getFrequency() const; + QString getBitrate() const; + QString getBandwidth() const; + bool isEnabled() const; + + void setPayload(QString payload); + void setName(QString name); + void setFrequency(QString frequency); + void setBitrate(QString bitrate); + void setBandwidth(QString bandwidth); + void setEnabled(bool enabled); + + Codec & operator=(const Codec&); - + }; #endif diff --git a/sflphone-client-kde/src/CodecListModel.cpp b/sflphone-client-kde/src/CodecListModel.cpp deleted file mode 100644 index 440592e5b0479ac57027b3529ca0988ba0e076aa..0000000000000000000000000000000000000000 --- a/sflphone-client-kde/src/CodecListModel.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include "CodecListModel.h" - -#include <QtCore/QSize> -#include <QtCore/QDebug> -#include <KLocale> -#include "configurationmanager_interface_singleton.h" - -CodecListModel::CodecListModel(QObject *parent) - : QAbstractTableModel(parent) -{ - this->codecs = QList<Codec *>(); - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList activeCodecList = configurationManager.getActiveCodecList(); - setActiveCodecList(activeCodecList); -} - - -CodecListModel::~CodecListModel() -{ -} - - -QVariant CodecListModel::data ( const QModelIndex & index, int role) const -{ - if (!index.isValid()) - return QVariant(); - - const Codec * codec = codecs[index.row()]; - if(index.column() == 1 && role == Qt::DisplayRole) - { - return QVariant(codec->getName()); - } - else if(index.column() == 0 && role == Qt::CheckStateRole) - { - return QVariant(codec->isEnabled() ? Qt::Checked : Qt::Unchecked); - } - else if(index.column() == 2 && role == Qt::DisplayRole) - { - return QVariant(codec->getFrequency()); - } - else if(index.column() == 3 && role == Qt::DisplayRole) - { - return QVariant(codec->getBitrate()); - } - else if(index.column() == 4 && role == Qt::DisplayRole) - { - return QVariant(codec->getBandwidth()); - } - - return QVariant(); -} - - -int CodecListModel::rowCount(const QModelIndex & /*parent*/) const -{ - return codecs.count(); -} - -int CodecListModel::columnCount(const QModelIndex & /*parent*/) const -{ - return 5; -} - - -QVariant CodecListModel::headerData(int section , Qt::Orientation orientation, int role) const -{ - if (section == 0 && orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - return QVariant(i18n("")); - } - else if (section == 1 && orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - return QVariant(i18n("Codec")); - } - else if (section == 2 && orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - return QVariant(i18n("Frequency")); - } - else if (section == 3 && orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - return QVariant(i18n("Bitrate")); - } - else if (section == 4 && orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - return QVariant(i18n("Bandwidth")); - } - return QVariant(); -} - -Qt::ItemFlags CodecListModel::flags(const QModelIndex & index) const -{ - if (index.column() == 0) - { - return QAbstractItemModel::flags(index) | Qt::ItemIsUserCheckable; - } - return QAbstractItemModel::flags(index); -} - -bool CodecListModel::setData ( const QModelIndex & index, const QVariant &value, int role) -{ - qDebug() << "setData"; - if (index.isValid() && index.column() == 0 && role == Qt::CheckStateRole) { - codecs[index.row()]->setEnabled(value.toBool()); - emit dataChanged(index, index); - return true; - } - return false; -} - -bool CodecListModel::codecUp( int index ) -{ - if(index > 0 && index <= rowCount()) - { - codecs.swap(index - 1, index); - emit dataChanged(this->index(index - 1, 0, QModelIndex()), this->index(index, columnCount(), QModelIndex())); - return true; - } - return false; -} - -bool CodecListModel::codecDown( int index ) -{ - if(index >= 0 && index < rowCount()) - { - codecs.swap(index + 1, index); - emit dataChanged(this->index(index, 0, QModelIndex()), this->index(index + 1, columnCount(), QModelIndex())); - return true; - } - return false; -} - -QStringList CodecListModel::getActiveCodecList() const -{ - QStringList codecList; - for(int i = 0 ; i < rowCount() ; i++) - { - if(codecs[i]->isEnabled()) - codecList.append(codecs[i]->getPayload()); - } - return codecList; -} - -void CodecListModel::setActiveCodecList(const QStringList & activeCodecListToSet) -{ - this->codecs = QList<Codec *>(); - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QStringList codecList = configurationManager.getCodecList(); - QStringList activeCodecList = activeCodecListToSet; - #if QT_VERSION >= 0x040500 - activeCodecList.removeDuplicates(); - #else - for (int i = 0 ; i < activeCodecList.size() ; i++) - { - if(activeCodecList.lastIndexOf(activeCodecList[i]) != i || ! codecList.contains(activeCodecList[i])) - { - activeCodecList.removeAt(i); - i--; - } - } - #endif - - QStringList codecListToDisplay = activeCodecList; - for (int i=0 ; i<codecList.size() ; i++) - { - if(! activeCodecList.contains(codecList[i])) - { - codecListToDisplay << codecList[i]; - } - } - for(int i=0 ; i<codecListToDisplay.size() ; i++) - { - bool ok; - QString payloadStr = QString(codecListToDisplay[i]); - int payload = payloadStr.toInt(&ok); - if(!ok) - qDebug() << "The codec's payload sent by the configurationManager is not a number : " << codecListToDisplay[i]; - else - { - codecs << new Codec(payload, activeCodecList.contains(codecListToDisplay[i])); - } - } - - emit dataChanged(this->index(0, 0, QModelIndex()), this->index(rowCount(), columnCount(), QModelIndex())); -} diff --git a/sflphone-client-kde/src/CodecListModel.h b/sflphone-client-kde/src/CodecListModel.h deleted file mode 100644 index bf2082c443cf4407c61129b7a152192feae46708..0000000000000000000000000000000000000000 --- a/sflphone-client-kde/src/CodecListModel.h +++ /dev/null @@ -1,57 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#ifndef CODECLISTMODEL_H -#define CODECLISTMODEL_H - -#include <QAbstractItemModel> -#include "Codec.h" - -/** - @author Jérémy Quentin <jeremy.quentin@gmail.com> -*/ -class CodecListModel : public QAbstractTableModel -{ -Q_OBJECT -private: - QList<Codec *> codecs; - -public: - CodecListModel(QObject *parent = 0); - - ~CodecListModel(); - - QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const; - int rowCount(const QModelIndex & parent = QModelIndex()) const; - int columnCount(const QModelIndex & parent = QModelIndex()) const; - QVariant headerData(int section , Qt::Orientation orientation, int role) const; - Qt::ItemFlags flags(const QModelIndex & index) const; - virtual bool setData ( const QModelIndex & index, const QVariant &value, int role); - - bool codecUp( int index ); - bool codecDown( int index ); - QStringList getActiveCodecList() const ; - void setActiveCodecList(const QStringList & activeCodecListToSet); - -signals: -// void dataChanged(const QModelIndex &, const QModelIndex &); -}; - -#endif diff --git a/sflphone-client-kde/src/Contact.cpp b/sflphone-client-kde/src/Contact.cpp index af3ee5ea9644a29387c583e63c4d65456de471b5..6381b12d7e48a4dbf3ea836a99d1ae29ea7625a9 100644 --- a/sflphone-client-kde/src/Contact.cpp +++ b/sflphone-client-kde/src/Contact.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,72 +28,70 @@ Contact::Contact(Addressee addressee, const PhoneNumber & number, bool displayPhoto) { - this->firstName = addressee.name(); - this->secondName = addressee.familyName(); - this->nickName = addressee.nickName(); - this->phoneNumber = number.number(); - this->type = number.type(); - this->displayPhoto = displayPhoto; - if(displayPhoto) - { - this->photo = new Picture(addressee.photo()); - } - else - { - this->photo = NULL; - } - - initItem(); + this->firstName = addressee.name(); + this->secondName = addressee.familyName(); + this->nickName = addressee.nickName(); + this->phoneNumber = number.number(); + this->type = number.type(); + this->displayPhoto = displayPhoto; + if(displayPhoto) { + this->photo = new Picture(addressee.photo()); + } + else { + this->photo = NULL; + } + + initItem(); } Contact::~Contact() { - delete item; - delete itemWidget; - delete photo; + delete item; + delete itemWidget; + delete photo; } void Contact::initItem() { - this->item = new QListWidgetItem(); - this->item->setSizeHint(QSize(140,CONTACT_ITEM_HEIGHT)); - initItemWidget(); + this->item = new QListWidgetItem(); + this->item->setSizeHint(QSize(140,CONTACT_ITEM_HEIGHT)); + initItemWidget(); } void Contact::initItemWidget() { - this->itemWidget = new ContactItemWidget(this, displayPhoto); + this->itemWidget = new ContactItemWidget(this, displayPhoto); } QString Contact::getPhoneNumber() const { - return phoneNumber; + return phoneNumber; } QString Contact::getNickName() const { - return nickName; + return nickName; } QString Contact::getFirstName() const { - return firstName; + return firstName; } QString Contact::getSecondName() const { - return secondName; + return secondName; } const Picture * Contact::getPhoto() const { - return photo; + return photo; } PhoneNumber::Type Contact::getType() const { - return type; + return type; } diff --git a/sflphone-client-kde/src/Contact.h b/sflphone-client-kde/src/Contact.h index bf4f4f987ca885bf41ebd3fcf4960b76ea49a7be..c5cf2f47eca9ce080185d56f7d16575cf8b8ee78 100644 --- a/sflphone-client-kde/src/Contact.h +++ b/sflphone-client-kde/src/Contact.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -36,35 +36,35 @@ using namespace KABC; class ContactItemWidget; /** - @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> + @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> */ class Contact : public QObject, public Item<ContactItemWidget>{ private: - QString firstName; - QString secondName; - QString nickName; - QString phoneNumber; - Picture * photo; - PhoneNumber::Type type; - bool displayPhoto; - + QString firstName; + QString secondName; + QString nickName; + QString phoneNumber; + Picture * photo; + PhoneNumber::Type type; + bool displayPhoto; + public: - //Constructors & Destructors - Contact(Addressee addressee, const PhoneNumber & number, bool displayPhoto); - ~Contact(); - - //Getters - QString getPhoneNumber() const; - QString getNickName() const; - QString getFirstName() const; - QString getSecondName() const; - const Picture * getPhoto() const; - PhoneNumber::Type getType() const; - void initItem(); - + //Constructors & Destructors + Contact(Addressee addressee, const PhoneNumber & number, bool displayPhoto); + ~Contact(); + + //Getters + QString getPhoneNumber() const; + QString getNickName() const; + QString getFirstName() const; + QString getSecondName() const; + const Picture * getPhoto() const; + PhoneNumber::Type getType() const; + void initItem(); + protected: - void initItemWidget(); + void initItemWidget(); }; diff --git a/sflphone-client-kde/src/ContactItemWidget.cpp b/sflphone-client-kde/src/ContactItemWidget.cpp index f32614c58dc753e3053516d5ec5755ba45cade85..3e38b0d3a49b7a11e582ae3917f20e187243e1b3 100644 --- a/sflphone-client-kde/src/ContactItemWidget.cpp +++ b/sflphone-client-kde/src/ContactItemWidget.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -30,78 +30,70 @@ ContactItemWidget::ContactItemWidget(const Contact * contact, bool displayPhoto, QWidget *parent) : QWidget(parent) { - if(!contact->getNickName().isEmpty()) - { - contactName = new QLabel(contact->getNickName()); - } - else - { - contactName = new QLabel(contact->getFirstName()); - } - if(displayPhoto) - { - if(!contact->getPhoto()->isEmpty()) - { - QPixmap pixmap; - if(contact->getPhoto()->isIntern()) - { - contactPhoto = new QLabel(); - pixmap = QPixmap::fromImage(contact->getPhoto()->data()); - } - else - { - contactPhoto = new QLabel(); - pixmap = QPixmap(contact->getPhoto()->url()); - } - if(pixmap.height() > pixmap.width()) - contactPhoto->setPixmap(pixmap.scaledToHeight(CONTACT_ITEM_HEIGHT-4)); - else - contactPhoto->setPixmap(pixmap.scaledToWidth(CONTACT_ITEM_HEIGHT-4)); - } - else - { - contactPhoto = new QLabel(); - contactPhoto->setMinimumSize(CONTACT_ITEM_HEIGHT-4, 0); - } - } - contactType = new QLabel(PhoneNumber::typeLabel(contact->getType())); - contactNumber = new QLabel(contact->getPhoneNumber()); - QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); - QHBoxLayout * hlayout = new QHBoxLayout(this); - QVBoxLayout * vlayout = new QVBoxLayout(); - hlayout->setMargin(1); - hlayout->setSpacing(4); - vlayout->setMargin(1); - vlayout->setSpacing(2); - vlayout->addWidget(contactName); - vlayout->addWidget(contactNumber); - if(displayPhoto) - { - hlayout->addWidget(contactPhoto); - } - hlayout->addLayout(vlayout); - hlayout->addItem(horizontalSpacer); - hlayout->addWidget(contactType); - this->setLayout(hlayout); + if(!contact->getNickName().isEmpty()) { + contactName = new QLabel(contact->getNickName()); + } + else { + contactName = new QLabel(contact->getFirstName()); + } + if(displayPhoto) { + if(!contact->getPhoto()->isEmpty()) { + QPixmap pixmap; + if(contact->getPhoto()->isIntern()) { + contactPhoto = new QLabel(); + pixmap = QPixmap::fromImage(contact->getPhoto()->data()); + } + else { + contactPhoto = new QLabel(); + pixmap = QPixmap(contact->getPhoto()->url()); + } + if(pixmap.height() > pixmap.width()) + contactPhoto->setPixmap(pixmap.scaledToHeight(CONTACT_ITEM_HEIGHT-4)); + else + contactPhoto->setPixmap(pixmap.scaledToWidth(CONTACT_ITEM_HEIGHT-4)); + } + else { + contactPhoto = new QLabel(); + contactPhoto->setMinimumSize(CONTACT_ITEM_HEIGHT-4, 0); + } + } + contactType = new QLabel(PhoneNumber::typeLabel(contact->getType())); + contactNumber = new QLabel(contact->getPhoneNumber()); + QSpacerItem * horizontalSpacer = new QSpacerItem(16777215, 20, QSizePolicy::Preferred, QSizePolicy::Minimum); + QHBoxLayout * hlayout = new QHBoxLayout(this); + QVBoxLayout * vlayout = new QVBoxLayout(); + hlayout->setMargin(1); + hlayout->setSpacing(4); + vlayout->setMargin(1); + vlayout->setSpacing(2); + vlayout->addWidget(contactName); + vlayout->addWidget(contactNumber); + if(displayPhoto) { + hlayout->addWidget(contactPhoto); + } + hlayout->addLayout(vlayout); + hlayout->addItem(horizontalSpacer); + hlayout->addWidget(contactType); + this->setLayout(hlayout); } ContactItemWidget::~ContactItemWidget() { - delete contactName; - delete contactNumber; -// delete contactPhoto; - delete contactType; + delete contactName; + delete contactNumber; +// delete contactPhoto; + delete contactType; } QString ContactItemWidget::getContactName() { - return contactName->text(); + return contactName->text(); } QString ContactItemWidget::getContactNumber() { - return contactNumber->text(); + return contactNumber->text(); } diff --git a/sflphone-client-kde/src/ContactItemWidget.h b/sflphone-client-kde/src/ContactItemWidget.h index 517d0a78dc169411fd1e1be48584c6d53cfb3a8c..82bac7436a5026aeec68565f4ed3a251f8da975a 100644 --- a/sflphone-client-kde/src/ContactItemWidget.h +++ b/sflphone-client-kde/src/ContactItemWidget.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,27 +28,27 @@ class Contact; /** - @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> + @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> */ class ContactItemWidget : public QWidget { Q_OBJECT private: - QLabel * contactName; - QLabel * contactNumber; - QLabel * contactPhoto; - QLabel * contactType; - + QLabel * contactName; + QLabel * contactNumber; + QLabel * contactPhoto; + QLabel * contactType; + public: - //Constructors & Destructors - ContactItemWidget(const Contact * contact, bool displayPhoto, QWidget *parent = 0); - ~ContactItemWidget(); - - //Getters - QString getContactName(); - QString getContactNumber(); + //Constructors & Destructors + ContactItemWidget(const Contact * contact, bool displayPhoto, QWidget *parent = 0); + ~ContactItemWidget(); + + //Getters + QString getContactName(); + QString getContactNumber(); }; diff --git a/sflphone-client-kde/src/Dialpad.cpp b/sflphone-client-kde/src/Dialpad.cpp index c0219b71a615e939edd6150d1197e83490bd0a0f..15014be91a5e86a24722ec89843beb17a849d16f 100644 --- a/sflphone-client-kde/src/Dialpad.cpp +++ b/sflphone-client-kde/src/Dialpad.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,96 +26,95 @@ Dialpad::Dialpad(QWidget *parent) : QWidget(parent) { - gridLayout = new QGridLayout(this); + gridLayout = new QGridLayout(this); gridLayout->setObjectName(QString::fromUtf8("gridLayout")); - pushButton_0 = new QPushButton(this); - pushButton_1 = new QPushButton(this); - pushButton_2 = new QPushButton(this); - pushButton_3 = new QPushButton(this); - pushButton_4 = new QPushButton(this); - pushButton_5 = new QPushButton(this); - pushButton_6 = new QPushButton(this); - pushButton_7 = new QPushButton(this); - pushButton_8 = new QPushButton(this); - pushButton_9 = new QPushButton(this); - pushButton_diese = new QPushButton(this); - pushButton_etoile = new QPushButton(this); - - pushButton_0 ->setObjectName(QString::fromUtf8("pushButton_0")); - pushButton_1->setObjectName(QString::fromUtf8("pushButton_1")); - pushButton_2->setObjectName(QString::fromUtf8("pushButton_2")); - pushButton_3->setObjectName(QString::fromUtf8("pushButton_3")); - pushButton_4->setObjectName(QString::fromUtf8("pushButton_4")); - pushButton_5->setObjectName(QString::fromUtf8("pushButton_5")); - pushButton_6->setObjectName(QString::fromUtf8("pushButton_6")); - pushButton_7->setObjectName(QString::fromUtf8("pushButton_7")); - pushButton_8->setObjectName(QString::fromUtf8("pushButton_8")); - pushButton_9->setObjectName(QString::fromUtf8("pushButton_9")); - pushButton_diese->setObjectName(QString::fromUtf8("pushButton_diese")); - pushButton_etoile->setObjectName(QString::fromUtf8("pushButton_etoile")); - - gridLayout->addWidget(pushButton_1, 0, 0); - gridLayout->addWidget(pushButton_2, 0, 1); - gridLayout->addWidget(pushButton_3, 0, 2); - gridLayout->addWidget(pushButton_4, 1, 0); - gridLayout->addWidget(pushButton_5, 1, 1); - gridLayout->addWidget(pushButton_6, 1, 2); - gridLayout->addWidget(pushButton_7, 2, 0); - gridLayout->addWidget(pushButton_8, 2, 1); - gridLayout->addWidget(pushButton_9, 2, 2); - gridLayout->addWidget(pushButton_etoile, 3, 0); - gridLayout->addWidget(pushButton_0, 3, 1); - gridLayout->addWidget(pushButton_diese, 3, 2); - - fillButtons(); - - QMetaObject::connectSlotsByName(this); + pushButton_0 = new QPushButton(this); + pushButton_1 = new QPushButton(this); + pushButton_2 = new QPushButton(this); + pushButton_3 = new QPushButton(this); + pushButton_4 = new QPushButton(this); + pushButton_5 = new QPushButton(this); + pushButton_6 = new QPushButton(this); + pushButton_7 = new QPushButton(this); + pushButton_8 = new QPushButton(this); + pushButton_9 = new QPushButton(this); + pushButton_diese = new QPushButton(this); + pushButton_etoile = new QPushButton(this); + + pushButton_0->setObjectName(QString::fromUtf8("pushButton_0")); + pushButton_1->setObjectName(QString::fromUtf8("pushButton_1")); + pushButton_2->setObjectName(QString::fromUtf8("pushButton_2")); + pushButton_3->setObjectName(QString::fromUtf8("pushButton_3")); + pushButton_4->setObjectName(QString::fromUtf8("pushButton_4")); + pushButton_5->setObjectName(QString::fromUtf8("pushButton_5")); + pushButton_6->setObjectName(QString::fromUtf8("pushButton_6")); + pushButton_7->setObjectName(QString::fromUtf8("pushButton_7")); + pushButton_8->setObjectName(QString::fromUtf8("pushButton_8")); + pushButton_9->setObjectName(QString::fromUtf8("pushButton_9")); + pushButton_diese->setObjectName(QString::fromUtf8("pushButton_diese")); + pushButton_etoile->setObjectName(QString::fromUtf8("pushButton_etoile")); + + gridLayout->addWidget(pushButton_1, 0, 0); + gridLayout->addWidget(pushButton_2, 0, 1); + gridLayout->addWidget(pushButton_3, 0, 2); + gridLayout->addWidget(pushButton_4, 1, 0); + gridLayout->addWidget(pushButton_5, 1, 1); + gridLayout->addWidget(pushButton_6, 1, 2); + gridLayout->addWidget(pushButton_7, 2, 0); + gridLayout->addWidget(pushButton_8, 2, 1); + gridLayout->addWidget(pushButton_9, 2, 2); + gridLayout->addWidget(pushButton_etoile, 3, 0); + gridLayout->addWidget(pushButton_0, 3, 1); + gridLayout->addWidget(pushButton_diese, 3, 2); + + fillButtons(); + + QMetaObject::connectSlotsByName(this); } void Dialpad::fillButtons() { - QHBoxLayout * layout; - QLabel * number; - QLabel * text; - int spacing = 5; - int numberSize = 14; - int textSize = 8; - - QPushButton * buttons[12] = - {pushButton_1, pushButton_2, pushButton_3, - pushButton_4, pushButton_5, pushButton_6, - pushButton_7, pushButton_8, pushButton_9, - pushButton_etoile, pushButton_0, pushButton_diese}; - - QString numbers[12] = - {"1", "2", "3", - "4", "5", "6", - "7", "8", "9", - "*", "0", "#"}; - - QString texts[12] = - { "" , "abc", "def" , - "ghi" , "jkl", "mno" , - "pqrs", "tuv", "wxyz", - "" , "" , "" }; - - for(int i = 0 ; i < 12 ; i++) - { - layout = new QHBoxLayout(); - layout->setSpacing(spacing); - number = new QLabel(numbers[i]); - number->setFont(QFont("", numberSize)); - layout->addWidget(number); - number->setAlignment(Qt::AlignRight | Qt::AlignVCenter); - text = new QLabel(texts[i]); - text->setFont(QFont("", textSize)); - layout->addWidget(text); - buttons[i]->setLayout(layout); - buttons[i]->setMinimumHeight(30); - buttons[i]->setText(""); - } + QHBoxLayout * layout; + QLabel * number; + QLabel * text; + int spacing = 5; + int numberSize = 14; + int textSize = 8; + + QPushButton * buttons[12] = + {pushButton_1, pushButton_2, pushButton_3, + pushButton_4, pushButton_5, pushButton_6, + pushButton_7, pushButton_8, pushButton_9, + pushButton_etoile, pushButton_0, pushButton_diese}; + + QString numbers[12] = + {"1", "2", "3", + "4", "5", "6", + "7", "8", "9", + "*", "0", "#"}; + + QString texts[12] = + { "" , "abc", "def" , + "ghi" , "jkl", "mno" , + "pqrs", "tuv", "wxyz", + "" , "" , "" }; + + for(int i = 0 ; i < 12 ; i++) { + layout = new QHBoxLayout(); + layout->setSpacing(spacing); + number = new QLabel(numbers[i]); + number->setFont(QFont("", numberSize)); + layout->addWidget(number); + number->setAlignment(Qt::AlignRight | Qt::AlignVCenter); + text = new QLabel(texts[i]); + text->setFont(QFont("", textSize)); + layout->addWidget(text); + buttons[i]->setLayout(layout); + buttons[i]->setMinimumHeight(30); + buttons[i]->setText(""); + } } diff --git a/sflphone-client-kde/src/Dialpad.h b/sflphone-client-kde/src/Dialpad.h index 3d7cc25714690c48b1e5dbcf4d61abeda9d2d0de..e93478a5174227fc4a8fbc06e6383d53c106c8f1 100644 --- a/sflphone-client-kde/src/Dialpad.h +++ b/sflphone-client-kde/src/Dialpad.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,26 +28,26 @@ /** A widget that represents a phone dialpad, with numbers and letters associated. - @author Jérémy Quentin <jeremy.quentin@gmail.com> + @author Jérémy Quentin <jeremy.quentin@gmail.com> */ class Dialpad : public QWidget { Q_OBJECT private: - QGridLayout * gridLayout; - QPushButton * pushButton_0; - QPushButton * pushButton_1; - QPushButton * pushButton_2; - QPushButton * pushButton_3; - QPushButton * pushButton_4; - QPushButton * pushButton_5; - QPushButton * pushButton_6; - QPushButton * pushButton_7; - QPushButton * pushButton_8; - QPushButton * pushButton_9; - QPushButton * pushButton_diese; - QPushButton * pushButton_etoile; + QGridLayout * gridLayout; + QPushButton * pushButton_0; + QPushButton * pushButton_1; + QPushButton * pushButton_2; + QPushButton * pushButton_3; + QPushButton * pushButton_4; + QPushButton * pushButton_5; + QPushButton * pushButton_6; + QPushButton * pushButton_7; + QPushButton * pushButton_8; + QPushButton * pushButton_9; + QPushButton * pushButton_diese; + QPushButton * pushButton_etoile; public: Dialpad(QWidget *parent = 0); @@ -55,28 +55,28 @@ public: // ~Dialpad(); private: - void fillButtons(); + void fillButtons(); private slots: - void on_pushButton_1_clicked(); - void on_pushButton_2_clicked(); - void on_pushButton_3_clicked(); - void on_pushButton_4_clicked(); - void on_pushButton_5_clicked(); - void on_pushButton_6_clicked(); - void on_pushButton_7_clicked(); - void on_pushButton_8_clicked(); - void on_pushButton_9_clicked(); - void on_pushButton_0_clicked(); - void on_pushButton_diese_clicked(); - void on_pushButton_etoile_clicked(); + void on_pushButton_1_clicked(); + void on_pushButton_2_clicked(); + void on_pushButton_3_clicked(); + void on_pushButton_4_clicked(); + void on_pushButton_5_clicked(); + void on_pushButton_6_clicked(); + void on_pushButton_7_clicked(); + void on_pushButton_8_clicked(); + void on_pushButton_9_clicked(); + void on_pushButton_0_clicked(); + void on_pushButton_diese_clicked(); + void on_pushButton_etoile_clicked(); signals: - /** - * This signal is emitted when the user types a button of the dialpad. - * @param text the text of the button typed by the user. - */ - void typed(QString text); + /** + * This signal is emitted when the user types a button of the dialpad. + * @param text the text of the button typed by the user. + */ + void typed(QString text); }; #endif diff --git a/sflphone-client-kde/src/Item.cpp b/sflphone-client-kde/src/Item.cpp index 705cb2948c4eefbf44912f1b598ed4c4cf23c8d9..d58801a35f180fedc3433ad254646ece055fa620 100644 --- a/sflphone-client-kde/src/Item.cpp +++ b/sflphone-client-kde/src/Item.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * * Author : Jérémy Quentin * * jeremy.quentin@savoirfairelinux.com * * * diff --git a/sflphone-client-kde/src/Item.h b/sflphone-client-kde/src/Item.h index ed1063d6bac0e2203ca01581c7490808e2068d11..d5e59a87f9f1a3f611ad48d6d8cd9fd838db69ed 100644 --- a/sflphone-client-kde/src/Item.h +++ b/sflphone-client-kde/src/Item.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,73 +26,73 @@ #include <QWidget> /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> - Represents an item of a list, that is displayed - by an QListWidgetItem with a QWidget inside. - The two objects are contained in this class, but their - initializations are pure virtual. - The template class WIDGET_TYPE should be derived from - QWidget. - The implementation of initItem should call initItemWidget + @author Jérémy Quentin <jeremy.quentin@gmail.com> + Represents an item of a list, that is displayed + by an QListWidgetItem with a QWidget inside. + The two objects are contained in this class, but their + initializations are pure virtual. + The template class WIDGET_TYPE should be derived from + QWidget. + The implementation of initItem should call initItemWidget */ template<class WIDGET_TYPE>class Item { protected: - QListWidgetItem * item; - WIDGET_TYPE * itemWidget; - + QListWidgetItem * item; + WIDGET_TYPE * itemWidget; + public: - /** - * Would be great to take the QListWidget as attribute - * to be able to add the itemWidget to the item in the list. - * For the moment, we have to do it from outside. - */ - Item(/*QListWidget *list=0*/) - { - item = NULL; - itemWidget = NULL; - } - - /** - * Be careful that it is not already deleted by QObject - * Commented for safety reasons... - */ - virtual ~Item() - { -// delete item; -// delete itemWidget; - } - - QListWidgetItem * getItem() - { - return item; - } - - WIDGET_TYPE * getItemWidget() - { - return itemWidget; - } - - const QListWidgetItem * getItem() const - { - return item; - } - const WIDGET_TYPE * getItemWidget() const - { - return itemWidget; - } - - /** - * Initializes the item and widget - * Implementation should call initItemWidget! - */ - virtual void initItem() = 0; - + /** + * Would be great to take the QListWidget as attribute + * to be able to add the itemWidget to the item in the list. + * For the moment, we have to do it from outside. + */ + Item(/*QListWidget *list=0*/) + { + item = NULL; + itemWidget = NULL; + } + + /** + * Be careful that it is not already deleted by QObject + * Commented for safety reasons... + */ + virtual ~Item() + { +// delete item; +// delete itemWidget; + } + + QListWidgetItem * getItem() + { + return item; + } + + WIDGET_TYPE * getItemWidget() + { + return itemWidget; + } + + const QListWidgetItem * getItem() const + { + return item; + } + const WIDGET_TYPE * getItemWidget() const + { + return itemWidget; + } + + /** + * Initializes the item and widget + * Implementation should call initItemWidget! + */ + virtual void initItem() = 0; + protected: - virtual void initItemWidget() = 0; - - + virtual void initItemWidget() = 0; + + }; #endif diff --git a/sflphone-client-kde/src/SFLPhone.cpp b/sflphone-client-kde/src/SFLPhone.cpp index d080f797db3bfc518766abbcf77e317d2f9a4917..fabc7d15ab29bdbecd1bc9a896d2f58d1ae62879 100644 --- a/sflphone-client-kde/src/SFLPhone.cpp +++ b/sflphone-client-kde/src/SFLPhone.cpp @@ -1,7 +1,7 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * +/************************************** ************************************* + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,12 +18,13 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ - +#include <unistd.h> #include "SFLPhone.h" +#include <unistd.h> #include <KApplication> #include <KStandardAction> -#include <KMenuBar> +//#include <KMenuBar> #include <KMenu> #include <KAction> #include <KToolBar> @@ -39,338 +40,320 @@ SFLPhone::SFLPhone(QWidget *parent) : KXmlGuiWindow(parent), + initialized_(false), view(new SFLPhoneView(this)) { - - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - // accept dnd - setAcceptDrops(true); - - // tell the KXmlGuiWindow that this is indeed the main widget - setCentralWidget(view); - - setWindowIcon(QIcon(ICON_SFLPHONE)); - setWindowTitle(i18n("SFLphone")); - - setupActions(); - - setObjectNames(); - QMetaObject::connectSlotsByName(this); - view->on_stackedWidget_screen_currentChanged(SCREEN_MAIN); - view->loadWindow(); - - - move(QCursor::pos().x() - geometry().width()/2, QCursor::pos().y() - geometry().height()/2); - if( ! configurationManager.isStartHidden()) - { - show(); - } - - if(configurationManager.getAccountList().value().isEmpty()) - { - (new AccountWizard())->show(); - } + setupActions(); } SFLPhone::~SFLPhone() { } +bool SFLPhone::initialize() +{ + if ( initialized_ ) { + qDebug() << "Already initialized."; + return false; + } + + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + // accept dnd + setAcceptDrops(true); + + // tell the KXmlGuiWindow that this is indeed the main widget + setCentralWidget(view); + + setWindowIcon(QIcon(ICON_SFLPHONE)); + setWindowTitle(i18n("SFLphone")); + + setupActions(); + + statusBarWidget = new QLabel(); + statusBar()->addWidget(statusBarWidget); + + + trayIcon = new SFLPhoneTray(this->windowIcon(), this); + trayIcon->show(); + + iconChanged = false; + + setObjectNames(); + QMetaObject::connectSlotsByName(this); + view->on_stackedWidget_screen_currentChanged(SCREEN_MAIN); + view->loadWindow(); + + move(QCursor::pos().x() - geometry().width()/2, QCursor::pos().y() - geometry().height()/2); + if( ! configurationManager.isStartHidden()) { + show(); + } + + if(configurationManager.getAccountList().value().isEmpty()) { + (new AccountWizard())->show(); + } + + initialized_ = true; + + return true; +} + void SFLPhone::setObjectNames() { - view->setObjectName("view"); - statusBar()->setObjectName("statusBar"); - trayIcon->setObjectName("trayIcon"); + view->setObjectName("view"); + statusBar()->setObjectName("statusBar"); + trayIcon->setObjectName("trayIcon"); } void SFLPhone::setupActions() { - qDebug() << "setupActions"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - - action_accept = new KAction(this); - action_refuse = new KAction(this); - action_hold = new KAction(this); - action_transfer = new KAction(this); - action_record = new KAction(this); - action_mailBox = new KAction(this); - - action_screen = new QActionGroup(this); - action_screen->setExclusive(true); - action_main = new KAction(KIcon(QIcon(ICON_SCREEN_MAIN)), i18n("Main screen"), action_screen); - action_history = new KAction(KIcon(QIcon(ICON_SCREEN_HISTORY)), i18n("Call history"), action_screen); - action_addressBook = new KAction(KIcon(QIcon(ICON_SCREEN_ADDRESS)), i18n("Address book"), action_screen); - action_main->setCheckable(true); - action_history->setCheckable(true); - action_addressBook->setCheckable(true); - action_main->setChecked(true); - action_screen->addAction(action_main); - action_screen->addAction(action_history); - action_screen->addAction(action_addressBook); - - action_close = KStandardAction::close(this, SLOT(close()), this); - action_quit = KStandardAction::quit(this, SLOT(quitButton()), this); - - action_configureSflPhone = KStandardAction::preferences(view, SLOT(configureSflPhone()), this); - action_configureSflPhone->setText(i18n("Configure SFLphone")); - - action_displayVolumeControls = new KAction(KIcon(QIcon(ICON_DISPLAY_VOLUME_CONSTROLS)), i18n("Display volume controls"), this); - action_displayDialpad = new KAction(KIcon(QIcon(ICON_DISPLAY_DIALPAD)), i18n("Display dialpad"), this); - action_displayVolumeControls->setChecked(configurationManager.getVolumeControls()); - action_displayDialpad->setChecked(configurationManager.getDialpad()); - action_accountCreationWizard = new KAction(i18n("Account creation wizard"), this); - - connect(action_accept, SIGNAL(triggered()), view, SLOT(accept())); - connect(action_refuse, SIGNAL(triggered()), view, SLOT(refuse())); - connect(action_hold, SIGNAL(triggered()), view, SLOT(hold())); - connect(action_transfer, SIGNAL(triggered()), view, SLOT(transfer())); - connect(action_record, SIGNAL(triggered()), view, SLOT(record())); - connect(action_screen, SIGNAL(triggered(QAction *)), this, SLOT(updateScreen(QAction *))); - connect(action_mailBox, SIGNAL(triggered()), view, SLOT(mailBox())); - connect(action_displayVolumeControls, SIGNAL(triggered()), view, SLOT(displayVolumeControls())); - connect(action_displayDialpad, SIGNAL(triggered()), view, SLOT(displayDialpad())); - connect(action_accountCreationWizard, SIGNAL(triggered()), view, SLOT(accountCreationWizard())); - - action_screen->addAction(action_main); - action_screen->addAction(action_history); - action_screen->addAction(action_addressBook); - - actionCollection()->addAction("action_accept", action_accept); - actionCollection()->addAction("action_refuse", action_refuse); - actionCollection()->addAction("action_hold", action_hold); - actionCollection()->addAction("action_transfer", action_transfer); - actionCollection()->addAction("action_record", action_record); - actionCollection()->addAction("action_main", action_main); - actionCollection()->addAction("action_history", action_history); - actionCollection()->addAction("action_addressBook", action_addressBook); - actionCollection()->addAction("action_mailBox", action_mailBox); - actionCollection()->addAction("action_close", action_close); - actionCollection()->addAction("action_quit", action_quit); - - actionCollection()->addAction("action_displayVolumeControls", action_displayVolumeControls); - actionCollection()->addAction("action_displayDialpad", action_displayDialpad); - actionCollection()->addAction("action_configureSflPhone", action_configureSflPhone); - actionCollection()->addAction("action_accountCreationWizard", action_accountCreationWizard); - - statusBarWidget = new QLabel(); - statusBar()->addWidget(statusBarWidget); - - trayIconMenu = new QMenu(this); - trayIconMenu->addAction(action_quit); - - trayIcon = new QSystemTrayIcon(this->windowIcon(), this); - trayIcon->setContextMenu(trayIconMenu); - trayIcon->show(); - - iconChanged = false; - - QString rcFilePath = QString(DATA_INSTALL_DIR) + "/sflphone-client-kde/sflphone-client-kdeui.rc"; - if(! QFile::exists(rcFilePath)) - { - QDir dir; - dir.cdUp(); - dir.cd("data"); - rcFilePath = dir.filePath("sflphone-client-kdeui.rc"); - } - qDebug() << "rcFilePath = " << rcFilePath ; - createGUI(rcFilePath); + qDebug() << "setupActions"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + + action_accept = new KAction(this); + action_refuse = new KAction(this); + action_hold = new KAction(this); + action_transfer = new KAction(this); + action_record = new KAction(this); + action_mailBox = new KAction(this); + + action_accept->setShortcut(Qt::CTRL + Qt::Key_A); + action_refuse->setShortcut(Qt::CTRL + Qt::Key_D); + action_hold->setShortcut(Qt::CTRL + Qt::Key_H); + action_transfer->setShortcut(Qt::CTRL + Qt::Key_T); + action_record->setShortcut(Qt::CTRL + Qt::Key_R); + action_mailBox->setShortcut(Qt::CTRL + Qt::Key_M); + + action_screen = new QActionGroup(this); + action_screen->setExclusive(true); + action_main = new KAction(KIcon(QIcon(ICON_SCREEN_MAIN)), i18n("Main screen"), action_screen); + action_history = new KAction(KIcon(QIcon(ICON_SCREEN_HISTORY)), i18n("Call history"), action_screen); + action_addressBook = new KAction(KIcon(QIcon(ICON_SCREEN_ADDRESS)), i18n("Address book"), action_screen); + action_main->setCheckable(true); + action_history->setCheckable(true); + action_addressBook->setCheckable(true); + action_main->setChecked(true); + action_screen->addAction(action_main); + action_screen->addAction(action_history); + action_screen->addAction(action_addressBook); + + action_close = KStandardAction::close(this, SLOT(close()), this); + action_quit = KStandardAction::quit(this, SLOT(quitButton()), this); + + action_configureSflPhone = KStandardAction::preferences(view, SLOT(configureSflPhone()), this); + action_configureSflPhone->setText(i18n("Configure SFLphone")); + + action_displayVolumeControls = new KAction(KIcon(QIcon(ICON_DISPLAY_VOLUME_CONSTROLS)), i18n("Display volume controls"), this); + action_displayDialpad = new KAction(KIcon(QIcon(ICON_DISPLAY_DIALPAD)), i18n("Display dialpad"), this); + action_displayDialpad->setCheckable(true); + + action_displayVolumeControls->setCheckable(true); + action_displayVolumeControls->setChecked(configurationManager.getVolumeControls()); + action_displayDialpad->setChecked(configurationManager.getDialpad()); + action_accountCreationWizard = new KAction(i18n("Account creation wizard"), this); + + connect(action_accept, SIGNAL(triggered()), view, SLOT(accept())); + connect(action_refuse, SIGNAL(triggered()), view, SLOT(refuse())); + connect(action_hold, SIGNAL(triggered()), view, SLOT(hold())); + connect(action_transfer, SIGNAL(triggered()), view, SLOT(transfer())); + connect(action_record, SIGNAL(triggered()), view, SLOT(record())); + connect(action_screen, SIGNAL(triggered(QAction *)), this, SLOT(updateScreen(QAction *))); + connect(action_mailBox, SIGNAL(triggered()), view, SLOT(mailBox())); + connect(action_displayVolumeControls, SIGNAL(triggered()), view, SLOT(displayVolumeControls())); + connect(action_displayDialpad, SIGNAL(triggered()), view, SLOT(displayDialpad())); + connect(action_accountCreationWizard, SIGNAL(triggered()), view, SLOT(accountCreationWizard())); + + action_screen->addAction(action_main); + action_screen->addAction(action_history); + action_screen->addAction(action_addressBook); + + actionCollection()->addAction("action_accept", action_accept); + actionCollection()->addAction("action_refuse", action_refuse); + actionCollection()->addAction("action_hold", action_hold); + actionCollection()->addAction("action_transfer", action_transfer); + actionCollection()->addAction("action_record", action_record); + actionCollection()->addAction("action_main", action_main); + actionCollection()->addAction("action_history", action_history); + actionCollection()->addAction("action_addressBook", action_addressBook); + actionCollection()->addAction("action_mailBox", action_mailBox); + actionCollection()->addAction("action_close", action_close); + actionCollection()->addAction("action_quit", action_quit); + + actionCollection()->addAction("action_displayVolumeControls", action_displayVolumeControls); + actionCollection()->addAction("action_displayDialpad", action_displayDialpad); + actionCollection()->addAction("action_configureSflPhone", action_configureSflPhone); + actionCollection()->addAction("action_accountCreationWizard", action_accountCreationWizard); + + QString rcFilePath = QString(DATA_INSTALL_DIR) + "/sflphone-client-kde/sflphone-client-kdeui.rc"; + + if(! QFile::exists(rcFilePath)) { + QDir dir; + dir.cdUp(); + dir.cd("data"); + rcFilePath = dir.filePath("sflphone-client-kdeui.rc"); + qDebug() << "rcFilePath = " << rcFilePath ; + + if(! QFile::exists(rcFilePath)) { + QDir dir; + dir.cdUp(); + dir.cdUp(); + dir.cd("data"); + rcFilePath = dir.filePath("sflphone-client-kdeui.rc"); + } + } + qDebug() << "rcFilePath = " << rcFilePath ; + createGUI(rcFilePath); } SFLPhoneView * SFLPhone::getView() { - return view; + return view; } bool SFLPhone::queryClose() { - qDebug() << "queryClose"; - hide(); - return false; + qDebug() << "queryClose"; + hide(); + return false; } void SFLPhone::quitButton() { - InstanceInterface & instance = InstanceInterfaceSingleton::getInstance(); - qDebug() << "quitButton : " << view->listWidget_callList->count() << " calls open."; - if(view->listWidget_callList->count() > 0 && instance.getRegistrationCount() <= 1) - { - qDebug() << "Attempting to quit when still having some calls open."; -// view->getErrorWindow()->showMessage(i18n("You still have some calls open. Please close all calls before quitting.")); - } - view->saveState(); - instance.Unregister(getpid()); - qApp->quit(); -} - - -void SFLPhone::putForeground() -{ - activateWindow(); - hide(); - activateWindow(); - show(); - activateWindow(); -} - -void SFLPhone::trayIconSignal() -{ - if(! isActiveWindow()) - { - trayIcon->setIcon(QIcon(ICON_TRAY_NOTIF)); - iconChanged = true; - } + InstanceInterface & instance = InstanceInterfaceSingleton::getInstance(); + //qDebug() << "quitButton : " << view->callTree->count() << " calls open."; + + //if(view->callTree->count() > 0 && instance.getRegistrationCount() <= 1) { + //qDebug() << "Attempting to quit when still having some calls open."; + //} + view->saveState(); + instance.Unregister(getpid()); + qApp->quit(); } void SFLPhone::sendNotif(QString caller) { - trayIcon->showMessage( - i18n("Incoming call"), - i18n("You have an incoming call from") + " " + caller + ".\n" + i18n("Click to accept or refuse it."), - QSystemTrayIcon::Warning, - 20000); -} - -void SFLPhone::on_trayIcon_messageClicked() -{ - qDebug() << "on_trayIcon_messageClicked"; - putForeground(); +// notification = new KNotification ( QString("test_notification"), this ); +// notification->setText("messageText") ; +// notification->setPixmap( QPixmap( this->windowIcon().pixmap(32, 32) )); +// notification->setActions( QStringList( i18n( "Open chat" ) ) ); +// notification->addContext( QString::fromLatin1("call") , "caller" ) ; +// notification->sendEvent(); +// KNotification::event(QString("test_notification"), +// QString("Allo"), +// this->windowIcon().pixmap(32, 32), +// parentWidget(), +// KNotification::CloseOnTimeout, +// KGlobal::mainComponent()); + +KNotification::event(KNotification::Notification, "New incomming call", "New call from: \n" + caller); } void SFLPhone::changeEvent(QEvent * event) { - if (event->type() == QEvent::ActivationChange && iconChanged && isActiveWindow()) - { - trayIcon->setIcon(this->windowIcon()); - iconChanged = false; - } + if (event->type() == QEvent::ActivationChange && iconChanged && isActiveWindow()) { + iconChanged = false; + } } -void SFLPhone::on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason) -{ - qDebug() << "on_trayIcon_activated"; - switch (reason) { - case QSystemTrayIcon::Trigger: - case QSystemTrayIcon::DoubleClick: - qDebug() << "Tray icon clicked."; - if(isActiveWindow()) - { - qDebug() << "isactive -> hide()"; - hide(); - } - else - { - qDebug() << "isnotactive -> show()"; - putForeground(); - } - break; - default: - qDebug() << "Tray icon activated with unknown reason."; - break; - } -} - - void SFLPhone::on_view_statusMessageChangeAsked(const QString & message) { - qDebug() << "on_view_statusMessageChangeAsked : " + message; - statusBarWidget->setText(message); + qDebug() << "on_view_statusMessageChangeAsked : " + message; + statusBarWidget->setText(message); } void SFLPhone::on_view_windowTitleChangeAsked(const QString & message) { - qDebug() << "on_view_windowTitleChangeAsked : " + message; - setWindowTitle(message); + qDebug() << "on_view_windowTitleChangeAsked : " + message; + setWindowTitle(message); } void SFLPhone::on_view_enabledActionsChangeAsked(const bool * enabledActions) { - qDebug() << "on_view_enabledActionsChangeAsked"; - action_accept->setEnabled(enabledActions[SFLPhone::Accept]); - action_refuse->setEnabled(enabledActions[SFLPhone::Refuse]); - action_hold->setEnabled(enabledActions[SFLPhone::Hold]); - action_transfer->setEnabled(enabledActions[SFLPhone::Transfer]); - action_record->setEnabled(enabledActions[SFLPhone::Record]); - action_mailBox->setEnabled(enabledActions[SFLPhone::Mailbox]); + qDebug() << "on_view_enabledActionsChangeAsked"; + action_accept->setVisible(enabledActions[SFLPhone::Accept]); + action_refuse->setVisible(enabledActions[SFLPhone::Refuse]); + action_hold->setVisible(enabledActions[SFLPhone::Hold]); + action_transfer->setVisible(enabledActions[SFLPhone::Transfer]); + action_record->setVisible(enabledActions[SFLPhone::Record]); + action_mailBox->setVisible(enabledActions[SFLPhone::Mailbox]); } void SFLPhone::on_view_actionIconsChangeAsked(const QString * actionIcons) { - qDebug() << "on_view_actionIconsChangeAsked"; - action_accept->setIcon(QIcon(actionIcons[SFLPhone::Accept])); - action_refuse->setIcon(QIcon(actionIcons[SFLPhone::Refuse])); - action_hold->setIcon(QIcon(actionIcons[SFLPhone::Hold])); - action_transfer->setIcon(QIcon(actionIcons[SFLPhone::Transfer])); - action_record->setIcon(QIcon(actionIcons[SFLPhone::Record])); - action_mailBox->setIcon(QIcon(actionIcons[SFLPhone::Mailbox])); + qDebug() << "on_view_actionIconsChangeAsked"; + action_accept->setIcon(QIcon(actionIcons[SFLPhone::Accept])); + action_refuse->setIcon(QIcon(actionIcons[SFLPhone::Refuse])); + action_hold->setIcon(QIcon(actionIcons[SFLPhone::Hold])); + action_transfer->setIcon(QIcon(actionIcons[SFLPhone::Transfer])); + action_record->setIcon(QIcon(actionIcons[SFLPhone::Record])); + action_mailBox->setIcon(QIcon(actionIcons[SFLPhone::Mailbox])); } void SFLPhone::on_view_actionTextsChangeAsked(const QString * actionTexts) { - qDebug() << "on_view_actionTextsChangeAsked"; - action_accept->setText(actionTexts[SFLPhone::Accept]); - action_refuse->setText(actionTexts[SFLPhone::Refuse]); - action_hold->setText(actionTexts[SFLPhone::Hold]); - action_transfer->setText(actionTexts[SFLPhone::Transfer]); - action_record->setText(actionTexts[SFLPhone::Record]); - action_mailBox->setText(actionTexts[SFLPhone::Mailbox]); + qDebug() << "on_view_actionTextsChangeAsked"; + action_accept->setText(actionTexts[SFLPhone::Accept]); + action_refuse->setText(actionTexts[SFLPhone::Refuse]); + action_hold->setText(actionTexts[SFLPhone::Hold]); + action_transfer->setText(actionTexts[SFLPhone::Transfer]); + action_record->setText(actionTexts[SFLPhone::Record]); + action_mailBox->setText(actionTexts[SFLPhone::Mailbox]); } void SFLPhone::on_view_transferCheckStateChangeAsked(bool transferCheckState) { - qDebug() << "Changing transfer action checkState"; - action_transfer->setChecked(transferCheckState); + qDebug() << "Changing transfer action checkState"; + action_transfer->setChecked(transferCheckState); } void SFLPhone::on_view_recordCheckStateChangeAsked(bool recordCheckState) { - qDebug() << "Changing record action checkState"; - action_record->setChecked(recordCheckState); + qDebug() << "Changing record action checkState"; + action_record->setChecked(recordCheckState); } void SFLPhone::updateScreen(QAction * action) { - if(action == action_main) view->changeScreen(SCREEN_MAIN); - else if(action == action_history) view->changeScreen(SCREEN_HISTORY); - else if(action == action_addressBook) view->changeScreen(SCREEN_ADDRESS); + if(action == action_main) view->changeScreen(SCREEN_MAIN); + else if(action == action_history) view->changeScreen(SCREEN_HISTORY); + else if(action == action_addressBook) view->changeScreen(SCREEN_ADDRESS); } void SFLPhone::on_view_screenChanged(int screen) { - qDebug() << "on_view_screenChanged"; - if(screen == SCREEN_MAIN) action_main->setChecked(true); - else if(screen == SCREEN_HISTORY) action_history->setChecked(true); - else if(screen == SCREEN_ADDRESS) action_addressBook->setChecked(true); + qDebug() << "on_view_screenChanged"; + if(screen == SCREEN_MAIN) action_main->setChecked(true); + else if(screen == SCREEN_HISTORY) action_history->setChecked(true); + else if(screen == SCREEN_ADDRESS) action_addressBook->setChecked(true); } QList <QAction *> SFLPhone::getCallActions() { - QList<QAction *> callActions = QList<QAction *>(); - callActions.insert((int) Accept, action_accept); - callActions.insert((int) Refuse, action_refuse); - callActions.insert((int) Hold, action_hold); - callActions.insert((int)Transfer, action_transfer); - callActions.insert((int) Record, action_record); - callActions.insert((int) Mailbox, action_mailBox); - return callActions; + QList<QAction *> callActions = QList<QAction *>(); + callActions.insert((int) Accept, action_accept); + callActions.insert((int) Refuse, action_refuse); + callActions.insert((int) Hold, action_hold); + callActions.insert((int)Transfer, action_transfer); + callActions.insert((int) Record, action_record); + callActions.insert((int) Mailbox, action_mailBox); + return callActions; } void SFLPhone::on_view_incomingCall(const Call * call) { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - trayIconSignal(); - if(configurationManager.popupMode()) - { - putForeground(); - } - if(configurationManager.getNotify()) - { - sendNotif(call->getPeerName().isEmpty() ? call->getPeerPhoneNumber() : call->getPeerName()); - } + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + //trayIconSignal(); + /*if(configurationManager.popupMode()) + { + putForeground(); + }*/ + if(configurationManager.getNotify()) { + sendNotif(call->getPeerName().isEmpty() ? call->getPeerPhoneNumber() : call->getPeerName()); + } } void SFLPhone::on_view_addressBookEnableAsked(bool enabled) { - action_addressBook->setVisible(enabled); + action_addressBook->setVisible(enabled); } diff --git a/sflphone-client-kde/src/SFLPhone.h b/sflphone-client-kde/src/SFLPhone.h index 1beae4fd107b7701c28eac983c46c1dc35f087d5..f3d381db212694a6a1e79eb3f77a0e02a1cd3d21 100644 --- a/sflphone-client-kde/src/SFLPhone.h +++ b/sflphone-client-kde/src/SFLPhone.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -27,17 +27,19 @@ #include <QtGui/QListWidgetItem> #include <QtGui/QKeyEvent> #include <QErrorMessage> -#include <QSystemTrayIcon> +#include <KSystemTrayIcon> +#include <KNotification> #include <KXmlGuiWindow> #include <KAction> #include <QActionGroup> // #include "ui_SFLPhoneView_base.h" -#include "CallList.h" +//#include "CallList.h" #include "AccountWizard.h" #include "Contact.h" #include "SFLPhoneView.h" +#include "SFLPhoneTray.h" class SFLPhoneView; @@ -70,65 +72,68 @@ enum CallAction { NumberOfCallActions}; private: - KAction * action_accept; - KAction * action_refuse; - KAction * action_hold; - KAction * action_transfer; - KAction * action_record; - QActionGroup * action_screen; - KAction * action_main; - KAction * action_history; - KAction * action_addressBook; - KAction * action_mailBox; - KAction * action_close; - KAction * action_quit; - KAction * action_displayVolumeControls; - KAction * action_displayDialpad; - KAction * action_configureSflPhone; - KAction * action_accountCreationWizard; - - SFLPhoneView * view; - QMenu *trayIconMenu; - bool iconChanged; - QSystemTrayIcon *trayIcon; - QLabel * statusBarWidget; - + // Whether or not the object has been initialized + bool initialized_; + KAction * action_accept; + KAction * action_refuse; + KAction * action_hold; + KAction * action_transfer; + KAction * action_record; + QActionGroup * action_screen; + KAction * action_main; + KAction * action_history; + KAction * action_addressBook; + KAction * action_mailBox; + KAction * action_close; + KAction * action_quit; + KAction * action_displayVolumeControls; + KAction * action_displayDialpad; + KAction * action_configureSflPhone; + KAction * action_accountCreationWizard; + + SFLPhoneView * view; + QMenu *trayIconMenu; + bool iconChanged; + SFLPhoneTray *trayIcon; + KNotification *notification; + QLabel * statusBarWidget; + private: - void setObjectNames(); + void setObjectNames(); protected: - virtual bool queryClose(); - virtual void changeEvent(QEvent * event); - + virtual bool queryClose(); + virtual void changeEvent(QEvent * event); + public: - SFLPhone(QWidget *parent = 0); - ~SFLPhone(); - void setupActions(); - void sendNotif(QString caller); - void putForeground(); - void trayIconSignal(); - SFLPhoneView * getView(); - QList<QAction *> getCallActions(); - - + SFLPhone(QWidget *parent = 0); + ~SFLPhone(); + bool initialize(); + void setupActions(); + void sendNotif(QString caller); + void trayIconSignal(); + SFLPhoneView * getView(); + QList<QAction *> getCallActions(); + + friend class SFLPhoneView; + + private slots: - void on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason); - void on_trayIcon_messageClicked(); - void on_view_statusMessageChangeAsked(const QString & message); - void on_view_windowTitleChangeAsked(const QString & message); - void on_view_enabledActionsChangeAsked(const bool * enabledActions); - void on_view_actionIconsChangeAsked(const QString * actionIcons); - void on_view_actionTextsChangeAsked(const QString * actionTexts); - void on_view_transferCheckStateChangeAsked(bool transferCheckState); - void on_view_recordCheckStateChangeAsked(bool recordCheckState); - void on_view_addressBookEnableAsked(bool enabled); - void on_view_screenChanged(int screen); - void on_view_incomingCall(const Call * call); - - void updateScreen(QAction * action); - - void quitButton(); + void on_view_statusMessageChangeAsked(const QString & message); + void on_view_windowTitleChangeAsked(const QString & message); + void on_view_enabledActionsChangeAsked(const bool * enabledActions); + void on_view_actionIconsChangeAsked(const QString * actionIcons); + void on_view_actionTextsChangeAsked(const QString * actionTexts); + void on_view_transferCheckStateChangeAsked(bool transferCheckState); + void on_view_recordCheckStateChangeAsked(bool recordCheckState); + void on_view_addressBookEnableAsked(bool enabled); + void on_view_screenChanged(int screen); + void on_view_incomingCall(const Call * call); + + void updateScreen(QAction * action); + + void quitButton(); }; diff --git a/sflphone-client-kde/src/conf/dlgrecord.cpp b/sflphone-client-kde/src/SFLPhoneTray.cpp similarity index 57% rename from sflphone-client-kde/src/conf/dlgrecord.cpp rename to sflphone-client-kde/src/SFLPhoneTray.cpp index 49181a1b632ff31dbce54d14ac9a6a4802810001..4d8654695bfa0b35aef6e5b4f62fcaeca009e5f7 100644 --- a/sflphone-client-kde/src/conf/dlgrecord.cpp +++ b/sflphone-client-kde/src/SFLPhoneTray.cpp @@ -1,7 +1,7 @@ -/*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * +/************************************** ************************************* + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,23 +18,45 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "dlgrecord.h" -#include <KLineEdit> +#include <QDebug> -DlgRecord::DlgRecord(QWidget *parent) - : QWidget(parent) +#include "SFLPhoneTray.h" + +SFLPhoneTray::SFLPhoneTray(QIcon icon, QWidget *parent) + : KSystemTrayIcon(icon, parent), + initialized_(false), + trayIconMenu(0) { - setupUi(this); - KUrlRequester_destinationFolder->setMode(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly); - KUrlRequester_destinationFolder->setUrl(KUrl(QDir::home().path())); - KUrlRequester_destinationFolder->lineEdit()->setObjectName("kcfg_destinationFolder"); - KUrlRequester_destinationFolder->lineEdit()->setReadOnly(true); } +SFLPhoneTray::~SFLPhoneTray() +{ +} -DlgRecord::~DlgRecord() +bool SFLPhoneTray::initialize() { + if ( initialized_ ) { + qDebug() << "Already initialized."; + return false; + } + + trayIconMenu = new QMenu(parentWidget()); + setContextMenu(trayIconMenu); + + setupActions(); + + initialized_ = true; + + return true; } +void SFLPhoneTray::addAction(KAction *action) +{ + trayIconMenu->addAction(action); +} +void SFLPhoneTray::setupActions() +{ + qDebug() << "setupActions"; +} diff --git a/sflphone-client-kde/src/conf/dlgrecord.h b/sflphone-client-kde/src/SFLPhoneTray.h similarity index 68% rename from sflphone-client-kde/src/conf/dlgrecord.h rename to sflphone-client-kde/src/SFLPhoneTray.h index 3212034591e03de8f9dacf53a291e4d86017fec1..537e147b6ceacc2db9dd0ef5b9f4ae1256f837eb 100644 --- a/sflphone-client-kde/src/conf/dlgrecord.h +++ b/sflphone-client-kde/src/SFLPhoneTray.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,24 +18,29 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef DLGRECORD_H -#define DLGRECORD_H -#include <QWidget> +#ifndef SFLPHONETRAY_H +#define SFLPHONETRAY_H -#include "ui_dlgrecordbase.h" +#include <KSystemTrayIcon> +#include <KAction> +#include <QMenu> +#include <QIcon> -/** - @author Jérémy Quentin <jeremy.quentin@gmail.com> -*/ -class DlgRecord : public QWidget, public Ui_DlgRecordBase +class SFLPhoneTray : public KSystemTrayIcon { Q_OBJECT -public: - DlgRecord(QWidget *parent = 0); - ~DlgRecord(); +public: + SFLPhoneTray(QIcon icon, QWidget *parent = 0); + ~SFLPhoneTray(); + bool initialize(); + void setupActions(); + void addAction(KAction *action); +private: + QMenu *trayIconMenu; + bool initialized_; }; -#endif +#endif // SFLPHONETRAY_H diff --git a/sflphone-client-kde/src/SFLPhoneView.cpp b/sflphone-client-kde/src/SFLPhoneView.cpp index 978c0feb6a039d2dd828931c1d711417b8006993..843410a2948c7f91fd91cb18c103b5513b13e08d 100644 --- a/sflphone-client-kde/src/SFLPhoneView.cpp +++ b/sflphone-client-kde/src/SFLPhoneView.cpp @@ -1,7 +1,8 @@ + /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -23,7 +24,6 @@ #include <QtGui/QLabel> #include <QtGui/QContextMenuEvent> -#include <QtGui/QMenu> #include <QtGui/QBrush> #include <QtGui/QPalette> #include <QtGui/QInputDialog> @@ -32,12 +32,14 @@ #include <kstandardaction.h> #include <kactioncollection.h> #include <kaction.h> +#include <kmenu.h> #include <kabc/addressbook.h> #include <kabc/stdaddressbook.h> #include <kabc/addresseelist.h> #include "sflphone_const.h" +#include "conf/ConfigurationSkeleton.h" #include "configurationmanager_interface_singleton.h" #include "callmanager_interface_singleton.h" #include "instance_interface_singleton.h" @@ -46,6 +48,7 @@ #include "SFLPhone.h" #include "typedefs.h" #include "Dialpad.h" +#include "CallTreeItem.h" using namespace KABC; @@ -55,71 +58,100 @@ AccountList * SFLPhoneView::accountList; QString SFLPhoneView::priorAccountId; SFLPhoneView::SFLPhoneView(QWidget *parent) - : QWidget(parent) -{ - setupUi(this); - - - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - - errorWindow = new QErrorMessage(this); - callList = new CallList(this); - historyLoaded = false; - for(int i = 0 ; i < callList->size() ; i++) - { - Call * call = (*callList)[i]; - if(call->getState() == CALL_STATE_OVER) - { - addCallToCallHistory(call); - } - else - { - addCallToCallList(call); - } - } - - accountList = new AccountList(false); - accountList->updateAccounts(); - - configDialog = new ConfigurationDialog(this); - configDialog->setObjectName("configDialog"); - configDialog->setModal(true); - - wizard = new AccountWizard(this); - wizard->setModal(false); - - QPalette pal = QPalette(palette()); - pal.setColor(QPalette::AlternateBase, Qt::lightGray); - setPalette(pal); - - stackedWidget_screen->setCurrentWidget(page_callList); - - connect(&callManager, SIGNAL(callStateChanged(const QString &, const QString &)), - this, SLOT(on1_callStateChanged(const QString &, const QString &))); - connect(&callManager, SIGNAL(incomingCall(const QString &, const QString &, const QString &)), - this, SLOT(on1_incomingCall(const QString &, const QString &))); - connect(&callManager, SIGNAL(incomingMessage(const QString &, const QString &)), - this, SLOT(on1_incomingMessage(const QString &, const QString &))); - connect(&callManager, SIGNAL(voiceMailNotify(const QString &, int)), - this, SLOT(on1_voiceMailNotify(const QString &, int))); - connect(&callManager, SIGNAL(volumeChanged(const QString &, double)), - this, SLOT(on1_volumeChanged(const QString &, double))); - - connect(&configurationManager, SIGNAL(accountsChanged()), - accountList, SLOT(updateAccounts())); - - connect(configDialog, SIGNAL(clearCallHistoryAsked()), - callList, SLOT(clearHistory())); - - connect(configDialog, SIGNAL(changesApplied()), - this, SLOT(loadWindow())); - - connect(accountList, SIGNAL(accountListUpdated()), - this, SLOT(updateStatusMessage())); - connect(accountList, SIGNAL(accountListUpdated()), - this, SLOT(updateWindowCallState())); - + : QWidget(parent), + callTreeModel(CallModel::ActiveCall), + historyTreeModel(CallModel::History), + addressBookTree(CallModel::Address) +{ + setupUi(this); + + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + + errorWindow = new QErrorMessage(this); + + //callList = & CallListInterfaceSingleton::getInstance(); //CallList(this); + + //callTree = new CallTreeView(page_callList); + //historyTree = new CallTreeWidget(page_callHistory); + //callTree = new CallTreeWidget(this); + //historyTree = new CallTreeWidget(this); + callTreeModel.setTitle("Calls"); + historyTreeModel.setTitle("History"); + + page_callList->layout()->addWidget(callTreeModel.getWidget()); + page_callHistory->layout()->addWidget(historyTreeModel.getWidget()); + + historyLoaded = false; + +// for(int i = 0 ; i < callTreeModel.size() ; i++) { +// Call * call = (*callList)[i]; +// if(call->getState() == CALL_STATE_OVER) { +// addCallToCallHistory(call); +// } +// else { +// addCallToCallList(call); +// } +// } + + accountList = new AccountList(false); + accountList->updateAccounts(); + + configDialog = new ConfigurationDialog(this); + configDialog->setObjectName("configDialog"); + configDialog->setModal(true); + + wizard = new AccountWizard(this); + wizard->setModal(false); + + QPalette pal = QPalette(palette()); + pal.setColor(QPalette::AlternateBase, Qt::lightGray); + setPalette(pal); + + stackedWidget_screen->setCurrentWidget(page_callList); + + connect(&callManager, SIGNAL(callStateChanged(const QString &, const QString &)), + this, SLOT(on1_callStateChanged(const QString &, const QString &))); + connect(&callManager, SIGNAL(incomingCall(const QString &, const QString &, const QString &)), + this, SLOT(on1_incomingCall(const QString &, const QString &))); + connect(&callManager, SIGNAL(conferenceCreated(const QString &)), + this, SLOT(on1_incomingConference(const QString &))); + connect(&callManager, SIGNAL(conferenceChanged(const QString &, const QString &)), + this, SLOT(on1_changingConference(const QString &, const QString &))); + connect(&callManager, SIGNAL(conferenceRemoved(const QString &)), + this, SLOT(on1_conferenceRemoved(const QString &))); + connect(&callManager, SIGNAL(incomingMessage(const QString &, const QString &)), + this, SLOT(on1_incomingMessage(const QString &, const QString &))); + connect(&callManager, SIGNAL(voiceMailNotify(const QString &, int)), + this, SLOT(on1_voiceMailNotify(const QString &, int))); + connect(&callManager, SIGNAL(volumeChanged(const QString &, double)), + this, SLOT(on1_volumeChanged(const QString &, double))); + + connect(&configurationManager, SIGNAL(accountsChanged()), + accountList, SLOT(updateAccounts())); + + connect(&configurationManager, SIGNAL(audioManagerChanged()), + this, SLOT(on1_audioManagerChanged())); + +// connect(configDialog, SIGNAL(clearCallHistoryAsked()), //TODO restore +// &callTreeModel, SLOT(clearHistory())); + + connect(configDialog, SIGNAL(changesApplied()), + this, SLOT(loadWindow())); + + connect(accountList, SIGNAL(accountListUpdated()), + this, SLOT(updateStatusMessage())); + connect(accountList, SIGNAL(accountListUpdated()), + this, SLOT(updateWindowCallState())); + + connect(callTreeModel.getWidget(), SIGNAL(itemChanged()), //currentItemChanged + this, SLOT(on_callTree_currentItemChanged())); + connect(callTreeModel.getWidget(), SIGNAL(itemChanged()), //ITem changed + this, SLOT(on_callTree_itemChanged())); + connect(callTreeModel.getWidget(), SIGNAL(doubleClicked(const QModelIndex &)), + this, SLOT(on_callTree_itemDoubleClicked(const QModelIndex&))); + + } @@ -130,295 +162,261 @@ SFLPhoneView::~SFLPhoneView() void SFLPhoneView::saveState() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - configurationManager.setHistory(callList->getHistoryMap()); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + configurationManager.setHistory(callTreeModel.getHistoryMap()); } void SFLPhoneView::loadWindow() { - qDebug() << "\nloadWindow"; - updateWindowCallState(); - updateRecordButton(); - updateVolumeButton(); - updateRecordBar(); - updateVolumeBar(); - updateVolumeControls(); - updateDialpad(); - updateSearchHistory(); - updateAddressBookEnabled(); - updateAddressBook(); - updateStatusMessage(); - qDebug() << "Finished loadWindow\n"; + qDebug() << "\nloadWindow"; + updateWindowCallState(); + updateRecordButton(); + updateVolumeButton(); + updateRecordBar(); + updateVolumeBar(); + updateVolumeControls(); + updateDialpad(); + updateSearchHistory(); + updateAddressBookEnabled(); + updateAddressBook(); + updateStatusMessage(); + qDebug() << "Finished loadWindow\n"; } Account * SFLPhoneView::accountInUse() { - Account * priorAccount = accountList->getAccountById(priorAccountId); - if(priorAccount && priorAccount->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED ) - { - return priorAccount; - } - else - { - return accountList->firstRegisteredAccount(); - } + Account * priorAccount = accountList->getAccountById(priorAccountId); + if(priorAccount && priorAccount->getAccountDetail(ACCOUNT_STATUS) == ACCOUNT_STATE_REGISTERED ) { + return priorAccount; + } + else { + return accountList->firstRegisteredAccount(); + } } QString SFLPhoneView::accountInUseId() { - Account * firstRegistered = accountInUse(); - if(firstRegistered == NULL) - { - return QString(); - } - else - { - return firstRegistered->getAccountId(); - } + Account * firstRegistered = accountInUse(); + if(firstRegistered == NULL) + { + return QString(); + } + else + { + return firstRegistered->getAccountId(); + } } AccountList * SFLPhoneView::getAccountList() { - return accountList; + return accountList; } QErrorMessage * SFLPhoneView::getErrorWindow() { - return errorWindow; + return errorWindow; } -void SFLPhoneView::addCallToCallList(Call * call) -{ - QListWidgetItem * item = call->getItem(); - QWidget * widget = call->getItemWidget(); - if(item && widget) - { - listWidget_callList->addItem(item); - listWidget_callList->setItemWidget(item, widget); - } -} +// Call* SFLPhoneView::addCallToCallList(Call * call) +// { +// // return callTree->insert(call); +// return callTreeModel.addCall(call); +// } -void SFLPhoneView::addCallToCallHistory(Call * call) -{ - QListWidgetItem * item = call->getHistoryItem(); - QWidget * widget = call->getHistoryItemWidget(); - if(item && widget) - { - listWidget_callHistory->insertItem(0, item); - listWidget_callHistory->setItemWidget(item, widget); - } -} +// Call* SFLPhoneView::addCallToCallHistory(Call * call) +// { +// //return historyTree->insert(call); //TODO restore +// return historyTree.addCall(call); +// +// } void SFLPhoneView::addContactToContactList(Contact * contact) { - QListWidgetItem * item = contact->getItem(); - QWidget * widget = contact->getItemWidget(); - if(item && widget) - { - listWidget_addressBook->addItem(item); - listWidget_addressBook->setItemWidget(item, widget); - } + QListWidgetItem * item = contact->getItem(); + QWidget * widget = contact->getItemWidget(); + if(item && widget) { + listWidget_addressBook->addItem(item); + listWidget_addressBook->setItemWidget(item, widget); + } } void SFLPhoneView::typeString(QString str) { - qDebug() << "typeString"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - - if(stackedWidget_screen->currentWidget() == page_callList) - { - callManager.playDTMF(str); - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Typing when no item is selected. Opening an item."; - Call * call = callList->addDialingCall(); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - } - callList->findCallByItem(listWidget_callList->currentItem())->appendItemText(str); - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - qDebug() << "In call history."; - lineEdit_searchHistory->setText(lineEdit_searchHistory->text() + str); - lineEdit_searchHistory->setFocus(); - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - qDebug() << "In address book."; - lineEdit_addressBook->setText(lineEdit_addressBook->text() + str); - lineEdit_addressBook->setFocus(); - } + qDebug() << "typeString"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + + if(stackedWidget_screen->currentWidget() == page_callList) { + Call* call = callTreeModel.getCurrentItem(); + callManager.playDTMF(str); + Call *currentCall = 0; + Call *candidate = 0; + + if(call) { + if(call->getState() == CALL_STATE_CURRENT) { + currentCall = call; + } + } + +// for(int i = callTreeModel.size() - 1 ; i >= 0 ; i--) +// { +// Call *call2 = (*callList)[i]; +// +// +// } + foreach (Call* call2, callTreeModel.getCallList()) { + if(currentCall != call2 && call2->getState() == CALL_STATE_CURRENT) { + action(call2, CALL_ACTION_HOLD); + } + else if(call2->getState() == CALL_STATE_DIALING) { + candidate = call2; + } + } + + if(!currentCall && !candidate) { + qDebug() << "Typing when no item is selected. Opening an item."; + candidate = callTreeModel.addDialingCall(); + //callTree->setCurrentRow(callTree->count() + 1); //TODO + //callTreeModel.selectItem(addCallToCallList(candidate)); + } + + if(!currentCall && candidate) { + candidate->appendText(str); + } + } + if(stackedWidget_screen->currentWidget() == page_callHistory) { + qDebug() << "In call history."; + lineEdit_searchHistory->setText(lineEdit_searchHistory->text() + str); + lineEdit_searchHistory->setFocus(); + } + if(stackedWidget_screen->currentWidget() == page_addressBook) { + qDebug() << "In address book."; + lineEdit_addressBook->setText(lineEdit_addressBook->text() + str); + lineEdit_addressBook->setFocus(); + } } void SFLPhoneView::backspace() { - qDebug() << "backspace"; - if(stackedWidget_screen->currentWidget() == page_callList) - { - qDebug() << "In call list."; - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Backspace when no item is selected. Doing nothing."; - } - else - { - Call * call = callList->findCallByItem(listWidget_callList->currentItem()); - if(!call) - { - qDebug() << "Error : Backspace on unexisting call."; - } - else - { - call->backspaceItemText(); - updateCallItem(call); - } - } - } + qDebug() << "backspace"; + if(stackedWidget_screen->currentWidget() == page_callList) { + qDebug() << "In call list."; + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Backspace on unexisting call."; + } + else { + call->backspaceItemText(); + if(call->getState() == CALL_STATE_OVER) { + if (callTreeModel.getCurrentItem()) + callTreeModel.removeItem(callTreeModel.getCurrentItem()); + + if(call->getHistoryState() != NONE) { + //historyTree->insert(call); + historyTreeModel.addCall(call); + } + } + } + } } void SFLPhoneView::escape() { - qDebug() << "escape"; - if(stackedWidget_screen->currentWidget() == page_callList ) - { - qDebug() << "In call list."; - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Escape when no item is selected. Doing nothing."; - } - else - { - Call * call = callList->findCallByItem(listWidget_callList->currentItem()); - if(!call) - { - qDebug() << "Error : Escape on unexisting call."; - } - else - { - int state = call->getState(); - if(state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD) - { - action(call, CALL_ACTION_TRANSFER); - } - else - { - action(call, CALL_ACTION_REFUSE); - } - } - } - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - qDebug() << "In call history."; - lineEdit_searchHistory->clear(); - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - qDebug() << "In address book."; - lineEdit_addressBook->clear(); - } + qDebug() << "escape"; + if(stackedWidget_screen->currentWidget() == page_callList ) { + qDebug() << "In call list."; + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Escape when no item is selected. Doing nothing."; + } + else { + if(call->getState() == CALL_STATE_TRANSFER || call->getState() == CALL_STATE_TRANSF_HOLD) { + action(call, CALL_ACTION_TRANSFER); + } + else { + action(call, CALL_ACTION_REFUSE); + } + } + } + if(stackedWidget_screen->currentWidget() == page_callHistory) { + qDebug() << "In call history."; + lineEdit_searchHistory->clear(); + } + if(stackedWidget_screen->currentWidget() == page_addressBook) { + qDebug() << "In address book."; + lineEdit_addressBook->clear(); + } } void SFLPhoneView::enter() { - qDebug() << "enter"; - if(stackedWidget_screen->currentWidget() == page_callList ) - { - qDebug() << "In call list."; - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Enter when no item is selected. Doing nothing."; - } - else - { - Call * call = callList->findCallByItem(listWidget_callList->currentItem()); - if(!call) - { - qDebug() << "Error : Enter on unexisting call."; - } - else - { - int state = call->getState(); - if(state == CALL_STATE_INCOMING || state == CALL_STATE_DIALING || state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD) - { - action(call, CALL_ACTION_ACCEPT); - } - else - { - qDebug() << "Enter when call selected not in appropriate state. Doing nothing."; - } - } - } - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - qDebug() << "In call history."; - QListWidgetItem * item = listWidget_callHistory->currentItem(); - if(!item) - { - qDebug() << "Enter when no item is selected. Doing nothing."; - } - else - { - changeScreen(SCREEN_MAIN); - - Call * pastCall = callList->findCallByHistoryItem(item); - if (!pastCall) - { - qDebug() << "pastCall null"; - } - Call * call = callList->addDialingCall(pastCall->getPeerName(), pastCall->getAccountId()); - call->appendItemText(pastCall->getPeerPhoneNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); - } - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - qDebug() << "In address book."; - QListWidgetItem * item = listWidget_addressBook->currentItem(); - if(!item) - { - qDebug() << "Enter when no item is selected. Doing nothing."; - } - else - { - changeScreen(SCREEN_MAIN); - ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item)); - Call * call = callList->addDialingCall(w->getContactName()); - call->appendItemText(w->getContactNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); - } - } + qDebug() << "enter"; + if(stackedWidget_screen->currentWidget() == page_callList ) { + qDebug() << "In call list."; + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Enter on unexisting call."; + } + else { + int state = call->getState(); + if(state == CALL_STATE_INCOMING || state == CALL_STATE_DIALING || state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD) { + action(call, CALL_ACTION_ACCEPT); + } + else { + qDebug() << "Enter when call selected not in appropriate state. Doing nothing."; + } + } + } + if(stackedWidget_screen->currentWidget() == page_callHistory) { + qDebug() << "In call history."; + + Call * pastCall = historyTreeModel.getCurrentItem(); + if (!pastCall) { + qDebug() << "pastCall null"; + } + else { + changeScreen(SCREEN_MAIN); + Call * call = callTreeModel.addDialingCall(pastCall->getPeerName(), pastCall->getAccountId()); + call->appendText(pastCall->getPeerPhoneNumber()); + //addCallToCallList(call); + //callTree->setCurrentRow(callTree->count() - 1); + //callTree->setCurrentItem(addCallToCallList(call)); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); + } + } + if(stackedWidget_screen->currentWidget() == page_addressBook) { + qDebug() << "In address book."; + QListWidgetItem * item = listWidget_addressBook->currentItem(); + if(!item) { + qDebug() << "Enter when no item is selected. Doing nothing."; + } + else { + changeScreen(SCREEN_MAIN); + ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item)); + Call * call = callTreeModel.addDialingCall(w->getContactName()); + call->appendText(w->getContactNumber()); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); + } + } } void SFLPhoneView::action(Call * call, call_action action) { - if(! call) - { - qDebug() << "Error : action " << action << "applied on null object call. Should not happen."; - } - else - { - try - { - call->actionPerformed(action); - } - catch(const char * msg) - { - errorWindow->showMessage(QString(msg)); - } - updateCallItem(call); - updateWindowCallState(); - } + if(! call) { + qDebug() << "Error : action " << action << "applied on null object call. Should not happen."; + } + else { + try { + call->actionPerformed(action); + } + catch(const char * msg) { + errorWindow->showMessage(QString(msg)); + } + + //updateCallItem(call); + updateWindowCallState(); + } } @@ -426,435 +424,406 @@ void SFLPhoneView::action(Call * call, call_action action) ******** Update Display Functions ********** *******************************************/ -void SFLPhoneView::updateCallItem(Call * call) -{ - if(!call) return; - call_state state = call->getState(); - if(state == CALL_STATE_OVER) - { - QListWidgetItem * item = call->getItem(); - qDebug() << "Updating call with CALL_STATE_OVER. Deleting item " << (*callList)[item]->getCallId(); - listWidget_callList->takeItem(listWidget_callList->row(item)); - if(call->getHistoryState() != NONE) - { - addCallToCallHistory(call); - } - } -} - - void SFLPhoneView::updateWindowCallState() { - qDebug() << "updateWindowCallState"; - - bool enabledActions[6]= {true,true,true,true,true,true}; - QString buttonIconFiles[6] = {ICON_CALL, ICON_HANGUP, ICON_HOLD, ICON_TRANSFER, ICON_REC_DEL_OFF, ICON_MAILBOX}; - QString actionTexts[6] = {ACTION_LABEL_CALL, ACTION_LABEL_HANG_UP, ACTION_LABEL_HOLD, ACTION_LABEL_TRANSFER, ACTION_LABEL_RECORD, ACTION_LABEL_MAILBOX}; - - QListWidgetItem * item; - - bool transfer = false; - //tells whether the call is in recording position - bool recordActivated = false; - enabledActions[SFLPhone::Mailbox] = accountInUse() && ! accountInUse()->getAccountDetail(ACCOUNT_MAILBOX).isEmpty(); - if(stackedWidget_screen->currentWidget() == page_callList) - { - item = listWidget_callList->currentItem(); - if (!item) - { - qDebug() << "No item selected."; - enabledActions[SFLPhone::Refuse] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - } - else - { - Call * call = (*callList)[item]; - call_state state = call->getState(); - recordActivated = call->getRecording(); - switch (state) - { - case CALL_STATE_INCOMING: - qDebug() << "Reached CALL_STATE_INCOMING with call " << (*callList)[item]->getCallId(); - buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; - buttonIconFiles[SFLPhone::Refuse] = ICON_REFUSE; - actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT; - actionTexts[SFLPhone::Refuse] = ACTION_LABEL_REFUSE; - break; - case CALL_STATE_RINGING: - qDebug() << "Reached CALL_STATE_RINGING with call " << (*callList)[item]->getCallId(); - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - break; - case CALL_STATE_CURRENT: - qDebug() << "details = " << CallManagerInterfaceSingleton::getInstance().getCallDetails(call->getCallId()).value(); - qDebug() << "Reached CALL_STATE_CURRENT with call " << (*callList)[item]->getCallId(); - buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON; - break; - case CALL_STATE_DIALING: - qDebug() << "Reached CALL_STATE_DIALING with call " << (*callList)[item]->getCallId(); - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT; - buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; - break; - case CALL_STATE_HOLD: - qDebug() << "Reached CALL_STATE_HOLD with call " << (*callList)[item]->getCallId(); - buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD; - actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD; - break; - case CALL_STATE_FAILURE: - qDebug() << "Reached CALL_STATE_FAILURE with call " << (*callList)[item]->getCallId(); - enabledActions[SFLPhone::Accept] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - break; - case CALL_STATE_BUSY: - qDebug() << "Reached CALL_STATE_BUSY with call " << (*callList)[item]->getCallId(); - enabledActions[SFLPhone::Accept] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - break; - case CALL_STATE_TRANSFER: - qDebug() << "Reached CALL_STATE_TRANSFER with call " << (*callList)[item]->getCallId(); - buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF; - actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF; - transfer = true; - buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON; - break; - case CALL_STATE_TRANSF_HOLD: - qDebug() << "Reached CALL_STATE_TRANSF_HOLD with call " << (*callList)[item]->getCallId(); - buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF; - buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD; - actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF; - actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD; - transfer = true; - break; - case CALL_STATE_OVER: - qDebug() << "Error : Reached CALL_STATE_OVER with call " << (*callList)[item]->getCallId() << "!"; - break; - case CALL_STATE_ERROR: - qDebug() << "Error : Reached CALL_STATE_ERROR with call " << (*callList)[item]->getCallId() << "!"; - break; - default: - qDebug() << "Error : Reached unexisting state for call " << (*callList)[item]->getCallId() << "!"; - break; - } - } - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - item = listWidget_callHistory->currentItem(); - buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; - actionTexts[SFLPhone::Accept] = ACTION_LABEL_CALL_BACK; - if (!item) - { - qDebug() << "No item selected."; - enabledActions[SFLPhone::Accept] = false; - enabledActions[SFLPhone::Refuse] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - } - else - { - enabledActions[SFLPhone::Refuse] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - } - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - item = listWidget_addressBook->currentItem(); - buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; - if (!item) - { - qDebug() << "No item selected."; - enabledActions[SFLPhone::Accept] = false; - enabledActions[SFLPhone::Refuse] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - } - else - { - enabledActions[SFLPhone::Refuse] = false; - enabledActions[SFLPhone::Hold] = false; - enabledActions[SFLPhone::Transfer] = false; - enabledActions[SFLPhone::Record] = false; - } - } - - qDebug() << "Updating Window."; - - emit enabledActionsChangeAsked(enabledActions); - emit actionIconsChangeAsked(buttonIconFiles); - emit actionTextsChangeAsked(actionTexts); - emit transferCheckStateChangeAsked(transfer); - emit recordCheckStateChangeAsked(recordActivated); - - qDebug() << "Window updated."; + qDebug() << "updateWindowCallState"; + + bool enabledActions[6]= {true,true,true,true,true,true}; + QString buttonIconFiles[6] = {ICON_CALL, ICON_HANGUP, ICON_HOLD, ICON_TRANSFER, ICON_REC_DEL_OFF, ICON_MAILBOX}; + QString actionTexts[6] = {ACTION_LABEL_CALL, ACTION_LABEL_HANG_UP, ACTION_LABEL_HOLD, ACTION_LABEL_TRANSFER, ACTION_LABEL_RECORD, ACTION_LABEL_MAILBOX}; + + Call* call; + + bool transfer = false; + bool recordActivated = false; //tells whether the call is in recording position + + enabledActions[SFLPhone::Mailbox] = accountInUse() && ! accountInUse()->getAccountDetail(ACCOUNT_MAILBOX).isEmpty(); + + + if(stackedWidget_screen->currentWidget() == page_callList) { + call = callTreeModel.getCurrentItem(); + if (!call) { + qDebug() << "No item selected."; + enabledActions[SFLPhone::Refuse] = false; + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + } + else { + call_state state = call->getState(); + recordActivated = call->getRecording(); + + switch (state) { + case CALL_STATE_INCOMING: + qDebug() << "Reached CALL_STATE_INCOMING with call " << call->getCallId(); + buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; + buttonIconFiles[SFLPhone::Refuse] = ICON_REFUSE; + actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT; + actionTexts[SFLPhone::Refuse] = ACTION_LABEL_REFUSE; + break; + case CALL_STATE_RINGING: + qDebug() << "Reached CALL_STATE_RINGING with call " << call->getCallId(); + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + break; + case CALL_STATE_CURRENT: + qDebug() << "details = " << CallManagerInterfaceSingleton::getInstance().getCallDetails(call->getCallId()).value(); + qDebug() << "Reached CALL_STATE_CURRENT with call " << call->getCallId(); + buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON; + break; + case CALL_STATE_DIALING: + qDebug() << "Reached CALL_STATE_DIALING with call " << call->getCallId(); + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + actionTexts[SFLPhone::Accept] = ACTION_LABEL_ACCEPT; + buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; + break; + case CALL_STATE_HOLD: + qDebug() << "Reached CALL_STATE_HOLD with call " << call->getCallId(); + buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD; + actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD; + break; + case CALL_STATE_FAILURE: + qDebug() << "Reached CALL_STATE_FAILURE with call " << call->getCallId(); + enabledActions[SFLPhone::Accept] = false; + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + break; + case CALL_STATE_BUSY: + qDebug() << "Reached CALL_STATE_BUSY with call " << call->getCallId(); + enabledActions[SFLPhone::Accept] = false; + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + break; + case CALL_STATE_TRANSFER: + qDebug() << "Reached CALL_STATE_TRANSFER with call " << call->getCallId(); + buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF; + actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF; + transfer = true; + buttonIconFiles[SFLPhone::Record] = ICON_REC_DEL_ON; + break; + case CALL_STATE_TRANSF_HOLD: + qDebug() << "Reached CALL_STATE_TRANSF_HOLD with call " << call->getCallId(); + buttonIconFiles[SFLPhone::Accept] = ICON_EXEC_TRANSF; + buttonIconFiles[SFLPhone::Hold] = ICON_UNHOLD; + actionTexts[SFLPhone::Transfer] = ACTION_LABEL_GIVE_UP_TRANSF; + actionTexts[SFLPhone::Hold] = ACTION_LABEL_UNHOLD; + transfer = true; + break; + case CALL_STATE_OVER: + qDebug() << "Error : Reached CALL_STATE_OVER with call " << call->getCallId() << "!"; + break; + case CALL_STATE_ERROR: + qDebug() << "Error : Reached CALL_STATE_ERROR with call " << call->getCallId() << "!"; + break; + default: + qDebug() << "Error : Reached unexisting state for call " << call->getCallId() << "!"; + break; + } + } + } + if(stackedWidget_screen->currentWidget() == page_callHistory) { + call = historyTreeModel.getCurrentItem(); + buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; + actionTexts[SFLPhone::Accept] = ACTION_LABEL_CALL_BACK; + if (!call) { + qDebug() << "No item selected."; + enabledActions[SFLPhone::Accept] = false; + enabledActions[SFLPhone::Refuse] = false; + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + } + else { + enabledActions[SFLPhone::Refuse] = false; + enabledActions[SFLPhone::Hold] = false; + enabledActions[SFLPhone::Transfer] = false; + enabledActions[SFLPhone::Record] = false; + } + } + if(stackedWidget_screen->currentWidget() == page_addressBook) { + //TODO uncomment item = addressBookTree->currentItem(); +// buttonIconFiles[SFLPhone::Accept] = ICON_ACCEPT; +// if (!item) { +// qDebug() << "No item selected."; +// enabledActions[SFLPhone::Accept] = false; +// enabledActions[SFLPhone::Refuse] = false; +// enabledActions[SFLPhone::Hold] = false; +// enabledActions[SFLPhone::Transfer] = false; +// enabledActions[SFLPhone::Record] = false; +// } +// else { +// enabledActions[SFLPhone::Refuse] = false; +// enabledActions[SFLPhone::Hold] = false; +// enabledActions[SFLPhone::Transfer] = false; +// enabledActions[SFLPhone::Record] = false; +// } + } + + qDebug() << "Updating Window."; + + emit enabledActionsChangeAsked(enabledActions); + emit actionIconsChangeAsked(buttonIconFiles); + emit actionTextsChangeAsked(actionTexts); + emit transferCheckStateChangeAsked(transfer); + emit recordCheckStateChangeAsked(recordActivated); + + qDebug() << "Window updated."; } void SFLPhoneView::updateSearchHistory() { - qDebug() << "updateSearchHistory"; - lineEdit_searchHistory->setVisible(!lineEdit_searchHistory->text().isEmpty()); + qDebug() << "updateSearchHistory"; + lineEdit_searchHistory->setVisible(!lineEdit_searchHistory->text().isEmpty()); } void SFLPhoneView::updateCallHistory() { - qDebug() << "updateCallHistory"; - while(listWidget_callHistory->count() > 0) - { - listWidget_callHistory->takeItem(0); - } - QString textSearched = lineEdit_searchHistory->text(); - for(int i = callList->size() - 1 ; i >= 0 ; i--) - { - Call * call = (*callList)[i]; - qDebug() << "" << call->getCallId(); - if( - call->getState() == CALL_STATE_OVER && - call->getHistoryState() != NONE && - (call->getPeerPhoneNumber().contains(textSearched) || call->getPeerName().contains(textSearched)) - ) - { - qDebug() << "call->getPeerPhoneNumber()=" << call->getPeerPhoneNumber() << " contains textSearched=" << textSearched; - addCallToCallHistory(call); - } - } -// alternateColors(listWidget_callHistory); + qDebug() << "updateCallHistory"; + while(listWidget_callHistory->count() > 0) { + listWidget_callHistory->takeItem(0); + } + QString textSearched = lineEdit_searchHistory->text(); + foreach (Call* call, historyTreeModel.getCallList()) { + qDebug() << "" << call->getCallId(); + if( call->getState() == CALL_STATE_OVER && call->getHistoryState() != NONE && (call->getPeerPhoneNumber().contains(textSearched) || call->getPeerName().contains(textSearched)) ) { + qDebug() << "call->getPeerPhoneNumber()=" << call->getPeerPhoneNumber() << " contains textSearched=" << textSearched; + //addCallToCallHistory(call); + historyTreeModel.addCall(call); + } + } +// alternateColors(listWidget_callHistory); } void SFLPhoneView::updateAddressBook() { - qDebug() << "updateAddressBook"; - while(listWidget_addressBook->count() > 0) - { - QListWidgetItem * item = listWidget_addressBook->takeItem(0); - delete item; - } - if(isAddressBookEnabled()) - { - if(loadAddressBook()) - { - qDebug() << "add loaded"; - QString textSearched = lineEdit_addressBook->text(); - if(textSearched.isEmpty()) - { - label_addressBookFull->setVisible(false); - return; - } - bool full = false; - QVector<Contact *> contactsFound = findContactsInKAddressBook(textSearched, full); - qDebug() << "Full : " << full; - label_addressBookFull->setVisible(full); - for(int i = 0 ; i < contactsFound.size() ; i++) - { - Contact * contact = contactsFound[i]; - addContactToContactList(contact); - } - alternateColors(listWidget_addressBook); - } - else - { - lineEdit_addressBook->setClickMessage(i18n("Address book loading...")); - lineEdit_addressBook->setEnabled(false); - label_addressBookFull->setVisible(false); - } - } - + qDebug() << "updateAddressBook"; + while(listWidget_addressBook->count() > 0) { + QListWidgetItem * item = listWidget_addressBook->takeItem(0); + delete item; + } + + if(isAddressBookEnabled()) { + if(loadAddressBook()) + { + qDebug() << "add loaded"; + QString textSearched = lineEdit_addressBook->text(); + if(textSearched.isEmpty()) { + label_addressBookFull->setVisible(false); + return; + } + bool full = false; + QVector<Contact *> contactsFound = findContactsInKAddressBook(textSearched, full); + qDebug() << "Full : " << full; + label_addressBookFull->setVisible(full); + for(int i = 0 ; i < contactsFound.size() ; i++) { + Contact * contact = contactsFound[i]; + addContactToContactList(contact); + } + alternateColors(listWidget_addressBook); + } + else { + lineEdit_addressBook->setClickMessage(i18n("Address book loading...")); + lineEdit_addressBook->setEnabled(false); + label_addressBookFull->setVisible(false); + } + } + } void SFLPhoneView::alternateColors(QListWidget * listWidget) { - for(int i = 0 ; i < listWidget->count(); i++) - { - QListWidgetItem* item = listWidget->item(i); - QBrush c = (i % 2 == 1) ? palette().base() : palette().alternateBase(); - item->setBackground( c ); - } - listWidget->setUpdatesEnabled( true ); + for(int i = 0 ; i < listWidget->count(); i++) { + QListWidgetItem* item = listWidget->item(i); + QBrush c = (i % 2 == 1) ? palette().base() : palette().alternateBase(); + item->setBackground( c ); + } + listWidget->setUpdatesEnabled( true ); } QVector<Contact *> SFLPhoneView::findContactsInKAddressBook(QString textSearched, bool & full) { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); - int maxResults = addressBookSettings[ADDRESSBOOK_MAX_RESULTS]; - int typesDisplayed = phoneNumberTypesDisplayed(); - bool displayPhoto = addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]; - AddressBook * ab = KABC::StdAddressBook::self(true); - QVector<Contact *> results = QVector<Contact *>(); - AddressBook::Iterator it; - full = false; - int k = 0; - for ( it = ab->begin(); it != ab->end() && !full ; it++ ) { - if(it->name().contains(textSearched, Qt::CaseInsensitive) || it->nickName().contains(textSearched, Qt::CaseInsensitive)) - { - for(int i = 0 ; i < it->phoneNumbers().count() ; i++) - { - int typeFlag = it->phoneNumbers().at(i).type(); - if((typesDisplayed & typeFlag) != 0) - { - results.append(new Contact( *it, it->phoneNumbers().at(i), displayPhoto )); - k++; - } - } - } - if(k >= maxResults) - { - full = true; - } - } - return results; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + int maxResults = addressBookSettings[ADDRESSBOOK_MAX_RESULTS]; + int typesDisplayed = phoneNumberTypesDisplayed(); + bool displayPhoto = addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]; + AddressBook * ab = KABC::StdAddressBook::self(true); + QVector<Contact *> results = QVector<Contact *>(); + AddressBook::Iterator it; + full = false; + int k = 0; + for ( it = ab->begin(); it != ab->end() && !full ; it++ ) { + if(it->name().contains(textSearched, Qt::CaseInsensitive) || it->nickName().contains(textSearched, Qt::CaseInsensitive)) { + for(int i = 0 ; i < it->phoneNumbers().count() ; i++) { + int typeFlag = it->phoneNumbers().at(i).type(); + if((typesDisplayed & typeFlag) != 0) { + results.append(new Contact( *it, it->phoneNumbers().at(i), displayPhoto )); + k++; + } + } + } + if(k >= maxResults) { + full = true; + } + } + return results; } int SFLPhoneView::phoneNumberTypesDisplayed() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); - int typesDisplayed = 0; - if(addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS]) - { - typesDisplayed = typesDisplayed | PhoneNumber::Work; - } - if(addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE]) - { - typesDisplayed = typesDisplayed | PhoneNumber::Cell; - } - if(addressBookSettings[ADDRESSBOOK_DISPLAY_HOME]) - { - typesDisplayed = typesDisplayed | PhoneNumber::Home; - } - return typesDisplayed; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + int typesDisplayed = 0; + if(addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS]) { + typesDisplayed = typesDisplayed | PhoneNumber::Work; + } + + if(addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE]) { + typesDisplayed = typesDisplayed | PhoneNumber::Cell; + } + + if(addressBookSettings[ADDRESSBOOK_DISPLAY_HOME]) { + typesDisplayed = typesDisplayed | PhoneNumber::Home; + } + + return typesDisplayed; } void SFLPhoneView::updateRecordButton() { - qDebug() << "updateRecordButton"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - double recVol = callManager.getVolume(RECORD_DEVICE); - if(recVol == 0.00) - { - toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_0)); - toolButton_recVolAlone->setIcon(QIcon(ICON_REC_VOL_0)); - } - else if(recVol < 0.33) - { - toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_1)); - toolButton_recVolAlone->setIcon(QIcon(ICON_REC_VOL_1)); - } - else if(recVol < 0.67) - { - toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_2)); - toolButton_recVolAlone->setIcon(QIcon(ICON_REC_VOL_2)); - } - else - { - toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_3)); - toolButton_recVolAlone->setIcon(QIcon(ICON_REC_VOL_3)); - } - if(recVol > 0) - { - toolButton_recVol->setChecked(false); - toolButton_recVolAlone->setChecked(false); - } + qDebug() << "updateRecordButton"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + double recVol = callManager.getVolume(RECORD_DEVICE); + if(recVol == 0.00) { + toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_0)); + toolButton_recVol_2->setIcon(QIcon(ICON_REC_VOL_0)); + } + else if(recVol < 0.33) { + toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_1)); + toolButton_recVol_2->setIcon(QIcon(ICON_REC_VOL_1)); + } + else if(recVol < 0.67) { + toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_2)); + toolButton_recVol_2->setIcon(QIcon(ICON_REC_VOL_2)); + } + else { + toolButton_recVol->setIcon(QIcon(ICON_REC_VOL_3)); + toolButton_recVol_2->setIcon(QIcon(ICON_REC_VOL_3)); + } + + if(recVol > 0) { + toolButton_recVol->setChecked(false); + toolButton_recVol_2->setChecked(false); + } } void SFLPhoneView::updateVolumeButton() { - qDebug() << "updateVolumeButton"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - double sndVol = callManager.getVolume(SOUND_DEVICE); - if(sndVol == 0.00) - { - toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_0)); - toolButton_sndVolAlone->setIcon(QIcon(ICON_SND_VOL_0)); - } - else if(sndVol < 0.33) - { - toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_1)); - toolButton_sndVolAlone->setIcon(QIcon(ICON_SND_VOL_1)); - } - else if(sndVol < 0.67) - { - toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_2)); - toolButton_sndVolAlone->setIcon(QIcon(ICON_SND_VOL_2)); - } - else - { - toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_3)); - toolButton_sndVolAlone->setIcon(QIcon(ICON_SND_VOL_3)); - } - if(sndVol > 0) - { - toolButton_sndVol->setChecked(false); - toolButton_sndVolAlone->setChecked(false); - } + qDebug() << "updateVolumeButton"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + double sndVol = callManager.getVolume(SOUND_DEVICE); + + if(sndVol == 0.00) { + toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_0)); + toolButton_sndVol_2->setIcon(QIcon(ICON_SND_VOL_0)); + } + else if(sndVol < 0.33) { + toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_1)); + toolButton_sndVol_2->setIcon(QIcon(ICON_SND_VOL_1)); + } + else if(sndVol < 0.67) { + toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_2)); + toolButton_sndVol_2->setIcon(QIcon(ICON_SND_VOL_2)); + } + else { + toolButton_sndVol->setIcon(QIcon(ICON_SND_VOL_3)); + toolButton_sndVol_2->setIcon(QIcon(ICON_SND_VOL_3)); + } + + if(sndVol > 0) { + toolButton_sndVol->setChecked(false); + toolButton_sndVol_2->setChecked(false); + } } void SFLPhoneView::updateRecordBar() { - qDebug() << "updateRecordBar"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - double recVol = callManager.getVolume(RECORD_DEVICE); - int value = (int)(recVol * 100); - slider_recVol->setValue(value); - slider_recVolAlone->setValue(value); + qDebug() << "updateRecordBar"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + double recVol = callManager.getVolume(RECORD_DEVICE); + int value = (int)(recVol * 100); + slider_recVol->setValue(value); } void SFLPhoneView::updateVolumeBar() { - qDebug() << "updateVolumeBar"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - double sndVol = callManager.getVolume(SOUND_DEVICE); - int value = (int)(sndVol * 100); - slider_sndVol->setValue(value); - slider_sndVolAlone->setValue(value); + qDebug() << "updateVolumeBar"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + double sndVol = callManager.getVolume(SOUND_DEVICE); + int value = (int)(sndVol * 100); + slider_sndVol->setValue(value); } void SFLPhoneView::updateVolumeControls() { - qDebug() << "updateVolumeControls"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - int display = configurationManager.getVolumeControls(); - int displayDialpad = configurationManager.getDialpad(); - widget_recVol->setVisible(display && displayDialpad); - widget_sndVol->setVisible(display && displayDialpad); - widget_recVolAlone->setVisible(display && ! displayDialpad); - widget_sndVolAlone->setVisible(display && ! displayDialpad); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + int display = 0; + + if(configurationManager.getAudioManager() == ConfigurationSkeleton::EnumInterface::ALSA) { + display = configurationManager.getVolumeControls(); + + ((SFLPhone*)parent())->action_displayVolumeControls->setEnabled(true); + } + else { + ((SFLPhone*)parent())->action_displayVolumeControls->setEnabled(false); + } + + qDebug() << "updateVolumeControls " << display; + + ((SFLPhone*)parent())->action_displayVolumeControls->setChecked(display); + //widget_recVol->setVisible(display); + //widget_sndVol->setVisible(display); + toolButton_recVol->setVisible(display); + toolButton_sndVol->setVisible(display); + slider_recVol->setVisible(display); + slider_sndVol->setVisible(display); + + slider_sndVol_2->setVisible(display); + slider_recVol_2->setVisible(display); + toolButton_recVol_2->setVisible(display); + toolButton_sndVol_2->setVisible(display); } void SFLPhoneView::updateDialpad() { - qDebug() << "updateDialpad"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - int display = configurationManager.getDialpad(); - widget_dialpad->setVisible(display); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + int display = configurationManager.getDialpad(); + + qDebug() << "updateDialpad " << display; + + widget_dialpad->setVisible(display); } void SFLPhoneView::updateStatusMessage() { - qDebug() << "updateStatusMessage"; - Account * account = accountInUse(); - if(account == NULL) - { - emit statusMessageChangeAsked(i18n("No registered accounts")); - } - else - { - emit statusMessageChangeAsked(i18n("Using account") + " \'" + account->getAlias() + "\' (" + account->getAccountDetail(ACCOUNT_TYPE) + ")") ; - } + qDebug() << "updateStatusMessage"; + Account * account = accountInUse(); + + if(account == NULL) { + emit statusMessageChangeAsked(i18n("No registered accounts")); + } + else { + emit statusMessageChangeAsked(i18n("Using account") + + " \'" + account->getAlias() + + "\' (" + account->getAccountDetail(ACCOUNT_TYPE) + ")") ; + } } @@ -865,570 +834,561 @@ void SFLPhoneView::updateStatusMessage() void SFLPhoneView::displayVolumeControls() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - configurationManager.setVolumeControls(); - updateVolumeControls(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + int display = configurationManager.getVolumeControls(); + configurationManager.setVolumeControls(!display); + updateVolumeControls(); } void SFLPhoneView::displayDialpad() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - configurationManager.setDialpad(); - updateDialpad(); - updateVolumeControls(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + int display = configurationManager.getDialpad(); + + configurationManager.setDialpad(!display); + updateDialpad(); } -void SFLPhoneView::on_widget_dialpad_typed(QString text) { typeString(text); } +void SFLPhoneView::on_widget_dialpad_typed(QString text) +{ + typeString(text); +} void SFLPhoneView::on_lineEdit_searchHistory_textChanged() { - qDebug() << "on_lineEdit_searchHistory_textChanged"; - updateSearchHistory(); - updateCallHistory(); - updateWindowCallState(); + qDebug() << "on_lineEdit_searchHistory_textChanged"; + updateSearchHistory(); + updateCallHistory(); + updateWindowCallState(); } void SFLPhoneView::on_lineEdit_addressBook_textChanged() { - qDebug() << "on_lineEdit_addressBook_textChanged"; - updateAddressBook(); - updateWindowCallState(); + qDebug() << "on_lineEdit_addressBook_textChanged"; + updateAddressBook(); + updateWindowCallState(); } void SFLPhoneView::on_slider_recVol_valueChanged(int value) { - qDebug() << "on_slider_recVol_valueChanged(" << value << ")"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - callManager.setVolume(RECORD_DEVICE, (double)value / 100.0); - updateRecordButton(); + qDebug() << "on_slider_recVol_valueChanged(" << value << ")"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.setVolume(RECORD_DEVICE, (double)value / 100.0); + updateRecordButton(); } void SFLPhoneView::on_slider_sndVol_valueChanged(int value) { - qDebug() << "on_slider_sndVol_valueChanged(" << value << ")"; - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - callManager.setVolume(SOUND_DEVICE, (double)value / 100.0); - updateVolumeButton(); + qDebug() << "on_slider_sndVol_valueChanged(" << value << ")"; + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + callManager.setVolume(SOUND_DEVICE, (double)value / 100.0); + updateVolumeButton(); +} + +void SFLPhoneView::on_slider_recVol_2_valueChanged(int value) +{ + on_slider_recVol_valueChanged(value); } +void SFLPhoneView::on_slider_sndVol_2_valueChanged(int value) +{ + on_slider_sndVol_valueChanged(value); +} void SFLPhoneView::on_toolButton_recVol_clicked(bool checked) { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "on_toolButton_recVol_clicked()."; - if(!checked) - { - qDebug() << "checked"; - toolButton_recVol->setChecked(false); - toolButton_recVolAlone->setChecked(false); - slider_recVol->setEnabled(true); - slider_recVolAlone->setEnabled(true); - callManager.setVolume(RECORD_DEVICE, (double)slider_recVol->value() / 100.0); - } - else - { - qDebug() << "unchecked"; - toolButton_recVol->setChecked(true); - qDebug() << "toolButton_recVolAlone->setChecked(true);"; - toolButton_recVolAlone->setChecked(true); - slider_recVol->setEnabled(false); - slider_recVolAlone->setEnabled(false); - callManager.setVolume(RECORD_DEVICE, 0.0); - } - updateRecordButton(); + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "on_toolButton_recVol_clicked()."; + if(!checked) { + qDebug() << "checked"; + toolButton_recVol->setChecked(false); + slider_recVol->setEnabled(true); + callManager.setVolume(RECORD_DEVICE, (double)slider_recVol->value() / 100.0); + } + else { + qDebug() << "unchecked"; + toolButton_recVol->setChecked(true); + slider_recVol->setEnabled(false); + callManager.setVolume(RECORD_DEVICE, 0.0); + } + updateRecordButton(); +} + +void SFLPhoneView::on_toolButton_recVol_2_clicked(bool checked) +{ + on_toolButton_recVol_clicked(checked); } -void SFLPhoneView::on_toolButton_sndVol_clicked(bool checked) +void SFLPhoneView::on_toolButton_sndVol_2_clicked(bool checked) { - CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); - qDebug() << "on_toolButton_sndVol_clicked()."; - if(!checked) - { - qDebug() << "checked"; - toolButton_sndVol->setChecked(false); - toolButton_sndVolAlone->setChecked(false); - slider_sndVol->setEnabled(true); - slider_sndVolAlone->setEnabled(true); - callManager.setVolume(SOUND_DEVICE, (double)slider_sndVol->value() / 100.0); - } - else - { - qDebug() << "unchecked"; - toolButton_sndVol->setChecked(true); - toolButton_sndVolAlone->setChecked(true); - slider_sndVol->setEnabled(false); - slider_sndVolAlone->setEnabled(false); - callManager.setVolume(SOUND_DEVICE, 0.0); - } - updateVolumeButton(); + on_toolButton_sndVol_clicked(checked); } +void SFLPhoneView::on_toolButton_sndVol_clicked(bool checked) +{ + CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance(); + qDebug() << "on_toolButton_sndVol_clicked()."; + if(!checked) { + qDebug() << "checked"; + toolButton_sndVol->setChecked(false); + slider_sndVol->setEnabled(true); + callManager.setVolume(SOUND_DEVICE, (double)slider_sndVol->value() / 100.0); + } + else { + qDebug() << "unchecked"; + toolButton_sndVol->setChecked(true); + slider_sndVol->setEnabled(false); + callManager.setVolume(SOUND_DEVICE, 0.0); + } + + updateVolumeButton(); +} -void SFLPhoneView::on_listWidget_callList_currentItemChanged() +#include <unistd.h> +void SFLPhoneView::on_callTree_currentItemChanged() { - qDebug() << "on_listWidget_callList_currentItemChanged"; - updateWindowCallState(); + qDebug() << "on_callTree_currentItemChanged"; + updateWindowCallState(); } -void SFLPhoneView::on_listWidget_callList_itemChanged() +void SFLPhoneView::on_callTree_itemChanged() { - qDebug() << "on_listWidget_callList_itemChanged"; - stackedWidget_screen->setCurrentWidget(page_callList); + qDebug() << "on_callTree_itemChanged"; + stackedWidget_screen->setCurrentWidget(page_callList); } -void SFLPhoneView::on_listWidget_callList_itemDoubleClicked(QListWidgetItem * item) +void SFLPhoneView::on_callTree_itemDoubleClicked(QTreeWidgetItem* call, int column) { - qDebug() << "on_listWidget_callList_itemDoubleClicked"; - Call * call = callList->findCallByItem(item); - call_state state = call->getCurrentState(); - switch(state) - { - case CALL_STATE_HOLD: - action(call, CALL_ACTION_HOLD); - break; - case CALL_STATE_DIALING: - action(call, CALL_ACTION_ACCEPT); - break; - default: - qDebug() << "Double clicked an item with no action on double click."; - } + //TODO port +// qDebug() << "on_callTree_itemDoubleClicked"; +// call_state state = call->getCurrentState(); +// switch(state) { +// case CALL_STATE_HOLD: +// action(call, CALL_ACTION_HOLD); +// break; +// case CALL_STATE_DIALING: +// action(call, CALL_ACTION_ACCEPT); +// break; +// default: +// qDebug() << "Double clicked an item with no action on double click."; +// } } -void SFLPhoneView::on_listWidget_callHistory_itemDoubleClicked(QListWidgetItem * item) +void SFLPhoneView::on_listWidget_callHistory_itemDoubleClicked(Call* call) { - qDebug() << "on_listWidget_callHistory_itemDoubleClicked"; - changeScreen(SCREEN_MAIN); - Call * pastCall = callList->findCallByHistoryItem(item); - Call * call = callList->addDialingCall(pastCall->getPeerName(), pastCall->getAccountId()); - call->appendItemText(pastCall->getPeerPhoneNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); + qDebug() << "on_listWidget_callHistory_itemDoubleClicked"; + changeScreen(SCREEN_MAIN); + Call* pastCall = call; + Call* call2 = callTreeModel.addDialingCall(pastCall->getPeerName(), pastCall->getAccountId()); + call2->appendText(pastCall->getPeerPhoneNumber()); + //callTreeModel.selectItem(addCallToCallList(call2)); + action(call2, CALL_ACTION_ACCEPT); } -void SFLPhoneView::on_listWidget_addressBook_itemDoubleClicked(QListWidgetItem * item) +void SFLPhoneView::on_listWidget_addressBook_itemDoubleClicked(CallTreeItem * item) { - qDebug() << "on_listWidget_addressBook_itemDoubleClicked"; - changeScreen(SCREEN_MAIN); - ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item)); - Call * call = callList->addDialingCall(w->getContactName()); - call->appendItemText(w->getContactNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); + qDebug() << "on_listWidget_addressBook_itemDoubleClicked"; + changeScreen(SCREEN_MAIN); +// TOFIX +// ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(item)); +// Call * call = callList->addDialingCall(w->getContactName()); +// call->appendItemText(w->getContactNumber()); +// addCallToCallList(call); +// callTree->setCurrentRow(callTree->count() - 1); +// action(call, CALL_ACTION_ACCEPT); } void SFLPhoneView::on_stackedWidget_screen_currentChanged(int index) { - qDebug() << "on_stackedWidget_screen_currentChanged"; - switch(index) - { - case SCREEN_MAIN: - qDebug() << "Switched to call list screen."; - emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Main screen")); - break; - case SCREEN_HISTORY: - qDebug() << "Switched to call history screen."; - if(!historyLoaded) - { - updateCallHistory(); - historyLoaded = true; - } - alternateColors(listWidget_callHistory); - emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Call history")); - break; - case SCREEN_ADDRESS: - qDebug() << "Switched to address book screen."; - updateAddressBook(); - emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Address book")); - break; - default: - qDebug() << "Error : reached an unknown index \"" << index << "\" with stackedWidget_screen."; - break; - } + qDebug() << "on_stackedWidget_screen_currentChanged"; + switch(index) { + case SCREEN_MAIN: + qDebug() << "Switched to call list screen."; + emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Main screen")); + break; + case SCREEN_HISTORY: + qDebug() << "Switched to call history screen."; + if(!historyLoaded) + { + updateCallHistory(); + historyLoaded = true; + } + alternateColors(listWidget_callHistory); + emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Call history")); + break; + case SCREEN_ADDRESS: + qDebug() << "Switched to address book screen."; + updateAddressBook(); + emit windowTitleChangeAsked(i18n("SFLphone") + " - " + i18n("Address book")); + break; + default: + qDebug() << "Error : reached an unknown index \"" << index << "\" with stackedWidget_screen."; + break; + } } void SFLPhoneView::contextMenuEvent(QContextMenuEvent *event) { - QMenu menu(this); - if( ( stackedWidget_screen->currentWidget() == page_callHistory && listWidget_callHistory->currentItem() ) || - ( stackedWidget_screen->currentWidget() == page_addressBook && listWidget_addressBook->currentItem() ) ) - { - QAction * action_edit = new QAction(&menu); - action_edit->setText(i18n("Edit before call")); - connect(action_edit, SIGNAL(triggered()), - this , SLOT(editBeforeCall())); - menu.addAction(action_edit); - } - SFLPhone * window = (SFLPhone * ) this->parent(); - QList<QAction *> callActions = window->getCallActions(); - menu.addAction(callActions.at((int) SFLPhone::Accept)); - menu.addAction(callActions[SFLPhone::Refuse]); - menu.addAction(callActions[SFLPhone::Hold]); - menu.addAction(callActions[SFLPhone::Transfer]); - menu.addAction(callActions[SFLPhone::Record]); - menu.addSeparator(); - - QAction * action = new ActionSetAccountFirst(NULL, &menu); - action->setChecked(priorAccountId.isEmpty()); - connect(action, SIGNAL(setFirst(Account *)), - this , SLOT(setAccountFirst(Account *))); - menu.addAction(action); - - QVector<Account *> accounts = accountList->registeredAccounts(); - for (int i = 0 ; i < accounts.size() ; i++) - { - Account * account = accounts.at(i); - QAction * action = new ActionSetAccountFirst(account, &menu); - action->setChecked(account->getAccountId() == priorAccountId); - connect(action, SIGNAL(setFirst(Account *)), - this , SLOT(setAccountFirst(Account *))); - menu.addAction(action); - } - menu.exec(event->globalPos()); + KMenu menu(this); + if( ( stackedWidget_screen->currentWidget() == page_callHistory && listWidget_callHistory->currentItem() ) || ( stackedWidget_screen->currentWidget() == page_addressBook && listWidget_addressBook->currentItem() ) ) { + KAction * action_edit = new KAction(&menu); + action_edit->setText(i18n("Edit before call")); + connect(action_edit, SIGNAL(triggered()), + this , SLOT(editBeforeCall())); + menu.addAction(action_edit); + } + + SFLPhone * window = (SFLPhone * ) this->parent(); + QList<QAction *> callActions = window->getCallActions(); + menu.addAction(callActions.at((int) SFLPhone::Accept)); + menu.addAction(callActions[SFLPhone::Refuse]); + menu.addAction(callActions[SFLPhone::Hold]); + menu.addAction(callActions[SFLPhone::Transfer]); + menu.addAction(callActions[SFLPhone::Record]); + menu.addSeparator(); + + QAction * action = new ActionSetAccountFirst(NULL, &menu); + action->setChecked(priorAccountId.isEmpty()); + connect(action, SIGNAL(setFirst(Account *)), + this , SLOT(setAccountFirst(Account *))); + menu.addAction(action); + + QVector<Account *> accounts = accountList->registeredAccounts(); + for (int i = 0 ; i < accounts.size() ; i++) { + Account * account = accounts.at(i); + QAction * action = new ActionSetAccountFirst(account, &menu); + action->setChecked(account->getAccountId() == priorAccountId); + connect(action, SIGNAL(setFirst(Account *)), + this , SLOT(setAccountFirst(Account *))); + menu.addAction(action); + } + menu.exec(event->globalPos()); } void SFLPhoneView::editBeforeCall() { - qDebug() << "editBeforeCall"; - QString name; - QString number; - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - QListWidgetItem * item = listWidget_callHistory->currentItem(); - if(item) - { - Call * call = callList->findCallByHistoryItem(item); - if(call) - { - name = call->getPeerName(); - number = call->getPeerPhoneNumber(); - } - } - } - else if(stackedWidget_screen->currentWidget() == page_addressBook) - { - QListWidgetItem * item = listWidget_addressBook->currentItem(); - if(item) - { - ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem())); - name = w->getContactName(); - number = w->getContactNumber(); - } - } - else - { return; } - bool ok; - QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number, &ok); - if(ok) - { - changeScreen(SCREEN_MAIN); - Call * call = callList->addDialingCall(name); - call->appendItemText(newNumber); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); - } + qDebug() << "editBeforeCall"; + QString name; + QString number; + if(stackedWidget_screen->currentWidget() == page_callHistory) { + Call* call = historyTreeModel.getCurrentItem(); + if(call) { + name = call->getPeerName(); + number = call->getPeerPhoneNumber(); + } + } + else if(stackedWidget_screen->currentWidget() == page_addressBook) { + QListWidgetItem* item = listWidget_addressBook->currentItem(); + + if(item) { + ContactItemWidget* w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem())); + name = w->getContactName(); + number = w->getContactNumber(); + } + } + else + return; + + bool ok; + QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number, &ok); + if(ok) { + changeScreen(SCREEN_MAIN); + Call* call = callTreeModel.addDialingCall(name); + call->appendText(newNumber); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); + } } void SFLPhoneView::setAccountFirst(Account * account) { - qDebug() << "setAccountFirst : " << (account ? account->getAlias() : QString()); - if(account) - { - priorAccountId = account->getAccountId(); - } - else - { - priorAccountId = QString(); - } - updateStatusMessage(); + qDebug() << "setAccountFirst : " << (account ? account->getAlias() : QString()); + if(account) { + priorAccountId = account->getAccountId(); + } + else { + priorAccountId = QString(); + } + updateStatusMessage(); } void SFLPhoneView::on_listWidget_callHistory_currentItemChanged() { - qDebug() << "on_listWidget_callHistory_currentItemChanged"; - updateWindowCallState(); + qDebug() << "on_listWidget_callHistory_currentItemChanged"; + updateWindowCallState(); } void SFLPhoneView::on_listWidget_addressBook_currentItemChanged() { - qDebug() << "on_listWidget_addressBook_currentItemChanged"; - updateWindowCallState(); + qDebug() << "on_listWidget_addressBook_currentItemChanged"; + updateWindowCallState(); } void SFLPhoneView::configureSflPhone() { - configDialog->reload(); - configDialog->show(); + configDialog->reload(); + configDialog->show(); } void SFLPhoneView::accountCreationWizard() { - wizard->show(); + wizard->show(); } - + void SFLPhoneView::accept() { - if(stackedWidget_screen->currentWidget() == page_callList) - { - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Calling when no item is selected. Opening an item."; - Call * call = callList->addDialingCall(); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - } - else - { - Call * call = callList->findCallByItem(item); - if(!call) - { - qDebug() << "Error : Accept triggered on unexisting call."; - } - else - { - int state = call->getState(); - if(state == CALL_STATE_RINGING || state == CALL_STATE_CURRENT || state == CALL_STATE_HOLD || state == CALL_STATE_BUSY) - { - qDebug() << "Calling when item currently ringing, current, hold or busy. Opening an item."; - Call * call = callList->addDialingCall(); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - } - else - { - action(call, CALL_ACTION_ACCEPT); - } - } - } - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - changeScreen(SCREEN_MAIN); - Call * pastCall = callList->findCallByHistoryItem(listWidget_callHistory->currentItem()); - Call * call = callList->addDialingCall(pastCall->getPeerName()); - call->appendItemText(pastCall->getPeerPhoneNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - changeScreen(SCREEN_MAIN); - ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem())); - Call * call = callList->addDialingCall(w->getContactName()); - call->appendItemText(w->getContactNumber()); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); - } + if(stackedWidget_screen->currentWidget() == page_callList) { + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Calling when no item is selected. Opening an item."; + Call * newCall = callTreeModel.addDialingCall(); + //callTreeModel.selectItem(addCallToCallList(newCall)); + } + else { + int state = call->getState(); + if(state == CALL_STATE_RINGING || state == CALL_STATE_CURRENT || state == CALL_STATE_HOLD || state == CALL_STATE_BUSY) + { + qDebug() << "Calling when item currently ringing, current, hold or busy. Opening an item."; + Call* newCall = callTreeModel.addDialingCall(); + //callTreeModel.selectItem(addCallToCallList(newCall)); + } + else { + action(call, CALL_ACTION_ACCEPT); + } + } + } + + if(stackedWidget_screen->currentWidget() == page_callHistory) { + changeScreen(SCREEN_MAIN); + Call* pastCall = historyTreeModel.getCurrentItem(); + Call* call = callTreeModel.addDialingCall(pastCall->getPeerName()); + call->appendText(pastCall->getPeerPhoneNumber()); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); + } + + if(stackedWidget_screen->currentWidget() == page_addressBook) { + changeScreen(SCREEN_MAIN); + ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem())); + Call * call = callTreeModel.addDialingCall(w->getContactName()); + call->appendText(w->getContactNumber()); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); + } } void SFLPhoneView::refuse() { - if(stackedWidget_screen->currentWidget() == page_callList) - { - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Error : Hanging up when no item selected. Should not happen."; - } - else - { - action(callList->findCallByItem(item), CALL_ACTION_REFUSE); - } - } - if(stackedWidget_screen->currentWidget() == page_callHistory) - { - lineEdit_searchHistory->clear(); - } - if(stackedWidget_screen->currentWidget() == page_addressBook) - { - lineEdit_addressBook->clear(); - } + if(stackedWidget_screen->currentWidget() == page_callList) { + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Hanging up when no item selected. Should not happen."; + } + else { + action(call, CALL_ACTION_REFUSE); + } + } + + if(stackedWidget_screen->currentWidget() == page_callHistory) { + lineEdit_searchHistory->clear(); + } + + if(stackedWidget_screen->currentWidget() == page_addressBook) { + lineEdit_addressBook->clear(); + } } void SFLPhoneView::hold() { - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Error : Holding when no item selected. Should not happen."; - } - else - { - action(callList->findCallByItem(item), CALL_ACTION_HOLD); - } + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Holding when no item selected. Should not happen."; + } + else { + action(call, CALL_ACTION_HOLD); + } } void SFLPhoneView::transfer() { - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Error : Transfering when no item selected. Should not happen."; - } - else - { - action(callList->findCallByItem(item), CALL_ACTION_TRANSFER); - } + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Transfering when no item selected. Should not happen."; + } + else { + action(call, CALL_ACTION_TRANSFER); + } } void SFLPhoneView::record() { - QListWidgetItem * item = listWidget_callList->currentItem(); - if(!item) - { - qDebug() << "Error : Recording when no item selected. Should not happen."; - } - else - { - action(callList->findCallByItem(item), CALL_ACTION_RECORD); - } + Call* call = callTreeModel.getCurrentItem(); + if(!call) { + qDebug() << "Error : Recording when no item selected. Should not happen."; + } + else { + action(call, CALL_ACTION_RECORD); + } } void SFLPhoneView::mailBox() { - Account * account = accountInUse(); - QString mailBoxNumber = account->getAccountDetail(ACCOUNT_MAILBOX); - Call * call = callList->addDialingCall(); - call->appendItemText(mailBoxNumber); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - action(call, CALL_ACTION_ACCEPT); + Account * account = accountInUse(); + QString mailBoxNumber = account->getAccountDetail(ACCOUNT_MAILBOX); + Call * call = callTreeModel.addDialingCall(); + call->appendText(mailBoxNumber); + //callTreeModel.selectItem(addCallToCallList(call)); + action(call, CALL_ACTION_ACCEPT); } void SFLPhoneView::on1_callStateChanged(const QString &callID, const QString &state) { - qDebug() << "Signal : Call State Changed for call " << callID << " . New state : " << state; - Call * call = callList->findCallByCallId(callID); - if(!call) - { - if(state == CALL_STATE_CHANGE_RINGING) - { - call = callList->addRingingCall(callID); - addCallToCallList(call); - } - else - { - qDebug() << "Call doesn't exist in this client. Might have been initialized by another client instance before this one started."; - return; - } - } - else - { - call->stateChanged(state); - } - updateCallItem(call); - updateWindowCallState(); + qDebug() << "Signal : Call State Changed for call " << callID << " . New state : " << state; + Call * call = callTreeModel.findCallByCallId(callID); + if(!call) { + if(state == CALL_STATE_CHANGE_RINGING) { + call = callTreeModel.addRingingCall(callID); + //addCallToCallList(call); + } + else { + qDebug() << "Call doesn't exist in this client. Might have been initialized by another client instance before this one started."; + return; + } + } + else { + call->stateChanged(state); + } + // updateCallItem(call); + updateWindowCallState(); } void SFLPhoneView::on1_error(MapStringString details) { - qDebug() << "Signal : Daemon error : " << details; + qDebug() << "Signal : Daemon error : " << details; } void SFLPhoneView::on1_incomingCall(const QString & /*accountID*/, const QString & callID) { - qDebug() << "Signal : Incoming Call ! ID = " << callID; - Call * call = callList->addIncomingCall(callID); - addCallToCallList(call); - listWidget_callList->setCurrentRow(listWidget_callList->count() - 1); - emit incomingCall(call); + qDebug() << "Signal : Incoming Call ! ID = " << callID; + Call* call = callTreeModel.addIncomingCall(callID); + //callTreeModel.selectItem(addCallToCallList(call)); + + changeScreen(SCREEN_MAIN); + + ((SFLPhone*)parent())->activateWindow(); + ((SFLPhone*)parent())->raise(); + ((SFLPhone*)parent())->setVisible(true); + + emit incomingCall(call); +} + +void SFLPhoneView::on1_incomingConference(const QString &confID) { + callTreeModel.addConference(confID); +} + +void SFLPhoneView::on1_changingConference(const QString &confID, const QString &state) { + callTreeModel.conferenceChanged(confID, state); +} + +void SFLPhoneView::on1_conferenceRemoved(const QString &confId) { + callTreeModel.conferenceRemoved(confId); } void SFLPhoneView::on1_incomingMessage(const QString &accountID, const QString &message) { - qDebug() << "Signal : Incoming Message for account " << accountID << " ! \nMessage : " << message; + qDebug() << "Signal : Incoming Message for account " << accountID << " ! \nMessage : " << message; } void SFLPhoneView::on1_voiceMailNotify(const QString &accountID, int count) { - qDebug() << "Signal : VoiceMail Notify ! " << count << " new voice mails for account " << accountID; + qDebug() << "Signal : VoiceMail Notify ! " << count << " new voice mails for account " << accountID; } void SFLPhoneView::on1_volumeChanged(const QString & /*device*/, double value) { - qDebug() << "Signal : Volume Changed !"; - if(! (toolButton_recVol->isChecked() && value == 0.0)) - updateRecordBar(); - if(! (toolButton_sndVol->isChecked() && value == 0.0)) - updateVolumeBar(); + qDebug() << "Signal : Volume Changed !"; + if(! (toolButton_recVol->isChecked() && value == 0.0)) + updateRecordBar(); + if(! (toolButton_sndVol->isChecked() && value == 0.0)) + updateVolumeBar(); +} + +void SFLPhoneView::on1_audioManagerChanged() +{ + qDebug() << "Signal : Audio Manager Changed !"; + + updateVolumeControls(); } void SFLPhoneView::enableAddressBook() { - qDebug() << "\nenableAddressBook\n"; - lineEdit_addressBook->setClickMessage(QString()); - lineEdit_addressBook->setEnabled(true); - AddressBook * ab = StdAddressBook::self(true); - disconnect(ab, SIGNAL(addressBookChanged(AddressBook *)), - this, SLOT(enableAddressBook())); + qDebug() << "\nenableAddressBook\n"; + lineEdit_addressBook->setClickMessage(QString()); + lineEdit_addressBook->setEnabled(true); + AddressBook * ab = StdAddressBook::self(true); + disconnect(ab, SIGNAL(addressBookChanged(AddressBook *)), + this, SLOT(enableAddressBook())); } bool SFLPhoneView::loadAddressBook() { - qDebug() << "loadAddressBook"; - AddressBook * ab = StdAddressBook::self(true); - if(ab->loadingHasFinished()) - { - return true; - } - else - { - connect(ab, SIGNAL(addressBookChanged(AddressBook *)), - this, SLOT(enableAddressBook())); - return false; - } + qDebug() << "loadAddressBook"; + AddressBook * ab = StdAddressBook::self(true); + if(ab->loadingHasFinished()) { + return true; + } + else { + connect(ab, SIGNAL(addressBookChanged(AddressBook *)), + this, SLOT(enableAddressBook())); + return false; + } } void SFLPhoneView::updateAddressBookEnabled() { - qDebug() << "updateAddressBookEnabled"; - bool enabled = isAddressBookEnabled(); - emit addressBookEnableAsked(enabled); - if(! enabled && stackedWidget_screen->currentWidget() == page_addressBook) - { - changeScreen(SCREEN_MAIN); - } + qDebug() << "updateAddressBookEnabled"; + bool enabled = isAddressBookEnabled(); + emit addressBookEnableAsked(enabled); + if(! enabled && stackedWidget_screen->currentWidget() == page_addressBook) { + changeScreen(SCREEN_MAIN); + } } bool SFLPhoneView::isAddressBookEnabled() { - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); - return addressBookSettings[ADDRESSBOOK_ENABLE]; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + return addressBookSettings[ADDRESSBOOK_ENABLE]; } void SFLPhoneView::changeScreen(int screen) { - qDebug() << "changeScreen"; - switch(screen) - { - case SCREEN_MAIN: - stackedWidget_screen->setCurrentWidget(page_callList); - break; - case SCREEN_HISTORY: - stackedWidget_screen->setCurrentWidget(page_callHistory); - break; - case SCREEN_ADDRESS: - stackedWidget_screen->setCurrentWidget(page_addressBook); - break; - default: - break; - } - updateWindowCallState(); - emit screenChanged(screen); + qDebug() << "changeScreen"; + switch(screen) { + case SCREEN_MAIN: + stackedWidget_screen->setCurrentWidget(page_callList); + break; + case SCREEN_HISTORY: + stackedWidget_screen->setCurrentWidget(page_callHistory); + break; + case SCREEN_ADDRESS: + stackedWidget_screen->setCurrentWidget(page_addressBook); + break; + default: + break; + } + updateWindowCallState(); + emit screenChanged(screen); } + + #include "SFLPhoneView.moc" diff --git a/sflphone-client-kde/src/SFLPhoneView.h b/sflphone-client-kde/src/SFLPhoneView.h index 5d8b726ac66c70d8d005c32b98bb2bbd903a5a4d..9b6d07af15f641c9d80bf785f884709df59e39f9 100644 --- a/sflphone-client-kde/src/SFLPhoneView.h +++ b/sflphone-client-kde/src/SFLPhoneView.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,17 +26,20 @@ #include <QtCore/QString> #include <QtCore/QVector> #include <QtCore/QList> -#include <QtGui/QListWidgetItem> #include <QtGui/QKeyEvent> #include <QErrorMessage> #include <KXmlGuiWindow> #include "ui_SFLPhoneView_base.h" #include "conf/ConfigurationDialog.h" -#include "CallList.h" +//#include "CallList.h" +#include "CallTreeItem.h" +//#include "CallTreeView.h" +//#include "CallTreeWidget.h" #include "AccountWizard.h" #include "Contact.h" #include "AccountList.h" +#include "CallModel.h" class ConfigurationDialog; @@ -55,297 +58,315 @@ class ConfigurationDialog; */ class SFLPhoneView : public QWidget, public Ui::SFLPhone_view { - Q_OBJECT + Q_OBJECT private: - static ConfigurationDialog * configDialog; - static AccountList * accountList; - AccountWizard * wizard; - //List of calls in the window, and past ones. - //Handles both current calls (dialing, ringing...) and history. - CallList * callList; - QErrorMessage * errorWindow; - //Account used prioritary if defined and registered. If not, the first registered account in accountList is used. - static QString priorAccountId; - bool historyLoaded; + static ConfigurationDialog * configDialog; + static AccountList * accountList; + AccountWizard * wizard; + //List of calls in the window, and past ones. + //Handles both current calls (dialing, ringing...) and history. + //CallList * callList; + QErrorMessage * errorWindow; + //Account used prioritary if defined and registered. If not, the first registered account in accountList is used. + static QString priorAccountId; + bool historyLoaded; protected: - - /** - * override context menu handling - * @param event - */ - void contextMenuEvent(QContextMenuEvent *event); + + /** + * override context menu handling + * @param event + */ + void contextMenuEvent(QContextMenuEvent *event); public: - //Constructors & Destructors - /** - * This constructor does not load the window as it would - * better wait for the parent window to connect to the signals - * for updating it (statusMessageChangeAsked...). - * You should call the loadWindow() method once - * you have constructed the object and connected the - * expected signals. - * @param parent - */ - SFLPhoneView(QWidget *parent); - virtual ~SFLPhoneView(); - - //Getters - /** - * Seeks the account to use. - * If priorAccountId is defined and the corresponding - * account exists and is registered, uses this one, else, - * asks the first registered of accountList. - * If there is no account registered, returns NULL. - * @return the account to use if an outgoing call is placed. - */ - static Account * accountInUse(); - /** - * Seeks the ID of the account to use. - * If priorAccountId is defined and the corresponding - * account exists and is registered, uses this one, else, - * asks the first registered of accountList. - * If there is no account registered, returns an empty string. - * @return the ID of the account to use if an outgoing call is placed. - */ - static QString accountInUseId(); - - static AccountList * getAccountList(); - QErrorMessage * getErrorWindow(); - - //Daemon getters - /** - * Used to sort contacts according to their types with Kabc. - * @return the integer resulting to the flags of the types - * chosen to be displayed in SFLphone configuration. - */ - int phoneNumberTypesDisplayed(); - - /** - * - * @return true if the address book is enabled in config - */ - bool isAddressBookEnabled(); - - QVector<Contact *> findContactsInKAddressBook(QString textSearched, bool & full); - - /** - * Save the settings to save in the daemon before exit - */ - void saveState(); - + //Constructors & Destructors + /** + * This constructor does not load the window as it would + * better wait for the parent window to connect to the signals + * for updating it (statusMessageChangeAsked...). + * You should call the loadWindow() method once + * you have constructed the object and connected the + * expected signals. + * @param parent + */ + SFLPhoneView(QWidget *parent); + virtual ~SFLPhoneView(); + + //Getters + /** + * Seeks the account to use. + * If priorAccountId is defined and the corresponding + * account exists and is registered, uses this one, else, + * asks the first registered of accountList. + * If there is no account registered, returns NULL. + * @return the account to use if an outgoing call is placed. + */ + static Account * accountInUse(); + /** + * Seeks the ID of the account to use. + * If priorAccountId is defined and the corresponding + * account exists and is registered, uses this one, else, + * asks the first registered of accountList. + * If there is no account registered, returns an empty string. + * @return the ID of the account to use if an outgoing call is placed. + */ + static QString accountInUseId(); + + static AccountList * getAccountList(); + QErrorMessage * getErrorWindow(); + + //Daemon getters + /** + * Used to sort contacts according to their types with Kabc. + * @return the integer resulting to the flags of the types + * chosen to be displayed in SFLphone configuration. + */ + int phoneNumberTypesDisplayed(); + + /** + * + * @return true if the address book is enabled in config + */ + bool isAddressBookEnabled(); + + QVector<Contact *> findContactsInKAddressBook(QString textSearched, bool & full); + + /** + * Save the settings to save in the daemon before exit + */ + void saveState(); + + //CallTreeView *callTree; + //CallTreeView *historyTree; + //CallTreeView *addressBookTree; + //CallTreeWidget *callTree; + //CallTreeWidget *historyTree; + CallModel addressBookTree; + CallModel callTreeModel; + CallModel historyTreeModel; + private slots: - /** - * Performs the action action on the call call, then updates window. - * The call object will handle the action with its "actionPerformed" method. - * See the documentation for more details. - * @param call the call on which to perform the action - * @param action the code of the action to perform - */ - void action(Call * call, call_action action); - - /** - * Sets the account account to be the prior account. - * That means it's gonna be used when the user places a call - * if it's defined and registered, else the first registered of - * accountList will be used. - * @param account the account to use prior - */ - void setAccountFirst(Account * account); - - /** - * Handles the behaviour when the user types something with - * the dialpad widget or his keyboard (normally it's a one char - * string but we use a string just in case). - * Adds str to the selected item if in the main window - * and creates a new item if no item is selected. - * Send DTMF if appropriate according to current item's state. - * Adds str to the search bar if in history or address book. - * @param str the string sent by the user - */ - void typeString(QString str); - /** - * Handles the behaviour when the user types a backspace - * according to the current state (window, item selected...) - */ - void backspace(); - /** - * Handles the behaviour when the user types escape - * according to the current state (window, item selected...) - */ - void escape(); - /** - * Handles the behaviour when the user types enter - * according to the current state (window, item selected...) - */ - void enter(); - /** - * Displays a message window with editable text of the selected - * phone number in history or address book. - * Once the user accepts, place a call with the chosen phone number. - * Keeps the peer name of the contact or past call. - */ - void editBeforeCall(); - - /** - * Alternates colors of the list widget with the application's palettes's - * base and alternateBase colors. - * @param listWidget the list widget to which we alternate colors - */ - void alternateColors(QListWidget * listWidget); - - /** - * Adds the call's item to the call-list's listwidget. - * This function doesn't add anything to the callList object. - * @param call the call to add to the call-list's listwidget - */ - void addCallToCallList(Call * call); - /** - * Adds the call's history-item to the call-history's listwidget. - * This function doesn't add anything to the callList object. - * @param call the past call to add to the call-history's listwidget - */ - void addCallToCallHistory(Call * call); - /** - * Adds the contact's item to the addressbook's listwidget. - * @param contact the contact to add to the addressbook's listwidget - */ - void addContactToContactList(Contact * contact); - - /** - * Updates call's item according to its state. - * (Actually it only deletes the item from the main window's - * list widget once the call is OVER.) - * @param call the call to which update the item - */ - void updateCallItem(Call * call); - /** - * Updates the toolbar's actions' display according to the selected - * item's state. - */ - void updateWindowCallState(); - /** - * Updates the history's search bar's display according to the current - * text searched. - * If empty, hide the search bar. - */ - void updateSearchHistory(); - void updateCallHistory(); - void updateAddressBook(); - void updateRecordButton(); - void updateVolumeButton(); - void updateRecordBar(); - void updateVolumeBar(); - void updateVolumeControls(); - void updateDialpad(); - + /** + * Performs the action action on the call call, then updates window. + * The call object will handle the action with its "actionPerformed" method. + * See the documentation for more details. + * @param call the call on which to perform the action + * @param action the code of the action to perform + */ + void action(Call * call, call_action action); + + /** + * Sets the account account to be the prior account. + * That means it's gonna be used when the user places a call + * if it's defined and registered, else the first registered of + * accountList will be used. + * @param account the account to use prior + */ + void setAccountFirst(Account * account); + + /** + * Handles the behaviour when the user types something with + * the dialpad widget or his keyboard (normally it's a one char + * string but we use a string just in case). + * Adds str to the selected item if in the main window + * and creates a new item if no item is selected. + * Send DTMF if appropriate according to current item's state. + * Adds str to the search bar if in history or address book. + * @param str the string sent by the user + */ + void typeString(QString str); + + /** + * Handles the behaviour when the user types a backspace + * according to the current state (window, item selected...) + */ + void backspace(); + + /** + * Handles the behaviour when the user types escape + * according to the current state (window, item selected...) + */ + void escape(); + + /** + * Handles the behaviour when the user types enter + * according to the current state (window, item selected...) + */ + void enter(); + + /** + * Displays a message window with editable text of the selected + * phone number in history or address book. + * Once the user accepts, place a call with the chosen phone number. + * Keeps the peer name of the contact or past call. + */ + void editBeforeCall(); + + /** + * Alternates colors of the list widget with the application's palettes's + * base and alternateBase colors. + * @param listWidget the list widget to which we alternate colors + */ + void alternateColors(QListWidget * listWidget); + + /** + * Adds the call's item to the call-list's listwidget. + * This function doesn't add anything to the callList object. + * @param call the call to add to the call-list's listwidget + */ + //Call* addCallToCallList(Call * call); + + /** + * Adds the call's history-item to the call-history's listwidget. + * This function doesn't add anything to the callList object. + * @param call the past call to add to the call-history's listwidget + */ + //Call* addCallToCallHistory(Call * call); + + /** + * Adds the contact's item to the addressbook's listwidget. + * @param contact the contact to add to the addressbook's listwidget + */ + void addContactToContactList(Contact * contact); + + /** + * Updates the toolbar's actions' display according to the selected + * item's state. + */ + void updateWindowCallState(); + + /** + * Updates the history's search bar's display according to the current + * text searched. + * If empty, hide the search bar. + */ + void updateSearchHistory(); + void updateCallHistory(); + void updateAddressBook(); + void updateRecordButton(); + void updateVolumeButton(); + void updateRecordBar(); + void updateVolumeBar(); + void updateVolumeControls(); + void updateDialpad(); + public slots: - /** - * Updates all the display - * according to the settings. - */ - void loadWindow(); - - - void updateStatusMessage(); - - /** - * Enable the address book search line edit. - * To be called once the address book loading has finished. - */ - void enableAddressBook(); - - /** - * Loads the address book asynchronously. - * Calls enableAddressBook() once the address book - * loading has finished if it is not already loaded. - * @return true if address book has finished loading - */ - bool loadAddressBook(); - - /** - * Chooses to enable/disable (show/hide) the address book - * button according to the configuration's setting, and - * returns to the main window if is in address book - * whereas it is disabled. - */ - void updateAddressBookEnabled(); - - - virtual void keyPressEvent(QKeyEvent *event) - { - int key = event->key(); - if(key == Qt::Key_Escape) - escape(); - else if(key == Qt::Key_Return || key == Qt::Key_Enter) - enter(); - else if(key == Qt::Key_Backspace) - backspace(); - else - { - QString text = event->text(); - if(! event->text().isEmpty()) - { - typeString(text); - } - } - } + /** + * Updates all the display + * according to the settings. + */ + void loadWindow(); + + + void updateStatusMessage(); + + /** + * Enable the address book search line edit. + * To be called once the address book loading has finished. + */ + void enableAddressBook(); + + /** + * Loads the address book asynchronously. + * Calls enableAddressBook() once the address book + * loading has finished if it is not already loaded. + * @return true if address book has finished loading + */ + bool loadAddressBook(); + + /** + * Chooses to enable/disable (show/hide) the address book + * button according to the configuration's setting, and + * returns to the main window if is in address book + * whereas it is disabled. + */ + void updateAddressBookEnabled(); + + + virtual void keyPressEvent(QKeyEvent *event) + { + int key = event->key(); + if(key == Qt::Key_Escape) + escape(); + else if(key == Qt::Key_Return || key == Qt::Key_Enter) + enter(); + else if(key == Qt::Key_Backspace) + backspace(); + else + { + QString text = event->text(); + if(! event->text().isEmpty()) + { + typeString(text); + } + } + } + + void displayVolumeControls(); + void displayDialpad(); + void configureSflPhone(); + void accountCreationWizard(); + void accept(); + void refuse(); + void hold(); + void transfer(); + void record(); + void mailBox(); + + void on_widget_dialpad_typed(QString text); + + void on_lineEdit_searchHistory_textChanged(); + void on_lineEdit_addressBook_textChanged(); + + void on_slider_recVol_valueChanged(int value); + void on_slider_sndVol_valueChanged(int value); + void on_slider_recVol_2_valueChanged(int value); + void on_slider_sndVol_2_valueChanged(int value); + + void on_toolButton_recVol_clicked(bool checked); + void on_toolButton_sndVol_clicked(bool checked); + void on_toolButton_recVol_2_clicked(bool checked); + void on_toolButton_sndVol_2_clicked(bool checked); + + void on_callTree_currentItemChanged(); + void on_callTree_itemChanged(); + void on_callTree_itemDoubleClicked(QTreeWidgetItem* item, int column); + + void on_listWidget_callHistory_currentItemChanged(); + void on_listWidget_callHistory_itemDoubleClicked(Call* item); - void displayVolumeControls(); - void displayDialpad(); - void configureSflPhone(); - void accountCreationWizard(); - void accept(); - void refuse(); - void hold(); - void transfer(); - void record(); - void mailBox(); - - void on_widget_dialpad_typed(QString text); - - void on_lineEdit_searchHistory_textChanged(); - void on_lineEdit_addressBook_textChanged(); - - void on_slider_recVol_valueChanged(int value); - void on_slider_sndVol_valueChanged(int value); - - void on_toolButton_recVol_clicked(bool checked); - void on_toolButton_sndVol_clicked(bool checked); - - void on_listWidget_callList_currentItemChanged(); - void on_listWidget_callList_itemChanged(); - void on_listWidget_callList_itemDoubleClicked(QListWidgetItem * item); - void on_listWidget_callHistory_currentItemChanged(); - void on_listWidget_callHistory_itemDoubleClicked(QListWidgetItem * item); - void on_listWidget_addressBook_currentItemChanged(); - void on_listWidget_addressBook_itemDoubleClicked(QListWidgetItem * item); - - void on_stackedWidget_screen_currentChanged(int index); - - void on1_callStateChanged(const QString &callID, const QString &state); - void on1_error(MapStringString details); - void on1_incomingCall(const QString &accountID, const QString &callID/*, const QString &from*/); - void on1_incomingMessage(const QString &accountID, const QString &message); - void on1_voiceMailNotify(const QString &accountID, int count); - void on1_volumeChanged(const QString &device, double value); - - void changeScreen(int screen); - + void on_listWidget_addressBook_currentItemChanged(); + void on_listWidget_addressBook_itemDoubleClicked(CallTreeItem * item); + + void on_stackedWidget_screen_currentChanged(int index); + + void on1_callStateChanged(const QString &callID, const QString &state); + void on1_error(MapStringString details); + void on1_incomingCall(const QString &accountID, const QString &callID/*, const QString &from*/); + void on1_incomingMessage(const QString &accountID, const QString &message); + void on1_voiceMailNotify(const QString &accountID, int count); + void on1_volumeChanged(const QString &device, double value); + void on1_audioManagerChanged(); + void on1_incomingConference(const QString &confID); + void on1_changingConference(const QString &confID, const QString &state); + void on1_conferenceRemoved(const QString &confId); + void changeScreen(int screen); + signals: - void statusMessageChangeAsked(const QString & message); - void windowTitleChangeAsked(const QString & title); - void enabledActionsChangeAsked(const bool * enabledActions); - void actionIconsChangeAsked(const QString * actionIcons); - void actionTextsChangeAsked(const QString * actionTexts); - void transferCheckStateChangeAsked(bool transferCheckState); - void recordCheckStateChangeAsked(bool recordCheckState); - void addressBookEnableAsked(bool enableAddressBook); - void screenChanged(int screen); - void incomingCall(const Call * call); - + void statusMessageChangeAsked(const QString & message); + void windowTitleChangeAsked(const QString & title); + void enabledActionsChangeAsked(const bool * enabledActions); + void actionIconsChangeAsked(const QString * actionIcons); + void actionTextsChangeAsked(const QString * actionTexts); + void transferCheckStateChangeAsked(bool transferCheckState); + void recordCheckStateChangeAsked(bool recordCheckState); + void addressBookEnableAsked(bool enableAddressBook); + void screenChanged(int screen); + void incomingCall(const Call * call); + }; diff --git a/sflphone-client-kde/src/SFLPhoneapplication.cpp b/sflphone-client-kde/src/SFLPhoneapplication.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a80c6b31958d6482e2b4ede4828c0f5b255e972e --- /dev/null +++ b/sflphone-client-kde/src/SFLPhoneapplication.cpp @@ -0,0 +1,104 @@ +#include "SFLPhoneapplication.h" + + +#include <KCmdLineArgs> +#include <KIconLoader> +#include <KStandardDirs> +#include <KNotification> +#include <KSystemTrayIcon> +#include <KMainWindow> +#include "SFLPhone.h" + + +/** + * The application constructor + */ +SFLPhoneApplication::SFLPhoneApplication() + : KApplication() + , sflphoneWindow_(0) +{ + // SFLPhoneApplication is created from main.cpp. + + // Start remaining initialisation + initializePaths(); + initializeMainWindow(); +} + + + +/** + * Destructor + */ +SFLPhoneApplication::~SFLPhoneApplication() +{ + // automatically destroyed + sflphoneWindow_ = 0; +} + + + +/** + * Return the sflphone window + */ +SFLPhone* SFLPhoneApplication::getSFLPhoneWindow() const +{ + return sflphoneWindow_; +} + + +/** + * Initialisation of the main window. + */ +void SFLPhoneApplication::initializeMainWindow() +{ + // Fetch the command line arguments + KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + + // Enable KDE session restore. + int restoredWindow = -1; + if( kapp->isSessionRestored() ) { + int n = 0; + while( KMainWindow::canBeRestored( ++n ) ) { + if( KMainWindow::classNameOfToplevel( n ) != QLatin1String( "SFLPhone" ) ) { + continue; + } + + restoredWindow = n; + break; + } + } + + // Create the main window and initialize it + sflphoneWindow_ = new SFLPhone(); + if( ! sflphoneWindow_->initialize() ) { + exit(1); + return; + } + + // Initialize KApplication + //setTopWidget( sflphoneWindow_ ); + sflphoneWindow_->show(); +} + + + +/** + * Initialize additional paths + */ +void SFLPhoneApplication::initializePaths() +{ + // Add compile time paths as fallback + KGlobal::dirs() -> addPrefix( QString(DATA_INSTALL_DIR) ); + KIconLoader::global() -> addAppDir( QString(DATA_INSTALL_DIR) + "/share" ); + + qDebug() << "KGlobal::dirs" << QString(DATA_INSTALL_DIR); + + // Test whether the prefix is correct. + if( KGlobal::dirs()->findResource( "appdata", "icons/hi128-apps-sflphone-client-kde.png" ).isNull() ) { + kWarning() << "SFLPhone could not find resources in the search paths: " + << KGlobal::dirs()->findDirs( "appdata", QString::null ).join(", ") << endl; + } +} + + +#include "SFLPhoneapplication.moc" diff --git a/sflphone-client-kde/src/SFLPhoneapplication.h b/sflphone-client-kde/src/SFLPhoneapplication.h new file mode 100644 index 0000000000000000000000000000000000000000..a9663809d42c02f169c71ffb3bcea2a128cb8968 --- /dev/null +++ b/sflphone-client-kde/src/SFLPhoneapplication.h @@ -0,0 +1,34 @@ +#ifndef SFLPHONEAPPLICATION_H +#define SFLPHONEAPPLICATION_H + + +#include <KApplication> + + +class SFLPhone; + + +class SFLPhoneApplication : public KApplication +{ + Q_OBJECT + + public: + // Constructor + SFLPhoneApplication(); + + // Destructor + virtual ~SFLPhoneApplication(); + + // Return the contact list window + SFLPhone* getSFLPhoneWindow() const; + + private: // private methods + void initializeMainWindow(); + void initializePaths(); + + private: + // Reference to the sflphone window + SFLPhone *sflphoneWindow_; +}; + +#endif // SFLPHONEAPPLICATION_H diff --git a/sflphone-client-kde/src/SortableCodecListWidget.cpp b/sflphone-client-kde/src/SortableCodecListWidget.cpp index 62ba504a573a6fa7b5094980d4fa904bfab92b3b..af03821e6bfc0fbbf8ad1992623fe698528d1173 100644 --- a/sflphone-client-kde/src/SortableCodecListWidget.cpp +++ b/sflphone-client-kde/src/SortableCodecListWidget.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,116 +28,112 @@ SortableCodecListWidget::SortableCodecListWidget(QWidget *parent) : QWidget(parent) { - codecTable = new QTableView(this); - codecTable->setObjectName("codecTable"); - codecTable->setSelectionBehavior(QAbstractItemView::SelectRows); - codecTable->verticalHeader()->hide(); - - codecUpButton = new KPushButton(this); - codecUpButton->setObjectName("codecUpButton"); - codecUpButton->setIcon(KIcon("go-up")); - - codecDownButton = new KPushButton(this); - codecDownButton->setObjectName("codecDownButton"); - codecDownButton->setIcon(KIcon("go-down")); - - QHBoxLayout * mainLayout = new QHBoxLayout(this); - QVBoxLayout * buttonsLayout = new QVBoxLayout(); - - buttonsLayout->addWidget(codecUpButton); - buttonsLayout->addWidget(codecDownButton); - - mainLayout->addWidget(codecTable); - mainLayout->addLayout(buttonsLayout); - - QMetaObject::connectSlotsByName(this); + codecTable = new QTableView(this); + codecTable->setObjectName("codecTable"); + codecTable->setSelectionBehavior(QAbstractItemView::SelectRows); + codecTable->verticalHeader()->hide(); + + codecUpButton = new KPushButton(this); + codecUpButton->setObjectName("codecUpButton"); + codecUpButton->setIcon(KIcon("go-up")); + + codecDownButton = new KPushButton(this); + codecDownButton->setObjectName("codecDownButton"); + codecDownButton->setIcon(KIcon("go-down")); + + QHBoxLayout * mainLayout = new QHBoxLayout(this); + QVBoxLayout * buttonsLayout = new QVBoxLayout(); + + buttonsLayout->addWidget(codecUpButton); + buttonsLayout->addWidget(codecDownButton); + + mainLayout->addWidget(codecTable); + mainLayout->addLayout(buttonsLayout); + + QMetaObject::connectSlotsByName(this); } void SortableCodecListWidget::setModel(CodecListModel * model) { - codecTable->setModel(model); - codecTable->resizeColumnsToContents(); - codecTable->resizeRowsToContents(); - connect(codecTable->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), - this, SLOT(updateCommands())); - connect(codecTable->model(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), - this, SIGNAL(dataChanged())); + codecTable->setModel(model); + codecTable->resizeColumnsToContents(); + codecTable->resizeRowsToContents(); + connect(codecTable->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), + this, SLOT(updateCommands())); + connect(codecTable->model(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), + this, SIGNAL(dataChanged())); } CodecListModel * SortableCodecListWidget::model() { - return (CodecListModel *) codecTable->model(); + return (CodecListModel *) codecTable->model(); } void SortableCodecListWidget::on_codecUpButton_clicked() { - qDebug() << "on_toolButton_codecUpButton_clicked"; - CodecListModel * model = (CodecListModel *) codecTable->model(); - int currentRow = selectedRow(); - model->codecUp(currentRow); - setSelectedRow(currentRow - 1); + qDebug() << "on_toolButton_codecUpButton_clicked"; + CodecListModel * model = (CodecListModel *) codecTable->model(); + int currentRow = selectedRow(); + model->codecUp(currentRow); + setSelectedRow(currentRow - 1); } void SortableCodecListWidget::on_codecDownButton_clicked() { - qDebug() << "on_codecDownButton_clicked"; - CodecListModel * model = (CodecListModel *) codecTable->model(); - int currentRow = selectedRow(); - model->codecDown(currentRow); - setSelectedRow(currentRow + 1); + qDebug() << "on_codecDownButton_clicked"; + CodecListModel * model = (CodecListModel *) codecTable->model(); + int currentRow = selectedRow(); + model->codecDown(currentRow); + setSelectedRow(currentRow + 1); } void SortableCodecListWidget::updateCommands() { - qDebug() << "SortableCodecListWidget::updateCommands"; - bool buttonsEnabled[2] = {true,true}; - if(selectedRow() == -1) - { - buttonsEnabled[0] = false; - buttonsEnabled[1] = false; - } - else - { - if(selectedRow() == 0) - { - buttonsEnabled[0] = false; - } - if(selectedRow() == codecTable->model()->rowCount() - 1) - { - buttonsEnabled[1] = false; - } - } - codecUpButton->setEnabled(buttonsEnabled[0]); - codecDownButton->setEnabled(buttonsEnabled[1]); + qDebug() << "SortableCodecListWidget::updateCommands"; + bool buttonsEnabled[2] = {true,true}; + if(selectedRow() == -1) { + buttonsEnabled[0] = false; + buttonsEnabled[1] = false; + } + else { + if(selectedRow() == 0) { + buttonsEnabled[0] = false; + } + + if(selectedRow() == codecTable->model()->rowCount() - 1) { + buttonsEnabled[1] = false; + } + } + codecUpButton->setEnabled(buttonsEnabled[0]); + codecDownButton->setEnabled(buttonsEnabled[1]); } QModelIndex SortableCodecListWidget::selectedIndex() { - QItemSelectionModel *selection = codecTable->selectionModel(); - const QModelIndexList selectedIndexes = selection->selectedIndexes(); - if ( !selectedIndexes.isEmpty() && selectedIndexes[0].isValid() ) - return selectedIndexes[0]; - else - return QModelIndex(); + QItemSelectionModel *selection = codecTable->selectionModel(); + const QModelIndexList selectedIndexes = selection->selectedIndexes(); + if ( !selectedIndexes.isEmpty() && selectedIndexes[0].isValid() ) + return selectedIndexes[0]; + else + return QModelIndex(); } int SortableCodecListWidget::selectedRow() { - QModelIndex index = selectedIndex(); - if(index.isValid()) - return index.row(); - else - return -1; + QModelIndex index = selectedIndex(); + if(index.isValid()) + return index.row(); + else + return -1; } void SortableCodecListWidget::setSelectedRow(int row) { - QItemSelectionModel * selection = codecTable->selectionModel(); - QAbstractItemModel * model = codecTable->model(); - QItemSelection newSelection = QItemSelection(model->index(row, 0, QModelIndex()), model->index(row +1 , model->columnCount(), QModelIndex())); - selection->clear(); - for(int i = 0 ; i < model->columnCount() ; i++) - { - selection->select(model->index(row, i, QModelIndex()) , QItemSelectionModel::Select); - } + QItemSelectionModel * selection = codecTable->selectionModel(); + QAbstractItemModel * model = codecTable->model(); + QItemSelection newSelection = QItemSelection(model->index(row, 0, QModelIndex()), model->index(row +1 , model->columnCount(), QModelIndex())); + selection->clear(); + for(int i = 0 ; i < model->columnCount() ; i++) { + selection->select(model->index(row, i, QModelIndex()) , QItemSelectionModel::Select); + } } \ No newline at end of file diff --git a/sflphone-client-kde/src/SortableCodecListWidget.h b/sflphone-client-kde/src/SortableCodecListWidget.h index 0ea9eae8fecad5859968f56d28585be317e81f66..fbe5112bfe8a033e5aa0b8c8ce8812c2394715af 100644 --- a/sflphone-client-kde/src/SortableCodecListWidget.h +++ b/sflphone-client-kde/src/SortableCodecListWidget.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -27,37 +27,37 @@ #include "CodecListModel.h" /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> + @author Jérémy Quentin <jeremy.quentin@gmail.com> */ class SortableCodecListWidget : public QWidget { Q_OBJECT private: - KPushButton * codecUpButton; - KPushButton * codecDownButton; - QTableView * codecTable; + KPushButton * codecUpButton; + KPushButton * codecDownButton; + QTableView * codecTable; public: - SortableCodecListWidget(QWidget *parent = 0); - - virtual void setModel(CodecListModel * model); - virtual CodecListModel * model(); - + SortableCodecListWidget(QWidget *parent = 0); + + virtual void setModel(CodecListModel * model); + virtual CodecListModel * model(); + private slots: - void on_codecUpButton_clicked(); - void on_codecDownButton_clicked(); - + void on_codecUpButton_clicked(); + void on_codecDownButton_clicked(); + public slots: - void updateCommands(); - + void updateCommands(); + private: - QModelIndex selectedIndex(); - int selectedRow(); + QModelIndex selectedIndex(); + int selectedRow(); - void setSelectedRow(int row); - + void setSelectedRow(int row); + signals: - void dataChanged(); + void dataChanged(); }; diff --git a/sflphone-client-kde/src/callmanager_interface_singleton.cpp b/sflphone-client-kde/src/callmanager_interface_singleton.cpp index ccb97c3b8ec84a577fb629ca948d6e5df088ee6e..5653cd1cd1d813b70e74cf3e6a56b7708e6bd94c 100644 --- a/sflphone-client-kde/src/callmanager_interface_singleton.cpp +++ b/sflphone-client-kde/src/callmanager_interface_singleton.cpp @@ -1,7 +1,6 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff --git a/sflphone-client-kde/src/callmanager_interface_singleton.h b/sflphone-client-kde/src/callmanager_interface_singleton.h index f04c67fa1288fe6521c9b347503f47a28d6d4b06..9f12b58c490e221b607603196ebb1d3cfab3c69d 100644 --- a/sflphone-client-kde/src/callmanager_interface_singleton.h +++ b/sflphone-client-kde/src/callmanager_interface_singleton.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * * Author : Jérémy Quentin * * jeremy.quentin@savoirfairelinux.com * * * diff --git a/sflphone-client-kde/src/conf/ConfigurationDialog.cpp b/sflphone-client-kde/src/conf/ConfigurationDialog.cpp index 8ea4179b2282099204b70da206f942967994a166..e894127acc0ef8fdabe8faa2745f27c7377527f0 100644 --- a/sflphone-client-kde/src/conf/ConfigurationDialog.cpp +++ b/sflphone-client-kde/src/conf/ConfigurationDialog.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -27,7 +27,6 @@ #include "dlgaccounts.h" #include "dlgaudio.h" #include "dlgaddressbook.h" -#include "dlgrecord.h" #include "dlghooks.h" #include "sflphone_const.h" @@ -35,28 +34,26 @@ ConfigurationDialog::ConfigurationDialog(SFLPhoneView *parent) :KConfigDialog(parent, SETTINGS_NAME, ConfigurationSkeleton::self()) { - this->setWindowIcon(QIcon(ICON_SFLPHONE)); - - dlgGeneral = new DlgGeneral(this); - dlgDisplay = new DlgDisplay(this); - dlgAccounts = new DlgAccounts(this); - dlgAudio = new DlgAudio(this); - dlgAddressBook = new DlgAddressBook(this); - dlgRecord = new DlgRecord(this); - dlgHooks = new DlgHooks(this); - - addPage( dlgGeneral , i18n("General") , "sflphone-client-kde" ); - addPage( dlgDisplay , i18n("Display") , "applications-graphics" ); - addPage( dlgAccounts , i18n("Accounts") , "personal" ); - addPage( dlgAudio , i18n("Audio") , "voicecall" ); - addPage( dlgAddressBook , i18n("Address Book") , "x-office-address-book" ); - addPage( dlgRecord , i18n("Recordings") , "media-record" ); - addPage( dlgHooks , i18n("Hooks") , "insert-link" ); - - connect(this, SIGNAL(applyClicked()), this, SLOT(applyCustomSettings())); - connect(this, SIGNAL(okClicked()), this, SLOT(applyCustomSettings())); - - connect(dlgGeneral, SIGNAL(clearCallHistoryAsked()), this, SIGNAL(clearCallHistoryAsked())); + this->setWindowIcon(QIcon(ICON_SFLPHONE)); + + dlgGeneral = new DlgGeneral(this); + dlgDisplay = new DlgDisplay(this); + dlgAccounts = new DlgAccounts(this); + dlgAudio = new DlgAudio(this); + dlgAddressBook = new DlgAddressBook(this); + dlgHooks = new DlgHooks(this); + + addPage( dlgGeneral , i18n("General") , "sflphone-client-kde" ); + addPage( dlgDisplay , i18n("Display") , "applications-graphics" ); + addPage( dlgAccounts , i18n("Accounts") , "personal" ); + addPage( dlgAudio , i18n("Audio") , "voicecall" ); + addPage( dlgAddressBook , i18n("Address Book") , "x-office-address-book" ); + addPage( dlgHooks , i18n("Hooks") , "insert-link" ); + + connect(this, SIGNAL(applyClicked()), this, SLOT(applyCustomSettings())); + connect(this, SIGNAL(okClicked()), this, SLOT(applyCustomSettings())); + + connect(dlgGeneral, SIGNAL(clearCallHistoryAsked()), this, SIGNAL(clearCallHistoryAsked())); } @@ -66,51 +63,48 @@ ConfigurationDialog::~ConfigurationDialog() void ConfigurationDialog::updateWidgets() { - qDebug() << "\nupdateWidgets"; - dlgAudio->updateWidgets(); - dlgAccounts->updateWidgets(); + qDebug() << "\nupdateWidgets"; + dlgAudio->updateWidgets(); + dlgAccounts->updateWidgets(); } void ConfigurationDialog::updateSettings() { - qDebug() << "\nupdateSettings"; - dlgAudio->updateSettings(); - dlgAccounts->updateSettings(); + qDebug() << "\nupdateSettings"; + dlgAudio->updateSettings(); + dlgAccounts->updateSettings(); } bool ConfigurationDialog::hasChanged() { - bool res = dlgAudio->hasChanged() || dlgAccounts->hasChanged(); - qDebug() << "hasChanged" << res; - return res; + bool res = dlgAudio->hasChanged() || dlgAccounts->hasChanged(); + qDebug() << "hasChanged" << res; + return res; } void ConfigurationDialog::updateButtons() { - bool changed = hasChanged(); - qDebug() << "updateButtons , hasChanged = " << changed; -// if(hasChanged()) -// enableButtonApply( true ); - enableButtonApply( changed ); + bool changed = hasChanged(); + qDebug() << "updateButtons , hasChanged = " << changed; + enableButtonApply( changed ); } void ConfigurationDialog::applyCustomSettings() { - qDebug() << "\napplyCustomSettings"; -// if(hasChanged()) -// { - ConfigurationSkeleton::self()->writeConfig(); -// } - updateSettings(); - updateWidgets(); - updateButtons(); - emit changesApplied(); + qDebug() << "\napplyCustomSettings"; + if(hasChanged()) { + ConfigurationSkeleton::self()->writeConfig(); + } + updateSettings(); + updateWidgets(); + updateButtons(); + emit changesApplied(); } void ConfigurationDialog::reload() { - qDebug() << "reload"; - ConfigurationSkeleton::self()->readConfig(); - updateWidgets(); - updateButtons(); + qDebug() << "reload"; + ConfigurationSkeleton::self()->readConfig(); + updateWidgets(); + updateButtons(); } diff --git a/sflphone-client-kde/src/conf/ConfigurationDialog.h b/sflphone-client-kde/src/conf/ConfigurationDialog.h index b59f2a14a9495089bfc28ee2b48d72f7e0425c7e..ea2acef816bdf137d563e6409dd9b87eccc67067 100644 --- a/sflphone-client-kde/src/conf/ConfigurationDialog.h +++ b/sflphone-client-kde/src/conf/ConfigurationDialog.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -41,77 +41,76 @@ class DlgHooks; class SFLPhoneView; /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> - This class represents the config dialog for sflphone. - It uses the ConfigurationSkeleton class to handle most of the settings. - It inherits KConfigDialog with the pages defined in dlg... files. - A few complicated settings are handled directly by its pages. - Some custom behaviors have been added to handle specific cases, - as this config dialog is not the usual kind. - A few things might be done a cleaner way by passing the handling - to the skeleton like it has been done with codecs. + @author Jérémy Quentin <jeremy.quentin@gmail.com> + This class represents the config dialog for sflphone. + It uses the ConfigurationSkeleton class to handle most of the settings. + It inherits KConfigDialog with the pages defined in dlg... files. + A few complicated settings are handled directly by its pages. + Some custom behaviors have been added to handle specific cases, + as this config dialog is not the usual kind. + A few things might be done a cleaner way by passing the handling + to the skeleton like it has been done with codecs. */ class ConfigurationDialog : public KConfigDialog { Q_OBJECT private: - - DlgGeneral * dlgGeneral; - DlgDisplay * dlgDisplay; - DlgAccounts * dlgAccounts; - DlgAudio * dlgAudio; - DlgAddressBook * dlgAddressBook; - DlgRecord * dlgRecord; - DlgHooks * dlgHooks; + + DlgGeneral * dlgGeneral; + DlgDisplay * dlgDisplay; + DlgAccounts * dlgAccounts; + DlgAudio * dlgAudio; + DlgAddressBook * dlgAddressBook; + DlgHooks * dlgHooks; public: - ConfigurationDialog(SFLPhoneView *parent = 0); + ConfigurationDialog(SFLPhoneView *parent = 0); - ~ConfigurationDialog(); - + ~ConfigurationDialog(); + public slots: - /** - * Reimplements KConfigDialog - */ - void updateWidgets(); - /** - * Reimplements KConfigDialog - */ - void updateSettings(); - /** - * Is implemented in KConfigDialog only from KDE4.3 - * It it implemented here for KDE4.2 users. - * I didn't test with KDE4.3 so I leave it even for 4.3 users. - * Causes problems for a few cases (item managed by kconfig switched, item not managed - * switched and then switched back, apply becomes disabled). - * Can't be resolved without a method to know if items managed by kconfig have changed. - * Disable/Enable Apply Button according to hasChanged() result - */ - void updateButtons(); - /** - * @return whether any custom widget has changed in the dialog. - */ - bool hasChanged(); - - /** - * reloads the informations before showing it. - */ - void reload(); - + /** + * Reimplements KConfigDialog + */ + void updateWidgets(); + /** + * Reimplements KConfigDialog + */ + void updateSettings(); + /** + * Is implemented in KConfigDialog only from KDE4.3 + * It it implemented here for KDE4.2 users. + * I didn't test with KDE4.3 so I leave it even for 4.3 users. + * Causes problems for a few cases (item managed by kconfig switched, item not managed + * switched and then switched back, apply becomes disabled). + * Can't be resolved without a method to know if items managed by kconfig have changed. + * Disable/Enable Apply Button according to hasChanged() result + */ + void updateButtons(); + /** + * @return whether any custom widget has changed in the dialog. + */ + bool hasChanged(); + + /** + * reloads the informations before showing it. + */ + void reload(); + private slots: - /** - * Apply settings not managed by kconfig (accounts) - * Should be removed when accounts are managed by kconfig. - */ - void applyCustomSettings(); + /** + * Apply settings not managed by kconfig (accounts) + * Should be removed when accounts are managed by kconfig. + */ + void applyCustomSettings(); signals: - void clearCallHistoryAsked(); - void changesApplied(); - + void clearCallHistoryAsked(); + void changesApplied(); + }; #endif diff --git a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp index f2bcf04b8b75eb3dbe8eb9879187df0cf2c2807d..ac152deaaa2e8b720c632b4728e18d312baed844 100644 --- a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp +++ b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,18 +26,18 @@ ConfigurationSkeleton::ConfigurationSkeleton() : ConfigurationSkeletonBase() { - qDebug() << "Building ConfigurationSkeleton"; - codecListModel = new CodecListModel(); - readConfig(); + qDebug() << "Building ConfigurationSkeleton"; + //codecListModel = new CodecListModel(); + readConfig(); } ConfigurationSkeleton * ConfigurationSkeleton::instance = NULL; ConfigurationSkeleton * ConfigurationSkeleton::self() { - if(instance == NULL) - { instance = new ConfigurationSkeleton(); } - return instance; + if(instance == NULL) + { instance = new ConfigurationSkeleton(); } + return instance; } @@ -45,276 +45,251 @@ ConfigurationSkeleton::~ConfigurationSkeleton() { } -CodecListModel * ConfigurationSkeleton::getCodecListModel() -{ - return codecListModel; -} +// CodecListModel * ConfigurationSkeleton::getCodecListModel() +// { +// return codecListModel; +// } void ConfigurationSkeleton::readConfig() { - qDebug() << "\nReading config"; - - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - - //////////////////////// - ////General settings//// - //////////////////////// - - //Call history settings - setEnableHistory(configurationManager.getHistoryEnabled()); - setHistoryMax(configurationManager.getHistoryLimit()); - - //SIP port settings - setSIPPort(configurationManager.getSipPort()); - - //////////////////////// - ////Display settings//// - //////////////////////// + qDebug() << "\nReading config"; + + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + + //////////////////////// + ////General settings//// + //////////////////////// + + //Call history settings + setEnableHistory(QVariant(configurationManager.getHistoryEnabled()).toBool()); + setHistoryMax(configurationManager.getHistoryLimit()); + + //////////////////////// + ////Display settings//// + //////////////////////// - //Notification settings - setNotifOnCalls(configurationManager.getNotify()); - setNotifOnMessages(configurationManager.getMailNotify()); - - //Window display settings - setDisplayOnStart(! configurationManager.isStartHidden()); - setDisplayOnCalls(configurationManager.popupMode()); - - ///////////////////////// - ////Accounts settings//// - ///////////////////////// - -// loadAccountList(); + //Notification settings + setNotifOnCalls(configurationManager.getNotify()); + setNotifOnMessages(configurationManager.getMailNotify()); + + //Window display settings + setDisplayOnStart(! configurationManager.isStartHidden()); + setDisplayOnCalls(configurationManager.popupMode()); + + ///////////////////////// + ////Accounts settings//// + ///////////////////////// + +// loadAccountList(); + + ////////////////////// + ////Audio settings//// + ////////////////////// + + //Audio Interface settings + int audioManager = configurationManager.getAudioManager(); + qDebug() << "audioManager = " << audioManager; + setInterface(audioManager); - //Stun settings - setEnableStun(configurationManager.isStunEnabled()); - setStunServer(configurationManager.getStunServer()); + //ringtones settings + setEnableRingtones(configurationManager.isRingtoneEnabled()); + QString ringtone = configurationManager.getRingtoneChoice(); + if(ringtone.isEmpty()) { + setRingtone(QString(SHARE_INSTALL_PREFIX) + "sflphone/ringtones/konga.ul"); + } + else { + setRingtone(ringtone); + } - - ////////////////////// - ////Audio settings//// - ////////////////////// - - //Audio Interface settings - int audioManager = configurationManager.getAudioManager(); - qDebug() << "audioManager = " << audioManager; - setInterface(audioManager); + //codecs settings + //setActiveCodecList(configurationManager.getActiveCodecList()); //Outdated - //ringtones settings - setEnableRingtones(configurationManager.isRingtoneEnabled()); - QString ringtone = configurationManager.getRingtoneChoice(); - if(ringtone.isEmpty()) - { - setRingtone(QString(SHARE_INSTALL_PREFIX) + "sflphone/ringtones/konga.ul"); - } - else - { - setRingtone(ringtone); - } - - //codecs settings - setActiveCodecList(configurationManager.getActiveCodecList()); - - qDebug() << "configurationManager.getCurrentAudioOutputPlugin() = " << configurationManager.getCurrentAudioOutputPlugin(); - setAlsaPlugin(configurationManager.getCurrentAudioOutputPlugin()); - bool ok; - QStringList devices = configurationManager.getCurrentAudioDevicesIndex(); - qDebug() << "inputDevice = " << devices[1]; - int inputDevice = devices[1].toInt(& ok); - if(!ok) qDebug() << "inputDevice is not a number"; - setAlsaInputDevice(inputDevice); - - qDebug() << "outputDevice = " << devices[0]; - int outputDevice = devices[0].toInt(& ok); - if(!ok) qDebug() << "outputDevice is not a number"; - setAlsaOutputDevice(outputDevice); - - - //pulseaudio settings - setPulseAudioVolumeAlter(configurationManager.getPulseAppVolumeControl()); - - /////////////////////// - ////Record settings//// - /////////////////////// - - QString recordPath = configurationManager.getRecordPath(); - if(! recordPath.isEmpty()) - { - setDestinationFolder(recordPath); - } - else - { - setDestinationFolder(QDir::home().path()); - } - - - - ///////////////////////////// - ////Address book settings//// - ///////////////////////////// - - MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); - qDebug() << "getAddressbookSettings() : " << addressBookSettings; - setEnableAddressBook(addressBookSettings[ADDRESSBOOK_ENABLE]); - setMaxResults(addressBookSettings[ADDRESSBOOK_MAX_RESULTS]); - setDisplayPhoto(addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]); - setBusiness(addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS]); - setMobile(addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE]); - setHome(addressBookSettings[ADDRESSBOOK_DISPLAY_HOME]); - - ///////////////////////////// - ///////Hooks settings//////// - ///////////////////////////// - - MapStringString hooksSettings = configurationManager.getHookSettings().value(); - qDebug() << "getHooksSettings() : " << hooksSettings; - setAddPrefix(hooksSettings[HOOKS_ENABLED]=="1"); - setPrepend(hooksSettings[HOOKS_ADD_PREFIX]); - setEnableHooksSIP(hooksSettings[HOOKS_SIP_ENABLED]=="1"); - setEnableHooksIAX(hooksSettings[HOOKS_IAX2_ENABLED]=="1"); - setHooksSIPHeader(hooksSettings[HOOKS_SIP_FIELD]); - setHooksCommand(hooksSettings[HOOKS_COMMAND]); - - qDebug() << "Finished to read config\n"; + qDebug() << "configurationManager.getCurrentAudioOutputPlugin() = " << configurationManager.getCurrentAudioOutputPlugin(); + setAlsaPlugin(configurationManager.getCurrentAudioOutputPlugin()); + bool ok; + QStringList devices = configurationManager.getCurrentAudioDevicesIndex(); + int inputDevice =0; + if (devices.size() > 1) { + qDebug() << "inputDevice = " << devices[1]; + int inputDevice = devices[1].toInt(& ok); + } + else qDebug() << "Fatal: Too few audio devices"; + if(!ok) qDebug() << "inputDevice is not a number"; + setAlsaInputDevice(inputDevice); + + qDebug() << "outputDevice = " << devices[0]; + int outputDevice = devices[0].toInt(& ok); + if(!ok) qDebug() << "outputDevice is not a number"; + setAlsaOutputDevice(outputDevice); + + /////////////////////// + ////Record settings//// + /////////////////////// + + QString recordPath = configurationManager.getRecordPath(); + if(! recordPath.isEmpty()) { + setDestinationFolder(recordPath); + } + else { + setDestinationFolder(QDir::home().path()); + } + + + + ///////////////////////////// + ////Address book settings//// + ///////////////////////////// + + MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value(); + qDebug() << "getAddressbookSettings() : " << addressBookSettings; + setEnableAddressBook(addressBookSettings[ADDRESSBOOK_ENABLE]); + setMaxResults(addressBookSettings[ADDRESSBOOK_MAX_RESULTS]); + setDisplayPhoto(addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]); + setBusiness(addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS]); + setMobile(addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE]); + setHome(addressBookSettings[ADDRESSBOOK_DISPLAY_HOME]); + + ///////////////////////////// + ///////Hooks settings//////// + ///////////////////////////// + + MapStringString hooksSettings = configurationManager.getHookSettings().value(); + qDebug() << "getHooksSettings() : " << hooksSettings; + setAddPrefix(hooksSettings[HOOKS_ENABLED]=="1"); + setPrepend(hooksSettings[HOOKS_ADD_PREFIX]); + setEnableHooksSIP(hooksSettings[HOOKS_SIP_ENABLED]=="1"); + setEnableHooksIAX(hooksSettings[HOOKS_IAX2_ENABLED]=="1"); + setHooksSIPHeader(hooksSettings[HOOKS_SIP_FIELD]); + setHooksCommand(hooksSettings[HOOKS_COMMAND]); + + qDebug() << "Finished to read config\n"; } void ConfigurationSkeleton::writeConfig() { - qDebug() << "\nWriting config"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - - - //////////////////////// - ////General settings//// - //////////////////////// - - qDebug() << "Writing General settings"; - - //Call history settings - if(enableHistory() != configurationManager.getHistoryEnabled()) configurationManager.setHistoryEnabled(); - configurationManager.setHistoryLimit(historyMax()); - //SIP port settings - configurationManager.setSipPort(sIPPort()); - + qDebug() << "\nWriting config"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + + + //////////////////////// + ////General settings//// + //////////////////////// + + qDebug() << "Writing General settings"; + + //Call history settings + if(enableHistory() != QVariant(configurationManager.getHistoryEnabled()).toBool() ) { + configurationManager.setHistoryEnabled(); + } + configurationManager.setHistoryLimit(historyMax()); - //////////////////////// - ////Display settings//// - //////////////////////// - - qDebug() << "Writing Display settings"; - - //Notification settings - if(notifOnCalls() != configurationManager.getNotify()) configurationManager.setNotify(); - if(notifOnMessages() != configurationManager.getMailNotify()) configurationManager.setMailNotify(); - - //Window display settings - //WARNING états inversés - if(displayOnStart() == configurationManager.isStartHidden()) configurationManager.startHidden(); - if(displayOnCalls() != configurationManager.popupMode()) configurationManager.switchPopupMode(); - - ///////////////////////// - ////Accounts settings//// - ///////////////////////// - - qDebug() << "Writing Accounts settings"; - -// saveAccountList(); + //////////////////////// + ////Display settings//// + //////////////////////// + + qDebug() << "Writing Display settings"; + + //Notification settings + if(notifOnCalls() != configurationManager.getNotify()) configurationManager.setNotify(); + if(notifOnMessages() != configurationManager.getMailNotify()) configurationManager.setMailNotify(); + + //Window display settings + //WARNING états inversés + if(displayOnStart() == configurationManager.isStartHidden()) configurationManager.startHidden(); + if(displayOnCalls() != configurationManager.popupMode()) configurationManager.switchPopupMode(); + + ///////////////////////// + ////Accounts settings//// + ///////////////////////// + + qDebug() << "Writing Accounts settings"; + +// saveAccountList(); - //Stun settings - if(enableStun() != configurationManager.isStunEnabled()) configurationManager.enableStun(); - configurationManager.setStunServer(stunServer()); + ////////////////////// + ////Audio settings//// + ////////////////////// + + qDebug() << "Writing Audio settings"; + + //Audio Interface settings + int prevManager = configurationManager.getAudioManager(); + int newManager = interface(); + if(prevManager != newManager) { + configurationManager.setAudioManager(newManager); + } + + //ringtones settings + if(enableRingtones() != configurationManager.isRingtoneEnabled()) configurationManager.ringtoneEnabled(); + configurationManager.setRingtoneChoice(ringtone()); - ////////////////////// - ////Audio settings//// - ////////////////////// - - qDebug() << "Writing Audio settings"; - - //Audio Interface settings - int prevManager = configurationManager.getAudioManager(); - int newManager = interface(); - if(prevManager != newManager) - { - configurationManager.setAudioManager(newManager); - } - - //ringtones settings - if(enableRingtones() != configurationManager.isRingtoneEnabled()) configurationManager.ringtoneEnabled(); - configurationManager.setRingtoneChoice(ringtone()); + //codecs settings + //qDebug() << "activeCodecList = " << activeCodecList(); + //configurationManager.setActiveCodecList(activeCodecList()); + - //codecs settings - qDebug() << "activeCodecList = " << activeCodecList(); - configurationManager.setActiveCodecList(activeCodecList()); - - - //alsa settings - if(prevManager == CONST_ALSA && newManager == EnumInterface::ALSA) - { - qDebug() << "setting alsa settings"; - configurationManager.setOutputAudioPlugin(alsaPlugin()); - configurationManager.setAudioInputDevice(alsaInputDevice()); - configurationManager.setAudioOutputDevice(alsaOutputDevice()); - } - //pulseaudio settings - if(newManager == EnumInterface::PulseAudio) - { - qDebug() << "setting pulseaudio settings"; - if(pulseAudioVolumeAlter() != configurationManager.getPulseAppVolumeControl()) configurationManager.setPulseAppVolumeControl(); - } - - - /////////////////////// - ////Record settings//// - /////////////////////// - - qDebug() << "Writing Record settings"; - - QString destination = destinationFolder(); - configurationManager.setRecordPath(destination); - - - ///////////////////////////// - ////Address Book settings//// - ///////////////////////////// - - qDebug() << "Writing Address Book settings"; - - MapStringInt addressBookSettings = MapStringInt(); - addressBookSettings[ADDRESSBOOK_ENABLE] = enableAddressBook(); - addressBookSettings[ADDRESSBOOK_MAX_RESULTS] = maxResults(); - addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO] = displayPhoto(); - addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS] = business(); - addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE] = mobile(); - addressBookSettings[ADDRESSBOOK_DISPLAY_HOME] = home(); - configurationManager.setAddressbookSettings(addressBookSettings); - - ///////////////////////////// - ///////Hooks settings//////// - ///////////////////////////// - - qDebug() << "Writing Hooks settings"; - - MapStringString hooksSettings = MapStringString(); - hooksSettings[HOOKS_ENABLED] = addPrefix() ? "1" : "0"; - hooksSettings[HOOKS_ADD_PREFIX] = prepend(); - hooksSettings[HOOKS_SIP_ENABLED] = enableHooksSIP() ? "1" : "0"; - hooksSettings[HOOKS_IAX2_ENABLED] = enableHooksIAX() ? "1" : "0"; - hooksSettings[HOOKS_SIP_FIELD] = hooksSIPHeader(); - hooksSettings[HOOKS_COMMAND] = hooksCommand(); - configurationManager.setHookSettings(hooksSettings); - - qDebug() << "Finished to write config\n"; - - readConfig(); -} - -QStringList ConfigurationSkeleton::activeCodecList() const -{ - return codecListModel->getActiveCodecList(); + //alsa settings + if(prevManager == CONST_ALSA && newManager == EnumInterface::ALSA) { + qDebug() << "setting alsa settings"; + configurationManager.setOutputAudioPlugin(alsaPlugin()); + configurationManager.setAudioInputDevice(alsaInputDevice()); + configurationManager.setAudioOutputDevice(alsaOutputDevice()); + } + + + /////////////////////// + ////Record settings//// + /////////////////////// + + qDebug() << "Writing Record settings"; + + QString destination = destinationFolder(); + configurationManager.setRecordPath(destination); + + + ///////////////////////////// + ////Address Book settings//// + ///////////////////////////// + + qDebug() << "Writing Address Book settings"; + + MapStringInt addressBookSettings = MapStringInt(); + addressBookSettings[ADDRESSBOOK_ENABLE] = enableAddressBook(); + addressBookSettings[ADDRESSBOOK_MAX_RESULTS] = maxResults(); + addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO] = displayPhoto(); + addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS] = business(); + addressBookSettings[ADDRESSBOOK_DISPLAY_MOBILE] = mobile(); + addressBookSettings[ADDRESSBOOK_DISPLAY_HOME] = home(); + configurationManager.setAddressbookSettings(addressBookSettings); + + ///////////////////////////// + ///////Hooks settings//////// + ///////////////////////////// + + qDebug() << "Writing Hooks settings"; + + MapStringString hooksSettings = MapStringString(); + hooksSettings[HOOKS_ENABLED] = addPrefix() ? "1" : "0"; + hooksSettings[HOOKS_ADD_PREFIX] = prepend(); + hooksSettings[HOOKS_SIP_ENABLED] = enableHooksSIP() ? "1" : "0"; + hooksSettings[HOOKS_IAX2_ENABLED] = enableHooksIAX() ? "1" : "0"; + hooksSettings[HOOKS_SIP_FIELD] = hooksSIPHeader(); + hooksSettings[HOOKS_COMMAND] = hooksCommand(); + configurationManager.setHookSettings(hooksSettings); + + qDebug() << "Finished to write config\n"; + + readConfig(); } -void ConfigurationSkeleton::setActiveCodecList(const QStringList & v) -{ - codecListModel->setActiveCodecList(v); -} +// QStringList ConfigurationSkeleton::activeCodecList() const +// { +// return codecListModel->getActiveCodecList(); +// } +// +// void ConfigurationSkeleton::setActiveCodecList(const QStringList & v) +// { +// codecListModel->setActiveCodecList(v); +// } diff --git a/sflphone-client-kde/src/conf/ConfigurationSkeleton.h b/sflphone-client-kde/src/conf/ConfigurationSkeleton.h index 666173a93d3fb492b737976eaa77c8883ee2cb7e..bee742686422d61dd1203d136df3a30d67aa4c7d 100644 --- a/sflphone-client-kde/src/conf/ConfigurationSkeleton.h +++ b/sflphone-client-kde/src/conf/ConfigurationSkeleton.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -24,51 +24,51 @@ #include <QWidget> #include "kcfg_settings.h" -#include "CodecListModel.h" +//#include "CodecListModel.h" #include "AccountListModel.h" /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> - This class represents the config skeleton for the config dialog. - It inherits the KConfigSkeleton "ConfigurationSkeletonBase"generated - by sflphone-client-kde.kcfg which handles most of the settings. - This class handles the codec list. - A few complicated settings are handled directly by the config dialog - and its pages (accounts, sound managers). - This class reimplements the writeConfig and readConfig functions to ask the - daemon instead of the normal behavior (read and write in a kconfig file). + @author Jérémy Quentin <jeremy.quentin@gmail.com> + This class represents the config skeleton for the config dialog. + It inherits the KConfigSkeleton "ConfigurationSkeletonBase"generated + by sflphone-client-kde.kcfg which handles most of the settings. + This class handles the codec list. + A few complicated settings are handled directly by the config dialog + and its pages (accounts, sound managers). + This class reimplements the writeConfig and readConfig functions to ask the + daemon instead of the normal behavior (read and write in a kconfig file). */ class ConfigurationSkeleton : public ConfigurationSkeletonBase { Q_OBJECT private: - static ConfigurationSkeleton * instance; - - CodecListModel * codecListModel; + static ConfigurationSkeleton * instance; + + //CodecListModel * codecListModel; public: - ConfigurationSkeleton(); + ConfigurationSkeleton(); - ~ConfigurationSkeleton(); + ~ConfigurationSkeleton(); - /** - * @copydoc KCoreConfigSkeleton::readConfig() - */ - virtual void readConfig(); + /** + * @copydoc KCoreConfigSkeleton::readConfig() + */ + virtual void readConfig(); - /** - * @copydoc KCoreConfigSkeleton::writeConfig() - */ - virtual void writeConfig(); - - - static ConfigurationSkeleton * self(); - - QStringList activeCodecList() const; - void setActiveCodecList(const QStringList & v); - - CodecListModel * getCodecListModel(); + /** + * @copydoc KCoreConfigSkeleton::writeConfig() + */ + virtual void writeConfig(); + + + static ConfigurationSkeleton * self(); + + //QStringList activeCodecList() const; + //void setActiveCodecList(const QStringList & v); + + //CodecListModel * getCodecListModel(); }; diff --git a/sflphone-client-kde/src/conf/dlgaccounts.cpp b/sflphone-client-kde/src/conf/dlgaccounts.cpp index 78ac4cf34fb28e9e3577f5106b58520c2739a61e..c791df3d7ac038b9d57de82df056852d1a7feb88 100644 --- a/sflphone-client-kde/src/conf/dlgaccounts.cpp +++ b/sflphone-client-kde/src/conf/dlgaccounts.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,355 +26,745 @@ #include "SFLPhoneView.h" #include "sflphone_const.h" #include "conf/ConfigurationDialog.h" +#include <vector> +#include <string> DlgAccounts::DlgAccounts(KConfigDialog *parent) : QWidget(parent) { - setupUi(this); - - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - button_accountUp->setIcon(KIcon("go-up")); - button_accountDown->setIcon(KIcon("go-down")); - button_accountAdd->setIcon(KIcon("list-add")); - button_accountRemove->setIcon(KIcon("list-remove")); - accountList = new AccountList(false); - loadAccountList(); - accountListHasChanged = false; - toolButton_accountsApply->setEnabled(false); - - connect(edit1_alias, SIGNAL(textEdited(const QString &)), - this, SLOT(changedAccountList())); - connect(edit2_protocol, SIGNAL(activated(int)), - this, SLOT(changedAccountList())); - connect(edit3_server, SIGNAL(textEdited(const QString &)), - this, SLOT(changedAccountList())); - connect(edit4_user, SIGNAL(textEdited(const QString &)), - this, SLOT(changedAccountList())); - connect(edit5_password, SIGNAL(textEdited(const QString &)), - this, SLOT(changedAccountList())); - connect(edit6_mailbox, SIGNAL(textEdited(const QString &)), - this, SLOT(changedAccountList())); - connect(spinbox_regExpire, SIGNAL(editingFinished()), - this, SLOT(changedAccountList())); - connect(checkBox_conformRFC, SIGNAL(clicked(bool)), - this, SLOT(changedAccountList())); - connect(button_accountUp, SIGNAL(clicked()), - this, SLOT(changedAccountList())); - connect(button_accountDown, SIGNAL(clicked()), - this, SLOT(changedAccountList())); - connect(button_accountAdd, SIGNAL(clicked()), - this, SLOT(changedAccountList())); - connect(button_accountRemove, SIGNAL(clicked()), - this, SLOT(changedAccountList())); - - connect(&configurationManager, SIGNAL(accountsChanged()), - this, SLOT(updateAccountStates())); - - - connect(this, SIGNAL(updateButtons()), parent, SLOT(updateButtons())); + setupUi(this); + + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + button_accountUp->setIcon(KIcon("go-up")); + button_accountDown->setIcon(KIcon("go-down")); + button_accountAdd->setIcon(KIcon("list-add")); + button_accountRemove->setIcon(KIcon("list-remove")); + accountList = new AccountList(false); + loadAccountList(); + loadCodecList(); + accountListHasChanged = false; + //toolButton_accountsApply->setEnabled(false); + + connect(edit1_alias, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(edit2_protocol, SIGNAL(activated(int)), + this, SLOT(changedAccountList())); + connect(edit3_server, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(edit4_user, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(edit5_password, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(edit6_mailbox, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(spinbox_regExpire, SIGNAL(editingFinished()), + this, SLOT(changedAccountList())); + connect(checkBox_conformRFC, SIGNAL(clicked(bool)), + this, SLOT(changedAccountList())); + connect(button_accountUp, SIGNAL(clicked()), + this, SLOT(changedAccountList())); + connect(button_accountDown, SIGNAL(clicked()), + this, SLOT(changedAccountList())); + connect(button_accountAdd, SIGNAL(clicked()), + this, SLOT(changedAccountList())); + connect(button_accountRemove, SIGNAL(clicked()), + this, SLOT(changedAccountList())); + connect(edit_tls_private_key_password, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(spinbox_tls_listener, SIGNAL(editingFinished()), + this, SLOT(changedAccountList())); + connect(file_tls_authority, SIGNAL(textChanged(const QString &)), + this, SLOT(changedAccountList())); + connect(file_tls_endpoint, SIGNAL(textChanged(const QString &)), + this, SLOT(changedAccountList())); + connect(file_tls_private_key, SIGNAL(textChanged(const QString &)), + this, SLOT(changedAccountList())); + connect(combo_tls_method, SIGNAL(currentIndexChanged(int)), + this, SLOT(changedAccountList())); + connect(edit_tls_cipher, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(edit_tls_outgoing, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + connect(spinbox_tls_timeout_sec, SIGNAL(editingFinished()), + this, SLOT(changedAccountList())); + connect(spinbox_tls_timeout_msec, SIGNAL(editingFinished()), + this, SLOT(changedAccountList())); + connect(check_tls_incoming, SIGNAL(clicked(bool)), + this, SLOT(changedAccountList())); + connect(check_tls_answer, SIGNAL(clicked(bool)), + this, SLOT(changedAccountList())); + connect(check_tls_requier_cert, SIGNAL(clicked(bool)), + this, SLOT(changedAccountList())); + connect(group_security_tls, SIGNAL(clicked(bool)), + this, SLOT(changedAccountList())); + + connect(&configurationManager, SIGNAL(accountsChanged()), + this, SLOT(updateAccountStates())); + + connect(edit_tls_private_key_password, SIGNAL(textEdited(const QString &)), + this, SLOT(changedAccountList())); + + + connect(this, SIGNAL(updateButtons()), parent, SLOT(updateButtons())); + + + connect(keditlistbox_codec->listView(), SIGNAL(clicked(QModelIndex)), + this, SLOT(codecClicked(QModelIndex))); + + connect(keditlistbox_codec->addButton(), SIGNAL(clicked()), + this, SLOT(addCodec())); + + connect(keditlistbox_codec, SIGNAL(changed()), + this, SLOT(codecChanged())); + + connect(combo_security_STRP, SIGNAL(currentIndexChanged(int)), + this, SLOT(updateCombo(int))); + + connect(button_add_credential, SIGNAL(clicked()), + this, SLOT(addCredential())); + + connect(button_remove_credential, SIGNAL(clicked()), + this, SLOT(removeCredential())); + + connect(list_credential, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), + this,SLOT( selectCredential(QListWidgetItem*, QListWidgetItem*))); + } void DlgAccounts::saveAccountList() { - qDebug() << "saveAccountList"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - disconnectAccountsChangedSignal(); - //save the account being edited - if(listWidget_accountList->currentItem()) - saveAccount(listWidget_accountList->currentItem()); - QStringList accountIds= QStringList(configurationManager.getAccountList().value()); - //create or update each account from accountList - for (int i = 0; i < accountList->size(); i++){ - Account * current = (*accountList)[i]; - QString currentId; - //if the account has no instanciated id, it has just been created in the client - if(current->isNew()) - { - MapStringString details = current->getAccountDetails(); - currentId = configurationManager.addAccount(details); - current->setAccountId(currentId); - } - //if the account has an instanciated id but it's not in configurationManager - else{ - if(! accountIds.contains(current->getAccountId())) - { - qDebug() << "The account with id " << current->getAccountId() << " doesn't exist. It might have been removed by another SFLphone client."; - currentId = QString(); - } - else - { - configurationManager.setAccountDetails(current->getAccountId(), current->getAccountDetails()); - currentId = QString(current->getAccountId()); - } - } - qDebug() << currentId << " : " << current->isChecked(); - } - //remove accounts that are in the configurationManager but not in the client - for (int i = 0; i < accountIds.size(); i++) - { - if(! accountList->getAccountById(accountIds[i])) - { - qDebug() << "remove account " << accountIds[i]; - configurationManager.removeAccount(accountIds[i]); - } - } - configurationManager.setAccountsOrder(accountList->getOrderedList()); - connectAccountsChangedSignal(); + qDebug() << "saveAccountList"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + disconnectAccountsChangedSignal(); + + //save the account being edited + if(listWidget_accountList->currentItem()) { + saveAccount(listWidget_accountList->currentItem()); + } + QStringList accountIds= QStringList(configurationManager.getAccountList().value()); + + //create or update each account from accountList + for (int i = 0; i < accountList->size(); i++) { + Account * current = (*accountList)[i]; + QString currentId; + //if the account has no instanciated id, it has just been created in the client + if(current->isNew()) { + MapStringString details = current->getAccountDetails(); + currentId = configurationManager.addAccount(details); + current->setAccountId(currentId); + } + //if the account has an instanciated id but it's not in configurationManager + else { + if(! accountIds.contains(current->getAccountId())) { + qDebug() << "The account with id " << current->getAccountId() << " doesn't exist. It might have been removed by another SFLphone client."; + currentId = QString(); + } + else { + configurationManager.setAccountDetails(current->getAccountId(), current->getAccountDetails()); + currentId = QString(current->getAccountId()); + } + } + qDebug() << currentId << " : " << current->isChecked(); + } + //remove accounts that are in the configurationManager but not in the client + for (int i = 0; i < accountIds.size(); i++) { + if(! accountList->getAccountById(accountIds[i])) { + qDebug() << "remove account " << accountIds[i]; + configurationManager.removeAccount(accountIds[i]); + } + } + configurationManager.setAccountsOrder(accountList->getOrderedList()); + connectAccountsChangedSignal(); } void DlgAccounts::connectAccountsChangedSignal() { - qDebug() << "connectAccountsChangedSignal"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - connect(&configurationManager, SIGNAL(accountsChanged()), - this, SLOT(updateAccountStates())); + qDebug() << "connectAccountsChangedSignal"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + connect(&configurationManager, SIGNAL(accountsChanged()), + this, SLOT(updateAccountStates())); } void DlgAccounts::disconnectAccountsChangedSignal() { - qDebug() << "disconnectAccountsChangedSignal"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - disconnect(&configurationManager, SIGNAL(accountsChanged()), - this, SLOT(updateAccountStates())); + qDebug() << "disconnectAccountsChangedSignal"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + disconnect(&configurationManager, SIGNAL(accountsChanged()), + this, SLOT(updateAccountStates())); } void DlgAccounts::saveAccount(QListWidgetItem * item) { - if(! item) { qDebug() << "Attempting to save details of an account from a NULL item"; return; } - - Account * account = accountList->getAccountByItem(item); - if(! account) { qDebug() << "Attempting to save details of an unexisting account : " << item->text(); return; } - - account->setAccountDetail(ACCOUNT_ALIAS, edit1_alias->text()); - QString protocolsTab[] = ACCOUNT_TYPES_TAB; - account->setAccountDetail(ACCOUNT_TYPE, protocolsTab[edit2_protocol->currentIndex()]); - account->setAccountDetail(ACCOUNT_HOSTNAME, edit3_server->text()); - account->setAccountDetail(ACCOUNT_USERNAME, edit4_user->text()); - account->setAccountDetail(ACCOUNT_PASSWORD, edit5_password->text()); - account->setAccountDetail(ACCOUNT_MAILBOX, edit6_mailbox->text()); - account->setAccountDetail(ACCOUNT_RESOLVE_ONCE, checkBox_conformRFC->isChecked() ? "FALSE" : "TRUE"); - account->setAccountDetail(ACCOUNT_EXPIRE, QString::number(spinbox_regExpire->value())); - account->setAccountDetail(ACCOUNT_ENABLED, account->isChecked() ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); + QString protocolsTab[] = ACCOUNT_TYPES_TAB; + + if(! item) { + qDebug() << "Attempting to save details of an account from a NULL item"; + return; + } + + Account * account = accountList->getAccountByItem(item); + if(! account) { + qDebug() << "Attempting to save details of an unexisting account : " << item->text(); + return; + } + + account->setAccountDetail(ACCOUNT_ALIAS, edit1_alias->text()); + account->setAccountDetail(ACCOUNT_TYPE, protocolsTab[edit2_protocol->currentIndex()]); + account->setAccountDetail(ACCOUNT_HOSTNAME, edit3_server->text()); + account->setAccountDetail(ACCOUNT_USERNAME, edit4_user->text()); + account->setAccountDetail(ACCOUNT_PASSWORD, edit5_password->text()); + account->setAccountDetail(ACCOUNT_MAILBOX, edit6_mailbox->text()); + account->setAccountDetail(ACCOUNT_ENABLED, account->isChecked() ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE); + + //Security + account->setAccountDetail(TLS_PASSWORD,edit_tls_private_key_password->text()); + account->setAccountDetail(TLS_LISTENER_PORT,QString::number(spinbox_tls_listener->value())); + account->setAccountDetail(TLS_CA_LIST_FILE,file_tls_authority->text()); + account->setAccountDetail(TLS_CERTIFICATE_FILE,file_tls_endpoint->text()); + account->setAccountDetail(TLS_PRIVATE_KEY_FILE,file_tls_private_key->text()); + //qDebug() << "\n\n\n\nSET: " << combo_tls_method->currentText() << "\n\n\n"; + account->setAccountDetail(TLS_METHOD,combo_tls_method->currentText()); + account->setAccountDetail(TLS_CIPHERS,edit_tls_cipher->text()); + account->setAccountDetail(TLS_SERVER_NAME,edit_tls_outgoing->text()); + account->setAccountDetail(TLS_NEGOTIATION_TIMEOUT_SEC,QString::number(spinbox_tls_timeout_sec->value())); + account->setAccountDetail(TLS_NEGOTIATION_TIMEOUT_MSEC,QString::number(spinbox_tls_timeout_msec->value())); + account->setAccountDetail(TLS_VERIFY_SERVER,check_tls_incoming->isChecked()?"true":"false"); + account->setAccountDetail(TLS_VERIFY_CLIENT,check_tls_answer->isChecked()?"true":"false"); + account->setAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE,check_tls_requier_cert->isChecked()?"true":"false"); + account->setAccountDetail(TLS_ENABLE,group_security_tls->isChecked()?"true":"false"); + qDebug() << "ZRTP: " << combo_security_STRP->currentIndex(); + account->setAccountDetail(TLS_METHOD, QString::number(combo_security_STRP->currentIndex())); + + account->setAccountDetail(ACCOUNT_DISPLAY_SAS_ONCE, checkbox_ZRTP_Ask_user->isChecked()?"true":"false"); + account->setAccountDetail(ACCOUNT_SRTP_RTP_FALLBACK, checkbox_SDES_fallback_rtp->isChecked()?"true":"false"); + account->setAccountDetail(ACCOUNT_ZRTP_DISPLAY_SAS, checkbox_ZRTP_display_SAS->isChecked()?"true":"false"); + account->setAccountDetail(ACCOUNT_ZRTP_NOT_SUPP_WARNING, checkbox_ZRTP_warn_supported->isChecked()?"true":"false"); + account->setAccountDetail(ACCOUNT_ZRTP_HELLO_HASH, checkbox_ZTRP_send_hello->isChecked()?"true":"false"); + + account->setAccountDetail(ACCOUNT_SIP_STUN_ENABLED, checkbox_stun->isChecked()?"true":"false"); + account->setAccountDetail(ACCOUNT_SIP_STUN_SERVER, line_stun->text()); + + account->setAccountDetail(PUBLISHED_SAMEAS_LOCAL, radioButton_pa_same_as_local->isChecked()?"true":"false"); + //account->setAccountDetail(PUBLISHED_PORT, spinBox_pa_published_port->value()); //TODO fix + account->setAccountDetail(PUBLISHED_ADDRESS, lineEdit_pa_published_address ->text()); + + account->setAccountDetail(LOCAL_PORT,QString::number(spinBox_pa_published_port->value())); + account->setAccountDetail(LOCAL_INTERFACE,comboBox_ni_local_address->currentText()); + + QStringList _codecList; + foreach (QString aCodec, keditlistbox_codec->items()) { + foreach (StringHash _aCodec, codecList) { + if (_aCodec["alias"] == aCodec) { + _codecList << _aCodec["id"]; + } + } + } + + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + configurationManager.setActiveCodecList(_codecList, account->getAccountDetail(ACCOUNT_ID)); + qDebug() << "Account codec have been saved" << _codecList << account->getAccountDetail(ACCOUNT_ID); + + saveCredential(account->getAccountDetail(ACCOUNT_ID)); } void DlgAccounts::loadAccount(QListWidgetItem * item) { - if(! item ) { qDebug() << "Attempting to load details of an account from a NULL item"; return; } - - Account * account = accountList->getAccountByItem(item); - if(! account ) { qDebug() << "Attempting to load details of an unexisting account"; return; } - - edit1_alias->setText( account->getAccountDetail(ACCOUNT_ALIAS)); - - QString protocolsTab[] = ACCOUNT_TYPES_TAB; - QList<QString> * protocolsList = new QList<QString>(); - for(int i = 0 ; i < (int) (sizeof(protocolsTab) / sizeof(QString)) ; i++) - { - protocolsList->append(protocolsTab[i]); - } - QString accountName = account->getAccountDetail(ACCOUNT_TYPE); - int protocolIndex = protocolsList->indexOf(accountName); - delete protocolsList; - - edit2_protocol->setCurrentIndex( (protocolIndex < 0) ? 0 : protocolIndex ); - edit3_server->setText( account->getAccountDetail(ACCOUNT_HOSTNAME)); - edit4_user->setText( account->getAccountDetail(ACCOUNT_USERNAME)); - edit5_password->setText( account->getAccountDetail(ACCOUNT_PASSWORD)); - edit6_mailbox->setText( account->getAccountDetail(ACCOUNT_MAILBOX)); - checkBox_conformRFC->setChecked( account->getAccountDetail(ACCOUNT_RESOLVE_ONCE) != "TRUE" ); - bool ok; - int val = account->getAccountDetail(ACCOUNT_EXPIRE).toInt(&ok); - spinbox_regExpire->setValue(ok ? val : ACCOUNT_EXPIRE_DEFAULT); - updateStatusLabel(account); - frame2_editAccounts->setEnabled(true); + if(! item ) { + qDebug() << "Attempting to load details of an account from a NULL item"; + return; + } + + Account * account = accountList->getAccountByItem(item); + if(! account ) { + qDebug() << "Attempting to load details of an unexisting account"; + return; + } + + edit1_alias->setText( account->getAccountDetail(ACCOUNT_ALIAS)); + + QString protocolsTab[] = ACCOUNT_TYPES_TAB; + QList<QString> * protocolsList = new QList<QString>(); + for(int i = 0 ; i < (int) (sizeof(protocolsTab) / sizeof(QString)) ; i++) { + protocolsList->append(protocolsTab[i]); + } + + QString accountName = account->getAccountDetail(ACCOUNT_TYPE); + int protocolIndex = protocolsList->indexOf(accountName); + delete protocolsList; + + edit2_protocol->setCurrentIndex( (protocolIndex < 0) ? 0 : protocolIndex ); + edit3_server->setText( account->getAccountDetail(ACCOUNT_HOSTNAME)); + edit4_user->setText( account->getAccountDetail(ACCOUNT_USERNAME)); + edit5_password->setText( account->getAccountDetail(ACCOUNT_PASSWORD)); + edit6_mailbox->setText( account->getAccountDetail(ACCOUNT_MAILBOX)); + checkBox_conformRFC->setChecked( account->getAccountDetail(ACCOUNT_RESOLVE_ONCE) != "TRUE" ); + bool ok; + int val = account->getAccountDetail(ACCOUNT_EXPIRE).toInt(&ok); + spinbox_regExpire->setValue(ok ? val : ACCOUNT_EXPIRE_DEFAULT); + + //Security + edit_tls_private_key_password->setText( account->getAccountDetail(TLS_PASSWORD )); + spinbox_tls_listener->setValue( account->getAccountDetail(TLS_LISTENER_PORT ).toInt()); + file_tls_authority->setText( account->getAccountDetail(TLS_CA_LIST_FILE )); + file_tls_endpoint->setText( account->getAccountDetail(TLS_CERTIFICATE_FILE )); + file_tls_private_key->setText( account->getAccountDetail(TLS_PRIVATE_KEY_FILE )); + //qDebug() << "\n\n\n\nTHIS: " << account->getAccountDetail(TLS_METHOD ) << "\n\n\n"; + combo_tls_method->setCurrentIndex( combo_tls_method->findText(account->getAccountDetail(TLS_METHOD ))); + edit_tls_cipher->setText( account->getAccountDetail(TLS_CIPHERS )); + edit_tls_outgoing->setText( account->getAccountDetail(TLS_SERVER_NAME )); + spinbox_tls_timeout_sec->setValue( account->getAccountDetail(TLS_NEGOTIATION_TIMEOUT_SEC ).toInt()); + spinbox_tls_timeout_msec->setValue( account->getAccountDetail(TLS_NEGOTIATION_TIMEOUT_MSEC ).toInt()); + check_tls_incoming->setChecked( (account->getAccountDetail(TLS_VERIFY_SERVER ) == "true")?1:0); + check_tls_answer->setChecked( (account->getAccountDetail(TLS_VERIFY_CLIENT ) == "true")?1:0); + check_tls_requier_cert->setChecked( (account->getAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE ) == "true")?1:0); + + group_security_tls->setChecked( (account->getAccountDetail(TLS_ENABLE ) == "true")?1:0); + + combo_security_STRP->setCurrentIndex(account->getAccountDetail(TLS_METHOD ).toInt()); + + + switch (account->getAccountDetail(TLS_METHOD ).toInt()) { + case 0: //KEY_EXCHANGE_NONE + checkbox_SDES_fallback_rtp->setVisible(false); + checkbox_ZRTP_Ask_user->setVisible(false); + checkbox_ZRTP_display_SAS->setVisible(false); + checkbox_ZRTP_warn_supported->setVisible(false); + checkbox_ZTRP_send_hello->setVisible(false); + break; + case 1: //ZRTP + checkbox_SDES_fallback_rtp->setVisible(false); + checkbox_ZRTP_Ask_user->setVisible(true); + checkbox_ZRTP_display_SAS->setVisible(true); + checkbox_ZRTP_warn_supported->setVisible(true); + checkbox_ZTRP_send_hello->setVisible(true); + break; + case 2: //SDES + checkbox_SDES_fallback_rtp->setVisible(true); + checkbox_ZRTP_Ask_user->setVisible(false); + checkbox_ZRTP_display_SAS->setVisible(false); + checkbox_ZRTP_warn_supported->setVisible(false); + checkbox_ZTRP_send_hello->setVisible(false); + break; + } + + checkbox_ZRTP_Ask_user->setChecked((account->getAccountDetail(ACCOUNT_DISPLAY_SAS_ONCE) == "true")?1:0); + checkbox_SDES_fallback_rtp->setChecked((account->getAccountDetail(ACCOUNT_SRTP_RTP_FALLBACK) == "true")?1:0); + checkbox_ZRTP_display_SAS->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_DISPLAY_SAS) == "true")?1:0); + checkbox_ZRTP_warn_supported->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_NOT_SUPP_WARNING) == "true")?1:0); + checkbox_ZTRP_send_hello->setChecked((account->getAccountDetail(ACCOUNT_ZRTP_HELLO_HASH) == "true")?1:0); + + checkbox_stun->setChecked((account->getAccountDetail(ACCOUNT_SIP_STUN_ENABLED) == "true")?1:0); + line_stun->setText(account->getAccountDetail(ACCOUNT_SIP_STUN_SERVER)); + + radioButton_pa_same_as_local->setChecked((account->getAccountDetail(PUBLISHED_SAMEAS_LOCAL) == "true")?1:0); + radioButton_pa_custom->setChecked((account->getAccountDetail(PUBLISHED_SAMEAS_LOCAL) == "true")?1:0); + //spinBox_pa_published_port->setValue(account->getAccountDetail(PUBLISHED_PORT)); //TODO fix + lineEdit_pa_published_address->setText(account->getAccountDetail(PUBLISHED_ADDRESS)); + + spinBox_pa_published_port->setValue(account->getAccountDetail(LOCAL_PORT).toInt()); + //comboBox_ni_local_address->setCurentText(account->getAccountDetail(LOCAL_INTERFACE)); //TODO need to load the list first + + keditlistbox_codec->clear(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList activeCodecList = configurationManager.getActiveCodecList(account->getAccountDetail(ACCOUNT_ID)); + foreach (QString aCodec, activeCodecList) { + foreach (StringHash _aCodec, codecList) { + if (_aCodec["id"] == aCodec) + keditlistbox_codec->insertItem(_aCodec["alias"]); + } + } + + + + if(protocolIndex == 0) { // if sip selected + checkbox_stun->setChecked(account->getAccountDetail(ACCOUNT_SIP_STUN_ENABLED) == ACCOUNT_ENABLED_TRUE); + line_stun->setText( account->getAccountDetail(ACCOUNT_SIP_STUN_SERVER) ); + //checkbox_zrtp->setChecked(account->getAccountDetail(ACCOUNT_SRTP_ENABLED) == ACCOUNT_ENABLED_TRUE); + + tab_advanced->setEnabled(true); + line_stun->setEnabled(checkbox_stun->isChecked()); + } + else { + checkbox_stun->setChecked(false); + line_stun->setText( account->getAccountDetail(ACCOUNT_SIP_STUN_SERVER) ); + //checkbox_zrtp->setChecked(false); + + tab_advanced->setEnabled(false); + } + + updateStatusLabel(account); + frame2_editAccounts->setEnabled(true); + + loadCredentails(account->getAccountDetail(ACCOUNT_ID)); } void DlgAccounts::loadAccountList() { - qDebug() << "loadAccountList"; - accountList->updateAccounts(); - //initialize the QListWidget object with the AccountList - listWidget_accountList->clear(); - for (int i = 0; i < accountList->size(); ++i){ - addAccountToAccountList((*accountList)[i]); - } - if (listWidget_accountList->count() > 0 && listWidget_accountList->currentItem() == NULL) - listWidget_accountList->setCurrentRow(0); - else - frame2_editAccounts->setEnabled(false); + qDebug() << "loadAccountList"; + accountList->updateAccounts(); + listWidget_accountList->clear(); + for (int i = 0; i < accountList->size(); ++i) { + addAccountToAccountList((*accountList)[i]); + } + if (listWidget_accountList->count() > 0 && listWidget_accountList->currentItem() == NULL) + listWidget_accountList->setCurrentRow(0); + else + frame2_editAccounts->setEnabled(false); } void DlgAccounts::addAccountToAccountList(Account * account) { - QListWidgetItem * item = account->getItem(); - QWidget * widget = account->getItemWidget(); - connect(widget, SIGNAL(checkStateChanged(bool)), - this, SLOT(changedAccountList())); - listWidget_accountList->addItem(item); - listWidget_accountList->setItemWidget(item, widget); + QListWidgetItem * item = account->getItem(); + QWidget * widget = account->getItemWidget(); + connect(widget, SIGNAL(checkStateChanged(bool)), + this, SLOT(changedAccountList())); + listWidget_accountList->addItem(item); + listWidget_accountList->setItemWidget(item, widget); } void DlgAccounts::changedAccountList() { - qDebug() << "changedAccountList"; - accountListHasChanged = true; - emit updateButtons(); - toolButton_accountsApply->setEnabled(true); + qDebug() << "changedAccountList"; + accountListHasChanged = true; + emit updateButtons(); + //toolButton_accountsApply->setEnabled(true); +//<<<<<<< HEAD + +// int currentIndex = edit2_protocol->currentIndex(); + +// if(currentIndex==0) +// { +// tab_advanced->setEnabled(true); +// line_stun->setEnabled(checkbox_stun->isChecked()); +// } +// else +// { +// tab_advanced->setEnabled(false); +// } +//======= +//>>>>>>> master } void DlgAccounts::on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous ) { - qDebug() << "on_listWidget_accountList_currentItemChanged"; - saveAccount(previous); - loadAccount(current); - updateAccountListCommands(); + qDebug() << "on_listWidget_accountList_currentItemChanged"; + saveAccount(previous); + loadAccount(current); + updateAccountListCommands(); } void DlgAccounts::on_button_accountUp_clicked() { - qDebug() << "on_button_accountUp_clicked"; - int currentRow = listWidget_accountList->currentRow(); - QListWidgetItem * prevItem = listWidget_accountList->takeItem(currentRow); - Account * account = accountList->getAccountByItem(prevItem); - //we need to build a new item to set the itemWidget back - account->initItem(); - QListWidgetItem * item = account->getItem(); - AccountItemWidget * widget = account->getItemWidget(); - accountList->upAccount(currentRow); - listWidget_accountList->insertItem(currentRow - 1 , item); - listWidget_accountList->setItemWidget(item, widget); - listWidget_accountList->setCurrentItem(item); + qDebug() << "on_button_accountUp_clicked"; + int currentRow = listWidget_accountList->currentRow(); + QListWidgetItem * prevItem = listWidget_accountList->takeItem(currentRow); + Account * account = accountList->getAccountByItem(prevItem); + //we need to build a new item to set the itemWidget back + account->initItem(); + QListWidgetItem * item = account->getItem(); + AccountItemWidget * widget = account->getItemWidget(); + accountList->upAccount(currentRow); + listWidget_accountList->insertItem(currentRow - 1 , item); + listWidget_accountList->setItemWidget(item, widget); + listWidget_accountList->setCurrentItem(item); } void DlgAccounts::on_button_accountDown_clicked() { - qDebug() << "on_button_accountDown_clicked"; - int currentRow = listWidget_accountList->currentRow(); - QListWidgetItem * prevItem = listWidget_accountList->takeItem(currentRow); - Account * account = accountList->getAccountByItem(prevItem); - //we need to build a new item to set the itemWidget back - account->initItem(); - QListWidgetItem * item = account->getItem(); - AccountItemWidget * widget = account->getItemWidget(); - accountList->downAccount(currentRow); - listWidget_accountList->insertItem(currentRow + 1 , item); - listWidget_accountList->setItemWidget(item, widget); - listWidget_accountList->setCurrentItem(item); + qDebug() << "on_button_accountDown_clicked"; + int currentRow = listWidget_accountList->currentRow(); + QListWidgetItem * prevItem = listWidget_accountList->takeItem(currentRow); + Account * account = accountList->getAccountByItem(prevItem); + //we need to build a new item to set the itemWidget back + account->initItem(); + QListWidgetItem * item = account->getItem(); + AccountItemWidget * widget = account->getItemWidget(); + accountList->downAccount(currentRow); + listWidget_accountList->insertItem(currentRow + 1 , item); + listWidget_accountList->setItemWidget(item, widget); + listWidget_accountList->setCurrentItem(item); } void DlgAccounts::on_button_accountAdd_clicked() { - qDebug() << "on_button_accountAdd_clicked"; - QString itemName = QInputDialog::getText(this, "New account", "Enter new account's alias"); - itemName = itemName.simplified(); - if (!itemName.isEmpty()) { - Account * account = accountList->addAccount(itemName); - addAccountToAccountList(account); - int r = listWidget_accountList->count() - 1; - listWidget_accountList->setCurrentRow(r); - frame2_editAccounts->setEnabled(true); - } + qDebug() << "on_button_accountAdd_clicked"; + QString itemName = QInputDialog::getText(this, "New account", "Enter new account's alias"); + itemName = itemName.simplified(); + if (!itemName.isEmpty()) { + Account * account = accountList->addAccount(itemName); + addAccountToAccountList(account); + int r = listWidget_accountList->count() - 1; + listWidget_accountList->setCurrentRow(r); + frame2_editAccounts->setEnabled(true); + } } void DlgAccounts::on_button_accountRemove_clicked() { - qDebug() << "on_button_accountRemove_clicked"; - int r = listWidget_accountList->currentRow(); - QListWidgetItem * item = listWidget_accountList->takeItem(r); - accountList->removeAccount(item); - listWidget_accountList->setCurrentRow( (r >= listWidget_accountList->count()) ? r-1 : r ); + qDebug() << "on_button_accountRemove_clicked"; + int r = listWidget_accountList->currentRow(); + QListWidgetItem * item = listWidget_accountList->takeItem(r); + accountList->removeAccount(item); + listWidget_accountList->setCurrentRow( (r >= listWidget_accountList->count()) ? r-1 : r ); } -void DlgAccounts::on_toolButton_accountsApply_clicked() +//<<<<<<< HEAD +/*void DlgAccounts::on_toolButton_accountsApply_clicked() { - qDebug() << "on_toolButton_accountsApply_clicked"; - updateSettings(); - updateWidgets(); -} + qDebug() << "on_toolButton_accountsApply_clicked"; + updateSettings(); + updateWidgets(); +}*/ +//======= +// void DlgAccounts::on_toolButton_accountsApply_clicked() //This button have been removed, coded kept for potential reversal +// { +// qDebug() << "on_toolButton_accountsApply_clicked"; +// updateSettings(); +// updateWidgets(); +// } +//>>>>>>> master void DlgAccounts::on_edit1_alias_textChanged(const QString & text) { - qDebug() << "on_edit1_alias_textChanged"; - AccountItemWidget * widget = (AccountItemWidget *) listWidget_accountList->itemWidget(listWidget_accountList->currentItem()); - widget->setAccountText(text); + qDebug() << "on_edit1_alias_textChanged"; + AccountItemWidget * widget = (AccountItemWidget *) listWidget_accountList->itemWidget(listWidget_accountList->currentItem()); + widget->setAccountText(text); } void DlgAccounts::updateAccountListCommands() { - qDebug() << "updateAccountListCommands"; - bool buttonsEnabled[4] = {true,true,true,true}; - if(! listWidget_accountList->currentItem()) - { - buttonsEnabled[0] = false; - buttonsEnabled[1] = false; - buttonsEnabled[3] = false; - } - else if(listWidget_accountList->currentRow() == 0) - { - buttonsEnabled[0] = false; - } - if(listWidget_accountList->currentRow() == listWidget_accountList->count() - 1) - { - buttonsEnabled[1] = false; - } - button_accountUp->setEnabled(buttonsEnabled[0]); - button_accountDown->setEnabled(buttonsEnabled[1]); - button_accountAdd->setEnabled(buttonsEnabled[2]); - button_accountRemove->setEnabled(buttonsEnabled[3]); + qDebug() << "updateAccountListCommands"; + bool buttonsEnabled[4] = {true,true,true,true}; + if(! listWidget_accountList->currentItem()) { + buttonsEnabled[0] = false; + buttonsEnabled[1] = false; + buttonsEnabled[3] = false; + } + else if(listWidget_accountList->currentRow() == 0) { + buttonsEnabled[0] = false; + } + if(listWidget_accountList->currentRow() == listWidget_accountList->count() - 1) { + buttonsEnabled[1] = false; + } + + button_accountUp->setEnabled(buttonsEnabled[0]); + button_accountDown->setEnabled(buttonsEnabled[1]); + button_accountAdd->setEnabled(buttonsEnabled[2]); + button_accountRemove->setEnabled(buttonsEnabled[3]); } void DlgAccounts::updateAccountStates() { - qDebug() << "updateAccountStates"; - for (int i = 0; i < accountList->size(); i++) - { - Account * current = accountList->getAccountAt(i); - current->updateState(); - } - updateStatusLabel(listWidget_accountList->currentItem()); + qDebug() << "updateAccountStates"; + for (int i = 0; i < accountList->size(); i++) { + Account * current = accountList->getAccountAt(i); + current->updateState(); + } + updateStatusLabel(listWidget_accountList->currentItem()); } void DlgAccounts::updateStatusLabel(QListWidgetItem * item) { - if(! item ) { return; } - Account * account = accountList->getAccountByItem(item); - updateStatusLabel(account); + if(! item ) { + return; + } + Account * account = accountList->getAccountByItem(item); + updateStatusLabel(account); } void DlgAccounts::updateStatusLabel(Account * account) { - if(! account ) { return; } - QString status = account->getAccountDetail(ACCOUNT_STATUS); - edit7_state->setText( "<FONT COLOR=\"" + account->getStateColorName() + "\">" + status + "</FONT>" ); + if(! account ) { + return; + } + QString status = account->getAccountDetail(ACCOUNT_STATUS); + edit7_state->setText( "<FONT COLOR=\"" + account->getStateColorName() + "\">" + status + "</FONT>" ); } bool DlgAccounts::hasChanged() { - bool res = accountListHasChanged; - qDebug() << "DlgAccounts::hasChanged " << res; - return res; + bool res = accountListHasChanged; + qDebug() << "DlgAccounts::hasChanged " << res; + return res; } void DlgAccounts::updateSettings() { - qDebug() << "DlgAccounts::updateSettings"; - if(accountListHasChanged) - { - saveAccountList(); - toolButton_accountsApply->setEnabled(false); - accountListHasChanged = false; - } + qDebug() << "DlgAccounts::updateSettings"; + if(accountListHasChanged) { + saveAccountList(); + //toolButton_accountsApply->setEnabled(false); + accountListHasChanged = false; + } } void DlgAccounts::updateWidgets() { - qDebug() << "DlgAccounts::updateWidgets"; - loadAccountList(); - toolButton_accountsApply->setEnabled(false); - accountListHasChanged = false; + qDebug() << "DlgAccounts::updateWidgets"; + loadAccountList(); + //toolButton_accountsApply->setEnabled(false); + accountListHasChanged = false; +} + +void DlgAccounts::loadCodecList() +{ + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QStringList codecIdList = configurationManager.getCodecList(); + QStringList tmpNameList; + + foreach (QString aCodec, codecIdList) { + QStringList codec = configurationManager.getCodecDetails(aCodec.toInt()); + QHash<QString, QString> _codec; + _codec["name"] = codec[0]; + _codec["frequency"] = codec[1]; + _codec["bitrate"] = codec[2]; + _codec["bandwidth"] = codec[3]; + _codec["id"] = aCodec; + + tmpNameList << _codec["name"]; + + codecList.push_back(_codec); + } + + //Generate a relative alias for each codec + for (int i =0; i < codecList.size();i++) { + if (tmpNameList.indexOf(codecList[i]["name"]) == tmpNameList.lastIndexOf(codecList[i]["name"])) { + codecList[i]["alias"] = codecList[i]["name"]; + } + else { + codecList[i]["alias"] = codecList[i]["name"] + " (" + codecList[i]["frequency"] + ")"; + } + } +} + + +void DlgAccounts::codecClicked(const QModelIndex & model) +{ + foreach (StringHash aCodec, codecList) { + if (aCodec["alias"] == keditlistbox_codec->currentText()) { + label_bandwidth_value->setText(aCodec["bandwidth"]); + label_bitrate_value->setText(aCodec["bitrate"]); + label_frequency_value->setText(aCodec["frequency"]); + } + } + if (keditlistbox_codec->items().size() == codecList.size()) + keditlistbox_codec->addButton()->setEnabled(false); + else + keditlistbox_codec->addButton()->setEnabled(true); +} + +void DlgAccounts::addCodec(QString name) +{ + if (name.isEmpty()) { + Private_AddCodecDialog* aDialog = new Private_AddCodecDialog(codecList, keditlistbox_codec->items(), this); + aDialog->show(); + connect(aDialog, SIGNAL(addCodec(QString)), this, SLOT(addCodec(QString))); + } + else { + keditlistbox_codec->insertItem(name); + accountListHasChanged = true; + emit updateButtons(); + } +} + +void DlgAccounts::codecChanged() +{ + if (keditlistbox_codec->items().size() == codecList.size()) + keditlistbox_codec->addButton()->setEnabled(false); + else + keditlistbox_codec->addButton()->setEnabled(true); + + accountListHasChanged = true; + emit updateButtons(); +} + +void DlgAccounts::updateCombo(int value) { + + switch (combo_security_STRP->currentIndex()) { + case 0: //KEY_EXCHANGE_NONE + checkbox_SDES_fallback_rtp->setVisible(false); + checkbox_ZRTP_Ask_user->setVisible(false); + checkbox_ZRTP_display_SAS->setVisible(false); + checkbox_ZRTP_warn_supported->setVisible(false); + checkbox_ZTRP_send_hello->setVisible(false); + break; + case 1: //ZRTP + checkbox_SDES_fallback_rtp->setVisible(false); + checkbox_ZRTP_Ask_user->setVisible(true); + checkbox_ZRTP_display_SAS->setVisible(true); + checkbox_ZRTP_warn_supported->setVisible(true); + checkbox_ZTRP_send_hello->setVisible(true); + break; + case 2: //SDES + checkbox_SDES_fallback_rtp->setVisible(true); + checkbox_ZRTP_Ask_user->setVisible(false); + checkbox_ZRTP_display_SAS->setVisible(false); + checkbox_ZRTP_warn_supported->setVisible(false); + checkbox_ZTRP_send_hello->setVisible(false); + break; + } +} + +void DlgAccounts::loadCredentails(QString accountId) { + credentialInfo.clear(); + list_credential->clear(); + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + int credentialCount = configurationManager.getNumberOfCredential(accountId); + for (int i=0; i < credentialCount; i++) { + QMap<QString, QString> credentialData = configurationManager.getCredential(accountId,i); + qDebug() << "Credential: " << credentialData; + QListWidgetItem* newItem = new QListWidgetItem(); + newItem->setText(credentialData["username"]); + credentialInfo[newItem] = {newItem, credentialData["username"], credentialData["password"],credentialData["realm"]}; + list_credential->addItem(newItem); + } +} + +void DlgAccounts::saveCredential(QString accountId) { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + configurationManager.setNumberOfCredential(accountId, list_credential->count()); + + for (int i=0; i < list_credential->count();i++) { + QListWidgetItem* currentItem = list_credential->item(i); + MapStringString credentialData; + credentialData["username"] = credentialInfo[currentItem].name; + credentialData["password"] = credentialInfo[currentItem].password; + credentialData["realm"] = credentialInfo[currentItem].realm; + configurationManager.setCredential(accountId, i,credentialData); + } +} + +void DlgAccounts::addCredential() { + QListWidgetItem* newItem = new QListWidgetItem(); + newItem->setText("New credential"); + credentialInfo[newItem] = {newItem, "New credential", "",""}; + + selectCredential(newItem,list_credential->currentItem()); + list_credential->addItem(newItem); + list_credential->setCurrentItem(newItem); +} + +void DlgAccounts::selectCredential(QListWidgetItem* item, QListWidgetItem* previous) { + if (previous) { + credentialInfo[previous].realm = edit_credential_realm->text(); + credentialInfo[previous].name = edit_credential_auth->text(); + credentialInfo[previous].password = edit_credential_password->text(); + previous->setText(edit_credential_auth->text()); + } + list_credential->setCurrentItem(item); + edit_credential_realm->setText(credentialInfo[item].realm); + edit_credential_auth->setText(credentialInfo[item].name); + edit_credential_password->setText(credentialInfo[item].password); + edit_credential_realm->setEnabled(true); + edit_credential_auth->setEnabled(true); + edit_credential_password->setEnabled(true); } +void DlgAccounts::removeCredential() { + qDebug() << "I am here"; + list_credential->takeItem(list_credential->currentRow()); +} \ No newline at end of file diff --git a/sflphone-client-kde/src/conf/dlgaccounts.h b/sflphone-client-kde/src/conf/dlgaccounts.h index 32743689175be525b94fb91aab1bd98eb694a9db..5d836296925423d5bf8333f5b94d509164d81f43 100644 --- a/sflphone-client-kde/src/conf/dlgaccounts.h +++ b/sflphone-client-kde/src/conf/dlgaccounts.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -23,71 +23,137 @@ #include <QWidget> #include <kconfigdialog.h> +#include <QTableWidget> +#include <QListWidgetItem> #include "ui_dlgaccountsbase.h" #include "Account.h" #include "AccountList.h" +#include <QDebug> + +typedef QHash<QString, QString> StringHash; //Needed to fix a Qt foreach macro argument parsing bug + +struct CredentialData { + QListWidgetItem* pointer; + QString name; + QString password; + QString realm; +}; + +typedef QHash<QListWidgetItem*, CredentialData> QListWidgetItemHash; //Needed to fix a Qt foreach macro argument parsing bug + +class Private_AddCodecDialog : public KDialog { + Q_OBJECT + public: + Private_AddCodecDialog(QList< StringHash > itemList, QStringList currentItems ,QWidget* parent = 0) : KDialog(parent) { + codecTable = new QTableWidget(this); + codecTable->verticalHeader()->setVisible(false); + codecTable->setColumnCount(5); + codecTable->setSelectionBehavior(QAbstractItemView::SelectRows); + int i =0; + foreach (StringHash aCodec, itemList) { + if ( currentItems.indexOf(aCodec["alias"]) == -1) { + codecTable->setRowCount(i+1); + QTableWidgetItem* cName = new QTableWidgetItem(aCodec["name"]); + codecTable->setItem(i,0,cName); + QTableWidgetItem* cBitrate = new QTableWidgetItem(aCodec["bitrate"]); + codecTable->setItem(i,1,cBitrate); + QTableWidgetItem* cFrequency = new QTableWidgetItem(aCodec["frequency"]); + codecTable->setItem(i,2,cFrequency); + QTableWidgetItem* cBandwidth = new QTableWidgetItem(aCodec["bandwidth"]); + codecTable->setItem(i,3,cBandwidth); + QTableWidgetItem* cAlias = new QTableWidgetItem(aCodec["alias"]); + codecTable->setItem(i,4,cAlias); + i++; + } + } + setMainWidget(codecTable); + resize(400,300); + + connect(this, SIGNAL(okClicked()), this, SLOT(emitNewCodec())); + } + private: + QTableWidget* codecTable; + private slots: + void emitNewCodec() { + emit addCodec(codecTable->item(codecTable->currentRow(),4)->text()); + } + signals: + void addCodec(QString alias); +}; /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> - - \note see ticket #1309 for advices about how to improve this class. + @author Jérémy Quentin <jeremy.quentin@gmail.com> + + \note see ticket #1309 for advices about how to improve this class. */ class DlgAccounts : public QWidget, public Ui_DlgAccountsBase { Q_OBJECT public: - DlgAccounts(KConfigDialog *parent = 0); + DlgAccounts(KConfigDialog *parent = 0); - void saveAccount(QListWidgetItem * item); - - /** - * Fills the settings form in the right side with the - * settings of @p item. - * - * \note When the user creates a new account, its accountDetails - * map is empty, so the form is filled with blank strings, - * zeros... And when the user clicks \e Apply , these settings are - * saved just after the account is created. So be careful the form - * is filled with the right default settings if blank (as 600 for - * registration expire). - * - * @param item the item with which to fill the settings form - */ - void loadAccount(QListWidgetItem * item); - + void saveAccount(QListWidgetItem * item); + + /** + * Fills the settings form in the right side with the + * settings of @p item. + * + * \note When the user creates a new account, its accountDetails + * map is empty, so the form is filled with blank strings, + * zeros... And when the user clicks \e Apply , these settings are + * saved just after the account is created. So be careful the form + * is filled with the right default settings if blank (as 600 for + * registration expire). + * + * @param item the item with which to fill the settings form + */ + void loadAccount(QListWidgetItem * item); + private: - AccountList * accountList; - bool accountListHasChanged; + AccountList * accountList; + QList< StringHash > codecList; + QListWidgetItemHash credentialInfo; + bool accountListHasChanged; + void loadCodecList(); public slots: - void saveAccountList(); - void loadAccountList(); - - bool hasChanged(); - void updateSettings(); - void updateWidgets(); - + void saveAccountList(); + void loadAccountList(); + + bool hasChanged(); + void updateSettings(); + void updateWidgets(); + private slots: - void changedAccountList(); - void connectAccountsChangedSignal(); - void disconnectAccountsChangedSignal(); - void on_button_accountUp_clicked(); - void on_button_accountDown_clicked(); - void on_button_accountAdd_clicked(); - void on_button_accountRemove_clicked(); - void on_edit1_alias_textChanged(const QString & text); - void on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous ); - void on_toolButton_accountsApply_clicked(); - void updateAccountStates(); - void addAccountToAccountList(Account * account); - void updateAccountListCommands(); - void updateStatusLabel(QListWidgetItem * item); - void updateStatusLabel(Account * account); - - + void changedAccountList(); + void connectAccountsChangedSignal(); + void disconnectAccountsChangedSignal(); + void on_button_accountUp_clicked(); + void on_button_accountDown_clicked(); + void on_button_accountAdd_clicked(); + void on_button_accountRemove_clicked(); + void on_edit1_alias_textChanged(const QString & text); + void on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous ); +// //void on_toolButton_accountsApply_clicked(); //Disabled for future removal + void updateAccountStates(); + void addAccountToAccountList(Account * account); + void updateAccountListCommands(); + void updateStatusLabel(QListWidgetItem * item); + void updateStatusLabel(Account * account); + void codecClicked(const QModelIndex & model); + void addCodec(QString name = ""); + void codecChanged(); + void updateCombo(int value); + void addCredential(); + void removeCredential(); + void selectCredential(QListWidgetItem* item, QListWidgetItem* previous); + void loadCredentails(QString accountId); + void saveCredential(QString accountId); + + signals: - void updateButtons(); + void updateButtons(); }; diff --git a/sflphone-client-kde/src/conf/dlgaccountsbase.ui b/sflphone-client-kde/src/conf/dlgaccountsbase.ui index eafe181482ff650951b73e6f5f9ab1781cf4c1b8..7da7aa130c448d7864b1c62a4784e53d15ffaf70 100644 --- a/sflphone-client-kde/src/conf/dlgaccountsbase.ui +++ b/sflphone-client-kde/src/conf/dlgaccountsbase.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>603</width> - <height>455</height> + <width>858</width> + <height>550</height> </rect> </property> <property name="windowTitle"> @@ -29,8 +29,8 @@ <item> <widget class="QFrame" name="frame1_accountList"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>1</horstretch> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> @@ -46,6 +46,12 @@ <height>16777215</height> </size> </property> + <property name="sizeIncrement"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> <property name="frameShape"> <enum>QFrame::StyledPanel</enum> </property> @@ -212,16 +218,6 @@ </property> </spacer> </item> - <item> - <widget class="QToolButton" name="toolButton_accountsApply"> - <property name="enabled"> - <bool>true</bool> - </property> - <property name="text"> - <string>Apply</string> - </property> - </widget> - </item> </layout> </widget> </item> @@ -232,7 +228,7 @@ <widget class="QTabWidget" name="frame2_editAccounts"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>1</horstretch> + <horstretch>3</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> @@ -389,93 +385,774 @@ <attribute name="title"> <string>Advanced</string> </attribute> - <layout class="QFormLayout" name="formLayout_2"> - <property name="fieldGrowthPolicy"> - <enum>QFormLayout::ExpandingFieldsGrow</enum> - </property> - <item row="0" column="0"> - <widget class="QLabel" name="label_regExpire"> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Resgistration</string> + </property> + <layout class="QGridLayout" name="gridLayout_8"> + <item row="0" column="0"> + <widget class="QLabel" name="label_regExpire"> + <property name="text"> + <string>Registration expire</string> + </property> + <property name="buddy"> + <cstring>spinbox_regExpire</cstring> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="KIntSpinBox" name="spinbox_regExpire"> + <property name="maximum"> + <number>16777215</number> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QCheckBox" name="checkBox_conformRFC"> + <property name="text"> + <string>Conform to RFC 3263</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_7"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Network Interface</string> + </property> + <layout class="QGridLayout" name="gridLayout_9"> + <item row="0" column="0"> + <widget class="QLabel" name="label_ni_local_address"> + <property name="text"> + <string>Local address</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="comboBox_ni_local_address"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_ni_local_port"> + <property name="text"> + <string>Local port</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="spinBox_ni_local_port"/> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Published address</string> + </property> + <layout class="QGridLayout" name="gridLayout_10"> + <item row="0" column="0" colspan="3"> + <widget class="QRadioButton" name="radioButton_pa_same_as_local"> + <property name="text"> + <string>Same as local parameters</string> + </property> + </widget> + </item> + <item row="1" column="0" rowspan="2" colspan="3"> + <widget class="QRadioButton" name="radioButton_pa_custom"> + <property name="text"> + <string>Set published address and port</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_published_address"> + <property name="text"> + <string>Published address</string> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_pa_published_port"> + <property name="text"> + <string>Published port</string> + </property> + </widget> + </item> + <item row="4" column="1" colspan="2"> + <widget class="QSpinBox" name="spinBox_pa_published_port"/> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="lineEdit_pa_published_address"/> + </item> + <item row="3" column="3"> + <spacer name="horizontalSpacer_9"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>138</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_stun"> + <attribute name="title"> + <string>Stun</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_6"> + <item row="0" column="0" colspan="2"> + <widget class="QLabel" name="label_commonSettings"> <property name="text"> - <string>Registration expire</string> + <string>Stun parameters will be applied on each SIP account created.</string> </property> - <property name="buddy"> - <cstring>spinbox_regExpire</cstring> + <property name="wordWrap"> + <bool>true</bool> </property> </widget> </item> - <item row="0" column="1"> - <widget class="KIntSpinBox" name="spinbox_regExpire"> - <property name="maximum"> - <number>16777215</number> + <item row="2" column="0"> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="checkbox_stun"> + <property name="text"> + <string>Enable Stun</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="KLineEdit" name="line_stun"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="clickMessage"> + <string>choose Stun server (example : stunserver.org)</string> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_codec"> + <attribute name="title"> + <string>Codecs</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_7"> + <item row="0" column="0" colspan="3"> + <widget class="KEditListBox" name="keditlistbox_codec"> + <property name="buttons"> + <set>KEditListBox::All</set> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_frequency"> + <property name="text"> + <string>Frequency: </string> </property> </widget> </item> - <item row="3" column="0" colspan="2"> - <widget class="QCheckBox" name="checkBox_conformRFC"> + <item row="1" column="1"> + <widget class="QLabel" name="label_frequency_value"> + <property name="text"> + <string>-</string> + </property> + </widget> + </item> + <item row="1" column="2" rowspan="2"> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>470</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_bitrate"> <property name="text"> - <string>Conform to RFC 3263</string> + <string>Bitrate:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="label_bitrate_value"> + <property name="text"> + <string>-</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_bandwidth"> + <property name="text"> + <string>Bandwidth: </string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLabel" name="label_bandwidth_value"> + <property name="text"> + <string>-</string> </property> </widget> </item> </layout> </widget> + <widget class="QWidget" name="tab"> + <attribute name="title"> + <string>Credential</string> + </attribute> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0" rowspan="2" colspan="3"> + <widget class="QListWidget" name="list_credential"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + <item row="2" column="0"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>327</width> + <height>23</height> + </size> + </property> + </spacer> + </item> + <item row="3" column="0" colspan="3"> + <widget class="QGroupBox" name="group_credential"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Details</string> + </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label_credential_realm"> + <property name="text"> + <string>Realm</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="labe_credential_auth"> + <property name="text"> + <string>Auth. name</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_credential_password"> + <property name="text"> + <string>Password</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="KLineEdit" name="edit_credential_realm"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="KLineEdit" name="edit_credential_auth"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="KLineEdit" name="edit_credential_password"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="1"> + <widget class="QToolButton" name="button_add_credential"> + <property name="text"> + <string>Add</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QToolButton" name="button_remove_credential"> + <property name="text"> + <string>Remove</string> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_2"> + <attribute name="title"> + <string>Security</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QScrollArea" name="scrollArea"> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>536</width> + <height>758</height> + </rect> + </property> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="label_tls_info"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TLS transport can be used along with UDP for those calls that would require secure sip transactions (aka SIPS). You can configure a different TLS transport for each account. However each of them will run on a dedicated port, different one from each other.</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QGroupBox" name="group_security_tls"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Enable TLS</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0"> + <widget class="QLabel" name="label_tls_listener"> + <property name="text"> + <string>Global TLS listener*</string> + </property> + </widget> + </item> + <item row="0" column="1" colspan="3"> + <widget class="KIntSpinBox" name="spinbox_tls_listener"> + <property name="maximum"> + <number>65535</number> + </property> + </widget> + </item> + <item row="0" column="4" colspan="5"> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_tls_authority"> + <property name="text"> + <string>Authority certificate list</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="8"> + <widget class="KUrlRequester" name="file_tls_authority"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_tls_endpoint"> + <property name="text"> + <string>Public endpoint certificate</string> + </property> + </widget> + </item> + <item row="2" column="1" colspan="8"> + <widget class="KUrlRequester" name="file_tls_endpoint"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_tls_private_key"> + <property name="text"> + <string>Private key</string> + </property> + </widget> + </item> + <item row="3" column="1" colspan="8"> + <widget class="KUrlRequester" name="file_tls_private_key"/> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_tls_private_key_password"> + <property name="text"> + <string>Private key password</string> + </property> + </widget> + </item> + <item row="4" column="1" colspan="8"> + <widget class="KLineEdit" name="edit_tls_private_key_password"/> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_tls_method"> + <property name="text"> + <string>TLS protocol method</string> + </property> + </widget> + </item> + <item row="5" column="1" colspan="3"> + <widget class="QComboBox" name="combo_tls_method"> + <item> + <property name="text"> + <string>Default</string> + </property> + </item> + <item> + <property name="text"> + <string>TLSv1</string> + </property> + </item> + <item> + <property name="text"> + <string>SSLv2</string> + </property> + </item> + <item> + <property name="text"> + <string>SSLv3</string> + </property> + </item> + <item> + <property name="text"> + <string>SSLv23</string> + </property> + </item> + </widget> + </item> + <item row="5" column="4" colspan="5"> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="label_tls_cipher"> + <property name="text"> + <string>TLS cipher list</string> + </property> + </widget> + </item> + <item row="6" column="1" colspan="8"> + <widget class="KLineEdit" name="edit_tls_cipher"/> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="label_tls_outgoing"> + <property name="text"> + <string>Outgoing TLS server name</string> + </property> + </widget> + </item> + <item row="7" column="1" colspan="8"> + <widget class="KLineEdit" name="edit_tls_outgoing"/> + </item> + <item row="8" column="0"> + <widget class="QLabel" name="label_tls_timeout"> + <property name="text"> + <string>Negotiation timeout (s:ms)</string> + </property> + </widget> + </item> + <item row="8" column="1"> + <widget class="KIntSpinBox" name="spinbox_tls_timeout_sec"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>50</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="9" column="0" colspan="5"> + <widget class="QCheckBox" name="check_tls_incoming"> + <property name="text"> + <string>Verify incoming certificates (server side)</string> + </property> + </widget> + </item> + <item row="10" column="0" colspan="5"> + <widget class="QCheckBox" name="check_tls_answer"> + <property name="text"> + <string>Verify answer certificates (client side)</string> + </property> + </widget> + </item> + <item row="11" column="0" colspan="5"> + <widget class="QCheckBox" name="check_tls_requier_cert"> + <property name="text"> + <string>Require a certificate for incoming TLS connections</string> + </property> + </widget> + </item> + <item row="12" column="0"> + <widget class="QLabel" name="label_tls_details"> + <property name="text"> + <string>*Apply to all accounts</string> + </property> + </widget> + </item> + <item row="13" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="8" column="4" colspan="5"> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="8" column="3"> + <widget class="KIntSpinBox" name="spinbox_tls_timeout_msec"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>50</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="8" column="2"> + <widget class="QLabel" name="label_timeout2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>10</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>10</width> + <height>16777215</height> + </size> + </property> + <property name="text"> + <string><center>:</center></string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="0" colspan="2"> + <widget class="QGroupBox" name="groupbox_STRP_keyexchange"> + <property name="title"> + <string>SRTP key exchange</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QComboBox" name="combo_security_STRP"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <item> + <property name="text"> + <string>Disabled</string> + </property> + </item> + <item> + <property name="text"> + <string>ZRTP</string> + </property> + </item> + <item> + <property name="text"> + <string>SDES</string> + </property> + </item> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkbox_ZTRP_send_hello"> + <property name="text"> + <string>Send Hello Hash in SDP</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkbox_ZRTP_warn_supported"> + <property name="text"> + <string>Ask user to confirm SAS</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkbox_ZRTP_Ask_user"> + <property name="text"> + <string>Warn if ZRTP is not supported</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkbox_ZRTP_display_SAS"> + <property name="text"> + <string>Display SAS once for hold events</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkbox_SDES_fallback_rtp"> + <property name="text"> + <string>Fallback on RTP on SDES failure</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> </widget> </item> </layout> </widget> </item> - <item> - <widget class="QGroupBox" name="groupBox_commonSettings"> - <property name="title"> - <string/> - </property> - <layout class="QVBoxLayout" name="verticalLayout_10"> - <item> - <widget class="QLabel" name="label_commonSettings"> - <property name="text"> - <string>Stun parameters will be applied on each SIP account created.</string> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <layout class="QFormLayout" name="formLayout_commonSettings"> - <property name="fieldGrowthPolicy"> - <enum>QFormLayout::ExpandingFieldsGrow</enum> - </property> - <item row="0" column="0"> - <widget class="QCheckBox" name="kcfg_enableStun"> - <property name="text"> - <string>Enable Stun</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="KLineEdit" name="kcfg_stunServer"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Format : name.server:port</string> - </property> - <property name="squeezedTextEnabled"> - <bool>false</bool> - </property> - <property name="clickMessage"> - <string>choose Stun server (example : stunserver.org)</string> - </property> - <property name="showClearButton" stdset="0"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> </layout> </widget> <customwidgets> @@ -484,6 +1161,16 @@ <extends>QSpinBox</extends> <header>knuminput.h</header> </customwidget> + <customwidget> + <class>KUrlRequester</class> + <extends>QFrame</extends> + <header>kurlrequester.h</header> + </customwidget> + <customwidget> + <class>KEditListBox</class> + <extends>QGroupBox</extends> + <header>keditlistbox.h</header> + </customwidget> <customwidget> <class>KLineEdit</class> <extends>QLineEdit</extends> @@ -495,18 +1182,18 @@ </resources> <connections> <connection> - <sender>kcfg_enableStun</sender> + <sender>checkbox_stun</sender> <signal>toggled(bool)</signal> - <receiver>kcfg_stunServer</receiver> + <receiver>line_stun</receiver> <slot>setEnabled(bool)</slot> <hints> <hint type="sourcelabel"> - <x>71</x> - <y>414</y> + <x>324</x> + <y>74</y> </hint> <hint type="destinationlabel"> - <x>167</x> - <y>419</y> + <x>429</x> + <y>77</y> </hint> </hints> </connection> diff --git a/sflphone-client-kde/src/conf/dlgaddressbook.cpp b/sflphone-client-kde/src/conf/dlgaddressbook.cpp index e9f69d967a9daca2c3a6024d052b89a5cf3e1c29..69ea51de26a6da549d149e69e292f4249264b45a 100644 --- a/sflphone-client-kde/src/conf/dlgaddressbook.cpp +++ b/sflphone-client-kde/src/conf/dlgaddressbook.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -23,7 +23,7 @@ DlgAddressBook::DlgAddressBook(QWidget *parent) : QWidget(parent) { - setupUi(this); + setupUi(this); } diff --git a/sflphone-client-kde/src/conf/dlgaddressbook.h b/sflphone-client-kde/src/conf/dlgaddressbook.h index 6a6852f6e64a9fef0a9bbe85b2c29b1d8447e983..9d159503fee7b84bf084a35d52c52b46175dfea2 100644 --- a/sflphone-client-kde/src/conf/dlgaddressbook.h +++ b/sflphone-client-kde/src/conf/dlgaddressbook.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,9 +32,9 @@ class DlgAddressBook : public QWidget, public Ui_DlgAddressBookBase { Q_OBJECT public: - DlgAddressBook(QWidget *parent = 0); + DlgAddressBook(QWidget *parent = 0); - ~DlgAddressBook(); + ~DlgAddressBook(); }; diff --git a/sflphone-client-kde/src/conf/dlgaudio.cpp b/sflphone-client-kde/src/conf/dlgaudio.cpp index 5d15f69406127b158896edb97f8a3cca9d08a880..b2d37fca058e210efa372150ded95ce4c66e555d 100644 --- a/sflphone-client-kde/src/conf/dlgaudio.cpp +++ b/sflphone-client-kde/src/conf/dlgaudio.cpp @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,28 +31,33 @@ DlgAudio::DlgAudio(KConfigDialog *parent) : QWidget(parent) { - setupUi(this); - - KUrlRequester_ringtone->setMode(KFile::File | KFile::ExistingOnly); - KUrlRequester_ringtone->lineEdit()->setObjectName("kcfg_ringtone"); - KUrlRequester_ringtone->lineEdit()->setReadOnly(true); - - codecTableHasChanged = false; - - ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); - CodecListModel * model = skeleton->getCodecListModel(); - sortableCodecList->setModel(model); - -// loadAlsaSettings(); - connect(box_alsaPlugin, SIGNAL(activated(int)), - parent, SLOT(updateButtons())); - - connect(this, SIGNAL(updateButtons()), - parent, SLOT(updateButtons())); - - connect(sortableCodecList, SIGNAL(dataChanged()), - this, SLOT(codecTableChanged())); - + setupUi(this); + + KUrlRequester_ringtone->setMode(KFile::File | KFile::ExistingOnly); + KUrlRequester_ringtone->lineEdit()->setObjectName("kcfg_ringtone"); + KUrlRequester_ringtone->lineEdit()->setReadOnly(true); + + KUrlRequester_destinationFolder->setMode(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly); + KUrlRequester_destinationFolder->setUrl(KUrl(QDir::home().path())); + KUrlRequester_destinationFolder->lineEdit()->setObjectName("kcfg_destinationFolder"); + KUrlRequester_destinationFolder->lineEdit()->setReadOnly(true); + + //codecTableHasChanged = false; + + ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); + //CodecListModel * model = skeleton->getCodecListModel(); + //sortableCodecList->setModel(model); + +// loadAlsaSettings(); + connect(box_alsaPlugin, SIGNAL(activated(int)), + parent, SLOT(updateButtons())); + + connect(this, SIGNAL(updateButtons()), + parent, SLOT(updateButtons())); + + //connect(sortableCodecList, SIGNAL(dataChanged()), + //this, SLOT(codecTableChanged())); + } @@ -62,67 +67,65 @@ DlgAudio::~DlgAudio() void DlgAudio::updateWidgets() { - loadAlsaSettings(); - - codecTableHasChanged = false; + loadAlsaSettings(); + + //codecTableHasChanged = false; } void DlgAudio::updateSettings() { - qDebug() << "DlgAudio::updateSettings"; - //alsaPlugin - ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); - skeleton->setAlsaPlugin(box_alsaPlugin->currentText()); - - codecTableHasChanged = false; + qDebug() << "DlgAudio::updateSettings"; + //alsaPlugin + ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); + skeleton->setAlsaPlugin(box_alsaPlugin->currentText()); + + //codecTableHasChanged = false; } bool DlgAudio::hasChanged() { - qDebug() << "DlgAudio::hasChanged"; - ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); - bool alsaPluginHasChanged = - skeleton->interface() == ConfigurationSkeleton::EnumInterface::ALSA - && skeleton->alsaPlugin() != box_alsaPlugin->currentText(); - return alsaPluginHasChanged || codecTableHasChanged; + qDebug() << "DlgAudio::hasChanged"; + ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); + bool alsaPluginHasChanged = + skeleton->interface() == ConfigurationSkeleton::EnumInterface::ALSA + && skeleton->alsaPlugin() != box_alsaPlugin->currentText(); + return alsaPluginHasChanged ;//|| codecTableHasChanged; } void DlgAudio::loadAlsaSettings() { - qDebug() << "DlgAudio::loadAlsaSettings"; - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - if(configurationManager.getAudioManager() == ConfigurationSkeleton::EnumInterface::ALSA) - { - ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); - - QStringList pluginList = configurationManager.getOutputAudioPluginList(); - box_alsaPlugin->clear(); - box_alsaPlugin->addItems(pluginList); - int index = box_alsaPlugin->findText(skeleton->alsaPlugin()); - if(index < 0) index = 0; - box_alsaPlugin->setCurrentIndex(index); - - QStringList inputDeviceList = configurationManager.getAudioInputDeviceList(); - kcfg_alsaInputDevice->clear(); - kcfg_alsaInputDevice->addItems(inputDeviceList); - kcfg_alsaInputDevice->setCurrentIndex(skeleton->alsaInputDevice()); - - QStringList outputDeviceList = configurationManager.getAudioOutputDeviceList(); - kcfg_alsaOutputDevice->clear(); - kcfg_alsaOutputDevice->addItems(outputDeviceList); - kcfg_alsaOutputDevice->setCurrentIndex(skeleton->alsaOutputDevice()); - groupBox_alsa->setEnabled(true); - } - else - { - groupBox_alsa->setEnabled(false); - } + qDebug() << "DlgAudio::loadAlsaSettings"; + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + if(configurationManager.getAudioManager() == ConfigurationSkeleton::EnumInterface::ALSA) { + ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self(); + + QStringList pluginList = configurationManager.getOutputAudioPluginList(); + box_alsaPlugin->clear(); + box_alsaPlugin->addItems(pluginList); + int index = box_alsaPlugin->findText(skeleton->alsaPlugin()); + if(index < 0) index = 0; + box_alsaPlugin->setCurrentIndex(index); + + QStringList inputDeviceList = configurationManager.getAudioInputDeviceList(); + kcfg_alsaInputDevice->clear(); + kcfg_alsaInputDevice->addItems(inputDeviceList); + kcfg_alsaInputDevice->setCurrentIndex(skeleton->alsaInputDevice()); + + QStringList outputDeviceList = configurationManager.getAudioOutputDeviceList(); + kcfg_alsaOutputDevice->clear(); + kcfg_alsaOutputDevice->addItems(outputDeviceList); + kcfg_alsaOutputDevice->setCurrentIndex(skeleton->alsaOutputDevice()); + groupBox_alsa->setEnabled(true); + } + else { + groupBox_alsa->setEnabled(false); + } } -void DlgAudio::codecTableChanged() -{ - qDebug() << "codecTableChanged"; - codecTableHasChanged = true; - emit updateButtons(); -} +// void DlgAudio::codecTableChanged() +// { +// qDebug() << "codecTableChanged"; +// codecTableHasChanged = true; +// emit updateButtons(); +// } diff --git a/sflphone-client-kde/src/conf/dlgaudio.h b/sflphone-client-kde/src/conf/dlgaudio.h index e33dfd8d2b1fb5597d79afb2b071e72886908fd9..24b8951a4d5bcc0b095e2bee7ed810e7a6197af9 100644 --- a/sflphone-client-kde/src/conf/dlgaudio.h +++ b/sflphone-client-kde/src/conf/dlgaudio.h @@ -1,7 +1,7 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * - * Author : Jérémy Quentin * - * jeremy.quentin@savoirfairelinux.com * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * + * Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com> * + * Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>* * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -28,7 +28,7 @@ #include "conf/ConfigurationSkeleton.h" /** - @author Jérémy Quentin <jeremy.quentin@gmail.com> + @author Jérémy Quentin <jeremy.quentin@gmail.com> */ class DlgAudio : public QWidget, public Ui_DlgAudioBase { @@ -39,27 +39,27 @@ public: ~DlgAudio(); private: - bool codecTableHasChanged; + //bool codecTableHasChanged; public slots: - void updateWidgets(); - void updateSettings(); - bool hasChanged(); - /** - * Loads the ALSA settings to fill the combo boxes - * of the ALSA settings. - * ALSA choices for input, output... can be load only - * when the daemon has set ALSA as sound manager. - * So we have to load these settings once the user choses - * ALSA. - */ - void loadAlsaSettings(); - + void updateWidgets(); + void updateSettings(); + bool hasChanged(); + /** + * Loads the ALSA settings to fill the combo boxes + * of the ALSA settings. + * ALSA choices for input, output... can be load only + * when the daemon has set ALSA as sound manager. + * So we have to load these settings once the user choses + * ALSA. + */ + void loadAlsaSettings(); + private slots: - void codecTableChanged(); - + //void codecTableChanged(); + signals: - void updateButtons(); + void updateButtons(); }; #endif diff --git a/sflphone-client-kde/src/conf/dlgaudiobase.ui b/sflphone-client-kde/src/conf/dlgaudiobase.ui index 4bf98bd830afaf61c8ece5445240f0192305621e..5e7d099775d022d9ba0439f648a7fb6f3e0bb60f 100644 --- a/sflphone-client-kde/src/conf/dlgaudiobase.ui +++ b/sflphone-client-kde/src/conf/dlgaudiobase.ui @@ -67,39 +67,6 @@ </layout> </widget> </item> - <item> - <widget class="QGroupBox" name="groupBox2_codecs"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Codecs</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <property name="spacing"> - <number>-1</number> - </property> - <property name="leftMargin"> - <number>5</number> - </property> - <property name="topMargin"> - <number>2</number> - </property> - <property name="rightMargin"> - <number>5</number> - </property> - <property name="bottomMargin"> - <number>2</number> - </property> - <item> - <widget class="SortableCodecListWidget" name="sortableCodecList" native="true"/> - </item> - </layout> - </widget> - </item> <item> <widget class="QStackedWidget" name="stackedWidget_interfaceSpecificSettings"> <property name="sizePolicy"> @@ -218,24 +185,66 @@ </widget> </widget> </item> + <item> + <widget class="QGroupBox" name="groupBox1_recordGeneral"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Recording</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_destinationFolderd"> + <property name="text"> + <string>Destination folder</string> + </property> + <property name="buddy"> + <cstring>KUrlRequester_destinationFolder</cstring> + </property> + </widget> + </item> + <item> + <widget class="KUrlRequester" name="KUrlRequester_destinationFolder"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> </layout> </widget> <customwidgets> - <customwidget> - <class>KComboBox</class> - <extends>QComboBox</extends> - <header>kcombobox.h</header> - </customwidget> <customwidget> <class>KUrlRequester</class> <extends>QFrame</extends> <header>kurlrequester.h</header> </customwidget> <customwidget> - <class>SortableCodecListWidget</class> - <extends>QWidget</extends> - <header>SortableCodecListWidget.h</header> - <container>1</container> + <class>KComboBox</class> + <extends>QComboBox</extends> + <header>kcombobox.h</header> </customwidget> </customwidgets> <resources/> diff --git a/sflphone-client-kde/src/conf/dlgrecordbase.ui b/sflphone-client-kde/src/conf/dlgrecordbase.ui deleted file mode 100644 index 90740201454a9f334c9b000e899def369056780d..0000000000000000000000000000000000000000 --- a/sflphone-client-kde/src/conf/dlgrecordbase.ui +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>DlgRecordBase</class> - <widget class="QWidget" name="DlgRecordBase"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>520</width> - <height>263</height> - </rect> - </property> - <property name="windowTitle"> - <string notr="true">Form</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QGroupBox" name="groupBox1_recordGeneral"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>General</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="label_destinationFolderd"> - <property name="text"> - <string>Destination folder</string> - </property> - <property name="buddy"> - <cstring>KUrlRequester_destinationFolder</cstring> - </property> - </widget> - </item> - <item> - <widget class="KUrlRequester" name="KUrlRequester_destinationFolder"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <spacer name="verticalSpacer_configRecord"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>499</width> - <height>214</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>KUrlRequester</class> - <extends>QFrame</extends> - <header>kurlrequester.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg b/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg index 11d1fc817d6c834d4286b09c288411a43e6fcd07..e832419a9391888d8f9e9735111a2685590337a6 100644 --- a/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg +++ b/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg @@ -37,20 +37,6 @@ <label>Defines whether the main window should be displayed when receiving a message.</label> </entry> - <!-- Accounts Settings --> - - <!-- - <entry name="accountList" type="StringList"> - <label>Defines the list of accounts to register, in order of preference (first registered used by default).</label> - </entry> - --> - <entry name="enableStun" type="Bool"> - <label>Defines the SIP accounts must use Stun.</label> - </entry> - <entry name="stunServer" type="String"> - <label>Defines the Stun server to use.</label> - </entry> - <!-- Audio Settings --> <entry name="interface" type="Enum"> diff --git a/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp b/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp index daa93f100b9c13a7fbf6c33e7362d7bdf973ae0b..6ace1b416f0bbb021834b5c8eb23ba684833889e 100644 --- a/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp +++ b/sflphone-client-kde/src/configurationmanager_interface_singleton.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * * Author : Jérémy Quentin * * jeremy.quentin@savoirfairelinux.com * * * diff --git a/sflphone-client-kde/src/configurationmanager_interface_singleton.h b/sflphone-client-kde/src/configurationmanager_interface_singleton.h index 87feddf28e1e32a43b70be482983c245e14c51e9..2d00da14c16b06354f2b38c17965fd9ff116eee3 100644 --- a/sflphone-client-kde/src/configurationmanager_interface_singleton.h +++ b/sflphone-client-kde/src/configurationmanager_interface_singleton.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Savoir-Faire Linux * + * Copyright (C) 2009-2010 by Savoir-Faire Linux * * Author : Jérémy Quentin * * jeremy.quentin@savoirfairelinux.com * * * diff --git a/sflphone-client-kde/src/dbus/callmanager-introspec.xml b/sflphone-client-kde/src/dbus/callmanager-introspec.xml index e9130e9a91a8d7bf17f3dc43180f33d1e11438e4..534bde252d506dcda4b622b0667c7b86005d8510 100644 --- a/sflphone-client-kde/src/dbus/callmanager-introspec.xml +++ b/sflphone-client-kde/src/dbus/callmanager-introspec.xml @@ -1,129 +1,699 @@ -<?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.CallManager"> - - <method name="placeCall"> - <arg type="s" name="accountID" direction="in"/> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage any call related actions.</p> + <p>Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.</p> + </tp:docstring> + <method name="placeCall" tp:name-for-bindings="placeCall"> + <tp:docstring> + <p>This is the main method in order to place a new call. The call is registered to the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface. + </tp:docstring> + </arg> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> </method> - - <method name="refuse"> - <arg type="s" name="callID" direction="in"/> + + <method name="placeCallFirstAccount" tp:name-for-bindings="placeCallFirstAccount"> + <tp:added version="0.9.8"/> + <tp:docstring> + Place a call with the fist registered account, regarding to the account list order. + <tp:rationale> + Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension) + </tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> </method> - - <method name="accept"> - <arg type="s" name="callID" direction="in"/> + + <method name="refuse" tp:name-for-bindings="refuse"> + <tp:docstring> + Refuse an incoming call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> - - <method name="hangUp"> - <arg type="s" name="callID" direction="in"/> + + <method name="accept" tp:name-for-bindings="accept"> + <tp:docstring> + Answer an incoming call. Automatically put the current call on state HOLD. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> </method> - - <method name="hold"> - <arg type="s" name="callID" direction="in"/> + + <method name="hangUp" tp:name-for-bindings="hangUp"> + <tp:docstring> + Hangup a call in state "CURRENT" or "HOLD". + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> </method> - - <method name="unhold"> - <arg type="s" name="callID" direction="in"/> + + <method name="hangUpConference" tp:name-for-bindings="hangUpConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hangup a conference, and every call participating to the conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The unique conference ID. + </tp:docstring> + </arg> </method> - - <method name="transfert"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> + + <method name="hold" tp:name-for-bindings="hold"> + <tp:docstring> + Place a call on hold. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="unhold" tp:name-for-bindings="unhold"> + <tp:docstring> + Hold off a call, and place this call on state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> </method> - - <method name="playDTMF"> - <arg type="s" name="key" direction="in"/> + + <method name="transfert" tp:name-for-bindings="transfert"> + <tp:docstring> + Transfer a call to given phone number. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + The phone number to transfer the call to. + </tp:docstring> + </arg> </method> - - <method name="startTone"> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode charter for pressed key + </tp:docstring> + </arg> + </method> + + <method name="startTone" tp:name-for-bindings="startTone"> + <tp:docstring> + Start audio stream and play tone.. + </tp:docstring> <arg type="i" name="start" direction="in"/> <arg type="i" name="type" direction="in"/> </method> - - <method name="setVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> + + <method name="setVolume" tp:name-for-bindings="setVolume"> + <tp:docstring> + <p>Sets the volume using a linear scale [0,100].</p> + <tp:rationale>Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="in"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> </method> - - <method name="getVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> + + <method name="getVolume" tp:name-for-bindings="getVolume"> + <tp:docstring> + <p>Return the volume value of the given device on a linear scale [0,100].</p> + <tp:rationale>Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="out"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> </method> - - <method name="setRecording"> - <arg type="s" name="callID" direction="in"/> + + <method name="joinParticipant" tp:name-for-bindings="joinParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join two participants together to create a 3-way conference including the current client.</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="sel_callID" direction="in"/> + <arg type="s" name="drag_callID" direction="in"/> </method> - - <method name="getIsRecording"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="isRecording" direction="out"/> + + <method name="addParticipant" tp:name-for-bindings="addParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join a new particiant to an existing conference.</p> + <tp:rationale>The signal <tp:member-ref>conferenceChanged</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to add to the conference + </tp:docstring> + </arg> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> </method> - - <method name="getCallDetails"> - <arg type="s" name="callID" direction="in"/> + + <method name="addMainParticipant" tp:name-for-bindings="addMainParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>It put the current call on state HOLD or detach SFLphone-client's user from the another conference.</p> + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="detachParticipant" tp:name-for-bindings="detachParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal <tp:member-ref>conferenceRemoved</tp:member-ref> is emited. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + </method> + + <method name="joinConference" tp:name-for-bindings="joinConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Join two conferences together. + </tp:docstring> + <arg type="s" name="sel_confID" direction="in"/> + <arg type="s" name="drag_confID" direction="in"/> + </method> + + <method name="getConferenceDetails" tp:name-for-bindings="getConferenceDetails"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a hashtable containing conference details. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> + <arg type="a{ss}" name="infos" direction="out"> + <tp:docstring> + A map containing the ID of the conferences and their states. + </tp:docstring> + </arg> </method> - - <method name="getCallList"> - <arg type="as" name="list" direction="out"/> + + <method name="getConferenceList" tp:name-for-bindings="getConferenceList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a list containing all active conferences. + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of conferences. + </tp:docstring> + </arg> </method> - - <method name="getCurrentCallID"> - <arg type="s" name="callID" direction="out"/> + + <method name="setRecording" tp:name-for-bindings="setRecording"> + <tp:docstring> + Start recording a call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to record. + </tp:docstring> + </arg> </method> - - <method name="getCurrentCodecName"> + + <method name="getIsRecording" tp:name-for-bindings="getIsRecording"> + <tp:docstring> + Tells whether or not a call is being recorded. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="b" name="isRecording" direction="out"> + <tp:docstring> + Returns true is the call is being recorded. False otherwise. + </tp:docstring> + </arg> + </method> + + <method name="getCallDetails" tp:name-for-bindings="getCallDetails"> + <tp:docstring> + Get all the details about a specific call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out" tp:type="String_String_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A map containing the call details: </p> + <ul> + <li>ACCOUNTID</li> + <li>PEER_NUMBER</li> + <li>PEER_NAME</li> + <li>DISPLAY_NAME</li> + <li>CALL_STATE</li> + <li>CALL_TYPE</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="getCallList" tp:name-for-bindings="getCallList"> + <tp:docstring> + Get the list of active calls. + <tp:rationale>To get the call details, iterate on the return value and call <tp:member-ref>getCallDetails</tp:member-ref> method.</tp:rationale> + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of call IDs. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCallID" tp:name-for-bindings="getCurrentCallID"> + <tp:docstring> + Get the CURRENT call ID. + </tp:docstring> + @param[out] output callID + <arg type="s" name="callID" direction="out"> + <tp:docstring> + The current call ID. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCodecName" tp:name-for-bindings="getCurrentCodecName"> + <tp:docstring> + </tp:docstring> <arg type="s" name="callID" direction="in"/> <arg type="s" name="codecName" direction="out"/> </method> - - <signal name="currentSelectedCodec"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="codecName" direction="out"/> + + <signal name="currentSelectedCodec" tp:name-for-bindings="currentSelectedCodec"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="codecName"/> </signal> - - <signal name="incomingCall"> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon and must be stored by the clients in order to address other action for + this call.</p> + <tp:rationale>The client must subscribe to this signal to handle incoming calls.</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the callee. Clients must notify the right account when receiving this signal. + </tp:docstring> + </arg> + <arg type="s" name="callID"> + <tp:docstring> + A new call ID. + </tp:docstring> + </arg> + <arg type="s" name="from"> + <tp:docstring> + The caller phone number. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingMessage" tp:name-for-bindings="incomingMessage"> + <tp:docstring> + Unused + </tp:docstring> <arg type="s" name="accountID" /> + <arg type="s" name="message" /> + </signal> + + <signal name="callStateChanged" tp:name-for-bindings="callStateChanged"> + <tp:docstring> + <p>Notify of a change in a call state.</p> + <p>The client must subscribe to this signal.</p> + </tp:docstring> + <arg type="s" name="callID"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="s" name="state" > + <tp:docstring> + The acceptable states are: + <ul> + <li>INCOMING: Initial state of incoming calls</li> + <li>RINGING: Initial state of received outgoing call</li> + <li>CURRENT: The normal active state of an answered call</li> + <li>HUNGUP: Notify that the call has been hungup by peer</li> + <li>BUSY</li> + <li>FAILURE: Error when processing a call</li> + <li>HOLD</li> + <li>UNHOLD_CURRENT</li> + <li>UNHOLD_RECORD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceChanged" tp:name-for-bindings="conferenceChanged"> + <tp:added version="0.9.7"/> + <tp:docstring> + Notify of a change in the conferences state + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The acceptable states are: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <method name="getParticipantList" tp:name-for-bindings="getParticipantList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Get the call IDs of every participant to a given conference. The client should keep and update the list of participant. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of the call IDs. + </tp:docstring> + </arg> + </method> + + <signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + A new conference ID. + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </signal> + + <method name="holdConference" tp:name-for-bindings="holdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold on every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="unholdConference" tp:name-for-bindings="unholdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold off every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="state" /> + <arg type="i" name="code" /> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>The state of an account has changed.</p> + <p>The clients have to subscribe to this signal to use accounts.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The new registration state + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 code + </tp:docstring> + </arg> + </signal> + + <signal name="voiceMailNotify" tp:name-for-bindings="voiceMailNotify"> + <tp:docstring> + Notify the clients of the voicemail number for a specific account, if applicable. + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID. + </tp:docstring> + </arg> + <arg type="i" name="count"> + <tp:docstring> + The number of waiting messages. + </tp:docstring> + </arg> + </signal> + + <signal name="volumeChanged" tp:name-for-bindings="volumeChanged"> + <tp:docstring> + Notify the clients of a volume level change. + </tp:docstring> + <arg type="s" name="device"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value"> + <tp:docstring> + The new volume value + </tp:docstring> + </arg> + </signal> + + <signal name="transferSucceded" tp:name-for-bindings="transferSucceded"> + <tp:docstring> + The transfer has been successfully processed. + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + The transfer operation has failed. + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <!-- ZRTP Methods and Signals --> + <signal name="secureZrtpOn" tp:name-for-bindings="secureZrtpOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="cipher" /> + </signal> + + <signal name="secureZrtpOff" tp:name-for-bindings="secureZrtpOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> <arg type="s" name="callID" /> - <arg type="s" name="from" /> - </signal> - - <signal name="incomingMessage"> - <arg type="s" name="accountID" direction="out" /> - <arg type="s" name="message" direction="out"/> - </signal> - - <signal name="callStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="voiceMailNotify"> - <arg type="s" name="accountID" direction="out"/> - <arg type="i" name="count" direction="out"/> - </signal> - - <signal name="volumeChanged"> - <arg type="s" name="device" direction="out"/> - <arg type="d" name="value" direction="out"/> - </signal> - - <signal name="transferSucceded"> - </signal> - - <signal name="transferFailed"> - </signal> - - <!-- - <signal name="error"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> - --> - - </interface> - </node> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="reason" /> + <arg type="s" name="severity" /> + </signal> + + <signal name="zrtpNotSuppOther" tp:name-for-bindings="zrtpNotSuppOther"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="showSAS" tp:name-for-bindings="showSAS"> + <tp:added version="0.9.7"/> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="sas" /> + <arg type="b" name="verified"/> + </signal> + + <method name="setSASVerified" tp:name-for-bindings="setSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="accepted" direction="in"/> + </method> + + <method name="setPBXEnrollment" tp:name-for-bindings="setPBXEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> +</node> diff --git a/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml b/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml index cb587f3e3f60c8455834926f2909ecf800b9158b..8d8dcf9468526693cbaa6b74e668247fb0485919 100644 --- a/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml @@ -1,340 +1,1019 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> +<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.ConfigurationManager"> - - <!-- Accounts-related methods --> - <method name="getAccountDetails"> - <arg type="s" name="accountID" direction="in"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + Used to handle the configuration stuff: accounts settings, account registration, user preferences, ... + </tp:docstring> + + <method name="getAccountDetails" tp:name-for-bindings="getAccountDetails"> + <tp:docstring> + Get all parameters of the specified account. + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setAccountDetails"> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + The available keys / parameters are: + <ul> + <li>CONFIG_ACCOUNT_ENABLE: True or False (Default: True)</li> + <li>CONFIG_ACCOUNT_RESOLVE_ONCE</li> + <li>CONFIG_ACCOUNT_TYPE: SIP or IAX2 (Default: SIP)</li> + <li>HOSTNAME: The IP adress or hostname of the registrar</li> + <li>USERNAME: The username (or extension) of the account</li> + <li>PASSWORD: The password associated to the account</li> + <li>REALM</li> + <li>AUTHENTICATION_USERNAME</li> + <li>CONFIG_ACCOUNT_MAILBOX: Number to dial to access the voicemail box</li> + <li>CONFIG_ACCOUNT_REGISTRATION_EXPIRE: SIP header expiration value (Default: 1600)</li> + <li>LOCAL_INTERFACE: The network interface (Default: eth0)</li> + <li>PUBLISHED_SAMEAS_LOCAL: If False, the published address equals the local address. This is the default.</li> + <li>PUBLISHED_ADDRESS: The SIP published address</li> + <li>LOCAL_PORT: The SIP listening port (Default: 5060)</li> + <li>PUBLISHED_PORT: The SIP published port</li> + <li>DISPLAY_NAMEL: The display name</li> + <li>STUN_ENABLE: True or False (Default: False)</li> + <li>STUN_SERVER: The STUN server address</li> + <li>REGISTRATION_STATUS: The account registration status. Should be Registered to make calls.</li> + <li>REGISTRATION_STATE_CODE</li> + <li>REGISTRATION_STATE_DESCRIPTION</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE: Whether or not voice communication are encrypted - True or False (Default: False)</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>TLS_LISTENER_PORT: TLS listening port (Default: 5061)</li> + <li>TLS_ENABLE: Whether or not signalling is encrypted - True or False (Default: False)</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails"> + <tp:docstring> + Send new account parameters, or account parameters changes, to the core. The hash table is not required to be complete, only the updated parameters may be specified. + <tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale> + <tp:rationale>After calling this method, the core will emit the signal <tp:member-ref>accountsChanged</tp:member-ref> with the updated data. The client must subscribe to this signal and use it to update its internal data structure.</tp:rationale> + </tp:docstring> <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="addAccount"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="in"/> - <arg type="s" name="createdAccountId" direction="out"/> - </method> - - <method name="setAccountsOrder"> - <arg type="s" name="order" direction="in"/> - </method> - - <method name="removeAccount"> - <arg type="s" name="accoundID" direction="in"/> - </method> - - <method name="getAccountList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="sendRegister"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="expire" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Various audio-related methods --> - - <method name="getToneLocaleList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getVersion"> - <arg type="s" name="version" direction="out"/> - </method> - - <method name="getRingtoneList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getPlaybackDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getRecordDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="isRingtoneEnabled"> - <arg type="i" name="bool" direction="out"/> - </method> - - <method name="ringtoneEnabled"> - </method> - - <method name="getRingtoneChoice"> - <arg type="s" name="tone" direction="out"/> - </method> - - <method name="setRingtoneChoice"> - <arg type="s" name="tone" direction="in"/> - </method> - - <method name="getAudioManager"> - <arg type="i" name="api" direction="out"/> - </method> - - <method name="setAudioManager"> - <arg type="i" name="api" direction="in"/> - </method> - - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCodecDetails"> - <arg type="i" name="payload" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="details" direction="out"/> - </method> - - <method name="getActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="list" direction="in"/> - </method> - - - <!-- Audio devices methods --> - - <method name="getInputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getOutputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setInputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="setOutputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="getAudioOutputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioOutputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getAudioInputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioInputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getCurrentAudioDevicesIndex"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAudioDeviceIndex"> - <arg type="s" name="name" direction="in"/> - <arg type="i" name="index" direction="out"/> - </method> - - <method name="getCurrentAudioOutputPlugin"> - <arg type="s" name="plugin" direction="out"/> - </method> - - <!-- General Settings Panel --> - - <method name="isIax2Enabled"> - <arg type="i" name="res" direction="out"/> - </method> - - <method name="setNotify"> - </method> - - <method name="getNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="setMailNotify"> - </method> - - <method name="getMailNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="getDialpad"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setDialpad"> - </method> - - <method name="getSearchbar"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSearchbar"> - </method> - - <method name="setHistoryEnabled"> - </method> - - <method name="getHistoryEnabled"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="getVolumeControls"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setVolumeControls"> - </method> - - <method name="getHistoryLimit"> - <arg type="i" name="days" direction="out"/> - </method> - - <method name="setHistoryLimit"> - <arg type="i" name="days" direction="in"/> - </method> - - <method name="startHidden"> - </method> - - <method name="isStartHidden"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="popupMode"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="switchPopupMode"> - </method> - - <method name="setPulseAppVolumeControl"> - </method> - - <method name="getPulseAppVolumeControl"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSipPort"> - <arg type="i" name="port" direction="in"/> - </method> - - <method name="getSipPort"> - <arg type="i" name="port" direction="out"/> - </method> - - <method name="setStunServer"> - <arg type="s" name="server" direction="in"/> - </method> - - <method name="getStunServer"> - <arg type="s" name="server" direction="out"/> - </method> - - <method name="enableStun"> - </method> - - <method name="isStunEnabled"> - <arg type="i" name="state" direction="out"/> - </method> - - <!-- Addressbook configuration --> - <method name="getAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="out"/> - </method> - - <method name="setAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="in"/> - </method> - - <!-- Addressbook list --> - <method name="getAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="settings" direction="out"/> - </method> - - <method name="setAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="settings" direction="in"/> - </method> - - <!-- Hook configuration --> - <method name="getHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="out"/> - </method> - - <method name="setHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="in"/> - </method> - - <method name="getHistory"> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setCredential" tp:name-for-bindings="setCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="number" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <tp:docstring> + Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved. + </tp:docstring> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="out"/> - </method> - - <method name="setHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="in"/> - </method> - - <!-- ///////////////////////////// --> - - <!-- - <signal name="parametersChanged"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> - --> - - <signal name="accountsChanged"> - </signal> - - <signal name="errorAlert"> - <arg type="i" name="code" direction="out"/> - </signal> - - </interface> - </node> + <!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>--> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + Available parameters are: + <ul> + <li>ACCOUNT_ID</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>LOCAL_INTERFACE</li> + <li>LOCAL_PORT</li> + <li>TLS_LISTENER_PORT</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_PASSWORD</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <tp:docstring> + Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile. + </tp:docstring> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference. + </tp:docstring> + </arg> + </method> + + <method name="getCredential" tp:name-for-bindings="getCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="numberOfCredential" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="addAccount" tp:name-for-bindings="addAccount"> + <tp:docstring> + Add a new account. When created, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + <tp:rationale>If no details are specified, the default parameters are used.</tp:rationale> + <tp:rationale>The core tries to register the account as soon it is created.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The new account settings + </tp:docstring> + </arg> + <arg type="s" name="createdAccountId" direction="out"> + <tp:docstring> + A new account ID + </tp:docstring> + </arg> + </method> + + <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder"> + <tp:docstring> + Update the accounts order. + <tp:rationale>When placing a call, the first registered account in the list is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="order" direction="in"> + <tp:docstring> + An ordered list of account IDs, delimited by '/' + </tp:docstring> + </arg> + </method> + + <method name="removeAccount" tp:name-for-bindings="removeAccount"> + <tp:docstring> + Remove an existing account. When removed, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + </tp:docstring> + <arg type="s" name="accoundID" direction="in"> + <tp:docstring> + The account to remove, identified by its ID + </tp:docstring> + </arg> + </method> + + <method name="getAccountList" tp:name-for-bindings="getAccountList"> + <tp:docstring> + Get a list of all created accounts, as stored by the core. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of account IDs + </tp:docstring> + </arg> + </method> + + <method name="sendRegister" tp:name-for-bindings="sendRegister"> + <tp:docstring> + Send account registration (REGISTER) to the registrar. + </tp:docstring> + the account if expire=1, unregister if expire=0. + + @param[in] input accountID + --> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="i" name="expire" direction="in"> + <tp:docstring> + <p>To register, expire must be 1.</p> + <p>To un-register, expire must be 0.</p> + </tp:docstring> + </arg> + </method> + + <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVersion" tp:name-for-bindings="getVersion"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="version" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="bool" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="tone" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="tone" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList" tp:name-for-bindings="getCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="payload" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Audio devices methods --> + + <method name="getInputAudioPluginList" tp:name-for-bindings="getInputAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getOutputAudioPluginList" tp:name-for-bindings="getOutputAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="name" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="plugin" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- General Settings Panel --> + + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNotify" tp:name-for-bindings="setNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getNotify" tp:name-for-bindings="getNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="startHidden" tp:name-for-bindings="startHidden"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="popupMode" tp:name-for-bindings="popupMode"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="width" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="height" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="width" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="height" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posX" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posX" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posY" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posY" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="value" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="value" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Hook configuration --> + <method name="getHookSettings" tp:name-for-bindings="getHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHookSettings" tp:name-for-bindings="setHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistory" tp:name-for-bindings="getHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistory" tp:name-for-bindings="setHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <signal name="accountsChanged" tp:name-for-bindings="accountsChanged"> + </signal> + + <signal name="errorAlert" tp:name-for-bindings="errorAlert"> + <arg type="i" name="code"> + <tp:docstring> + </tp:docstring> + </arg> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="interface" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="address" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + </interface> + </node> diff --git a/sflphone-client-kde/src/dbus/instance-introspec.xml b/sflphone-client-kde/src/dbus/instance-introspec.xml index d211a0f483588ba8f9dcb620b6f6804963d6d41e..4b7d075cd87112df83744e3740f892d4f1cb26e5 100644 --- a/sflphone-client-kde/src/dbus/instance-introspec.xml +++ b/sflphone-client-kde/src/dbus/instance-introspec.xml @@ -1,18 +1,46 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> +<node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.Instance"> - - <method name="Register"> - <arg type="i" name="pid" direction="in"/> - <arg type="s" name="name" direction="in"/> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p> + </tp:docstring> + <method name="Register" tp:name-for-bindings="Register"> + <tp:docstring> + Register a new client to the core. Increments the registration count. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + <arg type="s" name="name" direction="in"> + <tp:docstring> + The name of the client + </tp:docstring> + </arg> </method> - - <method name="Unregister"> - <arg type="i" name="pid" direction="in"/> + <method name="Unregister" tp:name-for-bindings="Unregister"> + <tp:docstring> + Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> </method> - - <method name="getRegistrationCount"> - <arg type="i" name="count" direction="out"/> + + <method name="getRegistrationCount" tp:name-for-bindings="getRegistrationCount"> + <tp:docstring> + Get the number of connected clients. + </tp:docstring> + <arg type="i" name="count" direction="out"> + <tp:docstring> + The number of client currently connected to the core + </tp:docstring> + </arg> </method> - </interface> + + + </interface> </node> diff --git a/sflphone-client-kde/src/icons/document-encrypt.svgz b/sflphone-client-kde/src/icons/document-encrypt.svgz new file mode 100644 index 0000000000000000000000000000000000000000..6d5ed916a5f620324e8a301224d3550b7dd0b90d Binary files /dev/null and b/sflphone-client-kde/src/icons/document-encrypt.svgz differ diff --git a/sflphone-client-kde/src/icons/user-group-properties.svgz b/sflphone-client-kde/src/icons/user-group-properties.svgz new file mode 100644 index 0000000000000000000000000000000000000000..edc81b9a6ef2ecc393c402a5def7ebb6ae75e832 Binary files /dev/null and b/sflphone-client-kde/src/icons/user-group-properties.svgz differ diff --git a/sflphone-client-kde/src/main.cpp b/sflphone-client-kde/src/main.cpp index 6be5f8995986a16c2f120e4976b92eb5ec93d4a7..e1a9c44474ac76656f6a3c6036b3768e2b067092 100644 --- a/sflphone-client-kde/src/main.cpp +++ b/sflphone-client-kde/src/main.cpp @@ -1,19 +1,19 @@ +#include <unistd.h> #include <QApplication> #include <QtCore/QString> #include <QtGui/QMenu> -#include <QtGui/QMenuBar> +//#include <QtGui/QMenuBar> #include <QtGui/QAction> -#include <kapplication.h> #include <kcmdlineargs.h> #include <kaboutdata.h> #include <klocale.h> +#include <KNotification> -#include "SFLPhone.h" #include "AccountWizard.h" #include "instance_interface_singleton.h" #include "sflphone_const.h" - +#include "SFLPhoneapplication.h" #include "conf/ConfigurationDialog.h" #include <QTableView> @@ -27,54 +27,45 @@ static const char version[] = "0.9.6"; int main(int argc, char **argv) { - - try - { - KLocale::setMainCatalog("sflphone-client-kde"); - - KAboutData about( - "sflphone-client-kde", - "sflphone-client-kde", - ki18n("SFLphone KDE Client"), - version, - ki18n(description), - KAboutData::License_GPL_V3, - ki18n("(C) 2009 Savoir-faire Linux"), - KLocalizedString(), - "http://www.sflphone.org.", - "sflphone@lists.savoirfairelinux.net"); - about.addAuthor( ki18n("Jérémy Quentin"), KLocalizedString(), "jeremy.quentin@savoirfairelinux.com" ); - about.setTranslator( ki18nc("NAME OF TRANSLATORS","Your names"), ki18nc("EMAIL OF TRANSLATORS","Your emails") ); - KCmdLineArgs::init(argc, argv, &about); - KCmdLineOptions options; - //options.add("+[URL]", ki18n( "Document to open" )); - KCmdLineArgs::addCmdLineOptions(options); - - KApplication app; - - //configuration dbus - registerCommTypes(); - new SFLPhone(); + + try + { + KLocale::setMainCatalog("sflphone-client-kde"); + + KAboutData about( + "sflphone-client-kde", + "sflphone-client-kde", + ki18n("SFLphone KDE Client"), + version, + ki18n(description), + KAboutData::License_GPL_V3, + ki18n("(C) 2009 Savoir-faire Linux"), + KLocalizedString(), + "http://www.sflphone.org.", + "sflphone@lists.savoirfairelinux.net"); + about.addAuthor( ki18n("Jérémy Quentin"), KLocalizedString(), "jeremy.quentin@savoirfairelinux.com" ); + about.setTranslator( ki18nc("NAME OF TRANSLATORS","Your names"), ki18nc("EMAIL OF TRANSLATORS","Your emails") ); + KCmdLineArgs::init(argc, argv, &about); + KCmdLineOptions options; + KCmdLineArgs::addCmdLineOptions(options); + + //configuration dbus + registerCommTypes(); + + InstanceInterface & instance = InstanceInterfaceSingleton::getInstance(); + instance.Register(getpid(), APP_NAME); - InstanceInterface & instance = InstanceInterfaceSingleton::getInstance(); - instance.Register(getpid(), APP_NAME); - -// SortableCodecListWidget * cl = new SortableCodecListWidget(); -// cl->show(); + SFLPhoneApplication app; -// QListView * v = new QListView(); -// v->setFlow(QListView::TopToBottom); -// v->setModel(new AccountListModel()); -// v->show(); - - return app.exec(); - } - catch(const char * msg) - { - printf("%s\n",msg); - } - catch(QString msg) - { - qDebug() << msg; - } + return app.exec(); + + } + catch(const char * msg) + { + qDebug() << msg; + } + catch(QString msg) + { + qDebug() << msg; + } } diff --git a/sflphone-client-kde/src/qrc/resources.qrc b/sflphone-client-kde/src/qrc/resources.qrc index f0410dc28014b0658f684e46dd28af1adac1f05a..c0b7a0cb5af59b0b631c4be9cb2d6db67b55b98d 100644 --- a/sflphone-client-kde/src/qrc/resources.qrc +++ b/sflphone-client-kde/src/qrc/resources.qrc @@ -1,5 +1,7 @@ <RCC> - <qresource prefix="images" > + <qresource prefix="images"> + <file>../icons/user-group-properties.svgz</file> + <file>../icons/document-encrypt.svgz</file> <file>../icons/sflphone.svg</file> <file>../icons/sflphone-kde3.svg</file> <file>../icons/sflphone_notif.svg</file> diff --git a/sflphone-client-kde/src/sflphone_const.h b/sflphone-client-kde/src/sflphone_const.h index 356a2e5755c5300b06bc4707172f84fe09daa9b8..5e2c5c5a5571c752d0d0f5d66215d001e327d282 100644 --- a/sflphone-client-kde/src/sflphone_const.h +++ b/sflphone-client-kde/src/sflphone_const.h @@ -63,6 +63,7 @@ #define ICON_BUSY ":/images/icons/busy.svg" #define ICON_TRANSFER ":/images/icons/transfert.svg" #define ICON_TRANSF_HOLD ":/images/icons/transfert.svg" +#define ICON_CONFERENCE ":/images/icons/user-group-properties.svgz" #define ICON_CALL ":/images/icons/call.svg" #define ICON_HANGUP ":/images/icons/hang_up.svg" @@ -109,26 +110,67 @@ /** Account details */ -#define ACCOUNT_TYPE "Account.type" -#define ACCOUNT_ALIAS "Account.alias" -#define ACCOUNT_ENABLED "Account.enable" -#define ACCOUNT_MAILBOX "Account.mailbox" -#define ACCOUNT_HOSTNAME "hostname" -#define ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" -#define ACCOUNT_EXPIRE "Account.expire" -#define ACCOUNT_USERNAME "username" -#define ACCOUNT_PASSWORD "password" -#define ACCOUNT_STATUS "Status" +#define ACCOUNT_TYPE "Account.type" +#define ACCOUNT_ALIAS "Account.alias" +#define ACCOUNT_ENABLED "Account.enable" +#define ACCOUNT_MAILBOX "Account.mailbox" +#define ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" +#define ACCOUNT_REGISTRATION_EXPIRE "Account.expire" #define ACCOUNT_SIP_STUN_SERVER "STUN.server" -#define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" +#define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" +#define ACCOUNT_HOSTNAME "hostname" +#define ACCOUNT_USERNAME "username" +#define ACCOUNT_PASSWORD "password" +#define ACCOUNT_AUTHENTICATION_USERNAME "authenticationUsername" +#define ACCOUNT_REALM "realm" +#define ACCOUNT_KEY_EXCHANGE "SRTP.keyExchange" +#define ACCOUNT_SRTP_ENABLED "SRTP.enable" +#define ACCOUNT_ZRTP_DISPLAY_SAS "ZRTP.displaySAS" +#define ACCOUNT_ZRTP_NOT_SUPP_WARNING "ZRTP.notSuppWarning" +#define ACCOUNT_ZRTP_HELLO_HASH "ZRTP.helloHashEnable" +#define ACCOUNT_DISPLAY_SAS_ONCE "ZRTP.displaySasOnce" +#define KEY_EXCHANGE_NONE "0" +#define ZRTP "1" +#define SDES "2" + +/** TLS */ +#define TLS_LISTENER_PORT "TLS.listenerPort" +#define TLS_ENABLE "TLS.enable" +#define TLS_PORT "TLS.port" +#define TLS_CA_LIST_FILE "TLS.certificateListFile" +#define TLS_CERTIFICATE_FILE "TLS.certificateFile" +#define TLS_PRIVATE_KEY_FILE "TLS.privateKeyFile" +#define TLS_PASSWORD "TLS.password" +#define TLS_METHOD "TLS.method" +#define TLS_CIPHERS "TLS.ciphers" +#define TLS_SERVER_NAME "TLS.serverName" +#define TLS_VERIFY_SERVER "TLS.verifyServer" +#define TLS_VERIFY_CLIENT "TLS.verifyClient" +#define TLS_REQUIRE_CLIENT_CERTIFICATE "TLS.requireClientCertificate" +#define TLS_NEGOTIATION_TIMEOUT_SEC "TLS.negotiationTimeoutSec" +#define TLS_NEGOTIATION_TIMEOUT_MSEC "TLS.negotiationTimemoutMsec" + +#define LOCAL_INTERFACE "Account.localInterface" +#define PUBLISHED_SAMEAS_LOCAL "Account.publishedSameAsLocal" +#define LOCAL_PORT "Account.localPort" +#define PUBLISHED_PORT "Account.publishedPort" +#define PUBLISHED_ADDRESS "Account.publishedAddress" + +#define REGISTRATION_STATUS "Status" +#define REGISTRATION_STATE_CODE "Registration.code" +#define REGISTRATION_STATE_DESCRIPTION "Registration.description" + + +/** Maybe to remove **/ +#define ACCOUNT_EXPIRE "Account.expire" +#define ACCOUNT_STATUS "Status" #define ACCOUNT_EXPIRE_DEFAULT 600 - -#define ACCOUNT_ENABLED_TRUE "TRUE" -#define ACCOUNT_ENABLED_FALSE "FALSE" - +#define ACCOUNT_ENABLED_TRUE "true" +#define ACCOUNT_ENABLED_FALSE "false" #define ACCOUNT_TYPE_SIP "SIP" #define ACCOUNT_TYPE_IAX "IAX" #define ACCOUNT_TYPES_TAB {QString(ACCOUNT_TYPE_SIP), QString(ACCOUNT_TYPE_IAX)} +/*********************/ /** Constant variables */ #define ACCOUNT_MAILBOX_DEFAULT_VALUE "888" @@ -145,7 +187,8 @@ #define ACCOUNT_STATE_ERROR_EXIST_STUN "ERROR_EXIST_STUN" /** Calls details */ -#define CALL_PEER_NAME "PEER_NAME" +#define CALL_PEER_NAME "DISPLAY_NAME" +//#define CALL_PEER_NAME "PEER_NAME" #define CALL_PEER_NUMBER "PEER_NUMBER" #define CALL_ACCOUNTID "ACCOUNTID" #define CALL_STATE "CALL_STATE" @@ -205,6 +248,39 @@ #define CONST_ALSA 0 #define CONST_PULSEAUDIO 1 - - +/** TLS */ +#define TLS_LISTENER_PORT "TLS.listenerPort" +#define TLS_ENABLE "TLS.enable" +#define TLS_PORT "TLS.port" +#define TLS_CA_LIST_FILE "TLS.certificateListFile" +#define TLS_CERTIFICATE_FILE "TLS.certificateFile" +#define TLS_PRIVATE_KEY_FILE "TLS.privateKeyFile" +#define TLS_PASSWORD "TLS.password" +#define TLS_METHOD "TLS.method" +#define TLS_CIPHERS "TLS.ciphers" +#define TLS_SERVER_NAME "TLS.serverName" +#define TLS_VERIFY_SERVER "TLS.verifyServer" +#define TLS_VERIFY_CLIENT "TLS.verifyClient" +#define TLS_REQUIRE_CLIENT_CERTIFICATE "TLS.requireClientCertificate" +#define TLS_NEGOTIATION_TIMEOUT_SEC "TLS.negotiationTimeoutSec" +#define TLS_NEGOTIATION_TIMEOUT_MSEC "TLS.negotiationTimemoutMsec" + +#define ACCOUNT_ID "Account.id" +#define ACCOUNT_PASSWORD "password" +#define ACCOUNT_AUTHENTICATION_USERNAME "authenticationUsername" +#define ACCOUNT_REALM "realm" +#define ACCOUNT_KEY_EXCHANGE "SRTP.keyExchange" +#define ACCOUNT_SRTP_ENABLED "SRTP.enable" +#define ACCOUNT_SRTP_RTP_FALLBACK "SRTP.rtpFallback" +#define ACCOUNT_ZRTP_DISPLAY_SAS "ZRTP.displaySAS" +#define ACCOUNT_ZRTP_NOT_SUPP_WARNING "ZRTP.notSuppWarning" +#define ACCOUNT_ZRTP_HELLO_HASH "ZRTP.helloHashEnable" +#define ACCOUNT_DISPLAY_SAS_ONCE "ZRTP.displaySasOnce" +#define KEY_EXCHANGE_NONE "0" +#define ZRTP "1" +#define SDES "2" + +/** MIME API */ +#define MIME_CALLID "text/sflphone.call.id" +#define MIME_PLAIN_TEXT "text/plain" #endif diff --git a/sflphone-client-kde/src/ui/SFLPhoneView_base.ui b/sflphone-client-kde/src/ui/SFLPhoneView_base.ui index 4d026f13ed56e6cefb2062bc11e6594094f0e1a0..af4e43852a1ba0e6bd78340f96107d81373dfc3d 100644 --- a/sflphone-client-kde/src/ui/SFLPhoneView_base.ui +++ b/sflphone-client-kde/src/ui/SFLPhoneView_base.ui @@ -7,19 +7,13 @@ <x>0</x> <y>0</y> <width>337</width> - <height>420</height> + <height>526</height> </rect> </property> <property name="windowTitle"> <string notr="true">Form</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> - <property name="spacing"> - <number>1</number> - </property> - <property name="margin"> - <number>2</number> - </property> <item> <widget class="QStackedWidget" name="stackedWidget_screen"> <property name="sizePolicy"> @@ -29,24 +23,13 @@ </sizepolicy> </property> <property name="currentIndex"> - <number>0</number> + <number>1</number> </property> <widget class="QWidget" name="page_callList"> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QListWidget" name="listWidget_callList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> + <layout class="QHBoxLayout" name="horizontalLayout_3"/> </widget> <widget class="QWidget" name="page_callHistory"> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QListWidget" name="listWidget_callHistory"/> </item> @@ -92,96 +75,52 @@ </widget> </item> <item> - <widget class="QWidget" name="widget_dialpadAndControls" native="true"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>160</height> - </size> + <widget class="QWidget" name="widget_controls" native="true"> + <property name="enabled"> + <bool>true</bool> </property> - <layout class="QHBoxLayout" name="horizontalLayout_dialpadAndControls"> - <property name="spacing"> - <number>1</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QWidget" name="widget_recVol" native="true"> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QSlider" name="slider_recVol_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="toolTip"> + <string>Mic volume</string> + </property> <property name="layoutDirection"> <enum>Qt::RightToLeft</enum> </property> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <property name="spacing"> - <number>0</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QSlider" name="slider_recVol"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>50</height> - </size> - </property> - <property name="toolTip"> - <string>Mic volume</string> - </property> - <property name="layoutDirection"> - <enum>Qt::RightToLeft</enum> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <property name="maximum"> - <number>100</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="invertedAppearance"> - <bool>false</bool> - </property> - <property name="invertedControls"> - <bool>false</bool> - </property> - <property name="tickPosition"> - <enum>QSlider::NoTicks</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="toolButton_recVol"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="invertedAppearance"> + <bool>false</bool> + </property> + <property name="invertedControls"> + <bool>false</bool> + </property> + <property name="tickPosition"> + <enum>QSlider::NoTicks</enum> + </property> </widget> </item> - <item> + <item row="0" column="1" rowspan="2" colspan="2"> <widget class="Dialpad" name="widget_dialpad" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> @@ -191,136 +130,111 @@ </property> </widget> </item> - <item> - <widget class="QWidget" name="widget_sndVol" native="true"> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <property name="spacing"> - <number>0</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QSlider" name="slider_sndVol"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>50</height> - </size> - </property> - <property name="toolTip"> - <string>Speakers volume</string> - </property> - <property name="layoutDirection"> - <enum>Qt::LeftToRight</enum> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <property name="maximum"> - <number>100</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="tickPosition"> - <enum>QSlider::NoTicks</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="toolButton_sndVol"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>:/Images/speaker_75.svg</normaloff>:/Images/speaker_75.svg</iconset> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="checked"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> + <item row="0" column="3"> + <widget class="QSlider" name="slider_sndVol_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="toolTip"> + <string>Speakers volume</string> + </property> + <property name="layoutDirection"> + <enum>Qt::LeftToRight</enum> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::NoTicks</enum> + </property> </widget> </item> - </layout> - </widget> - </item> - <item> - <widget class="QWidget" name="widget_controlsAlone" native="true"> - <property name="enabled"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout" name="verticalLayout_6"> - <property name="spacing"> - <number>0</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QWidget" name="widget_recVolAlone" native="true"> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QToolButton" name="toolButton_recVolAlone"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider_recVolAlone"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> + <item row="1" column="0"> + <widget class="QToolButton" name="toolButton_recVol_2"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> </widget> </item> - <item> - <widget class="QWidget" name="widget_sndVolAlone" native="true"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QToolButton" name="toolButton_sndVolAlone"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="slider_sndVolAlone"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> + <item row="1" column="3"> + <widget class="QToolButton" name="toolButton_sndVol_2"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>:/Images/speaker_75.svg</normaloff>:/Images/speaker_75.svg</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QToolButton" name="toolButton_recVol"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="2" colspan="2"> + <widget class="QSlider" name="slider_recVol"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QToolButton" name="toolButton_sndVol"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>:/Images/mic_75.svg</normaloff>:/Images/mic_75.svg</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="3" column="2" colspan="2"> + <widget class="QSlider" name="slider_sndVol"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> </widget> </item> </layout> @@ -346,66 +260,66 @@ </resources> <connections> <connection> - <sender>slider_recVolAlone</sender> - <signal>valueChanged(int)</signal> - <receiver>slider_recVol</receiver> - <slot>setValue(int)</slot> + <sender>toolButton_sndVol</sender> + <signal>toggled(bool)</signal> + <receiver>toolButton_sndVol_2</receiver> + <slot>setChecked(bool)</slot> <hints> <hint type="sourcelabel"> - <x>158</x> - <y>434</y> + <x>26</x> + <y>509</y> </hint> <hint type="destinationlabel"> - <x>19</x> - <y>342</y> + <x>317</x> + <y>449</y> </hint> </hints> </connection> <connection> - <sender>slider_sndVolAlone</sender> - <signal>valueChanged(int)</signal> - <receiver>slider_sndVol</receiver> - <slot>setValue(int)</slot> + <sender>toolButton_recVol</sender> + <signal>toggled(bool)</signal> + <receiver>toolButton_recVol_2</receiver> + <slot>setChecked(bool)</slot> <hints> <hint type="sourcelabel"> - <x>264</x> - <y>463</y> + <x>25</x> + <y>478</y> </hint> <hint type="destinationlabel"> - <x>637</x> - <y>368</y> + <x>23</x> + <y>450</y> </hint> </hints> </connection> <connection> - <sender>toolButton_recVolAlone</sender> - <signal>clicked()</signal> - <receiver>toolButton_recVol</receiver> - <slot>click()</slot> + <sender>slider_recVol</sender> + <signal>valueChanged(int)</signal> + <receiver>slider_recVol_2</receiver> + <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>32</x> - <y>429</y> + <x>208</x> + <y>477</y> </hint> <hint type="destinationlabel"> - <x>12</x> - <y>402</y> + <x>19</x> + <y>318</y> </hint> </hints> </connection> <connection> - <sender>toolButton_sndVolAlone</sender> - <signal>clicked()</signal> - <receiver>toolButton_sndVol</receiver> - <slot>click()</slot> + <sender>slider_sndVol</sender> + <signal>valueChanged(int)</signal> + <receiver>slider_sndVol_2</receiver> + <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>18</x> - <y>462</y> + <x>253</x> + <y>500</y> </hint> <hint type="destinationlabel"> - <x>637</x> - <y>411</y> + <x>317</x> + <y>318</y> </hint> </hints> </connection> diff --git a/sflphone-client-kde/test.config b/sflphone-client-kde/test.config new file mode 100644 index 0000000000000000000000000000000000000000..8cec188b38b9176886d417469a701b599d82970f --- /dev/null +++ b/sflphone-client-kde/test.config @@ -0,0 +1 @@ +// ADD PREDEFINED MACROS HERE! diff --git a/sflphone-common/.cproject b/sflphone-common/.cproject new file mode 100644 index 0000000000000000000000000000000000000000..2f2b2a83bbc18134deb427278add4fd75d92e257 --- /dev/null +++ b/sflphone-common/.cproject @@ -0,0 +1,937 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?fileVersion 4.0.0?> + +<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> +<storageModule moduleId="org.eclipse.cdt.core.settings"> +<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1334434668"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1334434668" moduleId="org.eclipse.cdt.core.settings" name="Debug"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="sflphone-common" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1334434668" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug"> +<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1334434668." name="/" resourcePath=""> +<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1440064034" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug"> +<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1326164352" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/> +<builder buildPath="${workspace_loc:/sflphone-common}" id="cdt.managedbuild.target.gnu.builder.exe.debug.943929430" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="-1" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/> +<tool id="cdt.managedbuild.tool.gnu.archiver.base.346381185" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> +<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.27143558" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug"> +<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.921724511" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1752614994" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.548320150" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.8935091" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1442755176" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/> +<option id="gnu.c.compiler.exe.debug.option.debugging.level.768478086" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1769752022" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1740382896" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/> +<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1001572120" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug"> +<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2023620584" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1753020190" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug"> +<inputType id="cdt.managedbuild.tool.gnu.assembler.input.384585975" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> +</tool> +</toolChain> +</folderInfo> +<sourceEntries> +<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/> +</sourceEntries> +</configuration> +</storageModule> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1334434668;cdt.managedbuild.config.gnu.exe.debug.1334434668.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.8935091;cdt.managedbuild.tool.gnu.c.compiler.input.1769752022"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.418162094;cdt.managedbuild.config.gnu.exe.release.418162094.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1870258177;cdt.managedbuild.tool.gnu.c.compiler.input.186132729"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.418162094;cdt.managedbuild.config.gnu.exe.release.418162094.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.270168324;cdt.managedbuild.tool.gnu.cpp.compiler.input.758787020"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1334434668;cdt.managedbuild.config.gnu.exe.debug.1334434668.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.27143558;cdt.managedbuild.tool.gnu.cpp.compiler.input.548320150"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +</cconfiguration> +<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.418162094"> +<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.418162094" moduleId="org.eclipse.cdt.core.settings" name="Release"> +<externalSettings/> +<extensions> +<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> +<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> +</extensions> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<configuration artifactName="sflphone-common" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.418162094" name="Release" parent="cdt.managedbuild.config.gnu.exe.release"> +<folderInfo id="cdt.managedbuild.config.gnu.exe.release.418162094." name="/" resourcePath=""> +<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1224261522" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release"> +<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1551176649" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/> +<builder buildPath="${workspace_loc:/sflphone-common}" id="cdt.managedbuild.target.gnu.builder.exe.release.821405347" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="-1" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/> +<tool id="cdt.managedbuild.tool.gnu.archiver.base.808688542" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> +<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.270168324" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release"> +<option id="gnu.cpp.compiler.exe.release.option.optimization.level.324641683" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> +<option id="gnu.cpp.compiler.exe.release.option.debugging.level.1322686559" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> +<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.758787020" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1870258177" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release"> +<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.1967167078" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/> +<option id="gnu.c.compiler.exe.release.option.debugging.level.1326539031" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> +<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.186132729" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> +</tool> +<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1339934122" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/> +<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1247653269" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release"> +<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2024163167" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> +<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> +<additionalInput kind="additionalinput" paths="$(LIBS)"/> +</inputType> +</tool> +<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.779475213" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release"> +<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1675601061" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> +</tool> +</toolChain> +</folderInfo> +</configuration> +</storageModule> +<storageModule moduleId="scannerConfiguration"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1334434668;cdt.managedbuild.config.gnu.exe.debug.1334434668.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.8935091;cdt.managedbuild.tool.gnu.c.compiler.input.1769752022"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.418162094;cdt.managedbuild.config.gnu.exe.release.418162094.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1870258177;cdt.managedbuild.tool.gnu.c.compiler.input.186132729"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.418162094;cdt.managedbuild.config.gnu.exe.release.418162094.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.270168324;cdt.managedbuild.tool.gnu.cpp.compiler.input.758787020"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1334434668;cdt.managedbuild.config.gnu.exe.debug.1334434668.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.27143558;cdt.managedbuild.tool.gnu.cpp.compiler.input.548320150"> +<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="makefileGenerator"> +<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> +<buildOutputProvider> +<openAction enabled="true" filePath=""/> +<parser enabled="true"/> +</buildOutputProvider> +<scannerInfoProvider id="specsFile"> +<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> +<parser enabled="true"/> +</scannerInfoProvider> +</profile> +</scannerConfigBuildInfo> +</storageModule> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> +<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +</cconfiguration> +</storageModule> +<storageModule moduleId="cdtBuildSystem" version="4.0.0"> +<project id="sflphone-common.cdt.managedbuild.target.gnu.exe.246189308" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/> +</storageModule> +</cproject> diff --git a/.project b/sflphone-common/.project similarity index 91% rename from .project rename to sflphone-common/.project index f9b08154597ee09847322ef15e715a9a244a7b75..889ad35fbb41203bf3b6ff6423d3f3da57cd9058 100644 --- a/.project +++ b/sflphone-common/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>sflphone</name> + <name>sflphone-common</name> <comment></comment> <projects> </projects> @@ -23,12 +23,16 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildArguments</key> - <value></value> + <value>-j</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildCommand</key> <value>make</value> </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildLocation</key> + <value>${workspace_loc:/sflphone-common}</value> + </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> <value>clean</value> @@ -70,9 +74,9 @@ </buildCommand> </buildSpec> <natures> + <nature>org.eclipse.cdt.core.cnature</nature> <nature>org.eclipse.cdt.core.ccnature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> - <nature>org.eclipse.cdt.core.cnature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> </natures> </projectDescription> diff --git a/sflphone-common/Makefile.am b/sflphone-common/Makefile.am index 6d464df1bf37e8d39e06d4e3e91f6ecc220143b6..c5de2501fbb765d640061938f15ce4b259270a3a 100644 --- a/sflphone-common/Makefile.am +++ b/sflphone-common/Makefile.am @@ -18,6 +18,12 @@ unittest: @echo " -- You need the cppunit devel package to compile the unitary tests." endif +doc: + @(cd doc; make) + @echo "" + @echo "D-Bus API HTML documentation has been generated in doc/dbus-api/doc/spec" + @echo "" + indent: @echo "Indenting code:" if [ -f $(ASTYLERC) ] ; then \ diff --git a/sflphone-common/README b/sflphone-common/README index f32d8767a3f924e10b8707626b6cfe85f8da5d44..264dfc51f793e2fbb1c5d0b08177c9979453fed9 100644 --- a/sflphone-common/README +++ b/sflphone-common/README @@ -1,11 +1,10 @@ -This is SFLphone, release 0.9.6 +COPYRIGHT NOTICE -Copyright (c) Savoir-faire Linux, Inc 2004-2009 - <sflphoneteam@savoirfairelinux.com> +Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. -This program is free software; you can redistribute it and/or modify +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3 of the License, or +the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,8 +13,18 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +along with this program. If not, see <http://www.gnu.org/licenses/>. + +Additional permission under GNU GPL version 3 section 7: + +If you modify this program, or any covered work, by linking or +combining it with the OpenSSL project's OpenSSL library (or a +modified version of that library), containing parts covered by the +terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. +grants you additional permission to convey the resulting work. +Corresponding Source for a non-source form of such a combination +shall include the source code for the parts of OpenSSL used as well +as that of the covered work. Introduction diff --git a/sflphone-common/VERSION b/sflphone-common/VERSION index 06fa200552505d51e9a42251eb6ed4432c78ce90..e3e180701e2ae694f8818779c4e28321a6b11b32 100644 --- a/sflphone-common/VERSION +++ b/sflphone-common/VERSION @@ -1 +1 @@ -0.9.7~beta +0.9.8 diff --git a/sflphone-common/configure.ac b/sflphone-common/configure.ac index fe7cdfcc927b1878cab573e780f0984c19be50c1..0cf89b3821fa0b9276e98b3003d8d6bb00f16080 100644 --- a/sflphone-common/configure.ac +++ b/sflphone-common/configure.ac @@ -3,8 +3,8 @@ dnl dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) - AC_INIT([sflphone],[0.9.7~beta],[sflphoneteam@savoirfairelinux.com],[sflphone]) - AC_COPYRIGHT([[Copyright (c) Savoir-Faire Linux 2004-2009]]) + AC_INIT([sflphone],[0.9.8~rc1],[sflphoneteam@savoirfairelinux.com],[sflphone]) + AC_COPYRIGHT([[Copyright (c) Savoir-Faire Linux 2004, 2005, 2006, 2007, 2008, 2009, 2010]]) AC_REVISION([$Revision$]) AC_CANONICAL_SYSTEM @@ -19,7 +19,7 @@ AM_CONFIG_HEADER([config.h]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) dnl Use this variable in the program - AC_SUBST(PACKAGE_VERSION) +AC_SUBST(PACKAGE_VERSION) AM_PROG_LIBTOOL @@ -61,7 +61,6 @@ AC_CONFIG_FILES([Makefile]) src/audio/codecs/Makefile \ src/config/Makefile \ src/dbus/Makefile \ - src/plug-in/audiorecorder/Makefile \ src/plug-in/Makefile \ src/plug-in/test/Makefile \ src/hooks/Makefile \ @@ -70,12 +69,12 @@ AC_CONFIG_FILES([Makefile]) dnl Unitary test section AC_CONFIG_FILES([test/Makefile]) - AC_CONFIG_FILES([ringtones/Makefile]) AC_CONFIG_FILES([man/Makefile]) AC_CONFIG_FILES([doc/Makefile \ + doc/dbus-api/Makefile \ doc/doxygen/Makefile]) dnl the file stamp-h.in should be there before (instead of AC_CONFIG_HEADERS(config.h)) @@ -177,7 +176,7 @@ AC_SUBST(UUID_LIBS) AC_SUBST(ALSA_LIBS) dnl Check for pulseaudio development package - name: libpulse-dev - LIBPULSE_MIN_VERSION=0.9.6 + LIBPULSE_MIN_VERSION=0.9.15 PKG_CHECK_MODULES(PULSEAUDIO, libpulse >= ${LIBPULSE_MIN_VERSION}) AC_SUBST(PULSEAUDIO_LIBS) AC_SUBST(PULSEAUDIO_CFLAGS) @@ -254,27 +253,9 @@ AC_SUBST(dbus_LIBS) CXXFLAGS="-g -Wall -O2" fi - - - if test "$enable_glib" = "yes" ; then - PKG_CHECK_MODULES([glib], glib-2.0) - AC_SUBST(glib_CFLAGS) - AC_SUBST(glib_LIBS) - AM_CONDITIONAL(ENABLE_GLIB, test 1 = 1) -PKG_CHECK_MODULES([gtkmm], gtkmm-2.4, - AM_CONDITIONAL(HAVE_GTKMM, test 1 = 1), - AM_CONDITIONAL(HAVE_GTKMM, test 0 = 1) - ) - AC_SUBST(gtkmm_CFLAGS) -AC_SUBST(gtkmm_LIBS) - else - AM_CONDITIONAL(ENABLE_GLIB, test 0 = 1) -AM_CONDITIONAL(HAVE_GTKMM, test 0 = 1) - fi - AC_CHECK_LIB([expat], XML_ParserCreate_MM, [AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false)], - have_expat=false) + have_expat=false) if ! $have_expat; then AC_MSG_ERROR([You need the eXpat xml parser] @@ -284,7 +265,7 @@ fi xml_CFLAGS= xml_LIBS=-lexpat -AC_SUBST(xml_CFLAGS) + AC_SUBST(xml_CFLAGS) AC_SUBST(xml_LIBS) AC_CHECK_LIB([pthread], pthread_create, @@ -304,9 +285,9 @@ AC_CHECK_LIB([pcre], pcre_free, AC_MSG_ERROR([You need the Perl-Compatible Regular Expressions library (pcre)]) fi -PCRE_LIBS=-lpcre -PCRE_CFLAGS= -AC_SUBST(PCRE_LIBS) + PCRE_LIBS=-lpcre + PCRE_CFLAGS= + AC_SUBST(PCRE_LIBS) AC_SUBST(PCRE_CFLAGS) @@ -359,34 +340,27 @@ AC_ARG_WITH([speex], AS_IF([test "x$with_speex" != xno], [AC_CHECK_HEADER([speex/speex.h], , AC_MSG_FAILURE([Unable to find the libspeex headers (you may need to install the dev package). You may use --without-speex to compile without speex codec support.]))] - [AC_CHECK_HEADER([speex/speex_preprocess.h], , AC_MSG_FAILURE([Unable to find the libspeexdsp headers (you may need to install the libspeexdsp-dev package). You may use --without-speex to compile without speex codec support.]))] [AC_CHECK_LIB([speex], [speex_decode_int], [], [AC_MSG_FAILURE( [libspeex link test failed. You may use --without-speex to compile without speex codec support.])] ) ] - dnl More advanced check in case the libspeexdsp is not installed - AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", []) + # dnl More advanced check in case the libspeexdsp is not installed + # AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", []) ) +dnl check in case the libspeexdsp is not installed +AC_CHECK_HEADER([speex/speex_preprocess.h], , AC_MSG_FAILURE([Unable to find the libspeexdsp headers (you may need to install the libspeexdsp-dev package) used for Noise Suppression and Automatic Gain Control.])) +AC_CHECK_LIB(speexdsp, speex_preprocess_run, [], [], []) AC_DEFINE([HAVE_SPEEX], test "x$with_speex" = "xyes", [Define if you have libspeex]) AM_CONDITIONAL(BUILD_SPEEX, test "x$with_speex" = "xyes" ) AM_CONDITIONAL(ENABLE_SPEEXDSP, test $HAVE_SPEEXDSP = yes) dnl Check for celt. Compile it only if a recent enough version is found - LIBCELT_MIN_VERSION=0.5.1 + LIBCELT_MIN_VERSION=0.7.1 PKG_CHECK_MODULES(CELT, celt >= ${LIBCELT_MIN_VERSION}, AM_CONDITIONAL(BUILD_CELT, test 1 = 1 ), AM_CONDITIONAL(BUILD_CELT, test 0 = 1 )) - dnl Check for ilbc support -AC_ARG_WITH([ilbc], - [AS_HELP_STRING([--without-ilbc], - [disable support for the ilbc codec])], - [], - [with_ilbc=no]) - -AM_CONDITIONAL(BUILD_ILBC, test "x$with_ilbc" = "xyes" ) - dnl Check for IAX AC_ARG_WITH([iax2], [AS_HELP_STRING([--without-iax2], @@ -432,7 +406,7 @@ AC_DEFUN([BB_ENABLE_DOXYGEN], if test x$DOT = x; then if test "x$enable_dot" = xyes; then -AC_MSG_ERROR([could not find dot]) + AC_MSG_ERROR([could not find dot]) fi enable_dot=no else @@ -441,24 +415,22 @@ AC_MSG_ERROR([could not find dot]) AM_CONDITIONAL(ENABLE_DOXYGEN, test x$enable_doc = xtrue) AC_SUBST(enable_dot) AC_SUBST(enable_html_docs) -AC_SUBST(enable_latex_docs) + AC_SUBST(enable_latex_docs) ]) -# Acutally perform the doxygen check + # Acutally perform the doxygen check BB_ENABLE_DOXYGEN dnl Datadir directory sflphone_datadir=$datadir/sflphone -AC_SUBST(sflphone_datadir) + AC_SUBST(sflphone_datadir) dnl Dbus Service activation part DBUS_SERVICES_DIR="$datadir/dbus-1/services" -AC_SUBST(DBUS_SERVICES_DIR) + AC_SUBST(DBUS_SERVICES_DIR) AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) # Go! AC_SUBST(SFLPHONE_CFLAGS) -AC_SUBST(SFLPHONE_LIBS) + AC_SUBST(SFLPHONE_LIBS) AC_OUTPUT AC_MSG_NOTICE([[Configuration done! Please make sure that pjsip library (libs/pjproject) has already been compiled. Run `make' to build the software.]]) - - diff --git a/sflphone-common/doc/Makefile.am b/sflphone-common/doc/Makefile.am index bbe34b9b1a6c74986447496e5d138d4902d5f937..f742c26ce5b69235cbafa55a31bf5292ffffa0e7 100644 --- a/sflphone-common/doc/Makefile.am +++ b/sflphone-common/doc/Makefile.am @@ -1,6 +1,6 @@ -SUBDIRS = doxygen +SUBDIRS = doxygen dbus-api .PHONY: doc doc: - $(MAKE) -C doxygen doc \ No newline at end of file + $(MAKE) -C doxygen doc diff --git a/sflphone-common/doc/dbus-api/Makefile.am b/sflphone-common/doc/dbus-api/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..ced9bceb9dcbb3635220042dfdc8cacd9f35fe13 --- /dev/null +++ b/sflphone-common/doc/dbus-api/Makefile.am @@ -0,0 +1,28 @@ +include $(top_srcdir)/globals.mak + +XSLTPROC=xsltproc --xinclude --nonet +PYTHON=python + +XMLS= $(wildcard $(top_srcdir)/src/dbus/spec/*.xml) +TEMPLATES= $(wildcard doc/templates/*) + +GENERATED_FILES = \ + doc/spec.html \ + doc/spec/index.html + +doc/spec.html: $(XMLS) tools/doc-generator.xsl + @install -d tmp/doc + $(XSLTPROC) tools/doc-generator.xsl spec/all.xml > tmp/$@ + mv tmp/$@ $@ + +doc/spec/index.html: $(XMLS) tools/doc-generator.py tools/specparser.py $(TEMPLATES) + @install -d tmp/doc + $(PYTHON) tools/doc-generator.py spec/all.xml doc/spec sflphone-spec org.sflphone.SFLphone + +all: $(GENERATED_FILES) + +clean: + rm -rf $(GENERATED_FILES) + rm -rf doc/spec + rm -rf tmp + diff --git a/sflphone-common/doc/dbus-api/README b/sflphone-common/doc/dbus-api/README new file mode 100644 index 0000000000000000000000000000000000000000..3adb69af24b6160d4339180ba0d31cc003ab850e --- /dev/null +++ b/sflphone-common/doc/dbus-api/README @@ -0,0 +1,7 @@ +SFLphone D-Bus API documentation. Generated with xsltproc. + +Wiki reference: https://projects.savoirfairelinux.com/wiki/sflphone/Dbus-API + +Run Makefile to generate the HTML API documentation, from the xml interfaces in *sflphone-common/src/dbus*. + +The documentation is generated in *sflphone-common/doc/dbus-api/doc/spec* diff --git a/sflphone-common/doc/dbus-api/doc/templates/devhelp.devhelp2 b/sflphone-common/doc/dbus-api/doc/templates/devhelp.devhelp2 new file mode 100644 index 0000000000000000000000000000000000000000..af327fa6d99be647dc588b574b489ab6f6bf8ace --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/devhelp.devhelp2 @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<book xmlns="http://www.devhelp.net/book" title="$spec.title" name="$name" link="index.html"> + <chapters> +#for $interface in $spec.interfaces + <sub name="$interface.name" link="$interface.get_url()"/> +#end for + <sub name="Generic Types" link="generic-types.html"/> + <sub name="Errors" link="errors.html"/> + <sub name="Full Index" link="fullindex.html"/> + </chapters> + <functions> +#for $obj in $spec.everything.values() + $spec.types.values() + $spec.errors.values() + <keyword type="$obj.devhelp_name" name="$obj.get_title()" link="$obj.get_url()" #slurp +#if $obj.deprecated: deprecated="true" #slurp +/> +#end for + </functions> +</book> diff --git a/sflphone-common/doc/dbus-api/doc/templates/errors.html b/sflphone-common/doc/dbus-api/doc/templates/errors.html new file mode 100644 index 0000000000000000000000000000000000000000..907d6601c2145a5c825a82165b3cc493528076ca --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/errors.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>Errors</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + <body> + <div class="header"> + <h1>Errors</h1> + <a href="index.html">Interface Index</a> + (<a href="interfaces.html">Compact</a>) + | <a href="#summary">Summary</a> + | <a href="#errors">Errors</a> + </div> + <div class="main"> + <div class="summary"> + <a name="summary"></a> + <h3>Errors</h3> + <table class="summary"> + #for $error in $spec.errors.values() + #if $error.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$error.get_url()">$error.short_name</a></td> + <td> + #if $error.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + </div> + + <div class="outset errors error"> + <a name="errors"></a> + <h1>Errors</h1> + #for $error in $spec.errors.values() + <div class="inset error"> + <a name="$error.name"></a> + <span class="permalink">(<a href="$error.get_url()">Permalink</a>)</span> + <h2> + $error.short_name + </h2> + + <div class="indent"> + <code>$error.name</code> + </div> + + $error.get_added() + $error.get_deprecated() + $error.get_docstring() + </div> + #end for + </div> + </div> + + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/fullindex.html b/sflphone-common/doc/dbus-api/doc/templates/fullindex.html new file mode 100644 index 0000000000000000000000000000000000000000..2c465e1dd71271750111de42d7c471f0d01686fd --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/fullindex.html @@ -0,0 +1,60 @@ +#from itertools import groupby +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>Full Index</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + +#set $star = [] +#for $item in $spec.everything.values() + $spec.errors.values() + $spec.generic_types + #echo $star.append(($item.short_name, $item)) + #slurp +#end for +#echo $star.sort(key = lambda t: t[0].title()) +#slurp +## one use iterators... +#set $groups = [ (l, list(g)) for l, g in (groupby($star, key = lambda t: t[0][0].upper())) ] +#set $letters = set(map(lambda t: t[0], groups)) + + <body> + <div class="header"> + <h1>Full Index</h1> + <a href="index.html">Interface Index</a> + (<a href="interfaces.html">Compact</a>) + #for $a in map(chr, xrange(ord('A'), ord('Z')+1)) + #if $a in $letters + | <a href="#$a">$a</a> + #else + | $a + #end if + #end for + </div> + + <div class="main"> + <table class="summary"> + #for l, g in $groups + <tr><th colspan="3"><a name="$l"></a>$l</th></tr> + #for $n in $g + #if $n[1].deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td> + <a href="$n[1].get_url()" title="$n[1].get_title()">$n[0]</a> + #if $n[1].deprecated: (deprecated) + </td> + <td>$n[1].get_type_name()</td> + <td> + #if $n[1].parent.__class__.__name__ == 'Interface': $n[1].parent.name + </td> + </tr> + #end for + #end for + <table> + </div> + + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/generic-types.html b/sflphone-common/doc/dbus-api/doc/templates/generic-types.html new file mode 100644 index 0000000000000000000000000000000000000000..0bb209e432210d364402ce23987000dbe66b7185 --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/generic-types.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>Generic Types</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + <body> + <div class="header"> + <h1>Generic Types</h1> + <a href="index.html">Interface Index</a> + (<a href="interfaces.html">Compact</a>) + | <a href="#summary">Summary</a> + | <a href="#types">Types</a> + </div> + <div class="main"> + <div class="summary"> + <a name="summary"></a> + <h3>Generic Types</h3> + <table class="summary"> + #for $type in $spec.generic_types + #if $type.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$type.get_url()">$type.short_name</a></td> + <td>$type.get_type_name()</td> + <td>$type.dbus_type</td> + <td> + #if $type.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + </div> + + <div class="outset types type"> + <a name="types"></a> + <h1>Generic Types</h1> + #for $type in $spec.generic_types + <div class="inset type"> + <a name="$type.name"></a> + <span class="permalink">$type.get_type_name() (<a href="$type.get_url()">Permalink</a>)</span> + <h2> + $type.short_name — $type.dbus_type + </h2> + + $type.get_added() + $type.get_deprecated() + $type.get_docstring() + $type.get_breakdown() + </div> + #end for + </div> + </div> + + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/index.html b/sflphone-common/doc/dbus-api/doc/templates/index.html new file mode 100644 index 0000000000000000000000000000000000000000..efc38d4e8ec411eb9721c5e01f222f0c4d392913 --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/index.html @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>$spec.title &mdash v$spec.version</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + <body> + <div class="header"> + <h1>$spec.title</h1> + <a href="#interfaces">Interfaces</a> + (<a href="interfaces.html">Compact</a>) + | <a href="generic-types.html">Generic Types</a> + | <a href="errors.html">Errors</a> + | <a href="fullindex.html">Full Index</a> + </div> + + <div class="main"> + <h3 class="version">Version $spec.version</h3> + <p class="copyrights"> + #echo '<br/>'.join($spec.copyrights) + </p> + $spec.license + + <a name="interfaces"></a> + <h3>Interfaces</h3> + <ul> + #def output($items) + #for $item in $items + #if $item.__class__.__name__ == 'Section' + <li class="chapter">$item.short_name</li> + $item.get_docstring() + <ul> + $output($item.items) + </ul> + #else + #if $item.causes_havoc + <li class="causes-havoc"> + #elif $item.deprecated + <li class="deprecated"> + #else + <li> + #end if + <a href="$item.get_url()">$item.name</a> + #if $item.causes_havoc + (unstable) + #elif $item.deprecated + (deprecated) + #end if + </li> + #end if + #end for + #end def + $output($spec.items) + </ul> + + <a name="other"></a> + <h3>Other</h3> + <ul> + <li><a href="generic-types.html">Generic Types</a></li> + <li><a href="errors.html">Errors</a></li> + </ul> + + </div> + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/interface.html b/sflphone-common/doc/dbus-api/doc/templates/interface.html new file mode 100644 index 0000000000000000000000000000000000000000..79c35b201c8c6d001022567028311f38c8390dee --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/interface.html @@ -0,0 +1,424 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>$interface.name</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + <body> + <div class="header"> + <h1>Interface $interface.name</h1> + <a href="index.html">Interface Index</a> + (<a href="interfaces.html">Compact</a>) + | <a href="#summary">Summary</a> + #if $interface.docstring: | <a href="#description">Description</a> + #if $interface.methods: | <a href="#methods">Methods</a> + #if $interface.signals: | <a href="#signals">Signals</a> + #if $interface.properties: | <a href="#properties">Properties</a> + #if $interface.tpproperties: | <a href="#tpproperties">Telepathy Properties</a> + #if $interface.contact_attributes: | <a href="#contact-attributes">Contact Attributes</a> + #if $interface.handler_capability_tokens: | <a href="#handler-capability-tokens">Handler Capability Tokens</a> + #if $interface.types: | <a href="#types">Types</a> + </div> + <div class="main"> + + #if $interface.methods or $interface.signals or $interface.properties or $interface.types or $interface.tpproperties + <div class="summary"> + <a name="summary"></a> + #if $interface.methods + <h3>Methods</h3> + <table class="summary"> + #for $method in $interface.methods + #if $method.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$method.get_url()">$method.short_name</a></td> + <td>($method.get_in_args())</td> + <td>→</td> + <td>$method.get_out_args()</td> + <td> + #if $method.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + #end if + + #if $interface.signals + <h3>Signals</h3> + <table class="summary"> + #for $signal in $interface.signals + #if $signal.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$signal.get_url()">$signal.short_name</a></td> + <td>($signal.get_args())</td> + <td> + #if $signal.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + #end if + + #if $interface.properties + <h3>Properties</h3> + <table class="summary"> + #for $property in $interface.properties + #if $property.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$property.get_url()">$property.short_name</a></td> + <td> + $property.dbus_type + #if $property.type: (<a href="$property.get_type_url()" title="$property.get_type_title()">$property.get_type().short_name</a>) + </td> + <td>$property.get_access()</td> + <td> + #if $property.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + #end if + + #if $interface.tpproperties + <h3>Telepathy Properties</h3> + <table class="summary"> + #for $property in $interface.tpproperties + <tr class="deprecated"> + <td><a href="$property.get_url()">$property.short_name</a></td> + <td> + $property.dbus_type + #if $property.type: (<a href="$property.get_type_url()" title="$property.get_type_title()">$property.get_type().short_name</a>) + </td> + </tr> + #end for + </table> + #end if + + #if $interface.contact_attributes + <h3>Contact Attributes</h3> + <table class="summary"> + #for $token in $interface.contact_attributes + <tr class="contact-attribute"> + <td><a href="$token.get_url()">$token.name</a></td> + <td> + $token.dbus_type + #if $token.type: (<a href="$token.get_type_url()" title="$token.get_type_title()">$token.get_type().short_name</a>) + </td> + </tr> + #end for + </table> + #end if + + #if $interface.handler_capability_tokens + <h3>Handler Capability Tokens</h3> + <table class="summary"> + #for $token in $interface.handler_capability_tokens + <tr class="handler-capability-token"> + <td><a href="$token.get_url()">$token.name</a> + #if $token.is_family + (etc.) + #end if + </td> + <td> + </td> + </tr> + #end for + </table> + #end if + + #if $interface.types + <h3>Types</h3> + <table class="summary"> + #for $type in $interface.types + #if type.deprecated + <tr class="deprecated"> + #else + <tr> + #end if + <td><a href="$type.get_url()">$type.short_name</a></td> + <td>$type.get_type_name()</td> + <td>$type.dbus_type</td> + <td> + #if $type.deprecated: (deprecated) + </td> + </tr> + #end for + </table> + #end if + </div> + #end if + + #if $interface.causes_havoc + <div class="havoc"><span class="warning">WARNING:</span> + This interface is $interface.causes_havoc and is likely to cause havoc + to your API/ABI if bindings are generated. Do not include this interface + in libraries that care about compatibility. + </div> + #end if + $interface.get_added() + $interface.get_changed() + $interface.get_deprecated() + + #if $interface.requires + <div class="requires"> + Objects implementing this interface must also implement: + <ul> + #for $req in $interface.get_requires() + <li><a href="$req.get_url()" title="$req.get_title()">$req.name</a></li> + #end for + </ul> + </div> + #end if + + #if $interface.docstring + <a name="description"></a> + <h3>Description</h3> + $interface.get_docstring() + #end if + + #if $interface.methods + <div class="outset methods method"> + <a name="methods"></a> + <h1>Methods</h1> + #for $method in $interface.methods + <div class="inset method"> + <a name="$method.name"></a> + <span class="permalink">(<a href="$method.get_url()">Permalink</a>)</span> + <h2>$method.short_name ($method.get_in_args()) → $method.get_out_args()</h2> + + $method.get_added() + $method.get_changed() + $method.get_deprecated() + + #if $method.in_args + <div class="indent"> + <h3>Parameters</h3> + <ul> + #for $arg in $method.in_args + <li> + $arg.short_name — $arg.dbus_type + #if $arg.get_type(): (<a href="$arg.get_type_url()" title="$arg.get_type_title()">$arg.get_type().short_name</a>) + </li> + $arg.get_added() + $arg.get_changed() + $arg.get_deprecated() + $arg.get_docstring() + #end for + </ul> + </div> + #end if + + #if $method.out_args + <div class="indent"> + <h3>Returns</h3> + <ul> + #for $arg in $method.out_args + <li> + $arg.short_name — $arg.dbus_type + #if $arg.get_type(): (<a href="$arg.get_type_url()" title="$arg.get_type_title()">$arg.get_type().short_name</a>) + </li> + $arg.get_added() + $arg.get_changed() + $arg.get_deprecated() + $arg.get_docstring() + #end for + </ul> + </div> + #end if + + $method.get_docstring() + + #if $method.possible_errors + <hr/> + <div class="indent"> + <h3>Possible Errors</h3> + <ul> + #for $error in $method.possible_errors + <li><a href="$error.get_url()" title="$error.get_title()">$error.get_error().short_name</a></li> + $error.get_added() + $error.get_changed() + $error.get_deprecated() + $error.get_docstring() + #end for + </ul> + </div> + #end if + </div> + #end for + </div> + #end if + + #if $interface.signals + <div class="outset signals signal"> + <a name="signals"></a> + <h1>Signals</h1> + #for $signal in $interface.signals + <div class="inset signal"> + <a name="$signal.name"></a> + <span class="permalink">(<a href="$signal.get_url()">Permalink</a>)</span> + <h2>$signal.short_name ($signal.get_args())</h2> + + $signal.get_added() + $signal.get_changed() + $signal.get_deprecated() + + #if $signal.args + <div class="indent"> + <h3>Parameters</h3> + <ul> + #for $arg in $signal.args + <li> + $arg.short_name — $arg.dbus_type + #if $arg.get_type(): (<a href="$arg.get_type_url()" title="$arg.get_type_title()">$arg.get_type().short_name</a>) + </li> + $arg.get_added() + $arg.get_changed() + $arg.get_deprecated() + $arg.get_docstring() + #end for + </ul> + </div> + #end if + + $signal.get_docstring() + </div> + #end for + </div> + #end if + + #if $interface.properties + <div class="outset properties property"> + <a name="properties"></a> + <h1>Properties</h1> + <div> + Accessed using the org.freedesktop.DBus.Properties interface. + </div> + #for $property in $interface.properties + <div class="inset property"> + <a name="$property.name"></a> + <span class="permalink">(<a href="$property.get_url()">Permalink</a>)</span> + <h2> + $property.short_name — $property.dbus_type + #if $property.type: (<a href="$property.get_type_url()" title="$property.get_type_title()">$property.get_type().short_name</a>) + </h2> + <div class="access">$property.get_access()</div> + + $property.get_added() + $property.get_changed() + $property.get_deprecated() + $property.get_docstring() + </div> + #end for + </div> + #end if + + #if $interface.tpproperties + <div class="outset tpproperties tpproperty"> + <a name="tpproperties"></a> + <h1>Telepathy Properties</h1> + <div> + Accessed using the org.freedesktop.Telepathy.Properties interface. + </div> + #for $property in $interface.tpproperties + <div class="inset tpproperty"> + <a name="$property.name"></a> + <span class="permalink">(<a href="$property.get_url()">Permalink</a>)</span> + <h2> + $property.short_name — $property.dbus_type + #if $property.type: (<a href="$property.get_type_url()" title="$property.get_type_title()">$property.get_type().short_name</a>) + </h2> + $property.get_added() + $property.get_changed() + $property.get_deprecated() + $property.get_docstring() + </div> + #end for + </div> + #end if + + #if $interface.contact_attributes + <div class="outset contact-attributes"> + <a name="contact-attributes"></a> + <h1>Contact Attributes</h1> + <div> + Attributes that a contact can have, accessed with the + org.freedesktop.Telepathy.Connection.Interface.Contacts interface. + </div> + #for $token in $interface.contact_attributes + <div class="inset contact-attribute"> + <a name="$token.name"></a> + <span class="permalink">(<a href="$token.get_url()">Permalink</a>)</span> + <h2> + $token.name — $token.dbus_type + #if $token.type: (<a href="$token.get_type_url()" title="$token.get_type_title()">$token.get_type().short_name</a>) + </h2> + $token.get_added() + $token.get_changed() + $token.get_deprecated() + $token.get_docstring() + </div> + #end for + </div> + #end if + + #if $interface.handler_capability_tokens + <div class="outset handler-capability-tokens"> + <a name="handler-capability-tokens"></a> + <h1>Handler Capability Tokens</h1> + <div> + Tokens representing capabilities that a Client.Handler can have. + </div> + #for $token in $interface.handler_capability_tokens + <div class="inset handler-capability-token"> + <a name="$token.name"></a> + <span class="permalink">(<a href="$token.get_url()">Permalink</a>)</span> + <h2> + $token.name + #if $token.is_family + (etc.) + #end if + </h2> + $token.get_added() + $token.get_changed() + $token.get_deprecated() + $token.get_docstring() + </div> + #end for + </div> + #end if + + #if $interface.types + <div class="outset types type"> + <a name="types"></a> + <h1>Types</h1> + #for $type in $interface.types + <div class="inset type"> + <a name="$type.name"></a> + <span class="permalink">$type.get_type_name() (<a href="$type.get_url()">Permalink</a>)</span> + <h2> + $type.short_name — $type.dbus_type + </h2> + + $type.get_added() + $type.get_changed() + $type.get_deprecated() + $type.get_docstring() + $type.get_breakdown() + </div> + #end for + </div> + #end if + + </div> + + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/interfaces.html b/sflphone-common/doc/dbus-api/doc/templates/interfaces.html new file mode 100644 index 0000000000000000000000000000000000000000..a93334c65de98f8e1a8933316778579d3e18d6a7 --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/interfaces.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ""> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>$spec.title &mdash v$spec.version</title> + <link rel="stylesheet" href="style.css" type="text/css"/> + </head> + <body> + <div class="header"> + <h1>$spec.title</h1> + <a href="index.html">Full</a> + | <a href="generic-types.html">Generic Types</a> + | <a href="errors.html">Errors</a> + | <a href="fullindex.html">Full Index</a> + </div> + + <div class="main"> + <b>Version $spec.version</b> + + <a name="interfaces"></a> + <h3>Interfaces</h3> + <ul> + #for $interface in $spec.interfaces + #if $interface.causes_havoc + <li class="causes-havoc"> + #elif $interface.deprecated + <li class="deprecated"> + #else + <li> + #end if + <a href="$interface.get_url()">$interface.name</a> + #if $interface.causes_havoc + (unstable) + #elif $interface.deprecated + (deprecated) + #end if + </li> + #end for + </ul> + + <a name="other"></a> + <h3>Other</h3> + <ul> + <li><a href="generic-types.html">Generic Types</a></li> + <li><a href="errors.html">Errors</a></li> + </ul> + + </div> + </body> +</html> diff --git a/sflphone-common/doc/dbus-api/doc/templates/style.css b/sflphone-common/doc/dbus-api/doc/templates/style.css new file mode 100644 index 0000000000000000000000000000000000000000..979ced8caee61b00d127e83feb7c5576fbf1c191 --- /dev/null +++ b/sflphone-common/doc/dbus-api/doc/templates/style.css @@ -0,0 +1,237 @@ +html, body, +h1, h2 { + font-family: "Georgia"; + margin: 0; + padding: 0; +} + +h3 { + margin-top: 2pt; + margin-bottom: 2pt; +} + +ul { + margin: 1ex; + margin-left: 1.5em; + padding: 0; +} + +hr { + border-style: none; + color: #cccccc; + background-color: #cccccc; + height: 1px; +} + +div.header { + position: fixed; + height: 4em; + background-color: AliceBlue; + width: 100%; + margin: 0; + padding: 0.5ex; + border-bottom: 1px solid black; + top: 0; + left: 0; + z-index: 1; +} + +div.header h1 { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +div.main { + margin-top: 5em; + margin-left: 1ex; + margin-right: 1ex; + margin-bottom: 1ex; +} + +div.main a[name] { + position: relative; + top: -4.5em; +} + +div.outset { + padding: 1ex; + margin-top: 1ex; + margin-bottom: 1ex; +} + +div.inset { + background-color: white; + margin-top: 1ex; + margin-bottom: 1ex; + padding: 0.5ex; +} + +div.indent { + margin-left: 1em; +} + +div.methods { + background-color: #fcaf3e; +} + +div.method { + border: 1px solid #f57900; +} + +div.signals { + background-color: #729fcf; +} + +div.signal { + border: 1px solid #3465a4; +} + +div.properties { + background-color: #ad7fa8; +} + +div.property { + border: 1px solid #75507b; +} + +div.tpproperties { + background-color: #999999; +} + +div.tpproperty { + border: 1px solid #333333; +} + +div.contact-attributes { + background-color: #ccccff; + border: 1px solid #9999cc; +} + +div.contact-attribute { + border: 1px solid #9999cc; +} + +div.handler-capability-tokens { + background-color: #339933; + border: 1px solid #228822; +} + +div.handler-capability-token { + border: 1px solid #228822; +} + +div.types { + background-color: #e9b96e; +} + +div.type { + border: 1px solid #c17d11; +} + +div.errors { + background-color: #ef2929; +} + +div.error { + border: 1px solid #cc0000; +} + +div.access { + font-weight: bold; + margin-left: 1ex; +} + +div.summary { + padding: 0.5ex; + background-color: #eeeeec; + border: 1px solid #d3d7cf; +} + +table.summary { + margin: 1ex; + font-size: small; +} + +table.summary td { + padding-right: 1ex; +} + +li.chapter { + margin-top: 1ex; + font-weight: bold; +} + +li.causes-havoc { + font-style: italic; +} + +li.deprecated, +li.deprecated a, +table.summary tr.deprecated td, +table.summary tr.deprecated td a { + color: gray; +} + +div.requires, +div.docstring { + margin: 1ex; +} + +div.added { + border-left: 2px solid #4e9a06; + margin: 1ex; + padding-left: 1ex; +} + +div.added span.version { + color: #4e9a06; + font-weight: bold; +} + +div.changed { + border-left: 2px solid #8f5902; + margin: 1ex; + padding-left: 1ex; +} + +div.changed span.version { + color: #8f5902; + font-weight: bold; +} + +div.deprecated, +div.havoc { + border-left: 2px solid #a40000; + margin: 1ex; + padding-left: 1ex; +} + +div.deprecated span.version, +span.warning { + color: #a40000; + font-weight: bold; +} + +div.rationale { + border-left: 2px solid gray; + margin: 1ex; + padding-left: 1ex; +} + +span.permalink { + float: right; + font-size: x-small; +} + +.license { + clear: both; + border: 1px solid #dedede; + font-style: italic; + padding: 15px; +} + +.copyrights { + clear: both; + float: right; +} diff --git a/sflphone-common/doc/dbus-api/spec/all.xml b/sflphone-common/doc/dbus-api/spec/all.xml new file mode 100644 index 0000000000000000000000000000000000000000..b87a0e1e41083510f2666fdb62b8c339087eef61 --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/all.xml @@ -0,0 +1,55 @@ +<tp:spec + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + xmlns:xi="http://www.w3.org/2001/XInclude"> + +<tp:title>SFLphone D-Bus Interface Specification</tp:title> +<tp:version>0.9.8</tp:version> + +<tp:copyright>Copyright © 2005-2010 Savoir-faire Linux Inc</tp:copyright> + +<tp:license xmlns="http://www.w3.org/1999/xhtml"> +<p>This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version.</p> + +<p>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 +Lesser General Public License for more details.</p> + +<p>You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p> +</tp:license> + +<tp:section name="Instances Manager"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p> + An Instance Manager to handle multiple clients connections. Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface. + </p> + </tp:docstring> + <xi:include href="instance-introspec.xml"/> +</tp:section> + +<tp:section name="Call Manager"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p> + A Call Manager to handle call-related features. + </p> + </tp:docstring> + <xi:include href="callmanager-introspec.xml"/> +</tp:section> + +<tp:section name="Configuration Manager"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p> + A Configuration Manager to handle account configuration, user preferences, ... + </p> + </tp:docstring> + <xi:include href="configurationmanager-introspec.xml"/> +</tp:section> + +<xi:include href="generic-types.xml"/> + +</tp:spec> diff --git a/sflphone-common/doc/dbus-api/spec/callmanager-introspec.xml b/sflphone-common/doc/dbus-api/spec/callmanager-introspec.xml new file mode 120000 index 0000000000000000000000000000000000000000..2150eca25d2f7405bf1f7c8684247457538207c6 --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/callmanager-introspec.xml @@ -0,0 +1 @@ +../../../src/dbus/callmanager-introspec.xml \ No newline at end of file diff --git a/sflphone-common/doc/dbus-api/spec/configurationmanager-introspec.xml b/sflphone-common/doc/dbus-api/spec/configurationmanager-introspec.xml new file mode 120000 index 0000000000000000000000000000000000000000..d340519f1a8287c927fa3e8c516b256438dc2a63 --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/configurationmanager-introspec.xml @@ -0,0 +1 @@ +../../../src/dbus/configurationmanager-introspec.xml \ No newline at end of file diff --git a/sflphone-common/doc/dbus-api/spec/errors.xml b/sflphone-common/doc/dbus-api/spec/errors.xml new file mode 100644 index 0000000000000000000000000000000000000000..22a629baff276dbeb4439352acb7df7a90b319be --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/errors.xml @@ -0,0 +1,417 @@ +<?xml version="1.0" ?> +<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" namespace="org.freedesktop.Telepathy.Error"> + <tp:error name="Network Error"> + <tp:docstring> + Raised when there is an error reading from or writing to the network. + </tp:docstring> + </tp:error> + + <tp:error name="Not Implemented"> + <tp:docstring> + Raised when the requested method, channel, etc is not available on this connection. + </tp:docstring> + </tp:error> + + <tp:error name="Invalid Argument"> + <tp:docstring> + Raised when one of the provided arguments is invalid. + </tp:docstring> + </tp:error> + + <tp:error name="Not Available"> + <tp:docstring> + Raised when the requested functionality is temporarily unavailable. + </tp:docstring> + </tp:error> + + <tp:error name="Permission Denied"> + <tp:docstring> + The user is not permitted to perform the requested operation. + </tp:docstring> + </tp:error> + + <tp:error name="Disconnected"> + <tp:docstring> + The connection is not currently connected and cannot be used. + This error may also be raised when operations are performed on a + Connection for which + <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">StatusChanged</tp:dbus-ref> + has signalled status Disconnected for reason None. + + <tp:rationale> + The second usage corresponds to None in the + <tp:type>Connection_Status_Reason</tp:type> enum; if a better reason + is available, the corresponding error should be used instead. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Invalid Handle"> + <tp:docstring> + The handle specified is unknown on this channel or connection. + </tp:docstring> + </tp:error> + + <tp:error name="Channel.Banned"> + <tp:docstring> + You are banned from the channel. + </tp:docstring> + </tp:error> + + <tp:error name="Channel.Full"> + <tp:docstring> + The channel is full. + </tp:docstring> + </tp:error> + + <tp:error name="Channel.Invite Only"> + <tp:docstring> + The requested channel is invite-only. + </tp:docstring> + </tp:error> + + <tp:error name="Not Yours"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The requested channel or other resource already exists, and another + user interface in this session is responsible for it.</p> + + <p>User interfaces SHOULD handle this error unobtrusively, since it + indicates that some other user interface is already processing the + channel.</p> + </tp:docstring> + </tp:error> + + <tp:error name="Cancelled"> + <tp:docstring> + Raised by an ongoing request if it is cancelled by user request before + it has completed, or when operations are performed on an object which + the user has asked to close (for instance, a Connection where the user + has called Disconnect, or a Channel where the user has called Close). + + <tp:rationale> + The second form can be used to correspond to the Requested member in + the <tp:type>Connection_Status_Reason</tp:type> enum, or to + to represent the situation where disconnecting a Connection, + closing a Channel, etc. has been requested by the user but this + request has not yet been acted on, for instance because the + service will only act on the request when it has finished processing + an event queue. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Authentication Failed"> + <tp:docstring> + Raised when authentication with a service was unsuccessful. + <tp:rationale> + This corresponds to Authentication_Failed in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Encryption Not Available"> + <tp:docstring> + Raised if a user request insisted that encryption should be used, + but encryption was not actually available. + + <tp:rationale> + This corresponds to part of Encryption_Error in the + <tp:type>Connection_Status_Reason</tp:type> enum. It's been separated + into a distinct error here because the two concepts that were part + of EncryptionError seem to be things that could reasonably appear + differently in the UI. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Encryption Error"> + <tp:docstring> + Raised if encryption appears to be available, but could not actually be + used (for instance if SSL/TLS negotiation fails). + <tp:rationale> + This corresponds to part of Encryption_Error in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Not Provided"> + <tp:docstring> + Raised if the server did not provide a SSL/TLS certificate. This error + MUST NOT be used to represent the absence of a client certificate + provided by the Telepathy connection manager. + <tp:rationale> + This corresponds to Cert_Not_Provided in the + <tp:type>Connection_Status_Reason</tp:type> enum. That error + explicitly applied only to server SSL certificates, so this one + is similarly limited; having the CM present a client certificate + is a possible future feature, but it should have its own error + handling. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Untrusted"> + <tp:docstring> + Raised if the server provided a SSL/TLS certificate signed by an + untrusted certifying authority. This error SHOULD NOT be used to + represent a self-signed certificate: see the Self Signed error for that. + <tp:rationale> + This corresponds to Cert_Untrusted in the + <tp:type>Connection_Status_Reason</tp:type> enum, with a clarification + to avoid ambiguity. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Expired"> + <tp:docstring> + Raised if the server provided an expired SSL/TLS certificate. + <tp:rationale> + This corresponds to Cert_Expired in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Not Activated"> + <tp:docstring> + Raised if the server provided an SSL/TLS certificate that will become + valid at some point in the future. + <tp:rationale> + This corresponds to Cert_Not_Activated in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Fingerprint Mismatch"> + <tp:docstring> + Raised if the server provided an SSL/TLS certificate that did not have + the expected fingerprint. + <tp:rationale> + This corresponds to Cert_Fingerprint_Mismatch in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Hostname Mismatch"> + <tp:docstring> + Raised if the server provided an SSL/TLS certificate that did not match + its hostname. + <tp:rationale> + This corresponds to Cert_Hostname_Mismatch in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Self Signed"> + <tp:docstring> + Raised if the server provided an SSL/TLS certificate that is self-signed + and untrusted. + <tp:rationale> + This corresponds to Cert_Hostname_Mismatch in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Cert.Invalid"> + <tp:docstring> + Raised if the server provided an SSL/TLS certificate that is + unacceptable in some way that does not have a more specific error. + <tp:rationale> + This corresponds to Cert_Other_Error in the + <tp:type>Connection_Status_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Not Capable"> + <tp:docstring> + Raised when requested functionality is unavailable due to contact + not having required capabilities. + </tp:docstring> + </tp:error> + + <tp:error name="Offline"> + <tp:docstring> + Raised when requested functionality is unavailable because a contact is + offline. + + <tp:rationale> + This corresponds to Offline in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Channel.Kicked"> + <tp:docstring> + Used to represent a user being ejected from a channel by another user, + for instance being kicked from a chatroom. + + <tp:rationale> + This corresponds to Kicked in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Busy"> + <tp:docstring> + Used to represent a user being removed from a channel because of a + "busy" indication. This error SHOULD NOT be used to represent a server + or other infrastructure being too busy to process a request - for that, + see ServerBusy. + + <tp:rationale> + This corresponds to Busy in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="No Answer"> + <tp:docstring> + Used to represent a user being removed from a channel because they did + not respond, e.g. to a StreamedMedia call. + + <tp:rationale> + This corresponds to No_Answer in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Does Not Exist"> + <tp:docstring> + Raised when the requested user does not, in fact, exist. + + <tp:rationale> + This corresponds to Invalid_Contact in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum, but can also be + used to represent other things not existing (like chatrooms, perhaps). + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Terminated"> + <tp:docstring> + Raised when a channel is terminated for an unspecified reason. In + particular, this error SHOULD be used whenever normal termination of + a 1-1 StreamedMedia call by the remote user is represented as a D-Bus + error name. + + <tp:rationale> + This corresponds to None in the + <tp:type>Channel_Group_Change_Reason</tp:type> enum. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Connection Refused"> + <tp:docstring> + Raised when a connection is refused. + </tp:docstring> + </tp:error> + + <tp:error name="Connection Failed"> + <tp:docstring> + Raised when a connection can't be established. + </tp:docstring> + </tp:error> + + <tp:error name="Connection Lost"> + <tp:docstring> + Raised when a connection is broken. + </tp:docstring> + </tp:error> + + <tp:error name="Already Connected"> + <tp:docstring> + Raised when the user attempts to connect to an account but they are + already connected (perhaps from another client or computer), and the + protocol or account settings do not allow this. + + <tp:rationale> + XMPP can have this behaviour if the user chooses the same resource + in both clients (it is server-dependent whether the result is + AlreadyConnected on the new connection, ConnectionReplaced on the + old connection, or two successful connections). + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Connection Replaced"> + <tp:docstring> + Raised by an existing connection to an account if it is replaced by + a new connection (perhaps from another client or computer). + + <tp:rationale> + In MSNP, when connecting twice with the same Passport, the new + connection "wins" and the old one is automatically disconnected. + XMPP can also have this behaviour if the user chooses the same + resource in two clients (it is server-dependent whether the result is + AlreadyConnected on the new connection, ConnectionReplaced on the + old connection, or two successful connections). + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Registration Exists"> + <tp:docstring> + Raised during in-band registration if the server indicates that the + requested account already exists. + </tp:docstring> + </tp:error> + + <tp:error name="Service Busy"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + Raised if a server or some other piece of infrastructure cannot process + the request, e.g. due to resource limitations. Clients MAY try again + later. + + <tp:rationale> + This is not the same error as Busy, which indicates that a + <em>user</em> is busy. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:error name="Resource Unavailable"> + <tp:docstring> + Raised if a request cannot be satisfied because a process local to the + user has insufficient resources. Clients MAY try again + later. + + <tp:rationale> + For instance, the <tp:dbus-ref + namespace="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref> + might raise this error for some or all channel requests if it has + detected that there is not enough free memory. + </tp:rationale> + </tp:docstring> + </tp:error> + + <tp:copyright>Copyright © 2005-2009 Collabora Limited</tp:copyright> + <tp:copyright>Copyright © 2005-2009 Nokia Corporation</tp:copyright> + <tp:license xmlns="http://www.w3.org/1999/xhtml"> +<p>This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version.</p> + +<p>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 +Lesser General Public License for more details.</p> + +<p>You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p> + </tp:license> +</tp:errors> diff --git a/sflphone-common/doc/dbus-api/spec/generic-types.xml b/sflphone-common/doc/dbus-api/spec/generic-types.xml new file mode 100644 index 0000000000000000000000000000000000000000..d4dce1552dcaaf6fa37f61ffd499dfcb03ea49e8 --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/generic-types.xml @@ -0,0 +1,168 @@ +<tp:generic-types + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + + <tp:simple-type name="Unix_Timestamp" type="u"> + <tp:docstring>An unsigned 32-bit integer representing time as the number + of seconds elapsed since the Unix epoch + (1970-01-01T00:00:00Z)</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="Unix_Timestamp64" type="x"> + <tp:docstring>An signed 64-bit integer representing time as the number + of seconds elapsed since the Unix epoch + (1970-01-01T00:00:00Z); negative for times before the epoch</tp:docstring> + + <tp:rationale>The Text interface is the only user of Unix_Timestamp so + far, and we'd like to be Y2038 compatible in future + interfaces.</tp:rationale> + </tp:simple-type> + + <tp:simple-type name="DBus_Bus_Name" type="s" + array-name="DBus_Bus_Name_List"> + <tp:docstring>A string representing a D-Bus bus name - either a well-known + name like "org.freedesktop.Telepathy.MissionControl" or a unique name + like ":1.123"</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Well_Known_Name" type="s" + array-name="DBus_Well_Known_Name_List"> + <tp:docstring>A string representing a D-Bus well-known + name like "org.freedesktop.Telepathy.MissionControl".</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Unique_Name" type="s" + array-name="DBus_Unique_Name_List"> + <tp:docstring>A string representing a D-Bus unique name, such as + ":1.123"</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Interface" type="s" + array-name="DBus_Interface_List"> + <tp:docstring>An ASCII string representing a D-Bus interface - two or more + elements separated by dots, where each element is a non-empty + string of ASCII letters, digits and underscores, not starting with + a digit. The maximum total length is 255 characters. For example, + "org.freedesktop.DBus.Peer".</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Error_Name" type="s"> + <tp:docstring>An ASCII string representing a D-Bus error. This is + syntactically the same as a <tp:type>DBus_Interface</tp:type>, but the + meaning is different.</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Signature" type="s"> + <tp:docstring>A string representing a D-Bus signature + (the 'g' type isn't used because of poor interoperability, particularly + with dbus-glib)</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Member" type="s"> + <tp:docstring>An ASCII string representing a D-Bus method, signal + or property name - a non-empty string of ASCII letters, digits and + underscores, not starting with a digit, with a maximum length of 255 + characters. For example, "Ping".</tp:docstring> + </tp:simple-type> + + <tp:simple-type name="DBus_Qualified_Member" type="s" + array-name="DBus_Qualified_Member_List"> + <tp:docstring>A string representing the full name of a D-Bus method, + signal or property, consisting of a DBus_Interface, followed by + a dot, followed by a DBus_Member. For example, + "org.freedesktop.DBus.Peer.Ping".</tp:docstring> + </tp:simple-type> + + <tp:mapping name="Qualified_Property_Value_Map" + array-name="Qualified_Property_Value_Map_List"> + <tp:docstring>A mapping from strings representing D-Bus + properties (by their namespaced names) to their values.</tp:docstring> + <tp:member type="s" name="Key" tp:type="DBus_Qualified_Member"> + <tp:docstring> + A D-Bus interface name, followed by a dot and a D-Bus property name. + </tp:docstring> + </tp:member> + <tp:member type="v" name="Value"> + <tp:docstring> + The value of the property. + </tp:docstring> + </tp:member> + </tp:mapping> + + <tp:mapping name="String_Variant_Map" array-name="String_Variant_Map_List"> + <tp:docstring>A mapping from strings to variants representing extra + key-value pairs.</tp:docstring> + <tp:member type="s" name="Key"/> + <tp:member type="v" name="Value"/> + </tp:mapping> + + <tp:mapping name="String_String_Map" array-name="String_String_Map_List"> + <tp:docstring>A mapping from strings to strings representing extra + key-value pairs.</tp:docstring> + <tp:member type="s" name="Key"/> + <tp:member type="s" name="Value"/> + </tp:mapping> + + <tp:struct name="Socket_Address_IP" array-name="Socket_Address_IP_List"> + <tp:docstring>An IP address and port.</tp:docstring> + <tp:member type="s" name="Address"> + <tp:docstring>Either a dotted-quad IPv4 address literal as for + <tp:type>Socket_Address_IPv4</tp:type>, or an RFC2373 IPv6 address + as for <tp:type>Socket_Address_IPv6</tp:type>. + </tp:docstring> + </tp:member> + <tp:member type="q" name="Port"> + <tp:docstring>The TCP or UDP port number.</tp:docstring> + </tp:member> + </tp:struct> + + <tp:struct name="Socket_Address_IPv4"> + <tp:docstring>An IPv4 address and port.</tp:docstring> + <tp:member type="s" name="Address"> + <tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal + numbers, each between 0 and 255 inclusive, e.g. + "192.168.0.1".</tp:docstring> + </tp:member> + <tp:member type="q" name="Port"> + <tp:docstring>The TCP or UDP port number.</tp:docstring> + </tp:member> + </tp:struct> + + <tp:struct name="Socket_Address_IPv6"> + <tp:docstring>An IPv6 address and port.</tp:docstring> + <tp:member type="s" name="Address"> + <tp:docstring>An IPv6 address literal as specified by RFC2373 + section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring> + </tp:member> + <tp:member type="q" name="Port"> + <tp:docstring>The TCP or UDP port number.</tp:docstring> + </tp:member> + </tp:struct> + + <tp:struct name="Socket_Netmask_IPv4"> + <tp:docstring>An IPv4 network or subnet.</tp:docstring> + <tp:member type="s" name="Address"> + <tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal + numbers, each between 0 and 255 inclusive, e.g. + "192.168.0.1".</tp:docstring> + </tp:member> + <tp:member type="y" name="Prefix_Length"> + <tp:docstring>The number of leading bits of the address that must + match, for this netmask to be considered to match an + address.</tp:docstring> + </tp:member> + </tp:struct> + + <tp:struct name="Socket_Netmask_IPv6"> + <tp:docstring>An IPv6 network or subnet.</tp:docstring> + <tp:member type="s" name="Address"> + <tp:docstring>An IPv6 address literal as specified by RFC2373 + section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring> + </tp:member> + <tp:member type="y" name="Prefix_Length"> + <tp:docstring>The number of leading bits of the address that must + match, for this netmask to be considered to match an + address.</tp:docstring> + </tp:member> + </tp:struct> + +</tp:generic-types> diff --git a/sflphone-common/doc/dbus-api/spec/instance-introspec.xml b/sflphone-common/doc/dbus-api/spec/instance-introspec.xml new file mode 120000 index 0000000000000000000000000000000000000000..2e02dfe7239982ae1df5ef975ddacafb9897839a --- /dev/null +++ b/sflphone-common/doc/dbus-api/spec/instance-introspec.xml @@ -0,0 +1 @@ +../../../src/dbus/instance-introspec.xml \ No newline at end of file diff --git a/sflphone-common/doc/dbus-api/tools/devhelp.xsl b/sflphone-common/doc/dbus-api/tools/devhelp.xsl new file mode 100644 index 0000000000000000000000000000000000000000..60f9e1c5304f68e8db9c6cb0cefc7db78d04398d --- /dev/null +++ b/sflphone-common/doc/dbus-api/tools/devhelp.xsl @@ -0,0 +1,91 @@ +<!-- Generate a Devhelp index from the Telepathy specification. +The master copy of this stylesheet is in the Telepathy spec repository - +please make any changes there. + +Copyright (C) 2006-2008 Collabora Limited + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <xsl:template match="/"> + <book xmlns="http://www.devhelp.net/book" title="Telepathy Specification" + name="telepathy-spec" link="spec.html"> + <xsl:text>
</xsl:text> + <chapters> + <xsl:text>
</xsl:text> + <xsl:apply-templates select="//interface" /> + </chapters> + <xsl:text>
</xsl:text> + <functions> + <xsl:text>
</xsl:text> + <xsl:apply-templates select="//method" /> + <xsl:apply-templates select="//signal" /> + <xsl:apply-templates select="//property" /> + <xsl:apply-templates select="//tp:enum" /> + <xsl:apply-templates select="//tp:simple-type" /> + <xsl:apply-templates select="//tp:mapping" /> + <xsl:apply-templates select="//tp:flags" /> + <xsl:apply-templates select="//tp:struct" /> + </functions> + <xsl:text>
</xsl:text> + </book> + </xsl:template> + + <xsl:template match="interface"> + <xsl:text> </xsl:text> + <sub xmlns="http://www.devhelp.net/book" name="{@name}" + link="{concat('spec.html#', @name)}" /> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="method"> + <xsl:text> </xsl:text> + <keyword type="function" xmlns="http://www.devhelp.net/book" name="{@name}" + link="spec.html#{../@name}.{@name}" /> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="signal | property"> + <xsl:text> </xsl:text> + <keyword type="" xmlns="http://www.devhelp.net/book" name="{@name}" + link="spec.html#{../@name}.{@name}" /> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="tp:simple-type"> + <xsl:text> </xsl:text> + <keyword type="typedef" xmlns="http://www.devhelp.net/book" name="{@name}" + link="spec.html#type-{@name}" /> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="tp:enum | tp:flags"> + <xsl:text> </xsl:text> + <keyword type="enum" xmlns="http://www.devhelp.net/book" name="{@name}" + link="spec.html#type-{@name}" /> + <xsl:text>
</xsl:text> + </xsl:template> + + <xsl:template match="tp:mapping | tp:struct"> + <xsl:text> </xsl:text> + <keyword type="struct" xmlns="http://www.devhelp.net/book" name="{@name}" + link="spec.html#type-{@name}" /> + <xsl:text>
</xsl:text> + </xsl:template> + +</xsl:stylesheet> diff --git a/sflphone-common/doc/dbus-api/tools/doc-generator.py b/sflphone-common/doc/dbus-api/tools/doc-generator.py new file mode 100755 index 0000000000000000000000000000000000000000..5fc19ce907435806cabd31baa75b05f0a9b76d82 --- /dev/null +++ b/sflphone-common/doc/dbus-api/tools/doc-generator.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +# +# doc-generator.py +# +# Generates HTML documentation from the parsed spec using Cheetah templates. +# +# Copyright (C) 2009 Collabora Ltd. +# +# This library is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 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 Lesser General Public License +# for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Authors: Davyd Madeley <davyd.madeley@collabora.co.uk> +# + +import sys +import os +import os.path +import shutil + +try: + from Cheetah.Template import Template +except ImportError, e: + print >> sys.stderr, e + print >> sys.stderr, "Install `python-cheetah'?" + sys.exit(-1) + +import specparser + +program, spec_file, output_path, project, namespace = sys.argv + +template_path = os.path.join(os.path.dirname(program), '../doc/templates') + +# make the output path +try: + os.mkdir(output_path) +except OSError: + pass +# copy in the CSS +shutil.copy(os.path.join(template_path, 'style.css'), output_path) + +def load_template(filename): + try: + file = open(os.path.join(template_path, filename)) + template_def = file.read() + file.close() + except IOError, e: + print >> sys.stderr, "Could not load template file `%s'" % filename + print >> sys.stderr, e + sys.exit(-1) + + return template_def + +spec = specparser.parse(spec_file, namespace) + +# write out HTML files for each of the interfaces + +# Not using render_template here to avoid recompiling it n times. +namespace = {} +template_def = load_template('interface.html') +t = Template(template_def, namespaces = [namespace]) +for interface in spec.interfaces: + namespace['interface'] = interface + + # open the output file + out = open(os.path.join(output_path, '%s.html' % interface.name), 'w') + print >> out, unicode(t).encode('utf-8') + out.close() + +def render_template(name, namespaces, target=None): + if target is None: + target = name + + namespace = { 'spec': spec } + template_def = load_template(name) + t = Template(template_def, namespaces=namespaces) + out = open(os.path.join(output_path, target), 'w') + print >> out, unicode(t).encode('utf-8') + out.close() + +namespaces = { 'spec': spec } + +render_template('generic-types.html', namespaces) +render_template('errors.html', namespaces) +render_template('interfaces.html', namespaces) +render_template('fullindex.html', namespaces) + +dh_namespaces = { 'spec': spec, 'name': project } +render_template('devhelp.devhelp2', dh_namespaces, + target=('%s.devhelp2' % project)) + +# write out the TOC last, because this is the file used as the target in the +# Makefile. +render_template('index.html', namespaces) diff --git a/sflphone-common/doc/dbus-api/tools/doc-generator.xsl b/sflphone-common/doc/dbus-api/tools/doc-generator.xsl new file mode 100644 index 0000000000000000000000000000000000000000..fe9cd9f08d193606f37f41259cb75601b431602f --- /dev/null +++ b/sflphone-common/doc/dbus-api/tools/doc-generator.xsl @@ -0,0 +1,1266 @@ +<!-- Generate HTML documentation from the Telepathy specification. +The master copy of this stylesheet is in the Telepathy spec repository - +please make any changes there. + +Copyright (C) 2006-2008 Collabora Limited + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +--> + +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + xmlns:html="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="tp html"> + <!--Don't move the declaration of the HTML namespace up here — XMLNSs + don't work ideally in the presence of two things that want to use the + absence of a prefix, sadly. --> + + <xsl:param name="allow-undefined-interfaces" select="false()"/> + + <xsl:template match="html:* | @*" mode="html"> + <xsl:copy> + <xsl:apply-templates mode="html" select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="tp:type" mode="html"> + <xsl:call-template name="tp-type"> + <xsl:with-param name="tp-type" select="string(.)"/> + </xsl:call-template> + </xsl:template> + + <!-- tp:dbus-ref: reference a D-Bus interface, signal, method or property --> + <xsl:template match="tp:dbus-ref" mode="html"> + <xsl:variable name="name"> + <xsl:choose> + <xsl:when test="@namespace"> + <xsl:value-of select="@namespace"/> + <xsl:text>.</xsl:text> + </xsl:when> + </xsl:choose> + <xsl:value-of select="string(.)"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="//interface[@name=$name] + or //interface/method[concat(../@name, '.', @name)=$name] + or //interface/signal[concat(../@name, '.', @name)=$name] + or //interface/property[concat(../@name, '.', @name)=$name] + or //interface[@name=concat($name, '.DRAFT')] + or //interface/method[ + concat(../@name, '.', @name)=concat($name, '.DRAFT')] + or //interface/signal[ + concat(../@name, '.', @name)=concat($name, '.DRAFT')] + or //interface/property[ + concat(../@name, '.', @name)=concat($name, '.DRAFT')] + "> + <a xmlns="http://www.w3.org/1999/xhtml" href="#{$name}"> + <xsl:value-of select="string(.)"/> + </a> + </xsl:when> + + <xsl:when test="$allow-undefined-interfaces"> + <span xmlns="http://www.w3.org/1999/xhtml" title="defined elsewhere"> + <xsl:value-of select="string(.)"/> + </span> + </xsl:when> + + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: cannot find D-Bus interface, method, </xsl:text> + <xsl:text>signal or property called '</xsl:text> + <xsl:value-of select="$name"/> + <xsl:text>' </xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- tp:member-ref: reference a property of the current interface --> + <xsl:template match="tp:member-ref" mode="html"> + <xsl:variable name="prefix" select="concat(ancestor::interface/@name, + '.')"/> + <xsl:variable name="name" select="string(.)"/> + + <xsl:if test="not(ancestor::interface)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: Cannot use tp:member-ref when not in an</xsl:text> + <xsl:text> <interface> </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:choose> + <xsl:when test="ancestor::interface/signal[@name=$name]"/> + <xsl:when test="ancestor::interface/method[@name=$name]"/> + <xsl:when test="ancestor::interface/property[@name=$name]"/> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: interface </xsl:text> + <xsl:value-of select="ancestor::interface/@name"/> + <xsl:text> has no signal/method/property called </xsl:text> + <xsl:value-of select="$name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + + <a xmlns="http://www.w3.org/1999/xhtml" href="#{$prefix}{$name}"> + <xsl:value-of select="$name"/> + </a> + </xsl:template> + + <xsl:template match="*" mode="identity"> + <xsl:copy> + <xsl:apply-templates mode="identity"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="tp:docstring"> + <xsl:apply-templates mode="html"/> + </xsl:template> + + <xsl:template match="tp:added"> + <p class="added" xmlns="http://www.w3.org/1999/xhtml">Added in + version <xsl:value-of select="@version"/>. + <xsl:apply-templates select="node()" mode="html"/></p> + </xsl:template> + + <xsl:template match="tp:changed"> + <xsl:choose> + <xsl:when test="node()"> + <p class="changed" xmlns="http://www.w3.org/1999/xhtml">Changed in + version <xsl:value-of select="@version"/>: + <xsl:apply-templates select="node()" mode="html"/></p> + </xsl:when> + <xsl:otherwise> + <p class="changed">Changed in version + <xsl:value-of select="@version"/></p> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="tp:deprecated"> + <p class="deprecated" xmlns="http://www.w3.org/1999/xhtml">Deprecated + since version <xsl:value-of select="@version"/>. + <xsl:apply-templates select="node()" mode="html"/></p> + </xsl:template> + + <xsl:template match="tp:rationale" mode="html"> + <div xmlns="http://www.w3.org/1999/xhtml" class="rationale"> + <xsl:apply-templates select="node()" mode="html"/> + </div> + </xsl:template> + + <xsl:template match="tp:errors"> + <h1 xmlns="http://www.w3.org/1999/xhtml">Errors</h1> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="tp:generic-types"> + <h1 xmlns="http://www.w3.org/1999/xhtml">Generic types</h1> + <xsl:call-template name="do-types"/> + </xsl:template> + + <xsl:template name="do-types"> + <xsl:if test="tp:simple-type"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Simple types</h2> + <xsl:apply-templates select="tp:simple-type"/> + </xsl:if> + + <xsl:if test="tp:enum"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Enumerated types:</h2> + <xsl:apply-templates select="tp:enum"/> + </xsl:if> + + <xsl:if test="tp:flags"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Sets of flags:</h2> + <xsl:apply-templates select="tp:flags"/> + </xsl:if> + + <xsl:if test="tp:struct"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Structure types</h2> + <xsl:apply-templates select="tp:struct"/> + </xsl:if> + + <xsl:if test="tp:mapping"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Mapping types</h2> + <xsl:apply-templates select="tp:mapping"/> + </xsl:if> + + <xsl:if test="tp:external-type"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Types defined elsewhere</h2> + <dl><xsl:apply-templates select="tp:external-type"/></dl> + </xsl:if> + </xsl:template> + + <xsl:template match="tp:error"> + <h2 xmlns="http://www.w3.org/1999/xhtml"><a name="{concat(../@namespace, '.', translate(@name, ' ', ''))}"></a><xsl:value-of select="concat(../@namespace, '.', translate(@name, ' ', ''))"/></h2> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </xsl:template> + + <xsl:template match="/tp:spec/tp:copyright"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates mode="text"/> + </div> + </xsl:template> + <xsl:template match="/tp:spec/tp:license"> + <div xmlns="http://www.w3.org/1999/xhtml" class="license"> + <xsl:apply-templates mode="html"/> + </div> + </xsl:template> + + <xsl:template match="tp:copyright"/> + <xsl:template match="tp:license"/> + + <xsl:template match="interface"> + <h1 xmlns="http://www.w3.org/1999/xhtml"><a name="{@name}"></a><xsl:value-of select="@name"/></h1> + + <xsl:if test="@tp:causes-havoc"> + <p xmlns="http://www.w3.org/1999/xhtml" class="causes-havoc"> + This interface is <xsl:value-of select="@tp:causes-havoc"/> + and is likely to cause havoc to your API/ABI if bindings are generated. + Don't include it in libraries that care about compatibility. + </p> + </xsl:if> + + <xsl:if test="tp:requires"> + <p>Implementations of this interface must also implement:</p> + <ul xmlns="http://www.w3.org/1999/xhtml"> + <xsl:for-each select="tp:requires"> + <li><code><a href="#{@interface}"><xsl:value-of select="@interface"/></a></code></li> + </xsl:for-each> + </ul> + </xsl:if> + + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + + <xsl:choose> + <xsl:when test="method"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Methods:</h2> + <xsl:apply-templates select="method"/> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no methods.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="signal"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Signals:</h2> + <xsl:apply-templates select="signal"/> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no signals.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="tp:property"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Telepathy Properties:</h2> + <p xmlns="http://www.w3.org/1999/xhtml">Accessed using the + <a href="#org.freedesktop.Telepathy.Properties">Telepathy + Properties</a> interface.</p> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:property"/> + </dl> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no Telepathy + properties.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="property"> + <h2 xmlns="http://www.w3.org/1999/xhtml">D-Bus core Properties:</h2> + <p xmlns="http://www.w3.org/1999/xhtml">Accessed using the + org.freedesktop.DBus.Properties interface.</p> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="property"/> + </dl> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no D-Bus core + properties.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:call-template name="do-types"/> + + </xsl:template> + + <xsl:template match="tp:flags"> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a tp:flags type </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @type on tp:flags type</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <h3> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> + </h3> + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="value-prefix"> + <xsl:choose> + <xsl:when test="@value-prefix"> + <xsl:value-of select="@value-prefix"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="tp:flag"> + <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> + <xsl:choose> + <xsl:when test="tp:docstring"> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </dd> + </xsl:when> + <xsl:otherwise> + <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </dl> + </xsl:template> + + <xsl:template match="tp:enum"> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a tp:enum type </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @type on tp:enum type</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <h3 xmlns="http://www.w3.org/1999/xhtml"> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> + </h3> + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="value-prefix"> + <xsl:choose> + <xsl:when test="@value-prefix"> + <xsl:value-of select="@value-prefix"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="tp:enumvalue"> + <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> + <xsl:choose> + <xsl:when test="tp:docstring"> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </dd> + </xsl:when> + <xsl:otherwise> + <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </dl> + </xsl:template> + + <xsl:template name="binding-name-check"> + <xsl:if test="not(@tp:name-for-bindings)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: Binding name missing from </xsl:text> + <xsl:value-of select="parent::interface/@name"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="translate(@tp:name-for-bindings, '_', '') != @name"> + <xsl:message terminate="yes"> + <xsl:text>ERR: Binding name </xsl:text> + <xsl:value-of select="@tp:name-for-bindings"/> + <xsl:text> doesn't correspond to D-Bus name </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + </xsl:template> + + <xsl:template match="property"> + + <xsl:call-template name="binding-name-check"/> + + <xsl:if test="not(parent::interface)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: property </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> does not have an interface as parent </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a property of </xsl:text> + <xsl:value-of select="../@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @type on property </xsl:text> + <xsl:value-of select="concat(../@name, '.', @name)"/> + <xsl:text>: '</xsl:text> + <xsl:value-of select="@access"/> + <xsl:text>' </xsl:text> + </xsl:message> + </xsl:if> + + <dt xmlns="http://www.w3.org/1999/xhtml"> + <a name="{concat(../@name, '.', @name)}"> + <code><xsl:value-of select="@name"/></code> + </a> + <xsl:text> − </xsl:text> + <code><xsl:value-of select="@type"/></code> + <xsl:call-template name="parenthesized-tp-type"/> + <xsl:text>, </xsl:text> + <xsl:choose> + <xsl:when test="@access = 'read'"> + <xsl:text>read-only</xsl:text> + </xsl:when> + <xsl:when test="@access = 'write'"> + <xsl:text>write-only</xsl:text> + </xsl:when> + <xsl:when test="@access = 'readwrite'"> + <xsl:text>read/write</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: unknown or missing value for </xsl:text> + <xsl:text>@access on property </xsl:text> + <xsl:value-of select="concat(../@name, '.', @name)"/> + <xsl:text>: '</xsl:text> + <xsl:value-of select="@access"/> + <xsl:text>' </xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </dd> + </xsl:template> + + <xsl:template match="tp:property"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <xsl:if test="@name"> + <code><xsl:value-of select="@name"/></code> − + </xsl:if> + <code><xsl:value-of select="@type"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </dd> + </xsl:template> + + <xsl:template match="tp:mapping"> + <div xmlns="http://www.w3.org/1999/xhtml" class="struct"> + <h3> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> − a{ + <xsl:for-each select="tp:member"> + <xsl:value-of select="@type"/> + <xsl:text>: </xsl:text> + <xsl:value-of select="@name"/> + <xsl:if test="position() != last()"> → </xsl:if> + </xsl:for-each> + } + </h3> + <div class="docstring"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:if test="string(@array-name) != ''"> + <p>In bindings that need a separate name, arrays of + <xsl:value-of select="@name"/> should be called + <xsl:value-of select="@array-name"/>.</p> + </xsl:if> + </div> + <div> + <h4>Members</h4> + <dl> + <xsl:apply-templates select="tp:member" mode="members-in-docstring"/> + </dl> + </div> + </div> + </xsl:template> + + <xsl:template match="tp:docstring" mode="in-index"/> + + <xsl:template match="tp:simple-type | tp:enum | tp:flags | tp:external-type" + mode="in-index"> + − <xsl:value-of select="@type"/> + </xsl:template> + + <xsl:template match="tp:simple-type"> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a tp:simple-type </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @type on tp:simple-type</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <div xmlns="http://www.w3.org/1999/xhtml" class="simple-type"> + <h3> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> − <xsl:value-of select="@type"/> + </h3> + <div class="docstring"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </div> + </div> + </xsl:template> + + <xsl:template match="tp:external-type"> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a tp:external-type </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @type on tp:external-type</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <div xmlns="http://www.w3.org/1999/xhtml" class="external-type"> + <dt> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> − <xsl:value-of select="@type"/> + </dt> + <dd>Defined by: <xsl:value-of select="@from"/></dd> + </div> + </xsl:template> + + <xsl:template match="tp:struct" mode="in-index"> + − ( <xsl:for-each select="tp:member"> + <xsl:value-of select="@type"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> ) + </xsl:template> + + <xsl:template match="tp:mapping" mode="in-index"> + − a{ <xsl:for-each select="tp:member"> + <xsl:value-of select="@type"/> + <xsl:if test="position() != last()"> → </xsl:if> + </xsl:for-each> } + </xsl:template> + + <xsl:template match="tp:struct"> + <div xmlns="http://www.w3.org/1999/xhtml" class="struct"> + <h3> + <a name="type-{@name}"> + <xsl:value-of select="@name"/> + </a> − ( + <xsl:for-each select="tp:member"> + <xsl:value-of select="@type"/> + <xsl:text>: </xsl:text> + <xsl:value-of select="@name"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + ) + </h3> + <div class="docstring"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </div> + <xsl:choose> + <xsl:when test="string(@array-name) != ''"> + <p>In bindings that need a separate name, arrays of + <xsl:value-of select="@name"/> should be called + <xsl:value-of select="@array-name"/>.</p> + </xsl:when> + <xsl:otherwise> + <p>Arrays of <xsl:value-of select="@name"/> don't generally + make sense.</p> + </xsl:otherwise> + </xsl:choose> + <div> + <h4>Members</h4> + <dl> + <xsl:apply-templates select="tp:member" mode="members-in-docstring"/> + </dl> + </div> + </div> + </xsl:template> + + <xsl:template match="method"> + + <xsl:call-template name="binding-name-check"/> + + <xsl:if test="not(parent::interface)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: method </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> does not have an interface as parent </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a method of </xsl:text> + <xsl:value-of select="../@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:for-each select="arg"> + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: an arg of method </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has no type</xsl:text> + </xsl:message> + </xsl:if> + <xsl:choose> + <xsl:when test="@direction='in'"> + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: an 'in' arg of method </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has no name</xsl:text> + </xsl:message> + </xsl:if> + </xsl:when> + <xsl:when test="@direction='out'"> + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="no"> + <xsl:text>WARNING: an 'out' arg of method </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has no name</xsl:text> + </xsl:message> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: an arg of method </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has direction neither 'in' nor 'out'</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + <div xmlns="http://www.w3.org/1999/xhtml" class="method"> + <h3 xmlns="http://www.w3.org/1999/xhtml"> + <a name="{concat(../@name, concat('.', @name))}"> + <xsl:value-of select="@name"/> + </a> ( + <xsl:for-each xmlns="" select="arg[@direction='in']"> + <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + ) → + <xsl:choose> + <xsl:when test="arg[@direction='out']"> + <xsl:for-each xmlns="" select="arg[@direction='out']"> + <xsl:value-of select="@type"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise>nothing</xsl:otherwise> + </xsl:choose> + </h3> + <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> + <xsl:apply-templates select="tp:docstring" /> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </div> + + <xsl:if test="arg[@direction='in']"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Parameters</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg[@direction='in']" + mode="parameters-in-docstring"/> + </dl> + </div> + </xsl:if> + + <xsl:if test="arg[@direction='out']"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Returns</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg[@direction='out']" + mode="returns-in-docstring"/> + </dl> + </div> + </xsl:if> + + <xsl:if test="tp:possible-errors"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Possible errors</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:possible-errors/tp:error"/> + </dl> + </div> + </xsl:if> + + </div> + </xsl:template> + + <xsl:template name="tp-type"> + <xsl:param name="tp-type"/> + <xsl:param name="type"/> + + <xsl:variable name="single-type"> + <xsl:choose> + <xsl:when test="contains($tp-type, '[]')"> + <xsl:value-of select="substring-before($tp-type, '[]')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tp-type"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="type-of-single-tp-type"> + <xsl:choose> + <xsl:when test="//tp:simple-type[@name=$single-type]"> + <xsl:value-of select="string(//tp:simple-type[@name=$single-type]/@type)"/> + </xsl:when> + <xsl:when test="//tp:struct[@name=$single-type]"> + <xsl:text>(</xsl:text> + <xsl:for-each select="//tp:struct[@name=$single-type]/tp:member"> + <xsl:value-of select="@type"/> + </xsl:for-each> + <xsl:text>)</xsl:text> + </xsl:when> + <xsl:when test="//tp:enum[@name=$single-type]"> + <xsl:value-of select="string(//tp:enum[@name=$single-type]/@type)"/> + </xsl:when> + <xsl:when test="//tp:flags[@name=$single-type]"> + <xsl:value-of select="string(//tp:flags[@name=$single-type]/@type)"/> + </xsl:when> + <xsl:when test="//tp:mapping[@name=$single-type]"> + <xsl:text>a{</xsl:text> + <xsl:for-each select="//tp:mapping[@name=$single-type]/tp:member"> + <xsl:value-of select="@type"/> + </xsl:for-each> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:when test="//tp:external-type[@name=$single-type]"> + <xsl:value-of select="string(//tp:external-type[@name=$single-type]/@type)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: Unable to find type '</xsl:text> + <xsl:value-of select="$tp-type"/> + <xsl:text>' </xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="type-of-tp-type"> + <xsl:if test="contains($tp-type, '[]')"> + <!-- one 'a', plus one for each [ after the [], and delete all ] --> + <xsl:value-of select="concat('a', + translate(substring-after($tp-type, '[]'), '[]', 'a'))"/> + </xsl:if> + <xsl:value-of select="$type-of-single-tp-type"/> + </xsl:variable> + + <xsl:if test="string($type) != '' and + string($type-of-tp-type) != string($type)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: tp:type '</xsl:text> + <xsl:value-of select="$tp-type"/> + <xsl:text>' has D-Bus type '</xsl:text> + <xsl:value-of select="$type-of-tp-type"/> + <xsl:text>' but has been used with type='</xsl:text> + <xsl:value-of select="$type"/> + <xsl:text>' </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="contains($tp-type, '[]')"> + <xsl:call-template name="tp-type-array-usage-check"> + <xsl:with-param name="single-type" select="$single-type"/> + <xsl:with-param name="type-of-single-tp-type" + select="$type-of-single-tp-type"/> + </xsl:call-template> + </xsl:if> + + <a href="#type-{$single-type}"><xsl:value-of select="$tp-type"/></a> + + </xsl:template> + + <xsl:template name="tp-type-array-usage-check"> + <xsl:param name="single-type"/> + <xsl:param name="type-of-single-tp-type"/> + + <xsl:variable name="array-name"> + <xsl:choose> + <xsl:when test="//tp:struct[@name=$single-type]"> + <xsl:value-of select="//tp:struct[@name=$single-type]/@array-name"/> + </xsl:when> + <xsl:when test="//tp:mapping[@name=$single-type]"> + <xsl:value-of select="//tp:mapping[@name=$single-type]/@array-name"/> + </xsl:when> + <xsl:when test="//tp:external-type[@name=$single-type]"> + <xsl:value-of select="//tp:external-type[@name=$single-type]/@array-name"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="''"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:if test="not(contains('ybnqiuxtdsvog', $type-of-single-tp-type))"> + <xsl:if test="not($array-name) or $array-name=''"> + <xsl:message terminate="yes"> + <xsl:text>No array-name specified for complex type </xsl:text> + <xsl:value-of select="$single-type"/> + <xsl:text>, but array used </xsl:text> + </xsl:message> + </xsl:if> + </xsl:if> + </xsl:template> + + <xsl:template name="parenthesized-tp-type"> + <xsl:if test="@tp:type"> + <xsl:text> (</xsl:text> + <xsl:call-template name="tp-type"> + <xsl:with-param name="tp-type" select="@tp:type"/> + <xsl:with-param name="type" select="@type"/> + </xsl:call-template> + <xsl:text>)</xsl:text> + </xsl:if> + </xsl:template> + + <xsl:template match="tp:member" mode="members-in-docstring"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <code><xsl:value-of select="@name"/></code> − + <code><xsl:value-of select="@type"/></code> + <xsl:call-template name="parenthesized-tp-type"/> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:choose> + <xsl:when test="tp:docstring"> + <xsl:apply-templates select="tp:docstring" /> + </xsl:when> + <xsl:otherwise> + <em>(undocumented)</em> + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:template> + + <xsl:template match="arg" mode="parameters-in-docstring"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <code><xsl:value-of select="@name"/></code> − + <code><xsl:value-of select="@type"/></code> + <xsl:call-template name="parenthesized-tp-type"/> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring" /> + </dd> + </xsl:template> + + <xsl:template match="arg" mode="returns-in-docstring"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <xsl:if test="@name"> + <code><xsl:value-of select="@name"/></code> − + </xsl:if> + <code><xsl:value-of select="@type"/></code> + <xsl:call-template name="parenthesized-tp-type"/> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="tp:docstring"/> + </dd> + </xsl:template> + + <xsl:template match="tp:possible-errors/tp:error"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <code><xsl:value-of select="@name"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="name" select="@name"/> + <xsl:choose> + <xsl:when test="tp:docstring"> + <xsl:apply-templates select="tp:docstring"/> + </xsl:when> + <xsl:when test="//tp:errors/tp:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/tp:docstring"> + <xsl:apply-templates select="//tp:errors/tp:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/tp:docstring"/> <em xmlns="http://www.w3.org/1999/xhtml">(generic description)</em> + </xsl:when> + <xsl:otherwise> + (Undocumented.) + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:template> + + <xsl:template match="signal"> + + <xsl:call-template name="binding-name-check"/> + + <xsl:if test="not(parent::interface)"> + <xsl:message terminate="yes"> + <xsl:text>ERR: signal </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> does not have an interface as parent </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: missing @name on a signal of </xsl:text> + <xsl:value-of select="../@name"/> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:for-each select="arg"> + <xsl:if test="not(@type) or @type = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: an arg of signal </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has no type</xsl:text> + </xsl:message> + </xsl:if> + <xsl:if test="not(@name) or @name = ''"> + <xsl:message terminate="yes"> + <xsl:text>ERR: an arg of signal </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has no name</xsl:text> + </xsl:message> + </xsl:if> + <xsl:choose> + <xsl:when test="not(@direction)"/> + <xsl:when test="@direction='in'"> + <xsl:message terminate="no"> + <xsl:text>INFO: an arg of signal </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has unnecessary direction 'in'</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>ERR: an arg of signal </xsl:text> + <xsl:value-of select="concat(../../@name, '.', ../@name)"/> + <xsl:text> has direction other than 'in'</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + <div xmlns="http://www.w3.org/1999/xhtml" class="signal"> + <h3 xmlns="http://www.w3.org/1999/xhtml"> + <a name="{concat(../@name, concat('.', @name))}"> + <xsl:value-of select="@name"/> + </a> ( + <xsl:for-each xmlns="" select="arg"> + <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + )</h3> + + <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> + <xsl:apply-templates select="tp:docstring"/> + <xsl:apply-templates select="tp:added"/> + <xsl:apply-templates select="tp:changed"/> + <xsl:apply-templates select="tp:deprecated"/> + </div> + + <xsl:if test="arg"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Parameters</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg" mode="parameters-in-docstring"/> + </dl> + </div> + </xsl:if> + </div> + </xsl:template> + + <xsl:output method="xml" indent="no" encoding="ascii" + omit-xml-declaration="yes" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" /> + + <xsl:template match="/tp:spec"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title> + <xsl:value-of select="tp:title"/> + <xsl:if test="tp:version"> + <xsl:text> version </xsl:text> + <xsl:value-of select="tp:version"/> + </xsl:if> + </title> + <style type="text/css"> + + body { + font-family: sans-serif; + margin: 2em; + height: 100%; + font-size: 1.2em; + } + h1 { + padding-top: 5px; + padding-bottom: 5px; + font-size: 1.6em; + background: #dadae2; + } + h2 { + font-size: 1.3em; + } + h3 { + font-size: 1.2em; + } + a:link, a:visited, a:link:hover, a:visited:hover { + font-weight: bold; + } + .topbox { + padding-top: 10px; + padding-left: 10px; + border-bottom: black solid 1px; + padding-bottom: 10px; + background: #dadae2; + font-size: 2em; + font-weight: bold; + color: #5c5c5c; + } + .topnavbox { + padding-left: 10px; + padding-top: 5px; + padding-bottom: 5px; + background: #abacba; + border-bottom: black solid 1px; + font-size: 1.2em; + } + .topnavbox a{ + color: black; + font-weight: normal; + } + .sidebar { + float: left; + /* width:9em; + border-right:#abacba solid 1px; + border-left: #abacba solid 1px; + height:100%; */ + border: #abacba solid 1px; + padding-left: 10px; + margin-left: 10px; + padding-right: 10px; + margin-right: 10px; + color: #5d5d5d; + background: #dadae2; + } + .sidebar a { + text-decoration: none; + border-bottom: #e29625 dotted 1px; + color: #e29625; + font-weight: normal; + } + .sidebar h1 { + font-size: 1.2em; + color: black; + } + .sidebar ul { + padding-left: 25px; + padding-bottom: 10px; + border-bottom: #abacba solid 1px; + } + .sidebar li { + padding-top: 2px; + padding-bottom: 2px; + } + .sidebar h2 { + font-style:italic; + font-size: 0.81em; + padding-left: 5px; + padding-right: 5px; + font-weight: normal; + } + .date { + font-size: 0.6em; + float: right; + font-style: italic; + } + .method, .signal, .property { + margin-left: 1em; + margin-right: 4em; + } + .rationale { + font-style: italic; + border-left: 0.25em solid #808080; + padding-left: 0.5em; + } + + .added { + color: #006600; + background: #ffffff; + } + .deprecated { + color: #ff0000; + background: #ffffff; + } + table, tr, td, th { + border: 1px solid #666; + } + + </style> + </head> + <body> + <h1 class="topbox"> + <xsl:value-of select="tp:title" /> + </h1> + <xsl:if test="tp:version"> + <h2>Version <xsl:value-of select="string(tp:version)"/></h2> + </xsl:if> + <xsl:apply-templates select="tp:copyright"/> + <xsl:apply-templates select="tp:license"/> + <xsl:apply-templates select="tp:docstring"/> + + <h2>Interfaces</h2> + <ul> + <xsl:for-each select="//node/interface"> + <li><code><a href="#{@name}"><xsl:value-of select="@name"/></a></code></li> + </xsl:for-each> + </ul> + + <xsl:apply-templates select="//node"/> + <xsl:apply-templates select="tp:generic-types"/> + <xsl:apply-templates select="tp:errors"/> + + <h1>Index</h1> + <h2>Index of interfaces</h2> + <ul> + <xsl:for-each select="//node/interface"> + <li><code><a href="#{@name}"><xsl:value-of select="@name"/></a></code></li> + </xsl:for-each> + </ul> + <h2>Index of types</h2> + <ul> + <xsl:for-each select="//tp:simple-type | //tp:enum | //tp:flags | //tp:mapping | //tp:struct | //tp:external-type"> + <xsl:sort select="@name"/> + <li> + <code> + <a href="#type-{@name}"> + <xsl:value-of select="@name"/> + </a> + </code> + <xsl:apply-templates mode="in-index" select="."/> + </li> + </xsl:for-each> + </ul> + </body> + </html> + </xsl:template> + + <xsl:template match="node"> + <xsl:apply-templates /> + </xsl:template> + + <xsl:template match="text()"> + <xsl:if test="normalize-space(.) != ''"> + <xsl:message terminate="yes"> + <xsl:text>Stray text: {{{</xsl:text> + <xsl:value-of select="." /> + <xsl:text>}}} </xsl:text> + </xsl:message> + </xsl:if> + </xsl:template> + + <xsl:template match="*"> + <xsl:message terminate="yes"> + <xsl:text>Unrecognised element: {</xsl:text> + <xsl:value-of select="namespace-uri(.)" /> + <xsl:text>}</xsl:text> + <xsl:value-of select="local-name(.)" /> + <xsl:text> </xsl:text> + </xsl:message> + </xsl:template> +</xsl:stylesheet> + +<!-- vim:set sw=2 sts=2 et: --> diff --git a/sflphone-common/doc/dbus-api/tools/specparser.py b/sflphone-common/doc/dbus-api/tools/specparser.py new file mode 100644 index 0000000000000000000000000000000000000000..4208ad4104cab3c2a73aa75c71e05b3a53541b43 --- /dev/null +++ b/sflphone-common/doc/dbus-api/tools/specparser.py @@ -0,0 +1,866 @@ +# +# specparser.py +# +# Reads in a spec document and generates pretty data structures from it. +# +# Copyright (C) 2009 Collabora Ltd. +# +# This library is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 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 Lesser General Public License +# for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Authors: Davyd Madeley <davyd.madeley@collabora.co.uk> +# + +import sys +import xml.dom.minidom + +import xincludator + +XMLNS_TP = 'http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0' + +class UnknownAccess(Exception): pass +class UnknownDirection(Exception): pass +class UnknownType(Exception): pass +class UnnamedItem(Exception): pass +class UntypedItem(Exception): pass +class UnsupportedArray(Exception): pass + +def getText(dom): + try: + if dom.childNodes[0].nodeType == dom.TEXT_NODE: + return dom.childNodes[0].data + else: + return '' + except IndexError: + return '' + +def getChildrenByName(dom, namespace, name): + return filter(lambda n: n.nodeType == n.ELEMENT_NODE and \ + n.namespaceURI == namespace and \ + n.localName == name, + dom.childNodes) + +def build_name(namespace, name): + """Returns a name by appending `name' to the namespace of this object. + """ + return '.'.join( + filter(lambda n: n is not None and n != '', + [namespace, name.replace(' ', '')]) + ) + +class Base(object): + """The base class for any type of XML node in the spec that implements the + 'name' attribute. + + Don't instantiate this class directly. + """ + devhelp_name = "" + + def __init__(self, parent, namespace, dom): + self.short_name = name = dom.getAttribute('name') + self.namespace = namespace + self.name = build_name(namespace, name) + self.parent = parent + + try: + self.docstring = getChildrenByName(dom, XMLNS_TP, 'docstring')[0] + except IndexError: + self.docstring = None + + try: + self.added = getChildrenByName(dom, XMLNS_TP, 'added')[0] + except IndexError: + self.added = None + + try: + self.deprecated = getChildrenByName(dom, XMLNS_TP, 'deprecated')[0] + except IndexError: + self.deprecated = None + + self.changed = getChildrenByName(dom, XMLNS_TP, 'changed') + + self.validate() + + def validate(self): + if self.short_name == '': + raise UnnamedItem("Node %s of %s has no name" % ( + self.__class__.__name__, self.parent)) + + def get_type_name(self): + return self.__class__.__name__ + + def get_spec(self): + return self.parent.get_spec() + + def get_root_namespace(self): + return self.get_interface().name + + def get_interface(self): + return self.parent.get_interface() + + def get_url(self): + return "%s#%s" % (self.get_interface().get_url(), self.name) + + def _get_generic_with_ver(self, nnode, htmlclass, txt): + if nnode is None: + return '' + else: + # make a copy of this node, turn it into a HTML <div> tag + node = nnode.cloneNode(True) + node.tagName = 'div' + node.baseURI = None + node.setAttribute('class', htmlclass) + + try: + node.removeAttribute('version') + + span = xml.dom.minidom.parseString( + ('<span class="version">%s\n</span>' % txt) % + nnode.getAttribute('version')).firstChild + node.insertBefore(span, node.firstChild) + except xml.dom.NotFoundErr: + print >> sys.stderr, \ + 'WARNING: %s was %s, but gives no version' % (self, htmlclass) + + self._convert_to_html(node) + + return node.toxml().encode('ascii', 'xmlcharrefreplace') + + def get_added(self): + return self._get_generic_with_ver(self.added, 'added', + "Added in %s.") + + def get_deprecated(self): + return self._get_generic_with_ver(self.deprecated, 'deprecated', + "Deprecated since %s.") + + def get_changed(self): + return '\n'.join(map(lambda n: + self._get_generic_with_ver(n, 'changed', "Changed in %s."), + self.changed)) + + def get_docstring(self): + """Get the docstring for this node, but do node substitution to + rewrite types, interfaces, etc. as links. + """ + if self.docstring is None: + return '' + else: + # make a copy of this node, turn it into a HTML <div> tag + node = self.docstring.cloneNode(True) + node.tagName = 'div' + node.baseURI = None + node.setAttribute('class', 'docstring') + + self._convert_to_html(node) + + return node.toxml().encode('ascii', 'xmlcharrefreplace') + + def _convert_to_html(self, node): + spec = self.get_spec() + namespace = self.get_root_namespace() + + # rewrite <tp:rationale> + for n in node.getElementsByTagNameNS(XMLNS_TP, 'rationale'): + n.tagName = 'div' + n.namespaceURI = None + n.setAttribute('class', 'rationale') + + # rewrite <tp:type> + for n in node.getElementsByTagNameNS(XMLNS_TP, 'type'): + t = spec.lookup_type(getText(n)) + n.tagName = 'a' + n.namespaceURI = None + n.setAttribute('href', t.get_url()) + + # rewrite <tp:member-ref> + for n in node.getElementsByTagNameNS(XMLNS_TP, 'member-ref'): + key = getText(n) + try: + o = spec.lookup(key, namespace=namespace) + except KeyError: + print >> sys.stderr, \ + "WARNING: Key '%s' not known in namespace '%s'" % ( + key, namespace) + continue + + n.tagName = 'a' + n.namespaceURI = None + n.setAttribute('href', o.get_url()) + n.setAttribute('title', o.get_title()) + + # rewrite <tp:dbus-ref> + for n in node.getElementsByTagNameNS(XMLNS_TP, 'dbus-ref'): + namespace = n.getAttribute('namespace') + key = getText(n) + try: + o = spec.lookup(key, namespace=namespace) + except KeyError: + print >> sys.stderr, \ + "WARNING: Key '%s' not known in namespace '%s'" % ( + key, namespace) + continue + + n.tagName = 'a' + n.namespaceURI = None + n.setAttribute('href', o.get_url()) + n.setAttribute('title', o.get_title()) + + def get_title(self): + return '%s %s' % (self.get_type_name(), self.name) + + def __repr__(self): + return '%s(%s)' % (self.__class__.__name__, self.name) + +class PossibleError(Base): + def __init__(self, parent, namespace, dom): + super(PossibleError, self).__init__(parent, namespace, dom) + + def get_error(self): + spec = self.get_spec() + try: + return spec.errors[self.name] + except KeyError: + return External(self.name) + + def get_url(self): + return self.get_error().get_url() + + def get_title(self): + return self.get_error().get_title() + + def get_docstring(self): + d = super(PossibleError, self).get_docstring() + if d == '': + return self.get_error().get_docstring() + else: + return d + +class Method(Base): + devhelp_name = "function" + + def __init__(self, parent, namespace, dom): + super(Method, self).__init__(parent, namespace, dom) + + args = build_list(self, Arg, self.name, + dom.getElementsByTagName('arg')) + + # separate arguments as input and output arguments + self.in_args = filter(lambda a: a.direction == Arg.DIRECTION_IN, args) + self.out_args = filter(lambda a: a.direction == Arg.DIRECTION_OUT, args) + + for arg in args: + if arg.direction == Arg.DIRECTION_IN or \ + arg.direction == Arg.DIRECTION_OUT: + continue + + print >> sys.stderr, "WARNING: '%s' of method '%s' does not specify a suitable direction" % (arg, self) + + self.possible_errors = build_list(self, PossibleError, None, + dom.getElementsByTagNameNS(XMLNS_TP, 'error')) + + def get_in_args(self): + return ', '.join(map(lambda a: a.spec_name(), self.in_args)) + + def get_out_args(self): + if len(self.out_args) > 0: + return ', '.join(map(lambda a: a.spec_name(), self.out_args)) + else: + return 'nothing' + +class Typed(Base): + """The base class for all typed nodes (i.e. Arg and Property). + + Don't instantiate this class directly. + """ + + def __init__(self, parent, namespace, dom): + super(Typed, self).__init__(parent, namespace, dom) + + self.type = dom.getAttributeNS(XMLNS_TP, 'type') + self.dbus_type = dom.getAttribute('type') + + # check we have a dbus type + if self.dbus_type == '': + raise UntypedItem("Node referred to by '%s' has no type" % dom.toxml()) + def get_type(self): + return self.get_spec().lookup_type(self.type) + + def get_type_url(self): + t = self.get_type() + if t is None: return '' + else: return t.get_url() + + def get_type_title(self): + t = self.get_type() + if t is None: return '' + else: return t.get_title() + + def spec_name(self): + return '%s: %s' % (self.dbus_type, self.short_name) + + def __repr__(self): + return '%s(%s:%s)' % (self.__class__.__name__, self.name, self.dbus_type) + +class Property(Typed): + ACCESS_READ = 1 + ACCESS_WRITE = 2 + + ACCESS_READWRITE = ACCESS_READ | ACCESS_WRITE + + def __init__(self, parent, namespace, dom): + super(Property, self).__init__(parent, namespace, dom) + + access = dom.getAttribute('access') + if access == 'read': + self.access = self.ACCESS_READ + elif access == 'write': + self.access = self.ACCESS_WRITE + elif access == 'readwrite': + self.access = self.ACCESS_READWRITE + else: + raise UnknownAccess("Unknown access '%s' on %s" % (access, self)) + + def get_access(self): + if self.access & self.ACCESS_READ and self.access & self.ACCESS_WRITE: + return 'Read/Write' + elif self.access & self.ACCESS_READ: + return 'Read only' + elif self.access & self.ACCESS_WRITE: + return 'Write only' + +class AwkwardTelepathyProperty(Typed): + def get_type_name(self): + return 'Telepathy Property' + +class Arg(Typed): + DIRECTION_IN, DIRECTION_OUT, DIRECTION_UNSPECIFIED = range(3) + + def __init__(self, parent, namespace, dom): + super(Arg, self).__init__(parent, namespace, dom) + + direction = dom.getAttribute('direction') + if direction == 'in': + self.direction = self.DIRECTION_IN + elif direction == 'out': + self.direction = self.DIRECTION_OUT + elif direction == '': + self.direction = self.DIRECTION_UNSPECIFIED + else: + raise UnknownDirection("Unknown direction '%s' on %s" % ( + direction, self.parent)) + +class Signal(Base): + def __init__(self, parent, namespace, dom): + super(Signal, self).__init__(parent, namespace, dom) + + self.args = build_list(self, Arg, self.name, + dom.getElementsByTagName('arg')) + + for arg in self.args: + if arg.direction == Arg.DIRECTION_UNSPECIFIED: + continue + + print >> sys.stderr, "WARNING: '%s' of signal '%s' does not specify a suitable direction" % (arg, self) + + def get_args(self): + return ', '.join(map(lambda a: a.spec_name(), self.args)) + +class External(object): + """External objects are objects that are referred to in another spec. + + We have to attempt to look them up if at all possible. + """ + + def __init__(self, name): + self.name = self.short_name = name + + def get_url(self): + return None + + def get_title(self): + return 'External %s' % self.name + + def get_docstring(self): + return None + + def __repr__(self): + return '%s(%s)' % (self.__class__.__name__, self.name) + +class Interface(Base): + def __init__(self, parent, namespace, dom, spec_namespace): + super(Interface, self).__init__(parent, namespace, dom) + + # If you're writing a spec with more than one top-level namespace, you + # probably want to replace spec_namespace with a list. + if self.name.startswith(spec_namespace + "."): + self.short_name = self.name[len(spec_namespace) + 1:] + else: + self.short_name = self.name + + # build lists of methods, etc., in this interface + self.methods = build_list(self, Method, self.name, + dom.getElementsByTagName('method')) + self.properties = build_list(self, Property, self.name, + dom.getElementsByTagName('property')) + self.signals = build_list(self, Signal, self.name, + dom.getElementsByTagName('signal')) + self.tpproperties = build_list(self, AwkwardTelepathyProperty, + self.name, dom.getElementsByTagNameNS(XMLNS_TP, 'property')) + self.handler_capability_tokens = build_list(self, + HandlerCapabilityToken, self.name, + dom.getElementsByTagNameNS(XMLNS_TP, + 'handler-capability-token')) + self.contact_attributes = build_list(self, ContactAttribute, self.name, + dom.getElementsByTagNameNS(XMLNS_TP, 'contact-attribute')) + + # build a list of types in this interface + self.types = parse_types(self, dom, self.name) + + # find out if this interface causes havoc + self.causes_havoc = dom.getAttributeNS(XMLNS_TP, 'causes-havoc') + if self.causes_havoc == '': self.causes_havoc = None + + # find out what we're required to also implement + self.requires = map(lambda n: n.getAttribute('interface'), + getChildrenByName(dom, XMLNS_TP, 'requires')) + + def get_interface(self): + return self + + def get_requires(self): + spec = self.get_spec() + + def lookup(r): + try: + return spec.lookup(r) + except KeyError: + return External(r) + + return map(lookup, self.requires) + + def get_url(self): + return '%s.html' % self.name + +class Error(Base): + def get_url(self): + return 'errors.html#%s' % self.name + + def get_root_namespace(self): + return self.namespace + +class DBusList(object): + """Stores a list of a given DBusType. Provides some basic validation to + determine whether or not the type is sane. + """ + def __init__(self, child): + self.child = child + + if isinstance(child, DBusType): + self.ultimate = child + self.depth = 1 + + if self.child.array_name == '': + raise UnsupportedArray("Type '%s' does not support being " + "used in an array" % self.child.name) + else: + self.name = build_name(self.child.namespace, + self.child.array_name) + self.short_name = self.child.array_name + + elif isinstance(child, DBusList): + self.ultimate = child.ultimate + self.depth = child.depth + 1 + self.name = self.child.name + '_List' + self.short_name = self.child.short_name + '_List' + + # check that our child can operate at this depth + maxdepth = int(self.ultimate.array_depth) + if self.depth > maxdepth: + raise TypeError("Type '%s' has exceeded its maximum depth (%i)" % (self, maxdepth)) + + else: + raise TypeError("DBusList can contain only a DBusType or DBusList not '%s'" % child) + + self.dbus_type = 'a' + self.child.dbus_type + + def get_url(self): + return self.ultimate.get_url() + + def get_title(self): + return "Array of %s" % self.child.get_title() + + def __repr__(self): + return 'Array(%s)' % self.child + +class DBusType(Base): + """The base class for all D-Bus types referred to in the spec. + + Don't instantiate this class directly. + """ + + devhelp_name = "typedef" + + def __init__(self, parent, namespace, dom): + super(DBusType, self).__init__(parent, namespace, dom) + + self.dbus_type = dom.getAttribute('type') + self.array_name = dom.getAttribute('array-name') + self.array_depth = dom.getAttribute('array-depth') + + def get_root_namespace(self): + return self.namespace + + def get_breakdown(self): + return '' + + def get_url(self): + if isinstance(self.parent, Interface): + html = self.parent.get_url() + else: + html = 'generic-types.html' + + return '%s#%s' % (html, self.name) + +class SimpleType(DBusType): + def get_type_name(self): + return 'Simple Type' + +class ExternalType(DBusType): + def __init__(self, parent, namespace, dom): + super(ExternalType, self).__init__(parent, namespace, dom) + + # FIXME: until we are able to cross reference external types to learn + # about their array names, we're just going to assume they work like + # this + self.array_name = self.short_name + '_List' + + def get_type_name(self): + return 'External Type' + +class StructLike(DBusType): + """Base class for all D-Bus types that look kind of like Structs + + Don't instantiate this class directly. + """ + + class StructMember(Typed): + def get_root_namespace(self): + return self.parent.get_root_namespace() + + def __init__(self, parent, namespace, dom): + super(StructLike, self).__init__(parent, namespace, dom) + + self.members = build_list(self, StructLike.StructMember, None, + dom.getElementsByTagNameNS(XMLNS_TP, 'member')) + + def get_breakdown(self): + str = '' + str += '<ul>\n' + for member in self.members: + # attempt to lookup the member up in the type system + t = member.get_type() + + str += '<li>%s — %s' % (member.name, member.dbus_type) + if t: str += ' (<a href="%s" title="%s">%s</a>)' % ( + t.get_url(), t.get_title(), t.short_name) + str += '</li>\n' + str += member.get_docstring() + str += '</ul>\n' + + return str + +class Mapping(StructLike): + def __init__(self, parent, namespace, dom): + super(Mapping, self).__init__(parent, namespace, dom) + + # rewrite the D-Bus type + self.dbus_type = 'a{%s}' % ''.join(map(lambda m: m.dbus_type, self.members)) + +class Struct(StructLike): + + devhelp_name = "struct" + + def __init__(self, parent, namespace, dom): + super(Struct, self).__init__(parent, namespace, dom) + + # rewrite the D-Bus type + self.dbus_type = '(%s)' % ''.join(map(lambda m: m.dbus_type, self.members)) + +class EnumLike(DBusType): + """Base class for all D-Bus types that look kind of like Enums + + Don't instantiate this class directly. + """ + class EnumValue(Base): + def __init__(self, parent, namespace, dom): + super(EnumLike.EnumValue, self).__init__(parent, namespace, dom) + + # rewrite self.name + self.short_name = dom.getAttribute('suffix') + self.name = build_name(namespace, self.short_name) + + self.value = dom.getAttribute('value') + + super(EnumLike.EnumValue, self).validate() + + def validate(self): + pass + + def get_root_namespace(self): + return self.parent.get_root_namespace() + + def get_breakdown(self): + str = '' + str += '<ul>\n' + for value in self.values: + # attempt to lookup the member.name as a type in the type system + str += '<li>%s (%s)</li>\n' % (value.short_name, value.value) + str += value.get_added() + str += value.get_changed() + str += value.get_deprecated() + str += value.get_docstring() + str += '</ul>\n' + + return str + +class Enum(EnumLike): + + devhelp_name = "enum" + + def __init__(self, parent, namespace, dom): + super(Enum, self).__init__(parent, namespace, dom) + + self.values = build_list(self, EnumLike.EnumValue, self.name, + dom.getElementsByTagNameNS(XMLNS_TP, 'enumvalue')) + +class Flags(EnumLike): + def __init__(self, parent, namespace, dom): + super(Flags, self).__init__(parent, namespace, dom) + + self.values = build_list(self, EnumLike.EnumValue, self.name, + dom.getElementsByTagNameNS(XMLNS_TP, 'flag')) + self.flags = self.values # in case you're looking for it + +class TokenBase(Base): + + devhelp_name = "macro" # it's a constant, which is near enough... + separator = '/' + + def __init__(self, parent, namespace, dom): + super(TokenBase, self).__init__(parent, namespace, dom) + self.name = namespace + '/' + self.short_name + +class ContactAttribute(TokenBase, Typed): + + def get_type_name(self): + return 'Contact Attribute' + +class HandlerCapabilityToken(TokenBase): + + def get_type_name(self): + return 'Handler Capability Token' + + def __init__(self, parent, namespace, dom): + super(HandlerCapabilityToken, self).__init__(parent, namespace, dom) + + is_family = dom.getAttribute('is-family') + assert is_family in ('yes', 'no', '') + self.is_family = (is_family == 'yes') + +class SectionBase(object): + """A SectionBase is an abstract base class for any type of node that can + contain a <tp:section>, which means the top-level Spec object, or any + Section object. + + It should not be instantiated directly. + """ + + def __init__(self, dom, spec_namespace): + + self.items = [] + + def recurse(nodes): + # iterate through the list of child nodes + for node in nodes: + if node.nodeType != node.ELEMENT_NODE: continue + + if node.tagName == 'node': + # recurse into this level for interesting items + recurse(node.childNodes) + elif node.namespaceURI == XMLNS_TP and \ + node.localName == 'section': + self.items.append(Section(self, None, node, + spec_namespace)) + elif node.tagName == 'interface': + self.items.append(Interface(self, None, node, + spec_namespace)) + + recurse(dom.childNodes) + +class Section(Base, SectionBase): + def __init__(self, parent, namespace, dom, spec_namespace): + Base.__init__(self, parent, namespace, dom) + SectionBase.__init__(self, dom, spec_namespace) + + def get_root_namespace(self): + return None + +class Spec(SectionBase): + def __init__(self, dom, spec_namespace): + # build a dictionary of errors in this spec + try: + errorsnode = dom.getElementsByTagNameNS(XMLNS_TP, 'errors')[0] + self.errors = build_dict(self, Error, + errorsnode.getAttribute('namespace'), + errorsnode.getElementsByTagNameNS(XMLNS_TP, 'error')) + except IndexError: + self.errors = {} + + # build a list of generic types + self.generic_types = reduce (lambda a, b: a + b, + map(lambda l: parse_types(self, l), + dom.getElementsByTagNameNS(XMLNS_TP, 'generic-types')), + []) + + # create a top-level section for this Spec + SectionBase.__init__(self, dom.documentElement, spec_namespace) + + # build a list of interfaces in this spec + self.interfaces = [] + def recurse(items): + for item in items: + if isinstance(item, Section): recurse(item.items) + elif isinstance(item, Interface): self.interfaces.append(item) + recurse(self.items) + + # build a giant dictionary of everything (interfaces, methods, signals + # and properties); also build a dictionary of types + self.everything = {} + self.types = {} + + for type in self.generic_types: self.types[type.short_name] = type + + for interface in self.interfaces: + self.everything[interface.name] = interface + + for method in interface.methods: + self.everything[method.name] = method + for signal in interface.signals: + self.everything[signal.name] = signal + for property in interface.properties: + self.everything[property.name] = property + for property in interface.tpproperties: + self.everything[property.name] = property + for token in interface.contact_attributes: + self.everything[token.name] = token + for token in interface.handler_capability_tokens: + self.everything[token.name] = token + + for type in interface.types: + self.types[type.short_name] = type + + # get some extra bits for the HTML + node = dom.getElementsByTagNameNS(XMLNS_TP, 'spec')[0] + self.title = getText(getChildrenByName(node, XMLNS_TP, 'title')[0]) + + try: + self.version = getText(getChildrenByName(node, XMLNS_TP, 'version')[0]) + except IndexError: + self.version = None + + self.copyrights = map(getText, + getChildrenByName(node, XMLNS_TP, 'copyright')) + + try: + license = getChildrenByName(node, XMLNS_TP, 'license')[0] + license.tagName = 'div' + license.namespaceURI = None + license.setAttribute('class', 'license') + self.license = license.toxml() + except IndexError: + self.license = '' + + # FIXME: we need to check all args for type correctness + + def get_spec(self): + return self + + def lookup(self, name, namespace=None): + key = build_name(namespace, name) + return self.everything[key] + + def lookup_type(self, type_): + if type_.endswith('[]'): + return DBusList(self.lookup_type(type_[:-2])) + + if type_ == '': return None + elif type_ in self.types: + return self.types[type_] + + raise UnknownType("Type '%s' is unknown" % type_) + + def __repr__(self): + return '%s(%s)' % (self.__class__.__name__, self.title) + +def build_dict(parent, type_, namespace, nodes): + """Build a dictionary of D-Bus names to Python objects representing that + name using the XML node for that item in the spec. + + e.g. 'org.freedesktop.Telepathy.Channel' : Interface(Channel) + + Works for any Python object inheriting from 'Base' whose XML node + implements the 'name' attribute. + """ + + def build_tuple(node): + o = type_(parent, namespace, node) + return(o.name, o) + + return dict(build_tuple(n) for n in nodes) + +def build_list(parent, type_, namespace, nodes): + return map(lambda node: type_(parent, namespace, node), nodes) + +def parse_types(parent, dom, namespace = None): + """Parse all of the types of type nodes mentioned in 't' from the node + 'dom' and insert them into the dictionary 'd'. + """ + t = [ + (SimpleType, 'simple-type'), + (Enum, 'enum'), + (Flags, 'flags'), + (Mapping, 'mapping'), + (Struct, 'struct'), + (ExternalType, 'external-type'), + ] + + types = [] + + for (type_, tagname) in t: + types += build_list(parent, type_, namespace, + dom.getElementsByTagNameNS(XMLNS_TP, tagname)) + + return types + +def parse(filename, spec_namespace): + dom = xml.dom.minidom.parse(filename) + xincludator.xincludate(dom, filename) + + spec = Spec(dom, spec_namespace) + + return spec + +if __name__ == '__main__': + parse(sys.argv[1]) diff --git a/sflphone-common/doc/dbus-api/tools/specparser.pyc b/sflphone-common/doc/dbus-api/tools/specparser.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a26b0bf150ae052a840cee27735b00ecd9ea6b0 Binary files /dev/null and b/sflphone-common/doc/dbus-api/tools/specparser.pyc differ diff --git a/sflphone-common/doc/dbus-api/tools/xincludator.py b/sflphone-common/doc/dbus-api/tools/xincludator.py new file mode 100644 index 0000000000000000000000000000000000000000..63e106ace13664eb71571342bec39780175e25bd --- /dev/null +++ b/sflphone-common/doc/dbus-api/tools/xincludator.py @@ -0,0 +1,39 @@ +#!/usr/bin/python + +from sys import argv, stdout, stderr +import codecs, locale +import os +import xml.dom.minidom + +stdout = codecs.getwriter('utf-8')(stdout) + +NS_XI = 'http://www.w3.org/2001/XInclude' + +def xincludate(dom, base, dropns = []): + remove_attrs = [] + for i in xrange(dom.documentElement.attributes.length): + attr = dom.documentElement.attributes.item(i) + if attr.prefix == 'xmlns': + if attr.localName in dropns: + remove_attrs.append(attr) + else: + dropns.append(attr.localName) + for attr in remove_attrs: + dom.documentElement.removeAttributeNode(attr) + for include in dom.getElementsByTagNameNS(NS_XI, 'include'): + href = include.getAttribute('href') + # FIXME: assumes Unixy paths + filename = os.path.join(os.path.dirname(base), href) + subdom = xml.dom.minidom.parse(filename) + xincludate(subdom, filename, dropns) + if './' in href: + subdom.documentElement.setAttribute('xml:base', href) + include.parentNode.replaceChild(subdom.documentElement, include) + +if __name__ == '__main__': + argv = argv[1:] + dom = xml.dom.minidom.parse(argv[0]) + xincludate(dom, argv[0]) + xml = dom.toxml() + stdout.write(xml) + stdout.write('\n') diff --git a/sflphone-common/doc/dbus-api/tools/xincludator.pyc b/sflphone-common/doc/dbus-api/tools/xincludator.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1172f2daf89056937b733fe218beea72eb72f4fa Binary files /dev/null and b/sflphone-common/doc/dbus-api/tools/xincludator.pyc differ diff --git a/sflphone-common/doc/misc/debian-package.txt b/sflphone-common/doc/misc/debian-package.txt deleted file mode 100644 index 23409b79dfb4227ac49caad79578864f0db85c38..0000000000000000000000000000000000000000 --- a/sflphone-common/doc/misc/debian-package.txt +++ /dev/null @@ -1,33 +0,0 @@ -***************************** HOW_TO DEBIAN PACKAGE ******************************** - -This document aims at explaining how to build a binary debian package. - -- Identify the dependencies at the runtime. You can describe them in the control file. -- Build the directory tree - - packagename_version - | - | - _____|______ - | | - \|/ \|/ - /usr DEBIAN - -- Write the control file in the DEBIAN directory (you must have at least this one file), and prerm, postinst scripts,.. -- Describe the files you need in the package, that is the files you need to make run the program (executables, libraries), docs, images, etc... and where you need it. For instance, the binary executables should be in /usr/bin, images in /usr/share, ... -- Build the debian package: - dpkg --build packagename packagename.deb . -Note: Be careful to debian package naming conventions (packagename_version_arch.deb) - -- Install the package: - dpkg --install packagename.deb (as a root) -If the dependant packages are not automatically configured, launch sudo apt-get -f install. It will configure the package you need to make run the application. -Note: The graphical interface of the debian package manager does configures the missing dependant packages automatically. - -- To remove the package, run : dpkg --remove packagename (must be root) - - - - - - diff --git a/sflphone-common/doc/misc/echange.txt b/sflphone-common/doc/misc/echange.txt deleted file mode 100644 index ee2058e56b2423aace9d6a577012cfd4ee30b0cb..0000000000000000000000000000000000000000 --- a/sflphone-common/doc/misc/echange.txt +++ /dev/null @@ -1,21 +0,0 @@ - --> INVITE (20) --> 0 0 IN IP4 192.168.1.172 c=IN IP4 192.168.1.172 m=audio 56198 - <-- 407 Proxy Auth - --> ACK 20 - --> INVITE (21) 0 0 IN IP4 192.168.1.172 c=IN IP4 192.168.1.172 m=audio 56198 (proxy-auth) - <-- 100 Trying (21 INVITE) - <-- 180 Ringing (21 INVITE) - <-- 200 OK root 26195 26195 IN IP4 192.168.1.10 c=IN IP4 192.168.1.10 m=audio 15792 - --> ACK 21 - <-- INVITE (102) root 26195 26196 IN IP4 192.168.1.124 c=IN IP4 192.168.1.124 m=audio 53628 - --> 100 Trying (102 INVITE) - --> 403 Forbidden (102 INVITE) - --> ACK (192.168.1.172) (102 ACK) - --> INVITE (103) root 26195 26197 IN IP4 192.168.1.10 c=IN IP4 192.168.1.10 m=audio 15792 - <-- 100 Trying (103 INVITE) - <-- 500 Retry Later (103 INVITE) -# -U 192.168.1.172:5060 -> 192.168.1.10:5060 - SIP/2.0 500 Retry Later..Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK2af68dba;rport=5060..From - : <sip:124@savoirfairelinux.net>;tag=as46619d38..To: "Yan Morin 2" <sip:sfl-127@savoirfairelinux.ne - t>;tag=785584300..Call-ID: 1746410696@192.168.1.172..CSeq: 103 INVITE..Retry-After: 10..Allow: INVI - TE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, MESSAGE, INFO, REFER, UPDATE..Content-Length: 0.. \ No newline at end of file diff --git a/sflphone-common/doc/misc/libsamplerate.png b/sflphone-common/doc/misc/libsamplerate.png deleted file mode 100644 index 4d918b85924c7934527adcaf5d744e42e47030fc..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/misc/libsamplerate.png and /dev/null differ diff --git a/sflphone-common/doc/misc/matrice-comparaison.ods b/sflphone-common/doc/misc/matrice-comparaison.ods deleted file mode 100644 index 4543641697d34036c785a0991a5ab26b8918ec09..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/misc/matrice-comparaison.ods and /dev/null differ diff --git a/sflphone-common/doc/misc/outgoingcall.txt b/sflphone-common/doc/misc/outgoingcall.txt deleted file mode 100644 index b08053381261641d87ab6995b748c971bfc66a86..0000000000000000000000000000000000000000 --- a/sflphone-common/doc/misc/outgoingcall.txt +++ /dev/null @@ -1,15 +0,0 @@ -1. outgoingCall() -1.1 generateNewCallId() (short) -1.2 pushBackNewCall() -1.2.1 new Call(id, type, _voIPLinkVector.at(DFT_VOIP_LINK)) -1.2.1.1 _state = NotExist; -1.2.1.2 _voIPLink->newOutgoingCall(_id); -1.2.1.2.1 new SipCall(callid, Manager::instance().getCodecDescVector())); -1.2.1.2.2 _sipcallVector.push_back(sipcall); -1.2.1.2.3 sipcall->setStandBy(true); -1.2.2 _callVector.push_back(call); -1.3 call->setStatus(string(TRYING_STATUS)); -1.4 call->setState(Progressing); -1.5 call->setCallerIdNumber(to); -1.6 call->outgoingCall(to); - diff --git a/sflphone-common/doc/misc/playtone.txt b/sflphone-common/doc/misc/playtone.txt deleted file mode 100644 index f8efb9212fd25fbdd0dd73ffa8e79d65b6608b11..0000000000000000000000000000000000000000 --- a/sflphone-common/doc/misc/playtone.txt +++ /dev/null @@ -1,9 +0,0 @@ -Appel: -playtone s1 [joue tant que playtone = false] -playdtmf s2 1 [si playtone = true ( playtone = false) flush, start playdtmf] -playdtmf s3 0 [] -playdtmf s4 3 [] - - - - diff --git a/sflphone-common/doc/misc/sflphoneqt-startup.txt b/sflphone-common/doc/misc/sflphoneqt-startup.txt deleted file mode 100644 index 5b2af9b903d9f53eec081a8969d88993112853db..0000000000000000000000000000000000000000 --- a/sflphone-common/doc/misc/sflphoneqt-startup.txt +++ /dev/null @@ -1,61 +0,0 @@ -main.cpp: main() --> app = new SFLPhoneApp - -> new SessionIO, 3999 - -> new session - -> new SessionId - -> new SessionIO (create) - -> Requester::registerSession() - -> envoie session a ConfigurationManager - -> envoie session a PhoneLineManager(initialize) - -> new Session(session) - -> new Account <-- supprimé - -> configure le nombre de ligne de PhoneLineManager::setNbLines - -> new PhoneLine - - -> new Request Object (commande) - -> new NumericKeypad --> new and show splash --> sfl = new SFLPhoneWindow - -> positionne fenêtre - -> new ConfigurationPanel - -> connection updates au panel - -> connection bouton panel a la fenetre - -> peinture apres 50 milli-seconde - -> initialisation graphique - --> initConnections(sfl) - -> associe les PhoneLineButton au PhoneLine - -> associe needRegister - -> associe soundDriverChanged - -> connecte les boutons de la fenetre au phonelinemanager - -> associe phonelinemanager au lcd (messages texet) - -> associe evenement daemon - -> associe lauching (daemon) - -> associe status - phone line - -> associe evenement update, setup --> launch - -> Launcher->start() --> PhoneLineManager::connect et attend "connected" --> loadSkin --> exec - -Evenement: --Lorsque le PhoneLineManager est connectée (connected) - le splash disparait splash.hide() --Lorsque le PhoneLineManager gère le getEvents - app.handleArg() - -TCPSessionIOCreator::create --> TCPSessionIO::connected| - PhoneLineManagerImpl::connected| - -> PhoneLineManagerImpl::readyToSendStatus| - -> PhoneLineManagerImpl::startSession() - -> mSession::getCallStatus() - -> SFLPhoneWindow::show - -> splash::hide - -CallStatusRequest - -> onSuccess -> PhoneLineManager::selectLine() - -> PhoneLineManager::handleEvents() - -> onEntry -> CallStatus::execute() -> PhoneLineManager::addCall() - -> onError -> PhoneLineManager::errorOnCallStatus() diff --git a/sflphone-common/doc/screenshots/accounts.png b/sflphone-common/doc/screenshots/accounts.png deleted file mode 100644 index 2a1d033892ad357faf1e79c20141ffb9b6bd1d80..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/accounts.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/audio-parameters.png b/sflphone-common/doc/screenshots/audio-parameters.png deleted file mode 100644 index 7be7badab519fd06a3c5ef00f9c2916f12511f4b..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/audio-parameters.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/desktop-notif-voice mail.png b/sflphone-common/doc/screenshots/desktop-notif-voice mail.png deleted file mode 100644 index 4d2899877f696477da49f7cee1935e52d43189bf..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/desktop-notif-voice mail.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/desktop-notification.png b/sflphone-common/doc/screenshots/desktop-notification.png deleted file mode 100644 index c854b8252253f8fdb9c89ee41fc02b2ef2ca9c3a..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/desktop-notification.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/gtk gui.png b/sflphone-common/doc/screenshots/gtk gui.png deleted file mode 100644 index 958beb4ee40b156630d41ecb7c5ce77f35cb4256..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/gtk gui.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/several-calls.png b/sflphone-common/doc/screenshots/several-calls.png deleted file mode 100644 index 65dc12dbcbba742c04f3d974bca9fe660a004756..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/several-calls.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/sflphoneDialpad_gtk_0.8.png b/sflphone-common/doc/screenshots/sflphoneDialpad_gtk_0.8.png deleted file mode 100644 index 00d6ce8a0620d1a81244146884b22cf641a26906..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/sflphoneDialpad_gtk_0.8.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/sflphone_gtk_0.8.png b/sflphone-common/doc/screenshots/sflphone_gtk_0.8.png deleted file mode 100644 index 39b01d78d6c16ed71c20c13b548b7f5f2db9ff33..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/sflphone_gtk_0.8.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/sflphone_metal.png b/sflphone-common/doc/screenshots/sflphone_metal.png deleted file mode 100644 index ed34ee700257aa068667d3ebf6db1966f7cbd1c9..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/sflphone_metal.png and /dev/null differ diff --git a/sflphone-common/doc/screenshots/sflphone_qt3_0.6.2.png b/sflphone-common/doc/screenshots/sflphone_qt3_0.6.2.png deleted file mode 100644 index 3b53ce3190013f36ff1a4dc8bb54b051f51ca865..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/screenshots/sflphone_qt3_0.6.2.png and /dev/null differ diff --git a/sflphone-common/doc/sflphone_video/abstract.odt b/sflphone-common/doc/sflphone_video/abstract.odt deleted file mode 100644 index e9263f9cff27f087345e37418b363eba096349b0..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/sflphone_video/abstract.odt and /dev/null differ diff --git a/sflphone-common/doc/sflphone_video/ressources.odt b/sflphone-common/doc/sflphone_video/ressources.odt deleted file mode 100644 index 1c9cfed4cc410d060e1f4fc2bc4b959ccf66764b..0000000000000000000000000000000000000000 Binary files a/sflphone-common/doc/sflphone_video/ressources.odt and /dev/null differ diff --git a/sflphone-common/globals.mak b/sflphone-common/globals.mak index 23f700e61f5cad26b71d0550c4a5ce63c3955780..0c408d19286bdf59a1202bd2ccf87bb04ce3c928 100644 --- a/sflphone-common/globals.mak +++ b/sflphone-common/globals.mak @@ -56,6 +56,9 @@ AM_CPPFLAGS = \ -DPREFIX=\"$(prefix)\" \ -DPROGSHAREDIR=\"${datadir}/sflphone\" \ $(ZEROCONFFLAGS) \ + $(GSTREAMER_CFLAGS) \ + $(LIBAVCODEC_CFLAGS) \ + $(LIBSWSCALE_CFLAGS) \ $(IAX_FLAGS) \ $(SIP_CFLAGS) \ -DCODECS_DIR=\""$(sflcodecdir)"\" \ diff --git a/sflphone-common/libs/dbus-c++/src/Makefile.am b/sflphone-common/libs/dbus-c++/src/Makefile.am index 7bc99b89ca23aaf875c4406ff6445738cea1fc8b..8a5b7d52d7a3d8b820410f5d010de8394ca5ff32 100644 --- a/sflphone-common/libs/dbus-c++/src/Makefile.am +++ b/sflphone-common/libs/dbus-c++/src/Makefile.am @@ -5,10 +5,10 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libs/dbus-c++/include \ -I$(top_builddir)/libs/dbus-c++/include -if ENABLE_GLIB -GLIB_H = $(HEADER_DIR)/glib-integration.h -GLIB_CPP = glib-integration.cpp -endif +#if ENABLE_GLIB +#GLIB_H = $(HEADER_DIR)/glib-integration.h +#GLIB_CPP = glib-integration.cpp +#endif CONFIG_H = $(top_builddir)/libs/dbus-c++/include/dbus-c++/config.h @@ -34,10 +34,12 @@ HEADER_FILES = \ $(HEADER_DIR)/eventloop-integration.h \ $(GLIB_H) + + # noinst_lib_includedir=$(includedir)/dbus-c++-1/dbus-c++/ noinst_HEADERS = $(HEADER_FILES) -pkglib_LTLIBRARIES = libdbus-c++-1.la +noinst_LTLIBRARIES = libdbus-c++-1.la libdbus_c___1_la_SOURCES = $(HEADER_FILES) interface.cpp object.cpp introspection.cpp debug.cpp types.cpp connection.cpp connection_p.h property.cpp dispatcher.cpp dispatcher_p.h pendingcall.cpp pendingcall_p.h error.cpp internalerror.h message.cpp message_p.h server.cpp server_p.h eventloop.cpp eventloop-integration.cpp $(GLIB_CPP) $(ECORE_CPP) libdbus_c___1_la_LIBADD = $(dbus_LIBS) $(glib_LIBS) $(pthread_LIBS) diff --git a/sflphone-common/libs/iax2/iax.c b/sflphone-common/libs/iax2/iax.c index 5c184a1de6727ce75b0ed00ffa588b593cbeb4d1..67f9db7b0de8292232075eed9c72456cdde5aacf 100644 --- a/sflphone-common/libs/iax2/iax.c +++ b/sflphone-common/libs/iax2/iax.c @@ -1889,17 +1889,17 @@ static int iax_send_txready(struct iax_session *session) int iax_auth_reply(struct iax_session *session, char *password, char *challenge, int methods) { char reply[16]; - struct MD5Context md5; + struct IAX_MD5Context md5; char realreply[256]; struct iax_ie_data ied; memset(&ied, 0, sizeof(ied)); if ((methods & IAX_AUTH_MD5) && challenge) { - MD5Init(&md5); - MD5Update(&md5, (const unsigned char *) challenge, + IAX_MD5Init(&md5); + IAX_MD5Update(&md5, (const unsigned char *) challenge, (unsigned int)strlen(challenge)); - MD5Update(&md5, (const unsigned char *) password, + IAX_MD5Update(&md5, (const unsigned char *) password, (unsigned int)strlen(password)); - MD5Final((unsigned char *) reply, &md5); + IAX_MD5Final((unsigned char *) reply, &md5); memset(realreply, 0, sizeof(realreply)); convert_reply(realreply, (unsigned char *) reply); iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply); @@ -1912,19 +1912,19 @@ int iax_auth_reply(struct iax_session *session, char *password, char *challenge, static int iax_regauth_reply(struct iax_session *session, char *password, char *challenge, int methods) { char reply[16]; - struct MD5Context md5; + struct IAX_MD5Context md5; char realreply[256]; struct iax_ie_data ied; memset(&ied, 0, sizeof(ied)); iax_ie_append_str(&ied, IAX_IE_USERNAME, session->username); iax_ie_append_short(&ied, IAX_IE_REFRESH, session->refresh); if ((methods & IAX_AUTHMETHOD_MD5) && challenge) { - MD5Init(&md5); - MD5Update(&md5, (const unsigned char *) challenge, + IAX_MD5Init(&md5); + IAX_MD5Update(&md5, (const unsigned char *) challenge, (unsigned int)strlen(challenge)); - MD5Update(&md5, (const unsigned char *) password, + IAX_MD5Update(&md5, (const unsigned char *) password, (unsigned int)strlen(password)); - MD5Final((unsigned char *) reply, &md5); + IAX_MD5Final((unsigned char *) reply, &md5); memset(realreply, 0, sizeof(realreply)); convert_reply(realreply, (unsigned char *) reply); iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply); diff --git a/sflphone-common/libs/iax2/md5.c b/sflphone-common/libs/iax2/md5.c index 401216ee27167b9e048cdcaa7831e65aed7bb303..56382221c44102643e3c38482b8b826cd716b52d 100644 --- a/sflphone-common/libs/iax2/md5.c +++ b/sflphone-common/libs/iax2/md5.c @@ -51,15 +51,15 @@ #include "md5.h" #ifndef HIGHFIRST -#define byteReverse(buf, len) /* Nothing */ +#define IAX_byteReverse(buf, len) /* Nothing */ #else -void byteReverse(uint8_t *buf, unsigned int longs); +void IAX_byteReverse(uint8_t *buf, unsigned int longs); #ifndef ASM_MD5 /* * Note: this code is harmless on little-endian machines. */ -void byteReverse(uint8_t *buf, unsigned int longs) +void IAX_byteReverse(uint8_t *buf, unsigned int longs) { uint32_t t; do { @@ -76,7 +76,7 @@ void byteReverse(uint8_t *buf, unsigned int longs) * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ -void MD5Init(struct MD5Context *ctx) +void IAX_MD5Init(struct IAX_MD5Context *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; @@ -91,7 +91,7 @@ void MD5Init(struct MD5Context *ctx) * Update context to reflect the concatenation of another buffer full * of bytes. */ -void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) +void IAX_MD5Update(struct IAX_MD5Context *ctx, uint8_t const *buf, unsigned int len) { uint32_t t; @@ -115,8 +115,8 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) return; } memcpy(p, buf, t); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); buf += t; len -= t; } @@ -124,8 +124,8 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) while (len >= 64) { memcpy(ctx->in, buf, 64); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); buf += 64; len -= 64; } @@ -139,7 +139,7 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ -void MD5Final(uint8_t digest[16], struct MD5Context *ctx) +void IAX_MD5Final(uint8_t digest[16], struct IAX_MD5Context *ctx) { unsigned int count; uint8_t *p; @@ -159,8 +159,8 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) if (count < 8) { /* Two lots of padding: Pad the first block to 64 bytes */ memset(p, 0, count); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); /* Now fill the next block with 56 bytes */ memset(ctx->in, 0, 56); @@ -168,30 +168,30 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) /* Pad block to 56 bytes */ memset(p, 0, count - 8); } - byteReverse(ctx->in, 14); + IAX_byteReverse(ctx->in, 14); /* Append length in bits and transform */ ((uint32_t *) ctx->in)[14] = ctx->bits[0]; ((uint32_t *) ctx->in)[15] = ctx->bits[1]; - MD5Transform(ctx->buf, (uint32_t *) ctx->in); - byteReverse((uint8_t *) ctx->buf, 4); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse((uint8_t *) ctx->buf, 4); memcpy(digest, ctx->buf, 16); memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ } #ifndef ASM_MD5 -/* The four core functions - F1 is optimized somewhat */ +/* The four core functions - IAX_F1 is optimized somewhat */ -/* #define F1(x, y, z) (x & y | ~x & z) */ -#define F1(x, y, z) (z ^ (x & (y ^ z))) -#define F2(x, y, z) F1(z, x, y) -#define F3(x, y, z) (x ^ y ^ z) -#define F4(x, y, z) (y ^ (x | ~z)) +/* #define IAX_F1(x, y, z) (x & y | ~x & z) */ +#define IAX_F1(x, y, z) (z ^ (x & (y ^ z))) +#define IAX_F2(x, y, z) IAX_F1(z, x, y) +#define IAX_F3(x, y, z) (x ^ y ^ z) +#define IAX_F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ -#define MD5STEP(f, w, x, y, z, data, s) \ +#define IAX_MD5STEP(f, w, x, y, z, data, s) \ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x ) /* @@ -199,7 +199,7 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) * reflect the addition of 16 longwords of new data. MD5Update blocks * the data and converts bytes into longwords for this routine. */ -void MD5Transform(uint32_t buf[4], uint32_t const in[16]) +void IAX_MD5Transform(uint32_t buf[4], uint32_t const in[16]) { uint32_t a, b, c, d; @@ -208,73 +208,73 @@ void MD5Transform(uint32_t buf[4], uint32_t const in[16]) c = buf[2]; d = buf[3]; - MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[0] + 0xd76aa478, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[2] + 0x242070db, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[5] + 0x4787c62a, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[6] + 0xa8304613, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[7] + 0xfd469501, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[8] + 0x698098d8, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[11] + 0x895cd7be, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[12] + 0x6b901122, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[13] + 0xfd987193, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[14] + 0xa679438e, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[15] + 0x49b40821, 22); + + IAX_MD5STEP(IAX_F2, a, b, c, d, in[1] + 0xf61e2562, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[6] + 0xc040b340, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[11] + 0x265e5a51, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[5] + 0xd62f105d, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[10] + 0x02441453, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[14] + 0xc33707d6, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[8] + 0x455a14ed, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[7] + 0x676f02d9, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + IAX_MD5STEP(IAX_F3, a, b, c, d, in[5] + 0xfffa3942, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[8] + 0x8771f681, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[14] + 0xfde5380c, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[1] + 0xa4beea44, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[6] + 0x04881d05, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + IAX_MD5STEP(IAX_F4, a, b, c, d, in[0] + 0xf4292244, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[7] + 0x432aff97, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[14] + 0xab9423a7, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[5] + 0xfc93a039, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[12] + 0x655b59c3, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[10] + 0xffeff47d, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[1] + 0x85845dd1, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[6] + 0xa3014314, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[4] + 0xf7537e82, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[11] + 0xbd3af235, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[9] + 0xeb86d391, 21); buf[0] += a; buf[1] += b; diff --git a/sflphone-common/libs/iax2/md5.h b/sflphone-common/libs/iax2/md5.h index 81c9e30613b890f34e38663f9cc536dfa7cb4b0a..b3ad37a9b36532268cc9f3e62d909963c70e8e01 100644 --- a/sflphone-common/libs/iax2/md5.h +++ b/sflphone-common/libs/iax2/md5.h @@ -8,20 +8,20 @@ typedef unsigned int uint32_t; typedef unsigned char uint8_t; #endif -struct MD5Context { +struct IAX_MD5Context { uint32_t buf[4]; uint32_t bits[2]; uint8_t in[64]; }; -void MD5Init(struct MD5Context *context); -void MD5Update(struct MD5Context *context, uint8_t const *buf, unsigned int len); -void MD5Final(uint8_t digest[16], struct MD5Context *context); -void MD5Transform(uint32_t buf[4], uint32_t const in[16]); +void IAX_MD5Init(struct IAX_MD5Context *context); +void IAX_MD5Update(struct IAX_MD5Context *context, uint8_t const *buf, unsigned int len); +void IAX_MD5Final(uint8_t digest[16], struct IAX_MD5Context *context); +void IAX_MD5Transform(uint32_t buf[4], uint32_t const in[16]); /* * This is needed to make RSAREF happy on some MS-DOS compilers. */ -typedef struct MD5Context MD5_CTX; +typedef struct IAX_MD5Context MD5_CTX; #endif /* !MD5_H */ diff --git a/sflphone-common/libs/pjproject/aconfigure b/sflphone-common/libs/pjproject/aconfigure index e5b8e4aec50cfe5594027fef1b4e412fb26dc834..fbcf29c80a8ab4dad98f75dd209c455890b80496 100755 --- a/sflphone-common/libs/pjproject/aconfigure +++ b/sflphone-common/libs/pjproject/aconfigure @@ -5368,8 +5368,11 @@ if test "${enable_g7221_codec+set}" = set; then : $as_echo "Checking if G.722.1 codec is disabled...yes" >&6; } fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722.1 codec is disabled...no" >&5 -$as_echo "Checking if G.722.1 codec is disabled...no" >&6; } + ac_no_g7221_codec=1 + $as_echo "#define PJMEDIA_HAS_G7221_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722.1 codec is disabled...yes" >&5 +$as_echo "Checking if G.722.1 codec is disabled...yes" >&6; } fi diff --git a/sflphone-common/libs/pjproject/aconfigure.ac b/sflphone-common/libs/pjproject/aconfigure.ac index 92eaa9dcb2d13cf0791e3cb1f753fa7c1c7c0ece..e903d90fb1af75c21dcf42f8494596b783b73d07 100644 --- a/sflphone-common/libs/pjproject/aconfigure.ac +++ b/sflphone-common/libs/pjproject/aconfigure.ac @@ -544,7 +544,9 @@ AC_ARG_ENABLE(g7221-codec, AC_DEFINE(PJMEDIA_HAS_G7221_CODEC,0) AC_MSG_RESULT([Checking if G.722.1 codec is disabled...yes]) fi], - AC_MSG_RESULT([Checking if G.722.1 codec is disabled...no])) + [ac_no_g7221_codec=1] + AC_DEFINE(PJMEDIA_HAS_G7221_CODEC,0) + AC_MSG_RESULT([Checking if G.722.1 codec is disabled...yes])) dnl # Include Speex codec AC_SUBST(ac_no_speex_codec) diff --git a/sflphone-common/libs/pjproject/autogen.sh b/sflphone-common/libs/pjproject/autogen.sh new file mode 100755 index 0000000000000000000000000000000000000000..695c27e85ee6a3fd11a52bae54b04f11ab6579b7 --- /dev/null +++ b/sflphone-common/libs/pjproject/autogen.sh @@ -0,0 +1,26 @@ +#!/bin/bash +##################################################### +# File Name: autogen.sh +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-26 +# Last Modified: 2009-06-01 18:25:28 -0400 +##################################################### + +if [ -e /usr/share/misc/config.guess ]; then + rm -f config.sub config.guess + ln -s /usr/share/misc/config.sub . + ln -s /usr/share/misc/config.guess . +elif [ -e /usr/lib/rpm/config.guess ]; then + rm -f config.sub config.guess + ln -s /usr/lib/rpm/config.sub . + ln -s /usr/lib/rpm/config.guess . +else + aclocal --force + automake --add-missing --force-missing --copy +fi + +exit 0 diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util.h index d8523abc1a9e5aebaf313c9fb11388cefd90a8ff..cf5d825cb925b1fcef331454c9f0217fed5cff32 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_H__ #define __PJLIB_UTIL_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/base64.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/base64.h index d2339a567182d42598f622de507dfb8fffad09d5..a4429e0534a2ff738a6a3d9ee06423628e52956c 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/base64.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/base64.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_BASE64_H__ #define __PJLIB_UTIL_BASE64_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/config.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/config.h index f1e5b1e9937d7317795ef6342d8fed0efea112aa..7b09e23d4e61573727e72bfcd51748a3ccac2013 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/config.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_CONFIG_H__ #define __PJLIB_UTIL_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/crc32.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/crc32.h index d63db872c47fc9d0c8f723b3d7823b99621c1a60..8e8e65dc020cf945a6152c0ee37959cbba80057e 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/crc32.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/crc32.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_CRC32_H__ #define __PJLIB_UTIL_CRC32_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns.h index 3aba6258f0b716e043235635ef111e9060159f4e..f36774e1b054afbd93d5c8b444864daf25a8ec30 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_DNS_H__ #define __PJLIB_UTIL_DNS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns_server.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns_server.h index 0dbe531177f7169aa43e16a8d5d4d98b64be8f39..2e6af8359e32643365ff5631640835aeb6b9c7e6 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns_server.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/dns_server.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_DNS_SERVER_H__ #define __PJLIB_UTIL_DNS_SERVER_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/errno.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/errno.h index 11375c78f42a4ad6168bec95027811cfd023c928..88e43be10df331ac0b088ae21b35bb93548e654a 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/errno.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_ERRNO_H__ #define __PJLIB_UTIL_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_md5.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_md5.h index a5e36fc465431cc54f892fec7591a0eaf3a856f5..8c90ac60ad58eca0c1dd9b2ea0108b0c65276680 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_md5.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_md5.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_HMAC_MD5_H__ #define __PJLIB_UTIL_HMAC_MD5_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_sha1.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_sha1.h index 5300eea0415f962448843052c8a4742afe479985..036b7de46959752e61ad9bbe2a914066da9be7eb 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_sha1.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/hmac_sha1.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_HMAC_SHA1_H__ #define __PJLIB_UTIL_HMAC_SHA1_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/md5.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/md5.h index 5fd90c0a2627f294440c9a07c247cfbb1965d051..984cb6228c8c39aa7ecc076754fd96bb39a49403 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/md5.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/md5.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_MD5_H__ #define __PJLIB_UTIL_MD5_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/pcap.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/pcap.h index fb0a3252c20368bc7496142a7c4ea95ef9fc40ae..e0cc49211c95a84b1ee2962719a4dee29752e81d 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/pcap.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/pcap.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_PCAP_H__ #define __PJLIB_UTIL_PCAP_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/resolver.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/resolver.h index 2a82b2bc64024145a0a3cc1a88680caf7d388199..94c4f7ba8944d590e17941fffef09b3ad6549fc0 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/resolver.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/resolver.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_RESOLVER_H__ #define __PJLIB_UTIL_RESOLVER_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner.h index ef428523b996a5bacddda8fb6238575c19e93dd4..948e6c5f3ae33bc9eeb654f74483be1e8186b76f 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_SCANNER_H__ #define __PJ_SCANNER_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h index 8f6a3ce6074ae2ad28edea3e8455b92c3d8277e4..6d6afc41fad753d84863a50b9f77adfadd4b37fc 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__ #define __PJLIB_UTIL_SCANNER_CIS_BIT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_uint.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_uint.h index 1a2532ebad85bb9d41934cd5115ee140dde1793a..3097c3eb4035b222ff3b7f5d40db9311d0653063 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_uint.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/scanner_cis_uint.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__ #define __PJLIB_UTIL_SCANNER_CIS_BIT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/sha1.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/sha1.h index 93a2a286cf1d9bb3e24ffd6ec68bf6df49a61b59..2db01872b5a22e082b0c6ec2f0d35fc0dfc2ca82 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/sha1.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/sha1.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_SHA1_H__ #define __PJLIB_UTIL_SHA1_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/srv_resolver.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/srv_resolver.h index 216e91b9e5d525d9807b1d26cd4896b639fba186..a624dcb14742ec205bad74e97e39ee2051891518 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/srv_resolver.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/srv_resolver.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_SRV_RESOLVER_H__ #define __PJLIB_UTIL_SRV_RESOLVER_H__ @@ -104,7 +115,19 @@ typedef enum pj_dns_srv_option * this option is not specified, the SRV resolver will query * the DNS A record for the target instead. */ - PJ_DNS_SRV_RESOLVE_AAAA = 4 + PJ_DNS_SRV_RESOLVE_AAAA = 4, + + /** + * Specify if the resolver should fallback to getaddrinfo + * under IPV4 mode if DNS A fails after DNS SRV. + */ + PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV4 = 8, + + /** + * Specify if the resolver should fallback to getaddrinfo + * under IPV6 mode if DNS A fails after DNS SRV. + */ + PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV6 = 16, } pj_dns_srv_option; diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/string.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/string.h index 20bac690932f62a182ff8170e11e44d9f9791433..e18e20fc1e253b8f4f22025982072fbd594d66d9 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/string.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/string.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_STRING_H__ #define __PJLIB_UTIL_STRING_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/stun_simple.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/stun_simple.h index f95bb3f33595e9676ec6c6102775b12e72232b20..b33e5d8472690318d5d0825e7c101c922b8992b3 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/stun_simple.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/stun_simple.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSTUN_H__ #define __PJSTUN_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/types.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/types.h index 1147e251dc889c3a7fa88932a1bbadcaf43cd27b..365288e3608635027382e5c33260bf23c007b391 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/types.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_UTIL_TYPES_H__ #define __PJLIB_UTIL_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/xml.h b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/xml.h index 776e2987d064d92d33dee4478c30e58250008371..e42ca4d0b8dc9513167247b5c754aacb3cf8f524 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/xml.h +++ b/sflphone-common/libs/pjproject/pjlib-util/include/pjlib-util/xml.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_XML_H__ #define __PJ_XML_H__ diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/encryption.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/encryption.c index 6dbaf37379303c6861bd7df66bd65e0c2d683bb0..827adf3867d2100702f91150b461cd22ff0cfdf2 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/encryption.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/encryption.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib-util.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/main.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/main.c index 51a349b86bd1b7abdd0479383aec0f46bedddd31..04d9bf20dc5a85c65b39f0252cfe3e1af1025393 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/main.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/resolver_test.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/resolver_test.c index 1a32863f4c760e9cad9987b8ff023d82bc48b75a..aeed176a64ece222ffedeaea3293581d4169fc0e 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/resolver_test.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/resolver_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util.h> #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/stun.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/stun.c index 66ebcaa44b59148b50a173b0db61bc85ba559354..1cd675cbfac119630722ace1b9888c77ae4a1c0a 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/stun.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/stun.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ static int decode_test(void) diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.c index 076ded197a0a52704760bd5291a4501a4596b789..bfa05dc065ec58d40d855fb7c4dab2ba051481cb 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.h b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.h index 78a9aa15af8b6b382f7bc157e51f9475199ff8f2..2502082ed7999f6fd2008b35dcd80bb2cf1a5337 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.h +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/test.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/types.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/xml.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/xml.c index ee2ce52525ada2fcb065fcad5fc4d8c6ba466d5a..426aaccb29489c56d9764d791e1f77a776a3e17b 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/xml.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util-test/xml.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/base64.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/base64.c index 424fd83edc4402e4fb30267e3060a94de20051a2..7a552ac92c1428fc8c15976c75f14a14fccb5d71 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/base64.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/base64.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/base64.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns.c index de16a0e93468190da006327635b57391139773b9..cd65957fa068b6dd5c8837a8a2a901ba95e84541 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/dns.h> #include <pjlib-util/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_dump.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_dump.c index 82a39074da8d7dae6ba314e8e6350380bce4e4ce..b19fb6cf2c27d2a1e63803c10325a0dcb0b7fb3d 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_dump.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_dump.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/dns.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_server.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_server.c index c4f3eda2beae6caa80c13cd2ee666bbf2044caa5..d0912f85c4a9bc462f68821a207e6e490ccbc28c 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_server.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/dns_server.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/dns_server.h> #include <pjlib-util/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/errno.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/errno.c index bf685bc7c59aa5617efc800daf26aef7e71f9741..a2e8ab5b10e8d4fd4e1dcf6a4ec100b47d578152 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/errno.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/errno.h> #include <pjlib-util/types.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/getopt.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/getopt.c index 0f8aca4d57fd1c35a5dcbe3ba8a8f867a0abda4f..d627a7cb8d5879fb7b8985c89f47d3ec64917c3c 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/getopt.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/getopt.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_md5.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_md5.c index 95a212ad1b0c3096cec115c513c45d6e8e8e9895..e57e6eaf704bf6b3c2ecaf9d480acfcb6431832f 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_md5.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_md5.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/hmac_md5.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_sha1.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_sha1.c index 423faa8ade21e03663e5ebf69c8290f67d4d7202..c9a50a4573c8bfcc7d351c4e4aa775260af6e1eb 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_sha1.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/hmac_sha1.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/hmac_sha1.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/pcap.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/pcap.c index 69a772182ee3c934e106f8a7806cc6a341d8d608..8f58f37dd81f111dcc44fe1671c6dd65e81a2fd8 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/pcap.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/pcap.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/pcap.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver.c index 3c95964c05dcd2957e9a1ef4f7b3f8ea28dbdadd..32f621cf30841f3fbfcc9c8409a8f1b61893185f 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/resolver.h> #include <pjlib-util/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver_wrap.cpp b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver_wrap.cpp index aece5356d7ae6cd2f685ba31f776372bfacfead5..07fb4468feb6954ec35315577cb42e710a94a303 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/resolver_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner.c index c153f0838035ee9ccb477130794d189ee2a28d3f..7725ab054fb4e48606566879c523d4566f011c1d 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/scanner.h> #include <pj/ctype.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c index 6387541d2f03c30ae77bdbbe35f1c2728c99c8c6..432e39ed767ab343042528435f96100502f0a8d8 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_uint.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_uint.c index 5db0e77c83785ce6a3166bddf2921da03630889d..1b503b2a2d89e794d9665e607d9051b037cf301d 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_uint.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/scanner_cis_uint.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/srv_resolver.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/srv_resolver.c index 83963495574d53a1b9cfdaa596d02629eda89e1d..0d7a9f45c47221ef1aeae1c19bc2456b0f3f8ca8 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/srv_resolver.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/srv_resolver.c @@ -16,9 +16,21 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/srv_resolver.h> #include <pjlib-util/errno.h> +#include <pj/addr_resolv.h> #include <pj/array.h> #include <pj/assert.h> #include <pj/log.h> @@ -583,13 +595,53 @@ static void dns_callback(void *user_data, } else if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; - /* Update last error */ - query_job->last_error = status; - - /* Log error */ - pj_strerror(status, errmsg, sizeof(errmsg)); - PJ_LOG(4,(query_job->objname, "DNS A record resolution failed: %s", - errmsg)); + if ((query_job->option & + (PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV4 | PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV6))) + { + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(query_job->objname, + "DNS A record resolution failed: %s," + " trying getaddrinfo()", + errmsg)); + + pj_addrinfo ai; + unsigned count; + int af; + + if ((query_job->option & PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV6)) { + af = pj_AF_INET6(); + } else { + af = pj_AF_INET(); + } + + count = 1; + status = pj_getaddrinfo(af, &query_job->domain_part, &count, &ai); + if (status != PJ_SUCCESS) { + query_job->last_error = status; + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(query_job->objname, "DNS resolution failed with getaddrinfo(): %s", + errmsg)); + } else { + + if (srv->addr_cnt < ADDR_MAX_COUNT) { + srv->addr[srv->addr_cnt++].s_addr = ai.ai_addr.ipv4.sin_addr.s_addr; + } + + PJ_LOG(5,(query_job->objname, + "DNS getaddrinfo() for %.*s: %s", + (int)srv->target_name.slen, + srv->target_name.ptr, + pj_inet_ntoa(srv->addr[srv->addr_cnt]))); + } + } else { + /* Update last error */ + query_job->last_error = status; + + /* Log error */ + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(query_job->objname, "DNS A record resolution failed: %s", + errmsg)); + } } ++query_job->host_resolved; diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/string.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/string.c index 6bab7ebb55dbd98b32f5c6fecdbde240395e3a77..2a926009223a5118b1543916baa5dcbfb7950f1d 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/string.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/string.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/string.h> #include <pj/ctype.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple.c index 14f525506ceb71031eb9bcb8a90563fd104f9a8d..c34d3c1b80b4445f2a5fb3612388005887bbebc8 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/stun_simple.h> #include <pjlib-util/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple_client.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple_client.c index 348fcf9c145f0322aff1f3a294219eb91a640b71..a3e18cdba9ebba07d83937c1b45c424321d6301e 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple_client.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/stun_simple_client.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/stun_simple.h> #include <pjlib-util/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/symbols.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/symbols.c index 3a53cdea3e0d4802831ae0ab581b628976af9db2..c26c5c0d5cad34829352923bc278b28f60a1f78c 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/symbols.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/symbols.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib.h> #include <pjlib-util.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml.c b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml.c index 76ec2c595ab1d1cca410644d26e7e342631d5768..4240e30b88b206120d8f698a6b0d55e18dd0aa0a 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml.c +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib-util/xml.h> #include <pjlib-util/scanner.h> diff --git a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml_wrap.cpp b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml_wrap.cpp index b33e4d3cf145876a10313ff81af241f8e08a08cd..aa80d827b5d50544f3f4ba622cddd5b76b847d69 100644 --- a/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjlib-util/src/pjlib-util/xml_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/file.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/file.hpp index d37defc36116679623f54e5aa67e405881eddf08..df78aebd225b5269f8d34ef3dfc0ba0796d8756c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/file.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/file.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_FILE_HPP__ #define __PJPP_FILE_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/hash.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/hash.hpp index b8b0a9a642d5ae9a0c28f4bb3a695b9a73e54b8f..53e91ba545eb8e3012bc2502eedb495abdc76ee1 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/hash.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/hash.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_HASH_HPP__ #define __PJPP_HASH_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/list.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/list.hpp index 24217c9b7bc2a7731e1cfe7bd9a0ccb490ce8089..503a72965c9e4c9816064f18b4b0b9429ab8dd13 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/list.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/list.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_LIST_HPP__ #define __PJPP_LIST_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/lock.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/lock.hpp index 43779a69be548c3b3f1555c43e86bdd6e74f3df5..5719c03aacfd502123b8bcf93689e10d6c9b3b45 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/lock.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/lock.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_LOCK_HPP__ #define __PJPP_LOCK_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/os.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/os.hpp index 6c87f31ef2b117cb6705dfe1815010f3b009d137..bf8a15078ae33a297858dcbe909c33394a6da9d0 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/os.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/os.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_OS_HPP__ #define __PJPP_OS_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/pool.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/pool.hpp index 8800ddbda78dde1357f136750af8590c067c1c64..437bd12c7df426ea7eee09067eb0174dd7de0ed0 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/pool.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/pool.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_POOL_HPP__ #define __PJPP_POOL_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/proactor.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/proactor.hpp index 7e335645c255110c1ee6ba6fa5d749112c91fc1a..4db72d4c3c68481763f5c1c8537c2cce16b8ed90 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/proactor.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/proactor.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_PROACTOR_HPP__ #define __PJPP_PROACTOR_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/scanner.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/scanner.hpp index a3de6d88c4fe89250dbdacec3c5430abc2b28807..6f05b1f6b76dc866779262e5bb230998fead1bd8 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/scanner.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/scanner.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_SCANNER_HPP__ #define __PJPP_SCANNER_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/sock.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/sock.hpp index 1b2b67a33b9055a5c8a4ba3080c21090a5cffdc2..c5583da2b7c70bacaaee691c12d3cd96829c8ea9 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/sock.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/sock.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_SOCK_HPP__ #define __PJPP_SOCK_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/string.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/string.hpp index 3c2168566b5b4ae272420b1586caa7418cee0b6a..d183fbb9d1bb6f75df80e1adc82a9bf27669bf27 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/string.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/string.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_STRING_HPP__ #define __PJPP_STRING_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/timer.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/timer.hpp index c6bae69b20c710de0bb6416bc744a98d5c46c5f4..0301d3b9c58afadbf2cd01ade697e24a0f618959 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/timer.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/timer.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_TIMER_HPP__ #define __PJPP_TIMER_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/tree.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/tree.hpp index 2c963ab9097b13ea2c833397db09a7629b6cd4a7..53d8400cdf8614938903896ccddaf44a6237a18f 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/tree.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/tree.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_TREE_HPP__ #define __PJPP_TREE_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj++/types.hpp b/sflphone-common/libs/pjproject/pjlib/include/pj++/types.hpp index 4140a347cc7e2b5f888064a84dc648d72d650fce..831266b82ffbe01d8c9473dad39e9ed32ad49ad9 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj++/types.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pj++/types.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJPP_TYPES_HPP__ #define __PJPP_TYPES_HPP__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/activesock.h b/sflphone-common/libs/pjproject/pjlib/include/pj/activesock.h index 3611d3a35169d2e4e6a63d39a9521324bffeba8c..a485d28321a5856e1412cbf2ea083c87a5dc414f 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/activesock.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/activesock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_ASYNCSOCK_H__ #define __PJ_ASYNCSOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/addr_resolv.h b/sflphone-common/libs/pjproject/pjlib/include/pj/addr_resolv.h index 04db2f08515a8a87d25c10c2190da84b704f0cac..d74d3f53c886da3789bd2c7534e569b77a3d918d 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/addr_resolv.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/addr_resolv.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_ADDR_RESOLV_H__ #define __PJ_ADDR_RESOLV_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/array.h b/sflphone-common/libs/pjproject/pjlib/include/pj/array.h index 9c13df80d056a72c626828dbf7d093aaeba18326..b659d1738fdbe665c415de0c4f1b05912b67993a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/array.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/array.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_ARRAY_H__ #define __PJ_ARRAY_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/assert.h b/sflphone-common/libs/pjproject/pjlib/include/pj/assert.h index 65a7a4a88d66169c5b79d385d367822f77856a10..52c457011c539d2cc1f3ee627cd8eaacc236b30b 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/assert.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/assert.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_ASSERT_H__ #define __PJ_ASSERT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/assert.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/assert.h index 5ced41e3c62a5597b86507fd6ca9470e4b33be28..2781bb3d8e3059781fe2c8e7b94d9950f7982bf0 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/assert.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/assert.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_ASSERT_H__ #define __PJ_COMPAT_ASSERT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_armcc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_armcc.h index a6b8dfe90711e8fb542e0fb65e047d136d98a4d2..4f177a99976dd91caf058e3b1ea121fe9e5cdff1 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_armcc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_armcc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_ARMCC_H__ #define __PJ_COMPAT_CC_ARMCC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_codew.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_codew.h index 79730cb398409cbbd5bc9c08bd6e91e7e0577529..491dc56f7798840138f2f56dccb0d0dcde0b73ac 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_codew.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_codew.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_CODEW_H__ #define __PJ_COMPAT_CC_CODEW_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcc.h index 78d7e8c92174562657ecd38f6ff364ed388058c9..ff2239d6013116a851a6b710d6dc7a77f7626a0f 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_GCC_H__ #define __PJ_COMPAT_CC_GCC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcce.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcce.h index 5e423781ea56e1ead2ce42d0f3e06a9707e0ea99..4f56e74c817593310f053a696071f133b3014af4 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcce.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_gcce.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_GCCE_H__ #define __PJ_COMPAT_CC_GCCE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_msvc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_msvc.h index a7c50375d8df3aba0fa0c8269c14133bb155254b..edd950585a30bd2d6de9fff18a5ec4d6898dc5e2 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_msvc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_msvc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_MSVC_H__ #define __PJ_COMPAT_CC_MSVC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_mwcc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_mwcc.h index a770110d09aaa143ed51b4fab2d6d432525989b7..6572de0270aa407450767b5a169417fc2dd12e8d 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_mwcc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/cc_mwcc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CC_MWCC_H__ #define __PJ_COMPAT_CC_MWCC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/ctype.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/ctype.h index a714964bc70cdaaec4b2f663a88b504f55f203eb..7678c7279673b1d3724f261a9a3b4a3ddf0a4cba 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/ctype.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/ctype.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_CTYPE_H__ #define __PJ_COMPAT_CTYPE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/errno.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/errno.h index fc39bfb9f34cfe0719831f911554a763a73e68c3..2463359d06c128f4a53980a75d534e50e19c4995 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/errno.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_ERRNO_H__ #define __PJ_COMPAT_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/high_precision.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/high_precision.h index 1bbcf0350bf80237cebacda3e8c543b63223b996..d4c2c13031cc91111b389ca78d1bffbd5fd10280 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/high_precision.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/high_precision.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_HIGH_PRECISION_H__ #define __PJ_COMPAT_HIGH_PRECISION_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_alpha.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_alpha.h index 5ccbaddcb35f2719237af5fd204c57fb524ab92c..16333c446e6620db171421dc60ad97f210e16588 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_alpha.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_alpha.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_ALPHA_H__ #define __PJ_COMPAT_M_ALPHA_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_armv4.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_armv4.h index 4c804f8cb6e8cc56dfa31612c35ed1d39d3c2dd0..dfd2cebb6258059b26f8b0370a4501262d7b0b06 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_armv4.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_armv4.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_ARMV4_H__ #define __PJ_COMPAT_M_ARMV4_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_auto.h.in b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_auto.h.in index ea2a7016469d6d857a7c87c4f387ba5afc20177c..44578ae2cd1a00052627100e8f66b2adba721747 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_auto.h.in +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_auto.h.in @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_AUTO_H__ #define __PJ_COMPAT_M_AUTO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_i386.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_i386.h index 2a0aeb7e18ca7e19367a6ed34c408ba19efd0fe5..b3b73b14a2724eac82b2f722cdf93e7e0039e51c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_i386.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_i386.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_i386_H__ #define __PJ_COMPAT_M_i386_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_m68k.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_m68k.h index b3203f69ab48e22491eea9bd5dc7e6f6498177a2..adbebfe9f01012b8481db1663f95651eff0e74ed 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_m68k.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_m68k.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_M68K_H__ #define __PJ_COMPAT_M_M68K_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_powerpc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_powerpc.h index 20a50bdfa3717a1b6e6d054655c51518fbc434f2..58a648f59b0a98b97a947e25e98e24d9bb1ba9f6 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_powerpc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_powerpc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_POWERPC_H__ #define __PJ_COMPAT_M_POWERPC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_sparc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_sparc.h index ac74f1f61b17538c6552f917117983aca53aed8f..33e4c7e53601aea0a4e95f9b698f07773e779076 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_sparc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_sparc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_SPARC_H__ #define __PJ_COMPAT_M_SPARC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_x86_64.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_x86_64.h index 11599aa617ddce8ad5f5a541d0206a5c4c5badaf..b85ee9032441718524314914555a640244c717bc 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_x86_64.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/m_x86_64.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_M_x86_64_H__ #define __PJ_COMPAT_M_x86_64_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/malloc.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/malloc.h index 66368e170367f12a708e6c347521bce5787895dd..708a09723f1c6b7a6ac544478d4c83884186ebff 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/malloc.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/malloc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_MALLOC_H__ #define __PJ_COMPAT_MALLOC_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_auto.h.in b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_auto.h.in index 187717519014d146281e6152995052f5251a7c4a..ce51ae76d0b58ea6575fd055d91fac72790c9933 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_auto.h.in +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_auto.h.in @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_AUTO_H__ #define __PJ_COMPAT_OS_AUTO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_darwinos.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_darwinos.h index 4afbe02aa6f45f102f54386f70b94f3910685db1..dc4c2f1fb8b1b4cef483364a59679d9f5f72130f 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_darwinos.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_darwinos.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_DARWINOS_H__ #define __PJ_COMPAT_OS_DARWINOS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux.h index a13354922249bc32eddcca6cba59258cdfe6273a..b1e9d485d8bea1b7ad32c583a00e295e406a1165 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_LINUX_H__ #define __PJ_COMPAT_OS_LINUX_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux_kernel.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux_kernel.h index 1aca5719f47df22ddf9616a2e5287aba09100922..84712da502b0671d684b9a4ee36e237dbe6ed6da 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux_kernel.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_linux_kernel.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_LINUX_KERNEL_H__ #define __PJ_COMPAT_OS_LINUX_KERNEL_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_palmos.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_palmos.h index deff12c6dcdb48c25d991c2172f9560b503e86f7..c300c5298f4ad69732f63b5930ada516c9c265f7 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_palmos.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_palmos.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_PALMOS_H__ #define __PJ_COMPAT_OS_PALMOS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_rtems.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_rtems.h index e0133d5c9f9f70f0c65d9aa553cec65f9e648f8b..b48bb48202416f64e30881fe99b2fadd0824ab49 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_rtems.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_rtems.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_sunos.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_sunos.h index ef52f000ba0e4abb57b1fde1b3e4220660673030..6609ccf286cfe5f8aaf3981eba2e347905dd3a57 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_sunos.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_sunos.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_SUNOS_H__ #define __PJ_COMPAT_OS_SUNOS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_symbian.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_symbian.h index 727cbc153d8d2b89757b4515785c3c43f0d960d6..4a65c8c4c55b19f43bc4bec4ecd7177472c3eba3 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_symbian.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_symbian.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_SYMBIAN_H__ #define __PJ_COMPAT_OS_SYMBIAN_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32.h index 496d4780506ad1c2fc23fda1239428466dfdaa1f..fd699e4ccf236cbdad3b9d2bad4e6f5df95345bf 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_WIN32_H__ #define __PJ_COMPAT_OS_WIN32_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32_wince.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32_wince.h index 16d3019479b33654bdce848c8738db6e72eff316..a69e8dc9fd5ce3ac6d7bdf7b1b828b692943b018 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32_wince.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/os_win32_wince.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_OS_WIN32_WINCE_H__ #define __PJ_COMPAT_OS_WIN32_WINCE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/rand.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/rand.h index b0179450d08ccc8102298a6dad86c1c6f74620a6..d82c5ac4afb31c5632979ca91321962e52b0598a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/rand.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/rand.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_RAND_H__ #define __PJ_COMPAT_RAND_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/setjmp.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/setjmp.h index ecf8ed729b0c117d17258c5ab24b09f643c7d437..fd007007572bc0b60a8f63f2983852a3ed1fa16a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/setjmp.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/setjmp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_SETJMP_H__ #define __PJ_COMPAT_SETJMP_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/size_t.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/size_t.h index d3c270cc3de35d0f20d090b0908edf3d73f71c51..9cc2e9a66fe4a554a6bfedbb4251cd6778e5df26 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/size_t.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/size_t.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_SIZE_T_H__ #define __PJ_COMPAT_SIZE_T_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/socket.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/socket.h index b091c40ba69fcb51e23e2e66619df9c9162a615b..b11ffeb3f4feea609d323853085156be0185945c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/socket.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/socket.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_SOCKET_H__ #define __PJ_COMPAT_SOCKET_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdarg.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdarg.h index 202b90563db02b48420b92c9b7f37ddf3002f4e6..e3725a404ab07fe727e87615161d4cd7c464d044 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdarg.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdarg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_STDARG_H__ #define __PJ_COMPAT_STDARG_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdfileio.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdfileio.h index 56655232ad1038b0b513128f658e9fe5a799e287..ec6cbfc5e30ea6b354fdec99fba444a8925cf402 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdfileio.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/stdfileio.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_STDFILEIO_H__ #define __PJ_COMPAT_STDFILEIO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h index e0ceb53f894b2c6eaad6e52dfe51e45524fe382c..b0da31064d349b2a3197b4fd85211269566916eb 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_STRING_H__ #define __PJ_COMPAT_STRING_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/time.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/time.h index 8a4465719fc4de94fa0d0b7d1e840a39aa0c9a73..dc81459e485ba35baaabcee3fee4ecab12873542 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/time.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/time.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_COMPAT_TIME_H__ #define __PJ_COMPAT_TIME_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/config.h b/sflphone-common/libs/pjproject/pjlib/include/pj/config.h index 7c21e8efa31bfbee83deb2c7676c1c986ce29210..ce7a97cc1a6bb99fbc9589a85a8776468967d2f9 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/config.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_CONFIG_H__ #define __PJ_CONFIG_H__ @@ -264,6 +275,48 @@ # define PJ_HAS_PENTIUM 0 # define PJ_IS_LITTLE_ENDIAN 1 # define PJ_IS_BIG_ENDIAN 0 + +#elif defined (PJ_M_SH) || defined(__sh) || defined(__sh__) || \ + defined(__SH__) || defined(__M_SH) || defined(_ARCH_SH) + /* + * Renesas SH, little endian and big endian + */ +# undef PJ_M_SH +# define PJ_M_SH 1 +# define PJ_M_NAME "sh" +# define PJ_HAS_PENTIUM 0 +# if defined(__LITTLE_ENDIAN__) +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 +# elif defined(__BIG_ENDIAN__) +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 +# endif + +#elif defined (PJ_M_HPPA) || defined(__hppa) || defined(__hppa__) || \ + defined(__HPPA__) || defined(__M_HPPA) || defined(_ARCH_HPPA) + /* + * HP/PA, big endian + */ +# undef PJ_M_HPPA +# define PJ_M_HPPA 1 +# define PJ_M_NAME "hppa" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + +#elif defined (PJ_M_S390) || defined(__s390) || defined(__s390__) || defined(__s390x) || \ + defined(__s390x__) || defined(__M_s390) || defined(_ARCH_s390) + /* + * System 390, big endian + */ +# undef PJ_M_S390 +# define PJ_M_S390 1 +# define PJ_M_NAME "s390" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + #else # error "Please specify target machine." diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/ctype.h b/sflphone-common/libs/pjproject/pjlib/include/pj/ctype.h index abfec7e7c2c3f57c7cc0269db461690658f3d658..e0540525cc5931c375df031d5db57e060eae142b 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/ctype.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/ctype.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_CTYPE_H__ #define __PJ_CTYPE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/doxygen.h b/sflphone-common/libs/pjproject/pjlib/include/pj/doxygen.h index 12014d31fc4109510cd2b2843b27eb76b2664b76..9d1db0d106d5e3ac424e02747d255347eed4018d 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/doxygen.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/doxygen.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_DOXYGEN_H__ #define __PJ_DOXYGEN_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/errno.h b/sflphone-common/libs/pjproject/pjlib/include/pj/errno.h index 7576a4cf7accd1e6a974ef5e7a3a4b42313db806..58e48350fedf57e749e8af3525e0de077582b9c1 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/errno.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_ERRNO_H__ #define __PJ_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/except.h b/sflphone-common/libs/pjproject/pjlib/include/pj/except.h index c71d76cf9e10016902bf72593244917f348b835c..64e2493f03e11230240c054719eb1f51ea934c08 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/except.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/except.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_EXCEPTION_H__ #define __PJ_EXCEPTION_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/fifobuf.h b/sflphone-common/libs/pjproject/pjlib/include/pj/fifobuf.h index fd7242d47e633605fa8f5b3fdcadd1e173fb908d..56810b6b357a4fb30ceab22b8a4a57da9ceb3211 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/fifobuf.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/fifobuf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_FIFOBUF_H__ #define __PJ_FIFOBUF_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/file_access.h b/sflphone-common/libs/pjproject/pjlib/include/pj/file_access.h index 8c53755ec4fdd602fe643986cf29d07706bbccf1..f75dc815081eb6c2da1f0a5782caa377a978ff42 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/file_access.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/file_access.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_FILE_ACCESS_H__ #define __PJ_FILE_ACCESS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/file_io.h b/sflphone-common/libs/pjproject/pjlib/include/pj/file_io.h index ea95c416d9ecd4414ae47dfb9b2fb7c38f5a8ae8..e20541de8bb6d83e004831f6c7ef0f6ea8790f5a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/file_io.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/file_io.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_FILE_IO_H__ #define __PJ_FILE_IO_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/guid.h b/sflphone-common/libs/pjproject/pjlib/include/pj/guid.h index 5302f735ca4ac6ceff5b6a2c91e1ef62b6588c27..eee046a0b56a65f6da5940aa6751d16ecc7af17d 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/guid.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/guid.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_GUID_H__ #define __PJ_GUID_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/hash.h b/sflphone-common/libs/pjproject/pjlib/include/pj/hash.h index 72d739dc9ab482ed18649a8f733cd7765413cda9..559aae5b04e28d0ca24931a712860ea75543ae64 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/hash.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/hash.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_HASH_H__ #define __PJ_HASH_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/ip_helper.h b/sflphone-common/libs/pjproject/pjlib/include/pj/ip_helper.h index b1a7ec948d0164d4d88fe5131e2d3d7d9c35ce83..0446dc886465ca9835d2181367cf92244f3a3c5f 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/ip_helper.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/ip_helper.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_IP_ROUTE_H__ #define __PJ_IP_ROUTE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/list.h b/sflphone-common/libs/pjproject/pjlib/include/pj/list.h index 7c95e875726c67bd9a8dc069148a752768fe65b5..2cf075e62fa79a8228c46c1a16122cab373b2d9c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/list.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/list.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_LIST_H__ #define __PJ_LIST_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/list_i.h b/sflphone-common/libs/pjproject/pjlib/include/pj/list_i.h index 8f5a25abf868593ae5e54be00ca45727d49c15c2..e910761296a45cec55989e2280c1038999891921 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/list_i.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/list_i.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/lock.h b/sflphone-common/libs/pjproject/pjlib/include/pj/lock.h index 13fd7142278c1a1c66f6c65ad71bb4c2b316386a..a0a31b851e4819bc0df5a8420a4655e6b23e54b8 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/lock.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/lock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_LOCK_H__ #define __PJ_LOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/log.h b/sflphone-common/libs/pjproject/pjlib/include/pj/log.h index e0b6e69d1a75a32bd0119af4b863584725477fe4..118a3b36c1ac1fdcb7d5a0529fabc871d1ef7519 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/log.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/log.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_LOG_H__ #define __PJ_LOG_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/math.h b/sflphone-common/libs/pjproject/pjlib/include/pj/math.h index e74ce829b4404ca21b67bb7b3644d0f5261bf7bc..1bc50898785746b81c2a65584f4c3fbbfd8f750d 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/math.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/math.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_MATH_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/os.h b/sflphone-common/libs/pjproject/pjlib/include/pj/os.h index 6b4c5e45e65c8ebb7ebde578c61e6560ed634abb..5f025f902dacb066415ec65aa5eace0080152629 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/os.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/os.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_OS_H__ #define __PJ_OS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/pool.h b/sflphone-common/libs/pjproject/pjlib/include/pj/pool.h index d8225cbab90a7d34d799ac763edc75b3be460cfc..2ee1d07a5b0bc9ce46b3bdd0f63da345b4d01e3a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/pool.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/pool.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/list.h> diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_alt.h b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_alt.h index 417d96dc1bd3b275e4eae90d6b44b6c1295d760a..ab6e48f66b4dad4cb08590162e679c3ce7cf489b 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_alt.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_alt.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_POOL_ALT_H__ #define __PJ_POOL_ALT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_buf.h b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_buf.h index 0698fe26cb6835b58b460d85922f166cec58b62f..64fb3cd188f0f54defe5d5716c3024ee888b81a0 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_buf.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_buf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __POOL_STACK_H__ #define __POOL_STACK_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_i.h b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_i.h index 1a54be700ca8b8360b6f38cb63d11e3ec20cb2bf..44f2e97f87752c7882e34dcf4acb4d556625ff39 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/pool_i.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/pool_i.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/rand.h b/sflphone-common/libs/pjproject/pjlib/include/pj/rand.h index 55169f259765a7ca36d5298ab76853c06d03cae1..f2ce097a35859eba96e8a3345d93a844208a2b61 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/rand.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/rand.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_RAND_H__ #define __PJ_RAND_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/rbtree.h b/sflphone-common/libs/pjproject/pjlib/include/pj/rbtree.h index 340409d9b75f487fd89e8c364f9efd3ca2ede058..3d30f40d7d0735a583ae4c7dc2c1b18ab4f1ab5c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/rbtree.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/rbtree.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_RBTREE_H__ #define __PJ_RBTREE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/sock.h b/sflphone-common/libs/pjproject/pjlib/include/pj/sock.h index 90c9f05ce8efdbf33344f25ffd8cc8dd7cff64f8..64d019a48c8bef47f936d611b4d743a5f2730497 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/sock.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/sock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_SOCK_H__ #define __PJ_SOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/sock_qos.h b/sflphone-common/libs/pjproject/pjlib/include/pj/sock_qos.h index 4422253b6853f85a21166892f9df4e41724c0646..7c2f7149059f5382e3ed4bd4db7d5c079735f402 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/sock_qos.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/sock_qos.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_SOCK_QOS_H__ #define __PJ_SOCK_QOS_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/sock_select.h b/sflphone-common/libs/pjproject/pjlib/include/pj/sock_select.h index 87158253b1ff526c6dc47a4b87682a8eec6b55c7..b7ef4fcdaab28d4a77bc3565d01da9e965b3389b 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/sock_select.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/sock_select.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_SELECT_H__ #define __PJ_SELECT_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/ssl_sock.h b/sflphone-common/libs/pjproject/pjlib/include/pj/ssl_sock.h index 3ac2b7f2bfc54aaf249d2db25ac301eac8eec605..f9252f581757c623277f3afcd4c85823912811de 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/ssl_sock.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/ssl_sock.h @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_SSL_SOCK_H__ #define __PJ_SSL_SOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/string.h b/sflphone-common/libs/pjproject/pjlib/include/pj/string.h index 1516765ab76fd0f8ead47033b7fdb27aab2e42d3..6af4acba1d36c1671d5a2f8cd023d5afcc58e459 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/string.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/string.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_STRING_H__ #define __PJ_STRING_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/string_i.h b/sflphone-common/libs/pjproject/pjlib/include/pj/string_i.h index f2f755ac4299372f6b9bb69ebf784c7cfd643e55..0090a031be0462c7c4ef7973e041b0d8550f3ca6 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/string_i.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/string_i.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/types.h b/sflphone-common/libs/pjproject/pjlib/include/pj/types.h index 9c43f93c8e317bd6d2de6039dd0fc27aa4722cbb..5f5c8e60367df8a441819a8c1863b7628dff76ff 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/types.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_TYPES_H__ #define __PJ_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/unicode.h b/sflphone-common/libs/pjproject/pjlib/include/pj/unicode.h index 0eea2276a80ba70a398d7a749739a8f76a17af1c..48e5e10e7a59bba8915751a0e43000721298562a 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/unicode.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/unicode.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_UNICODE_H__ #define __PJ_UNICODE_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pjlib++.hpp b/sflphone-common/libs/pjproject/pjlib/include/pjlib++.hpp index fe2e74d0ef1c308e5bf4e180fc3850c724881a0f..afdfbd8cd3fe769b4c02a0317aee725b65a1231e 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pjlib++.hpp +++ b/sflphone-common/libs/pjproject/pjlib/include/pjlib++.hpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIBPP_H__ #define __PJLIBPP_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pjlib.h b/sflphone-common/libs/pjproject/pjlib/include/pjlib.h index dcfa3bed96faa38468bb18407868bc2a10ea2992..924b575252ac38d75be7e2c7478d660284e04197 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pjlib.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pjlib.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/activesock.c b/sflphone-common/libs/pjproject/pjlib/src/pj/activesock.c index 2c19fc9fc016901f7341898c82147d17ec74e170..f5181827dee7c0f1df0be635719fb4fa3202f061 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/activesock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/activesock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/activesock.h> #include <pj/compat/socket.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_linux_kernel.c index 0848cd54734188a78463fa76b48c643b2b2cc964..6c5061558ae0757bc4c75e95e47e7709ab09c210 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_sock.c b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_sock.c index 3c3a946741cb3bb20c2f2694e51da3f7c394c964..7e9dc177c92bac3a83b90749b894d7c4dfcf5d42 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_sock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_sock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/addr_resolv.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_symbian.cpp index a0f4453dcef2545167dacd407b60f9560aadf640..d53bd764252ddf2345a63b36470da437e1b29f28 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/addr_resolv_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/addr_resolv.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/array.c b/sflphone-common/libs/pjproject/pjlib/src/pj/array.c index bc47d157b4167ae9804ebe1adbc56b254fabe9f2..d7f7fd0f4ae1c79136c86b4b3da2ce23959a80e7 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/array.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/array.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/array.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/sigjmp.c b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/sigjmp.c index 7dc2eed6e69ac3d2c1168f5a4a78569c14fc29ee..2a77fa208392848f45605d450767f0cde8edb909 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/sigjmp.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/sigjmp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/config.h> #include <pj/compat/setjmp.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string.c b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string.c index ee33e927da49605daacee595e199273bd1d57edf..91734d91814dd2738a34b483d566f5f700056add 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/types.h> #include <pj/compat/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string_compat.c b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string_compat.c index 3501f3d4736ffa2e1b30d37faf616a13874ddc18..6df49697665b0f04a5610010079e7f6a7bc09c0a 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string_compat.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/compat/string_compat.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/types.h> #include <pj/compat/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/config.c b/sflphone-common/libs/pjproject/pjlib/src/pj/config.c index a8d3517444189380b90565a8b9e51a101a8907e6..f2efacfa94105fe1b6509f6dc04191cf161ed5a7 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/config.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/config.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/config.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ctype.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ctype.c index d12733765c5d3c446d9f86cb78df98b37ac70274..3bd45545799af2c8aa3143c4181fb8d146c24e4d 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ctype.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ctype.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ctype.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/errno.c b/sflphone-common/libs/pjproject/pjlib/src/pj/errno.c index 3d44f6e378e10a2952069bb8c75868c96de155e3..afae260271c0ecb4a8406cbcc9d61d91e120001f 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/errno.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/errno.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/except.c b/sflphone-common/libs/pjproject/pjlib/src/pj/except.c index 1022a1a07f40ec484b79a19270748322f6b7cdd9..d13724ac4921aa166347d6283d45e9fd2b59044e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/except.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/except.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/except.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/exception_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/exception_symbian.cpp index e54cebddf940cd73896ee81e1f59afad48d16d74..f4bc5908d876ba7ed1d88c7bf1e940217dd53fde 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/exception_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/exception_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/except.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/extra-exports.c b/sflphone-common/libs/pjproject/pjlib/src/pj/extra-exports.c index 38861d146daed119d96ce8c1402b9a6d4fab43f5..7c43f4b03104b24e901ee70f7893eb3c1c8630eb 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/extra-exports.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/extra-exports.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <linux/module.h> #include <linux/syscalls.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/fifobuf.c b/sflphone-common/libs/pjproject/pjlib/src/pj/fifobuf.c index dfa98c03e9a09f51ad393b90b2925cf11f1348bb..4d952ebcc882cd0f7170ef195357e3d16b02b5e6 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/fifobuf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/fifobuf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/fifobuf.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_unistd.c b/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_unistd.c index 15b20852b6f0dad07e37079fde2a0efd319dad05..f0b7e17c3ca3c056d4089211b873c759a8658a21 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_unistd.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_unistd.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/file_access.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_win32.c index 9c5d3dfb4ede8d9e11f7279b281a4ff102f4223c..de9110cc53b56973be06f741987dcfb534c33be0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/file_access_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/file_access.h> #include <pj/unicode.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_ansi.c b/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_ansi.c index 0e1c989a62dd6ac170969858fd7376377c62c863..c28b3f876f78550207c23b49d8e7779d9d2213a8 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_ansi.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_ansi.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/file_io.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_win32.c index e8ac7a125da2022cf7511daa7c871898ed77671c..0d02ec1f26ff4ff044078af8da8b4ccf08788431 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/file_io_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/file_io.h> #include <pj/unicode.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/guid.c b/sflphone-common/libs/pjproject/pjlib/src/pj/guid.c index b9fc9f421e5101d235c3d8c6244eb4a94d85704f..9ee5ff6c2185c19780d19a88c64ec85bee0a4b24 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/guid.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/guid.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/guid.h> #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_simple.c b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_simple.c index 8c76f9818b9997ac80e2cfbd4c883e2e8fd0910f..91b55fcfd463baeed281db662ea2d6b675c5a271 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_simple.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_simple.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/guid.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_uuid.c b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_uuid.c index ff1bd6a028ad5d5149a0a1915bd169736e0cb20a..8d4f07ba678dc98f2fdd13b1dc2f2ad47a89d195 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_uuid.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_uuid.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/guid.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_win32.c index 89be0ef5c2d5ea6b74b52a407ef83cc9b8b83a60..d5c5c25f4f053ce8f3a5b465c07b2b668b08cff1 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/guid_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/guid_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/guid.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/hash.c b/sflphone-common/libs/pjproject/pjlib/src/pj/hash.c index 2a23cf01df332d8a916c738244b0a84004306832..54f0a39145efe9f2cee941076c546890a2f8d5ef 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/hash.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/hash.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/hash.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.c index 043876b6490d181982b256f598cb8693b543bfdf..f54d168ed85c57591685862b6403a1ea6a4cf79e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.h b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.h index 4d14a8b843944ac9fc77704ff13aca9b459e95f4..28152ff17c78191cf65f7c9178eef0f6a07a119e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.h +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_common_abs.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* ioqueue_common_abs.h diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_dummy.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_dummy.c index 3d1e621951df392e575c21c0f7e32c8e823cf7f9..a173d0daa9d7315ffe1d5d745034c55fc8eb35c9 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_dummy.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_dummy.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ioqueue.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_epoll.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_epoll.c index cd2e786f075794503ca848ad4af4aed142a3ad1b..2b630ea70883d5b2b7d9e982803ab035bc2175b0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_epoll.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_epoll.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * ioqueue_epoll.c diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_linux_kernel.c index 7452e2e8d9c0a6ab250aaf2d0b013d95795f36b9..1faf1fd44604e9742143b5739b0d633480234ca0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ioqueue.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_select.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_select.c index eaddcd04e33dea9ad32eb0abb1354ace3f7e57e5..6e486230eda435759107e052248c3c9209e927b3 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_select.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_select.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_symbian.cpp index c436d4c45836f7c21e5b7bd6930eba005942d01d..e52c64091ac56440861431bfcd22b46231985991 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ioqueue.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_winnt.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_winnt.c index f9bd1a60dd0ccd4525c5a12cd8d1832d1eee342b..afcfba5c4e4131b26976f96c694e6383edf88f13 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_winnt.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ioqueue_winnt.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ioqueue.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_generic.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_generic.c index d9f98694f73ee16b04d249724859aa62d8488da0..1b3ed8ace08fe96c18ff74252ded6d1d67f7d41d 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_generic.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_generic.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ip_helper.h> #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_symbian.cpp index 9f634a0b8b152df42b2736a63ca1a612d8028edb..511f12331abffc5765da4130d8161c4490e3e5e3 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ip_helper.h> #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_win32.c index 67168791ef11bd0d9beba742274e203b83390c01..089abc09f443897ce1d61b3c1b0675747c5429ce 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ip_helper_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/config.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/list.c b/sflphone-common/libs/pjproject/pjlib/src/pj/list.c index 4a6bf3e4c03de8465ab9955cb826ea1c5984f0ef..63dec64ab6e321294ae3cbf21bd7eb497c1f2eba 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/list.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/list.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/list.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/lock.c b/sflphone-common/libs/pjproject/pjlib/src/pj/lock.c index f42291b8e0403bb418e682e8a2150419d280a7f6..d41fde3edbb1beb6bd7da2bf2156595edc0c82c3 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/lock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/lock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/lock.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/log.c b/sflphone-common/libs/pjproject/pjlib/src/pj/log.c index b35e9e619fdea1bce2dc8dfb4dbb3f4fa9126945..eb97f515bf559d067ba224df697b03f1a3555084 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/log.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/log.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/types.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_printk.c b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_printk.c index d41d1f9f6be7ecfe7e8ec7c8037b77479703cebd..a213c1af769f769595bea9f08d4f1ddfe8cfb6cc 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_printk.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_printk.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/log.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_stdout.c b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_stdout.c index 701d7af4235ab8785b2f9dacc67bcc7843778df5..0ad633a72a76cdfbd09b65323541a168b126e8fd 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_stdout.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_stdout.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/log.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_symbian_console.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_symbian_console.cpp index 8f627cf149067127f7bf0402c0268f77f748361d..26e4c7307cbfc6ae66a0501287c56a5cc61c7ef1 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_symbian_console.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/log_writer_symbian_console.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/log.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_linux_kernel.c index d953397dc7b553307e326465181a239dfc9572b1..8c093b62097701da03dc1fc5317294d244aec37a 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_symbian.cpp index 8b036152180cccc77692b806e202ce82b63dcf80..7ef1e1173ff7686a60563068c4285731e2c8fee9 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_unix.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_unix.c index c233529fc6c70b8b179617273ad0b97f985a352e..22789e08dacc9fcd776402e808ec18bdcba0a584 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_unix.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_unix.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Contributors: diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_win32.c index 51af335105f1ab196d63e1cec6fd50c44da65c97..8633430361e919535950e3691a84fc9fadcaed7a 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_core_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_linux_kernel.c index f0a39754020c6f5449d1ad7a6f366012c576c2dd..9c06f227c49503563cfa9991c353c88b8f8527f9 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/string.h> #include <pj/compat/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_symbian.cpp index 31707b97c377903df1c5561cdbcda4101e5b935c..eba44ecc0934b506ecf6bb7ecb9185cdeee49f16 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/errno.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_unix.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_unix.c index 45d59d92ebd2e7ed20ef5bec183f758dcbc14385..37a69066abf84ff07e64b975037d90e95137a493 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_unix.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_unix.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/errno.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_win32.c index 87582d5a393c40eb4a907a907ab95389bba54435..7cb177747a7ff055280cfcdff8a60a7a2ac48f6e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_error_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/errno.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_rwmutex.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_rwmutex.c index 13d0c54e59fdf22bf13c38c7b2957c1417de71eb..c56ac3c064ae09670808ba05fec2b4f2d3765c5f 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_rwmutex.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_rwmutex.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_symbian.h b/sflphone-common/libs/pjproject/pjlib/src/pj/os_symbian.h index be9f38c43977d22f3dd7bf3af865feaa97a4bf4a..deab82e1e0b552b1add4105a79b697ca4f2bba2b 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_symbian.h +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_symbian.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __OS_SYMBIAN_H__ #define __OS_SYMBIAN_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_bsd.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_bsd.c index e24174045900b14e204d76369b6ee032e5f056bc..41dcf60ea8c09fe4ce10b2170dd1fae857881c35 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_bsd.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_bsd.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/compat/time.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_common.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_common.c index 241771cf457b798c54c82d5e12096538b1c790fc..bc068b85db469dc997037b20210d308d1f1721f0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_common.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_common.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/compat/time.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_linux_kernel.c index 481bd51bc0871e86102d3d47b736267cc2047431..a2dc9dadda3106c41b51667f1e53fa270556f5f2 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <linux/time.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_unix.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_unix.c index 5669ef598fc16b41946d1c5e0423b600b25bf1ec..13ac1486f8ee9ae8a330170f84fceef5735ecb42 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_unix.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_unix.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_win32.c index 73c75655a37a97d8e70bfafe3ea6793cd49a3ee1..7137c55c45ee89e011b5df5a0f1a83d56fc16a43 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_time_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_common.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_common.c index b5fedbd58964da56abbe056f5e75bc20c11ebe48..02a4ee8aca71c000ca30def0e1038f35ede57208 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_common.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_common.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/compat/high_precision.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_linux_kernel.c index efd72211177b52bdb35b6fbcd73f236928ae29e2..eb0f398f08ae7143c03ef637debe944b67b157d2 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <linux/time.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_posix.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_posix.c index d9b5d20e0e6c245294559c6cd797c1488bf5e6ed..cfe3533859290326473bfe28a72993e922332d57 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_posix.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_posix.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_win32.c index b74cedb6c42659c49a797b306cc46a942f2c6258..849f9987776e28760b0744b5cb27e38837d27b14 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/os_timestamp_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/os.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool.c index 2ab100caad3a58cb57a92ae05cbba4f1656989af..9b59ef122c90254c8c4f477d75d5924379f4d6e5 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_buf.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_buf.c index f60333669a6a203dcf8d212ac6548b9236b19171..6045997eda25be82603fa906c202e18d7072affb 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_buf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_buf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool_buf.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_caching.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_caching.c index cf092da5219887b277d8ab5a7dcea822590f49c4..f430be3ad8c6cb75c3dee5aeaebe9bae026b04fc 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_caching.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_caching.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_dbg.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_dbg.c index ac8b8d17482c1e9ef42cd43de898fcfa2fe849cc..e4ebf11ec4c90dd0b9baf746814e4441164d8b97 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_dbg.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_dbg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_kmalloc.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_kmalloc.c index c7feb33b95f8f530cd10118f3f24da3032185c35..c5544a033c4d47071c9e053942969d980a3e3834 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_kmalloc.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_kmalloc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/except.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_malloc.c b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_malloc.c index e4cb542ad94b217b91921e0315b7e8d2cfd2be21..296a0e82161313466d1c8156123f9366948d4066 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_malloc.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_malloc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/except.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_new.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_new.cpp index e22040a2f42be5a2f401f2a8a9b3dffd6c305919..ed4f2b4f44db36831e5a8badc938156894d9c3f3 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_new.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_policy_new.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/except.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_signature.h b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_signature.h index 11e6a18f2ea99a136218c1c50601d62293c8c77c..381c81145e9dfae9a35ac7beb711b3a9526a0068 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/pool_signature.h +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/pool_signature.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/assert.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/rand.c b/sflphone-common/libs/pjproject/pjlib/src/pj/rand.c index 62d94a087fde55836525316242e4a6215ce548f2..707b7aaa753ac157f25ef55a6c47996e40f4f3bd 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/rand.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/rand.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/rand.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/rbtree.c b/sflphone-common/libs/pjproject/pjlib/src/pj/rbtree.c index 519ea00cb7d43a8ea63ae3afd50d149963a66706..8efeedeba311574fbb2635be6011d28369cfd9f5 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/rbtree.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/rbtree.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/rbtree.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_bsd.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_bsd.c index f7d69a7f44fbaf5cce1943696af0fa57587e310f..ed8f07f5420216567b6a64ab3539a83648183220 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_bsd.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_bsd.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_common.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_common.c index f4442cfa161d72f6ec5cea0702645feaacb17b02..6f82d5c8e3fcd083dde1be3667a82611be367b9e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_common.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_common.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_linux_kernel.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_linux_kernel.c index 74c2a011a8da2d6af67b081b76a7b7a56028deab..f3b054ce8577a7cc34023270471e62d9a70bb570 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_linux_kernel.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_linux_kernel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_bsd.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_bsd.c index 59bfc9faf60d8643608f4aeab2796c23ca53edf4..df5434ea931ba69e45614b2de04c9c770b2d57ff 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_bsd.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_bsd.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_qos.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_common.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_common.c index 80711c541304050ddd6e4bdadf15bbf82b459fe8..7664435f96aa5205c8ce3dba41bf2fc8fa1dc3e4 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_common.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_common.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_qos.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_dummy.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_dummy.c index 200d53b9aed0dde87adfb305776ddf1a98cb690b..6299aed8346eaa5f3dc55f0a676da75483cf1caf 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_dummy.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_dummy.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_qos.h> #include <pj/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_symbian.cpp index 55a41097540a88ee0e5c173b84fe8bee061ab635..112fcc210407580424cf68d810281a7caee64bbf 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_symbian.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_qos.h> #include "os_symbian.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_wm.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_wm.c index 895d74f342bb13fd0667e221d992847853c1afbf..393dfef8af983eb94d5bb063b34bb971e9065b84 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_wm.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_qos_wm.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_qos.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select.c b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select.c index 628baccbb5c86c2229ce43f6fdb25f32787c99af..86393871bde92ec73ac4d1afccd75d6df2cd03ac 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_select.h> #include <pj/compat/socket.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select_symbian.cpp index 727bcfdf8b3783a3e984f2804c642d3ab86a37cb..7d4cc8c9a8ef3fa78e19d654a0a87485c2103c43 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_select_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock_select.h> #include <pj/array.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_symbian.cpp index b1c725c1493a28b5b227ce06ca0fa35ded9d36ff..7479ac745f485bc3e80aa9db54602ab336e8fb19 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/sock_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/sock_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/sock.h> #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_common.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_common.c index 8a983fc6f82b028d8efdfff5803c22071d1b7293..39d21ac7707de6fe8bd05d2bcdce8ba51432dd60 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_common.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_common.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ssl_sock.h> #include <pj/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_ossl.c b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_ossl.c index d97305a20dc10640d112d05b0f127be57b0ff796..3f25e0ba98094d88900397750f9bbf836adcbf3e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_ossl.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_ossl.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ssl_sock.h> #include <pj/activesock.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_symbian.cpp index 684b2470cf5d39a9ba32c6f7ea8498c9e1781ab0..da388d0bc4f674681204100400f3b52a8de18817 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/ssl_sock_symbian.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/ssl_sock.h> #include <pj/compat/socket.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/string.c b/sflphone-common/libs/pjproject/pjlib/src/pj/string.c index 5169eccc62bdcb29bfb288785bc97d11e6649458..8e92a930cd6eb38777b09b921109614356e2a84f 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/string.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/string.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/string.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/symbols.c b/sflphone-common/libs/pjproject/pjlib/src/pj/symbols.c index 02e96c772eb9fe6d4f9d26ea40cff64b59ed2c88..27ab4b7321b10a52d39e96a1f20b4edc39481e7c 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/symbols.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/symbols.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/timer_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/timer_symbian.cpp index 9b1127761f5bf6fa6fc62e48d2e2d49f01b0319e..6a243ecda2eac1147e9aad38443216c0135965b6 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/timer_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/timer_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/timer.h> #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/types.c b/sflphone-common/libs/pjproject/pjlib/src/pj/types.c index 310946137f9e63c062642bba7e94e2088636edbd..d5734229b3a448e72a3ade35c6eb3d53ac5685f8 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/types.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/types.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/types.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_symbian.cpp b/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_symbian.cpp index b7404b4e9a74310bd20be0e00ae8fe098ee56f12..2665565c2fb2e79d6c46fcff6598c26675522b51 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_symbian.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_symbian.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/unicode.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_win32.c index 47fa8c83fee0f84508bc5b7ae7f8d1465f4f2fa3..20842d6786ff843260ea6a18372166ebfd4684fb 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pj/unicode_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/unicode.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib++-test/main.cpp b/sflphone-common/libs/pjproject/pjlib/src/pjlib++-test/main.cpp index 6b749ad62dfba137f30cd89cc30c0d60113ab5e4..d0e204c63b40b0eb9af9cad278ae8f2f86d004cb 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib++-test/main.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib++-test/main.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj++/file.hpp> #include <pj++/list.hpp> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/except.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/except.c index 7e2926616ea60c05348e092ef73e346b922c96d2..e87f8ddc02395237a7538f3e5c523a1f090c1e8b 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/except.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/except.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/except.h> #include <pj/rand.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/list.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/list.c index c573213608d102c95cbd4a4974794c52a13eac90..7edfd0c8e699f3b5dfa7d609398ca88747bfaa33 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/list.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/list.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/list.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/log.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/log.c index 8ad149985ec3e6f7fec9447efefaea0a7b743ddd..e09e8fbc6012fb44a4cbe8960c807643dff14454 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/log.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-samples/log.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/activesock.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/activesock.c index 42c5900666bb347e63efd2e196e394d346b9e9f0..87c27195ed54004ff34a62afe79c0192ec76c873 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/activesock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/activesock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/atomic.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/atomic.c index 3fad0bed7c4c774340ea83643307165a4401ef74..051988009407f032206dba799b767634b5de729d 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/atomic.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/atomic.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/echo_clt.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/echo_clt.c index 84bf686d7847093fc7b888ced537cc5a94eb8f33..4ad72c1595101c36d3b2b40d2ce2290a22087e82 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/echo_clt.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/echo_clt.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/errno.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/errno.c index b6445f2952ef84408f51fb24ce2edd7a7bd3f7a2..f0ab546c40f0dd208fcb98d7ec85b318a4fd77c5 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/errno.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pj/errno.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception.c index 6ffa249822e3b73abd7d33d16f7917eae5a49f55..cb973eeff905964cf447a2fbf55ccc5044c88f44 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception_wrap.cpp b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception_wrap.cpp index ecc542e79b7a882260bead57d95e5aba1fa0802e..8562c0ed950636e72869e9bb15b3e6da020f007b 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/exception_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/fifobuf.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/fifobuf.c index ce5978ed5165398a826e5b5ddb16e6e71b93c07d..c1043fba3f9d8e53e923f8f45cce4e7da286f89b 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/fifobuf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/fifobuf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/file.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/file.c index 9ec6f37b023e9b8b1b44ed1faa3c0ba39110586c..d7aa398413f180a298f80003a6ad77eca0b952f8 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/file.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/file.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/hash_test.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/hash_test.c index 73aca4007fa2dc08a5d047425187219490fc5def..d84cd9bf7986261176688f2ffcc31b3a70d89217 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/hash_test.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/hash_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/hash.h> #include <pj/rand.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_perf.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_perf.c index bbbce560ac70fdcd1ef4982f22b13e9f35776ade..576d0fe3605e5d9a9da86eeabae7d10279a001b6 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_perf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_perf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_tcp.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_tcp.c index a699f54bdf18c405bcdc2745cbdf078f10436db0..38d28eb1ba266e72a850d7ec1f80427d21dbb9f2 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_tcp.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_tcp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_udp.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_udp.c index e9139bcf63e0aad562284b38e2e6337bcd219f85..bca2c19e44cb4e15060a1f9634425dab75ccbee9 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_udp.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_udp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_unreg.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_unreg.c index f3ea9130c288e1e32fd0e0a9327d2f9b2379ff9b..a0633007d881b6d9b5b1d974dd4025d8d2e32460 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_unreg.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ioq_unreg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/list.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/list.c index e5509d55b3f1c2c253c521fc190958a037dffa26..a5ed381ae7a377b2b10b27e4312ca94649316720 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/list.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/list.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main.c index d7adce484af17a9c523b2ed6591a14dc0656e8ae..c730ca6e772e6cce143f8534677d90a2e396d467 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_mod.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_mod.c index 81a87dc96f5010ac1589494f048a79c9fe86e02a..fc7259fced729fa65a034a791f42ca0c13206c9a 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_mod.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_mod.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <linux/module.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_rtems.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_rtems.c index 828a38d8c9c1e834c9b899f1d36ad47169c21d24..19a8c2e7159c4acc27f98fc11275ee054942d0ee 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_rtems.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_rtems.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_win32.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_win32.c index a1bb77d1f0e3626e458e48c2e242d04f3c82f902..345ce359c454b9691710a6073c3e7d0f1a93f084 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_win32.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/main_win32.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/mutex.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/mutex.c index 80fce7c3084550836db9910e9f18a12fbaebbab2..2d893d8903537cc3cefe1de720d4180095eb2a16 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/mutex.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/mutex.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/os.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/os.c index f19a6bfa6dc84dc60c8497ce9ed75e560a98ee2c..37366d7c94917765161631fbe1bf4b496fa6f286 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/os.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/os.c @@ -16,5 +16,16 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ int dummy_os_var; diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool.c index 417aa3bb4ad8e08741b9b551906af2a9edd18bb2..268d22d5b0dac1f918bc3edcdc0aa35cea1df20d 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/pool.h> #include <pj/pool_buf.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_perf.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_perf.c index fe9967fe7ccd06ba2c16e96c933f63908a889c5f..6669c178d99cb2695b1cfb200cd0b4ffbe1d2d50 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_perf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_perf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_wrap.cpp b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_wrap.cpp index 381e42aee345d4da3a9025e6f150e30df638c6dc..0158e3bf0aac91599527933514fbef46953aae07 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/pool_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rand.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rand.c index 404a41be0282691df601a1ea9a74e153ae3f4e5a..b8a3b0272b66f381cf040b06d66df787f0f7d913 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rand.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rand.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/rand.h> #include <pj/log.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rbtree.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rbtree.c index 14ddd3b06501a68de83f66f08b72e3f1302fef24..1ef8e39d98bbadbd69e0a6a1695aa1136a29196c 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rbtree.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rbtree.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rtems_network_config.h b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rtems_network_config.h index ef08f3d32eab77a631613e8938575a514e096198..6da26187ea671394a6b46f8bb0bb4c960ab7a887 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rtems_network_config.h +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/rtems_network_config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/select.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/select.c index eec7574b426adf91e544b21a0d59eeaef251f6bb..5b6671acfd2979508a54939dde25db6156bc580b 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/select.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/select.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sleep.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sleep.c index 8c2009431e301f182d52f67ec09ecfc5ec7a9ebd..a56d09a63223b224227108e859905057944dde6f 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sleep.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sleep.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock.c index ac5cc3333e7fada77f56db55e45143ab0a25ab4b..f54178b9850fc7da14f2a85084afeb86d5899e4f 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib.h> #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock_perf.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock_perf.c index 51928ddf75f0826ea454d92d11d6b94a5d5c4900..1e9a9b4eb0c4851cb0a0ea236c3976edbe2c88e0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock_perf.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/sock_perf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ssl_sock.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ssl_sock.c index 691e48bfebe357e9fa5b4a892b2658fcd797f243..36cd819cf78e838f2c6caea3133aa149ff943573 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ssl_sock.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/ssl_sock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/string.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/string.c index a202354cbd6eb82e1084495c1297fd828e307d2f..ca7777ca99c386b86255b6ff4d5eab4c249a9c6e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/string.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/string.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pj/string.h> #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.c index 5db7346d910cbc0c2989ccff828140ab673f2f9f..dba5a80274363194a4bf5e3fdf0bbc73a41f7bbe 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.h b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.h index a35da79d3011db65c786098efbaa817408f5e085..2f4c483d72825e3db2a67dd18af80025910aa4a3 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.h +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJLIB_TEST_H__ #define __PJLIB_TEST_H__ diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test_wrap.cpp b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test_wrap.cpp index 788bd153b4ed6e8bcaee0e7bc5dd2c456319a3c5..2572e91d126220196b75e4a6565552d0a65b4d05 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/test_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/thread.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/thread.c index 126b1ef5aa4862b12fbd2d72e72becc66da40b60..2cc59098f3e1e8cc3925bacc0c3b2526531414c0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/thread.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/thread.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timer.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timer.c index 0c0d5fc9e01e23c7ea4fad782fcb846b97f73a3c..ede138d29304b4f931dadb9c4ba8057bc47cfd13 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timer.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timer.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timestamp.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timestamp.c index 3f04448f7993fa6030d29a3f55b9ee320676d8c6..b7ac7f030c7f1393cc3a35ab47cd927e2e2b312e 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timestamp.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/timestamp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c index 8646985413bf754b69211e28308adc516b3d07a9..1428e1b282c4663e6363e7c09537e7b2888ea42d 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib.h> #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_sync.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_sync.c index 29f8d90ea40bd7a73592daf0932ae8fd374024a9..ceff924389d7fa0e96f2397c46fbf07162bc6420 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_sync.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/udp_echo_srv_sync.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/util.c b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/util.c index 97f51b206990e0b4404aaaa04c9ab43d7a42aa48..3096aa6531c77f17b8a543d1e49a916036eff0a0 100644 --- a/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/util.c +++ b/sflphone-common/libs/pjproject/pjlib/src/pjlib-test/util.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev.h index a10ebb9e221a45295f55c98bf76040efb7f43976..950da4298b5e10bf478162d7b1129ef4066959e9 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AUDIODEV_AUDIODEV_H__ #define __PJMEDIA_AUDIODEV_AUDIODEV_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev_imp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev_imp.h index 0471afd886e9e7171b5dc45f6346a8052990ba0a..c4b78335f341e85cd0b4c20e309fcc79c703a28e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev_imp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiodev_imp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __AUDIODEV_IMP_H__ #define __AUDIODEV_IMP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiotest.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiotest.h index 35e115c37ecede45ed819de5824885d897e789a2..97e887ab5256cca5c49acb4ac1321667fe3e8f00 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiotest.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/audiotest.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AUDIODEV_AUDIOTEST_H__ #define __PJMEDIA_AUDIODEV_AUDIOTEST_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/config.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/config.h index 2ab01f2718c457e9a0f955d670aa53d2ea2201d6..276e4cd7b04be42f127efa58f73d81b1dc723367 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/config.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AUDIODEV_CONFIG_H__ #define __PJMEDIA_AUDIODEV_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/errno.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/errno.h index 694f91673d42244f911dca04356618f19eb8e8c7..db9ea8616cc947401f613b5b1bef463cd2bc8aed 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/errno.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-audiodev/errno.h @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__ #define __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec.h index 73fc34d148f623dd7e24ca5b1aa1d2f0c360e559..25d1b931c6b91b0123fd205fcac794aea496bf26 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ #define __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/amr_helper.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/amr_helper.h index 217de0b10879cf21fc6ff4914b9819c3800293fe..786d6b7e0831fa254c95e6d110954b34cebbfc52 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/amr_helper.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/amr_helper.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODECS_AMR_HELPER_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config.h index 627f58882322304fdccdb033f8a75f89b83d17aa..d8de2fed07f3efaa6bbb2c58dee23133ebffbffa 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_CONFIG_H__ #define __PJMEDIA_CODEC_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config_auto.h.in b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config_auto.h.in index 03cbc2c8faba2310cc3a716e061b5774ec45d0d7..1cec88bea3f816ac9065666ff7b9ee7077c5c368 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config_auto.h.in +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/config_auto.h.in @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_CONFIG_AUTO_H_ #define __PJMEDIA_CODEC_CONFIG_AUTO_H_ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g722.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g722.h index 2596c561b8d3f1ec9d2ca29b64031487f12e10fb..f74ca1c8a65965eeb538c9f7f40bba10eb3b42bb 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g722.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g722.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_G722_H__ #define __PJMEDIA_CODEC_G722_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g7221.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g7221.h index d7e19ff31b8f4b0a8864962aa2af795ad3525716..02ea74ceb4b8809b6ff82f88729439203a5b0781 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g7221.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/g7221.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODECS_G7221_H__ #define __PJMEDIA_CODECS_G7221_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/gsm.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/gsm.h index 98221bda96e74742ef1378b966b12cc700e36c23..54d85d49f539ea4d5d824178d8259d3ef37b493e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/gsm.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/gsm.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_GSM_H__ #define __PJMEDIA_CODEC_GSM_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ilbc.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ilbc.h index aca914da5f3b3c281bdb00709951e6c4eb0c3813..54578db86996773b2c24f1d6c0b80a87156605a7 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ilbc.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ilbc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_ILBC_H__ #define __PJMEDIA_CODEC_ILBC_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ipp_codecs.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ipp_codecs.h index d5cf977955d555340df67f404c46327d2026a1db..994755eedfbf821a56d3921bb17eca9e9173ddf0 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ipp_codecs.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/ipp_codecs.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODECS_IPP_H__ #define __PJMEDIA_CODECS_IPP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/l16.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/l16.h index 0f9b378789ba76643bc21e4584b9c296a6f631c6..5674d91ade4b3b03f1199bba3a10e9dc74ded910 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/l16.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/l16.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_L16_H__ #define __PJMEDIA_CODEC_L16_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/passthrough.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/passthrough.h index d7a535d23c98c32c096b91daa1e3b72f0de4a82d..35ba03e329b2f5e32f71e62005c839f3c7f51a4a 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/passthrough.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/passthrough.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODECS_PASSTHROUGH_H__ #define __PJMEDIA_CODECS_PASSTHROUGH_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/speex.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/speex.h index e6491ffd584033d4caa5b4ca3f3df4d797b4b3e1..232af1f02e65b5daac87a8c91ff721934edd80a6 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/speex.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/speex.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_SPEEX_H__ #define __PJMEDIA_CODEC_SPEEX_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/types.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/types.h index c355bbadeb0ecfeb149a4260dc11586263828a38..5020f82ad85cd2567d981c6e66897208341afc50 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/types.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia-codec/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_TYPES_H__ #define __PJMEDIA_CODEC_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia.h index c87563582f501f72c87d2daef0f0a2906f907567..eeabf3614b322ba8968e7b972a1bcc334fa4913e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_H__ #define __PJMEDIA_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/alaw_ulaw.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/alaw_ulaw.h index 89592957c5562af32f070d3a31e9d55935681d4b..4fe115a982dbfadc72c59f75daf7d81c772424fd 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/alaw_ulaw.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/alaw_ulaw.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_ALAW_ULAW_H__ #define __PJMEDIA_ALAW_ULAW_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/bidirectional.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/bidirectional.h index e43db513a727b15a1f0c1c6efe1e325e222337cf..cec8a2911b01fde6835dfa533b577e570f376380 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/bidirectional.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/bidirectional.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_BIDIRECTIONAL_H__ #define __PJMEDIA_BIDIRECTIONAL_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/circbuf.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/circbuf.h index 0e7d83b2a94574e91f61386237a3d296768e440f..17ded4d714b52af67280297876b249d15df59d3e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/circbuf.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/circbuf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CIRC_BUF_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/clock.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/clock.h index c9c9b54f19bb184214c0680f89020f9897a02345..61d1a10f430de43a679383a2e5f9a723a674e595 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/clock.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/clock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CLOCK_H__ #define __PJMEDIA_CLOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/codec.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/codec.h index da91069bb5d953f5bb9ab4a8cbd5c597a39dbed9..12a9b5434b051ebfefaa3d53b19cb48aefc92f60 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/codec.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/codec.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CODEC_H__ #define __PJMEDIA_CODEC_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/conference.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/conference.h index 7f19e4b19861036875506f1bb9c666d9c99a11fb..487d64f6e048dedfee2b9a9cef450875fcfd749a 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/conference.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/conference.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CONF_H__ #define __PJMEDIA_CONF_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config.h index d1c6e0364c80ba08f2c6eeaceb24345cdcd88167..a929b867cb2d2c63bfa8500615dcfc09d48a1c17 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CONFIG_H__ #define __PJMEDIA_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config_auto.h.in b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config_auto.h.in index ea76f50f593830c8f6d6f5023f423b070802592f..e082e243633f7a244d70760360b41394d4ac43ed 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config_auto.h.in +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/config_auto.h.in @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_CONFIG_AUTO_H_ #define __PJMEDIA_CONFIG_AUTO_H_ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/delaybuf.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/delaybuf.h index 1fe4abadaefb46b1a392a9455cb66e71cb7ee490..6279cb84088b2421d9b57220b3583ba214a2dfc0 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/delaybuf.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/delaybuf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_DELAYBUF_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/doxygen.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/doxygen.h index 66704aab6bacff6e51ea7a4aeafaf4ac6188eaf2..1005278618fbc1c26f6ae0c435e6d61c64167938 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/doxygen.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/doxygen.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_DOXYGEN_H__ #define __PJMEDIA_DOXYGEN_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo.h index ce98371f7e1e1187917eae7b0a0165aa63b89644..4dadf621fc61a1869d5d81fa5c9444cdf58f0b82 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_ECHO_H__ #define __PJMEDIA_ECHO_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo_port.h index dc524cd21ed117811e1ef63ec6770f9a815d2613..241c5b137cdf8b70a9d6ee992646861cb35b3680 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/echo_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AEC_PORT_H__ #define __PJMEDIA_AEC_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/endpoint.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/endpoint.h index c574dc4da7aa854fc12a65a8bb69b95b32337487..b2c75b6c1687b456d814e5af4a806431fc87b213 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/endpoint.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/endpoint.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_MEDIAMGR_H__ #define __PJMEDIA_MEDIAMGR_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/errno.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/errno.h index b1fd018495b520b3c657330fa9753f7ff101a883..e660c19b8505a6e1f373c6c8275ad887a8bb8be5 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/errno.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_ERRNO_H__ #define __PJMEDIA_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/g711.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/g711.h index 20e471d36119f9db38d7aad7d81a1d38e7ba9ba4..f988269fd4bd20fc342b34ff6d736004cf6578c2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/g711.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/g711.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_G711_H__ #define __PJMEDIA_G711_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/jbuf.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/jbuf.h index fbf09db8a7b28da9c90855dd1bbfc692c24739cb..a7a1a310e50dee265c5b5bebeb132595f7ac1ae3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/jbuf.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/jbuf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation kindly contributed by Switchlab, Ltd. diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/master_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/master_port.h index ddd63ba750e9057be15d9e28cb8686ca295c3db0..4bf67c22e9ec39a5e998e7f01f4bd704153176ca 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/master_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/master_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_MASTER_PORT_H__ #define __PJMEDIA_MASTER_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/mem_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/mem_port.h index 9bae66835b319befff4f93eae7f5e87133380920..4da33c20a6c637dd9708e9348c22b2d821087376 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/mem_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/mem_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_MEM_PORT_H__ #define __PJMEDIA_MEM_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/null_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/null_port.h index 361b0e8835c6a87f22f5fdb6ff312cf912a75010..ae69e9320e6966f9cfc805eeb138475218c5d227 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/null_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/null_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_NULL_PORT_H__ #define __PJMEDIA_NULL_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/plc.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/plc.h index 18723b8fc01294f6b0af09c1907158991c3b7279..3fc20c7d5aa3590f718bc30dc24efe93d7889065 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/plc.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/plc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_PLC_H__ #define __PJMEDIA_PLC_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/port.h index 5af070db715a2ed3f665056f85b74163c2ad8c2d..aba675daac576b1bbcb48f2404cd27bb1c25df35 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_PORT_H__ #define __PJMEDIA_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/resample.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/resample.h index 17b9bc6283fc5650431caadc486b32a9bc11b42e..c70705f7ee1a113483d3ab95dbdca779b420119f 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/resample.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/resample.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_RESAMPLE_H__ #define __PJMEDIA_RESAMPLE_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp.h index 7a81d07d3028c102aa2b204e04d8275f6cc6bb78..60dcd7f217e64519703abe6c6072cbb70f863595 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_RTCP_H__ #define __PJMEDIA_RTCP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp_xr.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp_xr.h index acd5c4c0c2f8393294a5410123cee74aca6312bc..b5f2c60209ff1c615974e98241f3bd50c7ceedee 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp_xr.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtcp_xr.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_RTCP_XR_H__ #define __PJMEDIA_RTCP_XR_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtp.h index 20d51c0c5769977838dd85578ca69edb5057342e..dd9cc5f4caa323bef6bb98524f7ac5fe5b90f60a 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/rtp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_RTP_H__ #define __PJMEDIA_RTP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp.h index eaa40c885176154a20794856844221674e5d6ba8..33233e6c4094b8e0cd774722e47e6bc3825b41c4 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SDP_H__ #define __PJMEDIA_SDP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp_neg.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp_neg.h index f3796154641cecb6eb48f8af6f8dac73d513c9eb..f6002c00265f6be100be514579b4a225b9fc5604 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp_neg.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sdp_neg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SDP_NEG_H__ #define __PJMEDIA_SDP_NEG_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/session.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/session.h index e5d8c31f787279484346c76091d8cb7d4cec8972..ed8eb6162caae4f0b15727a85579e1870d87479a 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/session.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/session.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SESSION_H__ #define __PJMEDIA_SESSION_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/silencedet.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/silencedet.h index f424638947fa2de5bee5d81db571002b434a2601..dfa11d6b18924e7459998ead1b073909a3897791 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/silencedet.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/silencedet.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SILENCE_DET_H__ #define __PJMEDIA_SILENCE_DET_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound.h index 9827455839027313b4a01457cc866a99735e878e..babbab971c4a5c1a64027fc4157db46ff7517a5c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SOUND_H__ #define __PJMEDIA_SOUND_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound_port.h index 7439a28a3e2a1bdcd4d19600e7df5367e3ee02b5..07fc90ac47c670c36844d7c2d9a3e5bd3242418d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/sound_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SOUND_PORT_H__ #define __PJMEDIA_SOUND_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/splitcomb.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/splitcomb.h index f1b1ccfc91a08e81f81acb493bffbe0a65f4024e..8418e250f85be975b6bd624646dfb83745f20655 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/splitcomb.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/splitcomb.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SPLITCOMB_H__ #define __PJMEDIA_SPLITCOMB_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stereo.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stereo.h index 405384b40a660b9c493434cfd1a42a6a56b99611..1b00b99c3bc76624f8a36b22a395dbf529576460 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stereo.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stereo.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_STEREO_H__ #define __PJMEDIA_STEREO_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stream.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stream.h index 93fdce14ed57554c7ac10d130d15f6d530679cc0..4532fac609f22696764065d7f993562fc35cfc6e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stream.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/stream.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_STREAM_H__ #define __PJMEDIA_STREAM_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/symbian_sound_aps.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/symbian_sound_aps.h index 53242d99640f8cabbd777dd10f6401477b0458ed..a1f31bf26bf1f0ef4eda543d7cd2ff39893b1be4 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/symbian_sound_aps.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/symbian_sound_aps.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_SYMBIAN_SOUND_APS_H__ #define __PJMEDIA_SYMBIAN_SOUND_APS_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/tonegen.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/tonegen.h index ec9e13f67207ae41527ef830107b2889d4045e6d..6b5a82d1d3808821254331c4ba4f86e36c81ba07 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/tonegen.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/tonegen.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TONEGEN_PORT_H__ #define __PJMEDIA_TONEGEN_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport.h index c7f693f2ad41f3b2bcfffd39b14d1b2d8064aa3e..0b8a13671260c95f0b2721c74ab8d47765bb83a1 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_H__ #define __PJMEDIA_TRANSPORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_adapter_sample.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_adapter_sample.h index 912a7a74d36913cd795497046b0738cd5160e279..c14c24356806488a523765da52f92bbe178621e7 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_adapter_sample.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_adapter_sample.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_ADAPTER_SAMPLE_H__ #define __PJMEDIA_TRANSPORT_ADAPTER_SAMPLE_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_ice.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_ice.h index 507d86db5b226c26a1302b4e1bff947cd46d119a..69052c43579f39bf01fc94258ab1cde8264f6b1c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_ice.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_ice.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_ICE_H__ #define __PJMEDIA_TRANSPORT_ICE_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_loop.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_loop.h index 95b7dd11a01909c5dd8ba7b80b95099cdbc604f0..5d16348409f531739ab16907b73b99173cb63c5a 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_loop.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_loop.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_LOOP_H__ #define __PJMEDIA_TRANSPORT_LOOP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_srtp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_srtp.h index 9faa45919c51086d20062c88672bde2af2a399ec..0923db6974e42fae0f2dce67a999ffac6443a2d0 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_srtp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_srtp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_SRTP_H__ #define __PJMEDIA_TRANSPORT_SRTP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_udp.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_udp.h index 071e87e34cbf48b8809ecb038d975280c2e55a38..b3dae6025778fbcaa8cb6c19facc8a95d394d3d7 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_udp.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/transport_udp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TRANSPORT_UDP_H__ #define __PJMEDIA_TRANSPORT_UDP_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/types.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/types.h index 9a6387beda91d1d098231925485d2be4b9605072..1a6dd3f19dbcc4d2526b55484ea0a01228039dec 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/types.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TYPES_H__ #define __PJMEDIA_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_playlist.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_playlist.h index a45197cd514ef121009f4453b8da922f0a4e4412..e751b5199ee81f393f02dd5ca25705925217b855 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_playlist.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_playlist.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_WAV_PLAYLIST_H__ #define __PJMEDIA_WAV_PLAYLIST_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_port.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_port.h index dac10fef7cdca2fca4f2ddccf022e0632a56d42a..1351ca2a490c6c0fee0b22c2438608f63eb4b72c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_port.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wav_port.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_WAV_PORT_H__ #define __PJMEDIA_WAV_PORT_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wave.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wave.h index adb2a01c99f593d2d72225a32507018fcda691ce..e917a623ca6ee4fae28d10f35c3ea9f06dbf8056 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wave.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wave.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_WAVE_H__ #define __PJMEDIA_WAVE_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wsola.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wsola.h index f6f0190169eea5ae71d2b8cbf45f5964e38b924a..bf0bed59c402d8cc8cf95d83b1c1afc9a10728db 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wsola.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia/wsola.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_WSOLA_H__ #define __PJMEDIA_WSOLA_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia_audiodev.h b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia_audiodev.h index 2c61e676c3849e170f7d5e1db282ea2a0d136e8c..15a58bdb2a5a98068df91ba0ad7aff93f32d0b88 100644 --- a/sflphone-common/libs/pjproject/pjmedia/include/pjmedia_audiodev.h +++ b/sflphone-common/libs/pjproject/pjmedia/include/pjmedia_audiodev.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_AUDIODEV_H__ #define __PJMEDIA_AUDIODEV_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiodev.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiodev.c index 034c7c924dc18a35c84795e9985dda7c5e0f4c82..39aebbbfc1a2cdc46420f951307487899819ff43 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiodev.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiodev.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiotest.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiotest.c index 9f41651ff656beb5815f870d8019e7abf18c866f..c1d4905d84862315038aafb3a9eda3cf5646c75d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiotest.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/audiotest.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiotest.h> #include <pjmedia-audiodev/audiodev.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/errno.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/errno.c index bbff067861dbfa9fa690114bc7968dcf16a7e066..759630c3f8cac3bf135eb3784677a4f5849e2282 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/errno.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/errno.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/errno.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/legacy_dev.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/legacy_dev.c index c79bf2121ea56139caa0a7e9cdf90597d29e586c..5343d673114be1c50cfd9e3eec3603a8a8a7b3c8 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/legacy_dev.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/legacy_dev.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pjmedia/sound.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/pa_dev.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/pa_dev.c index 32fb8bb02d5b4aff2f4fca1fa93dc8fc6e5b22dd..af31289748065615433891a86e93588c0865f4f6 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/pa_dev.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/pa_dev.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp index a7587a3968473e569a285e5bfc09c853011b81b1..a807a3d3507855f90882d85c9875074b4a24ad39 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pjmedia-audiodev/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp index d943f2bd25aa7c289c34e664a9aa6ff072e39a21..809604ccb5bffaafc62a059130cebb7c4a34af0d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pjmedia-audiodev/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp index 93eb284404ee4d76d25c7abd9a9bb49386577e2f..74dcc5451ac339a4f88de4889705a78b2ca4479f 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pjmedia-audiodev/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/wmme_dev.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/wmme_dev.c index 66924d8f235ec639ac9eb07c0f55c7bd61d63fe7..1bf242a33abdd915fa23045642f3fd5fdea78c02 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/wmme_dev.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-audiodev/wmme_dev.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-audiodev/audiodev_imp.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722.c index 892dd0b6ecb46d51a1a6180a63b19fda4f11d3a6..2eaa90999cba88fd236dcd02d93eb52a8c3356ff 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/g722.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.c index ef4b6920dde66c4516f4409b90e888da3228714d..1bff3f8f40123e9add9710bf6ce4edb720a496d8 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation found in Carnegie Mellon Speech Group Software diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.h b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.h index 8d88e2571f958634e6a985ce428cb1f8dc46799c..fa3f7743577232bbb0b10462620ee967c1517986 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.h +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation found in Carnegie Mellon Speech Group Software diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.c index c10e09a984eeed66dcc23a4f9c2d09829c9cc454..ff926dfbea3fcfd4aaf6047e6c28e00551783233 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation found in Carnegie Mellon Speech Group Software diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.h b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.h index 628ffc1825ae996bb951503dab6a114bf31ee8d4..d9cf897b6f9b5d44bc577f974c927ffdfe2f9dd3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.h +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation found in Carnegie Mellon Speech Group Software diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g7221.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g7221.c index 6c4a4bd7911ec6c0d999f3d178c7994b41365489..828ef16be9482aa780668408323a71217226a01e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g7221.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/g7221.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/g7221.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/gsm.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/gsm.c index 80041d7a8068d5d24b60cc9bff9256f93dc760ef..7dc3b55d09ec595fb522bb9096d688ff28ea098d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/gsm.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/gsm.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/gsm.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ilbc.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ilbc.c index ddd92570a9ed7d0b8192b3a7b4369eec75b46e86..1b1dc8506859aaaf969c1550a85fb1520f85d5d2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ilbc.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ilbc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/ilbc.h> #include <pjmedia-codec/types.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ipp_codecs.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ipp_codecs.c index c272ba15120cd4ba13b3d0d62c6493743ecb3b5b..8647be268864173c5d1d32521f104acd247dc149 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ipp_codecs.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/ipp_codecs.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/ipp_codecs.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/l16.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/l16.c index 8139074409000cd91df68b1652cd64931d166fa3..e77181aef9321fdac201f8dda9038ad8929ce6e8 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/l16.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/l16.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/l16.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/passthrough.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/passthrough.c index 884c3e954b38f82f0bec7f0f061aef4714b2b273..bb6151f604cb9cfb4d91a26638b46ed1503b8834 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/passthrough.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/passthrough.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/passthrough.h> #include <pjmedia/codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/speex_codec.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/speex_codec.c index be0e4b4c9f56a9a700de64c91178ae39dc95b4c8..0d45f1c78009d3cf1675791598d9116911c19208 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/speex_codec.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia-codec/speex_codec.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia-codec/speex.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/alaw_ulaw_table.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/alaw_ulaw_table.c index 8392c1f566e17c56a4a6a04a4b001c28528cf5a3..47d4cf20b54d64db36a6f21dfcee2233f015bd58 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/alaw_ulaw_table.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/alaw_ulaw_table.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/bidirectional.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/bidirectional.c index fe5ea2180bc067d12730e8af8ad94475781ccf40..52eeefcf389c41de2239156ef12cc6d7259cb00e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/bidirectional.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/bidirectional.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/bidirectional.h> #include <pj/pool.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/clock_thread.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/clock_thread.c index 2659f93b8859164edad8ca8b66217ee4331a2439..a3803e2bac3d3d6923e3e66d9ab7ba63e02bd967 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/clock_thread.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/clock_thread.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/clock.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/codec.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/codec.c index 9fe0e2dbdc9eefb4bebb284d9830ad0e0b1e155e..1f5c2340481eda3ef9f818a011913c97024110ad 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/codec.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/codec.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/codec.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conf_switch.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conf_switch.c index 53f0d20d54f5394a360dad2283f4c42625af439c..499deb99e92e123ba2d3634cdf9970addfed920c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conf_switch.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conf_switch.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/conference.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conference.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conference.c index cbdbc4f443102f5a55920902cc5b8739b83c3b8e..413edf8da897659e2c7f791975ac383d9b97a7eb 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conference.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/conference.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/conference.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/delaybuf.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/delaybuf.c index 360f9044076fad0f5270d908740619257c243ea1..667bcdbe9ab90d1c58e124604711772a994a79af 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/delaybuf.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/delaybuf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/delaybuf.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_common.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_common.c index 9852a56f95b3280f7fa9d03a9b6f0feb8dd2d6f8..5cb9c8725ca59d53d5efb91ff839cb79051de1e2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_common.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_common.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/echo.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_internal.h b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_internal.h index f70ed708e7f7588e98ac41bf23af73e996e4ffb0..6757efa18d6fcb87311e49026200d4f455e88049 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_internal.h +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_internal.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_ECHO_INTERNAL_H__ #define __PJMEDIA_ECHO_INTERNAL_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_port.c index 233d5ad3923fb60572f1fa062e1b301043561e2e..8779a929c6dfe6e86bc63d6a0278b95bdbf008d7 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/echo_port.h> #include <pjmedia/echo.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_speex.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_speex.c index 9975c842250dc08dd5e2c365efdf688f40c36656..300a56003aa1d220a49a8df35bb877f15e20acb4 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_speex.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_speex.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/echo.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_suppress.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_suppress.c index 60ee9b454c17983a46a67b9a095e1f3fafbfdfbc..dbf42ad9c4bd745576f8d953e619d41842c55f5d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_suppress.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/echo_suppress.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/types.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/endpoint.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/endpoint.c index 3df56497cb1057a02fc5c2cc183745e96f8423be..2c2c6cfe67d04662086effe264246032e2a08033 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/endpoint.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/endpoint.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/endpoint.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/errno.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/errno.c index 2853d1aa3c395f5c99c799af99dd4d46f1566bc4..0820b7bbce81092982acce8d4769d90e24a4afbb 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/errno.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/errno.h> #include <pjmedia/types.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/g711.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/g711.c index 3d7aeb063636e2d2b1e8d2d11d1af150d547dbab..041dfa0b0f5d814095b35c04d674102b758db4d1 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/g711.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/g711.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* This file contains file from Sun Microsystems, Inc, with the complete * notice in the second half of this file. diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/jbuf.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/jbuf.c index 3cdcc6acbdf5db874bec5c1950b2528af8e694bd..7a6803168068a61738c85b405e6513ab62cd5afc 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/jbuf.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/jbuf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * Based on implementation kindly contributed by Switchlab, Ltd. diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/master_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/master_port.c index e604af7b6224b90e9d343f3f687f407ef40e3087..96b7732497aceaa7b9c912d5d5e2414ced2869d9 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/master_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/master_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/master_port.h> #include <pjmedia/clock.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_capture.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_capture.c index 4c998dd0a6ac4ce073d838ba2b28bdec8d8b9808..28f910407f924d7a6f21e9752619c4e8f5401c7b 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_capture.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_capture.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/mem_port.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_player.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_player.c index 11f7220af041e847f0fae7bc47ad8c9c72eba134..61a0864684fa9ecf7348f5d51c356b07ed883c09 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_player.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/mem_player.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/mem_port.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/null_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/null_port.c index 57d76d6998f1ba21e582d6aac71e44b1e0693e17..92fe0074b49e33f4eb9b22789610309ec79eec55 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/null_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/null_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/null_port.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/plc_common.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/plc_common.c index d5e8a0ac568fa1c203d6e0c6c660bbc2b9eaaa1f..ab5591d93ffb8af76798ddf6f7b1788136c47719 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/plc_common.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/plc_common.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/plc.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/port.c index 6da062490f27d98ad01f36089ab0e3805f0d8890..e097de5e37f86fa987d42c77109f46a6132811a3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/port.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_libsamplerate.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_libsamplerate.c index 63ce87ac54e91e6309fb745c7bdaaa12dbca3d39..7c0686062d3c8a31e46daad0af721b67ab4ef76c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_libsamplerate.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_libsamplerate.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/resample.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_port.c index 588833531b0f17bcc880a90e9fc511c766a72cf0..634ca7110d2a44cf402965166d08945de3a1f8cf 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/resample.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_resample.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_resample.c index 7efbbbe12180791f56b8cdf6055b9226cd0dce45..bad1e3f0e7a657c9c1b8ea01ec0dce2d8c0755e6 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_resample.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_resample.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/resample.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_speex.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_speex.c index 9c414c43aabff0a929a68c168263453019b9fb89..5047778b7519c6fe0c488edd1d9d9e28ff67eeaf 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_speex.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/resample_speex.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/resample.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp.c index 752f19b9ef3430c8a1629d41c203dab8319f74e9..d911eba08f789c77546381a836a80daddcbc58f4 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/rtcp.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp_xr.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp_xr.c index 49e007b03947b3f852a4ac4d6f2e2dee8ffa5851..adc39c774256b5c2105305c717e1794d449f0157 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp_xr.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtcp_xr.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/rtcp_xr.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtp.c index fbebb155f6732a3f079666948255355168619365..3df690e7abfca2dc6eb8d0576753c55739741e70 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/rtp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/rtp.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp.c index 2a44d2f62e7aa009b3f77b0c5e845f8f165f4785..1fe59f7afba20873b2f887367f900f478b77c8b0 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sdp.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_cmp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_cmp.c index 986df3f57f31a6fb4164c95881b398468e2bb24d..2d0d02014fa6a94c4e64fcc17d05add8e1227d15 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_cmp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_cmp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sdp.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_neg.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_neg.c index 9e283027dd999409ad2d5b2bc065f9cfeb393178..c698bdc0c98f8cc4e64942a1bb9b1092e7007c2d 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_neg.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_neg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sdp_neg.h> #include <pjmedia/sdp.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_wrap.cpp b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_wrap.cpp index dd5b8fd09cb13bf51740f6a9a199bcfa927ee63f..6bae3ff65fedf3e50b6d292cc4ba534adfcf1246 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sdp_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/session.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/session.c index 6a33c84a409f331a99fa06ff3240dcb8898d4a1b..5240426b9dca7a667cfcf964897a36aaabc990ca 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/session.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/session.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/session.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/silencedet.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/silencedet.c index 0b93062679904c47949a6d807bfe4d51cb8b4472..dd57bdd20b13b27a23c85bd17d69a1e83b52077e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/silencedet.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/silencedet.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/silencedet.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_legacy.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_legacy.c index 868f78c1520fb7269ce285d10b1e1acd15b369ce..7871c69dddb393567e10ad17db9e3fdb954798d1 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_legacy.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_legacy.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_port.c index 372e2ef8f4995c4dbeb3e7b52788755a2307f73e..f1033f510f1157bbb35fdafa777a22d6ed0d05b8 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/sound_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sound_port.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/splitcomb.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/splitcomb.c index 08457b8bff7f071737337e0abf0145ce520cd350..f21466ace5b7ced0a1a068948d8ed2d533da8130 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/splitcomb.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/splitcomb.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/splitcomb.h> #include <pjmedia/delaybuf.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stereo_port.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stereo_port.c index 97ee6dcd92610ca7e156dd201179e3895f0cf978..2be7a48f91993de5448cb20d0e7d4189f1a3f672 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stereo_port.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stereo_port.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/stereo.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stream.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stream.c index 3331c9b84d76ee29cd18308a184550eed026dde4..9033b2e2ff8dcafc180200c695acf5d3730e1df2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stream.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/stream.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/stream.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/tonegen.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/tonegen.c index 757544913bcba5bd86adc54c72f2a49e719b1174..50ecc42d34c280eee8b17421a637cf05d7411b76 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/tonegen.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/tonegen.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/tonegen.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_adapter_sample.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_adapter_sample.c index b42ffd6f587eeecb140515da2dbe8d9492030190..6e68e528e1cd54503615ee86e9df41543028e056 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_adapter_sample.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_adapter_sample.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/transport_adapter_sample.h> #include <pjmedia/endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_ice.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_ice.c index 2bf078273ad3204c19c537f5f55a7165c0a6b6c8..a4795d794db1a67a257f605fa87f539220640234 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_ice.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_ice.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/transport_ice.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_loop.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_loop.c index 244af6d7ccf307697a712cc85af4de7fb95663ab..dabb26e3642a2312c9c35af6b18615829adac439 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_loop.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_loop.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/transport_loop.h> #include <pj/array.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_srtp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_srtp.c index ae3b52ebc88a897d84e8bb8125df323ded91d63c..f0d2ce0df44d8e5e1368460e82e5ad04d788a4c3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_srtp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_srtp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/transport_srtp.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_udp.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_udp.c index 8b317e7b9b170c65dcccc9658f89151e8bcde5be..089a22b5270af8e5e8aff4a87807be4a3de45aaf 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_udp.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/transport_udp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/transport_udp.h> #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_player.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_player.c index 8a2547fb6fdab29ce40a248579c985bb522231a2..715e36101d465cc65f4a4a5960a4290096df1618 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_player.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_player.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/wav_port.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_playlist.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_playlist.c index 5c5345b224e4effc47f34a70a279c837b559f65a..d12b58a8b947501a728bce3e1bd04f72efc092f3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_playlist.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_playlist.c @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/wav_playlist.h> #include <pjmedia/errno.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_writer.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_writer.c index df6a3edc2304c2a57e9b94aa22c5bfa8b3d3f4e1..262a734a2be81e43d01007bf98b4a6406e62e699 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_writer.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wav_writer.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/wav_port.h> #include <pjmedia/alaw_ulaw.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wave.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wave.c index b229924333ca9cbe5690db027f1ce1f8c8ec2a64..4f4ae8a5ac4504db0a3b76fabef4ab556c9e87e3 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wave.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wave.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/wave.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wsola.c b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wsola.c index 1d8ac99a9f0ea768cd2486fbd5c8c652a8fc30eb..6f975e214d2b6b6ec3ee17cf02049ba97de39167 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wsola.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/pjmedia/wsola.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/wsola.h> #include <pjmedia/circbuf.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/audio_tool.c b/sflphone-common/libs/pjproject/pjmedia/src/test/audio_tool.c index 9871c2c5dac51f49f262797a382bd8dc59a950ee..e6d0055c0758da1f10f150627ec29335acbc2e6f 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/audio_tool.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/audio_tool.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia.h> #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/codec_vectors.c b/sflphone-common/libs/pjproject/pjmedia/src/test/codec_vectors.c index 5508805922a5c9a0326d3d71f0c23c0a202d85ce..7af60330cd4ae990bf2025b04268b00e1014dbe1 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/codec_vectors.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/codec_vectors.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjmedia-codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/jbuf_test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/jbuf_test.c index 24ab5929a1dd7b9df0b51e1c7fe1aa0e9d58a4eb..24f772304d12c4cd2c9af4ea5b0aeffcfbb64e31 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/jbuf_test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/jbuf_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> #include <ctype.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/main.c b/sflphone-common/libs/pjproject/pjmedia/src/test/main.c index 2a4cf8776cbca241d048ae632615ab64401c8517..db6a6e2ce1fb87e8ee2db04f7f56b2049f70492f 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/main.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/mips_test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/mips_test.c index d5cdcd3112bcb0d6a7e84882988cfa63987d0d06..56249fbcd437a2743f0bdfaf7e87f263a15bf497 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/mips_test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/mips_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjmedia-codec.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/rtp_test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/rtp_test.c index 21580d2a1e476d32ca69af2d3c44f50643928b3e..b6141c8a679e8e8ce7cac9d74ffaff78432e4e0e 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/rtp_test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/rtp_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/rtp.h> #include <stdio.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/sdp_neg_test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/sdp_neg_test.c index 437bd41301b8387b0a743e21bee7e69a482cec1d..991ebf5343481ac6dc1b2ae9a6880d3ea1830a42 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/sdp_neg_test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/sdp_neg_test.c @@ -16,6 +16,17 @@ * You should have received a copy oa the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sdp.h> #include <pjmedia/sdp_neg.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/sdptest.c b/sflphone-common/libs/pjproject/pjmedia/src/test/sdptest.c index 7930ac6281f17f47d9d151004018420de69f0bfa..751bbb31d2f788c2ab888f4b5afc753011944ea2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/sdptest.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/sdptest.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/sdp.h> #include <pj/os.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/session_test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/session_test.c index 8761457e91069a1252b2b17c22f65f232b0b2abb..51dbb7e0325552eac4f1e3b5ab91de18a44cd5a2 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/session_test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/session_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjmedia/mediamgr.h> #include <pjmedia/session.h> diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/test.c b/sflphone-common/libs/pjproject/pjmedia/src/test/test.c index 19bc3e35291eee5ecbb3077a31c8fdd02b875aa6..093db7a6a6a7aa546e2622855b2485d91349a312 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/test.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/test.h b/sflphone-common/libs/pjproject/pjmedia/src/test/test.h index c669ba681a29d858e1031e42859ef59d22f993e6..53819eb7d19afb11ec9a7f4cb29ab3cc31ae3c1c 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/test.h +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/test.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJMEDIA_TEST_H__ #define __PJMEDIA_TEST_H__ diff --git a/sflphone-common/libs/pjproject/pjmedia/src/test/wince_main.c b/sflphone-common/libs/pjproject/pjmedia/src/test/wince_main.c index b85376a77d67998cc1fb9120f7b69b180f407cb3..28046c8af0313df4ce40559aeba0e2ad6611ecdc 100644 --- a/sflphone-common/libs/pjproject/pjmedia/src/test/wince_main.c +++ b/sflphone-common/libs/pjproject/pjmedia/src/test/wince_main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <windows.h> diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath.h index 6c1ebf1e34bc0af8e8f174c6893a48bf89d56463..75ed32b375f8ff76a7a4a5450a336b2723f10811 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/config.h> diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/config.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/config.h index 5a5ebac783aad94a58b2bb75e7dbef990cecefc9..728897732a62129c6cba0a87bcbf4fa1d20e3ec6 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/config.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_CONFIG_H__ #define __PJNATH_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/errno.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/errno.h index a09cd3e1e8bb2a626c9a8574350eaf8338798775..f19b69b57273a9b3f49b20c90de6f25c03acde4f 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/errno.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_ERRNO_H__ #define __PJNATH_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_session.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_session.h index 30f0d5f09381d6807a3cb6b067c4f32aacedcf91..ef61282a8ddffdbbd64d9fc344b3bd4aa711c4e4 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_session.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_session.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_ICE_SESSION_H__ #define __PJNATH_ICE_SESSION_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_strans.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_strans.h index c576f4551e47c4acb4ac0618ac5897d00dd631ba..57fd58d0d17e781a872a9e9024a0c3bdf8009fe1 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_strans.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/ice_strans.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_ICE_STRANS_H__ #define __PJNATH_ICE_STRANS_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/nat_detect.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/nat_detect.h index fc86718c4abed0b5f1407b6765f4929bbc94655d..643ea6e2488104289080827c3b68ab5d87854304 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/nat_detect.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/nat_detect.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_NAT_DETECT_H__ #define __PJNATH_NAT_DETECT_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_auth.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_auth.h index e0fd17511e6473e244303ec1efcd1fdff2aa05e1..60fbbf5d715e22c066fea39dad84badafb369ab6 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_auth.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_auth.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_AUTH_H__ #define __PJNATH_STUN_AUTH_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_config.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_config.h index d72abe6029ec786c52a5ef04bac10c31308fe518..ffe8bfb09881c1f37eea398ab12531c9062ba20d 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_config.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_CONFIG_H__ #define __PJNATH_STUN_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_msg.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_msg.h index 8a838c3d2269754ee44c8fc0c6ec8bff0d442a56..ae00ffaa21b9d6e536e103018bdd4f1f297d0bcd 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_msg.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_msg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_MSG_H__ #define __PJNATH_STUN_MSG_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_session.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_session.h index 53108e9add9f85edd71c4b8e4588cffd30bd84a8..12ad7d8924e66413cd327ff14274c6bd26161025 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_session.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_session.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_SESSION_H__ #define __PJNATH_STUN_SESSION_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_sock.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_sock.h index a4fd2676c2e13998b9a9767fca8853da98cc78dc..a3f3a59628dc3e5c5f860d62d959eb717e91900e 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_sock.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_sock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_SOCK_H__ #define __PJNATH_STUN_SOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_transaction.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_transaction.h index addb02262f627e52bc2bef616d11f1915199a767..067d3cd69013545509fc84928e28beb8bdf26dec 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_transaction.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/stun_transaction.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_STUN_TRANSACTION_H__ #define __PJNATH_STUN_TRANSACTION_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_session.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_session.h index 7ea6ed2ecceeb55b1054073d04bf7c28ab98d6a2..50f6a4e6016a18a31c60e38e8f2592f205b377b7 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_session.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_session.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_TURN_SESSION_H__ #define __PJNATH_TURN_SESSION_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_sock.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_sock.h index 3bbb26ce13a9f35faeddf33ff67e2b98cda61380..8fc54de6270e1845aadd6b21603ac82a5dbb1536 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_sock.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/turn_sock.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_TURN_SOCK_H__ #define __PJNATH_TURN_SOCK_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/include/pjnath/types.h b/sflphone-common/libs/pjproject/pjnath/include/pjnath/types.h index 84420040b0c5aa1757f43d628c0d4ce1a4be6341..4aa8f1874abb52117525c09d0b47a4ae0eb23e2a 100644 --- a/sflphone-common/libs/pjproject/pjnath/include/pjnath/types.h +++ b/sflphone-common/libs/pjproject/pjnath/include/pjnath/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_TYPES_H__ #define __PJNATH_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/ice_test.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/ice_test.c index 9a5e87154c6ad6971e30cefc53c9b285f202c126..7786536ec4a96902ac19da4d04456eba390d5f74 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/ice_test.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/ice_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include "server.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/main.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/main.c index 301636dbe7f8509def181ef3ca482da24bdbc05d..a2c254e772dee4bf05815143938d42c502bc2843 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/main.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.c index de5d7b29658425f972291689e4a3c64de3d99b97..25b74d37f06c6655d2118bca084bfe2f1d8ec1c2 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "server.h" #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.h b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.h index 13145450f99b5afaffdeffa5788cf8dcdff9cd63..c1d6555709bd344306f8b0cef6789692cf888ca6 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.h +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/server.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJNATH_TEST_SERVER_H__ #define __PJNATH_TEST_SERVER_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/sess_auth.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/sess_auth.c index 93ad162393301ae938fd7d48162fefa357bedbb4..d53eabfa584cd4d213876e9eb9bfacfc73d3ba6d 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/sess_auth.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/sess_auth.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun.c index bfda94244edffe0c47701aa00b7331a56751b5c7..974faab0149c8b11ffa26e5c0cf5a2fb5f38254b 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun_sock_test.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun_sock_test.c index 1a047fac63a8abe66c8aa03e113c4acfa7eb68f5..08ad3911010c4e7e7aa0e564b556943f459784b2 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun_sock_test.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/stun_sock_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.c index cfc3548d256badc2739daa8225f82cde14f8b037..8b64e064fea996ab68a66a2d3bc96d4de62483a0 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.h b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.h index db91b67753f2e9606a2d24b64d11a83fc66fa80d..1a3c9e01cc23898bf810da1fb57472101c5c706b 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.h +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/test.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjlib.h> #include <pjlib-util.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/turn_sock_test.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/turn_sock_test.c index f89a4f4b03c26f77c2efa66aea373251fa340547..725d52904859c4b377fa1375d06f1c8e41f3ac9a 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/turn_sock_test.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath-test/turn_sock_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include "server.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/errno.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/errno.c index fcc5e36172e2f7a4f165aa3bd7e796e450bad3ed..6ba3eb8ae1069584ae2b5b9be93583658e85fae0 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/errno.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/errno.h> #include <pjnath/stun_msg.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_session.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_session.c index 3a7727d0c9f92f1d28ad44f070ac100f03930564..1307ce9fcef007c8dfd7c0ef735d85cdca7ac93c 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_session.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_session.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/ice_session.h> #include <pj/addr_resolv.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_strans.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_strans.c index fa6c067b9a0a418d0f0cb3cc4496a063b46cf707..23430e9df1ac4bff5a1cd5c9d515e2c5cb6aa1e0 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_strans.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/ice_strans.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/ice_strans.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/nat_detect.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/nat_detect.c index bee2ffeaec1a063f373c4c6f03cdedc9d06ea4da..ee7df8314cb552afc04b7c5fee281b18c0835ef1 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/nat_detect.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/nat_detect.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/nat_detect.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_auth.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_auth.c index 0661c9ac50bed5de0dc8b2f7b697a552d2c40c48..e1e58ad9ecf7553d37e221c347fb912367def1e9 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_auth.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_auth.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_auth.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg.c index a90b0aeb9859ba848d35a0199ee86c7f7ee5301d..8b31344f8bb120a842e31499f575da416368c359 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_msg.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg_dump.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg_dump.c index 5911ae4f6e8d586873021165744b2c73f02fe3ce..576c42271db04e4cbae0bc8fa8b4fb5c3a9bb4e0 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg_dump.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_msg_dump.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_msg.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_session.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_session.c index 5b149d5834ca51ea912bcce183716bc1a4a708d7..8a82891900373998e5516b459e3231ec8d22da73 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_session.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_session.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_session.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_sock.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_sock.c index 2ba37f82e0fbd7cbebda7e359a2f88f18d2a8405..d75b7f7502ffd19ffc5187298f17743e8bde33f3 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_sock.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_sock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_sock.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_transaction.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_transaction.c index ab85692f4e9241f786d9c9c6e436585b00c87f28..7668926e1e4b9a1c6b0a26f57fa2ff5f249c1ea4 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_transaction.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/stun_transaction.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/stun_transaction.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_session.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_session.c index 98a7371cd49c58e1684265a0622acbc1dbc17b9e..1b5a6de35f3dc727abeb7d55c1ab304e61ae14ae 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_session.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_session.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/turn_session.h> #include <pjnath/errno.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_sock.c b/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_sock.c index 70acf7481d775b095974ec2efec89bda68c38108..f76bad79512a6ac4953ba1dcc7d2a8ad6128c6af 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_sock.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjnath/turn_sock.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath/turn_sock.h> #include <pj/activesock.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-client/client_main.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-client/client_main.c index 7c6239cc2206d6cc5a3365d1c7efbf165f91ba1a..7a834e50d6e56012af041d8ea27b1b0b4f979248 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-client/client_main.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-client/client_main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjnath.h> #include <pjlib-util.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/allocation.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/allocation.c index 57a0ce0201b12fc5a2235e42a6216df6d6377a6a..435966b159553c6e2270df4ddf0c49647aca0d29 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/allocation.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/allocation.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "turn.h" #include "auth.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.c index 286772ce0c32a9d22243623a1333166f7530a4f4..fa2cad67ca6bed7242cc16208fd735583046580f 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "auth.h" #include <pjlib.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.h b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.h index 13416cfb79fc38a14200d58cad98a7e72b52d9b1..a4cc1a194040e4513f13ed42a40ea4fad2caf11f 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.h +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/auth.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_TURN_SRV_AUTH_H__ #define __PJ_TURN_SRV_AUTH_H__ diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_tcp.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_tcp.c index 20015a5ad4f9da8b4d28270cfd46e7e78607e98d..2430ef8e415ec10674ba2c12dab52dfdcfeffd48 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_tcp.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_tcp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "turn.h" #include <pj/compat/socket.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_udp.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_udp.c index 89d6321073dbf03da92bdc406b8438c76acebd1d..d5344c754f3e62efe0be44b8ebede11d54d1a49d 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_udp.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/listener_udp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "turn.h" #include <pj/compat/socket.h> diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/main.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/main.c index 095745363198f24ad0b90143d6771c3c5d5b07dd..a7bb60bf62051dbcab583e19c553d78ef0912c00 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/main.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "turn.h" #include "auth.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/server.c b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/server.c index 5a6d62cc515f6837e0469303d5fe41e84aa74578..83bd3d59638664be3dd07aad7647e925a7641b0a 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/server.c +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/server.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "turn.h" #include "auth.h" diff --git a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/turn.h b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/turn.h index c4e021bd028f97161db3972bd6683093b988c4d8..2d8a7a50b8ff4e616773503baf9a359d4cd1724f 100644 --- a/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/turn.h +++ b/sflphone-common/libs/pjproject/pjnath/src/pjturn-srv/turn.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJ_TURN_SRV_TURN_H__ #define __PJ_TURN_SRV_TURN_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/errno.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/errno.h index e716ad40a88e3440382122dbe677741f05d6c99a..b80343260d9a983216c68f0af194d9f1dcc35a2b 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/errno.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_ERRNO_H__ #define __PJSIP_SIMPLE_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub.h index d01c71d7e079117e76a16cc540699be12aede816..0136be1d165a0a0534fb2b5bedef5ea3ed7fcd4f 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_EVSUB_H__ #define __PJSIP_SIMPLE_EVSUB_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub_msg.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub_msg.h index 32211db7954ea59cd3dc4cb58d65a6b7199c8396..dd8f70e8706174d78ec6a28bce302f9e477d8236 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub_msg.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/evsub_msg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_EVENT_NOTIFY_MSG_H__ #define __PJSIP_SIMPLE_EVENT_NOTIFY_MSG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/iscomposing.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/iscomposing.h index c0635b63556650f0ba19cf38c657222e013bb92d..51846b3520c26167753951c4888a7e49bafe9edd 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/iscomposing.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/iscomposing.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_ISCOMPOSING_H__ #define __PJSIP_SIMPLE_ISCOMPOSING_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/mwi.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/mwi.h index 351bbbea4fed96cb272f7c376ed72c4adaaacd02..e1858e2096dd0364eee0520d004a653bf7a0a197 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/mwi.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/mwi.h @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_MWI_H__ #define __PJSIP_SIMPLE_MWI_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/pidf.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/pidf.h index 44d0c24d3a84e57b7ef2aa1f39ac392f371613cb..8744e3cbe916ee3826187c43509be0f5e5f617fe 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/pidf.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/pidf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_PIDF_H__ #define __PJSIP_SIMPLE_PIDF_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/presence.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/presence.h index aed680b6b9ca540fe0b0cda3a843698cf280d7ff..b989ebc192492d5acf730e3e47929db86ec473ad 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/presence.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/presence.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_PRESENCE_H__ #define __PJSIP_SIMPLE_PRESENCE_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/publish.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/publish.h index 36147c4b0f9f8a145d9972cf24625e769e320d46..7927a32e1bea8abfa9af8040e01bc5baba0d7cba 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/publish.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/publish.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_PUBLISH_H__ #define __PJSIP_SIMPLE_PUBLISH_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/rpid.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/rpid.h index fb13ef90a0b94d9497f8de565c832a954022ba20..328f51b4877e7824b4f724c8fea930696fe4195e 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/rpid.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/rpid.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_RPID_H__ #define __PJSIP_SIMPLE_RPID_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/types.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/types.h index fec50a5f37a699cb91e3cd0b73a1582efa5ab422..84b5a8487c7837cd97b2eed266feefc421df3655 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/types.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_TYPES_H__ #define __PJSIP_SIMPLE_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/xpidf.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/xpidf.h index d56ccf3fa0e0f74b9141396e8d8dede91f1b3686..ecb7ef33a16d9d31b5e42a284a96a1c6d05f7fce 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/xpidf.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-simple/xpidf.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIMPLE_XPIDF_H__ #define __PJSIP_SIMPLE_XPIDF_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_100rel.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_100rel.h index 4f909856084cd8bfb242f9f0aad24b7a5b7096e1..c90bbaf38f956c50306fa42aee540e53a2043155 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_100rel.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_100rel.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SIP_100REL_H__ #define __SIP_100REL_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_inv.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_inv.h index e335ab623a35198f6768ae6cb73f44f628bf15b7..26507caebcb4e4e6645176c4410cd84b28be422e 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_inv.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_inv.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SIP_INVITE_SESSION_H__ #define __SIP_INVITE_SESSION_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_regc.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_regc.h index 330845b5ed536b1d0c9fcae917ab0c21925b501d..01a2ff51fb464388b2932228a4f66b06da4e6aa0 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_regc.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_regc.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_REG_H__ #define __PJSIP_SIP_REG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_replaces.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_replaces.h index 582650c71396e66dc0e36e0470b55fd2096b7ecd..1ca5dce7f4636544615388e8f7db9cd3fc0e6267 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_replaces.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_replaces.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_REPLACES_H__ #define __PJSIP_REPLACES_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_timer.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_timer.h index fae97dd722312e46626889871209a0f485dc51de..1a0bc5003bd0e3e3ef7e936cf6567011c8cba4a6 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_timer.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_timer.h @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TIMER_H__ #define __PJSIP_TIMER_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_xfer.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_xfer.h index f816406f120d0285667973174d3b83a2d1ee0a70..ca487aa2329ae879fa0c28fde4a119d6c30b15c7 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_xfer.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip-ua/sip_xfer.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_XFER_H__ #define __PJSIP_XFER_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip.h index b5ebb7301ed7fad74fb0c3a157411f6069bf4cfb..a9216b479eafba69e43a5da02326ec46aa92d974 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_H__ #define __PJSIP_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/print_util.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/print_util.h index 686bc9e5d36194f3b8e34be62493644c12dee3d8..525ca2d3dab48f61ba78eade475b73832b5b6c11 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/print_util.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/print_util.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_PRINT_H__ #define __PJSIP_PRINT_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth.h index cd00d3d6216af9f2b9aa81b9322ecf08ba3f40c2..0f81d487c9a97426b7ec19bee1e915e914e75def 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_AUTH_SIP_AUTH_H__ #define __PJSIP_AUTH_SIP_AUTH_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_aka.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_aka.h index 0f36beceddf5eb02c700a6dcaef9acb0592dcb29..ceaa735067a25270f8ada396e3de1b35d0d6a0da 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_aka.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_aka.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_AUTH_SIP_AUTH_AKA_H__ #define __PJSIP_AUTH_SIP_AUTH_AKA_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_msg.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_msg.h index 473a231cd3ed5d83d7512eb9d40e14de24a497be..b4c92e461bcb4a8bf562dfae48b63b947a1a6b13 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_msg.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_msg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_AUTH_SIP_AUTH_MSG_H__ #define __PJSIP_AUTH_SIP_AUTH_MSG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_parser.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_parser.h index 64596f34fd65b4efe2eea6be94768da06d096954..078181537a0801c2083cfdca8d8d5d82afa1930e 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_parser.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_auth_parser.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_AUTH_SIP_AUTH_PARSER_H__ #define __PJSIP_AUTH_SIP_AUTH_PARSER_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_autoconf.h.in b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_autoconf.h.in index 2b9a6d0ca9055ac972c07c8adfce1d4072c7cef9..8939ace06058af0ea6a476fa463fa37bd9ff596a 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_autoconf.h.in +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_autoconf.h.in @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_AUTOCONF_H__ #define __PJSIP_SIP_AUTOCONF_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_config.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_config.h index 0250fb8e96556a96a658e2596950444102aa70f0..77ad5d35e43afbcad27347a16a74885e65edbf18 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_config.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_config.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_CONFIG_H__ #define __PJSIP_SIP_CONFIG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_dialog.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_dialog.h index 54cfb79722f8dc3a5b3d4f074765dec76a4a1ea9..63171833edff9544ee9393b292eb85373d8024c6 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_dialog.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_dialog.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_DIALOG_H__ #define __PJSIP_SIP_DIALOG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_endpoint.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_endpoint.h index a2bd412df6cf7166ee2844c78cab3cc6568131f2..cd01af4f29b1ae1f1cdc2d70aa279fd982385c60 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_endpoint.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_endpoint.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_ENDPOINT_H__ #define __PJSIP_SIP_ENDPOINT_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_errno.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_errno.h index 2cd10b2a907205ebc278b3701483582528d1f678..0467cb2971889ff15cd07cb3c1c5e9c1ef6b67de 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_errno.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_errno.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_ERRNO_H__ #define __PJSIP_SIP_ERRNO_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_event.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_event.h index 135a11d93f5fe44f83271926b37022550daeec05..58a18f8bbc24788d57488bc13a41af12ea96ef73 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_event.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_event.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_EVENT_H__ #define __PJSIP_SIP_EVENT_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_module.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_module.h index 81361fbd2d55e0d1fb246b72a1cfdbc318569517..83da753abdd3129aa4716abd50d3edef4604b049 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_module.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_module.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_MODULE_H__ #define __PJSIP_SIP_MODULE_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_msg.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_msg.h index 51e970c0dac4d51c3d0ff460f5793c957a162f11..69650aa2011731b309363968c1c9d727534a6d7a 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_msg.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_msg.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_MSG_H__ #define __PJSIP_SIP_MSG_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_parser.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_parser.h index d3cb84a3f4767fcc49bc5b38c3624a614e406b31..68594ebd9962008652823e657cb8772238d2b01b 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_parser.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_parser.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_PARSER_H__ #define __PJSIP_SIP_PARSER_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_private.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_private.h index 6a5bb0b88091e8669bc563cea7554cf7f42e6a20..f2eb5990b4446703360a5b0f7471bbc3d5b82f47 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_private.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_private.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_PRIVATE_H__ #define __PJSIP_SIP_PRIVATE_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_resolve.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_resolve.h index 4eaf2d4a6e321cdc7c973eadf92abb8f3b2c42c2..6f6b68c01ed94c75f6ee3cbda1fe8dcc1339c99a 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_resolve.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_resolve.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_RESOLVE_H__ #define __PJSIP_SIP_RESOLVE_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_tel_uri.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_tel_uri.h index 98e2f8bbb800f4339748ae02c6ad8fbb7b92160a..f72f03c88244a709eb366d71b94844ae8e566f5f 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_tel_uri.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_tel_uri.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TEL_URI_H__ #define __PJSIP_TEL_URI_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transaction.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transaction.h index bc6c66deee0c039f6a175c3399b3fa5a14d4c4eb..966326926812126fe716239740313eac02e7e198 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transaction.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transaction.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_TRANSACTION_H__ #define __PJSIP_SIP_TRANSACTION_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport.h index ed52cf670d65e13ec45a737354e2d86a227556ea..b67647590452d5f8dc8bcb10ce16f8647851fcae 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_TRANSPORT_H__ #define __PJSIP_SIP_TRANSPORT_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_loop.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_loop.h index 534ba231247f016e3f6dc62e6600f73653c44220..4a10e3f4dbbf1423bd5fbcd7a1fc00574127d496 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_loop.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_loop.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TRANSPORT_LOOP_H__ #define __PJSIP_TRANSPORT_LOOP_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tcp.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tcp.h index d2fc6536262cdc1696bd9fd3619a32becf1988fb..acca0490b5de1635b74c14339d433088923118fd 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tcp.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tcp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TRANSPORT_TCP_H__ #define __PJSIP_TRANSPORT_TCP_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tls.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tls.h index a9210b43c37390f5a7f6a5d9e805376b3639e00b..f0977cee44eba1058a2b5cf0f94ab9b84587759d 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tls.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_tls.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TRANSPORT_TLS_H__ #define __PJSIP_TRANSPORT_TLS_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_udp.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_udp.h index 383073c9f2baa09c14b4f95e805d773eaebf30d3..a2806a68094cfd38a7bcce757742f9d160d3b05c 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_udp.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_transport_udp.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_TRANSPORT_UDP_H__ #define __PJSIP_TRANSPORT_UDP_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_types.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_types.h index 717605dcd2f5ed2b994c5439f96a66fca39318ef..46bd03702efcca3bcfc8287a129c1ec1c236bc42 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_types.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_types.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_TYPES_H__ #define __PJSIP_SIP_TYPES_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_ua_layer.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_ua_layer.h index a94a1d7d0c14320388da6dbc8cb130a578491790..beb2b900276d63565ec2a7afee234c7833c6da24 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_ua_layer.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_ua_layer.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_UA_LAYER_H__ #define __PJSIP_SIP_UA_LAYER_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_uri.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_uri.h index e5458e4bb15fd2050e51b6b8db8584ddc80dec95..e4ed757abcebc9c6fe4a7928755b28c5a7aa9960 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_uri.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_uri.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_URI_H__ #define __PJSIP_SIP_URI_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_util.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_util.h index 43a9cab21394d7d97e8671e16bced6350066ccb5..04b53735c6c661f77e4358eb7c789ea870cb9de6 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_util.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip/sip_util.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_SIP_MISC_H__ #define __PJSIP_SIP_MISC_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip_auth.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip_auth.h index 1fb8abee040a23d0891140005c0a910979215705..662cd6e28a9193f09525ea12d174d0a660dd78b4 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip_auth.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip_auth.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_AUTH_H__ #define __PJSIP_AUTH_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip_simple.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip_simple.h index f9fb8643b9c6cc646d5a56d05213a25cdd6e7887..df676124e44d8517db728dcfb615700694a921e8 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip_simple.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip_simple.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /** diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsip_ua.h b/sflphone-common/libs/pjproject/pjsip/include/pjsip_ua.h index 94682667a84c9910dac4c18201f40d603b8cce55..e285b24b9b6cc2c3a7a66f3c5bdee881e72ce0ef 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsip_ua.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsip_ua.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSIP_UA_H__ #define __PJSIP_UA_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua.h b/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua.h index 6821f60aa8a54f579a73ace990aca27753f53500..4a55e9a57204461e30b911e7c909eae2e575cd0b 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSUA_H__ #define __PJSUA_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua_internal.h b/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua_internal.h index 86e8815cba4d5dc5ab2951377f51c5e7694bcfd8..830d48d98525e61e43141c56a37bf81ee614b7d5 100644 --- a/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua_internal.h +++ b/sflphone-common/libs/pjproject/pjsip/include/pjsua-lib/pjsua_internal.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PJSUA_INTERNAL_H__ #define __PJSUA_INTERNAL_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/errno.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/errno.c index 513a2e00997e8b10372c320d5e4b6bb669573fe1..8567c0ad04bf4685838ddb756255df65188f42c0 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/errno.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/errno.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub.c index 571c971786dde180ca75abef48386c400c756e88..19c94eecc05e87039cea690d828c772661161291 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/evsub.h> #include <pjsip-simple/evsub_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub_msg.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub_msg.c index 940845ff425032046c01e3c31503ec0b4fd7b0bc..b210341a65caa8df3070112e605545731086d27f 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub_msg.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/evsub_msg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/evsub_msg.h> #include <pjsip/print_util.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/iscomposing.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/iscomposing.c index 24068dfd68b4b069c455d9eb6c7b87c09384164d..3151411d3d91c697cda09667ccf051b36a49ccb8 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/iscomposing.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/iscomposing.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/iscomposing.h> #include <pjsip-simple/errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/mwi.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/mwi.c index c8ae4645fcf96d228aee1d67d075428b4d41f5d5..53adcd5252f910150371ba4a5537710c2d40b669 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/mwi.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/mwi.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/mwi.h> #include <pjsip-simple/errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/pidf.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/pidf.c index 63dcbec910a1f9e07245ef7f9f3594d0190c52e9..f5348b62c2b5943bb67905528f29f6116c5d2171 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/pidf.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/pidf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/pidf.h> #include <pj/string.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence.c index d756d24099fa08d63e903bf0436634f12eafcb3b..09abf9c38755e806fd0a81d078847dec836ee148 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/presence.h> #include <pjsip-simple/errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence_body.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence_body.c index a6069594b468d07aca398cc68ec38d4354a8b9d7..3054dd486e768d870fcf229ee51ac93e39202ca4 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence_body.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/presence_body.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/presence.h> #include <pjsip-simple/errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/publishc.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/publishc.c index d4a7f8271e4e9c3fe60761a439b3c56c768d639a..9ec24696e3a95c7ddc271d1cae138da17510a006 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/publishc.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/publishc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/publish.h> #include <pjsip/sip_auth.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/rpid.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/rpid.c index 0ec9d260b5f542ea301274327c2c2076ceeae3b6..4d4487c602fda01e0e66cd3a486b0535f6e85e6d 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/rpid.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/rpid.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/rpid.h> #include <pjsip-simple/errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/xpidf.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/xpidf.c index f6892b42ad10505877bf8ae719bb6164c168c303..ba0a2b093c05e2ee02c5aaabcf3c2ce88c27839d 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/xpidf.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-simple/xpidf.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-simple/xpidf.h> #include <pj/assert.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_100rel.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_100rel.c index 6ff45ff38346663b37ade80c8655d4d1066a2ec4..46442b547eff3118e5fe4b45a9096c50b26f3744 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_100rel.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_100rel.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_100rel.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_inv.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_inv.c index 9aba3bbcd1e918a4069752842e0493ae02c42ac4..a308cff8a713edc8832f741edac024dbe4729e89 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_inv.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_inv.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_inv.h> #include <pjsip-ua/sip_100rel.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_reg.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_reg.c index b09397271b19c1798f2c8aaae0a27205c203c436..20cd0700a1c5d4ab1a1b00284183d124eef675aa 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_reg.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_reg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_regc.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_replaces.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_replaces.c index ce68407c58bb82f337768f4ca53a0513ad7e55c6..bacf7b94045fa2c68b090ee9e9114ea61fc3a76a 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_replaces.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_replaces.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_replaces.h> #include <pjsip-ua/sip_inv.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_timer.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_timer.c index 715585a39faafe780cb0ff5432558b183c5a0dc6..440897e7a09e18f42860c9e1540a122c3960fbc1 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_timer.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_timer.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_timer.h> #include <pjsip/print_util.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_xfer.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_xfer.c index 6a150b93de0d16d386399cc65bbf718002222b3f..2dbeccd63405caf57c3c753109fcdeaa9215a8f2 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_xfer.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip-ua/sip_xfer.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip-ua/sip_xfer.h> #include <pjsip-simple/evsub_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_aka.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_aka.c index d79398be416f9720a5c4896e1e4e900256bb154e..2122ae5c0e6fe3d87c76367256bc55e8bdec17c0 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_aka.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_aka.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_auth_aka.h> #include <pjsip/sip_errno.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_client.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_client.c index fc734f7a153efbdeaf6b87754937a737cdc44498..544c01ee65436b3aa09b4d0598f4a50ba17d3cbb 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_client.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_client.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_auth.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_msg.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_msg.c index 746aea85cb76ab77374fe04159141909eabc0087..9e3b95b0727e03ffdd3e77bf4c41c897a1c0d494 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_msg.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_msg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_auth_msg.h> #include <pjsip/sip_auth_parser.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser.c index 0a20a5073372b8673f0901f5d5f4c2b18a6c0dc8..3b912b25e7b92797f56422208818e9ff33a5bde9 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_auth_parser.h> #include <pjsip/sip_auth_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser_wrap.cpp index 0f58a977e0261ad97c7dd6a369e9d6bf0f20803a..bf9d1c2954a93a8037b41c16bfed88337955862e 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_parser_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_server.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_server.c index 1a557d7a12d49b112e68c561eabfb0b7e4df07e8..4f597301804d563c33159a04d3a38f3f53183a16 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_server.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_auth_server.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_auth.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_config.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_config.c index 6df63e402255920a9a911a1f03448b9b20b42d45..d77908c56753fa05f0bf470e0a885eb8486f15be 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_config.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_config.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_config.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog.c index 1d2de50fdb51275c78e98b67e91f1dfb998ba4da..2388d74334fa98db144a74fb1b46db9df0353784 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_dialog.h> #include <pjsip/sip_ua_layer.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog_wrap.cpp index 1dee2f2cc88dc343cefd477751ec884e764b8a7e..ace0c93ac9d35291644ef89155df284b2e4614b0 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_dialog_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint.c index 9d4daad882513d2602fea18d8fd34121f4d7af9d..0a707f70da4d18903f302dfb053922c7e09efb26 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_endpoint.h> #include <pjsip/sip_transaction.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint_wrap.cpp index 55b157aee113a918c838e31cc782c38f3b84572f..dd16a70be1921b2b4800d7416cba5a213e9bf8df 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_endpoint_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_errno.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_errno.c index 3460b78eadb7566b60ca4b32cf7175ea8d30da73..d376ab4e8567c0b37558ce8e5539ea9f55539a67 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_errno.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_errno.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_errno.h> #include <pjsip/sip_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_msg.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_msg.c index 97dc6c34eca40cc34f51597c0dc93f6312eac20c..5afdfdd6783d5521faff5a66ba3b13bb2c999774 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_msg.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_msg.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_msg.h> #include <pjsip/sip_parser.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser.c index 1212c0abba0d4b859aba5cc26bbac5ece5342cd5..da2dde5f6c261af3ef1e1b821d1e90fc6358d8f3 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_parser.h> #include <pjsip/sip_uri.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser_wrap.cpp index e27cd0429802382394649228f3da524bfb0d0c98..31a09b6f98ffdd64ba2fcfe1c43e9e55581ed0a5 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_parser_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_resolve.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_resolve.c index 746506d606c993d7f3f055cd8101747f9cfcf174..6a927204624e32579e1ce4145ead70bf6f6f85cb 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_resolve.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_resolve.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_resolve.h> #include <pjsip/sip_transport.h> @@ -369,14 +380,21 @@ PJ_DEF(void) pjsip_resolve( pjsip_resolver_t *resolver, if (query->query_type == PJ_DNS_TYPE_SRV) { - status = pj_dns_srv_resolve(&query->naptr[0].name, - &query->naptr[0].res_type, - query->req.def_port, pool, resolver->res, - PJ_TRUE, query, &srv_resolver_cb, NULL); + unsigned option = PJ_TRUE; + if (type & PJSIP_TRANSPORT_IPV6) { + option |= PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV6; + } else { + option |= PJ_DNS_SRV_FALLBACK_GETADDRINFO_IPV4; + } + + status = pj_dns_srv_resolve(&query->naptr[0].name, + &query->naptr[0].res_type, + query->req.def_port, pool, resolver->res, + option, query, &srv_resolver_cb, NULL); } else if (query->query_type == PJ_DNS_TYPE_A) { - status = pj_dns_resolver_start_query(resolver->res, + status = pj_dns_resolver_start_query(resolver->res, &query->naptr[0].name, PJ_DNS_TYPE_A, 0, &dns_a_callback, diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri.c index 2832525e487a25a4bb8a97fa51d7ab606c071f0d..b4655e9835495f8795f93d1b4b2a7f67512b53b7 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_tel_uri.h> #include <pjsip/sip_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri_wrap.cpp index f82281a3231d07b532bb308357b8e6bc7b69a325..a65c880b85295c93af9034a11f2d6ef3530f7634 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_tel_uri_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transaction.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transaction.c index 79b0866bafe9f12e084e9343b1fc0aff97411f15..0ad4f3929ddefeca0f1aa91f5d8687b3c1929e60 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transaction.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transaction.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transaction.h> #include <pjsip/sip_util.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport.c index a26d3c3f532f666b689cf140b621422d9ef38180..0caa6977c3059968fe7bc2f9b2af1263923a7fed 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_loop.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_loop.c index e509d4b0988d03383066e7f4940bf9f28dfb4a4b..bb821c6a35d1596d307e25d65e518777fe03fb13 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_loop.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_loop.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport_loop.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tcp.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tcp.c index 030cc8a427f08e217cad8ab91dfc93cd4d0812fc..60876d0a5ec7dc43de56bed6ba6a8cb35e06b022 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tcp.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tcp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport_tcp.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls.c index 0c16f88c3ce6fe783e2a321f31810c788a05e358..e61c9fe00e3787a7fa31eddd3490c0629158af42 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls.c @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport_tls.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls_ossl.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls_ossl.c index cb815fc169edab9ae54b80a01a72fda59a2324c2..ba4e638c7aa8153350017561a55f9a5c19cb9535 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls_ossl.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_tls_ossl.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport_tls.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_udp.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_udp.c index 1e31f98aef1cbb9557507c7bae14ab1d44a7b036..94b27e44f83210c8bcc30b2d10d8dd05fb13aab5 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_udp.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_udp.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_transport_udp.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_wrap.cpp index 7fc80e2b170b2f3e136fc11d5c2c9f13b2a78fdc..94185c157f7194c56ecc4601a3f4e12c8c5e791c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_transport_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_ua_layer.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_ua_layer.c index 56672a9536ad0cebfe8b352f27244e896475a66c..74ef67906a134c8b091cfe4b59060dfa4f4cd992 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_ua_layer.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_ua_layer.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_ua_layer.h> #include <pjsip/sip_module.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_uri.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_uri.c index afdd0c8f4048727ff43b335854e8848143353434..6e3bc54532e9952673bd4227d4a9b20cd76d6fe8 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_uri.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_uri.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_uri.h> #include <pjsip/sip_msg.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util.c index 421a3771c2cc45186262ff5b645cdf40e95596f8..cc83c12d3d2cd7f0d77996118737f516e9c2d177 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_util.h> #include <pjsip/sip_transport.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy.c index a050dfee8b5cd1ba4863f4e353d468d56cdcb794..f06635368a3d774ae893dfdf2608eb7368a69e24 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_util.h> #include <pjsip/sip_endpoint.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy_wrap.cpp index 0e394ee4f6f80a717f879ddba901477970e572b4..177a9c16f110ad0afd3d5d9fee0626310436810e 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_proxy_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_statefull.c b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_statefull.c index 9a6f7402cbec9cd348e350417cd93d9819953550..958fa29b703a1d10753288c3256eda81070a726a 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_statefull.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_statefull.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsip/sip_util.h> #include <pjsip/sip_module.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_wrap.cpp b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_wrap.cpp index 06a93441903cd22f55b1a4d6110ccd41e45c0728..10b481d29791ac83342702a5a7be8209e262e124 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_wrap.cpp +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsip/sip_util_wrap.cpp @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_acc.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_acc.c index 26db69e35ab35feb5652eac79e31adf66e3793cb..016156dfd9d52c1c014724e6b0c41e5ef16ab856 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_acc.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_call.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_call.c index 4f882c531c3586c3cd7b3c541405a73305c324cd..3ce8a2641e60a991b6bd13c0705501e3de3b5317 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_call.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_call.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_core.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_core.c index 7974c536c3ccda7bfc49c5906e4356634d1b2f7d..91805448d539092fa504c3794d69fe2061aaa889 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_core.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_core.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_im.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_im.c index 9ccf0b02f9cccf54ac219c6d1b3c89e2a1cb8f7b..e4d78973f160aa12bb5e47379f22f8fe1322f56c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_im.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_im.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_media.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_media.c index c07cc9a1b0c09b84d96dde48a879405f30ea2ac3..15f51619b86b124e2e7ca2d82c2e4566fc3c734c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_media.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_media.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_pres.c b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_pres.c index 0f661da5cdc035f5578ba547b5d97131d72ec49e..c5b26c795556ade11f718e3304f1af5effea1777 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_pres.c +++ b/sflphone-common/libs/pjproject/pjsip/src/pjsua-lib/pjsua_pres.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/dlg_core_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/dlg_core_test.c index 779f77db8a2641037f3d13a94469b26071d81638..c2f03f68a4f8998254c8ac891766540a2851d4c0 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/dlg_core_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/dlg_core_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/dns_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/dns_test.c index 656df9a428e8ca8cca1584089d9424c526db0732..51ac9a33d6f0c220271ed524be0aa00469c9558d 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/dns_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/dns_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/inv_offer_answer_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/inv_offer_answer_test.c index 2e2b731bf181707c0e82332059839b1a75f5aa06..b238d7ab8680b64d54fe4f59c913c3e5648b9e15 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/inv_offer_answer_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/inv_offer_answer_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/main.c b/sflphone-common/libs/pjproject/pjsip/src/test/main.c index 0a57898f021ecb88667de37078d6018300817774..bf384fc7c5920528edd09ea5e4fff2de47eb9f75 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/main.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/main.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <stdio.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/msg_err_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/msg_err_test.c index 0958cd370ebc10898cd94d3a15ddc6ea4213b4d9..bb530c3f9f0685daf2c5825807f40efd8e371063 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/msg_err_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/msg_err_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/msg_logger.c b/sflphone-common/libs/pjproject/pjsip/src/test/msg_logger.c index 6226783978425e35cec4b13becc7bad6b11ac886..611476cdb853eec8de9d2b86d67163c1a629bdb0 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/msg_logger.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/msg_logger.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/msg_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/msg_test.c index 270d76253ecb87ecd375ed6b717690ab405f34bb..6369fb280bbd0434831656e51fdae76ad622d507 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/msg_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/msg_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/regc_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/regc_test.c index 34da9172524ae0d7bee7413a1159fca918d21f70..a2d4e6c08a14df3fe647b0d779c5db7f50186d0a 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/regc_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/regc_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip_ua.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/test.c b/sflphone-common/libs/pjproject/pjsip/src/test/test.c index f72ea54a36dea4051dd6097e6846ae179e02e6f3..6377decab92e0b4a32d98a3494b20b2d08b25d6c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/test.h b/sflphone-common/libs/pjproject/pjsip/src/test/test.h index 8377642c69cbb4223d720db13951c91af6c84ab8..335aae89fe911541d3a9301e8d0b357b26fb7d2c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/test.h +++ b/sflphone-common/libs/pjproject/pjsip/src/test/test.h @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __TEST_H__ #define __TEST_H__ diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/transport_loop_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/transport_loop_test.c index e6b45c6e6fb7b87f670cb3a62a176388ff406c68..83a85ad62b2d02a4b63d65418934074b8b36d460 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/transport_loop_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/transport_loop_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/transport_tcp_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/transport_tcp_test.c index 52595c61f80bd488792433f948426928db6fce16..a5fe355afc7853eb1bc46bd666ca5b42263044a7 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/transport_tcp_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/transport_tcp_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/transport_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/transport_test.c index b5fd9bad46923cc69907b4195b99092b0b7080f3..7172b0b5823cadd692c253a8c1339ed9e92d7356 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/transport_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/transport_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/transport_udp_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/transport_udp_test.c index 78904839ab3db066d3ee6b7077049bb4f007329b..eec1c7bed651d142ddd1d6faeca71b12da4b79a3 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/transport_udp_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/transport_udp_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_basic_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_basic_test.c index 41ac5d2b2a4c65d044692e175ae3c334c87e90d9..c051bbe4f1834c9af57d529e4c05a12d8f201b1c 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_basic_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_basic_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_bench.c b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_bench.c index 9c74e0e62e7b29bf821c93144973a1127bc309e5..83c6849daad281e18b23a4e3c782c8ea7f084e8b 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_bench.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_bench.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uac_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uac_test.c index 87ab5b257ebbbe18cf9209ae0679431f5dd240fe..fe34494c0e4dbf34f969a3ea42a5e02749653827 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uac_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uac_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uas_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uas_test.c index 3b25ce87600f337a08aafa9491b0e11c4d8408c3..9d848c1e94565f6e1afcef7c7e628ea5ec8ff9d6 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uas_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/tsx_uas_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/txdata_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/txdata_test.c index 3df46d2047602d453edf9febcf27bad1b76248fa..070598aaa92ca3618eb85b36a47f0c755ae04ab6 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/txdata_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/txdata_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" diff --git a/sflphone-common/libs/pjproject/pjsip/src/test/uri_test.c b/sflphone-common/libs/pjproject/pjsip/src/test/uri_test.c index f10d0b185a2a3b2999447215f6fdab3f4fdb8b3a..07a80ccb96385353971535ad21105232038fe501 100644 --- a/sflphone-common/libs/pjproject/pjsip/src/test/uri_test.c +++ b/sflphone-common/libs/pjproject/pjsip/src/test/uri_test.c @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Teluu Inc. (http://www.teluu.com) + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "test.h" #include <pjsip.h> diff --git a/sflphone-common/libs/pjproject/third_party/build/g7221/Makefile b/sflphone-common/libs/pjproject/third_party/build/g7221/Makefile deleted file mode 100644 index 60590307f600325294032ecd76a674f9a4e4f2c2..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/build/g7221/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -include ../../../build.mak -include ../../../build/common.mak - -export LIBDIR := ../../lib - -RULES_MAK := $(PJDIR)/build/rules.mak - -export G7221_CODEC_LIB := ../../lib/libg7221codec-$(TARGET_NAME)$(LIBEXT) - -############################################################################### -# Gather all flags. -# -export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ - $(CFLAGS) $(CC_INC)../.. $(CC_INC)../../g7221/common \ - $(CC_INC)../../g7221/common/stl-files \ - $(CC_INC)../../../pjlib/include -export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ - $(HOST_CXXFLAGS) $(CXXFLAGS) -export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) - -export G7221_CODEC_SRCDIR = ../../g7221 -export G7221_CODEC_OBJS = common/common.o common/huff_tab.o common/tables.o \ - common/basic_op.o \ - decode/coef2sam.o decode/dct4_s.o decode/decoder.o \ - encode/dct4_a.o encode/sam2coef.o encode/encoder.o - -export G7221_CODEC_CFLAGS = $(_CFLAGS) - - -export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -############################################################################### -# Main entry -# -# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. -# -TARGETS := libg7221codec - -all: $(TARGETS) - -doc: - cd .. && doxygen docs/doxygen.cfg - -dep: depend -distclean: realclean - -.PHONY: dep depend libg7221codec clean realclean distclean - -libg7221codec: - $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $(G7221_CODEC_LIB) - -clean print_lib: - $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@ - -realclean: - $(subst @@,$(subst /,$(HOST_PSEP),.ilbc-$(TARGET_NAME).depend),$(HOST_RMR)) - - $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@ - -depend: - $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@ - - diff --git a/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.dsp b/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.dsp deleted file mode 100644 index 82cc644ab743d57463bffc389fd8ad8d2ed2fc12..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.dsp +++ /dev/null @@ -1,186 +0,0 @@ -# Microsoft Developer Studio Project File - Name="libg7221codec" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=libg7221codec - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "libg7221codec.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "libg7221codec.mak" CFG="libg7221codec - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "libg7221codec - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "libg7221codec - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "libg7221codec - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "output\libg7221codec-i386-win32-vc6-release" -# PROP Intermediate_Dir "output\libg7221codec-i386-win32-vc6-release" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I "../../g7221/common" /I "../../g7221/common/stl-files" /I "../../../pjlib/include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\lib\libg7221codec-i386-win32-vc6-release.lib" - -!ELSEIF "$(CFG)" == "libg7221codec - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "output\libg7221codec-i386-win32-vc6-debug" -# PROP Intermediate_Dir "output\libg7221codec-i386-win32-vc6-debug" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../.." /I "../../g7221/common" /I "../../g7221/common/stl-files" /I "../../../pjlib/include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\lib\libg7221codec-i386-win32-vc6-debug.lib" - -!ENDIF - -# Begin Target - -# Name "libg7221codec - Win32 Release" -# Name "libg7221codec - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Group "common" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\g7221\common\basic_op.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\basic_op.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\basic_op_i.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\common.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\count.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\defs.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\huff_def.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\huff_tab.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\huff_tab.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\tables.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\tables.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\common\typedef.h -# End Source File -# End Group -# Begin Group "decode" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\g7221\decode\coef2sam.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\decode\dct4_s.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\decode\dct4_s.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\decode\decoder.c -# End Source File -# End Group -# Begin Group "encode" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\g7221\encode\dct4_a.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\encode\dct4_a.h -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\encode\encoder.c -# End Source File -# Begin Source File - -SOURCE=..\..\g7221\encode\sam2coef.c -# End Source File -# End Group -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# End Target -# End Project diff --git a/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.vcproj b/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.vcproj deleted file mode 100644 index fb436777bd37b28292d242513f13a3afe38028c2..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/build/g7221/libg7221codec.vcproj +++ /dev/null @@ -1,6328 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="libg7221codec" - ProjectGUID="{2A3F241E-682C-47E1-9543-DC28708B406A}" - RootNamespace="libg7221codec" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" - /> - <Platform - Name="Pocket PC 2003 (ARMV4)" - /> - <Platform - Name="Smartphone 2003 (ARMV4)" - /> - <Platform - Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Release|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Win32" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <Filter - Name="common" - > - <File - RelativePath="..\..\g7221\common\basic_op.c" - > - </File> - <File - RelativePath="..\..\g7221\common\basic_op.h" - > - </File> - <File - RelativePath="..\..\g7221\common\basic_op_i.h" - > - </File> - <File - RelativePath="..\..\g7221\common\common.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\common\config.h" - > - </File> - <File - RelativePath="..\..\g7221\common\count.h" - > - </File> - <File - RelativePath="..\..\g7221\common\huff_def.h" - > - </File> - <File - RelativePath="..\..\g7221\common\huff_tab.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\common\huff_tab.h" - > - </File> - <File - RelativePath="..\..\g7221\common\tables.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\common\tables.h" - > - </File> - <File - RelativePath="..\..\g7221\common\typedef.h" - > - </File> - </Filter> - <Filter - Name="decode" - > - <File - RelativePath="..\..\g7221\decode\coef2sam.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\decode\dct4_s.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\decode\dct4_s.h" - > - </File> - <File - RelativePath="..\..\g7221\decode\decoder.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="encode" - > - <File - RelativePath="..\..\g7221\encode\dct4_a.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\encode\dct4_a.h" - > - </File> - <File - RelativePath="..\..\g7221\encode\encoder.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\encode\sam2coef.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - </Filter> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > - <File - RelativePath="..\..\g7221\common\defs.h" - > - </File> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.c b/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.c deleted file mode 100644 index 028d06fe96ccc6de55fdc05ca9780a1121f4139e..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.c +++ /dev/null @@ -1,1835 +0,0 @@ -#include "config.h" - -#if !PJMEDIA_LIBG7221_FUNCS_INLINED || \ - (PJMEDIA_LIBG7221_FUNCS_INLINED && defined(__BASIC_OP_H__)) - -/*___________________________________________________________________________ - | | - | Basic arithmetic operators. | - |___________________________________________________________________________| -*/ - -/*___________________________________________________________________________ - | | - | Include-Files | - |___________________________________________________________________________| -*/ - -//#include <stdio.h> -//#include <stdlib.h> -#include "typedef.h" -#include "basic_op.h" -#include <pj/assert.h> - -#if (WMOPS) -#include "count.h" -extern BASIC_OP multiCounter[MAXCOUNTERS]; -extern int currCounter; - -#endif - -/*___________________________________________________________________________ - | | - | Constants and Globals | - |___________________________________________________________________________| -*/ -#if INCLUDE_UNSAFE -Flag g7221_Overflow = 0; -Flag g7221_Carry = 0; -#endif - -/*___________________________________________________________________________ - | | - | Functions | - |___________________________________________________________________________| -*/ -/*___________________________________________________________________________ - | | - | Function Name : shr | - | | - | Purpose : | - | | - | Arithmetically shift the 16 bit input var1 right var2 positions with | - | sign extension. If var2 is negative, arithmetically shift var1 left by | - | -var2 with sign extension. Saturate the result in case of underflows or | - | overflows. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) shr (Word16 var1, Word16 var2) -{ - if (var2 < 0) - { - if (var2 < -16) - var2 = -16; - return shl_nocheck(var1, (Word16) -var2); - } - else - { - return shr_nocheck(var1, var2); - } -} -/* ------------------------- End of shr() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : shl | - | | - | Purpose : | - | | - | Arithmetically shift the 16 bit input var1 left var2 positions.Zero fill| - | the var2 LSB of the result. If var2 is negative, arithmetically shift | - | var1 right by -var2 with sign extension. Saturate the result in case of | - | underflows or overflows. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) shl (Word16 var1, Word16 var2) -{ - if (var2 < 0) - { - return shr_nocheck(var1, (Word16) -var2); - } - else - { - return shl_nocheck(var1, var2); - } -} -/* ------------------------- End of shl() ------------------------- */ - - - -/*___________________________________________________________________________ - | | - | Function Name : mult | - | | - | Purpose : | - | | - | Performs the multiplication of var1 by var2 and gives a 16 bit result | - | which is scaled i.e.: | - | mult(var1,var2) = extract_l(L_shr((var1 times var2),15)) and | - | mult(-32768,-32768) = 32767. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) mult (Word16 var1, Word16 var2) -{ - Word16 var_out; - Word32 L_product; - - L_product = (Word32) var1 *(Word32) var2; - - L_product = (L_product & (Word32) 0xffff8000L) >> 15; - - if (L_product & (Word32) 0x00010000L) - L_product = L_product | (Word32) 0xffff0000L; - - var_out = saturate (L_product); -#if (WMOPS) - multiCounter[currCounter].mult++; -#endif - return (var_out); -} -/* ------------------------- End of mult() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_msu | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Subtract the 32 | - | bit result to L_var3 with saturation, return a 32 bit result: | - | L_msu(L_var3,var1,var2) = L_sub(L_var3,L_mult(var1,var2)). | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_msu (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word32 L_var_out; - Word32 L_product; - - L_product = L_mult (var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_mult--; -#endif - L_var_out = L_sub (L_var3, L_product); -#if (WMOPS) - multiCounter[currCounter].L_sub--; - multiCounter[currCounter].L_msu++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_msu() ------------------------- */ - -#if INCLUDE_UNSAFE -/*___________________________________________________________________________ - | | - | Function Name : L_macNs | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Add the 32 bit | - | result to L_var3 without saturation, return a 32 bit result. Generate | - | carry and overflow values : | - | L_macNs(L_var3,var1,var2) = L_add_c(L_var3,L_mult(var1,var2)). | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - | | - | Caution : | - | | - | In some cases the Carry flag has to be cleared or set before using | - | operators which take into account its value. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_macNs (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word32 L_var_out; - - L_var_out = L_mult (var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_mult--; -#endif - L_var_out = L_add_c (L_var3, L_var_out); -#if (WMOPS) - multiCounter[currCounter].L_add_c--; - multiCounter[currCounter].L_macNs++; -#endif - return (L_var_out); -} -#endif -/* ------------------------- End of L_macNs() ------------------------- */ - -#if INCLUDE_UNSAFE -/*___________________________________________________________________________ - | | - | Function Name : L_msuNs | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Subtract the 32 | - | bit result from L_var3 without saturation, return a 32 bit result. Ge- | - | nerate carry and overflow values : | - | L_msuNs(L_var3,var1,var2) = L_sub_c(L_var3,L_mult(var1,var2)). | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - | | - | Caution : | - | | - | In some cases the Carry flag has to be cleared or set before using | - | operators which take into account its value. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_msuNs (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word32 L_var_out; - - L_var_out = L_mult (var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_mult--; -#endif - L_var_out = L_sub_c (L_var3, L_var_out); -#if (WMOPS) - multiCounter[currCounter].L_sub_c--; - multiCounter[currCounter].L_msuNs++; -#endif - return (L_var_out); -} -#endif - -/* ------------------------- End of L_msuNs() ------------------------- */ - - -#if INCLUDE_UNSAFE -/*___________________________________________________________________________ - | | - | Function Name : L_add_c | - | | - | Purpose : | - | | - | Performs 32 bits addition of the two 32 bits variables (L_var1+L_var2+C)| - | with carry. No saturation. Generate carry and Overflow values. The car- | - | ry and overflow values are binary variables which can be tested and as- | - | signed values. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | L_var2 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - | | - | Caution : | - | | - | In some cases the Carry flag has to be cleared or set before using | - | operators which take into account its value. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_add_c (Word32 L_var1, Word32 L_var2) -{ - Word32 L_var_out; - Word32 L_test; - Flag carry_int = 0; - - L_var_out = L_var1 + L_var2 + GET_CARRY(); - - L_test = L_var1 + L_var2; - - if ((L_var1 > 0) && (L_var2 > 0) && (L_test < 0)) - { - SET_OVERFLOW(1); - carry_int = 0; - } - else - { - if ((L_var1 < 0) && (L_var2 < 0)) - { - if (L_test >= 0) - { - SET_OVERFLOW(1); - carry_int = 1; - } - else - { - SET_OVERFLOW(0); - carry_int = 1; - } - } - else - { - if (((L_var1 ^ L_var2) < 0) && (L_test >= 0)) - { - SET_OVERFLOW(0); - carry_int = 1; - } - else - { - SET_OVERFLOW(0); - carry_int = 0; - } - } - } - - if (GET_CARRY()) - { - if (L_test == MAX_32) - { - SET_OVERFLOW(1); - SET_CARRY(carry_int); - } - else - { - if (L_test == (Word32) 0xFFFFFFFFL) - { - SET_CARRY(1); - } - else - { - SET_CARRY(carry_int); - } - } - } - else - { - SET_CARRY(carry_int); - } - -#if (WMOPS) - multiCounter[currCounter].L_add_c++; -#endif - return (L_var_out); -} -#endif - -/* ------------------------- End of L_add_c() ------------------------- */ - -#if INCLUDE_UNSAFE -/*___________________________________________________________________________ - | | - | Function Name : L_sub_c | - | | - | Purpose : | - | | - | Performs 32 bits subtraction of the two 32 bits variables with carry | - | (borrow) : L_var1-L_var2-C. No saturation. Generate carry and Overflow | - | values. The carry and overflow values are binary variables which can | - | be tested and assigned values. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | L_var2 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - | | - | Caution : | - | | - | In some cases the Carry flag has to be cleared or set before using | - | operators which take into account its value. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_sub_c (Word32 L_var1, Word32 L_var2) -{ - Word32 L_var_out; - Word32 L_test; - Flag carry_int = 0; - - if (GET_CARRY()) - { - SET_CARRY(0); - if (L_var2 != MIN_32) - { - L_var_out = L_add_c (L_var1, -L_var2); -#if (WMOPS) - multiCounter[currCounter].L_add_c--; -#endif - } - else - { - L_var_out = L_var1 - L_var2; - if (L_var1 > 0L) - { - SET_OVERFLOW(1); - SET_CARRY(0); - } - } - } - else - { - L_var_out = L_var1 - L_var2 - (Word32) 0X00000001L; - L_test = L_var1 - L_var2; - - if ((L_test < 0) && (L_var1 > 0) && (L_var2 < 0)) - { - SET_OVERFLOW(1); - carry_int = 0; - } - else if ((L_test > 0) && (L_var1 < 0) && (L_var2 > 0)) - { - SET_OVERFLOW(1); - carry_int = 1; - } - else if ((L_test > 0) && ((L_var1 ^ L_var2) > 0)) - { - SET_OVERFLOW(0); - carry_int = 1; - } - if (L_test == MIN_32) - { - SET_OVERFLOW(1); - SET_CARRY(carry_int); - } - else - { - SET_CARRY(carry_int); - } - } - -#if (WMOPS) - multiCounter[currCounter].L_sub_c++; -#endif - return (L_var_out); -} -#endif -/* ------------------------- End of L_sub_c() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_negate | - | | - | Purpose : | - | | - | Negate the 32 bit variable L_var1 with saturation; saturate in the case | - | where input is -2147483648 (0x8000 0000). | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_negate (Word32 L_var1) -{ - Word32 L_var_out; - - L_var_out = (L_var1 == MIN_32) ? MAX_32 : -L_var1; -#if (WMOPS) - multiCounter[currCounter].L_negate++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_negate() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : mult_r | - | | - | Purpose : | - | | - | Same as mult with rounding, i.e.: | - | mult_r(var1,var2) = extract_l(L_shr(((var1 * var2) + 16384),15)) and | - | mult_r(-32768,-32768) = 32767. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) mult_r (Word16 var1, Word16 var2) -{ - Word16 var_out; - Word32 L_product_arr; - - L_product_arr = (Word32) var1 *(Word32) var2; /* product */ - L_product_arr += (Word32) 0x00004000L; /* round */ - L_product_arr &= (Word32) 0xffff8000L; - L_product_arr >>= 15; /* shift */ - - if (L_product_arr & (Word32) 0x00010000L) /* sign extend when necessary */ - { - L_product_arr |= (Word32) 0xffff0000L; - } - var_out = saturate (L_product_arr); -#if (WMOPS) - multiCounter[currCounter].mult_r++; -#endif - return (var_out); -} -/* ------------------------- End of mult_r() ------------------------- */ - - - -/*___________________________________________________________________________ - | | - | Function Name : shr_r | - | | - | Purpose : | - | | - | Same as shr(var1,var2) but with rounding. Saturate the result in case of| - | underflows or overflows : | - | - If var2 is greater than zero : | - | if (sub(shl(shr(var1,var2),1),shr(var1,sub(var2,1)))) | - | is equal to zero | - | then | - | shr_r(var1,var2) = shr(var1,var2) | - | else | - | shr_r(var1,var2) = add(shr(var1,var2),1) | - | - If var2 is less than or equal to zero : | - | shr_r(var1,var2) = shr(var1,var2). | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) shr_r (Word16 var1, Word16 var2) -{ - Word16 var_out; - - if (var2 > 15) - { - var_out = 0; - } - else - { - var_out = shr (var1, var2); -#if (WMOPS) - multiCounter[currCounter].shr--; -#endif - - if (var2 > 0) - { - if ((var1 & ((Word16) 1 << (var2 - 1))) != 0) - { - var_out++; - } - } - } -#if (WMOPS) - multiCounter[currCounter].shr_r++; -#endif - return (var_out); -} -/* ------------------------- End of shr_r() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : mac_r | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Add the 32 bit | - | result to L_var3 with saturation. Round the LS 16 bits of the result | - | into the MS 16 bits with saturation and shift the result right by 16. | - | Return a 16 bit result. | - | mac_r(L_var3,var1,var2) = round(L_mac(L_var3,var1,var2)) | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 8000 <= L_var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) mac_r (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word16 var_out; - - L_var3 = L_mac (L_var3, var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_mac--; -#endif - L_var3 = L_add (L_var3, (Word32) 0x00008000L); -#if (WMOPS) - multiCounter[currCounter].L_add--; -#endif - var_out = extract_h (L_var3); -#if (WMOPS) - multiCounter[currCounter].extract_h--; - multiCounter[currCounter].mac_r++; -#endif - return (var_out); -} -/* ------------------------- End of mac_r() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : msu_r | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Subtract the 32 | - | bit result to L_var3 with saturation. Round the LS 16 bits of the res- | - | ult into the MS 16 bits with saturation and shift the result right by | - | 16. Return a 16 bit result. | - | msu_r(L_var3,var1,var2) = round(L_msu(L_var3,var1,var2)) | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 8000 <= L_var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) msu_r (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word16 var_out; - - L_var3 = L_msu (L_var3, var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_msu--; -#endif - L_var3 = L_add (L_var3, (Word32) 0x00008000L); -#if (WMOPS) - multiCounter[currCounter].L_add--; -#endif - var_out = extract_h (L_var3); -#if (WMOPS) - multiCounter[currCounter].extract_h--; - multiCounter[currCounter].msu_r++; -#endif - return (var_out); -} -/* ------------------------- End of msu_r() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_deposit_h | - | | - | Purpose : | - | | - | Deposit the 16 bit var1 into the 16 MS bits of the 32 bit output. The | - | 16 LS bits of the output are zeroed. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var_out <= 0x7fff 0000. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_deposit_h (Word16 var1) -{ - Word32 L_var_out; - - L_var_out = (Word32) var1 << 16; -#if (WMOPS) - multiCounter[currCounter].L_deposit_h++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_deposit_h() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_deposit_l | - | | - | Purpose : | - | | - | Deposit the 16 bit var1 into the 16 LS bits of the 32 bit output. The | - | 16 MS bits of the output are sign extended. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0xFFFF 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_deposit_l (Word16 var1) -{ - Word32 L_var_out; - - L_var_out = (Word32) var1; -#if (WMOPS) - multiCounter[currCounter].L_deposit_l++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_deposit_l() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_shr_r | - | | - | Purpose : | - | | - | Same as L_shr(L_var1,var2) but with rounding. Saturate the result in | - | case of underflows or overflows : | - | - If var2 is greater than zero : | - | if (L_sub(L_shl(L_shr(L_var1,var2),1),L_shr(L_var1,sub(var2,1))))| - | is equal to zero | - | then | - | L_shr_r(L_var1,var2) = L_shr(L_var1,var2) | - | else | - | L_shr_r(L_var1,var2) = L_add(L_shr(L_var1,var2),1) | - | - If var2 is less than or equal to zero : | - | L_shr_r(L_var1,var2) = L_shr(L_var1,var2). | - | | - | Complexity weight : 3 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var1 <= 0x7fff ffff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_shr_r (Word32 L_var1, Word16 var2) -{ - Word32 L_var_out; - - if (var2 > 31) - { - L_var_out = 0; - } - else - { - L_var_out = L_shr (L_var1, var2); -#if (WMOPS) - multiCounter[currCounter].L_shr--; -#endif - if (var2 > 0) - { - if ((L_var1 & ((Word32) 1 << (var2 - 1))) != 0) - { - L_var_out++; - } - } - } -#if (WMOPS) - multiCounter[currCounter].L_shr_r++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_shr_r() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_abs | - | | - | Purpose : | - | | - | Absolute value of L_var1; Saturate in case where the input is | - | -214783648 | - | | - | Complexity weight : 3 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x0000 0000 <= var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_abs (Word32 L_var1) -{ - Word32 L_var_out; - - if (L_var1 == MIN_32) - { - L_var_out = MAX_32; - } - else - { - if (L_var1 < 0) - { - L_var_out = -L_var1; - } - else - { - L_var_out = L_var1; - } - } - -#if (WMOPS) - multiCounter[currCounter].L_abs++; -#endif - return (L_var_out); -} -/* ------------------------- End of L_abs() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : norm_s | - | | - | Purpose : | - | | - | Produces the number of left shift needed to normalize the 16 bit varia- | - | ble var1 for positive values on the interval with minimum of 16384 and | - | maximum of 32767, and for negative values on the interval with minimum | - | of -32768 and maximum of -16384; in order to normalize the result, the | - | following operation must be done : | - | norm_var1 = shl(var1,norm_s(var1)). | - | | - | Complexity weight : 15 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 0000 <= var_out <= 0x0000 000f. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) norm_s (Word16 var1) -{ - Word16 var_out; - - if (var1 == 0) - { - var_out = 0; - } - else - { - if ((UWord16)var1 == (UWord16)0xffff) - { - var_out = 15; - } - else - { - if (var1 < 0) - { - var1 = (Word16)(~var1); - } - for (var_out = 0; var1 < 0x4000; var_out++) - { - var1 <<= 1; - } - } - } - -#if (WMOPS) - multiCounter[currCounter].norm_s++; -#endif - return (var_out); -} -/* ------------------------- End of norm_s() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : div_s | - | | - | Purpose : | - | | - | Produces a result which is the fractional integer division of var1 by | - | var2; var1 and var2 must be positive and var2 must be greater or equal | - | to var1; the result is positive (leading bit equal to 0) and truncated | - | to 16 bits. | - | If var1 = var2 then div(var1,var2) = 32767. | - | | - | Complexity weight : 18 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 0000 <= var1 <= var2 and var2 != 0. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : var1 <= var2 <= 0x0000 7fff and var2 != 0. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 0000 <= var_out <= 0x0000 7fff. | - | It's a Q15 value (point between b15 and b14). | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) div_s (Word16 var1, Word16 var2) -{ - Word16 var_out = 0; - Word16 iteration; - Word32 L_num; - Word32 L_denom; - - if ((var1 > var2) || (var1 < 0) || (var2 < 0)) - { - //printf ("Division Error var1=%d var2=%d\n", var1, var2); - //abort(); /* exit (0); */ - pj_assert(!"Division Error"); - } - if (var2 == 0) - { - //printf ("Division by 0, Fatal error \n"); - //abort(); /* exit (0); */ - assert(!"Division by 0"); - } - if (var1 == 0) - { - var_out = 0; - } - else - { - if (var1 == var2) - { - var_out = MAX_16; - } - else - { - L_num = L_deposit_l (var1); -#if (WMOPS) - multiCounter[currCounter].L_deposit_l--; -#endif - L_denom = L_deposit_l (var2); -#if (WMOPS) - multiCounter[currCounter].L_deposit_l--; -#endif - - for (iteration = 0; iteration < 15; iteration++) - { - var_out <<= 1; - L_num <<= 1; - - if (L_num >= L_denom) - { - L_num = L_sub (L_num, L_denom); -#if (WMOPS) - multiCounter[currCounter].L_sub--; -#endif - var_out = add (var_out, 1); -#if (WMOPS) - multiCounter[currCounter].add--; -#endif - } - } - } - } - -#if (WMOPS) - multiCounter[currCounter].div_s++; -#endif - return (var_out); -} -/* ------------------------- End of div_s() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : norm_l | - | | - | Purpose : | - | | - | Produces the number of left shifts needed to normalize the 32 bit varia-| - | ble L_var1 for positive values on the interval with minimum of | - | 1073741824 and maximum of 2147483647, and for negative values on the in-| - | terval with minimum of -2147483648 and maximum of -1073741824; in order | - | to normalize the result, the following operation must be done : | - | norm_L_var1 = L_shl(L_var1,norm_l(L_var1)). | - | | - | Complexity weight : 30 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 0000 <= var_out <= 0x0000 001f. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) norm_l (Word32 L_var1) -{ - Word16 var_out; - - if (L_var1 == 0) - { - var_out = 0; - } - else - { - if (L_var1 == (Word32) 0xffffffffL) - { - var_out = 31; - } - else - { - if (L_var1 < 0) - { - L_var1 = ~L_var1; - } - for (var_out = 0; L_var1 < (Word32) 0x40000000L; var_out++) - { - L_var1 <<= 1; - } - } - } - -#if (WMOPS) - multiCounter[currCounter].norm_l++; -#endif - return (var_out); -} -/* ------------------------- End of norm_l() ------------------------- */ - - -/* - ***************************************************************** - Additional operators extracted from the G.723.1 Library - Adapted for WMOPS calculations - ***************************************************************** -*/ - -/*___________________________________________________________________________ - | | - | Function Name : L_mls | - | | - | Purpose : | - | | - | Multiplies a 16 bit word v by a 32 bit word Lv and returns a 32 bit | - | word (multiplying 16 by 32 bit words gives 48 bit word; the function | - | extracts the 32 MSB and shift the result to the left by 1). | - | | - | A 32 bit word can be written as | - | Lv = a + b * 2^16 | - | where a= unsigned 16 LSBs and b= signed 16 MSBs. | - | The function returns v * Lv / 2^15 which is equivalent to | - | a*v / 2^15 + b*v*2 | - | | - | Complexity weight : 6 [to be confirmed] | - | | - | Inputs : | - | | - | Lv | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var1 <= 0x7fff ffff. | - | v | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x8000 <= var1 <= 0x7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= var_out <= 0x7fff ffff. | - | | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(Word32) L_mls (Word32 Lv, Word16 v) -{ - Word32 Temp ; - - Temp = Lv & (Word32) 0x0000ffff ; - Temp = Temp * (Word32) v ; - Temp = L_shr_nocheck( Temp, (Word16) 15 ) ; - Temp = L_mac( Temp, v, extract_h(Lv) ) ; - -#if (WMOPS) - multiCounter[currCounter].L_shr--; - multiCounter[currCounter].L_mac--; - multiCounter[currCounter].extract_h--; - multiCounter[currCounter].L_mls++; -#endif - - return Temp ; -} -/* ------------------------- End of L_mls() ------------------------- */ - - -/*__________________________________________________________________________ -| | -| Function Name : div_l | -| | -| Purpose : | -| | -| Produces a result which is the fractional integer division of L_var1 by| -| var2; L_var1 and var2 must be positive and var2 << 16 must be greater or| -| equal to L_var1; the result is positive (leading bit equal to 0) and | -| truncated to 16 bits. | -| If L_var1 == var2 << 16 then div_l(L_var1,var2) = 32767. | -| | -| Complexity weight : 20 | -| | -| Inputs : | -| | -| L_var1 | -| 32 bit long signed integer (Word32) whose value falls in the | -| range : 0x0000 0000 <= var1 <= (var2 << 16) and var2 != 0. | -| L_var1 must be considered as a Q.31 value | -| | -| var2 | -| 16 bit short signed integer (Word16) whose value falls in the | -| range : var1 <= (var2<< 16) <= 0x7fff0000 and var2 != 0. | -| var2 must be considered as a Q.15 value | -| | -| Outputs : | -| | -| none | -| | -| Return Value : | -| | -| var_out | -| 16 bit short signed integer (Word16) whose value falls in the | -| range : 0x0000 0000 <= var_out <= 0x0000 7fff. | -| It's a Q15 value (point between b15 and b14). | -|___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) div_l (Word32 L_num, Word16 den) -{ - Word16 var_out = (Word16)0; - Word32 L_den; - Word16 iteration; - -#if (WMOPS) - multiCounter[currCounter].div_l++; -#endif - - if ( den == (Word16) 0 ) { - //printf("Division by 0 in div_l, Fatal error \n"); - //exit(0); - assert(!"Division by 0"); - } - - if ( (L_num < (Word32) 0) || (den < (Word16) 0) ) { - //printf("Division Error in div_l, Fatal error \n"); - //exit(0); - assert(!"Division Error"); - } - - L_den = L_deposit_h( den ) ; -#if (WMOPS) - multiCounter[currCounter].L_deposit_h--; -#endif - - if ( L_num >= L_den ){ - return MAX_16 ; - } - else { - L_num = L_shr_nocheck(L_num, (Word16)1) ; - L_den = L_shr_nocheck(L_den, (Word16)1); -#if (WMOPS) - multiCounter[currCounter].L_shr-=2; -#endif - for(iteration=(Word16)0; iteration< (Word16)15;iteration++) { - var_out = shl_nocheck( var_out, (Word16)1); - L_num = L_shl_nocheck( L_num, (Word16)1); -#if (WMOPS) - multiCounter[currCounter].shl--; - multiCounter[currCounter].L_shl--; -#endif - if (L_num >= L_den) { - L_num = L_sub(L_num,L_den); - var_out = add(var_out, (Word16)1); -#if (WMOPS) - multiCounter[currCounter].L_sub--; - multiCounter[currCounter].add--; -#endif - } - } - - return var_out; - } -} -/* ------------------------- End of div_l() ------------------------- */ - - -/*__________________________________________________________________________ -| | -| Function Name : i_mult | -| | -| Purpose : | -| | -| Integer 16-bit multiplication. No overflow protection is performed if | -| ORIGINAL_G7231 is defined. | -| | -| Complexity weight : TBD | -| | -| Inputs : | -| | -| a | -| 16 bit short signed integer (Word16). | -| | -| b | -| 16 bit short signed integer (Word16). | -| | -| Outputs : | -| | -| none | -| | -| Return Value : | -| | -| 16 bit short signed integer (Word16). No overflow checks | -| are performed if ORIGINAL_G7231 is defined. | -|___________________________________________________________________________| -*/ -LIBG7221_DEF(Word16) i_mult (Word16 a, Word16 b) -{ -#ifdef ORIGINAL_G7231 - return a*b ; -#else - Word32 register c=a*b; -#if (WMOPS) - multiCounter[currCounter].i_mult++; -#endif - return saturate(c) ; -#endif -} -/* ------------------------- End of i_mult() ------------------------- */ - - -/* - ********************************************************************** - The following three operators are not part of the original - G.729/G.723.1 set of basic operators and implement shiftless - accumulation operation. - ********************************************************************** -*/ - -/*___________________________________________________________________________ - | - | Function Name : L_mult0 - | - | Purpose : - | - | L_mult0 is the 32 bit result of the multiplication of var1 times var2 - | without one left shift. - | - | Complexity weight : 1 - | - | Inputs : - | - | var1 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | var2 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | Return Value : - | - | L_var_out - | 32 bit long signed integer (Word32) whose value falls in the - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. - |___________________________________________________________________________ -*/ -LIBG7221_DEF(Word32) L_mult0 (Word16 var1,Word16 var2) -{ - Word32 L_var_out; - - L_var_out = (Word32)var1 * (Word32)var2; - -#if (WMOPS) - multiCounter[currCounter].L_mult0++; -#endif - return(L_var_out); -} -/* ------------------------- End of L_mult0() ------------------------- */ - - -/*___________________________________________________________________________ - | - | Function Name : L_mac0 - | - | Purpose : - | - | Multiply var1 by var2 (without left shift) and add the 32 bit result to - | L_var3 with saturation, return a 32 bit result: - | L_mac0(L_var3,var1,var2) = L_add(L_var3,(L_mult0(var1,var2)). - | - | Complexity weight : 1 - | - | Inputs : - | - | L_var3 32 bit long signed integer (Word32) whose value falls in the - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. - | - | var1 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | var2 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | Return Value : - | - | L_var_out - | 32 bit long signed integer (Word32) whose value falls in the - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. - |___________________________________________________________________________ -*/ -LIBG7221_DEF(Word32) L_mac0 (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word32 L_var_out; - Word32 L_product; - - L_product = L_mult0(var1,var2); - L_var_out = L_add(L_var3,L_product); - -#if (WMOPS) - multiCounter[currCounter].L_mac0++; - multiCounter[currCounter].L_mult0--; - multiCounter[currCounter].L_add--; -#endif - return(L_var_out); -} -/* ------------------------- End of L_mac0() ------------------------- */ - - -/*___________________________________________________________________________ - | - | Function Name : L_msu0 - | - | Purpose : - | - | Multiply var1 by var2 (without left shift) and subtract the 32 bit - | result to L_var3 with saturation, return a 32 bit result: - | L_msu0(L_var3,var1,var2) = L_sub(L_var3,(L_mult0(var1,var2)). - | - | Complexity weight : 1 - | - | Inputs : - | - | L_var3 32 bit long signed integer (Word32) whose value falls in the - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. - | - | var1 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | var2 16 bit short signed integer (Word16) whose value falls in the - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. - | - | Return Value : - | - | L_var_out - | 32 bit long signed integer (Word32) whose value falls in the - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. - |___________________________________________________________________________ -*/ -LIBG7221_DEF(Word32) L_msu0 (Word32 L_var3, Word16 var1, Word16 var2) -{ - Word32 L_var_out; - Word32 L_product; - - L_product = L_mult0(var1,var2); - L_var_out = L_sub(L_var3,L_product); - -#if (WMOPS) - multiCounter[currCounter].L_msu0++; - multiCounter[currCounter].L_mult0--; - multiCounter[currCounter].L_sub--; -#endif - return(L_var_out); -} -/* ------------------------- End of L_msu0() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : LU_shl | - | | - | Purpose : | - | | - | Arithmetically shift the 32 bit input L_var1 left var2 positions. Zero | - | fill the var2 LSB of the result. If var2 is negative, arithmetically | - | shift L_var1 right by -var2 with sign extension. Saturate the result in | - | case of underflows or overflows. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(UWord32) LU_shl (UWord32 L_var1, Word16 var2) -{ - Word16 neg_var2; - UWord32 L_var_out = 0; - - if (var2 <= 0) - { - if (var2 < -32) - var2 = -32; - neg_var2 = negate(var2); - L_var_out = LU_shr (L_var1, neg_var2); -#if (WMOPS) - multiCounter[currCounter].negate--; - multiCounter[currCounter].LU_shr--; -#endif - } - else - { - for (; var2 > 0; var2--) - { - if (L_var1 > (UWord32) 0X7fffffffL) - { - SET_OVERFLOW(1); - L_var_out = UMAX_32; - break; - } - else - { - if (L_var1 < (UWord32) 0x00000001L) - { - SET_OVERFLOW(1); - L_var_out = (UWord32)MIN_32; - break; - } - } - L_var1 *= 2; - L_var_out = L_var1; - } - } -#if (WMOPS) - multiCounter[currCounter].LU_shl++; -#endif - return (L_var_out); -} -/* ------------------------- End of LU_shl() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : LU_shr | - | | - | Purpose : | - | | - | Arithmetically shift the 32 bit input L_var1 right var2 positions with | - | sign extension. If var2 is negative, arithmetically shift L_var1 left | - | by -var2 and zero fill the -var2 LSB of the result. Saturate the result | - | in case of underflows or overflows. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -LIBG7221_DEF(UWord32) LU_shr (UWord32 L_var1, Word16 var2) -{ - Word16 neg_var2; - UWord32 L_var_out; - - if (var2 < 0) - { - if (var2 < -32) - var2 = -32; - neg_var2 = negate(var2); - L_var_out = LU_shl (L_var1, neg_var2); -#if (WMOPS) - multiCounter[currCounter].negate--; - multiCounter[currCounter].LU_shl--; -#endif - } - else - { - if (var2 >= 32) - { - L_var_out = 0L; - } - else - { - L_var_out = L_var1 >> var2; - } - } -#if (WMOPS) - multiCounter[currCounter].LU_shr++; -#endif - return (L_var_out); -} -/* ------------------------- End of LU_shr() ------------------------- */ - -#endif /* PJMEDIA_LIBG7221_FUNCS_INLINED */ - -/* ************************** END OF BASOP32.C ************************** */ diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.h b/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.h deleted file mode 100644 index 45104d1ce1773e200fb03e4d9156aa5863866cd8..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef __BASIC_OP_H__ -#define __BASIC_OP_H__ - -#include "config.h" - -/*___________________________________________________________________________ - | | - | Constants and Globals | - |___________________________________________________________________________| -*/ - -#define MAX_32 (Word32)0x7fffffffL -#define MIN_32 (Word32)0x80000000L - -#define MAX_16 (Word16)0x7fff -#define MIN_16 (Word16)(pj_uint16_t)0x8000 - -#define UMAX_32 (UWord32)0xffffffffL -#define UMIN_32 (UWord32)0x00000000L - -/*___________________________________________________________________________ - | | - | Prototypes for basic arithmetic operators | - |___________________________________________________________________________| -*/ - -PJ_INLINE(Word16) add (Word16 var1, Word16 var2); /* Short add, 1 */ -PJ_INLINE(Word16) sub (Word16 var1, Word16 var2); /* Short sub, 1 */ -PJ_INLINE(Word16) abs_s (Word16 var1); /* Short abs, 1 */ -LIBG7221_DECL(Word16) shl (Word16 var1, Word16 var2); /* Short shift left, 1 */ -PJ_INLINE(Word16) shl_nocheck(Word16 var1, Word16 var2); -LIBG7221_DECL(Word16) shr (Word16 var1, Word16 var2); /* Short shift right, 1 */ -PJ_INLINE(Word16) shr_nocheck(Word16 var1, Word16 var2); -LIBG7221_DECL(Word16) mult (Word16 var1, Word16 var2); /* Short mult, 1 */ -PJ_INLINE(Word32) L_mult (Word16 var1, Word16 var2); /* Long mult, 1 */ -PJ_INLINE(Word16) negate (Word16 var1); /* Short negate, 1 */ -PJ_INLINE(Word16) extract_h (Word32 L_var1); /* Extract high, 1 */ -PJ_INLINE(Word16) extract_l (Word32 L_var1); /* Extract low, 1 */ -PJ_INLINE(Word16) itu_round (Word32 L_var1); /* Round, 1 */ -PJ_INLINE(Word32) L_mac (Word32 L_var3, Word16 var1, Word16 var2); /* Mac, 1 */ -LIBG7221_DECL(Word32) L_msu (Word32 L_var3, Word16 var1, Word16 var2); /* Msu, 1 */ -LIBG7221_DECL(Word32) L_macNs (Word32 L_var3, Word16 var1, Word16 var2); /* Mac without - sat, 1 */ -LIBG7221_DECL(Word32) L_msuNs (Word32 L_var3, Word16 var1, Word16 var2); /* Msu without - sat, 1 */ -//PJ_INLINE(Word32) L_add (Word32 L_var1, Word32 L_var2); /* Long add, 2 */ -PJ_INLINE(Word32) L_sub (Word32 L_var1, Word32 L_var2); /* Long sub, 2 */ -LIBG7221_DECL(Word32) L_add_c (Word32 L_var1, Word32 L_var2); /* Long add with c, 2 */ -LIBG7221_DECL(Word32) L_sub_c (Word32 L_var1, Word32 L_var2); /* Long sub with c, 2 */ -LIBG7221_DECL(Word32) L_negate (Word32 L_var1); /* Long negate, 2 */ -LIBG7221_DECL(Word16) mult_r (Word16 var1, Word16 var2); /* Mult with round, 2 */ -PJ_INLINE(Word32) L_shl (Word32 L_var1, Word16 var2); /* Long shift left, 2 */ -PJ_INLINE(Word32) L_shr (Word32 L_var1, Word16 var2); /* Long shift right, 2*/ -LIBG7221_DECL(Word16) shr_r (Word16 var1, Word16 var2); /* Shift right with - round, 2 */ -LIBG7221_DECL(Word16) mac_r (Word32 L_var3, Word16 var1, Word16 var2); /* Mac with - rounding,2 */ -LIBG7221_DECL(Word16) msu_r (Word32 L_var3, Word16 var1, Word16 var2); /* Msu with - rounding,2 */ -LIBG7221_DECL(Word32) L_deposit_h (Word16 var1); /* 16 bit var1 -> MSB, 2 */ -LIBG7221_DECL(Word32) L_deposit_l (Word16 var1); /* 16 bit var1 -> LSB, 2 */ - -LIBG7221_DECL(Word32) L_shr_r (Word32 L_var1, Word16 var2); /* Long shift right with - round, 3 */ -LIBG7221_DECL(Word32) L_abs (Word32 L_var1); /* Long abs, 3 */ -LIBG7221_DECL(Word32) L_sat (Word32 L_var1); /* Long saturation, 4 */ -LIBG7221_DECL(Word16) norm_s (Word16 var1); /* Short norm, 15 */ -LIBG7221_DECL(Word16) div_s (Word16 var1, Word16 var2); /* Short division, 18 */ -LIBG7221_DECL(Word16) norm_l (Word32 L_var1); /* Long norm, 30 */ - -/* - Additional G.723.1 operators -*/ -LIBG7221_DECL(Word32) L_mls( Word32, Word16 ) ; /* Weight FFS; currently assigned 1 */ -LIBG7221_DECL(Word16) div_l( Word32, Word16 ) ; /* Weight FFS; currently assigned 1 */ -LIBG7221_DECL(Word16) i_mult(Word16 a, Word16 b); /* Weight FFS; currently assigned 1 */ - -/* - New shiftless operators, not used in G.729/G.723.1 -*/ -LIBG7221_DECL(Word32) L_mult0(Word16 v1, Word16 v2); /* 32-bit Multiply w/o shift 1 */ -LIBG7221_DECL(Word32) L_mac0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Mac w/o shift 1 */ -LIBG7221_DECL(Word32) L_msu0(Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Msu w/o shift 1 */ - -/* - Additional G.722.1 operators -*/ -LIBG7221_DECL(UWord32) LU_shl (UWord32 L_var1, Word16 var2); -LIBG7221_DECL(UWord32) LU_shr (UWord32 L_var1, Word16 var2); - -#define INCLUDE_UNSAFE 0 - -/* Local */ -PJ_INLINE(Word16) saturate (Word32 L_var1); - -#if INCLUDE_UNSAFE - extern Flag g7221_Overflow; - extern Flag g7221_Carry; -# define SET_OVERFLOW(n) g7221_Overflow = n -# define SET_CARRY(n) g7221_Carry = n - -#else -# define SET_OVERFLOW(n) -# define SET_CARRY(n) -# define GET_OVERFLOW() 0 -# define GET_CARRY() 0 -#endif - -#include "basic_op_i.h" - -#if PJMEDIA_LIBG7221_FUNCS_INLINED -# include "basic_op.c" -#endif - -#endif /* __BASIC_OP_H__ */ - - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op_i.h b/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op_i.h deleted file mode 100644 index d6906237b100b75aef8dce6b5286979a94f4b645..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/basic_op_i.h +++ /dev/null @@ -1,730 +0,0 @@ -/*___________________________________________________________________________ - | | - | Function Name : extract_h | - | | - | Purpose : | - | | - | Return the 16 MSB of L_var1. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32 ) whose value falls in the | - | range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) extract_h (Word32 L_var1) -{ - return (Word16) (L_var1 >> 16); -} -/* ------------------------- End of extract_h() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : extract_l | - | | - | Purpose : | - | | - | Return the 16 LSB of L_var1. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32 ) whose value falls in the | - | range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) extract_l (Word32 L_var1) -{ - return (Word16) L_var1; -} - -/* ------------------------- End of extract_l() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : saturate | - | | - | Purpose : | - | | - | Limit the 32 bit input to the range of a 16 bit word. | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) saturate (Word32 L_var1) -{ - Word16 val16 = (Word16) L_var1; - - if (val16 == L_var1) - return val16; - - if (L_var1 > MAX_16) - return MAX_16; - return MIN_16; -} -/* ------------------------- End of saturate() ------------------------- */ - - -#if PJ_HAS_INT64 -PJ_INLINE(Word32) L_saturate (pj_int64_t LL_var1) -{ - pj_int32_t L_var1 = (pj_int32_t)LL_var1; - if (LL_var1 == L_var1) - return L_var1; - else if (LL_var1 > MAX_32) - return MAX_32; - else - return MIN_32; -} -#endif - - -/*___________________________________________________________________________ - | | - | Function Name : add | - | | - | Purpose : | - | | - | Performs the addition (var1+var2) with overflow control and saturation;| - | the 16 bit result is set at +32767 when overflow occurs or at -32768 | - | when underflow occurs. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) add (Word16 var1, Word16 var2) -{ - return saturate (var1 + var2); -} -/* ------------------------- End of add() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : sub | - | | - | Purpose : | - | | - | Performs the subtraction (var1+var2) with overflow control and satu- | - | ration; the 16 bit result is set at +32767 when overflow occurs or at | - | -32768 when underflow occurs. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) sub (Word16 var1, Word16 var2) -{ - return saturate ((Word32) var1 - var2); -} -/* ------------------------- End of sub() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : negate | - | | - | Purpose : | - | | - | Negate var1 with saturation, saturate in the case where input is -32768:| - | negate(var1) = sub(0,var1). | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) negate (Word16 var1) -{ - return (Word16)((var1 == MIN_16) ? MAX_16 : -var1); -} -/* ------------------------- End of negate() ------------------------- */ - - - - -/*___________________________________________________________________________ - | | - | Function Name : L_add | - | | - | Purpose : | - | | - | 32 bits addition of the two 32 bits variables (L_var1+L_var2) with | - | overflow control and saturation; the result is set at +2147483647 when | - | overflow occurs or at -2147483648 when underflow occurs. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | L_var2 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_add (Word32 L_var1, Word32 L_var2) -{ -#if PJ_HAS_INT64 - return L_saturate(((pj_int64_t)L_var1) + L_var2); -#else - Word32 L_var_out; - - L_var_out = L_var1 + L_var2; - - if (((L_var1 ^ L_var2) & MIN_32) == 0) - { - if ((L_var_out ^ L_var1) & MIN_32) - { - SET_OVERFLOW(1); - L_var_out = (L_var1 < 0) ? MIN_32 : MAX_32; - } - } - return (L_var_out); -#endif -} - -/* ------------------------- End of L_add() ------------------------- */ - - - - -/*___________________________________________________________________________ - | | - | Function Name : L_sub | - | | - | Purpose : | - | | - | 32 bits subtraction of the two 32 bits variables (L_var1-L_var2) with | - | overflow control and saturation; the result is set at +2147483647 when | - | overflow occurs or at -2147483648 when underflow occurs. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | L_var2 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_sub (Word32 L_var1, Word32 L_var2) -{ -#if PJ_HAS_INT64 - return L_saturate((pj_int64_t)L_var1 - L_var2); -#else - Word32 L_var_out; - - L_var_out = L_var1 - L_var2; - - if (((L_var1 ^ L_var2) & MIN_32) != 0) - { - if ((L_var_out ^ L_var1) & MIN_32) - { - L_var_out = (L_var1 < 0L) ? MIN_32 : MAX_32; - SET_OVERFLOW(1); - } - } - return (L_var_out); -#endif -} -/* ------------------------- End of L_sub() ------------------------- */ - -/*___________________________________________________________________________ - | | - | Function Name : L_mult | - | | - | Purpose : | - | | - | L_mult is the 32 bit result of the multiplication of var1 times var2 | - | with one shift left i.e.: | - | L_mult(var1,var2) = L_shl((var1 times var2),1) and | - | L_mult(-32768,-32768) = 2147483647. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_mult (Word16 var1, Word16 var2) -{ - Word32 L_var_out; - - L_var_out = (Word32) var1 *(Word32) var2; - - if (L_var_out != (Word32) 0x40000000L) - { - return L_var_out << 1; - } - else - { - SET_OVERFLOW(1); - return MAX_32; - } -} -/* ------------------------- End of L_mult() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_mac | - | | - | Purpose : | - | | - | Multiply var1 by var2 and shift the result left by 1. Add the 32 bit | - | result to L_var3 with saturation, return a 32 bit result: | - | L_mac(L_var3,var1,var2) = L_add(L_var3,L_mult(var1,var2)). | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var3 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_mac (Word32 L_var3, Word16 var1, Word16 var2) -{ - return L_add (L_var3, L_mult (var1, var2)); -} -/* ------------------------- End of L_mac() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : round | - | | - | Purpose : | - | | - | Round the lower 16 bits of the 32 bit input number into the MS 16 bits | - | with saturation. Shift the resulting bits right by 16 and return the 16 | - | bit number: | - | round(L_var1) = extract_h(L_add(L_var1,32768)) | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | L_var1 | - | 32 bit long signed integer (Word32 ) whose value falls in the | - | range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) itu_round (Word32 L_var1) -{ - return extract_h (L_add (L_var1, (Word32) 0x00008000L)); -} -/* ------------------------- End of round() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : L_shr | - | | - | Purpose : | - | | - | Arithmetically shift the 32 bit input L_var1 right var2 positions with | - | sign extension. If var2 is negative, arithmetically shift L_var1 left | - | by -var2 and zero fill the -var2 LSB of the result. Saturate the result | - | in case of underflows or overflows. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_shr_nocheck(Word32 L_var1, Word16 var2) -{ -#if 1 - return L_var1 >> var2; -#else - if (var2 >= 31) - { - return (L_var1 < 0L) ? -1 : 0; - } - else - { - if (L_var1 < 0) - { - return ~((~L_var1) >> var2); - } - else - { - return L_var1 >> var2; - } - } -#endif -} - -PJ_INLINE(Word32) L_shl_nocheck (Word32 L_var1, Word16 var2) -{ -#if PJ_HAS_INT64 - return L_saturate( ((pj_int64_t)L_var1) << var2 ); -#else - for (; var2 > 0; var2--) - { - if (L_var1 > (Word32) 0X3fffffffL) - { - SET_OVERFLOW(1); - return MAX_32; - } - else - { - if (L_var1 < (Word32) 0xc0000000L) - { - SET_OVERFLOW(1); - return MIN_32; - } - } - L_var1 <<= 1; - } - return (L_var1); -#endif -} - -PJ_INLINE(Word32) L_shr (Word32 L_var1, Word16 var2) -{ - if (var2 < 0) - { - if (var2 < -32) - var2 = -32; - return L_shl_nocheck (L_var1, (Word16) -var2); - } - else - { - return L_shr_nocheck(L_var1, var2); - } -} -/* ------------------------- End of L_shr() ------------------------- */ - -/*___________________________________________________________________________ - | | - | Function Name : L_shl | - | | - | Purpose : | - | | - | Arithmetically shift the 32 bit input L_var1 left var2 positions. Zero | - | fill the var2 LSB of the result. If var2 is negative, arithmetically | - | shift L_var1 right by -var2 with sign extension. Saturate the result in | - | case of underflows or overflows. | - | | - | Complexity weight : 2 | - | | - | Inputs : | - | | - | L_var1 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var3 <= 0x7fff ffff. | - | | - | var2 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | L_var_out | - | 32 bit long signed integer (Word32) whose value falls in the | - | range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word32) L_shl (Word32 L_var1, Word16 var2) -{ - if (var2 <= 0) - { - if (var2 < -32) - var2 = -32; - return L_shr_nocheck(L_var1, (Word16) -var2); - } - else - { - return L_shl_nocheck(L_var1, var2); - } -} -/* ------------------------- End of L_shl() ------------------------- */ - - -/*___________________________________________________________________________ - | | - | Function Name : abs_s | - | | - | Purpose : | - | | - | Absolute value of var1; abs_s(-32768) = 32767. | - | | - | Complexity weight : 1 | - | | - | Inputs : | - | | - | var1 | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0xffff 8000 <= var1 <= 0x0000 7fff. | - | | - | Outputs : | - | | - | none | - | | - | Return Value : | - | | - | var_out | - | 16 bit short signed integer (Word16) whose value falls in the | - | range : 0x0000 0000 <= var_out <= 0x0000 7fff. | - |___________________________________________________________________________| -*/ -PJ_INLINE(Word16) abs_s (Word16 var1) -{ -#if 1 - if (var1 >= 0) - return var1; - else if (var1 == MIN_16) - return MAX_16; - else - return (Word16)-var1; -#else - if (var1 == MIN_16) - { - return MAX_16; - } - else - { - if (var1 < 0) - { - return (Word16)-var1; - } - else - { - return var1; - } - } -#endif -} -/* ------------------------- End of abs_s() ------------------------- */ - - -PJ_INLINE(Word16) shl_nocheck(Word16 var1, Word16 var2) -{ -#if 1 - /* blp: this should be more optimized */ - return saturate (((Word32)var1) << var2); -#else - /* Original algorithm */ - Word32 result = (Word32) var1 *((Word32) 1 << var2); - - if ((var2 > 15 && var1 != 0) || (result != (Word32) ((Word16) result))) - { - SET_OVERFLOW(1); - return (Word16) ((var1 > 0) ? MAX_16 : MIN_16); - } - else - { - return extract_l (result); - } -#endif -} - -PJ_INLINE(Word16) shr_nocheck(Word16 var1, Word16 var2) -{ -#if 1 - /* blp: this should yield the same value */ - return (Word16) (var1 >> var2); -#else - /* Original algorithm */ - if (var2 >= 15) - { - return (Word16)((var1 < 0) ? -1 : 0); - } - else - { - if (var1 < 0) - { - return (Word16) (~((~var1) >> var2)); - } - else - { - return (Word16)(var1 >> var2); - } - } -#endif -} diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/common.c b/sflphone-common/libs/pjproject/third_party/g7221/common/common.c deleted file mode 100644 index d5eed810505d743598c6a1e066dc1bf80a215f3f..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/common.c +++ /dev/null @@ -1,461 +0,0 @@ -/**************************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -****************************************************************************************/ - -/**************************************************************************************** - Filename: common.c - - Purpose: Contains the functions used for both G.722.1 Annex C encoder and decoder - - Design Notes: - -****************************************************************************************/ -/**************************************************************************************** - Include files -****************************************************************************************/ -#include "defs.h" -#include "huff_def.h" -#include "huff_tab.h" -#include "tables.h" -#include "count.h" - -/**************************************************************************************** - Function: categorize - - Syntax: void categorize(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 rms_index, - Word16 power_categories, - Word16 category_balances) - - inputs: number_of_regions - num_categorization_control_possibilities - number_of_available_bits - rms_index[MAX_NUMBER_OF_REGIONS] - - outputs: power_categories[MAX_NUMBER_OF_REGIONS] - category_balances[MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES-1] - - Description: Computes a series of categorizations - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.14 | 0.14 - -------|--------------|---------------- - MAX | 0.15 | 0.15 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.42 | 0.45 | 0.48 - -------|--------------|----------------|---------------- - MAX | 0.47 | 0.52 | 0.52 - -------|--------------|----------------|---------------- - -****************************************************************************************/ -void categorize(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *rms_index, - Word16 *power_categories, - Word16 *category_balances) -{ - - Word16 offset; - Word16 temp; - Word16 frame_size; - - /* At higher bit rates, there is an increase for most categories in average bit - consumption per region. We compensate for this by pretending we have fewer - available bits. */ - test(); - if (number_of_regions == NUMBER_OF_REGIONS) - { - frame_size = DCT_LENGTH; - } - else - { - frame_size = MAX_DCT_LENGTH; - } - - temp = sub(number_of_available_bits,frame_size); - - test(); - if (temp > 0) - { - number_of_available_bits = sub(number_of_available_bits,frame_size); - number_of_available_bits = extract_l(L_mult0(number_of_available_bits,5)); - number_of_available_bits = shr_nocheck(number_of_available_bits,3); - number_of_available_bits = add(number_of_available_bits,frame_size); - } - - /* calculate the offset using the original category assignments */ - offset = calc_offset(rms_index,number_of_regions,number_of_available_bits); - - - - /* compute the power categories based on the uniform offset */ - compute_raw_pow_categories(power_categories,rms_index,number_of_regions,offset); - - - /* adjust the category assignments */ - /* compute the new power categories and category balances */ - comp_powercat_and_catbalance(power_categories,category_balances,rms_index,number_of_available_bits,number_of_regions,num_categorization_control_possibilities,offset); - -} - -/*************************************************************************** - Function: comp_powercat_and_catbalance - - Syntax: void comp_powercat_and_catbalance(Word16 *power_categories, - Word16 *category_balances, - Word16 *rms_index, - Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 offset) - - - inputs: *rms_index - number_of_available_bits - number_of_regions - num_categorization_control_possibilities - offset - - outputs: *power_categories - *category_balances - - - Description: Computes the power_categories and the category balances - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.10 | 0.10 - -------|--------------|---------------- - MAX | 0.11 | 0.11 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.32 | 0.35 | 0.38 - -------|--------------|----------------|---------------- - MAX | 0.38 | 0.42 | 0.43 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void comp_powercat_and_catbalance(Word16 *power_categories, - Word16 *category_balances, - Word16 *rms_index, - Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 offset) -{ - - Word16 expected_number_of_code_bits; - Word16 region; - Word16 max_region; - Word16 j; - Word16 max_rate_categories[MAX_NUMBER_OF_REGIONS]; - Word16 min_rate_categories[MAX_NUMBER_OF_REGIONS]; - Word16 temp_category_balances[2*MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES]; - Word16 raw_max, raw_min; - Word16 raw_max_index=0, raw_min_index=0; - Word16 max_rate_pointer, min_rate_pointer; - Word16 max, min; - Word16 itemp0; - Word16 itemp1; - Word16 min_plus_max; - Word16 two_x_number_of_available_bits; - - Word16 temp; - - expected_number_of_code_bits = 0; - move16(); - - for (region=0; region<number_of_regions; region++) - expected_number_of_code_bits = add(expected_number_of_code_bits,expected_bits_table[power_categories[region]]); - - - for (region=0; region<number_of_regions; region++) - { - max_rate_categories[region] = power_categories[region]; - move16(); - - min_rate_categories[region] = power_categories[region]; - move16(); - } - - max = expected_number_of_code_bits; - move16(); - min = expected_number_of_code_bits; - move16(); - max_rate_pointer = num_categorization_control_possibilities; - move16(); - min_rate_pointer = num_categorization_control_possibilities; - move16(); - - for (j=0; j<num_categorization_control_possibilities-1; j++) - { - min_plus_max = add(max,min); - two_x_number_of_available_bits = shl_nocheck(number_of_available_bits,1); - - temp = sub(min_plus_max,two_x_number_of_available_bits); - test(); - if (temp <= 0) - { - raw_min = 99; - move16(); - /* Search from lowest freq regions to highest for best */ - /* region to reassign to a higher bit rate category. */ - for (region=0; region<number_of_regions; region++) - { - test(); - if (max_rate_categories[region] > 0) - { - itemp0 = shl_nocheck(max_rate_categories[region],1); - itemp1 = sub(offset,rms_index[region]); - itemp0 = sub(itemp1,itemp0); - - temp = sub(itemp0,raw_min); - test(); - if (temp < 0) - { - raw_min = itemp0; - raw_min_index = region; - } - } - } - max_rate_pointer = sub(max_rate_pointer,1); - temp_category_balances[max_rate_pointer] = raw_min_index; - move16(); - - max = sub(max,expected_bits_table[max_rate_categories[raw_min_index]]); - max_rate_categories[raw_min_index] = sub(max_rate_categories[raw_min_index],1); - move16(); - - max = add(max,expected_bits_table[max_rate_categories[raw_min_index]]); - } - else - { - raw_max = -99; - move16(); - /* Search from highest freq regions to lowest for best region to reassign to - a lower bit rate category. */ - max_region = sub(number_of_regions,1); - for (region= max_region; region >= 0; region--) - { - temp = sub(min_rate_categories[region],(NUM_CATEGORIES-1)); - test(); - if (temp < 0) - { - itemp0 = shl_nocheck(min_rate_categories[region],1); - itemp1 = sub(offset,rms_index[region]); - itemp0 = sub(itemp1,itemp0); - - temp = sub(itemp0,raw_max); - test(); - if (temp > 0) - { - raw_max = itemp0; - move16(); - raw_max_index = region; - move16(); - } - } - } - temp_category_balances[min_rate_pointer] = raw_max_index; - move16(); - - min_rate_pointer = add(min_rate_pointer,1); - min = sub(min,expected_bits_table[min_rate_categories[raw_max_index]]); - - min_rate_categories[raw_max_index] = add(min_rate_categories[raw_max_index],1); - move16(); - - min = add(min,expected_bits_table[min_rate_categories[raw_max_index]]); - } - } - - for (region=0; region<number_of_regions; region++) - { - power_categories[region] = max_rate_categories[region]; - move16(); - } - - for (j=0; j<num_categorization_control_possibilities-1; j++) - { - category_balances[j] = temp_category_balances[max_rate_pointer++]; - move16(); - } - -} -/*************************************************************************** - Function: calc_offset - - Syntax: offset=calc_offset(Word16 *rms_index,Word16 number_of_regions,Word16 available_bits) - - input: Word16 *rms_index - Word16 number_of_regions - Word16 available_bits - - output: Word16 offset - - Description: Calculates the the category offset. This is the shift required - To get the most out of the number of available bits. A binary - type search is used to find the offset. - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.04 | 0.04 - -------|--------------|---------------- - MAX | 0.04 | 0.04 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.08 | 0.08 | 0.08 - -------|--------------|----------------|---------------- - MAX | 0.09 | 0.09 | 0.09 - -------|--------------|----------------|---------------- - -***************************************************************************/ -Word16 calc_offset(Word16 *rms_index,Word16 number_of_regions,Word16 available_bits) -{ - - Word16 answer; - Word16 delta; - Word16 test_offset; - Word16 region,j; - Word16 power_cats[MAX_NUMBER_OF_REGIONS]; - Word16 bits; - Word16 offset; - Word16 temp; - - /* initialize vars */ - answer = -32; - move16(); - delta = 32; - move16(); - - do - { - test_offset = add(answer,delta); - - /* obtain a category for each region */ - /* using the test offset */ - for (region=0; region<number_of_regions; region++) - { - j = sub(test_offset,rms_index[region]); - j = shr_nocheck(j,1); - - /* Ensure j is between 0 and NUM_CAT-1 */ - test(); - if (j < 0) - { - j = 0; - move16(); - } - temp = sub(j,NUM_CATEGORIES-1); - test(); - if (temp > 0) - { - j = sub(NUM_CATEGORIES,1); - move16(); - } - power_cats[region] = j; - move16(); - } - bits = 0; - move16(); - - /* compute the number of bits that will be used given the cat assignments */ - for (region=0; region<number_of_regions; region++) - bits = add(bits,expected_bits_table[power_cats[region]]); - - /* if (bits > available_bits - 32) then divide the offset region for the bin search */ - offset = sub(available_bits,32); - temp = sub(bits,offset); - test(); - if (temp >= 0) - { - answer = test_offset; - move16(); - } - delta = shr_nocheck(delta,1); - test(); /* for the while loop */ - } while (delta > 0); - - return(answer); -} -/*************************************************************************** - Function: compute_raw_pow_categories - - Syntax: void compute_raw_pow_categories(Word16 *power_categories, - Word16 *rms_index, - Word16 number_of_regions, - Word16 offset) - inputs: *rms_index - number_of_regions - offset - - outputs: *power_categories - - - - Description: This function computes the power categories given the offset - This is kind of redundant since they were already computed - in calc_offset to determine the offset. - - WMOPS: | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.01 | 0.01 - -------|--------------|---------------- - MAX | 0.01 | 0.01 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.01 | 0.01 | 0.01 - -------|--------------|----------------|---------------- - MAX | 0.01 | 0.01 | 0.01 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void compute_raw_pow_categories(Word16 *power_categories,Word16 *rms_index,Word16 number_of_regions,Word16 offset) -{ - Word16 region; - Word16 j; - Word16 temp; - - for (region=0; region<number_of_regions; region++) - { - j = sub(offset,rms_index[region]); - j = shr_nocheck(j,1); - - /* make sure j is between 0 and NUM_CAT-1 */ - test(); - if (j < 0) - { - j = 0; - move16(); - } - temp = sub(j,(NUM_CATEGORIES-1)); - test(); - if (temp > 0) - j = sub(NUM_CATEGORIES,1); - - power_categories[region] = j; - move16(); - } -} - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/config.h b/sflphone-common/libs/pjproject/third_party/g7221/common/config.h deleted file mode 100644 index 4faec787d79753bddee3567150bd1663ec6df8a5..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/config.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __LIBG7221_CONFIG_H__ -#define __LIBG7221_CONFIG_H__ - -#include <pj/config.h> - -/** - * Expand all basic operation functions as inline. Even if this is set to - * zero, some critical functions would still be expanded as inline. Note - * also that enabling this may generate some warning messages about functions - * not being referenced (with gcc). - * - * Default: 0 (no) - */ -#ifndef PJMEDIA_LIBG7221_FUNCS_INLINED -# define PJMEDIA_LIBG7221_FUNCS_INLINED 0 -#endif - -/* Declare/define a function that may be expanded as inline. */ -#if PJMEDIA_LIBG7221_FUNCS_INLINED -# define LIBG7221_DECL(type) PJ_INLINE(type) -# define LIBG7221_DEF(type) PJ_INLINE(type) -#else -# define LIBG7221_DECL(type) PJ_DECL(type) -# define LIBG7221_DEF(type) PJ_DEF(type) -#endif - -#endif /* __LIBG7221_CONFIG_H__ */ diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/count.h b/sflphone-common/libs/pjproject/third_party/g7221/common/count.h deleted file mode 100644 index 0ead7275a4586ec5e1defafb64ea5f4618be9a29..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/count.h +++ /dev/null @@ -1,28 +0,0 @@ -/* $Id: count.h 2623 2009-04-20 18:38:15Z bennylp $ */ -/* - * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef COUNT_H -#define COUNT_H - -#define move16() -#define move32() -#define logic16() -#define logic32() -#define test() - -#endif diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/defs.h b/sflphone-common/libs/pjproject/third_party/g7221/common/defs.h deleted file mode 100644 index d4c7aa2ec4b627f4257b1aca408b2ddcaf404da0..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/defs.h +++ /dev/null @@ -1,205 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***********************************************************************/ - -#include <stdio.h> -#include <math.h> -#include <stdlib.h> -#include "g7221/common/typedef.h" -#include "g7221/common/basic_op.h" - -#define PI 3.141592653589793238462 - -#define MAX_DCT_LENGTH 640 -#define DCT_LENGTH 320 -#define DCT_LENGTH_DIV_2 160 -#define DCT_LENGTH_DIV_4 80 -#define DCT_LENGTH_DIV_8 40 -#define DCT_LENGTH_DIV_16 20 -#define DCT_LENGTH_DIV_32 10 -#define DCT_LENGTH_DIV_64 5 - - -#define MAX(a,b) (a > b ? a : b) -#define MIN(a,b) (a < b ? a : b) - -#define NUM_CATEGORIES 8 -#define NUM_CATEGORIZATION_CONTROL_BITS 4 -#define NUM_CATEGORIZATION_CONTROL_POSSIBILITIES 16 -#define CORE_SIZE 10 -#define DCT_LENGTH_LOG 6 -#define MAX_DCT_LENGTH_LOG 7 - -/* region_size = (BLOCK_SIZE * 0.875)/NUM_REGIONS; */ -#define NUMBER_OF_REGIONS 14 -#define MAX_NUMBER_OF_REGIONS 28 -#define REGION_SIZE 20 -#define NUMBER_OF_VALID_COEFS (NUMBER_OF_REGIONS * REGION_SIZE) -#define MAX_NUMBER_OF_VALID_COEFS (MAX_NUMBER_OF_REGIONS * REGION_SIZE) - -#define REGION_POWER_TABLE_SIZE 64 -#define REGION_POWER_TABLE_NUM_NEGATIVES 24 - -#define MAX_NUM_CATEGORIZATION_CONTROL_BITS 5 -#define MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES 32 - -#define ENCODER_SCALE_FACTOR 18318.0 - -/* The MLT output is incorrectly scaled by the factor - product of ENCODER_SCALE_FACTOR and sqrt(160.) - This is now (9/30/96) 1.0/2^(4.5) or 1/22.627. - In the current implementation this - must be an integer power of sqrt(2). The - integer power is ESF_ADJUSTMENT_TO_RMS_INDEX. - The -2 is to conform with the range defined in the spec. */ - - -#define ESF_ADJUSTMENT_TO_RMS_INDEX (9-2) - - -#define INTERMEDIATE_FILES_FLAG 0 - -/* Max bit rate is 48000 bits/sec. */ -#define MAX_BITS_PER_FRAME 960 - - -/***************************************************************************/ -/* Type definitions */ -/***************************************************************************/ -typedef struct -{ - Word16 code_bit_count; /* bit count of the current word */ - Word16 current_word; /* current word in the bitstream being processed */ - Word16 *code_word_ptr; /* pointer to the bitstream */ - Word16 number_of_bits_left; /* number of bits left in the current word */ - Word16 next_bit; /* next bit in the current word */ -}Bit_Obj; - -typedef struct -{ - Word16 seed0; - Word16 seed1; - Word16 seed2; - Word16 seed3; -}Rand_Obj; - -/***************************************************************************/ -/* Function definitions */ -/***************************************************************************/ -extern Word16 compute_region_powers(Word16 *mlt_coefs, - Word16 mag_shift, - Word16 *drp_num_bits, - UWord16 *drp_code_bits, - Word16 *absolute_region_power_index, - Word16 number_of_regions); - -void vector_quantize_mlts(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *mlt_coefs, - Word16 *absolute_region_power_index, - Word16 *power_categories, - Word16 *category_balances, - Word16 *p_categorization_control, - Word16 *region_mlt_bit_counts, - UWord32 *region_mlt_bits); - -Word16 vector_huffman(Word16 category, - Word16 power_index, - Word16 *raw_mlt_ptr, - UWord32 *word_ptr); - - -void adjust_abs_region_power_index(Word16 *absolute_region_power_index,Word16 *mlt_coefs,Word16 number_of_regions); - -void bits_to_words(UWord32 *region_mlt_bits,Word16 *region_mlt_bit_counts, - Word16 *drp_num_bits,UWord16 *drp_code_bits,Word16 *out_words, - Word16 categorization_control, Word16 number_of_regions, - Word16 num_categorization_control_bits, Word16 number_of_bits_per_frame); - -void encoder(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 *mlt_coefs, - Word16 mag_shift, - Word16 *out_words); - -void decoder(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift, - Word16 *old_decoder_mlt_coefs, - Word16 frame_error_flag); - -Word16 samples_to_rmlt_coefs(const Word16 *new_samples,Word16 *history,Word16 *coefs,Word16 dct_length); -void rmlt_coefs_to_samples(Word16 *coefs, - Word16 *old_samples, - Word16 *out_samples, - Word16 dct_length, - Word16 mag_shift); - -Word16 index_to_array(Word16 index,Word16 *array,Word16 category); -void categorize(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *rms_index, - Word16 *power_categories, - Word16 *category_balances); - -Word16 calc_offset(Word16 *rms_index,Word16 number_of_regions,Word16 available_bits); -void compute_raw_pow_categories(Word16 *power_categories,Word16 *rms_index,Word16 number_of_regions,Word16 offset); -void comp_powercat_and_catbalance(Word16 *power_categories, - Word16 *category_balances, - Word16 *rms_index, - Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 offset); - -void dct_type_iv_a (Word16 *input,Word16 *output,Word16 dct_length); -void dct_type_iv_s(Word16 *input,Word16 *output,Word16 dct_length); -void decode_envelope(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *absolute_region_power_index, - Word16 *p_mag_shift); - -void decode_vector_quantized_mlt_indices(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *dedecoder_power_categories, - Word16 *dedecoder_mlt_coefs); - -void rate_adjust_categories(Word16 categorization_control, - Word16 *decoder_power_categories, - Word16 *decoder_category_balances); - -void get_next_bit(Bit_Obj *bitobj); -Word16 get_rand(Rand_Obj *randobj); - -void test_4_frame_errors(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *frame_error_flag, - Word16 categorization_control, - Word16 *absolute_region_power_index); - -void error_handling(Word16 number_of_coefs, - Word16 number_of_valid_coefs, - Word16 *frame_error_flag, - Word16 *decoder_mlt_coefs, - Word16 *old_decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift); - - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_def.h b/sflphone-common/libs/pjproject/third_party/g7221/common/huff_def.h deleted file mode 100644 index dd10d9a5f60f037e3e4916305c4a9359a08f4536..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_def.h +++ /dev/null @@ -1,53 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***********************************************************************/ - -#define REGION_POWER_STEPSIZE_DB 3.010299957 -#define ABS_REGION_POWER_LEVELS 32 -#define DIFF_REGION_POWER_LEVELS 24 - -#define DRP_DIFF_MIN -12 -#define DRP_DIFF_MAX 11 - -#define MAX_NUM_BINS 16 -#define MAX_VECTOR_INDICES 625 -#define MAX_VECTOR_DIMENSION 5 - -extern Word16 differential_region_power_bits[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS]; -extern UWord16 differential_region_power_codes[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS]; -extern Word16 differential_region_power_decoder_tree[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS-1][2]; -extern Word16 mlt_quant_centroid[NUM_CATEGORIES][MAX_NUM_BINS]; -extern Word16 expected_bits_table[NUM_CATEGORIES]; -extern Word16 mlt_sqvh_bitcount_category_0[196]; -extern UWord16 mlt_sqvh_code_category_0[196]; -extern Word16 mlt_sqvh_bitcount_category_1[100]; -extern UWord16 mlt_sqvh_code_category_1[100]; -extern Word16 mlt_sqvh_bitcount_category_2[49]; -extern UWord16 mlt_sqvh_code_category_2[49]; -extern Word16 mlt_sqvh_bitcount_category_3[625]; -extern UWord16 mlt_sqvh_code_category_3[625]; -extern Word16 mlt_sqvh_bitcount_category_4[256]; -extern UWord16 mlt_sqvh_code_category_4[256]; -extern Word16 mlt_sqvh_bitcount_category_5[243]; -extern UWord16 mlt_sqvh_code_category_5[243]; -extern Word16 mlt_sqvh_bitcount_category_6[32]; -extern UWord16 mlt_sqvh_code_category_6[32]; -extern Word16 *table_of_bitcount_tables[NUM_CATEGORIES-1]; -extern UWord16 *table_of_code_tables[NUM_CATEGORIES-1]; -extern Word16 mlt_decoder_tree_category_0[180][2]; -extern Word16 mlt_decoder_tree_category_1[93][2]; -extern Word16 mlt_decoder_tree_category_2[47][2]; -extern Word16 mlt_decoder_tree_category_3[519][2]; -extern Word16 mlt_decoder_tree_category_4[208][2]; -extern Word16 mlt_decoder_tree_category_5[191][2]; -extern Word16 mlt_decoder_tree_category_6[31][2]; -extern Word16 *table_of_decoder_tables[NUM_CATEGORIES-1]; - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.c b/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.c deleted file mode 100644 index 12ff661cc8afd68321224f1d0d731783819089ed..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.c +++ /dev/null @@ -1,528 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***********************************************************************/ -#include "defs.h" -#include "huff_def.h" - -Word16 differential_region_power_bits[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS] = { -{99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99}, -{ 4, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, 7, 8, 9,11,11,12,12,12,12}, -{10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 7, 9,11,12,13,15,15,15,16,16}, -{12,10, 8, 6, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4, 5, 5, 7, 9,11,13,14,14}, -{13,10, 9, 9, 7, 7, 5, 5, 4, 3, 3, 3, 3, 3, 4, 4, 4, 5, 7, 9,11,13,13,13}, -{12,13,10, 8, 6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 5, 5, 6, 7, 9,11,14,14}, -{12,11, 9, 8, 8, 7, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5, 7, 8,10,13,14,14}, -{15,16,15,12,10, 8, 6, 5, 4, 3, 3, 3, 2, 3, 4, 5, 5, 7, 9,11,13,16,16,16}, -{14,14,11,10, 9, 7, 7, 5, 5, 4, 3, 3, 2, 3, 3, 4, 5, 7, 9, 9,12,14,15,15}, -{ 9, 9, 9, 8, 7, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 8,10,11,12,13,13}, -{14,12,10, 8, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 8, 8, 9,11,14,14,14}, -{13,10, 9, 8, 6, 6, 5, 4, 4, 4, 3, 3, 2, 3, 4, 5, 6, 8, 9, 9,11,12,14,14}, -{16,13,12,11, 9, 6, 5, 5, 4, 4, 4, 3, 2, 3, 3, 4, 5, 7, 8,10,14,16,16,16}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}, -{13,14,14,14,10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9,11,14,14,14}}; - -UWord16 differential_region_power_codes[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS] = { -{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 8,38,18,10, 7, 6, 3, 2, 0, 1, 7, 6, 5, 4,11,78,158,318,1278,1279,2552,2553,2554,2555}, -{36, 8, 3, 5, 0, 1, 7, 6, 4, 3, 2, 5, 3, 4, 5,19,74,150,302,1213,1214,1215,2424,2425}, -{2582,644,160,41, 5,11, 7, 5, 4, 1, 0, 6, 4, 7, 3, 6, 4,21,81,323,1290,5167,10332,10333}, -{2940,366,181,180,47,46,27,10, 8, 5, 1, 0, 3, 7, 4, 9,12,26,44,182,734,2941,2942,2943}, -{3982,7967,994,249,63,26,19,18,14, 8, 6, 1, 0, 2, 5, 7,12,30,27,125,496,1990,15932,15933}, -{3254,1626,407,206,202,100,30,14, 3, 5, 3, 0, 2, 4, 2,13,24,31,102,207,812,6511,13020,13021}, -{1110,2216,1111,139,35, 9, 3,20,11, 4, 2, 1, 3, 3, 1, 0,21, 5,16,68,276,2217,2218,2219}, -{1013,1014,127,62,29, 6, 4,16, 0, 1, 3, 2, 3, 1, 5, 9,17, 5,28,30,252,1015,2024,2025}, -{381,380,372,191,94,44,16,10, 7, 3, 1, 0, 2, 6, 9,17,45,92,187,746,1494,2991,5980,5981}, -{3036,758,188,45,43,10, 4, 3, 6, 4, 2, 0, 3, 7,11,20,42,44,46,95,378,3037,3038,3039}, -{751,92,45,20,26, 4,12, 7, 4, 0, 4, 1, 3, 5, 5, 3,27,21,44,47,186,374,1500,1501}, -{45572U,5697,2849,1425,357,45,23, 6,10, 7, 2, 2, 3, 0, 4, 6, 7,88,179,713,11392,45573U,45574U,45575U}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}, -{2511,5016,5018,5017,312,79,38,36,30,14, 6, 0, 2, 1, 3, 5, 8,31,37,157,626,5019,5020,5021}}; - -Word16 differential_region_power_decoder_tree[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS-1][2] = { -{{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{ 7, 8},{ 9, 10},{ 11,-12},{-11,-10},{ -8, -9},{ -7, -6},{-13, 12},{ -5, -4},{ 0, 13},{ -3,-14},{ -2, 14},{ -1, 15},{-15, 16},{-16, 17},{-17, 18},{ 19, 20},{ 21, 22},{-18,-19},{-20,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{ 7, 8},{-10, -9},{ -8,-11},{ -7, -6},{ 9, -5},{ 10,-12},{ -4, 11},{-13, -3},{ 12, -2},{ 13,-14},{ -1, 14},{ 15,-15},{ 0, 16},{-16, 17},{-17, 18},{-18, 19},{ 20, 21},{ 22,-19},{-20,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{ 7, 8},{ 9, 10},{-12, 11},{-11,-13},{-10, -9},{ 12,-14},{ -8, -7},{-15, -6},{ 13, -5},{-16, -4},{ 14,-17},{ 15, -3},{ 16,-18},{ -2, 17},{ 18,-19},{ -1, 19},{-20, 20},{ 0, 21},{ 22,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{-11,-10},{ 7,-12},{ 8, -9},{ 9,-13},{-14, 10},{ -8,-15},{-16, 11},{ -7, 12},{-17, -6},{ 13, 14},{-18, 15},{ -5, -4},{ 16, 17},{ -3, -2},{-19, 18},{ -1, 19},{-20, 20},{ 21, 22},{ 0,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{-12,-11},{-13, 7},{ 8,-14},{-10, 9},{ 10,-15},{ -9, 11},{ -8, 12},{-16, 13},{ -7, -6},{-17, 14},{ -5,-18},{ 15, -4},{ 16,-19},{ 17, -3},{-20, 18},{ -2, 19},{-21, 20},{ 0, 21},{ 22, -1},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{-11, 7},{-12,-10},{-13, -9},{ 8, 9},{-14, -8},{ 10,-15},{ -7, 11},{-16, 12},{ -6,-17},{ 13, 14},{ -5, 15},{-18, 16},{ -4, 17},{ -3,-19},{ 18, -2},{-20, 19},{ -1, 20},{ 0, 21},{ 22,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5,-12},{ 6,-11},{-10,-13},{ -9, 7},{ 8,-14},{ 9, -8},{-15, 10},{ -7,-16},{ 11, -6},{ 12,-17},{ 13, -5},{-18, 14},{ 15, -4},{-19, 16},{ 17, -3},{-20, 18},{ 19, 20},{ 21, 22},{ 0, -2},{ -1,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5,-12},{ 6,-13},{-11,-10},{ 7,-14},{ 8, -9},{ 9,-15},{ -8, 10},{ -7,-16},{ 11, 12},{ -6,-17},{ -5, 13},{ 14, 15},{-18, -4},{-19, 16},{ -3, 17},{ 18, -2},{-20, 19},{ 20, 21},{ 22, 0},{ -1,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{-11,-10},{-12, -9},{ 7, 8},{-13, -8},{ 9,-14},{ -7, 10},{ -6,-15},{ 11, 12},{ -5,-16},{ 13, 14},{-17, 15},{ -4, 16},{ 17,-18},{ 18, -3},{ -2, 19},{ -1, 0},{-19, 20},{-20, 21},{ 22,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5, 6},{-11, 7},{-10,-12},{ -9, 8},{ -8,-13},{ 9, -7},{ 10,-14},{ -6, 11},{-15, 12},{ -5, 13},{-16, -4},{ 14, 15},{-17, -3},{-18, 16},{ 17,-19},{ -2, 18},{-20, 19},{ -1, 20},{ 21, 22},{ 0,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5,-12},{ 6,-11},{ 7, 8},{-10,-13},{ -9, 9},{ -8,-14},{ 10, -7},{ 11,-15},{ -6, 12},{ -5, 13},{ -4,-16},{ 14, 15},{ -3,-17},{ 16, 17},{-18, -2},{ 18,-19},{ -1, 19},{-20, 20},{-21, 21},{ 22, 0},{-22,-23}}, -{{ 1, 2},{ 3, 4},{ 5,-12},{-13, 6},{-11, 7},{-14, 8},{-10, 9},{-15, -9},{ -8, 10},{ -7,-16},{ 11, -6},{ 12, -5},{-17, 13},{ 14,-18},{ 15, -4},{ 16,-19},{ 17, -3},{ 18, -2},{ 19, -1},{-20, 20},{ 21, 22},{ 0,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}, -{{ 1, 2},{ 3, 4},{-12, 5},{-11,-13},{ 6,-14},{-10, 7},{ 8,-15},{ -9, 9},{-16, 10},{ -8,-17},{ 11, 12},{ -7,-18},{ -6, 13},{ 14, -5},{ 15,-19},{ -4, 16},{-20, 17},{ 18, 19},{ 20, 21},{ 22, 0},{ -1, -3},{ -2,-21},{-22,-23}}}; - -Word16 mlt_quant_centroid[NUM_CATEGORIES][MAX_NUM_BINS] = { -{ 0, 1606, 3119, 4586, 6049, 7502, 8941,10406,11851,13292,14736,16146,17566,19351, 0, 0}, -{ 0, 2229, 4341, 6401, 8471,10531,12583,14588,16673,18924, 0, 0, 0, 0, 0, 0}, -{ 0, 3055, 5998, 8929,11806,14680,17680, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 0, 4121, 8192,12259,16322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 0, 5413,11071,16315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 0, 6785,14300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 0, 8044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -{ 0, 8019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; - -Word16 expected_bits_table[NUM_CATEGORIES] = {52, 47, 43, 37, 29, 22, 16, 0}; - - -Word16 mlt_sqvh_bitcount_category_0[196] = { - 1, 4, 6, 6, 7, 7, 8, 8, 8, 9, 9,10,11,11, 4, 5, - 6, 7, 7, 8, 8, 9, 9, 9, 9,10,11,11, 5, 6, 7, 8, - 8, 9, 9, 9, 9,10,10,10,11,12, 6, 7, 8, 9, 9, 9, - 9,10,10,10,10,11,12,13, 7, 7, 8, 9, 9, 9,10,10, -10,10,11,11,12,13, 8, 8, 9, 9, 9,10,10,10,10,11, -11,12,13,14, 8, 8, 9, 9,10,10,11,11,11,12,12,13, -13,15, 8, 8, 9, 9,10,10,11,11,11,12,12,13,14,15, - 9, 9, 9,10,10,10,11,11,12,13,12,14,15,16, 9, 9, -10,10,10,10,11,12,12,14,14,16,16,16, 9, 9,10,10, -11,11,12,13,13,14,14,15,15,16,10,10,10,11,11,12, -12,13,15,15,16,14,15,15,11,11,11,12,13,13,13,15, -16,16,16,16,14,15,11,11,12,13,13,14,15,16,16,16, -16,16,16,14}; -UWord16 mlt_sqvh_code_category_0[196] = { - 1, 2, 1, 24, 14, 51, 9, 68, 110, 26, 218, 54, 154, 761, 3, 10, - 22, 8, 58, 22, 71, 16, 30, 50, 213, 75, 94, 632, 15, 18, 52, 23, - 107, 5, 54, 63, 239, 46, 276, 271, 851, 252, 28, 10, 12, 1, 22, 133, - 191, 55, 105, 278, 317, 554, 310, 276, 32, 50, 94, 20, 187, 219, 13, 268, - 473, 445, 145, 849, 1277, 623, 1, 14, 0, 55, 238, 121, 120, 269, 318, 530, - 639, 1117, 509, 556, 24, 78, 51, 153, 62, 308, 16, 25, 68, 1058, 428, 277, - 2233, 1114, 92, 108, 141, 223, 270, 381, 24, 212, 760, 35, 1063, 279, 1717, 3439, - 7, 21, 152, 73, 309, 310, 95, 944, 1890, 2232, 1891, 5107,10213, 4981, 61, 62, - 9, 79, 474, 475, 848, 1059, 1056, 1716, 139, 4978, 4983, 4983, 140, 186, 76, 444, - 144, 633, 1057, 838, 2237, 4472, 4473,10212,10212, 4983, 74, 78, 311, 213, 850, 1062, - 1119, 508, 276, 277, 4982, 4473,10212,10212, 208, 70, 555, 418, 68, 510, 2552, 1115, - 4980, 4979, 4982, 4982, 4473,10212, 215, 71, 253, 511, 839, 1718, 2488, 6876, 6877, 4979, - 4979, 4982, 4982, 4473}; -Word16 mlt_sqvh_bitcount_category_1[100] = { - 1, 4, 5, 6, 7, 8, 8, 9,10,10, 4, 5, 6, 7, 7, 8, - 8, 9, 9,11, 5, 5, 6, 7, 8, 8, 9, 9,10,11, 6, 6, - 7, 8, 8, 9, 9,10,11,12, 7, 7, 8, 8, 9, 9,10,11, -11,13, 8, 8, 8, 9, 9,10,10,11,12,14, 8, 8, 8, 9, -10,11,11,12,13,15, 9, 9, 9,10,11,12,12,14,14,14, - 9, 9, 9,10,11,12,14,16,14,14,10,10,11,12,13,14, -16,16,16,14}; -UWord16 mlt_sqvh_code_category_1[100] = { - 1, 2, 11, 27, 31, 9, 120, 31, 275, 310, 1, 0, 12, 5, 33, 54, - 102, 111, 246, 448, 10, 14, 31, 39, 59, 100, 114, 202, 485, 969, 24, 26, - 36, 52, 103, 30, 120, 242, 69, 1244, 35, 32, 14, 61, 113, 117, 233, 486, - 487, 2491, 13, 12, 69, 110, 149, 35, 495, 449, 1978, 7751, 76, 75, 122, 136, - 213, 68, 623, 930, 3959, 9961, 115, 16, 107, 225, 424, 850, 1936, 7916, 4981, 4981, - 148, 154, 243, 407, 988, 851, 7750,19920, 7916, 4981, 406, 274, 464, 931, 3874, 7917, -19921,19920,19920, 7916}; -Word16 mlt_sqvh_bitcount_category_2[49] = { - 1, 4, 5, 7, 8, 9,10, 3, 4, 5, 7, 8, 9,10, 5, 5, - 6, 7, 8,10,10, 7, 6, 7, 8, 9,10,12, 8, 8, 8, 9, -10,12,14, 8, 9, 9,10,11,15,16, 9,10,11,12,13,16, -15}; -UWord16 mlt_sqvh_code_category_2[49] = { - 1, 0, 10, 11, 28, 62, 363, 3, 2, 9, 8, 24, 53, 352, 7, 8, - 13, 25, 89, 74, 355, 10, 23, 24, 29, 55, 354, 1449, 25, 19, 30, 52, - 108, 438, 5793, 91, 36, 63, 353, 725,11584,23170, 180, 75, 218, 439, 2897,23171, -11584}; -Word16 mlt_sqvh_bitcount_category_3[625] = { - 2, 4, 6, 8,10, 5, 5, 6, 8,10, 7, 8, 8,10,12, 9, - 9,10,12,15,10,11,13,16,16, 5, 6, 8,10,11, 5, 6, - 8,10,12, 7, 7, 8,10,13, 9, 9,10,12,15,12,11,13, -16,16, 7, 9,10,12,15, 7, 8,10,12,13, 9, 9,11,13, -16,11,11,12,14,16,12,12,14,16,14, 9,11,12,16,16, - 9,10,13,15,16,10,11,12,16,16,13,13,16,16,16,16, -16,15,16,16,11,13,16,16,15,11,13,15,16,16,13,13, -16,16,16,14,16,16,16,16,16,16,16,16,16, 4, 6, 8, -10,13, 6, 6, 8,10,13, 9, 8,10,12,16,10,10,11,15, -16,13,12,14,16,16, 5, 6, 8,11,13, 6, 6, 8,10,13, - 8, 8, 9,11,14,10,10,12,12,16,13,12,13,15,16, 7, - 8, 9,12,16, 7, 8,10,12,14, 9, 9,10,13,16,11,10, -12,15,16,13,13,16,16,15, 9,11,13,16,16, 9,10,12, -15,16,10,11,13,16,16,13,12,16,16,16,16,16,16,16, -16,11,13,16,16,16,11,13,16,16,16,12,13,15,16,16, -16,16,16,16,16,16,16,16,16,16, 6, 8,11,13,16, 8, - 8,10,12,16,11,10,11,13,16,12,13,13,15,16,16,16, -14,16,15, 6, 8,10,13,16, 8, 8,10,12,16,10,10,11, -13,16,13,12,13,16,16,14,14,14,16,16, 8, 9,11,13, -16, 8, 9,11,16,14,10,10,12,15,16,12,12,13,16,16, -15,16,16,16,16,10,12,15,16,16,10,12,12,14,16,12, -12,13,16,16,14,15,16,16,16,16,16,16,16,16,12,15, -15,16,16,13,13,16,16,14,14,16,16,16,16,16,16,16, -16,16,14,15,16,16,16, 8,10,13,15,16,10,11,13,16, -16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16, - 8,10,11,15,16, 9,10,12,16,16,12,12,15,16,16,16, -14,16,16,16,16,16,16,16,16, 9,11,14,16,16,10,11, -13,16,16,14,13,14,16,16,16,15,15,16,16,16,16,16, -16,16,11,13,16,16,16,11,13,15,16,16,13,16,16,16, -16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16, -14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, -16,16,16,16, 9,13,16,16,16,11,13,16,16,16,14,15, -16,16,16,15,16,16,16,16,16,16,16,16,16, 9,13,15, -15,16,12,13,14,16,16,16,15,16,16,16,16,16,16,16, -16,16,16,16,16,16,11,13,15,16,16,12,14,16,16,16, -16,16,16,16,16,16,16,16,16,16,16,15,15,16,16,16, -16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, -16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15, -16,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16, -16}; -UWord16 mlt_sqvh_code_category_3[625] = { - 3, 8, 46, 145, 228, 4, 8, 47, 28, 455, 89, 2, 180, 5, 1335, 250, - 12, 644, 1311, 139, 729, 251, 870, 2172, 2211, 5, 23, 112, 334, 1469, 21, 3, - 5, 111, 2014, 88, 79, 152, 124, 2685, 297, 48, 110, 1310, 149, 501, 1231, 153, - 2267, 2569, 57, 13, 653, 2587, 143, 75, 124, 118, 2611, 5242, 61, 50, 253, 3633, - 2216, 476, 39, 57, 1926, 2236, 2586, 1329, 1920, 2566, 1926, 296, 233, 2590, 2240, 2217, - 253, 613, 867, 144, 318, 614, 252, 2589, 2242, 2218, 872, 866, 2187, 2296, 2155, 2568, - 2227, 150, 2567, 2296, 199, 2686, 2160, 2290,19145, 232, 2680, 128, 2192, 2212, 2684, 793, - 2281, 2223, 2242, 1934, 2165, 2146, 2291, 2296, 2222, 2189, 2187, 2296, 2296, 6, 4, 82, - 725, 3632, 15, 21, 56, 599, 148, 3, 162, 42, 411, 2301, 735, 654, 930, 137, - 2586, 869, 1334, 1931, 2300, 2213, 9, 22, 146, 1290, 5240, 5, 12, 53, 630, 875, - 80, 9, 8, 86, 2002, 210, 117, 56, 2019, 2162, 146, 397, 868, 131, 2151, 77, - 160, 365, 2610, 2252, 59, 54, 41, 2591, 1928, 226, 14, 121, 5792, 2295, 1197, 728, - 408, 130, 2157, 3635, 155, 2573, 2587, 130, 314, 64, 144, 2173, 2176, 115, 30, 409, - 153, 2590, 631, 26, 4787, 2221, 2174, 2683, 1863, 2572, 319, 2150, 2177, 2194, 2571, 2257, - 319, 65, 145, 2251, 2156, 2161, 909, 864, 2193, 2197, 2246, 2588, 5797, 156, 2258, 2221, - 2158, 2199, 2214, 2152, 319, 2188, 2264, 2572, 319, 319, 30, 117, 219, 865, 2263, 147, - 127, 239, 410, 2247, 27, 324, 1468, 2681, 2180, 1328, 5241, 147, 142, 2237, 2241, 2245, - 1921, 2262, 142, 41, 11, 505, 2682, 2591, 0, 26, 229, 2015, 2577, 464, 98, 87, - 5243, 2166, 149, 2016, 5244, 2190, 2198, 9573,11598,11599, 2235, 2190, 144, 298, 1004, 5245, - 2277, 156, 104, 254, 2560, 1922, 612, 325, 2017, 129, 2588, 2608, 1330, 871, 2144, 2145, - 132, 2147, 2148, 2149, 2144, 119, 1331, 133, 2153, 2154, 211, 58, 2609, 1923, 2159, 510, - 163, 5246, 2163, 2164, 1924, 134, 2167, 2168, 2168, 2169, 2170, 2171, 2168, 2168, 1332, 135, - 136, 2175, 2153, 150, 873, 2178, 2179, 1923, 1925, 2181, 2182, 2183, 2163, 2184, 2185, 2186, - 2168, 2168, 1924, 134, 2167, 2168, 2168, 58, 326, 2687, 138, 2191, 31, 66, 874, 2195, - 2196, 151, 152, 1927, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2205, - 55, 103, 1230, 140, 2215, 118, 15, 1333, 2219, 2220, 2018, 511, 141, 2224, 2225, 2226, - 1929, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2229, 366, 1005, 1930, 2238, 2239, 12, 1006, - 5247, 2243, 2244, 1932, 3634, 1933, 2248, 2249, 2250, 145, 146, 2253, 2253, 2254, 2255, 2256, - 2253, 2253, 1291, 5793, 2259, 2260, 2261, 477, 5794, 147, 2265, 2266, 5795, 2268, 2269, 2270, - 2270, 2271, 2272, 2273, 2274, 2274, 2275, 2276, 2273, 2274, 2274, 148, 2278, 2279, 2280, 2260, - 1935, 2282, 2283, 2284, 2265, 2285, 2286, 2287, 2270, 2270, 2288, 2289, 2273, 2274, 2274, 2271, - 2272, 2273, 2274, 2274, 233, 5796, 2292, 2293, 2294, 1292, 3724, 2297, 2298, 2299, 2000, 151, - 2302, 2303, 2200, 152, 2561, 2562, 2563, 2205, 2564, 2565, 2204, 2205, 2205, 363, 154, 154, - 155, 2570, 59, 3725, 2001, 2574, 2575, 2576, 157, 2578, 2579, 2224, 2580, 2581, 2582, 2583, - 2229, 2584, 2585, 2228, 2229, 2229, 654, 5798, 158, 2589, 2238, 2392, 2003, 2592, 2593, 2243, - 2594, 2595, 2596, 2597, 2248, 2598, 2599, 2600, 2253, 2253, 2250, 145, 146, 2253, 2253, 2601, - 2602, 2603, 2604, 2260, 2605, 2606, 2607, 6336, 2265, 6337, 6338, 6339, 2270, 2270, 6340, 6341, - 2273, 2274, 2274, 2271, 2272, 2273, 2274, 2274, 6342, 6343, 2259, 2260, 2260,38288U,38289U, 147, - 2265, 2265, 5795, 2268, 2269, 2270, 2270, 2271, 2272, 2273, 2274, 2274, 2271, 2272, 2273, 2274, - 2274}; -Word16 mlt_sqvh_bitcount_category_4[256] = { - 2, 4, 7,10, 4, 5, 7,10, 7, 8,10,14,11,11,15,15, - 4, 5, 9,12, 5, 5, 8,12, 8, 7,10,15,11,11,15,15, - 7, 9,12,15, 8, 8,12,15,10,10,13,15,14,14,15,13, -11,13,15,15,11,13,15,15,14,15,15,13,15,15,13,13, - 4, 5, 9,13, 5, 6, 9,13, 9, 9,11,15,14,13,15,15, - 4, 6, 9,12, 5, 6, 9,13, 9, 8,11,15,13,12,15,15, - 7, 9,12,15, 7, 8,11,15,10,10,14,15,14,15,15,14, -10,12,15,15,11,13,15,15,15,15,15,14,15,15,14,14, - 6, 9,13,14, 8, 9,12,15,12,12,15,15,15,15,15,15, - 7, 9,13,15, 8, 9,12,15,11,12,15,15,15,15,15,15, - 9,11,15,15, 9,11,15,15,14,14,15,15,15,15,15,15, -14,15,15,15,14,15,15,15,15,15,15,15,14,14,15,15, - 9,12,15,15,12,13,15,15,15,15,15,15,15,15,15,15, -10,12,15,15,12,14,15,15,15,15,15,15,15,15,15,15, -14,15,15,15,15,15,15,15,15,15,15,15,14,14,15,15, -15,15,15,15,15,15,15,15,14,14,15,15,14,14,15,15}; -UWord16 mlt_sqvh_code_category_4[256] = { - 1, 2, 4, 572, 10, 0, 69, 712, 91, 10, 46, 9182, 1426, 1430,30172,30194, - 9, 28, 22, 2258, 16, 25, 142, 2179, 15, 111, 719, 1521, 1131, 1437, 1520,30196, - 88, 283, 3803,30193, 13, 236, 2856,30166, 545, 951, 5709, 1522, 3241, 9180,30179, 5709, - 1088, 4356,30410,30175, 1146, 377,30162,30163, 8715,30176,30165, 5709,30197,30184, 5709, 5709, - 1, 23, 28, 5710, 26, 14, 29, 7538, 102, 103, 1429, 1524, 3237, 7060,30401,30201, - 15, 13, 470, 3768, 24, 15, 281, 5747, 24, 181, 1128,30206, 5711, 3531,30156,30158, - 116, 100, 2260,30187, 119, 234, 1764,30171, 716, 883, 9183,30164, 3236, 1528,30180, 9183, - 885, 2870, 1532,30160, 1431, 5708,30192,30205,30402,30168,30173, 9183,30157,30161, 9183, 9183, - 54, 25, 1621,15211, 180, 287, 2261,30198, 808, 811,30411,30413,30414,22986,22987,30411, - 24, 273, 376,30159, 137, 280, 2871, 1523, 1768, 2259, 1525,30167, 1526,30169,30170, 1525, - 443, 1434, 1527,30174, 474, 1769,30177,30178, 3238, 3239,30181,30181,30182,30183,30181,30181, - 3240,30185,30186, 1527, 9181,30188,30189,30177,30190,30191,30181,30181, 3238, 3239,30181,30181, - 440, 2857, 1529,30195, 2294, 7061, 1530,30199,30200, 1531,30202,30411,30203,30204,30411,30411, - 203, 2872,30207,30400, 189,11492,30403,30404,30405,30406,30407, 1525,30408,30409, 1525, 1525, - 8714, 1533,30412, 1527, 1534, 1535,30415,30177,30416,30417,30181,30181, 3238, 3239,30181,30181, -30418,30419, 1527, 1527,30420,30421,30177,30177, 3238, 3239,30181,30181, 3238, 3239,30181,30181}; -Word16 mlt_sqvh_bitcount_category_5[243] = { - 2, 4, 8, 4, 5, 9, 9,10,14, 4, 6,11, 5, 6,12,10, -11,15, 9,11,15,10,13,15,14,15, 6, 4, 6,12, 6, 7, -12,12,12,15, 5, 7,13, 6, 7,13,12,13,15,10,12,15, -11,13,15,15,15, 7, 8,13,15,11,12,15,15,15, 7,10, -13,15,12,15,15,15,15, 7,15,15, 7,15,15, 7, 6, 7, - 7, 4, 5,11, 5, 7,12,11,12,15, 6, 7,13, 7, 8,14, -12,14,15,11,13,15,12,13,15,15,15, 8, 5, 6,13, 7, - 8,15,12,14,15, 6, 8,14, 7, 8,15,14,15,15,12,12, -15,12,13,15,15,15, 8, 9,13,15,12,13,15,15,15, 8, -11,13,15,13,13,15,15,15, 8,14,15, 8,15,15, 8, 7, - 8, 8, 8,10,15,11,12,15,15,15, 7,10,12,15,12,13, -15,15,15, 8,14,15, 7,15,15, 8, 7, 8, 8, 8,12,15, -12,13,15,15,15, 8,11,13,15,13,15,15,15,15, 8,15, -15, 8,15,15, 8, 7, 8, 8,14,15, 6,15,15, 8, 7, 8, - 8,15,15, 8,15,15, 8, 7, 8, 8, 6, 8, 8, 7, 8, 8, - 7, 8, 8}; -UWord16 mlt_sqvh_code_category_5[243] = { - 0, 5, 220, 10, 16, 443, 390, 391,14333, 11, 26, 1566, 26, 54, 3135, 508, - 1558,28581, 255, 1782,28599, 885, 6208,28578,14335,28579, 54, 9, 35, 3129, 27, 68, - 3537, 1562, 3568,28610, 25, 62, 4078, 58, 118, 7763, 3107, 7758,28563, 778, 3131,28598, - 780, 7123,28630,28593,28586, 118, 243, 6210,28614, 1018, 3567,28601,28611,28570, 68, 388, - 6256,28619, 1559,28562,28606,28565,28591, 118,28594,28571, 62,28618,28590, 118, 58, 118, - 118, 4, 28, 1781, 31, 60, 3134, 1938, 3882,28574, 25, 96, 7757, 49, 126,14244, - 3883,14334,28613, 1769, 4077,28602, 3106, 7756,28582,28621,28566, 126, 14, 61, 4079, 61, - 138,28491, 3536, 8153,28573, 49, 96,12442, 119, 240,28490,12443,28560,28561, 3111, 3580, -28564, 3130, 7759,28567,28568,28569, 240, 444, 6209,28572, 3569, 6211,28575,28576,28577, 138, - 778, 7760,28580, 7761, 7762,28583,28584,28585, 240,14319,28587, 96,28588,28589, 240, 119, - 240, 240, 139, 968,28592, 1554, 3581,28595,28596,28597, 60, 971, 3560,28600, 3582, 7132, -28603,28604,28605, 126,14332,28607, 96,28608,28609, 126, 49, 126, 126, 241, 1558,28612, - 1563, 6257,28615,28616,28617, 138, 1559, 7133,28620, 6220,28622,28623,28624,28625, 240,28626, -28627, 96,28628,28629, 240, 119, 240, 240, 8152,28631, 61,28632,28633, 138, 61, 138, - 138,28634,28635, 96,28636,28637, 240, 119, 240, 240, 49, 96, 96, 119, 240, 240, - 119, 240, 240}; -Word16 mlt_sqvh_bitcount_category_6[32] = { - 1, 4, 4, 6, 4, 6, 6, 8, 4, 6, 6, 8, 6, 9, 8,10, - 4, 6, 7, 8, 6, 9, 8,11, 6, 9, 8,10, 8,10, 9,11}; -UWord16 mlt_sqvh_code_category_6[32] = { - 1, 2, 4, 2, 5, 29, 24, 101, 3, 31, 28, 105, 3, 5, 102, 424, - 1, 30, 0, 107, 27, 200, 103, 806, 1, 4, 104, 402, 3, 425, 213, 807}; - -Word16 *table_of_bitcount_tables[NUM_CATEGORIES-1] = { -mlt_sqvh_bitcount_category_0, -mlt_sqvh_bitcount_category_1, -mlt_sqvh_bitcount_category_2, -mlt_sqvh_bitcount_category_3, -mlt_sqvh_bitcount_category_4, -mlt_sqvh_bitcount_category_5, -mlt_sqvh_bitcount_category_6 -}; - - -UWord16 *table_of_code_tables[NUM_CATEGORIES-1] = { -(UWord16 *)mlt_sqvh_code_category_0, -(UWord16 *)mlt_sqvh_code_category_1, -(UWord16 *)mlt_sqvh_code_category_2, -(UWord16 *)mlt_sqvh_code_category_3, -(UWord16 *)mlt_sqvh_code_category_4, -(UWord16 *)mlt_sqvh_code_category_5, -(UWord16 *)mlt_sqvh_code_category_6 -}; - -Word16 mlt_decoder_tree_category_0[180][2] = { -{ 1, 0},{ 2, 3},{ 4, 5},{ 6, 7},{ 8, 9},{ -1, -14},{ 10, 11},{ 12, 13}, -{ 14, 15},{ 16, 17},{ 18, 19},{ -15, 20},{ 21, 22},{ 23, -28},{ 24, -2},{ 25, 26}, -{ 27, 28},{ 29, 30},{ 31, 32},{ -29, 33},{ -16, 34},{ -3, 35},{ 36, 37},{ -42, 38}, -{ 39, 40},{ 41, 42},{ 43, 44},{ -17, 45},{ -43, 46},{ 47, 48},{ -4, 49},{ -56, 50}, -{ 51, 52},{ 53, 54},{ 55, 56},{ -57, -5},{ -30, 57},{ 58, 59},{ -18, 60},{ 61, -70}, -{ 62, 63},{ 64, -6},{ 65, 66},{ -44, 67},{ -71, 68},{ 69, 70},{ -19, -31},{ -84, 71}, -{ 72, 73},{ 74, 75},{ 76, 77},{ -7, 78},{ 79, -20},{ 80, 81},{ -85, 82},{ -98, 83}, -{ -58, 84},{ 85, -32},{ -99, 86},{ -8, 87},{ 88, 89},{ -72, -45},{ 90, -33},{ 91,-112}, -{ -21, 92},{ -59,-113},{ -46, 93},{ -9, 94},{ -22, 95},{ 96, 97},{ 98, 99},{ -23, -86}, -{ 100, 101},{ -34, -73},{ 102,-126},{-127, -35},{ 103, -47},{ 104, 105},{ 106, 107},{-140,-100}, -{-114, -87},{ 108, 109},{ 110, 111},{-141, -60},{ 112, -48},{ 113, -24},{ -10, -61},{ 114,-101}, -{ 115, 116},{ -74, -36},{ 117,-128},{ 118, -62},{ 119, 120},{ -37, 121},{ -11, -49},{ -88, 122}, -{ 123,-115},{-154, -25},{-142, 124},{-155,-129},{ 125, -50},{ 126, 127},{ -76, -75},{ 128, 129}, -{ -63, -77},{-102, -39},{ -38, 130},{ -51, 131},{ -89,-116},{-117,-156},{ 132, -52},{ -78, 133}, -{ 134,-103},{ 135, 136},{-143, -65},{ 137, -64},{-130,-131},{ -90, 138},{-104, -91},{ -92, 139}, -{-169,-183},{ -26,-118},{ 140, 141},{-144, -66},{ -12, 142},{-168, 143},{-105,-157},{ 144,-182}, -{ 145, 146},{ -79, 147},{ -53,-170},{ 148, 149},{ -27,-145},{ 150, -80},{-106, -13},{-132, -67}, -{-158, -40},{-119, 151},{ 152,-107},{ 153, 154},{ -41,-184},{ 155, 156},{ -54, 157},{-171, 158}, -{ -94, 159},{-134,-146},{ -93,-133},{-159,-108},{ 160, -81},{ 161,-160},{ 162, -68},{-120,-122}, -{-172, 163},{ -55, -95},{ 164,-109},{-161, -82},{-173,-185},{ 165, -69},{-147,-186},{ 166, 167}, -{-121, -96},{ 168,-148},{-174, 169},{ 170,-136},{ -83, 171},{ 172, 173},{-135,-110},{-187, 174}, -{-149,-150},{ 175,-123},{-162,-163},{ -97,-175},{-188, 176},{ 177, 178},{ 179,-111},{-151,-124}, -{-137,-177},{-176,-125},{-164,-138},{-189,-190},}; -Word16 mlt_decoder_tree_category_1[93][2] = { -{ 1, 0},{ 2, 3},{ 4, 5},{ 6, 7},{ 8, -10},{ -1, 9},{ 10, 11},{ 12, 13}, -{ -11, 14},{ 15, 16},{ 17, 18},{ -20, -2},{ 19, 20},{ -21, 21},{ 22, 23},{ -12, 24}, -{ 25, 26},{ 27, 28},{ 29, 30},{ -30, 31},{ -31, -3},{ 32, -22},{ 33, -13},{ 34, 35}, -{ 36, 37},{ 38, 39},{ 40, -4},{ -41, -14},{ 41, -40},{ -32, 42},{ 43, -23},{ 44, 45}, -{ 46, 47},{ 48, -5},{ -51, -50},{ -42, 49},{ -33, 50},{ -15, 51},{ 52, 53},{ 54, -24}, -{ 55, -43},{ 56, -52},{ 57, -61},{ -60, 58},{ -25, 59},{ -16, -34},{ -6, 60},{ -62, 61}, -{ -71, 62},{ -35, -7},{ 63, -72},{ -53, -17},{ 64, -44},{ -26, -70},{ 65, -45},{ -36, 66}, -{ -63, 67},{ -80, -54},{ -81, 68},{ -27, 69},{ 70, -82},{ -18, 71},{ 72, -55},{ 73, -64}, -{ 74, -73},{ 75, -46},{ -37, 76},{ -91, -8},{ -9, 77},{ -90, -83},{ 78, -28},{ 79, -56}, -{ -65, -38},{ -74, 80},{ -19, -57},{ -92, 81},{ -47, -48},{ 82, -66},{ 83, -29},{ -84, 84}, -{ -75, -85},{ -67, -93},{ -39, 85},{ -76, 86},{ -58, 87},{ 88, -49},{ -94, 89},{ 90, -68}, -{ 91, -78},{ -86, -59},{ -77, -95},{ 92, -69},{ -87, -96},}; -Word16 mlt_decoder_tree_category_2[47][2] = { -{ 1, 0},{ 2, 3},{ 4, 5},{ 6, -7},{ -1, 7},{ -8, 8},{ 9, 10},{ 11, 12}, -{ 13, -14},{ -15, -9},{ -2, 14},{ 15, 16},{ 17, 18},{ 19, -16},{ 20, -22},{ -10, 21}, -{ -21, -3},{ 22, 23},{ 24, 25},{ -23, -17},{ 26, 27},{ 28, -29},{ -11, -28},{ 29, 30}, -{ -4, -24},{ -30, 31},{ 32, -18},{ 33, -35},{ -36, 34},{ -31, -12},{ 35, -25},{ -5, -37}, -{ 36, 37},{ -42, 38},{ -19, -43},{ -32, 39},{ -13, -38},{ -26, -20},{ 40, -6},{ -44, 41}, -{ 42, -39},{ -33, -45},{ 43, -27},{ 44, -46},{ 45, -34},{ -40, 46},{ -41, -47},}; -Word16 mlt_decoder_tree_category_3[519][2] = { -{ 1, 2},{ 3, 4},{ 5, 0},{ 6, 7},{ 8, 9},{ 10, 11},{ 12, 13},{ 14, 15}, -{ 16, 17},{-125, 18},{ -1, 19},{ 20, 21},{ 22, 23},{ 24, 25},{ -5, -25},{ 26, 27}, -{ -6,-150},{ 28, 29},{ 30, 31},{ 32, 33},{ 34, -30},{ 35, 36},{ 37, 38},{ 39, -31}, -{-126,-155},{ 40, 41},{-156, 42},{ 43,-130},{ 44,-131},{-151, -26},{ 45, 46},{-250, 47}, -{ 48, 49},{ 50, 51},{ 52,-275},{ 53, 54},{ -2, -7},{ 55, 56},{ 57, 58},{ 59, 60}, -{ 61, 62},{ 63, 64},{ 65, 66},{ 67, 68},{ 69, 70},{ 71, -50},{ 72,-180},{ 73, 74}, -{ 75, 76},{ 77, -55},{ 78,-175},{ 79, -36},{ 80, 81},{ -35, -10},{ 82, 83},{-280, 84}, -{ -11, 85},{ 86, -32},{ 87, 88},{ 89,-161},{ 90,-276},{ 91, 92},{-281, 93},{ -8, 94}, -{ 95, 96},{ 97,-157},{-181,-400},{-132, 98},{-375, 99},{-160, 100},{-127, 101},{ -27, 102}, -{ 103,-251},{ -56, 104},{ 105,-256},{-300, -3},{-152,-255},{ 106, 107},{ -37, 108},{-305, 109}, -{-176, 110},{-136, 111},{ -12, 112},{ 113, 114},{ 115,-135},{ 116, 117},{-162, 118},{ -16, -51}, -{-186, 119},{ 120, 121},{ 122, 123},{ -41, 124},{ -61, 125},{ 126, 127},{ 128, 129},{ 130, -60}, -{ 131, 132},{-306, 133},{ 134,-205},{-405, 135},{ 136, 137},{ 138, 139},{-185, 140},{ 141,-500}, -{ -15, 142},{ 143, -80},{ -75, -40},{-301, 144},{ 145, 146},{-200, 147},{ 148, 149},{ 150, 151}, -{ 152,-525},{ 153,-177},{-425, 154},{ 155, -13},{-430, 156},{ 157,-406},{ 158, 159},{-206,-380}, -{ 160, 161},{ 162, 163},{ 164,-182},{-137, 165},{-286, 166},{ 167,-401},{ 168, 169},{ -42, -33}, -{ 170,-166},{ -57,-325},{ 171,-187},{ -38, 172},{ 173, 174},{-165,-330},{ -4,-282},{ 175,-257}, -{-261,-311},{-376, 176},{ 177, 178},{ -28, 179},{ 180, -9},{-285, 181},{ 182, 183},{ 184,-277}, -{ 185,-133},{-310, -81},{ -85, 186},{-158,-210},{ -17, 187},{ 188, 189},{ 190, -52},{-141, 191}, -{ 192,-128},{-191, -20},{ 193,-140},{ 194, 195},{-211,-260},{ 196, 197},{ 198, 199},{ 200, -66}, -{-201,-225},{-381, 201},{ 202, 203},{ 204, 205},{ 206, 207},{-163,-287},{ 208,-100},{ 209, 210}, -{ 211, 212},{ 213,-252},{-105, -76},{ 214, 215},{ 216, -21},{ -86, -62},{-307, 217},{ -65,-455}, -{-550, 218},{ 219, 220},{ 221, 222},{ 223, 224},{ 225,-230},{-142, 226},{-302,-426},{-431, 227}, -{ 228, 229},{ 230,-190},{-402, -46},{-153,-450},{-505, 231},{ 232, 233},{ 234, 235},{ 236, 237}, -{ 238, 239},{-262, -29},{ 240, 241},{ 242, 243},{-167, -67},{-331,-530},{ 244, 245},{ 246, 247}, -{ 248, 249},{ 250, 251},{ 252, 253},{ 254, 255},{ 256, 257},{ 258, 259},{ 260, 261},{ 262,-336}, -{ 263,-171},{-192,-207},{-258,-138},{ 264, 265},{ 266, 267},{ 268, 269},{ 270, 271},{ 272, 273}, -{ 274, -45},{-335,-411},{ -43, -18},{-265, -71},{-316,-326},{-350,-407},{-146, -14},{ 275, 276}, -{ 277, 278},{ 279, 280},{ 281,-216},{ -34,-283},{-291,-312},{-410,-168},{-555, 282},{ -70, -53}, -{-235, -87},{ -77,-183},{-315,-332},{-178, -58},{ 283, 284},{ 285, 286},{ 287, 288},{ 289, 290}, -{ 291, 292},{ 293, 294},{ 295, 296},{ 297, 298},{-202,-226},{-170,-267},{-134,-290},{-355,-385}, -{-386, -47},{-526,-196},{ 299, 300},{ 301, 302},{ 303, 304},{ 305, 306},{ 307, 308},{ 309, 310}, -{ 311, 312},{ 313, 314},{ 315, 316},{ 317, 318},{ 319, 320},{ 321, 322},{ 323, 324},{ 325,-111}, -{-231,-253},{ -91, -82},{-172,-145},{ -22,-317},{ -90,-356},{-382,-159},{ 326, 327},{ 328, 329}, -{ 330, 331},{ 332, 333},{ 334, 335},{-106,-263},{-278,-215},{-110, -39},{-101,-377},{-129, -63}, -{-436,-195},{-506,-531},{ 336,-212},{-154,-266},{ -59,-288},{-292,-303},{-337,-432},{-188,-451}, -{-456,-460},{-501,-236},{-551, 337},{ 338, 339},{ 340, 341},{ 342, 343},{ 344, 345},{ 346, 347}, -{ 348, 349},{ 350, 351},{ 352, 353},{ 354, 355},{ 356, 357},{ 358, 359},{ 360, 361},{ 362, 363}, -{ 364, 365},{ 366, 367},{ 368, 369},{ 370, 371},{ 372, 373},{ 374, 375},{ 376, 377},{ 378, 379}, -{ 380, 381},{ 382, 383},{ 384, 385},{ 386, 387},{ 388, 389},{ 390, 391},{ 392, 393},{ 394, 395}, -{ 396, 397},{ 398, 399},{ 400, 401},{ 402, 403},{ 404, 405},{ 406, 407},{ -72,-272},{-309,-333}, -{-340,-360},{ -68,-387},{-184,-416},{-427,-147},{-435,-437},{-115,-480},{-510,-532},{-164,-556}, -{ 408,-295},{-296,-297},{-107,-313},{-193,-173},{-320,-327},{-341,-351},{-352,-143},{-378, -19}, -{-403,-412},{-268, -54},{ -83,-441},{-442,-457},{-475, -44},{ -97,-511},{-515,-208},{-527,-528}, -{-237,-536},{-552, 409},{ 410, 411},{ 412, 413},{ 414, 415},{ 416, 417},{ 418, 419},{ 420, 421}, -{ 422, 423},{ 424, 425},{ 426, 427},{ 428, 429},{ 430, 431},{ 432, 433},{ 434, 435},{ 436, 437}, -{ 438, 439},{ 440, 441},{ 442, 443},{ 444, 445},{ 446, 447},{ 448, 449},{ 450, 451},{ 452, 453}, -{ 454, 455},{ 456, 457},{ 458, 459},{ 460, 461},{ 462, 463},{ 464, 465},{ 466, 467},{ 468, 469}, -{ 470, 471},{ 472, 473},{ 474, 475},{ 476, 477},{ 478, 479},{ 480, 481},{ 482, 483},{ 484, 485}, -{ 486, 487},{ 488, 489},{ 490, 491},{ 492, 493},{ 494, 495},{ 496, 497},{ 498, 499},{ 500, 501}, -{ 502, 503},{ 504, 505},{ 506, 507},{ 508, 509},{ 510, 511},{ 512, 513},{ 514, 515},{ 516, 517}, -{ 518,-104},{ -84,-218},{-318,-319},{-117,-321},{-322,-323},{-219,-174},{-243,-328},{-329, -94}, -{-228,-194},{-240,-334},{-102,-229},{-169,-338},{-339,-116},{-289,-342},{-343,-345},{-346,-347}, -{ -23,-203},{-214,-353},{-204,-220},{-357,-358},{-264,-361},{-362,-363},{-365,-366},{-367, -92}, -{-245,-121},{-293,-379},{-108,-232},{-221,-383},{-384,-233},{-294,-241},{-388,-389},{-390,-391}, -{-392,-393},{-394,-395},{-396,-397},{-398, -24},{-109,-149},{-242,-404},{ -64, -79},{ -89,-408}, -{-409,-213},{-120,-113},{-413,-414},{-415, -96},{-417,-418},{-419,-420},{-421,-422},{-423,-298}, -{ -69,-269},{-428,-429},{ -78,-270},{ -88,-433},{-434,-271},{-234,-259},{-438,-439},{-440,-227}, -{-179,-443},{-445,-446},{-447,-223},{-238,-452},{-453,-454},{-273,-254},{-246,-458},{-459, -48}, -{-461,-462},{-463,-465},{-466,-467},{-468,-470},{-471,-304},{-476,-477},{-478,-112},{-481,-482}, -{-483,-485},{-486,-487},{-490,-491},{-103,-118},{-502,-503},{-504,-189},{ -93,-507},{-508,-509}, -{-148,-139},{-512,-513},{-308,-516},{-517,-518},{-520,-521},{ -73, -98},{ -95, -49},{-529,-222}, -{-217,-197},{-533,-534},{-535,-284},{-537,-538},{-540,-541},{-542,-543},{-545,-546},{-144,-198}, -{-314,-553},{-209,-279},{-557,-558},{-560,-561},{-562,-563},{-565,-566},{-567,-575},{-576,-577}, -{-578,-580},{-581,-582},{-583,-585},{-586,-587},{-590,-591},{-600,-601},{-605,-606},}; -Word16 mlt_decoder_tree_category_4[208][2] = { -{ 1, 2},{ 3, 0},{ 4, 5},{ 6, 7},{ 8, 9},{ 10, 11},{ 12, -64},{ -1, 13}, -{ 14, -16},{ -4, 15},{ 16, 17},{ 18, -80},{ -5, 19},{ 20, 21},{ -20, 22},{ 23, -65}, -{ -84, -21},{ -68, 24},{ -17, 25},{ 26, 27},{ 28, -81},{ -69, -85},{ 29, 30},{ 31, 32}, -{-128, 33},{ 34, 35},{ -2, 36},{ 37, 38},{-144, 39},{ 40, -6},{ 41, 42},{ -32, 43}, -{ 44, -8},{ 45, -25},{ -96, 46},{ 47,-100},{ -9, 48},{ 49, -36},{ 50, -24},{ 51, 52}, -{ 53,-148},{ 54, 55},{ -22, 56},{ 57, 58},{-132, -89},{ 59, 60},{-101, 61},{ -37, 62}, -{ -18, 63},{ -88,-129},{ -66, -70},{ -97, 64},{ -72, -73},{ 65,-145},{-149, -86},{ 66, -33}, -{ 67,-133},{ 68, 69},{ 70, 71},{-192, 72},{ 73,-160},{ -82, 74},{-164, 75},{ -10, 76}, -{ 77,-208},{ 78, -40},{ 79, 80},{ -3, 81},{ -7, 82},{ 83, 84},{-104, 85},{ 86, -26}, -{ 87,-105},{ 88,-112},{ 89, 90},{ 91, -41},{ 92, 93},{ 94, 95},{ -48, 96},{ -90, 97}, -{ 98, -28},{ -52, 99},{ -12, 100},{ 101, -74},{ -13,-116},{-161, 102},{ 103, -29},{-102, 104}, -{-152,-165},{ 105, 106},{ 107, 108},{ 109, 110},{ 111,-212},{ 112, 113},{-136, 114},{ 115,-137}, -{ 116, -23},{ -19,-153},{ -98,-134},{-196, 117},{ 118, 119},{ -38,-193},{-113,-150},{-209, 120}, -{ 121, -93},{ -83, 122},{ 123, 124},{ 125, 126},{ 127, 128},{ 129, 130},{ 131, -34},{-146, -53}, -{ 132, 133},{ 134, 135},{ 136, 137},{ 138,-130},{ -49, 139},{ 140, 141},{-117, -42},{ -67, -92}, -{ 142, -87},{ -77,-197},{ -71, 143},{ 144, 145},{ 146, 147},{ 148, 149},{ 150, 151},{ 152, 153}, -{ 154, 155},{ 156, 157},{ 158, 159},{ 160, 161},{ 162, 163},{ 164, 165},{ 166, 167},{ 168, 169}, -{-108, -76},{-168,-169},{-176, -44},{-224, -56},{ -45,-180},{ -11,-106},{-213, 170},{ 171, 172}, -{ 173, 174},{ 175, 176},{ 177, 178},{ 179, 180},{ 181, 182},{ 183, 184},{ 185, 186},{ 187, 188}, -{ 189, 190},{ 191, 192},{ 193, 194},{ 195, 196},{ 197, 198},{ 199, 200},{ 201, 202},{ 203, 204}, -{ 205, 206},{ 207,-131},{ -30, -27},{ -43,-151},{ -75,-154},{-156,-162},{-109,-194},{-198,-201}, -{-114,-225},{-228,-229},{-141,-142},{ -94,-124},{ -95,-147},{-115,-125},{ -54, -55},{-107, -58}, -{ -39,-155},{-121,-157},{-158,-103},{ -14,-122},{-163, -51},{ -57,-166},{-167, -46},{-110,-170}, -{-172,-173},{ -61,-177},{-178, -99},{-181,-182},{-184,-185},{-118, -35},{ -15,-195},{ -31, -60}, -{-135,-199},{-200, -79},{-202,-204},{-205,-119},{ -91,-210},{-211, -78},{-120,-214},{-215,-216}, -{-217,-218},{-220,-221},{ -50,-138},{-226,-139},{-140,-230},{-232,-233},{-240,-241},{-244,-245}, -}; -Word16 mlt_decoder_tree_category_5[191][2] = { -{ 1, 2},{ 0, 3},{ 4, 5},{ 6, 7},{ 8, 9},{ 10, 11},{ -81, -1},{ 12, 13}, -{ 14, -27},{ -3, -9},{ 15, 16},{ 17, 18},{ 19, 20},{-108, 21},{ -4, 22},{ 23, -36}, -{ -12, 24},{ -82, 25},{ 26, -84},{ 27, -90},{ -10, -30},{ 28, 29},{ 30, -28},{ 31,-117}, -{ -13, 32},{ -39, 33},{ 34,-109},{ 35, -93},{ -85,-111},{ -37, 36},{ -31, 37},{ -91, 38}, -{ 39, 40},{ -40,-120},{ 41, 42},{-118, 43},{ -94, 44},{-112,-162},{ 45, 46},{ -2, 47}, -{ 48, 49},{-121,-189},{ 50, -54},{ 51, 52},{ 53, -18},{ 54, 55},{ -6, 56},{ 57, -5}, -{-135, 58},{ 59, 60},{ 61, 62},{ -63, 63},{ 64, -7},{ -15, 65},{ 66, 67},{ -45, 68}, -{ 69, 70},{ 71, -21},{ 72, 73},{ 74, 75},{ 76, 77},{-163, 78},{ 79,-171},{-144, 80}, -{ -48, 81},{ -57, 82},{ 83, 84},{-165, 85},{ -16,-198},{ 86, 87},{ -11, 88},{ 89, -99}, -{ 90, -83},{ -19, 91},{ 92, 93},{ 94, 95},{ 96, 97},{ 98, 99},{ -87, 100},{ 101, 102}, -{-190, -66},{ -33,-192},{ 103, 104},{ 105, 106},{-102, -42},{ 107,-126},{ 108, -29},{-129, -46}, -{ -86, -14},{-114, -32},{-172, 109},{ 110, -58},{ -34,-138},{ 111, 112},{ 113, 114},{ 115, 116}, -{ 117, 118},{ 119, 120},{-127,-166},{-174, 121},{ 122, 123},{ 124, 125},{ -88, -96},{ 126,-100}, -{ -38,-110},{ -22,-136},{ -55,-139},{-201, 127},{ -64,-193},{ 128, -49},{-175,-199},{ 129, 130}, -{ 131, 132},{ 133, 134},{ 135, 136},{ 137, 138},{ 139, 140},{ 141, 142},{ 143, 144},{ 145, 146}, -{ 147, 148},{ 149, 150},{-103, -92},{ -43,-130},{-145,-147},{-148, -41},{-216,-115},{-119,-123}, -{ -95, 151},{ 152, 153},{ 154, 155},{ 156, 157},{ 158, 159},{ 160, 161},{ 162, 163},{ 164, 165}, -{ 166, 167},{ 168, 169},{ 170, 171},{ 172, 173},{ 174, 175},{ 176, 177},{ 178, 179},{ 180, 181}, -{ 182, 183},{ 184, 185},{ 186, 187},{ 188, 189},{ 190,-153},{-180, -8},{ -97, -24},{-122,-113}, -{-124,-125},{ -67, -44},{-128, -69},{-106,-131},{-132,-133},{ -61, -73},{-137,-116},{ -89,-140}, -{-141,-142},{ -23, -25},{-146, -17},{-104,-149},{-150,-151},{ -52,-154},{-156,-157},{ -76, -70}, -{-164, -51},{ -72,-167},{-168,-169},{ -47, -20},{-173, -59},{-101,-176},{-177,-178},{ -68,-181}, -{-183,-184},{ -35, -60},{-191, -98},{ -56,-194},{-195,-196},{ -75, -65},{-200,-105},{-202,-203}, -{-204,-205},{-207,-208},{-210,-211},{ -50,-217},{-219,-220},{-225,-226},{-228,-229},}; -Word16 mlt_decoder_tree_category_6[31][2] = { -{ 1, 0},{ 2, 3},{ 4, 5},{ 6, 7},{ 8, -16},{ -1, -8},{ -2, -4},{ 9, 10}, -{ 11, 12},{ 13, 14},{ 15, 16},{ 17, -24},{ -3, -12},{ -6, 18},{ 19, -20},{ -10, -5}, -{ -17, -9},{ -18, 20},{ 21, 22},{ 23, 24},{ 25, -28},{ 26, -7},{ -14, -22},{ -26, -11}, -{ 27, -19},{ -25, -13},{ -21, 28},{ 29, -30},{ -27, 30},{ -15, -29},{ -23, -31},}; - -Word16 *table_of_decoder_tables[NUM_CATEGORIES-1] = { -(Word16 *)mlt_decoder_tree_category_0, -(Word16 *)mlt_decoder_tree_category_1, -(Word16 *)mlt_decoder_tree_category_2, -(Word16 *)mlt_decoder_tree_category_3, -(Word16 *)mlt_decoder_tree_category_4, -(Word16 *)mlt_decoder_tree_category_5, -(Word16 *)mlt_decoder_tree_category_6, -}; - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.h b/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.h deleted file mode 100644 index 5ccd65008faf7106c56d3a23e64c0a4553c9c01f..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/huff_tab.h +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***********************************************************************/ - -extern Word16 differential_region_power_bits[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS]; -extern UWord16 differential_region_power_codes[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS]; -extern Word16 differential_region_power_decoder_tree[MAX_NUMBER_OF_REGIONS][DIFF_REGION_POWER_LEVELS-1][2]; -extern Word16 mlt_quant_centroid[NUM_CATEGORIES][MAX_NUM_BINS]; -extern Word16 expected_bits_table[NUM_CATEGORIES]; -extern Word16 mlt_sqvh_bitcount_category_0[196]; -extern UWord16 mlt_sqvh_code_category_0[196]; -extern Word16 mlt_sqvh_bitcount_category_1[100]; -extern UWord16 mlt_sqvh_code_category_1[100]; -extern Word16 mlt_sqvh_bitcount_category_2[49]; -extern UWord16 mlt_sqvh_code_category_2[49]; -extern Word16 mlt_sqvh_bitcount_category_3[625]; -extern UWord16 mlt_sqvh_code_category_3[625]; -extern Word16 mlt_sqvh_bitcount_category_4[256]; -extern UWord16 mlt_sqvh_code_category_4[256]; -extern Word16 mlt_sqvh_bitcount_category_5[243]; -extern UWord16 mlt_sqvh_code_category_5[243]; -extern Word16 mlt_sqvh_bitcount_category_6[32]; -extern UWord16 mlt_sqvh_code_category_6[32]; -extern Word16 *table_of_bitcount_tables[NUM_CATEGORIES-1]; -extern UWord16 *table_of_code_tables[NUM_CATEGORIES-1]; -extern Word16 mlt_decoder_tree_category_0[180][2]; -extern Word16 mlt_decoder_tree_category_1[93][2]; -extern Word16 mlt_decoder_tree_category_2[47][2]; -extern Word16 mlt_decoder_tree_category_3[519][2]; -extern Word16 mlt_decoder_tree_category_4[208][2]; -extern Word16 mlt_decoder_tree_category_5[191][2]; -extern Word16 mlt_decoder_tree_category_6[31][2]; -extern Word16 *table_of_decoder_tables[NUM_CATEGORIES-1]; - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/tables.c b/sflphone-common/libs/pjproject/third_party/g7221/common/tables.c deleted file mode 100644 index 1018e6475fb54b4f7977f6d2d80614794954757c..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/tables.c +++ /dev/null @@ -1,298 +0,0 @@ -/**************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -****************************************************************************/ - -/**************************************************************************** - Filename: tables.c - - Purpose: Contains tables used by G.722.1 Annex C - - Design Notes: - -****************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include "defs.h" - -Word16 int_region_standard_deviation_table[REGION_POWER_TABLE_SIZE] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 2, 3, 4, 6, - 8, 11, 16, 23, 32, 45, 64, 91, 128, 181, - 256, 362, 512, 724, 1024, 1448, 2048, 2896, 4096, 5793, - 8192, 11585, 16384, 23170, 0,0,0,0,0,0, - 0,0,0,0}; - -Word16 standard_deviation_inverse_table[REGION_POWER_TABLE_SIZE] = { - 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, - 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, - 32767, 32767, 32767, 32767, 32767, 23170, 16384, 11585, 8192, 5793, - 4096, 2896, 2048, 1448, 1024, 724, 512, 362, 256, 181, - 128, 91, 64, 45, 32, 23, 16, 11, 8, 6, - 4, 3, 2, 1, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 0}; - - -Word16 step_size_inverse_table[NUM_CATEGORIES]={ - 23167,16384,11585,8192,5793,4096,2896,2896 -}; - - -Word16 vector_dimension[NUM_CATEGORIES] = { 2, 2, 2, 4, 4, 5, 5, 1}; -Word16 number_of_vectors[NUM_CATEGORIES] = {10,10,10, 5, 5, 4, 4,20}; -/* The last category isn't really coded with scalar quantization. */ - -Word16 max_bin[NUM_CATEGORIES] = {13, 9, 6, 4, 3, 2, 1, 1}; - -Word16 max_bin_plus_one_inverse[NUM_CATEGORIES] = -{ - 2341,3277,4682,6554,8193,10923,16385,16385 -}; - -/* - * Release 1.2. - * Add new version of int_dead_zone[] to go with - * changes to vector_huffman() in encoder.c. - * - */ - -/************** See new version of table below -Word16 int_dead_zone[NUM_CATEGORIES]= -{ - 9830,10813,11796,12780,13763,14746,16384,16384 -}; -***************/ - -/******** New version of table added in Release 1.2 ********/ -Word16 int_dead_zone[NUM_CATEGORIES]= -{ -2457, 2703, 2949, 3195, 3440, 3686, 4096, 4096 -}; - - -/* - * Release 1.2. - * Added this new table to go with - * changes to vector_huffman() in encoder.c, - * accompanies the new table for int_dead_zone[]. - */ - -Word16 int_dead_zone_low_bits[NUM_CATEGORIES]= -{ -2, 1, 0, 0, 3, 2, 0, 0 -}; - - -Word16 samples_to_rmlt_window[DCT_LENGTH]= -{ 44, 134, 224, 314, 404, 494, 584, 674, 764, 853, - 943, 1033, 1123, 1213, 1302, 1392, 1482, 1571, 1661, 1750, - 1840, 1929, 2019, 2108, 2197, 2286, 2376, 2465, 2554, 2643, - 2732, 2821, 2909, 2998, 3087, 3175, 3264, 3352, 3441, 3529, - 3617, 3705, 3793, 3881, 3969, 4057, 4144, 4232, 4319, 4407, - 4494, 4581, 4668, 4755, 4842, 4928, 5015, 5101, 5188, 5274, - 5360, 5446, 5532, 5617, 5703, 5788, 5873, 5959, 6043, 6128, - 6213, 6297, 6382, 6466, 6550, 6634, 6718, 6801, 6885, 6968, - 7051, 7134, 7217, 7299, 7382, 7464, 7546, 7628, 7709, 7791, - 7872, 7953, 8034, 8115, 8195, 8276, 8356, 8436, 8515, 8595, - 8674, 8753, 8832, 8911, 8989, 9068, 9146, 9223, 9301, 9378, - 9455, 9532, 9609, 9685, 9762, 9838, 9913, 9989, 10064, 10139, - 10214, 10288, 10363, 10437, 10510, 10584, 10657, 10730, 10803, 10875, - 10948, 11020, 11091, 11163, 11234, 11305, 11375, 11446, 11516, 11586, - 11655, 11724, 11793, 11862, 11930, 11998, 12066, 12134, 12201, 12268, - 12334, 12401, 12467, 12532, 12598, 12663, 12728, 12792, 12857, 12920, - 12984, 13047, 13110, 13173, 13235, 13297, 13359, 13420, 13481, 13542, - 13602, 13662, 13722, 13782, 13841, 13899, 13958, 14016, 14074, 14131, - 14188, 14245, 14301, 14357, 14413, 14468, 14523, 14578, 14632, 14686, - 14739, 14793, 14845, 14898, 14950, 15002, 15053, 15104, 15155, 15205, - 15255, 15305, 15354, 15403, 15451, 15500, 15547, 15595, 15642, 15688, - 15734, 15780, 15826, 15871, 15916, 15960, 16004, 16047, 16091, 16133, - 16176, 16218, 16259, 16300, 16341, 16382, 16422, 16461, 16501, 16540, - 16578, 16616, 16654, 16691, 16728, 16764, 16800, 16836, 16871, 16906, - 16940, 16974, 17008, 17041, 17074, 17106, 17138, 17170, 17201, 17232, - 17262, 17292, 17321, 17350, 17379, 17407, 17435, 17462, 17489, 17516, - 17542, 17567, 17593, 17617, 17642, 17666, 17689, 17713, 17735, 17758, - 17779, 17801, 17822, 17842, 17863, 17882, 17901, 17920, 17939, 17957, - 17974, 17991, 18008, 18024, 18040, 18055, 18070, 18085, 18099, 18113, - 18126, 18139, 18151, 18163, 18174, 18185, 18196, 18206, 18216, 18225, - 18234, 18242, 18250, 18257, 18265, 18271, 18277, 18283, 18288, 18293, - 18298, 18302, 18305, 18308, 18311, 18313, 18315, 18316, 18317, 18317, -}; - -Word16 rmlt_to_samples_window[DCT_LENGTH]= -{ 44, 133, 222, 310, 399, 488, 577, 666, 754, 843, - 932, 1020, 1109, 1198, 1286, 1375, 1464, 1552, 1641, 1729, - 1817, 1906, 1994, 2082, 2171, 2259, 2347, 2435, 2523, 2611, - 2699, 2786, 2874, 2962, 3049, 3137, 3224, 3312, 3399, 3486, - 3573, 3660, 3747, 3834, 3921, 4008, 4094, 4181, 4267, 4353, - 4439, 4526, 4611, 4697, 4783, 4869, 4954, 5040, 5125, 5210, - 5295, 5380, 5465, 5549, 5634, 5718, 5802, 5886, 5970, 6054, - 6138, 6221, 6304, 6388, 6471, 6553, 6636, 6719, 6801, 6883, - 6965, 7047, 7129, 7211, 7292, 7373, 7454, 7535, 7616, 7696, - 7777, 7857, 7937, 8016, 8096, 8175, 8254, 8333, 8412, 8491, - 8569, 8647, 8725, 8803, 8880, 8957, 9035, 9111, 9188, 9264, - 9341, 9417, 9492, 9568, 9643, 9718, 9793, 9868, 9942, 10016, - 10090, 10163, 10237, 10310, 10383, 10455, 10528, 10600, 10672, 10743, - 10815, 10886, 10957, 11027, 11098, 11168, 11237, 11307, 11376, 11445, - 11514, 11582, 11650, 11718, 11785, 11853, 11920, 11986, 12053, 12119, - 12185, 12250, 12315, 12380, 12445, 12509, 12573, 12637, 12701, 12764, - 12826, 12889, 12951, 13013, 13075, 13136, 13197, 13257, 13318, 13378, - 13437, 13497, 13556, 13614, 13673, 13731, 13788, 13846, 13903, 13959, - 14016, 14072, 14128, 14183, 14238, 14292, 14347, 14401, 14454, 14508, - 14561, 14613, 14665, 14717, 14769, 14820, 14871, 14921, 14971, 15021, - 15070, 15119, 15168, 15216, 15264, 15311, 15359, 15405, 15452, 15498, - 15544, 15589, 15634, 15678, 15722, 15766, 15810, 15853, 15895, 15938, - 15979, 16021, 16062, 16103, 16143, 16183, 16223, 16262, 16300, 16339, - 16377, 16414, 16452, 16488, 16525, 16561, 16596, 16632, 16666, 16701, - 16735, 16768, 16801, 16834, 16867, 16899, 16930, 16961, 16992, 17022, - 17052, 17082, 17111, 17140, 17168, 17196, 17223, 17250, 17277, 17303, - 17329, 17354, 17379, 17404, 17428, 17452, 17475, 17498, 17520, 17542, - 17564, 17585, 17606, 17626, 17646, 17665, 17684, 17703, 17721, 17739, - 17756, 17773, 17790, 17806, 17821, 17836, 17851, 17865, 17879, 17893, - 17906, 17918, 17931, 17942, 17954, 17965, 17975, 17985, 17995, 18004, - 18012, 18021, 18028, 18036, 18043, 18049, 18055, 18061, 18066, 18071, - 18076, 18079, 18083, 18086, 18089, 18091, 18093, 18094, 18095, 18095, -}; - -Word16 max_samples_to_rmlt_window[MAX_DCT_LENGTH]={ -0, 43, 89, 133, 178, 222, 268, 314, 357, 403, -447, 493, 538, 582, 628, 671, 717, 763, 807, 853, -896, 942, 987, 1031, 1077, 1121, 1166, 1212, 1256, 1301, -1345, 1390, 1436, 1480, 1526, 1569, 1615, 1660, 1704, 1749, -1793, 1838, 1884, 1928, 1973, 2016, 2062, 2107, 2151, 2196, -2239, 2285, 2331, 2374, 2419, 2463, 2508, 2553, 2597, 2642, -2685, 2730, 2776, 2819, 2864, 2908, 2952, 2998, 3041, 3086, -3129, 3174, 3219, 3263, 3307, 3350, 3396, 3440, 3483, 3528, -3571, 3616, 3661, 3704, 3748, 3791, 3836, 3881, 3923, 3968, -4011, 4055, 4100, 4143, 4187, 4230, 4274, 4318, 4362, 4406, -4448, 4493, 4537, 4580, 4624, 4666, 4710, 4755, 4797, 4841, -4883, 4927, 4971, 5013, 5057, 5099, 5144, 5187, 5229, 5273, -5315, 5359, 5402, 5444, 5488, 5530, 5573, 5617, 5658, 5702, -5743, 5787, 5830, 5871, 5915, 5956, 6000, 6043, 6084, 6127, -6169, 6211, 6254, 6296, 6339, 6380, 6423, 6465, 6507, 6549, -6590, 6633, 6675, 6716, 6759, 6799, 6842, 6884, 6925, 6967, -7007, 7050, 7092, 7132, 7175, 7215, 7257, 7299, 7339, 7381, -7421, 7462, 7504, 7544, 7586, 7626, 7667, 7709, 7749, 7790, -7830, 7871, 7912, 7952, 7993, 8032, 8073, 8114, 8153, 8194, -8234, 8275, 8315, 8355, 8395, 8434, 8474, 8515, 8554, 8594, -8632, 8673, 8713, 8752, 8792, 8830, 8871, 8910, 8949, 8989, -9027, 9066, 9106, 9144, 9184, 9221, 9261, 9300, 9338, 9378, -9415, 9454, 9493, 9531, 9570, 9607, 9646, 9685, 9722, 9761, -9798, 9836, 9875, 9912, 9950, 9987, 10025, 10064, 10100, 10138, -10175, 10213, 10250, 10287, 10325, 10361, 10398, 10436, 10472, 10510, -10545, 10583, 10620, 10656, 10692, 10728, 10766, 10803, 10838, 10874, -10910, 10947, 10983, 11018, 11055, 11089, 11126, 11162, 11197, 11233, -11268, 11303, 11340, 11374, 11410, 11444, 11480, 11515, 11549, 11585, -11619, 11654, 11689, 11723, 11758, 11791, 11826, 11861, 11895, 11930, -11963, 11997, 12032, 12065, 12099, 12132, 12166, 12201, 12233, 12267, -12300, 12333, 12367, 12400, 12433, 12465, 12499, 12532, 12563, 12597, -12629, 12662, 12695, 12727, 12759, 12790, 12823, 12856, 12887, 12920, -12951, 12983, 13016, 13046, 13078, 13109, 13141, 13173, 13203, 13235, -13266, 13296, 13328, 13358, 13389, 13419, 13450, 13481, 13510, 13541, -13571, 13602, 13632, 13661, 13692, 13721, 13751, 13781, 13810, 13840, -13869, 13898, 13929, 13957, 13986, 14015, 14044, 14073, 14101, 14130, -14158, 14187, 14216, 14244, 14272, 14300, 14328, 14357, 14384, 14412, -14439, 14468, 14495, 14522, 14550, 14577, 14604, 14632, 14658, 14686, -14711, 14739, 14765, 14792, 14819, 14844, 14871, 14897, 14923, 14949, -14975, 15001, 15027, 15053, 15079, 15103, 15129, 15155, 15180, 15205, -15229, 15255, 15280, 15304, 15329, 15353, 15378, 15403, 15426, 15451, -15475, 15499, 15523, 15546, 15570, 15594, 15618, 15641, 15664, 15688, -15711, 15734, 15757, 15780, 15802, 15825, 15848, 15871, 15892, 15915, -15937, 15960, 15982, 16003, 16026, 16047, 16069, 16090, 16112, 16133, -16154, 16175, 16197, 16217, 16239, 16259, 16279, 16301, 16320, 16341, -16361, 16382, 16402, 16421, 16441, 16461, 16481, 16501, 16520, 16539, -16558, 16578, 16597, 16615, 16635, 16653, 16672, 16691, 16709, 16728, -16746, 16764, 16782, 16800, 16818, 16835, 16853, 16871, 16888, 16905, -16923, 16940, 16957, 16974, 16991, 17008, 17024, 17041, 17057, 17074, -17090, 17106, 17122, 17138, 17154, 17169, 17185, 17201, 17216, 17231, -17246, 17262, 17277, 17291, 17306, 17321, 17336, 17350, 17364, 17379, -17393, 17407, 17421, 17435, 17449, 17462, 17476, 17490, 17502, 17515, -17528, 17542, 17554, 17567, 17580, 17592, 17605, 17618, 17629, 17642, -17653, 17666, 17678, 17689, 17701, 17712, 17724, 17736, 17746, 17757, -17768, 17779, 17790, 17800, 17811, 17822, 17832, 17842, 17852, 17862, -17872, 17882, 17892, 17902, 17911, 17920, 17930, 17938, 17947, 17956, -17965, 17974, 17983, 17991, 17999, 18008, 18016, 18025, 18032, 18040, -18047, 18055, 18063, 18070, 18078, 18085, 18092, 18099, 18106, 18112, -18119, 18126, 18132, 18138, 18144, 18151, 18157, 18163, 18168, 18174, -18179, 18185, 18191, 18196, 18201, 18206, 18211, 18216, 18220, 18225, -18229, 18234, 18238, 18242, 18246, 18250, 18254, 18257, 18260, 18264, -18268, 18271, 18274, 18277, 18280, 18283, 18286, 18288, 18291, 18293, -18295, 18297, 18300, 18301, 18303, 18305, 18306, 18308, 18309, 18311, -18312, 18312, 18314, 18315, 18315, 18316, 18316, 18317, 18317, 18317 -}; - -Word16 max_rmlt_to_samples_window[MAX_DCT_LENGTH]={ -0, 43, 88, 131, 176, 219, 265, 310, 353, 398, -442, 487, 532, 575, 620, 663, 709, 754, 797, 842, -885, 931, 975, 1019, 1064, 1107, 1152, 1197, 1240, 1286, -1329, 1373, 1419, 1462, 1507, 1550, 1595, 1640, 1683, 1728, -1771, 1816, 1861, 1904, 1949, 1992, 2037, 2081, 2125, 2170, -2212, 2258, 2302, 2345, 2390, 2433, 2477, 2522, 2565, 2610, -2652, 2697, 2742, 2784, 2829, 2872, 2916, 2961, 3004, 3048, -3091, 3136, 3180, 3223, 3267, 3310, 3354, 3399, 3441, 3485, -3528, 3572, 3616, 3659, 3703, 3745, 3790, 3834, 3876, 3920, -3962, 4006, 4050, 4093, 4136, 4179, 4222, 4266, 4309, 4352, -4394, 4438, 4482, 4524, 4568, 4610, 4653, 4697, 4739, 4782, -4824, 4867, 4911, 4953, 4996, 5038, 5081, 5124, 5166, 5209, -5251, 5294, 5337, 5378, 5421, 5463, 5506, 5548, 5590, 5633, -5674, 5717, 5759, 5800, 5843, 5884, 5927, 5970, 6011, 6053, -6094, 6136, 6178, 6219, 6262, 6302, 6345, 6387, 6428, 6470, -6510, 6552, 6594, 6635, 6677, 6717, 6759, 6801, 6841, 6883, -6922, 6964, 7006, 7046, 7087, 7127, 7169, 7210, 7250, 7291, -7331, 7372, 7413, 7453, 7494, 7533, 7574, 7615, 7655, 7695, -7735, 7776, 7816, 7855, 7896, 7935, 7975, 8016, 8054, 8095, -8134, 8174, 8214, 8253, 8293, 8332, 8371, 8412, 8450, 8490, -8528, 8568, 8607, 8646, 8685, 8723, 8763, 8802, 8840, 8879, -8917, 8956, 8995, 9033, 9072, 9109, 9148, 9187, 9225, 9264, -9301, 9340, 9378, 9415, 9454, 9491, 9529, 9567, 9604, 9642, -9679, 9717, 9755, 9791, 9829, 9866, 9903, 9941, 9977, 10015, -10051, 10089, 10126, 10162, 10199, 10235, 10272, 10309, 10345, 10382, -10417, 10454, 10491, 10526, 10563, 10598, 10635, 10672, 10706, 10742, -10778, 10814, 10850, 10885, 10921, 10955, 10991, 11027, 11061, 11097, -11131, 11166, 11202, 11236, 11271, 11305, 11340, 11376, 11409, 11444, -11478, 11513, 11547, 11580, 11615, 11648, 11683, 11717, 11751, 11785, -11817, 11852, 11886, 11918, 11952, 11985, 12018, 12053, 12085, 12118, -12150, 12184, 12217, 12249, 12282, 12314, 12347, 12380, 12411, 12444, -12476, 12508, 12541, 12572, 12604, 12635, 12668, 12700, 12731, 12763, -12794, 12826, 12858, 12888, 12920, 12950, 12982, 13013, 13043, 13074, -13105, 13135, 13166, 13196, 13227, 13257, 13287, 13317, 13347, 13377, -13407, 13437, 13467, 13496, 13525, 13555, 13585, 13614, 13643, 13672, -13701, 13730, 13760, 13787, 13817, 13845, 13873, 13903, 13930, 13959, -13987, 14015, 14043, 14071, 14099, 14126, 14154, 14183, 14209, 14237, -14264, 14292, 14319, 14346, 14373, 14400, 14427, 14454, 14480, 14507, -14533, 14560, 14586, 14612, 14639, 14664, 14691, 14717, 14742, 14768, -14793, 14819, 14845, 14870, 14896, 14920, 14945, 14971, 14996, 15020, -15044, 15070, 15094, 15118, 15143, 15167, 15192, 15216, 15239, 15263, -15287, 15311, 15335, 15358, 15382, 15405, 15428, 15452, 15474, 15498, -15520, 15543, 15566, 15588, 15611, 15633, 15656, 15678, 15700, 15722, -15744, 15766, 15788, 15809, 15831, 15852, 15874, 15895, 15916, 15937, -15958, 15979, 16000, 16020, 16041, 16061, 16082, 16103, 16122, 16143, -16162, 16183, 16203, 16222, 16242, 16261, 16281, 16300, 16319, 16339, -16357, 16377, 16396, 16414, 16433, 16451, 16470, 16488, 16506, 16525, -16542, 16561, 16579, 16596, 16614, 16631, 16649, 16667, 16683, 16700, -16717, 16735, 16752, 16768, 16785, 16801, 16818, 16834, 16850, 16867, -16883, 16899, 16915, 16930, 16945, 16961, 16977, 16992, 17007, 17022, -17037, 17052, 17067, 17081, 17096, 17111, 17126, 17140, 17154, 17168, -17182, 17196, 17209, 17223, 17237, 17250, 17264, 17277, 17290, 17303, -17315, 17329, 17341, 17354, 17367, 17379, 17391, 17404, 17415, 17428, -17439, 17451, 17463, 17475, 17486, 17497, 17509, 17520, 17531, 17542, -17552, 17563, 17574, 17584, 17595, 17605, 17616, 17626, 17636, 17646, -17655, 17665, 17675, 17684, 17694, 17703, 17712, 17721, 17730, 17739, -17747, 17756, 17764, 17773, 17781, 17789, 17798, 17806, 17813, 17821, -17829, 17836, 17843, 17851, 17858, 17866, 17872, 17879, 17886, 17893, -17899, 17906, 17912, 17918, 17924, 17931, 17937, 17942, 17948, 17953, -17959, 17964, 17970, 17975, 17980, 17985, 17990, 17995, 17999, 18004, -18008, 18012, 18016, 18021, 18025, 18028, 18032, 18036, 18039, 18043, -18046, 18049, 18052, 18055, 18058, 18061, 18064, 18067, 18069, 18071, -18073, 18075, 18078, 18079, 18081, 18083, 18084, 18086, 18087, 18089, -18090, 18090, 18091, 18092, 18093, 18094, 18094, 18095, 18095, 18095 -}; diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/tables.h b/sflphone-common/libs/pjproject/third_party/g7221/common/tables.h deleted file mode 100644 index ddf29eb3d28795a96ec4cb1ce29d9a56b4367311..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/tables.h +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 1999 PictureTel Coporation -** Andover, MA, USA -** -** All rights reserved. -** -***********************************************************************/ - -/*********************************************************************** - Filename: tables.h - - Purpose: Contains table definitions used by G.722.1 Annex C - - Design Notes: - -***********************************************************************/ - -/*********************************************************************** - Include files -***********************************************************************/ -#define REGION_POWER_TABLE_SIZE 64 -#define NUM_CATEGORIES 8 -#define DCT_LENGTH 320 -#define MAX_DCT_LENGTH 640 - -extern Word16 int_region_standard_deviation_table[REGION_POWER_TABLE_SIZE]; -extern Word16 standard_deviation_inverse_table[REGION_POWER_TABLE_SIZE]; -extern Word16 step_size_inverse_table[NUM_CATEGORIES]; -extern Word16 vector_dimension[NUM_CATEGORIES]; -extern Word16 number_of_vectors[NUM_CATEGORIES]; -/* The last category isn't really coded with scalar quantization. */ -extern Word16 max_bin[NUM_CATEGORIES]; -extern Word16 max_bin_plus_one_inverse[NUM_CATEGORIES]; -extern Word16 int_dead_zone[NUM_CATEGORIES]; -extern Word16 samples_to_rmlt_window[DCT_LENGTH]; -extern Word16 rmlt_to_samples_window[DCT_LENGTH]; - -/* Add next line in Release 1.2 */ -extern Word16 int_dead_zone_low_bits[NUM_CATEGORIES]; - -extern Word16 max_samples_to_rmlt_window[MAX_DCT_LENGTH]; -extern Word16 max_rmlt_to_samples_window[MAX_DCT_LENGTH]; diff --git a/sflphone-common/libs/pjproject/third_party/g7221/common/typedef.h b/sflphone-common/libs/pjproject/third_party/g7221/common/typedef.h deleted file mode 100644 index 6daa80797c367eb3c7fa0b0712f7c114d8cbd0da..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/common/typedef.h +++ /dev/null @@ -1,32 +0,0 @@ -/* $Id: typedef.h 2623 2009-04-20 18:38:15Z bennylp $ */ -/* - * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef TYPEDEF_H -#define TYPEDEF_H - -#include <pj/types.h> - -typedef pj_int8_t Word8; -typedef pj_int16_t Word16; -typedef pj_int32_t Word32; -typedef pj_uint16_t UWord16; -typedef pj_uint32_t UWord32; -typedef int Flag; - -#endif /* TYPEDEF_H */ - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/decode/coef2sam.c b/sflphone-common/libs/pjproject/third_party/g7221/decode/coef2sam.c deleted file mode 100644 index 87deab0ef134506df2e5fc1cd7e3f88d2d0062ca..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/decode/coef2sam.c +++ /dev/null @@ -1,180 +0,0 @@ -/***************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -*****************************************************************************/ - -/***************************************************************************** -* Filename: rmlt_coefs_to_samples.c -* -* Purpose: Convert Reversed MLT (Modulated Lapped Transform) -* Coefficients to Samples -* -* The "Reversed MLT" is an overlapped block transform which uses -* even symmetry * on the left, odd symmetry on the right and a -* Type IV DCT as the block transform. * It is thus similar to a -* MLT which uses odd symmetry on the left, even symmetry * on the -* right and a Type IV DST as the block transform. In fact, it is -* equivalent * to reversing the order of the samples, performing -* an MLT and then negating all * the even-numbered coefficients. -* -*****************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include "defs.h" -#include "tables.h" -#include "count.h" - -/*************************************************************************** - Function: rmlt_coefs_to_samples - - Syntax: void rmlt_coefs_to_samples(Word16 *coefs, - Word16 *old_samples, - Word16 *out_samples, - Word16 dct_length, - Word16 mag_shift) - - inputs: Word16 *coefs - Word16 *old_samples - Word16 dct_length - Word16 mag_shift - - - outputs: Word16 *out_samples - - Description: Converts the mlt_coefs to samples - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 1.91 | 1.91 - -------|--------------|---------------- - MAX | 1.91 | 1.91 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 3.97 | 3.97 | 3.97 - -------|--------------|----------------|---------------- - MAX | 3.97 | 3.97 | 3.97 - -------|--------------|----------------|---------------- - -***************************************************************************/ - -void rmlt_coefs_to_samples(Word16 *coefs, - Word16 *old_samples, - Word16 *out_samples, - Word16 dct_length, - Word16 mag_shift) -{ - - - Word16 index, vals_left; - Word16 new_samples[MAX_DCT_LENGTH]; - Word16 *new_ptr, *old_ptr; - Word16 *win_new, *win_old; - Word16 *out_ptr; - Word16 half_dct_size; - Word32 sum; - - - - half_dct_size = shr_nocheck(dct_length,1); - - /* Perform a Type IV (inverse) DCT on the coefficients */ - dct_type_iv_s(coefs, new_samples, dct_length); - - test(); - if (mag_shift > 0) - { - for(index=0;index<dct_length;index++) - { - new_samples[index] = shr_nocheck(new_samples[index],mag_shift); - move16(); - } - } - else - { - test(); - if (mag_shift < 0) - { - mag_shift = negate(mag_shift); - for(index=0;index<dct_length;index++) - { - new_samples[index] = shl_nocheck(new_samples[index],mag_shift); - move16(); - } - } - - } - - /* Get the first half of the windowed samples */ - - out_ptr = out_samples; - move16(); - test(); - if (dct_length==DCT_LENGTH) - { - win_new = rmlt_to_samples_window; - move16(); - win_old = rmlt_to_samples_window + dct_length; - move16(); - } - else - { - win_new = max_rmlt_to_samples_window; - move16(); - win_old = max_rmlt_to_samples_window + dct_length; - move16(); - } - old_ptr = old_samples; - move16(); - new_ptr = new_samples + half_dct_size; - move16(); - - for (vals_left = half_dct_size; vals_left > 0; vals_left--) - { - sum = 0L; - move32(); - sum = L_mac(sum,*win_new++, *--new_ptr); - sum = L_mac(sum,*--win_old, *old_ptr++); - *out_ptr++ = itu_round(L_shl_nocheck(sum,2)); - move16(); - - } - - /* Get the second half of the windowed samples */ - - for (vals_left = half_dct_size; vals_left > 0; vals_left--) - { - sum = 0L; - move32(); - sum = L_mac(sum,*win_new++, *new_ptr++); - sum = L_mac(sum,negate(*--win_old), *--old_ptr); - *out_ptr++ = itu_round(L_shl_nocheck(sum,2)); - move16(); - } - - /* Save the second half of the new samples for */ - /* next time, when they will be the old samples. */ - - /* pointer arithmetic */ - new_ptr = new_samples + half_dct_size; - move16(); - old_ptr = old_samples; - move16(); - for (vals_left = half_dct_size; vals_left > 0; vals_left--) - { - *old_ptr++ = *new_ptr++; - move16(); - } -} diff --git a/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.c b/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.c deleted file mode 100644 index 0123a13bb46fcebb84317c2407056a7be8ff7c26..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.c +++ /dev/null @@ -1,504 +0,0 @@ -/******************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -********************************************************************************/ - -/******************************************************************************** -* Filename: dct_type_iv_s.c -* -* Purpose: Discrete Cosine Transform, Type IV used for inverse MLT -* -* The basis functions are -* -* cos(PI*(t+0.5)*(k+0.5)/block_length) -* -* for time t and basis function number k. Due to the symmetry of the expression -* in t and k, it is clear that the forward and inverse transforms are the same. -* -*********************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include "defs.h" -#include "count.h" -#include "dct4_s.h" - -/*************************************************************************** - External variable declarations -***************************************************************************/ -extern Word16 syn_bias_7khz[DCT_LENGTH]; -extern Word16 dither[DCT_LENGTH]; -extern Word16 max_dither[MAX_DCT_LENGTH]; - -extern Word16 dct_core_s[DCT_LENGTH_DIV_32][DCT_LENGTH_DIV_32]; -extern cos_msin_t s_cos_msin_2[DCT_LENGTH_DIV_32]; -extern cos_msin_t s_cos_msin_4[DCT_LENGTH_DIV_16]; -extern cos_msin_t s_cos_msin_8[DCT_LENGTH_DIV_8]; -extern cos_msin_t s_cos_msin_16[DCT_LENGTH_DIV_4]; -extern cos_msin_t s_cos_msin_32[DCT_LENGTH_DIV_2]; -extern cos_msin_t s_cos_msin_64[DCT_LENGTH]; -extern cos_msin_t *s_cos_msin_table[]; - -/******************************************************************************** - Function: dct_type_iv_s - - Syntax: void dct_type_iv_s (Word16 *input,Word16 *output,Word16 dct_length) - - - Description: Discrete Cosine Transform, Type IV used for inverse MLT - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 1.74 | 1.74 - -------|--------------|---------------- - MAX | 1.74 | 1.74 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 3.62 | 3.62 | 3.62 - -------|--------------|----------------|---------------- - MAX | 3.62 | 3.62 | 3.62 - -------|--------------|----------------|---------------- - -********************************************************************************/ - -void dct_type_iv_s (Word16 *input,Word16 *output,Word16 dct_length) -{ - Word16 buffer_a[MAX_DCT_LENGTH], buffer_b[MAX_DCT_LENGTH], buffer_c[MAX_DCT_LENGTH]; - Word16 *in_ptr, *in_ptr_low, *in_ptr_high, *next_in_base; - Word16 *out_ptr_low, *out_ptr_high, *next_out_base; - Word16 *out_buffer, *in_buffer, *buffer_swap; - Word16 in_val_low, in_val_high; - Word16 out_val_low, out_val_high; - Word16 in_low_even, in_low_odd; - Word16 in_high_even, in_high_odd; - Word16 out_low_even, out_low_odd; - Word16 out_high_even, out_high_odd; - Word16 *pair_ptr; - Word16 cos_even, cos_odd, msin_even, msin_odd; - Word16 set_span, set_count, set_count_log, pairs_left, sets_left; - Word16 i,k; - Word16 index; - Word16 dummy; - Word32 sum; - cos_msin_t **table_ptr_ptr, *cos_msin_ptr; - - Word32 acca; - Word16 temp; - - Word16 dct_length_log; - Word16 *dither_ptr; - - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - /* Do the sum/difference butterflies, the first part of */ - /* converting one N-point transform into 32 - 10 point transforms */ - /* transforms, where N = 1 << DCT_LENGTH_LOG. */ - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - test(); - if (dct_length==DCT_LENGTH) - { - dct_length_log = DCT_LENGTH_LOG; - move16(); - dither_ptr = dither; - move16(); - } - else - { - dct_length_log = MAX_DCT_LENGTH_LOG; - move16(); - dither_ptr = max_dither; - move16(); - } - - in_buffer = input; - move16(); - out_buffer = buffer_a; - move16(); - - index=0; - move16(); - - i=0; - move16(); - - for (set_count_log = 0; set_count_log <= dct_length_log - 2; set_count_log++) - { - - /*===========================================================*/ - /* Initialization for the loop over sets at the current size */ - /*===========================================================*/ - - /* set_span = 1 << (DCT_LENGTH_LOG - set_count_log); */ - set_span = shr_nocheck(dct_length,set_count_log); - - set_count = shl_nocheck(1,set_count_log); - in_ptr = in_buffer; - move16(); - next_out_base = out_buffer; - move16(); - - /*=====================================*/ - /* Loop over all the sets of this size */ - /*=====================================*/ - temp = sub(index,1); - test(); - if(temp < 0) - { - for (sets_left = set_count;sets_left > 0;sets_left--) - { - - /*||||||||||||||||||||||||||||||||||||||||||||*/ - /* Set up output pointers for the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||*/ - /* pointer arithmetic */ - out_ptr_low = next_out_base; - move16(); - next_out_base += set_span; - move16(); - out_ptr_high = next_out_base; - move16(); - - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - /* Loop over all the butterflies in the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - - do - { - in_val_low = *in_ptr++; - move16(); - in_val_high = *in_ptr++; - move16(); - - /* BEST METHOD OF GETTING RID OF BIAS, BUT COMPUTATIONALLY UNPLEASANT */ - /* ALTERNATIVE METHOD, SMEARS BIAS OVER THE ENTIRE FRAME, COMPUTATIONALLY SIMPLEST. */ - /* IF THIS WORKS, IT'S PREFERABLE */ - - dummy = add(in_val_low,dither_ptr[i++]); - // blp: addition of two 16bits vars, there's no way - // they'll overflow a 32bit var - //acca = L_add(dummy,in_val_high); - acca = dummy + in_val_high; - out_val_low = extract_l(L_shr_nocheck(acca,1)); - - dummy = add(in_val_low,dither_ptr[i++]); - // blp: addition of two 16bits vars, there's no way - // they'll overflow a 32bit var - //acca = L_add(dummy,-in_val_high); - acca = dummy - in_val_high; - out_val_high = extract_l(L_shr_nocheck(acca,1)); - - *out_ptr_low++ = out_val_low; - move16(); - *--out_ptr_high = out_val_high; - move16(); - - test(); - - /* this involves comparison of pointers */ - /* pointer arithmetic */ - - } while (out_ptr_low < out_ptr_high); - - } /* End of loop over sets of the current size */ - } - else - { - for (sets_left = set_count; sets_left > 0; sets_left--) - { - /*||||||||||||||||||||||||||||||||||||||||||||*/ - /* Set up output pointers for the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||*/ - - out_ptr_low = next_out_base; - move16(); - next_out_base += set_span; - move16(); - out_ptr_high = next_out_base; - move16(); - - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - /* Loop over all the butterflies in the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - - do - { - in_val_low = *in_ptr++; - move16(); - in_val_high = *in_ptr++; - move16(); - - out_val_low = add(in_val_low,in_val_high); - out_val_high = add(in_val_low,negate(in_val_high)); - - *out_ptr_low++ = out_val_low; - move16(); - *--out_ptr_high = out_val_high; - move16(); - - test(); - } while (out_ptr_low < out_ptr_high); - - } /* End of loop over sets of the current size */ - } - - /*============================================================*/ - /* Decide which buffers to use as input and output next time. */ - /* Except for the first time (when the input buffer is the */ - /* subroutine input) we just alternate the local buffers. */ - /*============================================================*/ - - in_buffer = out_buffer; - move16(); - - test(); - if (out_buffer == buffer_a) - { - out_buffer = buffer_b; - move16(); - } - else - { - out_buffer = buffer_a; - move16(); - } - - index = add(index,1); - } /* End of loop over set sizes */ - - - /*++++++++++++++++++++++++++++++++*/ - /* Do 32 - 10 point transforms */ - /*++++++++++++++++++++++++++++++++*/ - - pair_ptr = in_buffer; - move16(); - buffer_swap = buffer_c; - move16(); - - for (pairs_left = 1 << (dct_length_log - 1); pairs_left > 0; pairs_left--) - { - for ( k=0; k<CORE_SIZE; k++ ) - { -#if PJ_HAS_INT64 - /* blp: danger danger! not really compatible but faster */ - pj_int64_t sum64=0; - move32(); - - for ( i=0; i<CORE_SIZE; i++ ) - { - sum64 += L_mult(pair_ptr[i], dct_core_s[i][k]); - } - sum = L_saturate(sum64); -#else - sum=0L; - move32(); - - for ( i=0; i<CORE_SIZE; i++ ) - { - sum = L_mac(sum, pair_ptr[i],dct_core_s[i][k]); - } -#endif - buffer_swap[k] = itu_round(sum); - } - - pair_ptr += CORE_SIZE; - move16(); - buffer_swap += CORE_SIZE; - move16(); - } - - for (i=0;i<dct_length;i++) - { - in_buffer[i] = buffer_c[i]; - move16(); - } - - table_ptr_ptr = s_cos_msin_table; - move16(); - - /*++++++++++++++++++++++++++++++*/ - /* Perform rotation butterflies */ - /*++++++++++++++++++++++++++++++*/ - index=0; - move16(); - - for (set_count_log = dct_length_log - 2 ; set_count_log >= 0; set_count_log--) - { - - /*===========================================================*/ - /* Initialization for the loop over sets at the current size */ - /*===========================================================*/ - - /* set_span = 1 << (DCT_LENGTH_LOG - set_count_log); */ - set_span = shr_nocheck(dct_length,set_count_log); - - set_count = shl_nocheck(1,set_count_log); - next_in_base = in_buffer; - move16(); - test(); - if (set_count_log == 0) - { - next_out_base = output; - move16(); - } - else - { - next_out_base = out_buffer; - move16(); - } - - /*=====================================*/ - /* Loop over all the sets of this size */ - /*=====================================*/ - - for (sets_left = set_count; sets_left > 0; sets_left--) - { - - /*|||||||||||||||||||||||||||||||||||||||||*/ - /* Set up the pointers for the current set */ - /*|||||||||||||||||||||||||||||||||||||||||*/ - - in_ptr_low = next_in_base; - move16(); - - temp = shr_nocheck(set_span,1); - in_ptr_high = in_ptr_low + temp; - move16(); - - next_in_base += set_span; - move16(); - - out_ptr_low = next_out_base; - move16(); - - next_out_base += set_span; - move16(); - out_ptr_high = next_out_base; - move16(); - - cos_msin_ptr = *table_ptr_ptr; - move16(); - - /*||||||||||||||||||||||||||||||||||||||||||||||||||||||*/ - /* Loop over all the butterfly pairs in the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||||||||||||*/ - - do - { - in_low_even = *in_ptr_low++; - move16(); - in_low_odd = *in_ptr_low++; - move16(); - in_high_even = *in_ptr_high++; - move16(); - in_high_odd = *in_ptr_high++; - move16(); - cos_even = cos_msin_ptr[0].cosine; - move16(); - msin_even = cos_msin_ptr[0].minus_sine; - move16(); - cos_odd = cos_msin_ptr[1].cosine; - move16(); - msin_odd = cos_msin_ptr[1].minus_sine; - move16(); - cos_msin_ptr += 2; - - sum = 0L; - move32(); - - sum = L_mac(sum,cos_even,in_low_even); - sum = L_mac(sum,negate(msin_even),in_high_even); - out_low_even = itu_round(L_shl_nocheck(sum,1)); - - sum = 0L; - move32(); - sum = L_mac(sum,msin_even,in_low_even); - sum = L_mac(sum,cos_even,in_high_even); - out_high_even = itu_round(L_shl_nocheck(sum,1)); - - sum = 0L; - move32(); - sum = L_mac(sum,cos_odd,in_low_odd); - sum = L_mac(sum,msin_odd,in_high_odd); - out_low_odd = itu_round(L_shl_nocheck(sum,1)); - - sum = 0L; - move32(); - sum = L_mac(sum,msin_odd,in_low_odd); - sum = L_mac(sum,negate(cos_odd),in_high_odd); - out_high_odd = itu_round(L_shl_nocheck(sum,1)); - - *out_ptr_low++ = out_low_even; - move16(); - *--out_ptr_high = out_high_even; - move16(); - *out_ptr_low++ = out_low_odd; - move16(); - *--out_ptr_high = out_high_odd; - move16(); - - test(); - } while (out_ptr_low < out_ptr_high); - - } /* End of loop over sets of the current size */ - - /*=============================================*/ - /* Swap input and output buffers for next time */ - /*=============================================*/ - - buffer_swap = in_buffer; - move16(); - in_buffer = out_buffer; - move16(); - out_buffer = buffer_swap; - move16(); - - index = add(index,1); - table_ptr_ptr++; - } - /*------------------------------------ - - ADD IN BIAS FOR OUTPUT - - -----------------------------------*/ - if (dct_length==DCT_LENGTH) - { - for(i=0;i<320;i++) - { - // blp: addition of two 16bits vars, there's no way - // they'll overflow a 32bit var - //sum = L_add(output[i],syn_bias_7khz[i]); - sum = output[i] + syn_bias_7khz[i]; - acca = L_sub(sum,32767); - test(); - if (acca > 0) - { - sum = 32767L; - move32(); - } - // blp: addition of two 16bits vars, there's no way - // they'll overflow 32bit var - //acca = L_add(sum,32768L); - acca = sum + 32768; - test(); - if (acca < 0) - { - sum = -32768L; - move32(); - } - output[i] = extract_l(sum); - } - } -} - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.h b/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.h deleted file mode 100644 index 010e52d82aa7b2e14c313427a94775e69ce18a7a..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/decode/dct4_s.h +++ /dev/null @@ -1,856 +0,0 @@ -/*********************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***********************************************************************/ - -/*********************************************************************** - Filename: dct4_s.h - - Purpose: Contains tables used by dct4_s.c - - Design Notes: - -***********************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ - -typedef struct -{ - Word16 cosine; - Word16 minus_sine; -} cos_msin_t; - -/*************************************************************************** - The dct_core_s table was generated by the following code - - for(i=0;i<10;++i) - { - for(k=0;k<10;++k) - { - dct_core_s[i][k]=(short) (FTOI(((.9*32768.)*cos(3.1415926*(k+0.5)*(i+0.5)/10.)))); - } - } -***************************************************************************/ -Word16 dct_core_s[10][10] = { -{ 29400, 28676, 27246, 25145, 22425, 19153, 15409, 11286, 6885, 2314 }, -{ 28676, 22425, 11286, -2314, -15409, -25145, -29400, -27246, -19153, -6885 }, -{ 27246, 11286, -11286, -27246, -27246, -11286, 11286, 27246, 27246, 11286 }, -{ 25145, -2314, -27246, -22425, 6885, 28676, 19153, -11286, -29400, -15409 }, -{ 22425, -15409, -27246, 6885, 29400, 2314, -28676, -11286, 25145, 19153 }, -{ 19153, -25145, -11286, 28676, 2314, -29400, 6885, 27246, -15409, -22425 }, -{ 15409, -29400, 11286, 19153, -28676, 6885, 22425, -27246, 2314, 25145 }, -{ 11286, -27246, 27246, -11286, -11286, 27246, -27246, 11286, 11286, -27246 }, -{ 6885, -19153, 27246, -29400, 25145, -15409, 2314, 11286, -22425, 28676 }, -{ 2314, -6885, 11286, -15409, 19153, -22425, 25145, -27246, 28676, -29400 } -}; - -Word16 syn_bias_7khz[DCT_LENGTH] = { - -4, 4, -5, -2, 0, -4, 6, 2, -2, -4, - -3, 3, 0, 0, -2, 4, 0, 0, 3, -6, - 8, 5, 4, 5, -8, 0, -2, 0, 0, -3, - 3, 0, 0, 0, 1, -1, -2, 0, 0, 2, - -2, -5, -2, 3, 2, -1, -1, -6, 3, 1, - -7, 4, 4, 0, 1, 4, 1, 0, 1, -5, - -1, 1, -6, 0, -1, -1, 3, 0, -2, 1, - 2, -4, 0, 9, 0, -3, 1, 1, 1, 0, - -3, -2, -1, -4, -2, 0, 5, 2, -3, 5, - 0, -2, 4, 4, 0, -6, -4, 2, 0, 0, - 0, -1, -1, -2, 0, 6, 1, 0, 0, -1, - 0, -4, -1, 0, -4, 1, -1, -5, 0, 1, - 2, 4, 0, -8, -4, 0, -2, -2, 2, 5, - -3, -1, 1, -4, 0, 0, 0, -1, -3, 0, - -5, -4, 0, -2, 0, 7, 1, 0, 5, -2, - -1, 2, 2, -2, 3, 7, -3, 4, 1, -4, - 0, 0, 3, -7, -5, 0, 0, 4, 0, -2, - -1, 0, -5, 0, 2, 0, 11, 5, -1, 0, - 2, 2, -2, -2, 5, 4, -3, 1, 0, -2, - 1, 3, 2, 0, 1, 0, 0, 0, 5, 6, - -2, -1, 0, 2, 3, 2, 0, -3, 4, 5, - 0, -1, 0, 3, 1, -2, -3, -2, -1, 2, - -1, -1, -2, -7, 4, 6, -5, -6, -3, -4, - 0, 2, -5, -2, 3, 0, 0, 0, 2, -2, - -4, 3, 3, 1, 0, 0, 4, -1, 8, 13, - 1, 2, 0, 2, 0, -1, 4, -3, 1, 0, - -1, 3, 0, 0, -5, 0, 6, 2, 4, 5, - 2, -1, -1, 3, 6, 1, 1, 2, -4, 0, - -1, -6, -2, -2, 2, 1, 2, 6, 2, 0, - -2, -2, 0, -1, 2, 0, 0, 3, -2, 1, - 3, 1, 2, -1, -2, 2, 2, -4, 0, 0, - -3, 0, -4, -3, 6, 7, 2, 2, 0, -3}; - -Word16 dither[DCT_LENGTH]= { - 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, - 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, - 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, - 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, - 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, - 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, - 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, - 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, - 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, - 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, - 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, - 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, - 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, - 1, 1, 1, 0, 1, 0, 0, 0, 1, 0}; - -Word16 max_dither[MAX_DCT_LENGTH]= { - 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, - 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, - 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, - 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, - 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, - 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, - 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, - 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, - 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, - 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, - 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, - 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, - 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, - 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, - 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, - 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, - 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, - 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, - 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, - 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, - 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, - 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, - 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, - 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, - 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, - 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, - 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, - 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, - 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, - 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, - 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, - 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, - 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0 -}; - - -/******************************************************************************** - The s_cos_min tables were generated by the following code: - double angle, scale; - int index; - - for (index = 0;index < length;index++) - { - angle = scale * ((double)index + 0.5); - table[index].cosine = (short) (FTOI((18427)* cos(angle))); - table[index].minus_sine = (short) (FTOI((18427)*(-sin(angle)))); - } - - -********************************************************************************/ - -cos_msin_t s_cos_msin_2[DCT_LENGTH_DIV_32] = { - { 18413 , -723 } , - { 18299 , -2166 } , - { 18073 , -3595 } , - { 17735 , -5002 } , - { 17288 , -6378 } , - { 16734 , -7715 } , - { 16077 , -9004 } , - { 15321 , -10237 } , - { 14471 , -11408 } , - { 13531 , -12508 } - }; -cos_msin_t s_cos_msin_4[DCT_LENGTH_DIV_16] = { - { 18423 , -362 } , - { 18395 , -1085 } , - { 18338 , -1806 } , - { 18253 , -2525 } , - { 18140 , -3239 } , - { 17999 , -3949 } , - { 17830 , -4653 } , - { 17634 , -5349 } , - { 17410 , -6037 } , - { 17159 , -6716 } , - { 16883 , -7385 } , - { 16580 , -8042 } , - { 16251 , -8686 } , - { 15898 , -9318 } , - { 15520 , -9935 } , - { 15118 , -10536 } , - { 14692 , -11122 } , - { 14244 , -11690 } , - { 13774 , -12240 } , - { 13283 , -12772 } - }; -cos_msin_t s_cos_msin_8[DCT_LENGTH_DIV_8] = { - { 18426 , -181 } , - { 18419 , -543 } , - { 18405 , -904 } , - { 18384 , -1265 } , - { 18355 , -1626 } , - { 18320 , -1986 } , - { 18277 , -2345 } , - { 18228 , -2704 } , - { 18171 , -3061 } , - { 18107 , -3417 } , - { 18037 , -3772 } , - { 17959 , -4126 } , - { 17875 , -4477 } , - { 17783 , -4827 } , - { 17685 , -5176 } , - { 17580 , -5522 } , - { 17468 , -5866 } , - { 17350 , -6208 } , - { 17225 , -6547 } , - { 17093 , -6884 } , - { 16954 , -7219 } , - { 16809 , -7550 } , - { 16658 , -7879 } , - { 16500 , -8204 } , - { 16336 , -8526 } , - { 16165 , -8846 } , - { 15988 , -9161 } , - { 15805 , -9473 } , - { 15616 , -9782 } , - { 15421 , -10087 } , - { 15220 , -10387 } , - { 15013 , -10684 } , - { 14801 , -10977 } , - { 14582 , -11265 } , - { 14358 , -11550 } , - { 14129 , -11829 } , - { 13894 , -12104 } , - { 13654 , -12375 } , - { 13408 , -12641 } , - { 13157 , -12901 } - }; -cos_msin_t s_cos_msin_16[DCT_LENGTH_DIV_4] = { - { 18427 , -90 } , - { 18425 , -271 } , - { 18421 , -452 } , - { 18416 , -633 } , - { 18409 , -814 } , - { 18400 , -995 } , - { 18389 , -1175 } , - { 18377 , -1356 } , - { 18363 , -1536 } , - { 18347 , -1716 } , - { 18329 , -1896 } , - { 18310 , -2076 } , - { 18288 , -2256 } , - { 18265 , -2435 } , - { 18241 , -2614 } , - { 18214 , -2793 } , - { 18186 , -2972 } , - { 18156 , -3150 } , - { 18124 , -3328 } , - { 18090 , -3506 } , - { 18055 , -3684 } , - { 18018 , -3861 } , - { 17979 , -4037 } , - { 17939 , -4214 } , - { 17897 , -4390 } , - { 17853 , -4565 } , - { 17807 , -4740 } , - { 17760 , -4915 } , - { 17710 , -5089 } , - { 17660 , -5262 } , - { 17607 , -5436 } , - { 17553 , -5608 } , - { 17497 , -5780 } , - { 17439 , -5952 } , - { 17380 , -6123 } , - { 17319 , -6293 } , - { 17257 , -6463 } , - { 17192 , -6632 } , - { 17126 , -6800 } , - { 17059 , -6968 } , - { 16990 , -7135 } , - { 16919 , -7302 } , - { 16846 , -7467 } , - { 16772 , -7632 } , - { 16696 , -7797 } , - { 16619 , -7960 } , - { 16540 , -8123 } , - { 16459 , -8285 } , - { 16377 , -8446 } , - { 16294 , -8607 } , - { 16208 , -8766 } , - { 16121 , -8925 } , - { 16033 , -9083 } , - { 15943 , -9240 } , - { 15852 , -9396 } , - { 15759 , -9551 } , - { 15664 , -9705 } , - { 15568 , -9858 } , - { 15471 , -10011 } , - { 15372 , -10162 } , - { 15271 , -10313 } , - { 15169 , -10462 } , - { 15066 , -10610 } , - { 14961 , -10758 } , - { 14854 , -10904 } , - { 14747 , -11049 } , - { 14637 , -11194 } , - { 14527 , -11337 } , - { 14415 , -11479 } , - { 14301 , -11620 } , - { 14187 , -11760 } , - { 14071 , -11898 } , - { 13953 , -12036 } , - { 13834 , -12172 } , - { 13714 , -12308 } , - { 13593 , -12442 } , - { 13470 , -12575 } , - { 13346 , -12706 } , - { 13220 , -12837 } , - { 13094 , -12966 } - }; -cos_msin_t s_cos_msin_32[DCT_LENGTH_DIV_2] = { - { 18427 , -45 } , - { 18427 , -136 } , - { 18426 , -226 } , - { 18424 , -317 } , - { 18423 , -407 } , - { 18420 , -497 } , - { 18418 , -588 } , - { 18415 , -678 } , - { 18411 , -769 } , - { 18407 , -859 } , - { 18403 , -949 } , - { 18398 , -1040 } , - { 18392 , -1130 } , - { 18387 , -1220 } , - { 18380 , -1310 } , - { 18374 , -1401 } , - { 18367 , -1491 } , - { 18359 , -1581 } , - { 18351 , -1671 } , - { 18343 , -1761 } , - { 18334 , -1851 } , - { 18324 , -1941 } , - { 18315 , -2031 } , - { 18305 , -2121 } , - { 18294 , -2211 } , - { 18283 , -2301 } , - { 18271 , -2390 } , - { 18259 , -2480 } , - { 18247 , -2570 } , - { 18234 , -2659 } , - { 18221 , -2749 } , - { 18207 , -2838 } , - { 18193 , -2927 } , - { 18178 , -3017 } , - { 18163 , -3106 } , - { 18148 , -3195 } , - { 18132 , -3284 } , - { 18116 , -3373 } , - { 18099 , -3462 } , - { 18082 , -3551 } , - { 18064 , -3639 } , - { 18046 , -3728 } , - { 18027 , -3816 } , - { 18009 , -3905 } , - { 17989 , -3993 } , - { 17969 , -4081 } , - { 17949 , -4170 } , - { 17928 , -4258 } , - { 17907 , -4346 } , - { 17886 , -4434 } , - { 17864 , -4521 } , - { 17841 , -4609 } , - { 17818 , -4696 } , - { 17795 , -4784 } , - { 17772 , -4871 } , - { 17747 , -4958 } , - { 17723 , -5045 } , - { 17698 , -5132 } , - { 17672 , -5219 } , - { 17647 , -5306 } , - { 17620 , -5392 } , - { 17594 , -5479 } , - { 17567 , -5565 } , - { 17539 , -5651 } , - { 17511 , -5737 } , - { 17483 , -5823 } , - { 17454 , -5909 } , - { 17425 , -5994 } , - { 17395 , -6080 } , - { 17365 , -6165 } , - { 17335 , -6250 } , - { 17304 , -6335 } , - { 17272 , -6420 } , - { 17241 , -6505 } , - { 17208 , -6590 } , - { 17176 , -6674 } , - { 17143 , -6758 } , - { 17110 , -6842 } , - { 17076 , -6926 } , - { 17042 , -7010 } , - { 17007 , -7093 } , - { 16972 , -7177 } , - { 16937 , -7260 } , - { 16901 , -7343 } , - { 16864 , -7426 } , - { 16828 , -7509 } , - { 16791 , -7591 } , - { 16753 , -7674 } , - { 16715 , -7756 } , - { 16677 , -7838 } , - { 16638 , -7919 } , - { 16599 , -8001 } , - { 16560 , -8082 } , - { 16520 , -8164 } , - { 16480 , -8245 } , - { 16439 , -8325 } , - { 16398 , -8406 } , - { 16357 , -8486 } , - { 16315 , -8567 } , - { 16272 , -8647 } , - { 16230 , -8726 } , - { 16187 , -8806 } , - { 16143 , -8885 } , - { 16100 , -8964 } , - { 16055 , -9043 } , - { 16011 , -9122 } , - { 15966 , -9200 } , - { 15920 , -9279 } , - { 15875 , -9357 } , - { 15829 , -9435 } , - { 15782 , -9512 } , - { 15735 , -9589 } , - { 15688 , -9667 } , - { 15640 , -9744 } , - { 15592 , -9820 } , - { 15544 , -9897 } , - { 15495 , -9973 } , - { 15446 , -10049 } , - { 15396 , -10124 } , - { 15347 , -10200 } , - { 15296 , -10275 } , - { 15246 , -10350 } , - { 15195 , -10425 } , - { 15143 , -10499 } , - { 15092 , -10573 } , - { 15040 , -10647 } , - { 14987 , -10721 } , - { 14934 , -10794 } , - { 14881 , -10868 } , - { 14828 , -10941 } , - { 14774 , -11013 } , - { 14719 , -11086 } , - { 14665 , -11158 } , - { 14610 , -11230 } , - { 14555 , -11301 } , - { 14499 , -11372 } , - { 14443 , -11444 } , - { 14387 , -11514 } , - { 14330 , -11585 } , - { 14273 , -11655 } , - { 14216 , -11725 } , - { 14158 , -11795 } , - { 14100 , -11864 } , - { 14041 , -11933 } , - { 13983 , -12002 } , - { 13924 , -12070 } , - { 13864 , -12138 } , - { 13804 , -12206 } , - { 13744 , -12274 } , - { 13684 , -12341 } , - { 13623 , -12408 } , - { 13562 , -12475 } , - { 13501 , -12541 } , - { 13439 , -12608 } , - { 13377 , -12673 } , - { 13314 , -12739 } , - { 13252 , -12804 } , - { 13189 , -12869 } , - { 13125 , -12934 } , - { 13062 , -12998 } - }; -cos_msin_t s_cos_msin_64[DCT_LENGTH] = { -{18426, -21}, -{18426, -66}, -{18426, -110}, -{18426, -154}, -{18425, -198}, -{18425, -242}, -{18424, -286}, -{18424, -331}, -{18423, -374}, -{18421, -419}, -{18421, -463}, -{18419, -507}, -{18418, -552}, -{18417, -595}, -{18415, -639}, -{18414, -684}, -{18412, -728}, -{18410, -772}, -{18408, -816}, -{18406, -860}, -{18404, -904}, -{18402, -949}, -{18400, -992}, -{18397, -1037}, -{18394, -1081}, -{18392, -1125}, -{18389, -1169}, -{18387, -1213}, -{18384, -1257}, -{18380, -1301}, -{18378, -1345}, -{18374, -1389}, -{18371, -1433}, -{18367, -1477}, -{18364, -1521}, -{18360, -1566}, -{18356, -1609}, -{18352, -1653}, -{18348, -1697}, -{18344, -1742}, -{18339, -1785}, -{18335, -1829}, -{18331, -1873}, -{18326, -1917}, -{18322, -1961}, -{18317, -2005}, -{18312, -2049}, -{18307, -2092}, -{18302, -2137}, -{18297, -2180}, -{18292, -2224}, -{18286, -2268}, -{18281, -2312}, -{18275, -2356}, -{18270, -2399}, -{18264, -2443}, -{18258, -2487}, -{18252, -2531}, -{18246, -2574}, -{18240, -2618}, -{18233, -2662}, -{18227, -2706}, -{18220, -2749}, -{18214, -2793}, -{18207, -2836}, -{18200, -2880}, -{18193, -2924}, -{18186, -2967}, -{18179, -3011}, -{18172, -3055}, -{18164, -3098}, -{18157, -3142}, -{18149, -3185}, -{18141, -3229}, -{18134, -3272}, -{18126, -3316}, -{18118, -3359}, -{18109, -3403}, -{18101, -3446}, -{18094, -3489}, -{18085, -3533}, -{18076, -3576}, -{18068, -3619}, -{18059, -3663}, -{18050, -3706}, -{18041, -3749}, -{18032, -3792}, -{18023, -3836}, -{18014, -3879}, -{18005, -3922}, -{17995, -3965}, -{17986, -4008}, -{17975, -4051}, -{17966, -4094}, -{17956, -4138}, -{17946, -4180}, -{17936, -4224}, -{17926, -4266}, -{17916, -4309}, -{17905, -4353}, -{17895, -4395}, -{17884, -4438}, -{17874, -4481}, -{17863, -4524}, -{17852, -4567}, -{17841, -4609}, -{17830, -4652}, -{17819, -4695}, -{17807, -4738}, -{17796, -4780}, -{17784, -4823}, -{17772, -4865}, -{17761, -4908}, -{17749, -4951}, -{17738, -4993}, -{17725, -5036}, -{17713, -5078}, -{17701, -5121}, -{17689, -5163}, -{17676, -5205}, -{17664, -5248}, -{17651, -5290}, -{17638, -5333}, -{17626, -5375}, -{17613, -5417}, -{17599, -5459}, -{17586, -5501}, -{17573, -5544}, -{17560, -5586}, -{17546, -5627}, -{17533, -5670}, -{17519, -5712}, -{17505, -5753}, -{17492, -5795}, -{17478, -5837}, -{17464, -5879}, -{17450, -5921}, -{17435, -5963}, -{17421, -6005}, -{17406, -6046}, -{17392, -6088}, -{17377, -6130}, -{17363, -6172}, -{17348, -6213}, -{17333, -6254}, -{17318, -6296}, -{17303, -6338}, -{17288, -6379}, -{17272, -6420}, -{17257, -6462}, -{17241, -6503}, -{17225, -6545}, -{17210, -6586}, -{17194, -6627}, -{17178, -6668}, -{17162, -6709}, -{17145, -6750}, -{17130, -6791}, -{17113, -6832}, -{17097, -6874}, -{17080, -6915}, -{17064, -6956}, -{17047, -6996}, -{17030, -7037}, -{17013, -7078}, -{16996, -7119}, -{16979, -7159}, -{16962, -7200}, -{16945, -7241}, -{16927, -7281}, -{16910, -7322}, -{16892, -7362}, -{16874, -7403}, -{16856, -7444}, -{16838, -7484}, -{16821, -7524}, -{16802, -7564}, -{16784, -7605}, -{16766, -7645}, -{16748, -7685}, -{16729, -7725}, -{16711, -7765}, -{16692, -7805}, -{16674, -7845}, -{16654, -7885}, -{16635, -7925}, -{16616, -7964}, -{16597, -8004}, -{16578, -8044}, -{16559, -8084}, -{16539, -8124}, -{16520, -8164}, -{16500, -8203}, -{16480, -8242}, -{16461, -8282}, -{16441, -8322}, -{16421, -8361}, -{16401, -8400}, -{16380, -8440}, -{16360, -8479}, -{16340, -8518}, -{16319, -8557}, -{16299, -8597}, -{16278, -8635}, -{16257, -8674}, -{16237, -8713}, -{16215, -8752}, -{16195, -8791}, -{16173, -8829}, -{16152, -8868}, -{16131, -8907}, -{16110, -8946}, -{16088, -8985}, -{16067, -9023}, -{16045, -9061}, -{16023, -9100}, -{16001, -9138}, -{15979, -9176}, -{15957, -9215}, -{15935, -9253}, -{15913, -9291}, -{15891, -9329}, -{15868, -9367}, -{15846, -9405}, -{15823, -9443}, -{15800, -9481}, -{15778, -9519}, -{15755, -9557}, -{15732, -9595}, -{15709, -9632}, -{15686, -9670}, -{15662, -9708}, -{15639, -9745}, -{15615, -9782}, -{15592, -9820}, -{15569, -9857}, -{15544, -9894}, -{15521, -9932}, -{15497, -9969}, -{15473, -10006}, -{15449, -10043}, -{15425, -10080}, -{15401, -10117}, -{15377, -10154}, -{15352, -10191}, -{15327, -10227}, -{15303, -10264}, -{15278, -10301}, -{15254, -10337}, -{15229, -10374}, -{15204, -10411}, -{15180, -10447}, -{15154, -10483}, -{15129, -10519}, -{15104, -10556}, -{15078, -10592}, -{15053, -10628}, -{15027, -10664}, -{15002, -10700}, -{14976, -10736}, -{14950, -10772}, -{14924, -10808}, -{14898, -10844}, -{14872, -10879}, -{14846, -10915}, -{14820, -10950}, -{14794, -10985}, -{14767, -11021}, -{14741, -11056}, -{14714, -11092}, -{14687, -11127}, -{14661, -11162}, -{14635, -11197}, -{14607, -11232}, -{14581, -11267}, -{14554, -11302}, -{14526, -11337}, -{14499, -11372}, -{14472, -11407}, -{14444, -11441}, -{14417, -11476}, -{14389, -11511}, -{14362, -11545}, -{14334, -11579}, -{14306, -11614}, -{14278, -11648}, -{14251, -11682}, -{14222, -11716}, -{14194, -11750}, -{14166, -11784}, -{14137, -11818}, -{14109, -11852}, -{14081, -11886}, -{14053, -11919}, -{14023, -11953}, -{13995, -11987}, -{13966, -12020}, -{13937, -12054}, -{13909, -12087}, -{13879, -12120}, -{13851, -12153}, -{13821, -12187}, -{13792, -12220}, -{13763, -12253}, -{13733, -12286}, -{13704, -12319}, -{13674, -12351}, -{13645, -12385}, -{13615, -12417}, -{13585, -12450}, -{13555, -12482}, -{13525, -12514}, -{13495, -12546}, -{13465, -12579}, -{13435, -12611}, -{13405, -12644}, -{13374, -12676}, -{13345, -12708}, -{13314, -12739}, -{13283, -12772} -}; - - - -cos_msin_t *s_cos_msin_table[] = {s_cos_msin_2, s_cos_msin_4, - s_cos_msin_8, s_cos_msin_16, - s_cos_msin_32, s_cos_msin_64 - }; - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/decode/decoder.c b/sflphone-common/libs/pjproject/third_party/g7221/decode/decoder.c deleted file mode 100644 index ab81a300b20d1941c00be747f3f2393d7084e988..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/decode/decoder.c +++ /dev/null @@ -1,1113 +0,0 @@ -/*************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***************************************************************************/ - -/*************************************************************************** - Filename: decoder.c - - Purpose: Contains files used to implement the G.722.1 Annex C decoder - - Design Notes: - -***************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include "defs.h" -#include "tables.h" -#include "huff_def.h" -#include "count.h" - - -/*************************************************************************** - Function: decoder - - Syntax: void decoder(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift, - Word16 *old_decoder_mlt_coefs, - Word16 frame_error_flag) - - inputs: Bit_Obj *bitobj - Rand_Obj *randobj - Word16 number_of_regions - Word16 *p_old_mag_shift - Word16 *old_decoder_mlt_coefs - Word16 frame_error_flag - - outputs: Word16 *decoder_mlt_coefs, - Word16 *p_mag_shift, - - - - Description: Decodes the out_words into mlt coefs using G.722.1 Annex C - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|-------------|---------------- - AVG | 0.84 | 0.94 - -------|-------------|---------------- - MAX | 0.90 | 1.00 - -------|-------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|-------------|----------------|---------------- - AVG | 1.31 | 1.56 | 1.88 - -------|-------------|----------------|---------------- - MAX | 1.59 | 1.80 | 1.98 - -------|-------------|----------------|---------------- - -***************************************************************************/ -void decoder(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift, - Word16 *old_decoder_mlt_coefs, - Word16 frame_error_flag) -{ - - - Word16 absolute_region_power_index[MAX_NUMBER_OF_REGIONS]; - Word16 decoder_power_categories[MAX_NUMBER_OF_REGIONS]; - Word16 decoder_category_balances[MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES-1]; - UWord16 categorization_control; - Word16 decoder_region_standard_deviation[MAX_NUMBER_OF_REGIONS]; - Word16 i; - - Word16 num_categorization_control_bits; - Word16 num_categorization_control_possibilities; - Word16 number_of_coefs; - Word16 number_of_valid_coefs; - - - test(); - if (number_of_regions==NUMBER_OF_REGIONS) - { - num_categorization_control_bits = NUM_CATEGORIZATION_CONTROL_BITS; - move16(); - num_categorization_control_possibilities = NUM_CATEGORIZATION_CONTROL_POSSIBILITIES; - move16(); - number_of_coefs = DCT_LENGTH; - move16(); - number_of_valid_coefs = NUMBER_OF_VALID_COEFS; - move16(); - } - else - { - num_categorization_control_bits = MAX_NUM_CATEGORIZATION_CONTROL_BITS; - move16(); - num_categorization_control_possibilities = MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES; - move16(); - number_of_coefs = MAX_DCT_LENGTH; - move16(); - number_of_valid_coefs = MAX_NUMBER_OF_VALID_COEFS; - move16(); - } - - test(); - if (frame_error_flag == 0) - { - - /* convert the bits to absolute region power index and decoder_region_standard_deviation */ - - decode_envelope(bitobj, - number_of_regions, - decoder_region_standard_deviation, - absolute_region_power_index, - p_mag_shift); - - /* fill the categorization_control with NUM_CATEGORIZATION_CONTROL_BITS */ - categorization_control = 0; - for (i=0; i<num_categorization_control_bits; i++) - { - get_next_bit(bitobj); - categorization_control = shl_nocheck(categorization_control,1); - categorization_control = add(categorization_control,bitobj->next_bit); - } - - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,num_categorization_control_bits); - - /* obtain decoder power categories and category balances */ - /* based on the absolute region power index */ - categorize(bitobj->number_of_bits_left, - number_of_regions, - num_categorization_control_possibilities, - absolute_region_power_index, - decoder_power_categories, - decoder_category_balances); - - /* perform adjustmaents to the power categories and category balances based on the cat control */ - rate_adjust_categories(categorization_control, - decoder_power_categories, - decoder_category_balances); - - /* decode the quantized bits into mlt coefs */ - decode_vector_quantized_mlt_indices(bitobj, - randobj, - number_of_regions, - decoder_region_standard_deviation, - decoder_power_categories, - decoder_mlt_coefs); - - /* test for frame errors */ - test_4_frame_errors(bitobj, - number_of_regions, - num_categorization_control_possibilities, - &frame_error_flag, - categorization_control, - absolute_region_power_index); - } - - /* perform error handling operations */ - error_handling(number_of_coefs, - number_of_valid_coefs, - &frame_error_flag, - decoder_mlt_coefs, - old_decoder_mlt_coefs, - p_mag_shift, - p_old_mag_shift); - -} - -/*************************************************************************** - Function: decode_envelope - - Syntax: void decode_envelope(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *absolute_region_power_index, - Word16 *p_mag_shift) - - inputs: Bit_Obj *bitobj - Word16 number_of_regions - - - outputs: Word16 *decoder_region_standard_deviation - Word16 *absolute_region_power_index - Word16 *p_mag_shift - - - Description: Recover differential_region_power_index from code bits - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.04 | 0.04 - -------|--------------|---------------- - MAX | 0.05 | 0.05 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.08 | 0.08 | 0.08 - -------|--------------|----------------|---------------- - MAX | 0.10 | 0.10 | 0.10 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void decode_envelope(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *absolute_region_power_index, - Word16 *p_mag_shift) - -{ - Word16 region; - Word16 i; - Word16 index; - Word16 differential_region_power_index[MAX_NUMBER_OF_REGIONS]; - Word16 max_index; - - Word16 temp; - Word16 temp1; - Word16 temp2; - Word32 acca; - - index = 0; - move16(); - - /* get 5 bits from the current code word */ - for (i=0; i<5; i++) - { - get_next_bit(bitobj); - index = shl_nocheck(index,1); - index = add(index,bitobj->next_bit); - } - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,5); - - /* ESF_ADJUSTMENT_TO_RMS_INDEX compensates for the current (9/30/96) - IMLT being scaled to high by the ninth power of sqrt(2). */ - differential_region_power_index[0] = sub(index,ESF_ADJUSTMENT_TO_RMS_INDEX); - move16(); - - /* obtain differential_region_power_index */ - for (region=1; region<number_of_regions; region++) - { - index = 0; - move16(); - do - { - get_next_bit(bitobj); - test(); - if (bitobj->next_bit == 0) - { - index = differential_region_power_decoder_tree[region][index][0]; - move16(); - } - else - { - index = differential_region_power_decoder_tree[region][index][1]; - move16(); - } - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,1); - test(); - } while (index > 0); - - differential_region_power_index[region] = negate(index); - move16(); - } - - /* Reconstruct absolute_region_power_index[] from differential_region_power_index[]. */ - absolute_region_power_index[0] = differential_region_power_index[0]; - move16(); - for (region=1; region<number_of_regions; region++) - { - acca = L_add(absolute_region_power_index[region-1],differential_region_power_index[region]); - acca = L_add(acca,DRP_DIFF_MIN); - absolute_region_power_index[region] = extract_l(acca); - } - - /* Reconstruct decoder_region_standard_deviation[] from absolute_region_power_index[]. */ - /* DEBUG!!!! - This integer method jointly computes the mag_shift - and the standard deviations already mag_shift compensated. It - relies on REGION_POWER_STEPSIZE_DB being exactly 3.010299957 db - or a square root of 2 chnage in standard deviation. If - REGION_POWER_STEPSIZE_DB changes, this software must be - reworked. */ - - temp = 0; - move16(); - max_index = 0; - move16(); - for (region=0; region<number_of_regions; region++) - { - acca = L_add(absolute_region_power_index[region],REGION_POWER_TABLE_NUM_NEGATIVES); - i = extract_l(acca); - - temp1 = sub(i,max_index); - test(); - if (temp1 > 0) - { - max_index = i; - move16(); - } - temp = add(temp,int_region_standard_deviation_table[i]); - } - i = 9; - move16(); - - temp1 = sub(temp,8); - temp2 = sub(max_index,28); - test(); - test(); - logic16(); - test(); - logic16(); - while ((i >= 0) && ((temp1 >= 0) || (temp2 > 0))) - { - i = sub(i,1); - temp = shr_nocheck(temp,1); - max_index = sub(max_index,2); - temp1 = sub(temp,8); - temp2 = sub(max_index,28); - test(); - test(); - logic16(); - test(); - logic16(); - } - - *p_mag_shift = i; - move16(); - - /* pointer arithmetic */ - temp = (Word16 )(REGION_POWER_TABLE_NUM_NEGATIVES + (*p_mag_shift * 2)); - - for (region=0; region<number_of_regions; region++) - { - acca = L_add(absolute_region_power_index[region],temp); - i = extract_l(acca); - decoder_region_standard_deviation[region] = int_region_standard_deviation_table[i]; - move16(); - } - -} - -/*************************************************************************** - Function: rate_adjust_categories - - Syntax: void rate_adjust_categories(Word16 categorization_control, - Word16 *decoder_power_categories, - Word16 *decoder_category_balances) - - inputs: Word16 categorization_control, - Word16 *decoder_power_categories, - Word16 *decoder_category_balances - - outputs: Word16 categorization_control, - Word16 *decoder_power_categories, - - Description: Adjust the power categories based on the categorization control - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.00 | 0.00 - -------|--------------|---------------- - MAX | 0.00 | 0.00 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - MAX | 0.01 | 0.01 | 0.01 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void rate_adjust_categories(Word16 categorization_control, - Word16 *decoder_power_categories, - Word16 *decoder_category_balances) -{ - Word16 i; - Word16 region; - - i = 0; - move16(); - - test(); - while (categorization_control > 0) - { - region = decoder_category_balances[i++]; - move16(); - decoder_power_categories[region] = add(decoder_power_categories[region],1); - move16(); - categorization_control = sub(categorization_control,1); - } - -} - -/*************************************************************************** - Function: decode_vector_quantized_mlt_indices - - Syntax: void decode_vector_quantized_mlt_indices(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *decoder_power_categories, - Word16 *decoder_mlt_coefs) - inputs: Bit_Obj *bitobj - Rand_Obj *randobj - Word16 number_of_regions - Word16 *decoder_region_standard_deviation - Word16 *decoder_power_categories - - - outputs: Word16 *decoder_mlt_coefs - - - Description: Decode MLT coefficients - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.60 | 0.72 - -------|--------------|---------------- - MAX | 0.67 | 0.76 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.77 | 0.98 | 1.28 - -------|--------------|----------------|---------------- - MAX | 1.05 | 1.18 | 1.36 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void decode_vector_quantized_mlt_indices(Bit_Obj *bitobj, - Rand_Obj *randobj, - Word16 number_of_regions, - Word16 *decoder_region_standard_deviation, - Word16 *decoder_power_categories, - Word16 *decoder_mlt_coefs) -{ - Word16 standard_deviation; - Word16 *decoder_mlt_ptr; - Word16 decoder_mlt_value; - Word16 noifillpos; - Word16 noifillneg; - Word16 noise_fill_factor[3] = {5793,8192,23170}; - Word16 region; - Word16 category; - Word16 j,n; - Word16 k[MAX_VECTOR_DIMENSION]; - Word16 vec_dim; - Word16 num_vecs; - Word16 index; - Word16 bit=0; - Word16 signs_index=0; - Word16 num_sign_bits; - Word16 ran_out_of_bits_flag; - Word16 *decoder_table_ptr; - Word16 random_word; - - Word16 temp1; - Word16 temp; - Word32 acca; - - ran_out_of_bits_flag = 0; - move16(); - - for (region=0; region<number_of_regions; region++) - { - category = (Word16)decoder_power_categories[region]; - move16(); - acca = L_mult0(region,REGION_SIZE); - index = extract_l(acca); - decoder_mlt_ptr = &decoder_mlt_coefs[index]; - move16(); - standard_deviation = decoder_region_standard_deviation[region]; - move16(); - - temp = sub(category,7); - test(); - if (temp < 0) - { - /* Get the proper table of decoder tables, vec_dim, and num_vecs for the cat */ - decoder_table_ptr = (Word16 *) table_of_decoder_tables[category]; - move16(); - vec_dim = vector_dimension[category]; - move16(); - num_vecs = number_of_vectors[category]; - move16(); - - for (n=0; n<num_vecs; n++) - { - index = 0; - move16(); - - /* get index */ - do - { - test(); - if (bitobj->number_of_bits_left <= 0) - { - ran_out_of_bits_flag = 1; - move16(); - break; - } - - get_next_bit(bitobj); - - test(); - if (bitobj->next_bit == 0) - { - temp = shl_nocheck(index,1); - index = (Word16)*(decoder_table_ptr + temp); - move16(); - } - else - { - temp = shl_nocheck(index,1); - index = (Word16)*(decoder_table_ptr + temp + 1); - move16(); - } - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,1); - test(); - - } while (index > 0); - - test(); - if (ran_out_of_bits_flag != 0) - break; - - index = negate(index); - - /* convert index into array used to access the centroid table */ - /* get the number of sign bits in the index */ - num_sign_bits = index_to_array(index,k,category); - - temp = sub(bitobj->number_of_bits_left,num_sign_bits); - test(); - if (temp >= 0) - { - - test(); - if (num_sign_bits != 0) - { - signs_index = 0; - move16(); - for (j=0; j<num_sign_bits; j++) - { - get_next_bit(bitobj); - signs_index = shl_nocheck(signs_index,1); - signs_index = add(signs_index,bitobj->next_bit); - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,1); - } - temp = sub(num_sign_bits,1); - bit = shl_nocheck(1,(temp)); - } - - for (j=0; j<vec_dim; j++) - { - acca = L_mult0(standard_deviation,mlt_quant_centroid[category][k[j]]); - acca = L_shr_nocheck(acca,12); - decoder_mlt_value = extract_l(acca); - - test(); - if (decoder_mlt_value != 0) - { - test(); - if ((signs_index & bit) == 0) - decoder_mlt_value = negate(decoder_mlt_value); - bit = shr_nocheck(bit,1); - } - *decoder_mlt_ptr++ = decoder_mlt_value; - move16(); - } - } - else - { - ran_out_of_bits_flag = 1; - move16(); - break; - } - } - /* If ran out of bits during decoding do noise fill for remaining regions. */ - /* DEBUG!! - For now also redo all of last region with all noise fill. */ - test(); - if (ran_out_of_bits_flag != 0) - { - temp = add(region,1); - for (j=temp; j<number_of_regions; j++) - { - decoder_power_categories[j] = 7; - move16(); - } - category = 7; - move16(); - decoder_mlt_ptr = &decoder_mlt_coefs[region*REGION_SIZE]; - move16(); - } - } - - temp = sub(category,5); - temp1 = sub(category,6); - test(); - test(); - logic16(); - if ((temp == 0) || (temp1 == 0)) - { - - decoder_mlt_ptr = &decoder_mlt_coefs[region*REGION_SIZE]; - move16(); - noifillpos = mult(standard_deviation,noise_fill_factor[category - 5]); - noifillneg = negate(noifillpos); - - random_word = get_rand(randobj); - - for (j=0; j<10; j++) - { - test(); - if (*decoder_mlt_ptr == 0) - { - logic16(); - test(); - if ((random_word & 1) == 0) - { - temp1 = noifillneg; - move16(); - } - else - { - temp1 = noifillpos; - move16(); - } - *decoder_mlt_ptr = temp1; - move16(); - random_word = shr_nocheck(random_word,1); - } - /* pointer arithmetic */ - decoder_mlt_ptr++; - } - random_word = get_rand(randobj); - for (j=0; j<10; j++) - { - test(); - if (*decoder_mlt_ptr == 0) - { - logic16(); - test(); - if ((random_word & 1) == 0) - { - temp1 = noifillneg; - move16(); - } - else - { - temp1 = noifillpos; - move16(); - } - *decoder_mlt_ptr = temp1; - move16(); - random_word = shr_nocheck(random_word,1); - } - /* pointer arithmetic */ - decoder_mlt_ptr++; - } - } - - /* if (category == 7) */ - temp1 = sub(category,7); - test(); - if (temp1 == 0) - { - index = sub(category,5); - noifillpos = mult(standard_deviation,noise_fill_factor[index]); - noifillneg = negate(noifillpos); - - random_word = get_rand(randobj); - for (j=0; j<10; j++) - { - logic16(); - test(); - if ((random_word & 1) == 0) - { - temp1 = noifillneg; - move16(); - } - else - { - temp1 = noifillpos; - move16(); - } - *decoder_mlt_ptr++ = temp1; - move16(); - random_word = shr_nocheck(random_word,1); - } - random_word = get_rand(randobj); - for (j=0; j<10; j++) - { - logic16(); - test(); - if ((random_word & 1) == 0) - { - temp1 = noifillneg; - move16(); - } - else - { - temp1 = noifillpos; - move16(); - } - - *decoder_mlt_ptr++ = temp1; - move16(); - random_word = shr_nocheck(random_word,1); - } - } - } - - test(); - if (ran_out_of_bits_flag) - bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,1); -} -/**************************************************************************************** - Function: index_to_array - - Syntax: number_of_non_zero = index_to_array(Word16 index, - Word16 array[MAX_VECTOR_DIMENSION], - Word16 category) - - inputs: Word16 index - Word16 category - - outputs: Word16 array[MAX_VECTOR_DIMENSION] - used in decoder to access - mlt_quant_centroid table - - Word16 number_of_non_zero - number of non zero elements - in the array - - Description: Computes an array of sign bits with the length of the category vector - Returns the number of sign bits and the array - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.00 | 0.00 - -------|--------------|---------------- - MAX | 0.00 | 0.00 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - MAX | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - -****************************************************************************************/ -Word16 index_to_array(Word16 index,Word16 *array,Word16 category) -{ - Word16 j,q,p; - Word16 number_of_non_zero; - Word16 max_bin_plus_one; - Word16 inverse_of_max_bin_plus_one; - Word16 temp; - - number_of_non_zero = 0; - move16(); - - p = index; - move16(); - - max_bin_plus_one = add(max_bin[category],1); - inverse_of_max_bin_plus_one = max_bin_plus_one_inverse[category]; - move16(); - - temp = sub(vector_dimension[category],1); - for (j=temp; j>=0; j--) - { - q = mult(p,inverse_of_max_bin_plus_one); - temp = extract_l(L_mult0(q,max_bin_plus_one)); - array[j] = sub(p,temp); - move16(); - - p = q; - move16(); - - temp = array[j]; - move16(); - test(); - if (temp != 0) - number_of_non_zero = add(number_of_non_zero,1); - } - return(number_of_non_zero); -} -/*************************************************************************** - Function: test_4_frame_errors - - Syntax: void test_4_frame_errors(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *frame_error_flag, - Word16 categorization_control, - Word16 *absolute_region_power_index) - - inputs: bit_obj - number_of_regions - num_categorization_control_possibilities - frame_error_flag - categorization_control - absolute_region_power_index - - - outputs: frame_error_flag - - - - - Description: Tests for error conditions and sets the frame_error_flag accordingly - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.01 | 0.01 - -------|--------------|---------------- - MAX | 0.04 | 0.08 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.01 | 0.01 | 0.01 - -------|--------------|----------------|---------------- - MAX | 0.02 | 0.06 | 0.08 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void test_4_frame_errors(Bit_Obj *bitobj, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *frame_error_flag, - Word16 categorization_control, - Word16 *absolute_region_power_index) -{ - Word16 region; - Word16 i; - Word16 temp; - Word32 acca; - Word32 accb; - - /* Test for bit stream errors. */ - - test(); - if (bitobj->number_of_bits_left > 0) - { - for (i=0; i<bitobj->number_of_bits_left; i++) - { - get_next_bit(bitobj); - test(); - if (bitobj->next_bit == 0) - { - *frame_error_flag = 1; - move16(); - } - } - } - else - { - temp = sub(categorization_control,sub(num_categorization_control_possibilities,1)); - test(); - if (temp < 0) - { - test(); - if (bitobj->number_of_bits_left < 0) - { - *frame_error_flag |= 2; - logic16(); - } - } - } - - /* checks to ensure that abs_region_power_index is within range */ - /* the error flag is set if it is out of range */ - for (region=0; region<number_of_regions; region++) - { - /* the next two lines of comments were modified in release 1.2 - * to correct the description of the range of - * absolute_region_power_index[] to be tested in the next - * 9 lines of code. - */ - /* if ((absolute_region_power_index[region] > 31) || - (absolute_region_power_index[region] < -8) */ - - acca = L_add(absolute_region_power_index[region],ESF_ADJUSTMENT_TO_RMS_INDEX); - accb = L_sub(acca,31); - acca = L_add(acca,8); - test(); - - /* the next line was modifed in release 1.2 to - * correct miss typed code and error checking. - */ - if ((accb > 0) || (acca < 0)) - { - *frame_error_flag |= 4; - logic16(); - } - } - -} -/*************************************************************************** - Function: error_handling - - Syntax: void error_handling(Word16 number_of_coefs, - Word16 number_of_valid_coefs, - Word16 *frame_error_flag, - Word16 *decoder_mlt_coefs, - Word16 *old_decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift) - - inputs: number_of_coefs - number_of_valid_coefs - frame_error_flag - old_decoder_mlt_coefs - p_old_mag_shift - - - outputs: decoder_mlt_coefs - old_decoder_mlt_coefs - p_mag_shift - p_old_mag_shift - - - - Description: If both the current and previous frames are errored, - set the mlt coefficients to 0. If only the current frame - is errored, then repeat the previous frame's mlt coefficients. - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.02 | 0.02 - -------|--------------|---------------- - MAX | 0.03 | 0.03 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.03 | 0.03 | 0.03 - -------|--------------|----------------|---------------- - MAX | 0.03 | 0.03 | 0.06 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void error_handling(Word16 number_of_coefs, - Word16 number_of_valid_coefs, - Word16 *frame_error_flag, - Word16 *decoder_mlt_coefs, - Word16 *old_decoder_mlt_coefs, - Word16 *p_mag_shift, - Word16 *p_old_mag_shift) -{ - Word16 i; - - test(); - if (*frame_error_flag != 0) - { - - for (i = 0; i < number_of_valid_coefs; i++) - { - decoder_mlt_coefs[i] = old_decoder_mlt_coefs[i]; - move16(); - } - - for (i = 0; i < number_of_valid_coefs; i++) - { - old_decoder_mlt_coefs[i] = 0; - move16(); - } - - *p_mag_shift = *p_old_mag_shift; - move16(); - - *p_old_mag_shift = 0; - move16(); - } - else - { - /* Store in case next frame is errored. */ - for (i = 0; i < number_of_valid_coefs; i++) - { - old_decoder_mlt_coefs[i] = decoder_mlt_coefs[i]; - move16(); - } - - *p_old_mag_shift = *p_mag_shift; - move16(); - } - - - /* Zero out the upper 1/8 of the spectrum. */ - for (i = number_of_valid_coefs; i < number_of_coefs; i++) - { - decoder_mlt_coefs[i] = 0; - move16(); - } - -} -/**************************************************************************************** - Function: get_next_bit - - Syntax: void get_next_bit(Bit_Obj *bitobj) - - Description: Returns the next bit in the current word inside the bit object - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.00 | 0.00 - -------|--------------|---------------- - MAX | 0.00 | 0.00 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - MAX | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - -****************************************************************************************/ -void get_next_bit(Bit_Obj *bitobj) -{ - Word16 temp; - - test(); - if (bitobj->code_bit_count == 0) - { - bitobj->current_word = *bitobj->code_word_ptr++; - move16(); - bitobj->code_bit_count = 16; - move16(); - } - bitobj->code_bit_count = sub(bitobj->code_bit_count,1); - temp = shr_nocheck(bitobj->current_word,bitobj->code_bit_count); - logic16(); - bitobj->next_bit = (Word16 )(temp & 1); - -} -/**************************************************************************************** - Function: get_rand - - Syntax: Word16 get_rand(Rand_Obj *randobj) - - Description: Returns a random Word16 based on the seeds inside the rand object - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.00 | 0.00 - -------|--------------|---------------- - MAX | 0.00 | 0.00 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - MAX | 0.00 | 0.00 | 0.00 - -------|--------------|----------------|---------------- - -****************************************************************************************/ -Word16 get_rand(Rand_Obj *randobj) -{ - Word16 random_word; - Word32 acca; - - acca = L_add(randobj->seed0,randobj->seed3); - random_word = extract_l(acca); - - logic16(); - test(); - if ((random_word & 32768L) != 0) - random_word = add(random_word,1); - - randobj->seed3 = randobj->seed2; - move16(); - randobj->seed2 = randobj->seed1; - move16(); - randobj->seed1 = randobj->seed0; - move16(); - randobj->seed0 = random_word; - move16(); - - return(random_word); -} diff --git a/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.c b/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.c deleted file mode 100644 index 94ddf9fe4917e6e68ee8ff5a4466f9e4cb1b8955..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.c +++ /dev/null @@ -1,367 +0,0 @@ -/********************************************************************************* -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -*********************************************************************************/ - -/********************************************************************************* -* Filename: dct_type_iv_a.c -* -* Purpose: Discrete Cosine Transform, Type IV used for MLT -* -* The basis functions are -* -* cos(PI*(t+0.5)*(k+0.5)/block_length) -* -* for time t and basis function number k. Due to the symmetry of the expression -* in t and k, it is clear that the forward and inverse transforms are the same. -* -*********************************************************************************/ - -/********************************************************************************* - Include files -*********************************************************************************/ -#include "defs.h" -#include "count.h" -#include "dct4_a.h" - -/********************************************************************************* - External variable declarations -*********************************************************************************/ -extern Word16 anal_bias[DCT_LENGTH]; -extern Word16 dct_core_a[DCT_LENGTH_DIV_32][DCT_LENGTH_DIV_32]; -extern cos_msin_t a_cos_msin_2 [DCT_LENGTH_DIV_32]; -extern cos_msin_t a_cos_msin_4 [DCT_LENGTH_DIV_16]; -extern cos_msin_t a_cos_msin_8 [DCT_LENGTH_DIV_8]; -extern cos_msin_t a_cos_msin_16[DCT_LENGTH_DIV_4]; -extern cos_msin_t a_cos_msin_32[DCT_LENGTH_DIV_2]; -extern cos_msin_t a_cos_msin_64[DCT_LENGTH]; -extern cos_msin_t *a_cos_msin_table[]; - -/********************************************************************************* - Function: dct_type_iv_a - - Syntax: void dct_type_iv_a (input, output, dct_length) - Word16 input[], output[], dct_length; - - Description: Discrete Cosine Transform, Type IV used for MLT - - Design Notes: - - WMOPS: | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 1.14 | 1.14 - -------|--------------|---------------- - MAX | 1.14 | 1.14 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 2.57 | 2.57 | 2.57 - -------|--------------|----------------|---------------- - MAX | 2.57 | 2.57 | 2.57 - -------|--------------|----------------|---------------- - -*********************************************************************************/ - -void dct_type_iv_a (Word16 *input,Word16 *output,Word16 dct_length) -{ - Word16 buffer_a[MAX_DCT_LENGTH], buffer_b[MAX_DCT_LENGTH], buffer_c[MAX_DCT_LENGTH]; - Word16 *in_ptr, *in_ptr_low, *in_ptr_high, *next_in_base; - Word16 *out_ptr_low, *out_ptr_high, *next_out_base; - Word16 *out_buffer, *in_buffer, *buffer_swap; - Word16 in_val_low, in_val_high; - Word16 out_val_low, out_val_high; - Word16 in_low_even, in_low_odd; - Word16 in_high_even, in_high_odd; - Word16 out_low_even, out_low_odd; - Word16 out_high_even, out_high_odd; - Word16 *pair_ptr; - Word16 cos_even, cos_odd, msin_even, msin_odd; - Word16 neg_cos_odd; - Word16 neg_msin_even; - Word32 sum; - Word16 set_span, set_count, set_count_log, pairs_left, sets_left; - Word16 i,k; - Word16 index; - cos_msin_t **table_ptr_ptr, *cos_msin_ptr; - - Word16 temp; - Word32 acca; - - Word16 dct_length_log; - - - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - /* Do the sum/difference butterflies, the first part of */ - /* converting one N-point transform into N/2 two-point */ - /* transforms, where N = 1 << DCT_LENGTH_LOG. = 64/128 */ - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - test(); - if (dct_length==DCT_LENGTH) - { - dct_length_log = DCT_LENGTH_LOG; - - /* Add bias offsets */ - for (i=0;i<dct_length;i++) - { - input[i] = add(input[i],anal_bias[i]); - move16(); - } - } - else - dct_length_log = MAX_DCT_LENGTH_LOG; - - index = 0L; - move16(); - - in_buffer = input; - move16(); - - out_buffer = buffer_a; - move16(); - - temp = sub(dct_length_log,2); - for (set_count_log=0;set_count_log<=temp;set_count_log++) - { - - /*===========================================================*/ - /* Initialization for the loop over sets at the current size */ - /*===========================================================*/ - - /* set_span = 1 << (DCT_LENGTH_LOG - set_count_log); */ - set_span = shr_nocheck(dct_length,set_count_log); - - set_count = shl_nocheck(1,set_count_log); - - in_ptr = in_buffer; - move16(); - - next_out_base = out_buffer; - move16(); - - /*=====================================*/ - /* Loop over all the sets of this size */ - /*=====================================*/ - - for (sets_left=set_count;sets_left>0;sets_left--) - { - - /*||||||||||||||||||||||||||||||||||||||||||||*/ - /* Set up output pointers for the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||*/ - - out_ptr_low = next_out_base; - next_out_base = next_out_base + set_span; - out_ptr_high = next_out_base; - - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - /* Loop over all the butterflies in the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||||||||*/ - - do - { - in_val_low = *in_ptr++; - in_val_high = *in_ptr++; - // blp: addition of two 16bits vars, there's no way - // they'll overflow a 32bit var - //acca = L_add(in_val_low,in_val_high); - acca = (in_val_low + in_val_high); - acca = L_shr_nocheck(acca,1); - out_val_low = extract_l(acca); - - acca = L_sub(in_val_low,in_val_high); - acca = L_shr_nocheck(acca,1); - out_val_high = extract_l(acca); - - *out_ptr_low++ = out_val_low; - *--out_ptr_high = out_val_high; - - test(); - } while (out_ptr_low < out_ptr_high); - - } /* End of loop over sets of the current size */ - - /*============================================================*/ - /* Decide which buffers to use as input and output next time. */ - /* Except for the first time (when the input buffer is the */ - /* subroutine input) we just alternate the local buffers. */ - /*============================================================*/ - - in_buffer = out_buffer; - move16(); - if (out_buffer == buffer_a) - out_buffer = buffer_b; - else - out_buffer = buffer_a; - index = add(index,1); - - } /* End of loop over set sizes */ - - - /*++++++++++++++++++++++++++++++++*/ - /* Do N/2 two-point transforms, */ - /* where N = 1 << DCT_LENGTH_LOG */ - /*++++++++++++++++++++++++++++++++*/ - - pair_ptr = in_buffer; - move16(); - - buffer_swap = buffer_c; - move16(); - - temp = sub(dct_length_log,1); - temp = shl_nocheck(1,temp); - - for (pairs_left=temp; pairs_left > 0; pairs_left--) - { - for ( k=0; k<CORE_SIZE; k++ ) - { -#if PJ_HAS_INT64 - /* blp: danger danger! not really compatible but faster */ - pj_int64_t sum64=0; - move32(); - - for ( i=0; i<CORE_SIZE; i++ ) - { - sum64 += L_mult(pair_ptr[i], dct_core_a[i][k]); - } - sum = L_saturate(sum64); -#else - sum=0L; - move32(); - for ( i=0; i<CORE_SIZE; i++ ) - { - sum = L_mac(sum, pair_ptr[i],dct_core_a[i][k]); - } -#endif - buffer_swap[k] = itu_round(sum); - } - /* address arithmetic */ - pair_ptr += CORE_SIZE; - buffer_swap += CORE_SIZE; - } - - for (i=0;i<dct_length;i++) - { - in_buffer[i] = buffer_c[i]; - move16(); - } - - table_ptr_ptr = a_cos_msin_table; - - /*++++++++++++++++++++++++++++++*/ - /* Perform rotation butterflies */ - /*++++++++++++++++++++++++++++++*/ - temp = sub(dct_length_log,2); - for (set_count_log = temp; set_count_log >= 0; set_count_log--) - { - /*===========================================================*/ - /* Initialization for the loop over sets at the current size */ - /*===========================================================*/ - /* set_span = 1 << (DCT_LENGTH_LOG - set_count_log); */ - set_span = shr_nocheck(dct_length,set_count_log); - - set_count = shl_nocheck(1,set_count_log); - next_in_base = in_buffer; - move16(); - - test(); - if (set_count_log == 0) - { - next_out_base = output; - } - else - { - next_out_base = out_buffer; - } - - - /*=====================================*/ - /* Loop over all the sets of this size */ - /*=====================================*/ - for (sets_left = set_count; sets_left > 0;sets_left--) - { - /*|||||||||||||||||||||||||||||||||||||||||*/ - /* Set up the pointers for the current set */ - /*|||||||||||||||||||||||||||||||||||||||||*/ - in_ptr_low = next_in_base; - move16(); - temp = shr_nocheck(set_span,1); - - /* address arithmetic */ - in_ptr_high = in_ptr_low + temp; - next_in_base += set_span; - out_ptr_low = next_out_base; - next_out_base += set_span; - out_ptr_high = next_out_base; - cos_msin_ptr = *table_ptr_ptr; - - /*||||||||||||||||||||||||||||||||||||||||||||||||||||||*/ - /* Loop over all the butterfly pairs in the current set */ - /*||||||||||||||||||||||||||||||||||||||||||||||||||||||*/ - - do - { - /* address arithmetic */ - in_low_even = *in_ptr_low++; - in_low_odd = *in_ptr_low++; - in_high_even = *in_ptr_high++; - in_high_odd = *in_ptr_high++; - cos_even = cos_msin_ptr[0].cosine; - move16(); - msin_even = cos_msin_ptr[0].minus_sine; - move16(); - cos_odd = cos_msin_ptr[1].cosine; - move16(); - msin_odd = cos_msin_ptr[1].minus_sine; - move16(); - cos_msin_ptr += 2; - - sum = 0L; - sum=L_mac(sum,cos_even,in_low_even); - neg_msin_even = negate(msin_even); - sum=L_mac(sum,neg_msin_even,in_high_even); - out_low_even = itu_round(sum); - - sum = 0L; - sum=L_mac(sum,msin_even,in_low_even); - sum=L_mac(sum,cos_even,in_high_even); - out_high_even= itu_round(sum); - - sum = 0L; - sum=L_mac(sum,cos_odd,in_low_odd); - sum=L_mac(sum,msin_odd,in_high_odd); - out_low_odd= itu_round(sum); - - sum = 0L; - sum=L_mac(sum,msin_odd,in_low_odd); - neg_cos_odd = negate(cos_odd); - sum=L_mac(sum,neg_cos_odd,in_high_odd); - out_high_odd= itu_round(sum); - - *out_ptr_low++ = out_low_even; - *--out_ptr_high = out_high_even; - *out_ptr_low++ = out_low_odd; - *--out_ptr_high = out_high_odd; - test(); - } while (out_ptr_low < out_ptr_high); - - } /* End of loop over sets of the current size */ - - /*=============================================*/ - /* Swap input and output buffers for next time */ - /*=============================================*/ - - buffer_swap = in_buffer; - in_buffer = out_buffer; - out_buffer = buffer_swap; - table_ptr_ptr++; - } -} - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.h b/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.h deleted file mode 100644 index 74f3d9397a8484852914827050c3275834fb057e..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/encode/dct4_a.h +++ /dev/null @@ -1,728 +0,0 @@ -/**************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -****************************************************************************/ - -/**************************************************************************** - Filename: dct4_a.h - - Purpose: Contains tables used by dct4_a.c - - Design Notes: - -****************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include <stdio.h> -#include <math.h> - -typedef struct -{ - Word16 cosine; - Word16 minus_sine; -} cos_msin_t; - -cos_msin_t a_cos_msin_2[10] = { - { 29805 , -1171 } , - { 29621 , -3506 } , - { 29255 , -5819 } , - { 28708 , -8097 } , - { 27984 , -10324 } , - { 27088 , -12488 } , - { 26025 , -14575 } , - { 24801 , -16572 } , - { 23425 , -18466 } , - { 21903 , -20247 } - }; -cos_msin_t a_cos_msin_4[20] = { - { 29822 , -586 } , - { 29776 , -1756 } , - { 29684 , -2924 } , - { 29547 , -4087 } , - { 29364 , -5244 } , - { 29135 , -6392 } , - { 28862 , -7531 } , - { 28544 , -8659 } , - { 28182 , -9773 } , - { 27776 , -10871 } , - { 27328 , -11954 } , - { 26838 , -13017 } , - { 26306 , -14061 } , - { 25734 , -15083 } , - { 25122 , -16081 } , - { 24471 , -17055 } , - { 23783 , -18003 } , - { 23057 , -18923 } , - { 22297 , -19813 } , - { 21502 , -20673 } - }; -cos_msin_t a_cos_msin_8[40] = { - { 29827 , -293 } , - { 29815 , -878 } , - { 29792 , -1464 } , - { 29758 , -2048 } , - { 29712 , -2632 } , - { 29654 , -3215 } , - { 29586 , -3797 } , - { 29505 , -4377 } , - { 29414 , -4955 } , - { 29311 , -5532 } , - { 29196 , -6106 } , - { 29071 , -6678 } , - { 28934 , -7248 } , - { 28786 , -7814 } , - { 28627 , -8378 } , - { 28457 , -8938 } , - { 28276 , -9495 } , - { 28084 , -10049 } , - { 27882 , -10598 } , - { 27668 , -11144 } , - { 27444 , -11685 } , - { 27209 , -12221 } , - { 26964 , -12753 } , - { 26709 , -13280 } , - { 26443 , -13802 } , - { 26167 , -14318 } , - { 25881 , -14829 } , - { 25584 , -15335 } , - { 25278 , -15834 } , - { 24963 , -16327 } , - { 24637 , -16814 } , - { 24302 , -17295 } , - { 23958 , -17769 } , - { 23605 , -18236 } , - { 23242 , -18695 } , - { 22871 , -19148 } , - { 22490 , -19594 } , - { 22101 , -20031 } , - { 21704 , -20461 } , - { 21298 , -20884 } - }; -cos_msin_t a_cos_msin_16[80] = { - { 29828 , -146 } , - { 29825 , -439 } , - { 29819 , -732 } , - { 29811 , -1025 } , - { 29799 , -1317 } , - { 29785 , -1610 } , - { 29767 , -1902 } , - { 29747 , -2194 } , - { 29724 , -2486 } , - { 29698 , -2778 } , - { 29670 , -3069 } , - { 29638 , -3360 } , - { 29604 , -3651 } , - { 29567 , -3942 } , - { 29526 , -4232 } , - { 29483 , -4521 } , - { 29438 , -4811 } , - { 29389 , -5099 } , - { 29338 , -5388 } , - { 29283 , -5676 } , - { 29226 , -5963 } , - { 29166 , -6249 } , - { 29103 , -6535 } , - { 29038 , -6821 } , - { 28969 , -7106 } , - { 28898 , -7390 } , - { 28824 , -7673 } , - { 28748 , -7956 } , - { 28668 , -8237 } , - { 28586 , -8518 } , - { 28501 , -8799 } , - { 28413 , -9078 } , - { 28323 , -9357 } , - { 28229 , -9634 } , - { 28133 , -9911 } , - { 28035 , -10187 } , - { 27933 , -10461 } , - { 27829 , -10735 } , - { 27723 , -11008 } , - { 27613 , -11279 } , - { 27501 , -11550 } , - { 27387 , -11819 } , - { 27269 , -12088 } , - { 27149 , -12355 } , - { 27027 , -12621 } , - { 26901 , -12885 } , - { 26774 , -13149 } , - { 26643 , -13411 } , - { 26510 , -13672 } , - { 26375 , -13932 } , - { 26237 , -14190 } , - { 26096 , -14447 } , - { 25953 , -14702 } , - { 25807 , -14956 } , - { 25659 , -15209 } , - { 25509 , -15460 } , - { 25356 , -15710 } , - { 25200 , -15958 } , - { 25043 , -16205 } , - { 24882 , -16450 } , - { 24720 , -16693 } , - { 24554 , -16935 } , - { 24387 , -17175 } , - { 24217 , -17414 } , - { 24045 , -17651 } , - { 23871 , -17886 } , - { 23694 , -18119 } , - { 23515 , -18351 } , - { 23334 , -18581 } , - { 23150 , -18809 } , - { 22964 , -19036 } , - { 22776 , -19260 } , - { 22586 , -19483 } , - { 22394 , -19704 } , - { 22199 , -19923 } , - { 22003 , -20140 } , - { 21804 , -20355 } , - { 21603 , -20568 } , - { 21400 , -20779 } , - { 21195 , -20988 } - }; -cos_msin_t a_cos_msin_32[160]= { - { 29828 , -73 } , - { 29827 , -220 } , - { 29826 , -366 } , - { 29824 , -512 } , - { 29821 , -659 } , - { 29817 , -805 } , - { 29813 , -952 } , - { 29808 , -1098 } , - { 29802 , -1244 } , - { 29796 , -1390 } , - { 29789 , -1537 } , - { 29781 , -1683 } , - { 29772 , -1829 } , - { 29763 , -1975 } , - { 29753 , -2121 } , - { 29742 , -2267 } , - { 29730 , -2413 } , - { 29718 , -2559 } , - { 29705 , -2705 } , - { 29692 , -2851 } , - { 29677 , -2997 } , - { 29662 , -3142 } , - { 29646 , -3288 } , - { 29630 , -3433 } , - { 29613 , -3579 } , - { 29595 , -3724 } , - { 29576 , -3869 } , - { 29557 , -4014 } , - { 29537 , -4159 } , - { 29516 , -4304 } , - { 29494 , -4449 } , - { 29472 , -4594 } , - { 29449 , -4738 } , - { 29426 , -4883 } , - { 29401 , -5027 } , - { 29376 , -5172 } , - { 29351 , -5316 } , - { 29324 , -5460 } , - { 29297 , -5604 } , - { 29269 , -5747 } , - { 29241 , -5891 } , - { 29211 , -6034 } , - { 29181 , -6178 } , - { 29151 , -6321 } , - { 29119 , -6464 } , - { 29087 , -6607 } , - { 29054 , -6749 } , - { 29021 , -6892 } , - { 28987 , -7034 } , - { 28952 , -7177 } , - { 28916 , -7319 } , - { 28880 , -7460 } , - { 28843 , -7602 } , - { 28805 , -7744 } , - { 28767 , -7885 } , - { 28728 , -8026 } , - { 28688 , -8167 } , - { 28648 , -8308 } , - { 28607 , -8448 } , - { 28565 , -8589 } , - { 28522 , -8729 } , - { 28479 , -8869 } , - { 28435 , -9008 } , - { 28391 , -9148 } , - { 28346 , -9287 } , - { 28300 , -9426 } , - { 28253 , -9565 } , - { 28206 , -9703 } , - { 28158 , -9842 } , - { 28109 , -9980 } , - { 28060 , -10118 } , - { 28010 , -10255 } , - { 27959 , -10393 } , - { 27908 , -10530 } , - { 27856 , -10667 } , - { 27803 , -10803 } , - { 27750 , -10940 } , - { 27696 , -11076 } , - { 27641 , -11212 } , - { 27586 , -11347 } , - { 27529 , -11482 } , - { 27473 , -11617 } , - { 27415 , -11752 } , - { 27357 , -11886 } , - { 27299 , -12021 } , - { 27239 , -12154 } , - { 27179 , -12288 } , - { 27119 , -12421 } , - { 27057 , -12554 } , - { 26996 , -12687 } , - { 26933 , -12819 } , - { 26870 , -12951 } , - { 26806 , -13083 } , - { 26741 , -13215 } , - { 26676 , -13346 } , - { 26610 , -13476 } , - { 26544 , -13607 } , - { 26477 , -13737 } , - { 26409 , -13867 } , - { 26340 , -13996 } , - { 26271 , -14125 } , - { 26202 , -14254 } , - { 26132 , -14383 } , - { 26061 , -14511 } , - { 25989 , -14638 } , - { 25917 , -14766 } , - { 25844 , -14893 } , - { 25771 , -15020 } , - { 25697 , -15146 } , - { 25622 , -15272 } , - { 25547 , -15397 } , - { 25471 , -15523 } , - { 25394 , -15648 } , - { 25317 , -15772 } , - { 25239 , -15896 } , - { 25161 , -16020 } , - { 25082 , -16143 } , - { 25003 , -16266 } , - { 24923 , -16389 } , - { 24842 , -16511 } , - { 24760 , -16632 } , - { 24678 , -16754 } , - { 24596 , -16875 } , - { 24513 , -16995 } , - { 24429 , -17115 } , - { 24345 , -17235 } , - { 24260 , -17354 } , - { 24174 , -17473 } , - { 24088 , -17592 } , - { 24002 , -17710 } , - { 23914 , -17827 } , - { 23827 , -17945 } , - { 23738 , -18061 } , - { 23649 , -18178 } , - { 23560 , -18293 } , - { 23470 , -18409 } , - { 23379 , -18524 } , - { 23288 , -18638 } , - { 23196 , -18752 } , - { 23104 , -18866 } , - { 23011 , -18979 } , - { 22917 , -19092 } , - { 22824 , -19204 } , - { 22729 , -19316 } , - { 22634 , -19427 } , - { 22538 , -19538 } , - { 22442 , -19649 } , - { 22345 , -19759 } , - { 22248 , -19868 } , - { 22150 , -19977 } , - { 22052 , -20086 } , - { 21953 , -20194 } , - { 21854 , -20301 } , - { 21754 , -20408 } , - { 21653 , -20515 } , - { 21552 , -20621 } , - { 21451 , -20726 } , - { 21349 , -20831 } , - { 21246 , -20936 } , - { 21143 , -21040 } - }; -cos_msin_t a_cos_msin_64[320] = { -{29827, -34}, -{29827, -106}, -{29827, -177}, -{29827, -249}, -{29826, -320}, -{29825, -392}, -{29824, -463}, -{29823, -535}, -{29821, -606}, -{29819, -678}, -{29818, -750}, -{29816, -821}, -{29814, -893}, -{29812, -964}, -{29809, -1035}, -{29807, -1106}, -{29804, -1177}, -{29801, -1249}, -{29797, -1320}, -{29795, -1392}, -{29791, -1463}, -{29787, -1535}, -{29784, -1606}, -{29780, -1678}, -{29776, -1749}, -{29771, -1820}, -{29767, -1892}, -{29763, -1963}, -{29758, -2035}, -{29753, -2106}, -{29748, -2177}, -{29742, -2249}, -{29737, -2320}, -{29731, -2391}, -{29726, -2462}, -{29719, -2534}, -{29713, -2605}, -{29707, -2676}, -{29701, -2747}, -{29694, -2819}, -{29686, -2890}, -{29680, -2961}, -{29673, -3032}, -{29665, -3103}, -{29658, -3174}, -{29650, -3245}, -{29643, -3316}, -{29635, -3387}, -{29626, -3459}, -{29618, -3529}, -{29610, -3600}, -{29601, -3671}, -{29592, -3742}, -{29583, -3813}, -{29574, -3884}, -{29564, -3955}, -{29554, -4026}, -{29544, -4097}, -{29535, -4167}, -{29525, -4238}, -{29514, -4309}, -{29504, -4380}, -{29493, -4450}, -{29483, -4521}, -{29472, -4591}, -{29461, -4662}, -{29450, -4733}, -{29439, -4803}, -{29427, -4874}, -{29415, -4944}, -{29403, -5015}, -{29391, -5085}, -{29379, -5155}, -{29366, -5226}, -{29353, -5296}, -{29341, -5367}, -{29328, -5438}, -{29314, -5508}, -{29301, -5578}, -{29289, -5648}, -{29274, -5718}, -{29260, -5788}, -{29247, -5858}, -{29232, -5928}, -{29218, -5998}, -{29204, -6068}, -{29188, -6139}, -{29175, -6209}, -{29159, -6279}, -{29145, -6348}, -{29128, -6418}, -{29114, -6488}, -{29097, -6557}, -{29082, -6627}, -{29066, -6697}, -{29050, -6767}, -{29034, -6837}, -{29017, -6906}, -{29001, -6975}, -{28984, -7045}, -{28966, -7114}, -{28950, -7184}, -{28933, -7254}, -{28915, -7323}, -{28897, -7392}, -{28880, -7461}, -{28862, -7530}, -{28843, -7600}, -{28825, -7669}, -{28807, -7738}, -{28788, -7806}, -{28769, -7875}, -{28751, -7944}, -{28732, -8014}, -{28712, -8082}, -{28692, -8151}, -{28672, -8219}, -{28653, -8289}, -{28633, -8357}, -{28613, -8425}, -{28593, -8494}, -{28572, -8563}, -{28551, -8632}, -{28531, -8700}, -{28510, -8768}, -{28488, -8837}, -{28468, -8905}, -{28447, -8973}, -{28425, -9041}, -{28403, -9109}, -{28381, -9177}, -{28359, -9245}, -{28336, -9313}, -{28315, -9381}, -{28292, -9448}, -{28269, -9517}, -{28246, -9584}, -{28223, -9652}, -{28200, -9720}, -{28176, -9787}, -{28153, -9854}, -{28129, -9922}, -{28105, -9990}, -{28082, -10056}, -{28057, -10124}, -{28032, -10191}, -{28009, -10258}, -{27984, -10326}, -{27959, -10392}, -{27934, -10460}, -{27909, -10526}, -{27883, -10593}, -{27858, -10661}, -{27832, -10727}, -{27807, -10794}, -{27780, -10860}, -{27754, -10927}, -{27728, -10993}, -{27701, -11059}, -{27676, -11126}, -{27648, -11192}, -{27622, -11259}, -{27595, -11324}, -{27567, -11391}, -{27540, -11456}, -{27512, -11523}, -{27484, -11588}, -{27456, -11655}, -{27429, -11720}, -{27401, -11786}, -{27372, -11852}, -{27344, -11917}, -{27315, -11982}, -{27286, -12049}, -{27257, -12114}, -{27229, -12179}, -{27199, -12244}, -{27169, -12309}, -{27140, -12375}, -{27110, -12439}, -{27080, -12505}, -{27050, -12570}, -{27019, -12634}, -{26990, -12699}, -{26958, -12764}, -{26928, -12828}, -{26897, -12892}, -{26866, -12956}, -{26835, -13021}, -{26804, -13086}, -{26773, -13149}, -{26741, -13214}, -{26709, -13278}, -{26677, -13342}, -{26645, -13406}, -{26613, -13470}, -{26581, -13534}, -{26549, -13597}, -{26515, -13661}, -{26483, -13725}, -{26450, -13788}, -{26417, -13851}, -{26384, -13915}, -{26350, -13978}, -{26316, -14041}, -{26283, -14103}, -{26248, -14166}, -{26215, -14229}, -{26180, -14292}, -{26146, -14355}, -{26112, -14417}, -{26077, -14480}, -{26042, -14543}, -{26008, -14605}, -{25972, -14667}, -{25937, -14730}, -{25901, -14792}, -{25866, -14854}, -{25830, -14916}, -{25794, -14977}, -{25759, -15039}, -{25723, -15101}, -{25687, -15162}, -{25650, -15224}, -{25613, -15286}, -{25577, -15347}, -{25540, -15408}, -{25503, -15470}, -{25465, -15531}, -{25428, -15592}, -{25391, -15653}, -{25353, -15714}, -{25315, -15774}, -{25277, -15834}, -{25240, -15895}, -{25201, -15956}, -{25162, -16016}, -{25124, -16076}, -{25086, -16136}, -{25047, -16196}, -{25008, -16256}, -{24969, -16316}, -{24930, -16375}, -{24891, -16436}, -{24851, -16496}, -{24811, -16555}, -{24772, -16615}, -{24732, -16674}, -{24692, -16732}, -{24652, -16791}, -{24612, -16852}, -{24572, -16911}, -{24531, -16969}, -{24490, -17027}, -{24449, -17086}, -{24408, -17145}, -{24367, -17203}, -{24325, -17261}, -{24284, -17320}, -{24242, -17379}, -{24200, -17436}, -{24158, -17494}, -{24116, -17552}, -{24075, -17610}, -{24032, -17668}, -{23990, -17725}, -{23947, -17782}, -{23904, -17840}, -{23862, -17897}, -{23819, -17954}, -{23775, -18011}, -{23732, -18068}, -{23689, -18125}, -{23645, -18181}, -{23602, -18238}, -{23558, -18294}, -{23514, -18351}, -{23470, -18407}, -{23426, -18464}, -{23381, -18520}, -{23337, -18576}, -{23293, -18632}, -{23248, -18688}, -{23202, -18743}, -{23158, -18799}, -{23112, -18854}, -{23068, -18910}, -{23022, -18964}, -{22977, -19020}, -{22931, -19074}, -{22885, -19129}, -{22839, -19185}, -{22793, -19239}, -{22747, -19294}, -{22700, -19348}, -{22655, -19403}, -{22607, -19457}, -{22561, -19511}, -{22514, -19565}, -{22467, -19619}, -{22421, -19673}, -{22373, -19726}, -{22326, -19780}, -{22279, -19834}, -{22230, -19887}, -{22183, -19940}, -{22135, -19993}, -{22087, -20047}, -{22039, -20099}, -{21991, -20152}, -{21942, -20205}, -{21894, -20257}, -{21845, -20309}, -{21797, -20362}, -{21748, -20413}, -{21699, -20466}, -{21650, -20518}, -{21601, -20570}, -{21551, -20621}, -{21502, -20674} -}; - -cos_msin_t *a_cos_msin_table[] = {a_cos_msin_2, a_cos_msin_4, - a_cos_msin_8, a_cos_msin_16, - a_cos_msin_32,a_cos_msin_64 - }; - -Word16 dct_core_a[10][10] = { - -{ 10453, 10196, 9688, 8941, 7973, 6810, 5479, 4013, 2448, 823 }, -{ 10196, 7973, 4013, -823, -5479, -8941, -10453, -9688, -6810, -2448 }, -{ 9688 , 4013, -4013, -9688, -9688, -4013, 4013, 9688, 9688, 4013 }, -{ 8941 , -823, -9688, -7973, 2448, 10196, 6810, -4013, -10453, -5479 }, -{ 7973 , -5479, -9688, 2448, 10453, 823, -10196, -4013, 8941, 6810 }, -{ 6810 , -8941, -4013, 10196, 823, -10453, 2448, 9688, -5479, -7973 }, -{ 5479 , -10453, 4013, 6810, -10196, 2448, 7973, -9688, 823, 8941 }, -{ 4013 , -9688, 9688, -4013, -4013, 9688, -9688, 4013, 4013, -9688 }, -{ 2448 , -6810, 9688, -10453, 8941, -5479, 823, 4013, -7973, 10196 }, -{ 823 , -2448, 4013, -5479, 6810, -7973, 8941, -9688, 10196, -10453 }}; - -Word16 anal_bias[320] = { - 1, 1, 3, 1, 4, 1, 3, -2, 4, 3, - 4, 1, 3, 0, 2, -3, 0, 0, 2, 2, - 4, 1, 1, -5, 4, 1, 2, -1, 0, -1, - 1, -2, 0, 2, 2, 2, 4, 1, 3, 0, - 5, 3, 2, 0, 3, 0, 1, -4, 1, 1, - 2, 0, 4, 0, 1, -4, 6, 1, 3, -1, - 1, 0, 0, -4, 1, 1, 3, 1, 3, 2, - 4, -2, 4, 3, 5, 1, 3, 0, 1, -3, - 1, 1, 2, 0, 4, 1, 2, -4, 4, 2, - 2, -1, 1, -1, 1, -4, 0, 0, 3, 0, - 5, 2, 3, -1, 6, 2, 5, 0, 4, 0, - 1, -3, 1, 0, 3, 0, 4, 0, 1, -3, - 4, 1, 3, -1, 1, -2, 1, -4, 0, 1, - 2, 1, 3, 2, 2, -2, 4, 3, 3, 0, - 3, 0, 0, -2, 1, 0, 2, 0, 5, -1, - 1, -3, 4, 2, 2, 0, 2, -3, 1, -4, - -1, 1, 2, 2, 4, 1, 3, -1, 5, 2, - 2, 0, 3, -1, 2, -3, 0, 1, 2, 2, - 4, 0, 1, -5, 5, 1, 3, 0, 2, -1, - 0, -2, 1, 2, 2, 2, 4, 1, 0, 0, - 4, 2, 4, 1, 4, -1, 1, -4, 0, 1, - 3, 1, 5, 1, 1, -2, 4, 0, 2, 0, - 2, -1, 0, -2, 0, 1, 1, 1, 4, 2, - 3, -2, 5, 4, 4, 0, 3, 0, 3, -4, - 1, 2, 2, 0, 4, 1, 0, -3, 4, 2, - 3, -1, 1, -1, 1, -4, 0, 2, 3, 1, - 4, 1, 3, 0, 3, 3, 4, 1, 2, 0, - 1, -3, 2, 2, 2, 1, 5, 0, 1, -4, - 4, 1, 3, -2, 3, -1, 0, -2, 0, 2, - 2, 0, 5, 1, 4, -1, 4, 3, 4, 1, - 3, 0, 1, -4, 2, 0, 3, 1, 5, 0, - 1, -5, 5, 2, 2, 0, 0, 0, 0, -4}; - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/encode/encoder.c b/sflphone-common/libs/pjproject/third_party/g7221/encode/encoder.c deleted file mode 100644 index 2d878cc48ab368fb88bf00da9a4c25360ab3ebcd..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/encode/encoder.c +++ /dev/null @@ -1,1125 +0,0 @@ -/*************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -***************************************************************************/ - -/*************************************************************************** - Filename: encoder.c - - Purpose: Contains files used to implement the G.722.1 Annex C encoder - - Design Notes: - -***************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ - -#include <stdio.h> -#include <math.h> -#include "defs.h" -#include "huff_def.h" -#include "tables.h" -#include "count.h" - -/*************************************************************************** - Function: encoder - - Syntax: void encoder(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 mlt_coefs, - Word16 mag_shift, - Word16 out_words) - - inputs: number_of_available_bits - number_of_regions - mag_shift - mlt_coefs[DCT_LENGTH] - - outputs: out_words[MAX_BITS_PER_FRAME/16] - - - Description: Encodes the mlt coefs into out_words using G.722.1 Annex C - - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.93 | 1.04 - -------|--------------|---------------- - MAX | 1.20 | 1.28 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 1.39 | 1.71 | 2.01 - -------|--------------|----------------|---------------- - MAX | 2.00 | 2.30 | 2.52 - -------|--------------|----------------|---------------- - -***************************************************************************/ - -void encoder(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 *mlt_coefs, - Word16 mag_shift, - Word16 *out_words) -{ - - Word16 num_categorization_control_bits; - Word16 num_categorization_control_possibilities; - Word16 number_of_bits_per_frame; - Word16 number_of_envelope_bits; - Word16 categorization_control; - Word16 region; - Word16 absolute_region_power_index[MAX_NUMBER_OF_REGIONS]; - Word16 power_categories[MAX_NUMBER_OF_REGIONS]; - Word16 category_balances[MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES-1]; - Word16 drp_num_bits[MAX_NUMBER_OF_REGIONS+1]; - UWord16 drp_code_bits[MAX_NUMBER_OF_REGIONS+1]; - Word16 region_mlt_bit_counts[MAX_NUMBER_OF_REGIONS]; - UWord32 region_mlt_bits[4*MAX_NUMBER_OF_REGIONS]; - Word16 mag_shift_offset; - - Word16 temp; - - /* initialize variables */ - test(); - if (number_of_regions == NUMBER_OF_REGIONS) - { - num_categorization_control_bits = NUM_CATEGORIZATION_CONTROL_BITS; - move16(); - num_categorization_control_possibilities = NUM_CATEGORIZATION_CONTROL_POSSIBILITIES; - move16(); - } - else - { - num_categorization_control_bits = MAX_NUM_CATEGORIZATION_CONTROL_BITS; - move16(); - num_categorization_control_possibilities = MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES; - move16(); - } - - number_of_bits_per_frame = number_of_available_bits; - move16(); - - for (region=0; region<number_of_regions; region++) - { - region_mlt_bit_counts[region] = 0; - move16(); - } - - /* Estimate power envelope. */ - number_of_envelope_bits = compute_region_powers(mlt_coefs, - mag_shift, - drp_num_bits, - drp_code_bits, - absolute_region_power_index, - number_of_regions); - - /* Adjust number of available bits based on power envelope estimate */ - temp = sub(number_of_available_bits,number_of_envelope_bits); - number_of_available_bits = sub(temp,num_categorization_control_bits); - - /* get categorizations */ - categorize(number_of_available_bits, - number_of_regions, - num_categorization_control_possibilities, - absolute_region_power_index, - power_categories, - category_balances); - - /* Adjust absolute_region_category_index[] for mag_shift. - This assumes that REGION_POWER_STEPSIZE_DB is defined - to be exactly 3.010299957 or 20.0 times log base 10 - of square root of 2. */ - temp = shl_nocheck(mag_shift,1); - mag_shift_offset = add(temp,REGION_POWER_TABLE_NUM_NEGATIVES); - - for (region=0; region<number_of_regions; region++) - { - absolute_region_power_index[region] = add(absolute_region_power_index[region],mag_shift_offset); - move16(); - } - - /* adjust the absolute power region index based on the mlt coefs */ - adjust_abs_region_power_index(absolute_region_power_index,mlt_coefs,number_of_regions); - - - /* quantize and code the mlt coefficients based on categorizations */ - vector_quantize_mlts(number_of_available_bits, - number_of_regions, - num_categorization_control_possibilities, - mlt_coefs, - absolute_region_power_index, - power_categories, - category_balances, - &categorization_control, - region_mlt_bit_counts, - region_mlt_bits); - - /* stuff bits into words */ - bits_to_words(region_mlt_bits, - region_mlt_bit_counts, - drp_num_bits, - drp_code_bits, - out_words, - categorization_control, - number_of_regions, - num_categorization_control_bits, - number_of_bits_per_frame); - -} - -/*************************************************************************** - Function: bits_to_words - - Syntax: bits_to_words(UWord32 *region_mlt_bits, - Word16 *region_mlt_bit_counts, - Word16 *drp_num_bits, - UWord16 *drp_code_bits, - Word16 *out_words, - Word16 categorization_control, - Word16 number_of_regions, - Word16 num_categorization_control_bits, - Word16 number_of_bits_per_frame) - - - Description: Stuffs the bits into words for output - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.09 | 0.12 - -------|--------------|---------------- - MAX | 0.10 | 0.13 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.12 | 0.15 | 0.19 - -------|--------------|----------------|---------------- - MAX | 0.14 | 0.17 | 0.21 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void bits_to_words(UWord32 *region_mlt_bits, - Word16 *region_mlt_bit_counts, - Word16 *drp_num_bits, - UWord16 *drp_code_bits, - Word16 *out_words, - Word16 categorization_control, - Word16 number_of_regions, - Word16 num_categorization_control_bits, - Word16 number_of_bits_per_frame) -{ - Word16 out_word_index = 0; - Word16 j; - Word16 region; - Word16 out_word; - Word16 region_bit_count; - Word16 current_word_bits_left; - UWord16 slice; - Word16 out_word_bits_free = 16; - UWord32 *in_word_ptr; - UWord32 current_word; - - Word32 acca = 0; - Word32 accb; - Word16 temp; - - /* First set up the categorization control bits to look like one more set of region power bits. */ - out_word = 0; - move16(); - - drp_num_bits[number_of_regions] = num_categorization_control_bits; - move16(); - - drp_code_bits[number_of_regions] = (UWord16)categorization_control; - move16(); - - /* These code bits are right justified. */ - for (region=0; region <= number_of_regions; region++) - { - current_word_bits_left = drp_num_bits[region]; - move16(); - - current_word = (UWord32)drp_code_bits[region]; - move16(); - - j = sub(current_word_bits_left,out_word_bits_free); - - test(); - if (j >= 0) - { - temp = extract_l(L_shr_nocheck(current_word,j)); - out_word = add(out_word,temp); - - out_words[out_word_index++] = out_word; - move16(); - - out_word_bits_free = 16; - move16(); - - out_word_bits_free = sub(out_word_bits_free,j); - - acca = (current_word << out_word_bits_free); - out_word = extract_l(acca); - } - else - { - j = negate(j); - - acca = (current_word << j); - accb = L_deposit_l(out_word); - acca = L_add(accb,acca); - out_word = extract_l(acca); - - out_word_bits_free = sub(out_word_bits_free,current_word_bits_left); - } - } - - /* These code bits are left justified. */ - - for (region=0;region<number_of_regions; region++) - { - accb = L_deposit_l(out_word_index); - accb = L_shl_nocheck(accb,4); - accb = L_sub(accb,number_of_bits_per_frame); - test(); - if(accb < 0) - { - temp = shl_nocheck(region,2); - in_word_ptr = ®ion_mlt_bits[temp]; - region_bit_count = region_mlt_bit_counts[region]; - move16(); - - temp = sub(32,region_bit_count); - test(); - if(temp > 0) - current_word_bits_left = region_bit_count; - else - current_word_bits_left = 32; - - current_word = *in_word_ptr++; - - acca = L_deposit_l(out_word_index); - acca = L_shl_nocheck(acca,4); - acca = L_sub(acca,number_of_bits_per_frame); - - /* from while loop */ - test(); - test(); - logic16(); - while ((region_bit_count > 0) && (acca < 0)) - { - /* from while loop */ - test(); - test(); - logic16(); - - temp = sub(current_word_bits_left,out_word_bits_free); - test(); - if (temp >= 0) - { - temp = sub(32,out_word_bits_free); - accb = LU_shr(current_word,temp); - slice = (UWord16)extract_l(accb); - - out_word = add(out_word,slice); - - test(); - current_word <<= out_word_bits_free; - - current_word_bits_left = sub(current_word_bits_left,out_word_bits_free); - out_words[out_word_index++] = extract_l(out_word); - move16(); - - out_word = 0; - move16(); - - out_word_bits_free = 16; - move16(); - } - else - { - temp = sub(32,current_word_bits_left); - accb = LU_shr(current_word,temp); - slice = (UWord16)extract_l(accb); - - temp = sub(out_word_bits_free,current_word_bits_left); - test(); - accb = slice << temp; - acca = L_deposit_l(out_word); - acca = L_add(acca,accb); - out_word = extract_l(acca); - out_word_bits_free = sub(out_word_bits_free,current_word_bits_left); - - current_word_bits_left = 0; - move16(); - } - - test(); - if (current_word_bits_left == 0) - { - current_word = *in_word_ptr++; - region_bit_count = sub(region_bit_count,32); - - /* current_word_bits_left = MIN(32,region_bit_count); */ - temp = sub(32,region_bit_count); - test(); - if(temp > 0) - current_word_bits_left = region_bit_count; - else - current_word_bits_left = 32; - - } - acca = L_deposit_l(out_word_index); - acca = L_shl_nocheck(acca,4); - acca = L_sub(acca,number_of_bits_per_frame); - } - accb = L_deposit_l(out_word_index); - accb = L_shl_nocheck(accb,4); - accb = L_sub(accb,number_of_bits_per_frame); - } - } - - /* Fill out with 1's. */ - - test(); - while (acca < 0) - { - test(); - current_word = 0x0000ffff; - move32(); - - temp = sub(16,out_word_bits_free); - acca = LU_shr(current_word,temp); - slice = (UWord16)extract_l(acca); - - out_word = add(out_word,slice); - out_words[out_word_index++] = out_word; - move16(); - - out_word = 0; - move16(); - - out_word_bits_free = 16; - move16(); - - acca = L_deposit_l(out_word_index); - acca = L_shl_nocheck(acca,4); - acca = L_sub(acca,number_of_bits_per_frame); - } -} -/*************************************************************************** - Function: adjust_abs_region_power_index - - Syntax: adjust_abs_region_power_index(Word16 *absolute_region_power_index, - Word16 *mlt_coefs, - Word16 number_of_regions) - - inputs: *mlt_coefs - *absolute_region_power_index - number_of_regions - - outputs: *absolute_region_power_index - - Description: Adjusts the absolute power index - - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.03 | 0.03 - -------|--------------|---------------- - MAX | 0.12 | 0.12 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.03 | 0.03 | 0.03 - -------|--------------|----------------|---------------- - MAX | 0.14 | 0.14 | 0.14 - -------|--------------|----------------|---------------- - -***************************************************************************/ -void adjust_abs_region_power_index(Word16 *absolute_region_power_index,Word16 *mlt_coefs,Word16 number_of_regions) -{ - Word16 n,i; - Word16 region; - Word16 *raw_mlt_ptr; - - Word32 acca; - Word16 temp; - - for (region=0; region<number_of_regions; region++) - { - n = sub(absolute_region_power_index[region],39); - n = shr_nocheck(n,1); - - test(); - if (n > 0) - { - temp = extract_l(L_mult0(region,REGION_SIZE)); - - raw_mlt_ptr = &mlt_coefs[temp]; - - for (i=0; i<REGION_SIZE; i++) - { - acca = L_shl_nocheck(*raw_mlt_ptr,16); - acca = L_add(acca,32768L); - acca = L_shr_nocheck(acca,n); - acca = L_shr_nocheck(acca,16); - *raw_mlt_ptr++ = extract_l(acca); - } - - temp = shl_nocheck(n,1); - temp = sub(absolute_region_power_index[region],temp); - absolute_region_power_index[region] = temp; - move16(); - } - } -} - -/*************************************************************************** - Function: compute_region_powers - - Syntax: Word16 compute_region_powers(Word16 *mlt_coefs, - Word16 mag_shift, - Word16 *drp_num_bits, - UWord16 *drp_code_bits, - Word16 *absolute_region_power_index, - Word16 number_of_regions) - mlt_coefs[DCT_LENGTH]; - mag_shift; - drp_num_bits[MAX_NUMBER_OF_REGIONS]; - drp_code_bits[MAX_NUMBER_OF_REGIONS]; - absolute_region_power_index[MAX_NUMBER_OF_REGIONS]; - number_of_regions; - - Description: Computes the power for each of the regions - - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.09 | 0.09 - -------|--------------|---------------- - MAX | 0.13 | 0.13 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.20 | 0.20 | 0.20 - -------|--------------|----------------|---------------- - MAX | 0.29 | 0.29 | 0.29 - -------|--------------|----------------|---------------- - -***************************************************************************/ - -Word16 compute_region_powers(Word16 *mlt_coefs, - Word16 mag_shift, - Word16 *drp_num_bits, - UWord16 *drp_code_bits, - Word16 *absolute_region_power_index, - Word16 number_of_regions) -{ - - Word16 *input_ptr; - Word32 long_accumulator; - Word16 itemp1; - Word16 power_shift; - Word16 region; - Word16 j; - Word16 differential_region_power_index[MAX_NUMBER_OF_REGIONS]; - Word16 number_of_bits; - - Word32 acca; - Word16 temp; - Word16 temp1; - Word16 temp2; - - - input_ptr = mlt_coefs; - for (region=0; region<number_of_regions; region++) - { - long_accumulator = L_deposit_l(0); - - for (j=0; j<REGION_SIZE; j++) - { - itemp1 = *input_ptr++; - move16(); - long_accumulator = L_mac0(long_accumulator,itemp1,itemp1); - } - - power_shift = 0; - move16(); - - acca = (long_accumulator & 0x7fff0000L); - logic32(); - - test(); - while (acca > 0) - { - test(); - long_accumulator = L_shr_nocheck(long_accumulator,1); - - acca = (long_accumulator & 0x7fff0000L); - logic32(); - - power_shift = add(power_shift,1); - } - - acca = L_sub(long_accumulator,32767); - - temp = add(power_shift,15); - test(); - test(); - logic16(); - while ((acca <= 0) && (temp >= 0)) - { - test(); - test(); - logic16(); - - long_accumulator = L_shl_nocheck(long_accumulator,1); - acca = L_sub(long_accumulator,32767); - power_shift--; - temp = add(power_shift,15); - } - long_accumulator = L_shr_nocheck(long_accumulator,1); - /* 28963 corresponds to square root of 2 times REGION_SIZE(20). */ - acca = L_sub(long_accumulator,28963); - - test(); - if (acca >= 0) - power_shift = add(power_shift,1); - - acca = L_deposit_l(mag_shift); - acca = L_shl_nocheck(acca,1); - acca = L_sub(power_shift,acca); - acca = L_add(35,acca); - acca = L_sub(acca,REGION_POWER_TABLE_NUM_NEGATIVES); - absolute_region_power_index[region] = extract_l(acca); - } - - - /* Before we differentially encode the quantized region powers, adjust upward the - valleys to make sure all the peaks can be accurately represented. */ - temp = sub(number_of_regions,2); - - for (region = temp; region >= 0; region--) - { - temp1 = sub(absolute_region_power_index[region+1],DRP_DIFF_MAX); - temp2 = sub(absolute_region_power_index[region],temp1); - test(); - if (temp2 < 0) - { - absolute_region_power_index[region] = temp1; - move16(); - } - } - - /* The MLT is currently scaled too low by the factor - ENCODER_SCALE_FACTOR(=18318)/32768 * (1./sqrt(160). - This is the ninth power of 1 over the square root of 2. - So later we will add ESF_ADJUSTMENT_TO_RMS_INDEX (now 9) - to drp_code_bits[0]. */ - - /* drp_code_bits[0] can range from 1 to 31. 0 will be used only as an escape sequence. */ - temp1 = sub(1,ESF_ADJUSTMENT_TO_RMS_INDEX); - temp2 = sub(absolute_region_power_index[0],temp1); - test(); - if (temp2 < 0) - { - absolute_region_power_index[0] = temp1; - move16(); - } - - temp1 = sub(31,ESF_ADJUSTMENT_TO_RMS_INDEX); - - /* - * The next line was corrected in Release 1.2 - */ - - temp2 = sub(absolute_region_power_index[0], temp1); - test(); - if (temp2 > 0) - { - absolute_region_power_index[0] = temp1; - move16(); - } - - differential_region_power_index[0] = absolute_region_power_index[0]; - move16(); - - number_of_bits = 5; - move16(); - - drp_num_bits[0] = 5; - move16(); - - drp_code_bits[0] = (UWord16)add(absolute_region_power_index[0],ESF_ADJUSTMENT_TO_RMS_INDEX); - move16(); - - /* Lower limit the absolute region power indices to -8 and upper limit them to 31. Such extremes - may be mathematically impossible anyway.*/ - for (region=1; region<number_of_regions; region++) - { - temp1 = sub(-8,ESF_ADJUSTMENT_TO_RMS_INDEX); - temp2 = sub(absolute_region_power_index[region],temp1); - test(); - if (temp2 < 0) - { - absolute_region_power_index[region] = temp1; - move16(); - } - - temp1 = sub(31,ESF_ADJUSTMENT_TO_RMS_INDEX); - temp2 = sub(absolute_region_power_index[region],temp1); - test(); - if (temp2 > 0) - { - absolute_region_power_index[region] = temp1; - move16(); - } - } - - for (region=1; region<number_of_regions; region++) - { - j = sub(absolute_region_power_index[region],absolute_region_power_index[region-1]); - temp = sub(j,DRP_DIFF_MIN); - test(); - if (temp < 0) - { - j = DRP_DIFF_MIN; - } - j = sub(j,DRP_DIFF_MIN); - move16(); - differential_region_power_index[region] = j; - move16(); - - temp = add(absolute_region_power_index[region-1],differential_region_power_index[region]); - temp = add(temp,DRP_DIFF_MIN); - absolute_region_power_index[region] = temp; - move16(); - - number_of_bits = add(number_of_bits,differential_region_power_bits[region][j]); - drp_num_bits[region] = differential_region_power_bits[region][j]; - move16(); - drp_code_bits[region] = differential_region_power_codes[region][j]; - move16(); - } - - return (number_of_bits); -} - -/*************************************************************************** - Function: vector_quantize_mlts - - Syntax: void vector_quantize_mlts(number_of_available_bits, - number_of_regions, - num_categorization_control_possibilities, - mlt_coefs, - absolute_region_power_index, - power_categories, - category_balances, - p_categorization_control, - region_mlt_bit_counts, - region_mlt_bits) - - Word16 number_of_available_bits; - Word16 number_of_regions; - Word16 num_categorization_control_possibilities; - Word16 mlt_coefs[DCT_LENGTH]; - Word16 absolute_region_power_index[MAX_NUMBER_OF_REGIONS]; - Word16 power_categories[MAX_NUMBER_OF_REGIONS]; - Word16 category_balances[MAX_NUM_CATEGORIZATION_CONTROL_POSSIBILITIES-1]; - Word16 *p_categorization_control; - Word16 region_mlt_bit_counts[MAX_NUMBER_OF_REGIONS]; - Word32 region_mlt_bits[4*MAX_NUMBER_OF_REGIONS]; - - Description: Scalar quantized vector Huffman coding (SQVH) - - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.57 | 0.65 - -------|--------------|---------------- - MAX | 0.78 | 0.83 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.62 | 0.90 | 1.11 - -------|--------------|----------------|---------------- - MAX | 1.16 | 1.39 | 1.54 - -------|--------------|----------------|---------------- - -***************************************************************************/ - -void vector_quantize_mlts(Word16 number_of_available_bits, - Word16 number_of_regions, - Word16 num_categorization_control_possibilities, - Word16 *mlt_coefs, - Word16 *absolute_region_power_index, - Word16 *power_categories, - Word16 *category_balances, - Word16 *p_categorization_control, - Word16 *region_mlt_bit_counts, - UWord32 *region_mlt_bits) -{ - - Word16 *raw_mlt_ptr; - Word16 region; - Word16 category; - Word16 total_mlt_bits = 0; - - Word16 temp; - Word16 temp1; - Word16 temp2; - - /* Start in the middle of the categorization control range. */ - temp = shr_nocheck(num_categorization_control_possibilities,1); - temp = sub(temp,1); - for (*p_categorization_control = 0; *p_categorization_control < temp; (*p_categorization_control)++) - { - region = category_balances[*p_categorization_control]; - move16(); - power_categories[region] = add(power_categories[region],1); - move16(); - } - - for (region=0; region<number_of_regions; region++) - { - category = power_categories[region]; - move16(); - temp = extract_l(L_mult0(region,REGION_SIZE)); - raw_mlt_ptr = &mlt_coefs[temp]; - move16(); - temp = sub(category,(NUM_CATEGORIES-1)); - test(); - if (temp < 0) - { - region_mlt_bit_counts[region] = - vector_huffman(category, absolute_region_power_index[region],raw_mlt_ptr, - ®ion_mlt_bits[shl_nocheck(region,2)]); - } - else - { - region_mlt_bit_counts[region] = 0; - move16(); - } - total_mlt_bits = add(total_mlt_bits,region_mlt_bit_counts[region]); - } - - - /* If too few bits... */ - temp = sub(total_mlt_bits,number_of_available_bits); - test(); - test(); - logic16(); - while ((temp < 0) && (*p_categorization_control > 0)) - { - test(); - test(); - logic16(); - (*p_categorization_control)--; - region = category_balances[*p_categorization_control]; - move16(); - - power_categories[region] = sub(power_categories[region],1); - move16(); - - total_mlt_bits = sub(total_mlt_bits,region_mlt_bit_counts[region]); - category = power_categories[region]; - move16(); - - raw_mlt_ptr = &mlt_coefs[region*REGION_SIZE]; - move16(); - - temp = sub(category,(NUM_CATEGORIES-1)); - test(); - if (temp < 0) - { - region_mlt_bit_counts[region] = - vector_huffman(category, absolute_region_power_index[region],raw_mlt_ptr, - ®ion_mlt_bits[shl_nocheck(region,2)]); - } - else - { - region_mlt_bit_counts[region] = 0; - move16(); - } - total_mlt_bits = add(total_mlt_bits,region_mlt_bit_counts[region]); - temp = sub(total_mlt_bits,number_of_available_bits); - } - - /* If too many bits... */ - /* Set up for while loop test */ - temp1 = sub(total_mlt_bits,number_of_available_bits); - temp2 = sub(*p_categorization_control,sub(num_categorization_control_possibilities,1)); - test(); - test(); - logic16(); - - while ((temp1 > 0) && (temp2 < 0)) - { - /* operations for while contitions */ - test(); - test(); - logic16(); - - region = category_balances[*p_categorization_control]; - move16(); - - power_categories[region] = add(power_categories[region],1); - move16(); - - total_mlt_bits = sub(total_mlt_bits,region_mlt_bit_counts[region]); - category = power_categories[region]; - move16(); - - temp = extract_l(L_mult0(region,REGION_SIZE)); - raw_mlt_ptr = &mlt_coefs[temp]; - move16(); - - temp = sub(category,(NUM_CATEGORIES-1)); - test(); - if (temp < 0) - { - region_mlt_bit_counts[region] = - vector_huffman(category, absolute_region_power_index[region],raw_mlt_ptr, - ®ion_mlt_bits[shl_nocheck(region,2)]); - } - else - { - region_mlt_bit_counts[region] = 0; - move16(); - } - total_mlt_bits = add(total_mlt_bits,region_mlt_bit_counts[region]); - (*p_categorization_control)++; - - temp1 = sub(total_mlt_bits,number_of_available_bits); - temp2 = sub(*p_categorization_control,sub(num_categorization_control_possibilities,1)); - } -} - -/*************************************************************************** - Function: vector_huffman - - Syntax: Word16 vector_huffman(Word16 category, - Word16 power_index, - Word16 *raw_mlt_ptr, - UWord32 *word_ptr) - - inputs: Word16 category - Word16 power_index - Word16 *raw_mlt_ptr - - outputs: number_of_region_bits - *word_ptr - - - Description: Huffman encoding for each region based on category and power_index - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 0.03 | 0.03 - -------|--------------|---------------- - MAX | 0.04 | 0.04 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 0.03 | 0.03 | 0.03 - -------|--------------|----------------|---------------- - MAX | 0.04 | 0.04 | 0.04 - -------|--------------|----------------|---------------- - -***************************************************************************/ -Word16 vector_huffman(Word16 category, - Word16 power_index, - Word16 *raw_mlt_ptr, - UWord32 *word_ptr) -{ - - - Word16 inv_of_step_size_times_std_dev; - Word16 j,n; - Word16 k; - Word16 number_of_region_bits; - Word16 number_of_non_zero; - Word16 vec_dim; - Word16 num_vecs; - Word16 kmax, kmax_plus_one; - Word16 index,signs_index; - Word16 *bitcount_table_ptr; - UWord16 *code_table_ptr; - Word32 code_bits; - Word16 number_of_code_bits; - UWord32 current_word; - Word16 current_word_bits_free; - - Word32 acca; - Word32 accb; - Word16 temp; - - Word16 mytemp; /* new variable in Release 1.2 */ - Word16 myacca; /* new variable in Release 1.2 */ - - - /* initialize variables */ - vec_dim = vector_dimension[category]; - move16(); - - num_vecs = number_of_vectors[category]; - move16(); - - kmax = max_bin[category]; - move16(); - - kmax_plus_one = add(kmax,1); - move16(); - - current_word = 0L; - move16(); - - current_word_bits_free = 32; - move16(); - - number_of_region_bits = 0; - move16(); - - /* set up table pointers */ - bitcount_table_ptr = (Word16 *)table_of_bitcount_tables[category]; - code_table_ptr = (UWord16 *) table_of_code_tables[category]; - - /* compute inverse of step size * standard deviation */ - acca = L_mult(step_size_inverse_table[category],standard_deviation_inverse_table[power_index]); - acca = L_shr_nocheck(acca,1); - acca = L_add(acca,4096); - acca = L_shr_nocheck(acca,13); - - /* - * The next two lines are new to Release 1.2 - */ - - mytemp = (Word16)(acca & 0x3); - acca = L_shr_nocheck(acca,2); - - inv_of_step_size_times_std_dev = extract_l(acca); - - - for (n=0; n<num_vecs; n++) - { - index = 0; - move16(); - - signs_index = 0; - move16(); - - number_of_non_zero = 0; - move16(); - - for (j=0; j<vec_dim; j++) - { - k = abs_s(*raw_mlt_ptr); - - acca = L_mult(k,inv_of_step_size_times_std_dev); - acca = L_shr_nocheck(acca,1); - - /* - * The next four lines are new to Release 1.2 - */ - - myacca = (Word16)L_mult(k,mytemp); - myacca = (Word16)L_shr_nocheck(myacca,1); - myacca = (Word16)L_add(myacca,int_dead_zone_low_bits[category]); - myacca = (Word16)L_shr_nocheck(myacca,2); - - acca = L_add(acca,int_dead_zone[category]); - - /* - * The next two lines are new to Release 1.2 - */ - - acca = L_add(acca,myacca); - acca = L_shr_nocheck(acca,13); - - k = extract_l(acca); - - test(); - if (k != 0) - { - number_of_non_zero = add(number_of_non_zero,1); - signs_index = shl_nocheck(signs_index,1); - - test(); - if (*raw_mlt_ptr > 0) - { - signs_index = add(signs_index,1); - } - - temp = sub(k,kmax); - test(); - if (temp > 0) - { - k = kmax; - move16(); - } - } - acca = L_shr_nocheck(L_mult(index,(kmax_plus_one)),1); - index = extract_l(acca); - index = add(index,k); - raw_mlt_ptr++; - } - - code_bits = *(code_table_ptr+index); - number_of_code_bits = add((*(bitcount_table_ptr+index)),number_of_non_zero); - number_of_region_bits = add(number_of_region_bits,number_of_code_bits); - - acca = code_bits << number_of_non_zero; - accb = L_deposit_l(signs_index); - acca = L_add(acca,accb); - code_bits = acca; - move32(); - - /* msb of codebits is transmitted first. */ - j = sub(current_word_bits_free,number_of_code_bits); - test(); - if (j >= 0) - { - test(); - acca = code_bits << j; - current_word = L_add(current_word,acca); - current_word_bits_free = j; - move16(); - } - else - { - j = negate(j); - acca = L_shr_nocheck(code_bits,j); - current_word = L_add(current_word,acca); - - *word_ptr++ = current_word; - move16(); - - current_word_bits_free = sub(32,j); - test(); - current_word = code_bits << current_word_bits_free; - } - } - - *word_ptr++ = current_word; - move16(); - - return (number_of_region_bits); -} - - diff --git a/sflphone-common/libs/pjproject/third_party/g7221/encode/sam2coef.c b/sflphone-common/libs/pjproject/third_party/g7221/encode/sam2coef.c deleted file mode 100644 index 3dd5b7666038b4d0f201c48cf3637ac5856946e2..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/g7221/encode/sam2coef.c +++ /dev/null @@ -1,271 +0,0 @@ -/****************************************************************************** -** -** ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C -** > Software Release 2.1 (2008-06) -** (Simple repackaging; no change from 2005-05 Release 2.0 code) -** -** � 2004 Polycom, Inc. -** -** All rights reserved. -** -******************************************************************************/ - -/****************************************************************************** -* Filename: samples_to_rmlt_coefs.c -* -* Purpose: Convert Samples to Reversed MLT (Modulated Lapped Transform) -* Coefficients -* -* The "Reversed MLT" is an overlapped block transform which uses -* even symmetry * on the left, odd symmetry on the right and a -* Type IV DCT as the block transform. * It is thus similar to a -* MLT which uses odd symmetry on the left, even symmetry * on the -* right and a Type IV DST as the block transform. In fact, it is -* equivalent * to reversing the order of the samples, performing -* an MLT and then negating all * the even-numbered coefficients. -* -******************************************************************************/ - -/*************************************************************************** - Include files -***************************************************************************/ -#include "defs.h" -#include "tables.h" -#include "count.h" - -/*************************************************************************** - Function: samples_to_rmlt_coefs - - Syntax: Word16 samples_to_rmlt_coefs(new_samples, - old_samples, - coefs, - dct_length) - Word16 *new_samples; - Word16 *old_samples; - Word16 *coefs; - Word16 dct_length; - - Description: Convert samples to MLT coefficients - - Design Notes: - - WMOPS: 7kHz | 24kbit | 32kbit - -------|--------------|---------------- - AVG | 1.40 | 1.40 - -------|--------------|---------------- - MAX | 1.40 | 1.40 - -------|--------------|---------------- - - 14kHz | 24kbit | 32kbit | 48kbit - -------|--------------|----------------|---------------- - AVG | 3.07 | 3.07 | 3.07 - -------|--------------|----------------|---------------- - MAX | 3.10 | 3.10 | 3.10 - -------|--------------|----------------|---------------- - -***************************************************************************/ - -Word16 samples_to_rmlt_coefs(const Word16 *new_samples,Word16 *old_samples,Word16 *coefs,Word16 dct_length) -{ - - Word16 index, vals_left,mag_shift,n; - Word16 windowed_data[MAX_DCT_LENGTH]; - Word16 *old_ptr; - const Word16 *new_ptr, *sam_low, *sam_high; - Word16 *win_low, *win_high; - Word16 *dst_ptr; - Word16 neg_win_low; - Word16 samp_high; - Word16 half_dct_size; - - Word32 acca; - Word32 accb; - Word16 temp; - Word16 temp1; - Word16 temp2; - Word16 temp5; - - half_dct_size = shr_nocheck(dct_length,1); - - /*++++++++++++++++++++++++++++++++++++++++++++*/ - /* Get the first half of the windowed samples */ - /*++++++++++++++++++++++++++++++++++++++++++++*/ - - dst_ptr = windowed_data; - move16(); - - /* address arithmetic */ - test(); - if (dct_length==DCT_LENGTH) - { - win_high = samples_to_rmlt_window + half_dct_size; - } - else - { - win_high = max_samples_to_rmlt_window + half_dct_size; - } - - win_low = win_high; - move16(); - - /* address arithmetic */ - sam_high = old_samples + half_dct_size; - - sam_low = sam_high; - move16(); - - for (vals_left = half_dct_size;vals_left > 0;vals_left--) - { - acca = 0L; - move32(); - - acca = L_mac(acca,*--win_low, *--sam_low); - acca = L_mac(acca,*win_high++, *sam_high++); - temp = itu_round(acca); - - *dst_ptr++ = temp; - move16(); - } - - /*+++++++++++++++++++++++++++++++++++++++++++++*/ - /* Get the second half of the windowed samples */ - /*+++++++++++++++++++++++++++++++++++++++++++++*/ - - sam_low = new_samples; - move16(); - - /* address arithmetic */ - sam_high = new_samples + dct_length; - - for (vals_left = half_dct_size; vals_left > 0; vals_left--) - { - acca = 0L; - move32(); - - acca = L_mac(acca,*--win_high, *sam_low++); - neg_win_low = negate(*win_low++); - samp_high = *--sam_high; - acca = L_mac(acca, neg_win_low, samp_high); - temp = itu_round(acca); - - *dst_ptr++=temp; - move16(); - } - - /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - /* Save the new samples for next time, when they will be the old samples */ - /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - - new_ptr = new_samples; - move16(); - - old_ptr = old_samples; - move16(); - - for (vals_left = dct_length;vals_left > 0;vals_left--) - { - *old_ptr++ = *new_ptr++; - move16(); - } - - /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - /* Calculate how many bits to shift up the input to the DCT. */ - /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - - temp1=0; - move16(); - - for(index=0;index<dct_length;index++) - { - temp2 = abs_s(windowed_data[index]); - temp = sub(temp2,temp1); - test(); - if(temp > 0) - { - move16(); - temp1 = temp2; - } - } - - mag_shift=0; - move16(); - - temp = sub(temp1,14000); - test(); - if (temp >= 0) - { - mag_shift = 0; - move16(); - } - else - { - temp = sub(temp1,438); - test(); - if(temp < 0) - temp = add(temp1,1); - else - { - temp = temp1; - move16(); - } - accb = L_mult(temp,9587); - acca = L_shr_nocheck(accb,20); - temp5 = extract_l(acca); - temp = norm_s(temp5); - test(); - if (temp == 0) - { - mag_shift = 9; - move16(); - } - else - mag_shift = sub(temp,6); - - } - - acca = 0L; - move32(); - for(index=0; index<dct_length; index++) - { - temp = abs_s( windowed_data[index]); - acca = L_add(acca,temp); - } - - acca = L_shr_nocheck(acca,7); - - test(); - if (temp1 < acca) - { - mag_shift = sub(mag_shift,1); - } - - test(); - if (mag_shift > 0) - { - for(index=0;index<dct_length;index++) - { - windowed_data[index] = shl_nocheck(windowed_data[index],mag_shift); - } - } - else - { - test(); - if (mag_shift < 0) - { - n = negate(mag_shift); - for(index=0;index<dct_length;index++) - { - windowed_data[index] = shr_nocheck(windowed_data[index],n); - move16(); - } - } - } - - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - /* Perform a Type IV DCT on the windowed data to get the coefficients */ - /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - - dct_type_iv_a(windowed_data, coefs, dct_length); - - return(mag_shift); -} diff --git a/sflphone-common/libs/pjproject/third_party/mp3/BladeMP3EncDLL.h b/sflphone-common/libs/pjproject/third_party/mp3/BladeMP3EncDLL.h deleted file mode 100644 index 2e32b913a9d08b44eee1b138b3fcb8d103c196c6..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/mp3/BladeMP3EncDLL.h +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Blade Type of DLL Interface for Lame encoder - * - * Copyright (c) 1999-2002 A.L. Faber - * Based on bladedll.h version 1.0 written by Jukka Poikolainen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -//#define _BLADEDLL 1 - -#ifndef ___BLADEDLL_H_INCLUDED___ -#define ___BLADEDLL_H_INCLUDED___ - -#ifdef __GNUC__ -//#define ATTRIBUTE_PACKED __attribute__((packed)) -#define ATTRIBUTE_PACKED -#else -#define ATTRIBUTE_PACKED -#pragma pack(push) -#pragma pack(1) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* encoding formats */ - -#define BE_CONFIG_MP3 0 -#define BE_CONFIG_LAME 256 - -/* type definitions */ - -typedef unsigned long HBE_STREAM; -typedef HBE_STREAM *PHBE_STREAM; -typedef unsigned long BE_ERR; - -/* error codes */ - -#define BE_ERR_SUCCESSFUL 0x00000000 -#define BE_ERR_INVALID_FORMAT 0x00000001 -#define BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002 -#define BE_ERR_NO_MORE_HANDLES 0x00000003 -#define BE_ERR_INVALID_HANDLE 0x00000004 -#define BE_ERR_BUFFER_TOO_SMALL 0x00000005 - -/* other constants */ - -#define BE_MAX_HOMEPAGE 128 - -/* format specific variables */ - -#define BE_MP3_MODE_STEREO 0 -#define BE_MP3_MODE_JSTEREO 1 -#define BE_MP3_MODE_DUALCHANNEL 2 -#define BE_MP3_MODE_MONO 3 - - - -#define MPEG1 1 -#define MPEG2 0 - -#ifdef _BLADEDLL -#undef FLOAT - #include <Windows.h> -#endif - -#define CURRENT_STRUCT_VERSION 1 -#define CURRENT_STRUCT_SIZE sizeof(BE_CONFIG) // is currently 331 bytes - - -typedef enum -{ - VBR_METHOD_NONE = -1, - VBR_METHOD_DEFAULT = 0, - VBR_METHOD_OLD = 1, - VBR_METHOD_NEW = 2, - VBR_METHOD_MTRH = 3, - VBR_METHOD_ABR = 4 -} VBRMETHOD; - -typedef enum -{ - LQP_NOPRESET =-1, - - // QUALITY PRESETS - LQP_NORMAL_QUALITY = 0, - LQP_LOW_QUALITY = 1, - LQP_HIGH_QUALITY = 2, - LQP_VOICE_QUALITY = 3, - LQP_R3MIX = 4, - LQP_VERYHIGH_QUALITY = 5, - LQP_STANDARD = 6, - LQP_FAST_STANDARD = 7, - LQP_EXTREME = 8, - LQP_FAST_EXTREME = 9, - LQP_INSANE = 10, - LQP_ABR = 11, - LQP_CBR = 12, - LQP_MEDIUM = 13, - LQP_FAST_MEDIUM = 14, - - // NEW PRESET VALUES - LQP_PHONE =1000, - LQP_SW =2000, - LQP_AM =3000, - LQP_FM =4000, - LQP_VOICE =5000, - LQP_RADIO =6000, - LQP_TAPE =7000, - LQP_HIFI =8000, - LQP_CD =9000, - LQP_STUDIO =10000 - -} LAME_QUALITY_PRESET; - - - -typedef struct { - unsigned long dwConfig; // BE_CONFIG_XXXXX - // Currently only BE_CONFIG_MP3 is supported - union { - - struct { - - unsigned long dwSampleRate; // 48000, 44100 and 32000 allowed - unsigned char byMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO - unsigned short wBitrate; // 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed - int bPrivate; - int bCRC; - int bCopyright; - int bOriginal; - - } mp3; // BE_CONFIG_MP3 - - struct - { - // STRUCTURE INFORMATION - unsigned long dwStructVersion; - unsigned long dwStructSize; - - // BASIC ENCODER SETTINGS - unsigned long dwSampleRate; // SAMPLERATE OF INPUT FILE - unsigned long dwReSampleRate; // DOWNSAMPLERATE, 0=ENCODER DECIDES - long nMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO - unsigned long dwBitrate; // CBR bitrate, VBR min bitrate - unsigned long dwMaxBitrate; // CBR ignored, VBR Max bitrate - long nPreset; // Quality preset, use one of the settings of the LAME_QUALITY_PRESET enum - unsigned long dwMpegVersion; // FUTURE USE, MPEG-1 OR MPEG-2 - unsigned long dwPsyModel; // FUTURE USE, SET TO 0 - unsigned long dwEmphasis; // FUTURE USE, SET TO 0 - - // BIT STREAM SETTINGS - int bPrivate; // Set Private Bit (TRUE/FALSE) - int bCRC; // Insert CRC (TRUE/FALSE) - int bCopyright; // Set Copyright Bit (TRUE/FALSE) - int bOriginal; // Set Original Bit (TRUE/FALSE) - - // VBR STUFF - int bWriteVBRHeader; // WRITE XING VBR HEADER (TRUE/FALSE) - int bEnableVBR; // USE VBR ENCODING (TRUE/FALSE) - int nVBRQuality; // VBR QUALITY 0..9 - unsigned long dwVbrAbr_bps; // Use ABR in stead of nVBRQuality - VBRMETHOD nVbrMethod; - int bNoRes; // Disable Bit resorvoir (TRUE/FALSE) - - // MISC SETTINGS - int bStrictIso; // Use strict ISO encoding rules (TRUE/FALSE) - unsigned short nQuality; // Quality Setting, HIGH unsigned char should be NOT LOW byte, otherwhise quality=5 - - // FUTURE USE, SET TO 0, align strucutre to 331 bytes - unsigned char btReserved[255-4*sizeof(unsigned long) - sizeof( unsigned short )]; - - } LHV1; // LAME header version 1 - - struct { - - unsigned long dwSampleRate; - unsigned char byMode; - unsigned short wBitrate; - unsigned char byEncodingMethod; - - } aac; - - } format; - -} BE_CONFIG, *PBE_CONFIG ATTRIBUTE_PACKED; - - -typedef struct { - - // BladeEnc DLL Version number - - unsigned char byDLLMajorVersion; - unsigned char byDLLMinorVersion; - - // BladeEnc Engine Version Number - - unsigned char byMajorVersion; - unsigned char byMinorVersion; - - // DLL Release date - - unsigned char byDay; - unsigned char byMonth; - unsigned short wYear; - - // BladeEnc Homepage URL - - char zHomepage[BE_MAX_HOMEPAGE + 1]; - - unsigned char byAlphaLevel; - unsigned char byBetaLevel; - unsigned char byMMXEnabled; - - unsigned char btReserved[125]; - - -} BE_VERSION, *PBE_VERSION ATTRIBUTE_PACKED; - -#ifndef _BLADEDLL - -typedef unsigned long (*BEINITSTREAM) (PBE_CONFIG, unsigned long *, unsigned long *, PHBE_STREAM); -typedef unsigned long (*BEENCODECHUNK) (HBE_STREAM, unsigned long, short *, unsigned char *, unsigned long *); - -// added for floating point audio -- DSPguru, jd -typedef unsigned long (*BEENCODECHUNKFLOATS16NI) (HBE_STREAM, unsigned long, float *, float *, unsigned char *, unsigned long *); -typedef unsigned long (*BEDEINITSTREAM) (HBE_STREAM, unsigned char *, unsigned long *); -typedef unsigned long (*BECLOSESTREAM) (HBE_STREAM); -typedef void (*BEVERSION) (PBE_VERSION); -typedef unsigned long (*BEWRITEVBRHEADER) (const char*); -typedef unsigned long (*BEWRITEINFOTAG) (HBE_STREAM, const char * ); - -#define TEXT_BEINITSTREAM "beInitStream" -#define TEXT_BEENCODECHUNK "beEncodeChunk" -#define TEXT_BEENCODECHUNKFLOATS16NI "beEncodeChunkFloatS16NI" -#define TEXT_BEDEINITSTREAM "beDeinitStream" -#define TEXT_BECLOSESTREAM "beCloseStream" -#define TEXT_BEVERSION "beVersion" -#define TEXT_BEWRITEVBRHEADER "beWriteVBRHeader" -#define TEXT_BEFLUSHNOGAP "beFlushNoGap" -#define TEXT_BEWRITEINFOTAG "beWriteInfoTag" - - -#else - -__declspec(dllexport) unsigned long beInitStream(PBE_CONFIG pbeConfig, Punsigned long dwSamples, Punsigned long dwBufferSize, PHBE_STREAM phbeStream); -__declspec(dllexport) unsigned long beEncodeChunk(HBE_STREAM hbeStream, unsigned long nSamples, PSHORT pSamples, Punsigned char pOutput, Punsigned long pdwOutput); - -// added for floating point audio -- DSPguru, jd -__declspec(dllexport) unsigned long beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, unsigned long nSamples, PFLOAT buffer_l, PFLOAT buffer_r, Punsigned char pOutput, Punsigned long pdwOutput); -__declspec(dllexport) unsigned long beDeinitStream(HBE_STREAM hbeStream, Punsigned char pOutput, Punsigned long pdwOutput); -__declspec(dllexport) unsigned long beCloseStream(HBE_STREAM hbeStream); -__declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion); -__declspec(dllexport) unsigned long beWriteVBRHeader(LPCSTR lpszFileName); -__declspec(dllexport) unsigned long beFlushNoGap(HBE_STREAM hbeStream, Punsigned char pOutput, Punsigned long pdwOutput); -__declspec(dllexport) unsigned long beWriteInfoTag( HBE_STREAM hbeStream, LPCSTR lpszFileName ); - -#endif - -#ifndef __GNUC__ -#pragma pack(pop) -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/sflphone-common/libs/pjproject/third_party/mp3/mp3_port.h b/sflphone-common/libs/pjproject/third_party/mp3/mp3_port.h deleted file mode 100644 index fe8bbb751453af96d87ab07da80bb0b8dfa854cb..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/mp3/mp3_port.h +++ /dev/null @@ -1,147 +0,0 @@ -/* $Id: mp3_port.h 1177 2007-04-09 07:06:08Z bennylp $ */ -/* - * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* - * Contributed by: - * Toni < buldozer at aufbix dot org > - */ - -#ifndef __PJMEDIA_MP3_PORT_H__ -#define __PJMEDIA_MP3_PORT_H__ - - -/** - * @file mp3_port.h - * @brief MP3 writer - */ -#include <pjmedia/port.h> - -/** - * @defgroup PJMEDIA_MP3_FILE_REC MP3 Audio File Writer (Recorder) - * @ingroup PJMEDIA_PORT - * @brief MP3 Audio File Writer (Recorder) - * @{ - * - * This section describes MP3 file writer. Currently it only works on Windows - * using BladeEncDLL of the LAME MP3 encoder. <b>Note that the LAME_ENC.DLL - * file must exist in the PATH so that the encoder can work properly.</b> - * - * The MP3 file writer is created with #pjmedia_mp3_writer_port_create() which - * among other things specifies the desired file name and audio properties. - * It then takes PCM input when #pjmedia_port_put_frame() is called and encode - * the PCM input into MP3 streams before writing it to the .mp3 file. - */ - - -PJ_BEGIN_DECL - - -/** - * This structure contains encoding options that can be specified during - * MP3 writer port creation. Application should always zero the structure - * before setting some value to make sure that default options will be used. - */ -typedef struct pjmedia_mp3_encoder_option -{ - /** Specify whether variable bit rate should be used. Variable bitrate - * would normally produce better quality at the expense of probably - * larger file. - */ - pj_bool_t vbr; - - /** Target bitrate, in bps. If VBR is enabled, this settings specifies - * the average bit-rate requested, and will make the encoder ignore - * the quality setting. For CBR, this specifies the actual bitrate, - * and if this option is zero, it will be set to the sampling rate - * multiplied by number of channels. - */ - unsigned bit_rate; - - /** Encoding quality, 0-9, with 0 is the highest quality. For VBR, the - * quality setting will only take effect when bit_rate setting is zero. - */ - unsigned quality; - -} pjmedia_mp3_encoder_option; - - -/** - * Create a media port to record PCM media to a MP3 file. After the port - * is created, application can call #pjmedia_port_put_frame() to feed the - * port with PCM frames. The port then will encode the PCM frame into MP3 - * stream, and store it to MP3 file specified in the argument. - * - * When application has finished with writing MP3 file, it must destroy the - * media port with #pjmedia_port_destroy() so that the MP3 file can be - * closed properly. - * - * @param pool Pool to create memory buffers for this port. - * @param filename File name. - * @param clock_rate The sampling rate. - * @param channel_count Number of channels. - * @param samples_per_frame Number of samples per frame. - * @param bits_per_sample Number of bits per sample (eg 16). - * @param option Optional option to set encoding parameters. - * @param p_port Pointer to receive the file port instance. - * - * @return PJ_SUCCESS on success. - */ -PJ_DECL(pj_status_t) -pjmedia_mp3_writer_port_create(pj_pool_t *pool, - const char *filename, - unsigned clock_rate, - unsigned channel_count, - unsigned samples_per_frame, - unsigned bits_per_sample, - const pjmedia_mp3_encoder_option *option, - pjmedia_port **p_port ); - -/** - * Register the callback to be called when the file writing has reached - * certain size. Application can use this callback, for example, to limit - * the size of the output file. - * - * @param port The file writer port. - * @param pos The file position on which the callback will be called. - * @param user_data User data to be specified in the callback, and will be - * given on the callback. - * @param cb Callback to be called. If the callback returns non- - * PJ_SUCCESS, the writing will stop. Note that if - * application destroys the port in the callback, it must - * return non-PJ_SUCCESS here. - * - * @return PJ_SUCCESS on success. - */ -PJ_DECL(pj_status_t) -pjmedia_mp3_writer_port_set_cb( pjmedia_port *port, - pj_size_t pos, - void *user_data, - pj_status_t (*cb)(pjmedia_port *port, - void *usr_data)); - - -/** - * @} - */ - - -PJ_END_DECL - -#endif /* __PJMEDIA_MP3_PORT_H__ */ - diff --git a/sflphone-common/libs/pjproject/third_party/mp3/mp3_writer.c b/sflphone-common/libs/pjproject/third_party/mp3/mp3_writer.c deleted file mode 100644 index 4abd78d449f12e0694032b84cca3ed39964f3e43..0000000000000000000000000000000000000000 --- a/sflphone-common/libs/pjproject/third_party/mp3/mp3_writer.c +++ /dev/null @@ -1,563 +0,0 @@ -/* $Id: mp3_writer.c 1233 2007-04-30 11:05:23Z bennylp $ */ -/* - * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* - * Contributed by: - * Toni < buldozer at aufbix dot org > - */ -#include "mp3_port.h" -#include <pjmedia/errno.h> -#include <pj/assert.h> -#include <pj/file_access.h> -#include <pj/file_io.h> -#include <pj/log.h> -#include <pj/pool.h> -#include <pj/string.h> -#include <pj/unicode.h> - - -/* Include BladeDLL declarations */ -#include "BladeMP3EncDLL.h" - - -#define THIS_FILE "mp3_writer.c" -#define SIGNATURE PJMEDIA_PORT_SIGNATURE('F', 'W', 'M', '3') -#define BYTES_PER_SAMPLE 2 - -static struct BladeDLL -{ - void *hModule; - int refCount; - BEINITSTREAM beInitStream; - BEENCODECHUNK beEncodeChunk; - BEDEINITSTREAM beDeinitStream; - BECLOSESTREAM beCloseStream; - BEVERSION beVersion; - BEWRITEVBRHEADER beWriteVBRHeader; - BEWRITEINFOTAG beWriteInfoTag; -} BladeDLL; - - -struct mp3_file_port -{ - pjmedia_port base; - pj_size_t total; - pj_oshandle_t fd; - pj_size_t cb_size; - pj_status_t (*cb)(pjmedia_port*, void*); - - unsigned silence_duration; - - pj_str_t mp3_filename; - pjmedia_mp3_encoder_option mp3_option; - unsigned mp3_samples_per_frame; - pj_int16_t *mp3_sample_buf; - unsigned mp3_sample_pos; - HBE_STREAM mp3_stream; - unsigned char *mp3_buf; -}; - - -static pj_status_t file_put_frame(pjmedia_port *this_port, - const pjmedia_frame *frame); -static pj_status_t file_get_frame(pjmedia_port *this_port, - pjmedia_frame *frame); -static pj_status_t file_on_destroy(pjmedia_port *this_port); - - -#if defined(PJ_WIN32) || defined(_WIN32) || defined(WIN32) - -#include <windows.h> -#define DLL_NAME PJ_T("LAME_ENC.DLL") - -/* - * Load BladeEncoder DLL. - */ -static pj_status_t init_blade_dll(void) -{ - if (BladeDLL.refCount == 0) { - #define GET_PROC(type, name) \ - BladeDLL.name = (type)GetProcAddress(BladeDLL.hModule, PJ_T(#name)); \ - if (BladeDLL.name == NULL) { \ - PJ_LOG(1,(THIS_FILE, "Unable to find %s in %s", #name, DLL_NAME)); \ - return PJ_RETURN_OS_ERROR(GetLastError()); \ - } - - BE_VERSION beVersion; - BladeDLL.hModule = (void*)LoadLibrary(DLL_NAME); - if (BladeDLL.hModule == NULL) { - pj_status_t status = PJ_RETURN_OS_ERROR(GetLastError()); - char errmsg[PJ_ERR_MSG_SIZE]; - - pj_strerror(status, errmsg, sizeof(errmsg)); - PJ_LOG(1,(THIS_FILE, "Unable to load %s: %s", DLL_NAME, errmsg)); - return status; - } - - GET_PROC(BEINITSTREAM, beInitStream); - GET_PROC(BEENCODECHUNK, beEncodeChunk); - GET_PROC(BEDEINITSTREAM, beDeinitStream); - GET_PROC(BECLOSESTREAM, beCloseStream); - GET_PROC(BEVERSION, beVersion); - GET_PROC(BEWRITEVBRHEADER, beWriteVBRHeader); - GET_PROC(BEWRITEINFOTAG, beWriteInfoTag); - - #undef GET_PROC - - BladeDLL.beVersion(&beVersion); - PJ_LOG(4,(THIS_FILE, "%s encoder v%d.%d loaded (%s)", DLL_NAME, - beVersion.byMajorVersion, beVersion.byMinorVersion, - beVersion.zHomepage)); - } - ++BladeDLL.refCount; - return PJ_SUCCESS; -} - -/* - * Decrement the reference counter of the DLL. - */ -static void deinit_blade_dll() -{ - --BladeDLL.refCount; - if (BladeDLL.refCount == 0 && BladeDLL.hModule) { - FreeLibrary(BladeDLL.hModule); - BladeDLL.hModule = NULL; - PJ_LOG(4,(THIS_FILE, "%s unloaded", DLL_NAME)); - } -} - -#else - -static pj_status_t init_blade_dll(void) -{ - PJ_LOG(1,(THIS_FILE, "Error: MP3 writer port only works on Windows for now")); - return PJ_ENOTSUP; -} - -static void deinit_blade_dll() -{ -} -#endif - - - -/* - * Initialize MP3 encoder. - */ -static pj_status_t init_mp3_encoder(struct mp3_file_port *fport, - pj_pool_t *pool) -{ - BE_CONFIG LConfig; - unsigned long InSamples; - unsigned long OutBuffSize; - long MP3Err; - - /* - * Initialize encoder configuration. - */ - pj_bzero(&LConfig, sizeof(BE_CONFIG)); - LConfig.dwConfig = BE_CONFIG_LAME; - LConfig.format.LHV1.dwStructVersion = 1; - LConfig.format.LHV1.dwStructSize = sizeof(BE_CONFIG); - LConfig.format.LHV1.dwSampleRate = fport->base.info.clock_rate; - LConfig.format.LHV1.dwReSampleRate = 0; - - if (fport->base.info.channel_count==1) - LConfig.format.LHV1.nMode = BE_MP3_MODE_MONO; - else if (fport->base.info.channel_count==2) - LConfig.format.LHV1.nMode = BE_MP3_MODE_STEREO; - else - return PJMEDIA_ENCCHANNEL; - - LConfig.format.LHV1.dwBitrate = fport->mp3_option.bit_rate / 1000; - LConfig.format.LHV1.nPreset = LQP_NOPRESET; - LConfig.format.LHV1.bCopyright = 0; - LConfig.format.LHV1.bCRC = 1; - LConfig.format.LHV1.bOriginal = 1; - LConfig.format.LHV1.bPrivate = 0; - - if (!fport->mp3_option.vbr) { - LConfig.format.LHV1.nVbrMethod = VBR_METHOD_NONE; - LConfig.format.LHV1.bWriteVBRHeader = 0; - LConfig.format.LHV1.bEnableVBR = 0; - } else { - LConfig.format.LHV1.nVbrMethod = VBR_METHOD_DEFAULT; - LConfig.format.LHV1.bWriteVBRHeader = 1; - LConfig.format.LHV1.dwVbrAbr_bps = fport->mp3_option.bit_rate; - LConfig.format.LHV1.nVBRQuality = (pj_uint16_t) - fport->mp3_option.quality; - LConfig.format.LHV1.bEnableVBR = 1; - } - - LConfig.format.LHV1.nQuality = (pj_uint16_t) - (((0-fport->mp3_option.quality-1)<<8) | - fport->mp3_option.quality); - - /* - * Init MP3 stream. - */ - InSamples = 0; - MP3Err = BladeDLL.beInitStream(&LConfig, &InSamples, &OutBuffSize, - &fport->mp3_stream); - if (MP3Err != BE_ERR_SUCCESSFUL) - return PJMEDIA_ERROR; - - /* - * Allocate sample buffer. - */ - fport->mp3_samples_per_frame = (unsigned)InSamples; - fport->mp3_sample_buf = pj_pool_alloc(pool, fport->mp3_samples_per_frame * 2); - if (!fport->mp3_sample_buf) - return PJ_ENOMEM; - - /* - * Allocate encoded MP3 buffer. - */ - fport->mp3_buf = pj_pool_alloc(pool, (pj_size_t)OutBuffSize); - if (fport->mp3_buf == NULL) - return PJ_ENOMEM; - - - return PJ_SUCCESS; -} - - -/* - * Create MP3 file writer port. - */ -PJ_DEF(pj_status_t) -pjmedia_mp3_writer_port_create( pj_pool_t *pool, - const char *filename, - unsigned sampling_rate, - unsigned channel_count, - unsigned samples_per_frame, - unsigned bits_per_sample, - const pjmedia_mp3_encoder_option *param_option, - pjmedia_port **p_port ) -{ - struct mp3_file_port *fport; - pj_status_t status; - - status = init_blade_dll(); - if (status != PJ_SUCCESS) - return status; - - /* Check arguments. */ - PJ_ASSERT_RETURN(pool && filename && p_port, PJ_EINVAL); - - /* Only supports 16bits per sample for now. */ - PJ_ASSERT_RETURN(bits_per_sample == 16, PJ_EINVAL); - - /* Create file port instance. */ - fport = pj_pool_zalloc(pool, sizeof(struct mp3_file_port)); - PJ_ASSERT_RETURN(fport != NULL, PJ_ENOMEM); - - /* Initialize port info. */ - pj_strdup2_with_null(pool, &fport->mp3_filename, filename); - pjmedia_port_info_init(&fport->base.info, &fport->mp3_filename, SIGNATURE, - sampling_rate, channel_count, bits_per_sample, - samples_per_frame); - - fport->base.get_frame = &file_get_frame; - fport->base.put_frame = &file_put_frame; - fport->base.on_destroy = &file_on_destroy; - - - /* Open file in write and read mode. - * We need the read mode because we'll modify the WAVE header once - * the recording has completed. - */ - status = pj_file_open(pool, filename, PJ_O_WRONLY, &fport->fd); - if (status != PJ_SUCCESS) { - deinit_blade_dll(); - return status; - } - - /* Copy and initialize option with default settings */ - if (param_option) { - pj_memcpy(&fport->mp3_option, param_option, - sizeof(pjmedia_mp3_encoder_option)); - } else { - pj_bzero(&fport->mp3_option, sizeof(pjmedia_mp3_encoder_option)); - fport->mp3_option.vbr = PJ_TRUE; - } - - /* Calculate bitrate if it's not specified, only if it's not VBR. */ - if (fport->mp3_option.bit_rate == 0 && !fport->mp3_option.vbr) - fport->mp3_option.bit_rate = sampling_rate * channel_count; - - /* Set default quality if it's not specified */ - if (fport->mp3_option.quality == 0) - fport->mp3_option.quality = 2; - - /* Init mp3 encoder */ - status = init_mp3_encoder(fport, pool); - if (status != PJ_SUCCESS) { - pj_file_close(fport->fd); - deinit_blade_dll(); - return status; - } - - /* Done. */ - *p_port = &fport->base; - - PJ_LOG(4,(THIS_FILE, - "MP3 file writer '%.*s' created: samp.rate=%dKHz, " - "bitrate=%dkbps%s, quality=%d", - (int)fport->base.info.name.slen, - fport->base.info.name.ptr, - fport->base.info.clock_rate/1000, - fport->mp3_option.bit_rate/1000, - (fport->mp3_option.vbr ? " (VBR)" : ""), - fport->mp3_option.quality)); - - return PJ_SUCCESS; -} - - - -/* - * Register callback. - */ -PJ_DEF(pj_status_t) -pjmedia_mp3_writer_port_set_cb( pjmedia_port *port, - pj_size_t pos, - void *user_data, - pj_status_t (*cb)(pjmedia_port *port, - void *usr_data)) -{ - struct mp3_file_port *fport; - - /* Sanity check */ - PJ_ASSERT_RETURN(port && cb, PJ_EINVAL); - - /* Check that this is really a writer port */ - PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, PJ_EINVALIDOP); - - fport = (struct mp3_file_port*) port; - - fport->cb_size = pos; - fport->base.port_data.pdata = user_data; - fport->cb = cb; - - return PJ_SUCCESS; - -} - - -/* - * Put a frame into the buffer. When the buffer is full, flush the buffer - * to the file. - */ -static pj_status_t file_put_frame(pjmedia_port *this_port, - const pjmedia_frame *frame) -{ - struct mp3_file_port *fport = (struct mp3_file_port *)this_port; - unsigned long MP3Err; - pj_ssize_t bytes; - pj_status_t status; - unsigned long WriteSize; - - /* Record silence if input is no-frame */ - if (frame->type == PJMEDIA_FRAME_TYPE_NONE || frame->size == 0) { - unsigned samples_left = fport->base.info.samples_per_frame; - unsigned samples_copied = 0; - - /* Only want to record at most 1 second of silence */ - if (fport->silence_duration >= fport->base.info.clock_rate) - return PJ_SUCCESS; - - while (samples_left) { - unsigned samples_needed = fport->mp3_samples_per_frame - - fport->mp3_sample_pos; - if (samples_needed > samples_left) - samples_needed = samples_left; - - pjmedia_zero_samples(fport->mp3_sample_buf + fport->mp3_sample_pos, - samples_needed); - fport->mp3_sample_pos += samples_needed; - samples_left -= samples_needed; - samples_copied += samples_needed; - - /* Encode if we have full frame */ - if (fport->mp3_sample_pos == fport->mp3_samples_per_frame) { - - /* Clear position */ - fport->mp3_sample_pos = 0; - - /* Encode ! */ - MP3Err = BladeDLL.beEncodeChunk(fport->mp3_stream, - fport->mp3_samples_per_frame, - fport->mp3_sample_buf, - fport->mp3_buf, - &WriteSize); - if (MP3Err != BE_ERR_SUCCESSFUL) - return PJMEDIA_ERROR; - - /* Write the chunk */ - bytes = WriteSize; - status = pj_file_write(fport->fd, fport->mp3_buf, &bytes); - if (status != PJ_SUCCESS) - return status; - - /* Increment total written. */ - fport->total += bytes; - } - } - - fport->silence_duration += fport->base.info.samples_per_frame; - - } - /* If encoder is expecting different sample size, then we need to - * buffer the samples. - */ - else if (fport->mp3_samples_per_frame != - fport->base.info.samples_per_frame) - { - unsigned samples_left = frame->size / 2; - unsigned samples_copied = 0; - const pj_int16_t *src_samples = frame->buf; - - fport->silence_duration = 0; - - while (samples_left) { - unsigned samples_needed = fport->mp3_samples_per_frame - - fport->mp3_sample_pos; - if (samples_needed > samples_left) - samples_needed = samples_left; - - pjmedia_copy_samples(fport->mp3_sample_buf + fport->mp3_sample_pos, - src_samples + samples_copied, - samples_needed); - fport->mp3_sample_pos += samples_needed; - samples_left -= samples_needed; - samples_copied += samples_needed; - - /* Encode if we have full frame */ - if (fport->mp3_sample_pos == fport->mp3_samples_per_frame) { - - /* Clear position */ - fport->mp3_sample_pos = 0; - - /* Encode ! */ - MP3Err = BladeDLL.beEncodeChunk(fport->mp3_stream, - fport->mp3_samples_per_frame, - fport->mp3_sample_buf, - fport->mp3_buf, - &WriteSize); - if (MP3Err != BE_ERR_SUCCESSFUL) - return PJMEDIA_ERROR; - - /* Write the chunk */ - bytes = WriteSize; - status = pj_file_write(fport->fd, fport->mp3_buf, &bytes); - if (status != PJ_SUCCESS) - return status; - - /* Increment total written. */ - fport->total += bytes; - } - } - - } else { - - fport->silence_duration = 0; - - /* Encode ! */ - MP3Err = BladeDLL.beEncodeChunk(fport->mp3_stream, - fport->mp3_samples_per_frame, - frame->buf, - fport->mp3_buf, - &WriteSize); - if (MP3Err != BE_ERR_SUCCESSFUL) - return PJMEDIA_ERROR; - - /* Write the chunk */ - bytes = WriteSize; - status = pj_file_write(fport->fd, fport->mp3_buf, &bytes); - if (status != PJ_SUCCESS) - return status; - - /* Increment total written. */ - fport->total += bytes; - } - - /* Increment total written, and check if we need to call callback */ - - if (fport->cb && fport->total >= fport->cb_size) { - pj_status_t (*cb)(pjmedia_port*, void*); - pj_status_t status; - - cb = fport->cb; - fport->cb = NULL; - - status = (*cb)(this_port, this_port->port_data.pdata); - return status; - } - - return PJ_SUCCESS; -} - -/* - * Get frame, basicy is a no-op operation. - */ -static pj_status_t file_get_frame(pjmedia_port *this_port, - pjmedia_frame *frame) -{ - PJ_UNUSED_ARG(this_port); - PJ_UNUSED_ARG(frame); - return PJ_EINVALIDOP; -} - - -/* - * Close the port, modify file header with updated file length. - */ -static pj_status_t file_on_destroy(pjmedia_port *this_port) -{ - struct mp3_file_port *fport = (struct mp3_file_port*)this_port; - pj_status_t status; - unsigned long WriteSize; - unsigned long MP3Err; - - - /* Close encoder */ - MP3Err = BladeDLL.beDeinitStream(fport->mp3_stream, fport->mp3_buf, - &WriteSize); - if (MP3Err == BE_ERR_SUCCESSFUL) { - pj_ssize_t bytes = WriteSize; - status = pj_file_write(fport->fd, fport->mp3_buf, &bytes); - } - - /* Close file */ - status = pj_file_close(fport->fd); - - /* Write additional VBR header */ - if (fport->mp3_option.vbr) { - MP3Err = BladeDLL.beWriteVBRHeader(fport->mp3_filename.ptr); - } - - - /* Decrement DLL reference counter */ - deinit_blade_dll(); - - /* Done. */ - return PJ_SUCCESS; -} - diff --git a/sflphone-common/man/sflphoned.pod b/sflphone-common/man/sflphoned.pod index bd1e40a2dbfdac8a0650b04b41b9bc2a4201f262..99edc5140ff7e6c9752b913a51b5936456983d47 100644 --- a/sflphone-common/man/sflphoned.pod +++ b/sflphone-common/man/sflphoned.pod @@ -4,7 +4,7 @@ sflphoned - SIP and IAX2 compatible voice over IP softphone core. =head1 SYNOPSIS -sflphoned --help +B<sflphoned> [OPTION]... =head1 DESCRIPTION @@ -14,7 +14,7 @@ B<sflphoned> is the core of SFLphone; it communicates with the client side throu =head1 BUGS -Please report bugs at http://dev.savoirfairelinux.net/sflphone/newticket. +Please report bugs at https://projects.savoirfairelinux.com/projects/sflphone/issues/new. =head1 AUTHORS diff --git a/sflphone-common/src/Makefile.am b/sflphone-common/src/Makefile.am index 10d240d25e40a2b237f61cb2dae6d7420bd2de44..10950a290304ca4bfb9a69a28ae31562e9b453eb 100644 --- a/sflphone-common/src/Makefile.am +++ b/sflphone-common/src/Makefile.am @@ -37,27 +37,11 @@ endif sflphoned_CXXFLAGS = \ -DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(IAX_CXXFLAG) $(NETWORKMANAGER) \ - -DVERSION=\"$(VERSION)\" \ - @ZRTPCPP_CFLAGS@ \ - @libssl_CFLAGS@ - - -# Add here the dynamic libraries sflphoned should be linked against -sflphoned_LDADD = \ - ./libsflphone.la \ - @CCGNU2_LIBS@ \ - @CCEXT2_LIBS@ \ - @ZRTPCPP_LIBS@ \ - $(PJSIP_LIBS) \ - @CCRTP_LIBS@ \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @SAMPLERATE_LIBS@ \ - @libssl_LIBS@ + -DVERSION=\"$(VERSION)\" -# sflphoned_LDFLAGS= -pg -luuid -sflphoned_LDFLAGS= $(UUID_LIBS) +# libsflphone +sflphoned_LDADD = ./libsflphone.la noinst_LTLIBRARIES = libsflphone.la noinst_HEADERS = \ @@ -78,21 +62,40 @@ noinst_HEADERS = \ libsflphone_la_LIBADD = \ $(src)/libs/utilspp/libutilspp.la \ $(src)/libs/iax2/libiax2.la \ + $(src)/libs/dbus-c++/src/libdbus-c++-1.la \ $(IAX_LIB) \ ./sip/libsiplink.la \ ./audio/libaudio.la \ - ./audio/audiortp/libaudiortp.la \ - ./audio/sound/libsound.la \ - ./audio/codecs/libcodecdescriptor.la \ - ./audio/alsa/libalsalayer.la \ - ./audio/pulseaudio/libpulselayer.la \ ./dbus/libdbus.la \ ./config/libconfig.la \ ./plug-in/libplugin.la \ - ./plug-in/audiorecorder/libaudiorecorder.la \ ./hooks/libhooks.la \ ./history/libhistory.la +libsflphone_la_LDFLAGS = \ + @CCGNU2_LIBS@ \ + @CCEXT2_LIBS@ \ + @ZRTPCPP_LIBS@ \ + $(PJSIP_LIBS) \ + @CCRTP_LIBS@ \ + @ALSA_LIBS@ \ + @PULSEAUDIO_LIBS@ \ + @SAMPLERATE_LIBS@ \ + @libssl_LIBS@ \ + @UUID_LIBS@ + +libsflphone_la_CFLAGS = \ + @CCGNU2_CFLAGS@ \ + @CCEXT2_CFLAGS@ \ + @ZRTPCPP_CFLAGS@ \ + $(PJSIP_CFLAGS) \ + @CCRTP_CFLAGS@ \ + @ALSA_CFLAGS@ \ + @PULSEAUDIO_CFLAGS@ \ + @SAMPLERATE_CFLAGS@ \ + @libssl_CFLAGS@ \ + @UUID_CFLAGS@ + libsflphone_la_SOURCES = indent: diff --git a/sflphone-common/src/account.cpp b/sflphone-common/src/account.cpp index e54a278be7f88fccafbf048e77c1c5625441c3eb..40da977a2050c990bd347218a8820daf6bdc36ad 100644 --- a/sflphone-common/src/account.cpp +++ b/sflphone-common/src/account.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "account.h" @@ -58,7 +69,7 @@ void Account::loadConfig() { void Account::setRegistrationState (RegistrationState state) { if (state != _registrationState) { - _debug ("Account::setRegistrationState"); + _debug ("Account: set registration state"); _registrationState = state; // Notify the client @@ -70,7 +81,7 @@ void Account::loadAudioCodecs (void) { // if the user never set the codec list, use the default configuration for this account if (Manager::instance ().getConfigString (_accountID, "ActiveCodecs") == "") { - _warn ("use the default order"); + _info ("Account: use the default order"); Manager::instance ().getCodecDescriptorMap ().setDefaultOrder(); } @@ -92,21 +103,18 @@ void Account::setActiveCodecs (const std::vector <std::string> &list) { int payload; size_t size = list.size(); - _warn ("set the custom order %i", list.size ()); - _warn ("Setting active codec list"); - while ( (unsigned int) i < size) { payload = std::atoi (list[i].data()); - _warn ("Adding codec with RTP payload=%i", payload); + _info ("Account: Adding codec with RTP payload=%i", payload); //if (Manager::instance ().getCodecDescriptorMap ().isCodecLoaded (payload)) { _codecOrder.push_back ( (AudioCodecType) payload); //} i++; } - // setConfig - std::string s = Manager::instance ().serialize (list); - _warn ("Setting codec with payload number %s to the active list", s.c_str()); + // setConfig + std::string s = Manager::instance ().serialize (list); + // Set the config per account Manager::instance().setConfig (_accountID, "ActiveCodecs", s); diff --git a/sflphone-common/src/account.h b/sflphone-common/src/account.h index f2fa54b8106556cfef2882241edde89e806f18a2..80bfbd36ba1838b9e0c2d6dc482b3185f3e44219 100644 --- a/sflphone-common/src/account.h +++ b/sflphone-common/src/account.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef ACCOUNT_H @@ -65,13 +76,16 @@ typedef enum RegistrationState { #define CONFIG_ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" #define CONFIG_ACCOUNT_REGISTRATION_EXPIRE "Account.expire" #define CONFIG_CREDENTIAL_NUMBER "Credential.count" +#define ACCOUNT_DTMF_TYPE "Account.dtmfType" #define HOSTNAME "hostname" #define USERNAME "username" +#define ROUTESET "routeset" #define AUTHENTICATION_USERNAME "authenticationUsername" #define PASSWORD "password" #define REALM "realm" #define DEFAULT_REALM "*" +#define USERAGENT "useragent" #define LOCAL_INTERFACE "Account.localInterface" #define PUBLISHED_SAMEAS_LOCAL "Account.publishedSameAsLocal" @@ -116,6 +130,7 @@ typedef enum RegistrationState { #define REGISTRATION_STATE_CODE "Registration.code" #define REGISTRATION_STATE_DESCRIPTION "Registration.description" + class Account{ public: diff --git a/sflphone-common/src/accountcreator.cpp b/sflphone-common/src/accountcreator.cpp index be0d6f8f353d8a01b95fe8fb35eaff6f00408d79..c0b2abc383a972223cff6d44928d7c916f00b1be 100644 --- a/sflphone-common/src/accountcreator.cpp +++ b/sflphone-common/src/accountcreator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "accountcreator.h" #include "sip/sipaccount.h" diff --git a/sflphone-common/src/accountcreator.h b/sflphone-common/src/accountcreator.h index 6add7a7ac690a47ce4607a6b43453a23ca874124..b0c93191201635f99c84d5061478f178865e3000 100644 --- a/sflphone-common/src/accountcreator.h +++ b/sflphone-common/src/accountcreator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef ACCOUNTCREATOR_H #define ACCOUNTCREATOR_H diff --git a/sflphone-common/src/audio/Makefile.am b/sflphone-common/src/audio/Makefile.am index 19e5f45793c140ae16fc8936023ad03821990b64..8f49c29cc547b096cd2a47d42a951fe4bbbc1c68 100644 --- a/sflphone-common/src/audio/Makefile.am +++ b/sflphone-common/src/audio/Makefile.am @@ -2,35 +2,55 @@ include $(top_srcdir)/globals.mak noinst_LTLIBRARIES = libaudio.la - -if BUILD_ILBC -ILBC_FLAG = -DBUILD_ILBC -else -ILBC_FLAG = -endif - SUBDIRS = codecs audiortp sound alsa pulseaudio +# if ENABLE_SPEEXDSP +# SPEEXDSP=-DHAVE_SPEEXDSP_LIB +# endif + libaudio_la_SOURCES = \ audioloop.cpp \ ringbuffer.cpp \ mainbuffer.cpp \ + audiorecord.cpp \ + audiorecorder.cpp \ recordable.cpp \ audiolayer.cpp \ audiodevice.cpp \ samplerateconverter.cpp \ + delaydetection.cpp \ + echocancel.cpp \ + speexechocancel.cpp \ + audioprocessing.cpp \ dcblocker.cpp \ + jitterbuf.cpp \ $(SPEEX_SOURCES_CPP) noinst_HEADERS = \ audioloop.h \ common.h \ ringbuffer.h \ + mainbuffer.h \ + audiorecord.h \ + audiorecorder.h \ audiolayer.h \ audiodevice.h \ - mainbuffer.h \ recordable.h \ + algorithm.h \ + delaydetection.h \ + echocancel.h \ + speexechocancel.h \ + audioprocessing.h \ dcblocker.h \ + jitterbuf.h \ samplerateconverter.h +libaudio_la_LIBADD = \ + ./audiortp/libaudiortp.la \ + ./codecs/libcodecdescriptor.la \ + ./alsa/libalsalayer.la \ + ./pulseaudio/libpulselayer.la \ + ./sound/libsound.la + + diff --git a/sflphone-common/src/audio/algorithm.h b/sflphone-common/src/audio/algorithm.h new file mode 100644 index 0000000000000000000000000000000000000000..6f147471860f97504107db69ae1ba9294c518632 --- /dev/null +++ b/sflphone-common/src/audio/algorithm.h @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef ALGORITHM_H +#define ALGORITHM_H + +#include "global.h" + +/** + * \class Algorithm + * + * Abstract interface used to implement audio processing algorithm + */ +class Algorithm { + + public: + + virtual void reset(void) = 0; + + /** + * Put data to be processed + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes) = 0; + + /** + * + */ + virtual int getData(SFLDataFormat *outputData) = 0; + + /** + * Class implementing this interface must define this function + * for audio processing that require synchronization between spkrdata and + */ + virtual void process(SFLDataFormat *inputData, int nbBytes) = 0; + + /** + * Class implementing this interface must define this function + * for audio processing that require synchronization between spkrdata and + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) = 0; + + /** + * Class implementing this interface must define this function + * for audio processing that require synchronization between spkr and mic + * \param micData + * \param spkrData + * \param outputData + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) = 0; + +}; + +#endif diff --git a/sflphone-common/src/audio/alsa/Makefile.am b/sflphone-common/src/audio/alsa/Makefile.am index bcc584432ff498be653d216053a3b925f067b3c7..8f67710b33ea530dc6a44016121f6802d51276c7 100644 --- a/sflphone-common/src/audio/alsa/Makefile.am +++ b/sflphone-common/src/audio/alsa/Makefile.am @@ -4,5 +4,5 @@ noinst_LTLIBRARIES = libalsalayer.la libalsalayer_la_SOURCES = alsalayer.cpp -noinst_HEADERS = alsalayer.h +noinst_HEADERS = alsalayer.h diff --git a/sflphone-common/src/audio/alsa/alsalayer.cpp b/sflphone-common/src/audio/alsa/alsalayer.cpp index 920ab666b3be0e2e0824f8130dc4943e722b0542..89e6f41513f2e5e5bcf91d4e50ba4c516ae16c5c 100644 --- a/sflphone-common/src/audio/alsa/alsalayer.cpp +++ b/sflphone-common/src/audio/alsa/alsalayer.cpp @@ -1,6 +1,7 @@ /* - * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "alsalayer.h" @@ -27,6 +39,7 @@ int framesPerBufferAlsa = 2048; AlsaLayer::AlsaLayer (ManagerImpl* manager) : AudioLayer (manager , ALSA) , _PlaybackHandle (NULL) + , _RingtoneHandle (NULL) , _CaptureHandle (NULL) , _periodSize() , _audioPlugin() @@ -41,125 +54,144 @@ AlsaLayer::AlsaLayer (ManagerImpl* manager) , _audioThread (NULL) { - _debug (" Constructor of AlsaLayer called"); + _debug ("Audio: Build ALSA layer"); /* Instanciate the audio thread */ // _audioThread = new AudioThread (this); // _audioThread = NULL; _urgentRingBuffer.createReadPointer(); - - dcblocker = new DcBlocker(); + + AudioLayer::_echocancelstate = true; + AudioLayer::_noisesuppressstate = true; } // Destructor AlsaLayer::~AlsaLayer (void) { - _debug ("Destructor of AlsaLayer called"); + _debug ("Audio: Destroy of ALSA layer"); closeLayer(); if (_converter) { delete _converter; _converter = NULL; } - - if (dcblocker) { - delete dcblocker; - dcblocker = NULL; - } } bool AlsaLayer::closeLayer() { - _debugAlsa ("Close ALSA streams"); + _debugAlsa ("Audio: Close ALSA streams"); try { /* Stop the audio thread first */ if (_audioThread) { - _debug ("Stop Audio Thread"); + _debug ("Audio: Stop Audio Thread"); delete _audioThread; _audioThread=NULL; } } catch (...) { - _debugException ("! ARTP Exception: when stopping audiortp"); + _debugException ("Audio: Exception: when stopping audiortp"); throw; } /* Then close the audio devices */ closeCaptureStream(); - closePlaybackStream(); - _CaptureHandle = 0; - - _PlaybackHandle = 0; + _CaptureHandle = NULL; + _PlaybackHandle = NULL; + _RingtoneHandle = NULL; return true; } bool -AlsaLayer::openDevice (int indexIn, int indexOut, int sampleRate, int frameSize, int stream , std::string plugin) +AlsaLayer::openDevice (int indexIn, int indexOut, int indexRing, int sampleRate, int frameSize, int stream , std::string plugin) { /* Close the devices before open it */ if (stream == SFL_PCM_BOTH && is_capture_open() == true && is_playback_open() == true) { closeCaptureStream(); closePlaybackStream(); - } else if ( (stream == SFL_PCM_CAPTURE || stream == SFL_PCM_BOTH) && is_capture_open() == true) + } else if((stream == SFL_PCM_CAPTURE || stream == SFL_PCM_BOTH) && is_capture_open() == true) closeCaptureStream (); - else if ( (stream == SFL_PCM_PLAYBACK || stream == SFL_PCM_BOTH) && is_playback_open () == true) + else if((stream == SFL_PCM_PLAYBACK || stream == SFL_PCM_BOTH) && is_playback_open () == true) closePlaybackStream (); - _indexIn = indexIn; - _indexOut = indexOut; + _indexRing = indexRing; _audioSampleRate = sampleRate; - _frameSize = frameSize; _audioPlugin = std::string (plugin); - _debugAlsa (" Setting AlsaLayer: device in=%2d, out=%2d", _indexIn, _indexOut); - + _debugAlsa (" Setting AlsaLayer: device in=%2d, out=%2d, ring=%2d", _indexIn, _indexOut, _indexRing); _debugAlsa (" : alsa plugin=%s", _audioPlugin.c_str()); - _debugAlsa (" : nb channel in=%2d, out=%2d", _inChannel, _outChannel); - _debugAlsa (" : sample rate=%5d, format=%s", _audioSampleRate, SFLDataFormatString); _audioThread = NULL; - ost::MutexLock lock (_mutex); + // use 1 sec buffer for resampling + _converter = new SamplerateConverter (_audioSampleRate, 1000); + + AudioLayer::_echoCancel = new EchoCancel(); + AudioLayer::_echoCanceller = new AudioProcessing(static_cast<Algorithm *>(_echoCancel)); - std::string pcmp = buildDeviceTopo (plugin, indexOut, 0); + AudioLayer::_echoCancel->setEchoCancelState(AudioLayer::_echocancelstate); + AudioLayer::_echoCancel->setNoiseSuppressState(AudioLayer::_noisesuppressstate); - std::string pcmc = buildDeviceTopo (plugin, indexIn, 0); + AudioLayer::_dcblocker = new DcBlocker(); + AudioLayer::_audiofilter = new AudioProcessing(static_cast<Algorithm *>(_dcblocker)); - _converter = new SamplerateConverter (_audioSampleRate, _frameSize); - // open_device (pcmp, pcmc, stream); - return true; // open_device (pcmp, pcmc, stream); + return true; } void AlsaLayer::startStream (void) { - _debug ("AlsaLayer:: startStream"); + _debug ("Audio: Start stream"); + + if(_audiofilter) + _audiofilter->resetAlgorithm(); - std::string pcmp = buildDeviceTopo (_audioPlugin, _indexOut, 0); - std::string pcmc = buildDeviceTopo (_audioPlugin, _indexIn, 0); + if(_echoCanceller) + _echoCanceller->resetAlgorithm(); + + if(is_playback_running() && is_capture_running() ) + return; + + std::string pcmp; + std::string pcmr; + std::string pcmc; + + if(_audioPlugin == PCM_DMIX_DSNOOP) { + pcmp = buildDeviceTopo (PCM_DMIX, _indexOut, 0); + pcmr = buildDeviceTopo (PCM_DMIX, _indexRing, 0); + pcmc = buildDeviceTopo(PCM_DSNOOP, _indexIn, 0); + } + else { + pcmp = buildDeviceTopo (_audioPlugin, _indexOut, 0); + pcmr = buildDeviceTopo (_audioPlugin, _indexRing, 0); + pcmc = buildDeviceTopo(_audioPlugin, _indexIn, 0); + } + + _debug("pcmp: %s, index %d", pcmp.c_str(), _indexOut); + _debug("pcmr: %s, index %d", pcmr.c_str(), _indexRing); + _debug("pcmc: %s, index %d", pcmc.c_str(), _indexIn); if (!is_playback_open()) { - open_device (pcmp, pcmc, SFL_PCM_PLAYBACK); + open_device (pcmp, pcmc, pcmr, SFL_PCM_PLAYBACK); } if (!is_capture_open()) { - open_device (pcmp, pcmc, SFL_PCM_CAPTURE); + open_device (pcmp, pcmc, pcmr, SFL_PCM_CAPTURE); } prepareCaptureStream (); - preparePlaybackStream (); + startCaptureStream (); startPlaybackStream (); @@ -171,7 +203,7 @@ AlsaLayer::startStream (void) if (_audioThread == NULL) { try { - _debug ("Start Audio Thread"); + _debug ("Audio: Start Audio Thread"); _audioThread = new AudioThread (this); _audioThread->start(); } catch (...) { @@ -184,24 +216,27 @@ AlsaLayer::startStream (void) void AlsaLayer::stopStream (void) { - _debug ("AlsaLayer:: stopStream"); + _debug ("Audio: Stop stream"); try { /* Stop the audio thread first */ if (_audioThread) { - _debug ("Stop Audio Thread"); + _debug ("Audio: Stop audio thread"); delete _audioThread; _audioThread=NULL; } } catch (...) { - _debugException ("! ARTP Exception: when stopping audiortp"); + _debugException ("Audio: Exception: when stopping audiortp"); throw; } closeCaptureStream (); - closePlaybackStream (); + _PlaybackHandle = NULL; + _CaptureHandle = NULL; + _RingtoneHandle = NULL; + /* Flush the ring buffers */ flushUrgent (); flushMain (); @@ -219,6 +254,27 @@ bool AlsaLayer::isCaptureActive (void) return false; } + +void AlsaLayer::setEchoCancelState(bool state) +{ + // if a stream already running + if(AudioLayer::_echoCancel) + _echoCancel->setEchoCancelState(state); + + AudioLayer::_echocancelstate = state; +} + +void AlsaLayer::setNoiseSuppressState(bool state) +{ + // if a stream already opened + if(AudioLayer::_echoCancel) + _echoCancel->setNoiseSuppressState(state); + + AudioLayer::_noisesuppressstate = state; + +} + + ////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// ALSA PRIVATE FUNCTIONS //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// @@ -228,10 +284,10 @@ void AlsaLayer::stopCaptureStream (void) int err; if (_CaptureHandle) { - _debug ("AlsaLayer:: stop Alsa capture"); + _debug ("Audio: Stop ALSA capture"); if ( (err = snd_pcm_drop (_CaptureHandle)) < 0) - _debug ("AlsaLayer:: Error stopping ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: stopping ALSA capture: %s", snd_strerror (err)); else stop_capture (); @@ -246,10 +302,10 @@ void AlsaLayer::closeCaptureStream (void) stopCaptureStream (); if (is_capture_open()) { - _debug ("AlsaLayer:: close ALSA capture"); + _debug ("Audio: Close ALSA capture"); if ( (err = snd_pcm_close (_CaptureHandle)) < 0) - _debug ("Error closing ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: Closing ALSA capture: %s", snd_strerror (err)); else close_capture (); } @@ -260,7 +316,7 @@ void AlsaLayer::startCaptureStream (void) int err; if (_CaptureHandle && !is_capture_running()) { - _debug ("AlsaLayer:: start ALSA capture"); + _debug ("Audio: Start ALSA capture"); if ( (err = snd_pcm_start (_CaptureHandle)) < 0) _debug ("Error starting ALSA capture: %s", snd_strerror (err)); @@ -274,10 +330,10 @@ void AlsaLayer::prepareCaptureStream (void) int err; if (is_capture_open() && !is_capture_prepared()) { - _debug ("AlsaLayer:: prepare ALSA capture"); + _debug ("Audio: Prepare ALSA capture"); if ( (err = snd_pcm_prepare (_CaptureHandle)) < 0) - _debug ("Error preparing ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: preparing ALSA capture: %s", snd_strerror (err)); else prepare_capture (); } @@ -287,11 +343,19 @@ void AlsaLayer::stopPlaybackStream (void) { int err; + if(_RingtoneHandle && is_playback_running()) { + _debug("Audio: Stop ALSA ringtone"); + + if( (err = snd_pcm_drop(_RingtoneHandle)) < 0) { + _debug("Audio: Error: Stop ALSA ringtone: %s", snd_strerror(err)); + } + } + if (_PlaybackHandle && is_playback_running()) { - _debug ("AlsaLayer:: stop ALSA playback"); + _debug ("Audio: Stop ALSA playback"); if ( (err = snd_pcm_drop (_PlaybackHandle)) < 0) - _debug ("Error stopping ALSA playback: %s", snd_strerror (err)); + _debug ("Audio: Error: Stopping ALSA playback: %s", snd_strerror (err)); else stop_playback (); } @@ -305,14 +369,23 @@ void AlsaLayer::closePlaybackStream (void) if (is_playback_prepared() == true && is_playback_running() == true) stopPlaybackStream (); + if (is_playback_open()) { - _debug ("AlsaLayer:: close ALSA playback"); + + _debug("Audio: Close ALSA playback"); + + if(_RingtoneHandle) { + if((err = snd_pcm_close(_RingtoneHandle)) < 0) { + _warn("Audio: Error: Closing ALSA ringtone: %s", snd_strerror(err)); + } + } if ( (err = snd_pcm_close (_PlaybackHandle)) < 0) - _debug ("Error closing ALSA playback: %s", snd_strerror (err)); + _warn("Audio: Error: Closing ALSA playback: %s", snd_strerror (err)); else close_playback (); } + } void AlsaLayer::startPlaybackStream (void) @@ -320,10 +393,10 @@ void AlsaLayer::startPlaybackStream (void) int err; if (_PlaybackHandle && !is_playback_running()) { - _debug ("AlsaLayer:: start ALSA playback"); + _debug ("Audio: Start ALSA playback"); if ( (err = snd_pcm_start (_PlaybackHandle)) < 0) - _debug ("Error starting ALSA playback: %s", snd_strerror (err)); + _debug ("Audio: Error: Starting ALSA playback: %s", snd_strerror (err)); else start_playback(); } @@ -334,10 +407,10 @@ void AlsaLayer::preparePlaybackStream (void) int err; if (is_playback_open() && !is_playback_prepared()) { - _debug ("AlsaLayer:: prepare playback stream"); + _debug ("Audio: Prepare playback stream"); if ( (err = snd_pcm_prepare (_PlaybackHandle)) < 0) - _debug ("Error preparing the device: %s", snd_strerror (err)); + _debug ("Audio: Preparing the device: %s", snd_strerror (err)); else prepare_playback (); } @@ -383,21 +456,22 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) int err; int format; int periods = 4; - int periodsize = 1024; + int periodsize = 160; /* Allocate the snd_pcm_hw_params_t struct */ snd_pcm_hw_params_malloc (&hwparams); - _periodSize = 940; + // _periodSize = periodsize; + _periodSize = periodsize; /* Full configuration space */ if ( (err = snd_pcm_hw_params_any (pcm_handle, hwparams)) < 0) { - _debugAlsa (" Cannot initialize hardware parameter structure (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot initialize hardware parameter structure (%s)", snd_strerror (err)); return false; } if ( (err = snd_pcm_hw_params_set_access (pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { - _debugAlsa (" Cannot set access type (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set access type (%s)", snd_strerror (err)); return false; } @@ -405,7 +479,7 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) format = SND_PCM_FORMAT_S16_LE; if ( (err = snd_pcm_hw_params_set_format (pcm_handle, hwparams, (snd_pcm_format_t) format)) < 0) { - _debugAlsa (" Cannot set sample format (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sample format (%s)", snd_strerror (err)); return false; } @@ -417,17 +491,19 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) exact_ivalue = rate; if ( (err = snd_pcm_hw_params_set_rate_near (pcm_handle, hwparams, &exact_ivalue, &dir) < 0)) { - _debugAlsa (" Cannot set sample rate (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sample rate (%s)", snd_strerror (err)); return false; } + else + _debug("Audio: Set audio rate to %d", rate); if (dir!= 0) { - _debugAlsa (" (%i) The choosen rate %d Hz is not supported by your hardware.Using %d Hz instead. ",type ,rate, exact_ivalue); + _debugAlsa ("Audio: Error: (%i) The choosen rate %d Hz is not supported by your hardware.Using %d Hz instead. ",type ,rate, exact_ivalue); } /* Set the number of channels */ if ( (err = snd_pcm_hw_params_set_channels (pcm_handle, hwparams, 1)) < 0) { - _debugAlsa (" Cannot set channel count (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set channel count (%s)", snd_strerror (err)); return false; } @@ -437,12 +513,12 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) dir=0; if ( (err = snd_pcm_hw_params_set_period_size_near (pcm_handle, hwparams, &exact_lvalue , &dir)) < 0) { - _debugAlsa (" Cannot set period time (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set period time (%s)", snd_strerror (err)); return false; } if (dir!=0) { - _debugAlsa ("(%i) The choosen period size %d bytes is not supported by your hardware.Using %d instead. ", type, (int) periodsize, (int) exact_lvalue); + _debugAlsa ("Audio: Warning: (%i) The choosen period size %d bytes is not supported by your hardware.Using %d instead. ", type, (int) periodsize, (int) exact_lvalue); } periodsize = exact_lvalue; @@ -453,12 +529,12 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) dir=0; if ( (err = snd_pcm_hw_params_set_periods_near (pcm_handle, hwparams, &exact_ivalue, &dir)) < 0) { - _debugAlsa (" Cannot set periods number (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set periods number (%s)", snd_strerror (err)); return false; } if (dir!=0) { - _debugAlsa (" The choosen period number %i bytes is not supported by your hardware.Using %i instead. ", periods, exact_ivalue); + _debugAlsa ("Audio: Warning: The choosen period number %i bytes is not supported by your hardware.Using %i instead. ", periods, exact_ivalue); } periods=exact_ivalue; @@ -466,7 +542,7 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) /* Set the hw parameters */ if ( (err = snd_pcm_hw_params (pcm_handle, hwparams)) < 0) { - _debugAlsa (" Cannot set hw parameters (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set hw parameters (%s)", snd_strerror (err)); return false; } @@ -478,13 +554,13 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) /* Set the start threshold */ - if ( (err = snd_pcm_sw_params_set_start_threshold (pcm_handle, swparams, 2700 /*periodsize*2*/)) < 0) { - _debugAlsa (" Cannot set start threshold (%s)", snd_strerror (err)); + if ( (err = snd_pcm_sw_params_set_start_threshold (pcm_handle, swparams, _periodSize*2)) < 0) { + _debugAlsa ("Audio: Error: Cannot set start threshold (%s)", snd_strerror (err)); return false; } if ( (err = snd_pcm_sw_params (pcm_handle, swparams)) < 0) { - _debugAlsa (" Cannot set sw parameters (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sw parameters (%s)", snd_strerror (err)); return false; } @@ -496,46 +572,60 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) bool -AlsaLayer::open_device (std::string pcm_p, std::string pcm_c, int flag) +AlsaLayer::open_device (std::string pcm_p, std::string pcm_c, std::string pcm_r, int flag) { int err; if (flag == SFL_PCM_BOTH || flag == SFL_PCM_PLAYBACK) { - _debug ("AlsaLayer:: open playback device"); - // if((err = snd_pcm_open(&_PlaybackHandle, pcm_p.c_str(), SND_PCM_STREAM_PLAYBACK, 0 )) < 0){ + _debug ("Audio: Open playback device (and ringtone)"); - if ( (err = snd_pcm_open (&_PlaybackHandle, pcm_p.c_str(), SND_PCM_STREAM_PLAYBACK, 0)) < 0) { - _debugAlsa ("Error while opening playback device %s", pcm_p.c_str()); + if ((err = snd_pcm_open(&_PlaybackHandle, pcm_p.c_str(), SND_PCM_STREAM_PLAYBACK, 0)) < 0) { + _warn("Audio: Error while opening playback device %s", pcm_p.c_str()); setErrorMessage (ALSA_PLAYBACK_DEVICE); close_playback (); return false; } if (!alsa_set_params (_PlaybackHandle, 1, getSampleRate())) { - _debug ("playback failed"); + _warn ("Audio: Error: Playback failed"); snd_pcm_close (_PlaybackHandle); close_playback (); return false; } + if (getIndexOut() != getIndexRing()) { + + if((err = snd_pcm_open(&_RingtoneHandle, pcm_r.c_str(), SND_PCM_STREAM_PLAYBACK, 0)) < 0) { + _warn("Audio: Error: Opening ringtone device %s", pcm_r.c_str()); + // setErrorMessage(ALSA_RINGTONE_DEVICE); + } + + if(!alsa_set_params(_RingtoneHandle, 1, getSampleRate())) { + _warn("Audio: Error: Ringtone failed"); + snd_pcm_close(_RingtoneHandle); + + } + } + open_playback (); } if (flag == SFL_PCM_BOTH || flag == SFL_PCM_CAPTURE) { - _debug ("AlsaLayer:: open capture device"); + _debug ("Audio: Open capture device"); + + if ((err = snd_pcm_open(&_CaptureHandle, pcm_c.c_str(), SND_PCM_STREAM_CAPTURE, 0)) < 0){ + _warn("Audio: Error: Opening capture device %s", pcm_c.c_str()); - if ( (err = snd_pcm_open (&_CaptureHandle, pcm_c.c_str(), SND_PCM_STREAM_CAPTURE, 0)) < 0) { - _debugAlsa ("Error while opening capture device %s", pcm_c.c_str()); setErrorMessage (ALSA_CAPTURE_DEVICE); close_capture (); return false; } if (!alsa_set_params (_CaptureHandle, 0, 8000)) { - _debug ("capture failed"); + _warn("Audio: Error: Capture failed"); snd_pcm_close (_CaptureHandle); close_capture (); return false; @@ -546,32 +636,25 @@ AlsaLayer::open_device (std::string pcm_p, std::string pcm_c, int flag) // prepare_capture (); } - /* Start the secondary audio thread for callbacks */ - /* - try { - _audioThread->start(); - } catch (...) { - _debugException ("Fail to start audio thread"); - } - */ + return true; } //TODO first frame causes broken pipe (underrun) because not enough data are send --> make the handle wait to be ready int -AlsaLayer::write (void* buffer, int length) +AlsaLayer::write (void* buffer, int length, snd_pcm_t * handle) { if (_trigger_request == true) { _trigger_request = false; startPlaybackStream (); } - snd_pcm_uframes_t frames = snd_pcm_bytes_to_frames (_PlaybackHandle, length); + snd_pcm_uframes_t frames = snd_pcm_bytes_to_frames (handle, length); int err; - if ( (err=snd_pcm_writei (_PlaybackHandle , buffer , frames)) <0) { + if ( (err=snd_pcm_writei (handle, buffer , frames)) <0) { switch (err) { case -EPIPE: @@ -580,17 +663,17 @@ AlsaLayer::write (void* buffer, int length) case -EIO: //_debugAlsa(" XRUN playback ignored (%s)", snd_strerror(err)); - handle_xrun_playback(); + handle_xrun_playback(handle); - if (snd_pcm_writei (_PlaybackHandle , buffer , frames) <0) - _debugAlsa ("XRUN handling failed"); + if (snd_pcm_writei (handle, buffer , frames) <0) + _debugAlsa ("Audio: XRUN handling failed"); _trigger_request = true; break; default: - _debugAlsa ("Write error unknown - dropping frames **********************************: %s", snd_strerror (err)); + _debugAlsa ("Audio: Write error unknown - dropping frames: %s", snd_strerror (err)); stopPlaybackStream (); @@ -623,14 +706,14 @@ AlsaLayer::read (void* buffer, int toCopy) case -ESTRPIPE: case -EIO: - _debugAlsa (" XRUN capture ignored (%s)", snd_strerror (samples)); + _debugAlsa ("Audio: XRUN capture ignored (%s)", snd_strerror (samples)); handle_xrun_capture(); //samples = snd_pcm_readi( _CaptureHandle, buffer, frames); //if (samples<0) samples=0; break; case EPERM: - _debugAlsa (" Capture EPERM (%s)", snd_strerror (samples)); + _debugAlsa ("Audio: Capture EPERM (%s)", snd_strerror (samples)); prepareCaptureStream (); startCaptureStream (); break; @@ -650,7 +733,7 @@ AlsaLayer::read (void* buffer, int toCopy) void AlsaLayer::handle_xrun_capture (void) { - _debugAlsa ("handle_xrun_capture"); + _debugAlsa ("Audio: Handle xrun capture"); snd_pcm_status_t* status; snd_pcm_status_alloca (&status); @@ -664,23 +747,25 @@ AlsaLayer::handle_xrun_capture (void) startCaptureStream (); } } else - _debugAlsa (" Get status failed"); + _debugAlsa ("Audio: Get status failed"); } void -AlsaLayer::handle_xrun_playback (void) +AlsaLayer::handle_xrun_playback (snd_pcm_t *handle) { - _debugAlsa ("AlsaLayer:: handle_xrun_playback"); + _debugAlsa ("Audio: Handle xrun playback"); int state; snd_pcm_status_t* status; snd_pcm_status_alloca (&status); - if ( (state = snd_pcm_status (_PlaybackHandle, status)) < 0) _debugAlsa (" Error: Cannot get playback handle status (%s)" , snd_strerror (state)); + if ( (state = snd_pcm_status (handle, status)) < 0) + _debugAlsa ("Audio: Error: Cannot get playback handle status (%s)" , snd_strerror (state)); else { state = snd_pcm_status_get_state (status); if (state == SND_PCM_STATE_XRUN) { + _debug("Audio: audio device in state SND_PCM_STATE_XRUN, restart device"); stopPlaybackStream (); preparePlaybackStream (); @@ -693,10 +778,10 @@ AlsaLayer::handle_xrun_playback (void) std::string AlsaLayer::buildDeviceTopo (std::string plugin, int card, int subdevice) { - std::string pcm = plugin; std::stringstream ss,ss1; + std::string pcm = plugin; - if (pcm == "default" || pcm == "pulse") + if (pcm == PCM_DEFAULT) return pcm; ss << card; @@ -711,6 +796,8 @@ AlsaLayer::buildDeviceTopo (std::string plugin, int card, int subdevice) pcm.append (ss1.str()); } + _debug("Audio: Device topo: %s", pcm.c_str()); + return pcm; } @@ -720,6 +807,8 @@ AlsaLayer::getSoundCardsInfo (int stream) std::vector<std::string> cards_id; HwIDPair p; + _debug("Audio: Get sound cards info: "); + snd_ctl_t* handle; snd_ctl_card_info_t *info; snd_pcm_info_t* pcminfo; @@ -756,6 +845,7 @@ AlsaLayer::getSoundCardsInfo (int stream) // The number of the sound card is associated with a string description p = HwIDPair (numCard , description); IDSoundCards.push_back (p); + } } @@ -809,7 +899,7 @@ AlsaLayer::soundCardGetIndex (std::string description) return 0; } -void AlsaLayer::audioCallback (void) +void AlsaLayer::audioCallback(void) { int toGet, urgentAvailBytes, normalAvailBytes, maxBytes; @@ -823,24 +913,31 @@ void AlsaLayer::audioCallback (void) spkrVolume = _manager->getSpkrVolume(); micVolume = _manager->getMicVolume(); - /* - int writeableSize = snd_pcm_avail_update(_PlaybackHandle); - _debug("writeableSize %i", writeableSize); - */ + tone = _manager->getTelephoneTone(); + file_tone = _manager->getTelephoneFile(); // AvailForGet tell the number of chars inside the buffer // framePerBuffer are the number of data for one channel (left) urgentAvailBytes = _urgentRingBuffer.AvailForGet(); + if(!_PlaybackHandle || !_CaptureHandle) + return; + + snd_pcm_wait(_PlaybackHandle, 20); + + int playbackAvailSmpl = snd_pcm_avail_update(_PlaybackHandle); + int playbackAvailBytes = playbackAvailSmpl*sizeof(SFLDataFormat); + // _debug("PLAYBACK: %d", playbackAvailSmpl); + if (urgentAvailBytes > 0) { // Urgent data (dtmf, incoming call signal) come first. - toGet = (urgentAvailBytes < (int) (framesPerBufferAlsa * sizeof (SFLDataFormat))) ? urgentAvailBytes : framesPerBufferAlsa * sizeof (SFLDataFormat); - out = (SFLDataFormat*) malloc (toGet * sizeof (SFLDataFormat)); + toGet = (urgentAvailBytes < (int) (playbackAvailBytes)) ? urgentAvailBytes : playbackAvailBytes; + out = (SFLDataFormat*) malloc (toGet); _urgentRingBuffer.Get (out, toGet, spkrVolume); /* Play the sound */ - write (out, toGet); + write (out, toGet, _PlaybackHandle); free (out); out=0; @@ -850,56 +947,45 @@ void AlsaLayer::audioCallback (void) } else { - tone = _manager->getTelephoneTone(); - file_tone = _manager->getTelephoneFile(); - - toGet = framesPerBufferAlsa; - maxBytes = toGet * sizeof (SFLDataFormat); - - if (tone != 0) { + if (tone) { - out = (SFLDataFormat*) malloc (maxBytes * sizeof (SFLDataFormat)); - tone->getNext (out, toGet, spkrVolume); - write (out , maxBytes); + out = (SFLDataFormat *) malloc (playbackAvailBytes); + tone->getNext (out, playbackAvailSmpl, spkrVolume); + write (out , playbackAvailBytes, _PlaybackHandle); free (out); out = 0; + + } + else if (file_tone && !_RingtoneHandle) { - } else if (file_tone != 0) { + out = (SFLDataFormat *) malloc (playbackAvailBytes); + file_tone->getNext (out, playbackAvailSmpl, spkrVolume); + write (out, playbackAvailBytes, _PlaybackHandle); - out = (SFLDataFormat*) malloc (maxBytes * sizeof (SFLDataFormat)); - file_tone->getNext (out, toGet, spkrVolume); - write (out , maxBytes); + free (out); + out = NULL; - free (out); - out = 0; - - } else { + } else { // If nothing urgent, play the regular sound samples int _mainBufferSampleRate = getMainBuffer()->getInternalSamplingRate(); - int maxNbSamplesToGet = 0; - int maxNbBytesToGet = 0; + int maxNbSamplesToGet = playbackAvailSmpl; + int maxNbBytesToGet = playbackAvailBytes; // Compute maximal value to get into the ring buffer if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { double upsampleFactor = (double) _audioSampleRate / _mainBufferSampleRate; + maxNbSamplesToGet = (int) ( (double) playbackAvailSmpl / upsampleFactor); + maxNbBytesToGet = maxNbSamplesToGet * sizeof (SFLDataFormat); - maxNbSamplesToGet = (int) ( (double) framesPerBufferAlsa / upsampleFactor); + } - } else { - - maxNbSamplesToGet = framesPerBufferAlsa; - - } - - maxNbBytesToGet = maxNbSamplesToGet * sizeof (SFLDataFormat); - normalAvailBytes = getMainBuffer()->availForGet(); toGet = (normalAvailBytes < (int) maxNbBytesToGet) ? normalAvailBytes : maxNbBytesToGet; @@ -909,10 +995,14 @@ void AlsaLayer::audioCallback (void) getMainBuffer()->getData (out, toGet, spkrVolume); + // TODO: Audio processing should be performed inside mainbuffer + // to avoid such problem + AudioLayer::_echoCancel->setSamplingRate(_mainBufferSampleRate); + if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { - rsmpl_out = (SFLDataFormat*) malloc (framesPerBufferAlsa * sizeof (SFLDataFormat)); + rsmpl_out = (SFLDataFormat*) malloc (playbackAvailBytes*2); // Do sample rate conversion int nb_sample_down = toGet / sizeof (SFLDataFormat); @@ -921,25 +1011,28 @@ void AlsaLayer::audioCallback (void) - write (rsmpl_out, nbSample*sizeof (SFLDataFormat)); + write (rsmpl_out, nbSample*sizeof (SFLDataFormat), _PlaybackHandle); free (rsmpl_out); rsmpl_out = 0; } else { - write (out, toGet); + write (out, toGet, _PlaybackHandle); } + // Copy far-end signal in echo canceller to adapt filter coefficient + AudioLayer::_echoCanceller->putData(out, toGet); + } else { - if ( (tone == 0) && (file_tone == 0)) { + if (!tone && !file_tone) { - SFLDataFormat* zeros = (SFLDataFormat*) malloc (framesPerBufferAlsa * sizeof (SFLDataFormat)); + SFLDataFormat *zeros = (SFLDataFormat*)malloc(playbackAvailBytes); - bzero (zeros, framesPerBufferAlsa * sizeof (SFLDataFormat)); - write (zeros, framesPerBufferAlsa * sizeof (SFLDataFormat)); + bzero (zeros, playbackAvailBytes); + write (zeros, playbackAvailBytes, _PlaybackHandle); free (zeros); } @@ -954,15 +1047,41 @@ void AlsaLayer::audioCallback (void) } + if (file_tone && _RingtoneHandle) { + + int ringtoneAvailSmpl = snd_pcm_avail_update(_RingtoneHandle); + int ringtoneAvailBytes = ringtoneAvailSmpl*sizeof(SFLDataFormat); + + // _debug("RINGTONE: %d", ringtoneAvailSmpl); + + out = (SFLDataFormat *) malloc(ringtoneAvailBytes); + file_tone->getNext (out, ringtoneAvailSmpl, spkrVolume); + write (out, ringtoneAvailBytes, _RingtoneHandle); + + free (out); + out = NULL; + + } else if (_RingtoneHandle) { + + int ringtoneAvailSmpl = snd_pcm_avail_update(_RingtoneHandle); + int ringtoneAvailBytes = ringtoneAvailSmpl*sizeof(SFLDataFormat); + + out = (SFLDataFormat *) malloc(ringtoneAvailBytes); + memset(out, 0, ringtoneAvailBytes); + write(out, ringtoneAvailBytes, _RingtoneHandle); + + free(out); + out = NULL; + } + // Additionally handle the mic's audio stream int micAvailBytes; - int micAvailPut; - int toPut; SFLDataFormat* in; - + SFLDataFormat echoCancelledMic[5000]; + memset(echoCancelledMic, 0, 5000); // snd_pcm_sframes_t micAvailAlsa; in = 0; @@ -970,7 +1089,7 @@ void AlsaLayer::audioCallback (void) if (is_capture_running()) { micAvailBytes = snd_pcm_avail_update (_CaptureHandle); - // _debug("micAvailBytes %i", micAvailBytes); + // _debug("CAPTURE: %i", micAvailBytes); if (micAvailBytes > 0) { micAvailPut = getMainBuffer()->availForPut(); @@ -993,16 +1112,28 @@ void AlsaLayer::audioCallback (void) // _debug("nb_sample_up %i", nb_sample_up); nbSample = _converter->downsampleData ( (SFLDataFormat*) in, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); - dcblocker->filter_signal (rsmpl_out, nbSample); + _audiofilter->processAudio (rsmpl_out, nbSample*sizeof(SFLDataFormat)); + + // echo cancellation processing + int sampleready = AudioLayer::_echoCanceller->processAudio(rsmpl_out, echoCancelledMic, nbSample*sizeof(SFLDataFormat)); - getMainBuffer()->putData (rsmpl_out, nbSample * sizeof (SFLDataFormat), 100); + // getMainBuffer()->putData (rsmpl_out, nbSample * sizeof (SFLDataFormat), 100); + getMainBuffer()->putData ( echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); free (rsmpl_out); rsmpl_out = 0; } else { - getMainBuffer()->putData (in, toPut, 100); + + SFLDataFormat* filter_out = (SFLDataFormat*) malloc (framesPerBufferAlsa * sizeof (SFLDataFormat)); + + _audiofilter->processAudio (in, filter_out, toPut); + + int sampleready = AudioLayer::_echoCanceller->processAudio(filter_out, echoCancelledMic, toPut); + + getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof(SFLDataFormat), 100); + free(rsmpl_out); } } @@ -1010,7 +1141,7 @@ void AlsaLayer::audioCallback (void) in=0; } else if (micAvailBytes < 0) { - _debug ("AlsaLayer::audioCallback (mic): error: %s", snd_strerror (micAvailBytes)); + _debug ("Audio: Mic error: %s", snd_strerror (micAvailBytes)); } } diff --git a/sflphone-common/src/audio/alsa/alsalayer.h b/sflphone-common/src/audio/alsa/alsalayer.h index 1f5167ede252b9516c55df316e10763c3dfcd036..8bcacb28987353f95c7a422e80aa9a69b2ee55f5 100644 --- a/sflphone-common/src/audio/alsa/alsalayer.h +++ b/sflphone-common/src/audio/alsa/alsalayer.h @@ -1,6 +1,7 @@ /* - * Copyright (C) 2007 - 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _ALSA_LAYER_H @@ -22,7 +34,6 @@ #include "audio/audiolayer.h" #include "audio/samplerateconverter.h" -#include "audio/dcblocker.h" #include "eventthread.h" #include <alsa/asoundlib.h> @@ -55,8 +66,8 @@ class AlsaLayer : public AudioLayer { /** * Check if no devices are opened, otherwise close them. * Then open the specified devices by calling the private functions open_device - * @param indexIn The number of the card choosen for capture - * @param indexOut The number of the card choosen for playback + * @param indexIn The number of the card chosen for capture + * @param indexOut The number of the card chosen for playback * @param sampleRate The sample rate * @param frameSize The frame size * @param stream To indicate which kind of stream you want to open @@ -65,7 +76,7 @@ class AlsaLayer : public AudioLayer { * SFL_PCM_BOTH * @param plugin The alsa plugin ( dmix , default , front , surround , ...) */ - bool openDevice(int indexIn, int indexOut, int sampleRate, int frameSize, int stream, std::string plugin); + bool openDevice(int indexIn, int indexOut, int indexRing, int sampleRate, int frameSize, int stream, std::string plugin); /** * Start the capture stream and prepare the playback stream. @@ -143,6 +154,30 @@ class AlsaLayer : public AudioLayer { bool isCaptureActive (void); + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + virtual bool getEchoCancelState(void) { return AudioLayer::_echocancelstate; } + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + virtual void setEchoCancelState(bool state); + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + virtual bool getNoiseSuppressState(void) { return AudioLayer::_noisesuppressstate; } + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + virtual void setNoiseSuppressState(bool state); + private: // Copy Constructor @@ -194,7 +229,7 @@ class AlsaLayer : public AudioLayer { * @return true if successful * false otherwise */ - bool open_device( std::string pcm_p, std::string pcm_c, int flag); + bool open_device( std::string pcm_p, std::string pcm_c, std::string pcm_r, int flag); bool alsa_set_params( snd_pcm_t *pcm_handle, int type, int rate ); @@ -205,7 +240,7 @@ class AlsaLayer : public AudioLayer { * @param length The size of the buffer * @return int The number of frames actually copied */ - int write( void* buffer, int length); + int write( void* buffer, int length, snd_pcm_t *handle); /** * Read data from the internal ring buffer @@ -215,8 +250,6 @@ class AlsaLayer : public AudioLayer { * @return int The number of frames actually read */ int read( void* buffer, int toCopy); - - /** * Recover from XRUN state for capture @@ -228,16 +261,22 @@ class AlsaLayer : public AudioLayer { * Recover from XRUN state for playback * ALSA Library API */ - void handle_xrun_playback( void ); - + void handle_xrun_playback( snd_pcm_t *handle ); + void* adjustVolume( void* buffer , int len, int stream ); -/** + /** * Handles to manipulate playback stream * ALSA Library API */ snd_pcm_t* _PlaybackHandle; + /** + * Handles to manipulate ringtone stream + * + */ + snd_pcm_t *_RingtoneHandle; + /** * Handles to manipulate capture stream * ALSA Library API @@ -257,7 +296,7 @@ class AlsaLayer : public AudioLayer { /** Vector to manage all soundcard index - description association of the system */ std::vector<HwIDPair> IDSoundCards; - bool _is_prepared_playback; + bool _is_prepared_playback; bool _is_prepared_capture; bool _is_running_playback; bool _is_running_capture; @@ -270,9 +309,6 @@ class AlsaLayer : public AudioLayer { /** Sample rate converter object */ SamplerateConverter* _converter; - // Allpass filter to remove DC offset - DcBlocker* dcblocker; - }; #endif // _ALSA_LAYER_H_ diff --git a/sflphone-common/src/audio/audiodevice.cpp b/sflphone-common/src/audio/audiodevice.cpp index 07c3edb4f23b8b9be2f44ce6b90048b8688ba66a..1fd9744690f66faefc1b42d8b6267b78bc888d30 100644 --- a/sflphone-common/src/audio/audiodevice.cpp +++ b/sflphone-common/src/audio/audiodevice.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiodevice.h" diff --git a/sflphone-common/src/audio/audiodevice.h b/sflphone-common/src/audio/audiodevice.h index ccc5840324208bd5f161a1438bd21abcc5b08f5e..306afbeb8c24bc1d41a111f5b95d3683c34eb6e9 100644 --- a/sflphone-common/src/audio/audiodevice.h +++ b/sflphone-common/src/audio/audiodevice.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _AUDIO_DEVICE_H diff --git a/sflphone-common/src/audio/audiolayer.cpp b/sflphone-common/src/audio/audiolayer.cpp index c6b40d81ef122f51b23a125b0f2569fc1e5295b6..45d23a7bd613515cf1c80513736b4b47289f4bfa 100644 --- a/sflphone-common/src/audio/audiolayer.cpp +++ b/sflphone-common/src/audio/audiolayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiolayer.h" diff --git a/sflphone-common/src/audio/audiolayer.h b/sflphone-common/src/audio/audiolayer.h index 580c064e510b337790ddf0c453e06b4b23c9d4ff..ab2a4559fa144d10278c53ba69c624ba6457eced 100644 --- a/sflphone-common/src/audio/audiolayer.h +++ b/sflphone-common/src/audio/audiolayer.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Jerome Oufella <jerome.oufella@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _AUDIO_LAYER_H @@ -26,21 +37,19 @@ #include "audiodevice.h" #include "ringbuffer.h" #include "mainbuffer.h" +#include "dcblocker.h" +#include "speexechocancel.h" +#include "echocancel.h" #include <cc++/thread.h> // for ost::Mutex -#define FRAME_PER_BUFFER 160 - /** * @file audiolayer.h * @brief Main sound class. Manages the data transfers between the application and the hardware. */ - -class Recordable; class ManagerImpl; - class AudioLayer { private: @@ -58,7 +67,7 @@ class AudioLayer { */ AudioLayer( ManagerImpl* manager , int type ) : _defaultVolume(100) - , _layerType( type ) + , _layerType( type ) , _manager(manager) , _urgentRingBuffer( SIZEBUF, default_id ) , _indexIn ( 0 ) @@ -83,8 +92,8 @@ class AudioLayer { /** * Check if no devices are opened, otherwise close them. * Then open the specified devices by calling the private functions open_device - * @param indexIn The number of the card choosen for capture - * @param indexOut The number of the card choosen for playback + * @param indexIn The number of the card chosen for capture + * @param indexOut The number of the card chosen for playback * @param sampleRate The sample rate * @param frameSize The frame size * @param stream To indicate which kind of stream you want to open @@ -93,7 +102,7 @@ class AudioLayer { * SFL_PCM_BOTH * @param plugin The alsa plugin ( dmix , default , front , surround , ...) */ - virtual bool openDevice(int indexIn, int indexOut, int sampleRate, int frameSize, int stream , std::string plugin) = 0; + virtual bool openDevice(int indexIn, int indexOut, int indexRing, int sampleRate, int frameSize, int stream , std::string plugin) = 0; /** * Start the capture stream and prepare the playback stream. @@ -161,6 +170,13 @@ class AudioLayer { */ int getIndexOut() { return _indexOut; } + /** + * Get the index of the audio card for ringtone (could be differnet from playback) + * @return int The index of the card used for ringtone + * 0 for the first available card on the system, 1 ... + */ + int getIndexRing() {return _indexRing; } + /** * Get the sample rate of the audio layer * @return unsigned int The sample rate @@ -213,6 +229,30 @@ class AudioLayer { */ inline Recordable* getRecorderInstance (void) {return _recorder;} + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + virtual bool getEchoCancelState(void) = 0; + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + virtual void setEchoCancelState(bool state) = 0; + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + virtual bool getNoiseSuppressState(void) = 0; + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + virtual void setNoiseSuppressState(bool state) = 0; + /** * Get the mutex lock for the entire audio layer */ @@ -265,6 +305,11 @@ class AudioLayer { */ int _indexOut; + /** + * Number of audio cards on which ringtone stream has been opened + */ + int _indexRing; + /** * Sample Rate SFLphone should send sound data to the sound card * The value can be set in the user config file- now: 44100HZ @@ -295,6 +340,16 @@ class AudioLayer { */ ost::Mutex _mutex; + EchoCancel *_echoCancel; + AudioProcessing *_echoCanceller; + + DcBlocker *_dcblocker; + AudioProcessing *_audiofilter; + + bool _echocancelstate; + + bool _noisesuppressstate; + }; #endif // _AUDIO_LAYER_H_ diff --git a/sflphone-common/src/audio/audioloop.cpp b/sflphone-common/src/audio/audioloop.cpp index 633192de44bf5a4ed82b5d9fb34e28117d3e0fa5..67626daa59f7936922d914efcb4b25fa5f7d9c2f 100644 --- a/sflphone-common/src/audio/audioloop.cpp +++ b/sflphone-common/src/audio/audioloop.cpp @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -19,7 +19,19 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ + #include "audioloop.h" #include <math.h> #include <strings.h> diff --git a/sflphone-common/src/audio/audioloop.h b/sflphone-common/src/audio/audioloop.h index 1d9a068b83cb1db9b9ecd772cf6ac2c348cb0307..98f01726f12317ae8c8b60e3bcba671f2ce41a8b 100644 --- a/sflphone-common/src/audio/audioloop.h +++ b/sflphone-common/src/audio/audioloop.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __AUDIOLOOP_H__ #define __AUDIOLOOP_H__ diff --git a/sflphone-common/src/audio/audioprocessing.cpp b/sflphone-common/src/audio/audioprocessing.cpp new file mode 100644 index 0000000000000000000000000000000000000000..264bbef498d8ab4b054bf1fa5e134507d30d8f6f --- /dev/null +++ b/sflphone-common/src/audio/audioprocessing.cpp @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#include "audioprocessing.h" + + + +AudioProcessing::AudioProcessing(Algorithm *_algo) : _algorithm(_algo) {} + + +AudioProcessing::~AudioProcessing(void){} + +void AudioProcessing::resetAlgorithm(void) +{ + if(_algorithm) + _algorithm->reset(); +} + +int AudioProcessing::getData(SFLDataFormat *outputData) +{ + if(_algorithm) + return _algorithm->getData(outputData); + else + return 0; +} + +void AudioProcessing::putData(SFLDataFormat *inputData, int nbBytes) +{ + if(_algorithm) + _algorithm->putData(inputData, nbBytes); +} + +void AudioProcessing::processAudio(SFLDataFormat *inputData, int nbBytes) +{ + if(_algorithm) + _algorithm->process(inputData, nbBytes); +} + +int AudioProcessing::processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + if(_algorithm) + return _algorithm->process(inputData, outputData, nbBytes); + else + return 0; +} + + +void AudioProcessing::processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) { + if(_algorithm) + _algorithm->process(micData, spkrData, outputData, nbBytes); +} diff --git a/sflphone-common/src/audio/audioprocessing.h b/sflphone-common/src/audio/audioprocessing.h new file mode 100644 index 0000000000000000000000000000000000000000..b69d6fc5058eef3611c602e3173703e196d1542c --- /dev/null +++ b/sflphone-common/src/audio/audioprocessing.h @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#ifndef AUDIOPROCESSING_H +#define AUDIOPROCESSING_H + +#include "algorithm.h" + +/** + * Process audio buffers using specified at instantiation which may be + * changed dynamically at runtime. + */ +class AudioProcessing { + +public: + + /** + * The constructor for this class + */ + AudioProcessing(Algorithm *_algo); + + ~AudioProcessing(void); + + /** + * Set a new algorithm to process audio. Algorithm must be a subclass of abstract class Algorithm + */ + void setAlgorithm(Algorithm *_algo) { _algorithm = _algo; } + + + /** + * Reset parameters for the algorithm + */ + void resetAlgorithm(); + + /** + * Put data in internal buffer + */ + void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Get data from internal buffer + */ + int getData(SFLDataFormat *outputData); + + /** + * Process some audio data + */ + void processAudio(SFLDataFormat *inputData, int nbBytes); + + /** + * Process some audio data + */ + int processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Process some audio data. + */ + void processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + +private: + + Algorithm *_algorithm; + +}; + +#endif diff --git a/sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp b/sflphone-common/src/audio/audiorecord.cpp similarity index 73% rename from sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp rename to sflphone-common/src/audio/audiorecord.cpp index 4ab7c6c9708ac4a4d2143ee410ebec482dfce5f1..06d97d0b30d0ee58919e957e3f243245a880ae1e 100644 --- a/sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp +++ b/sflphone-common/src/audio/audiorecord.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiorecord.h" @@ -93,12 +104,12 @@ void AudioRecord::initFileName (std::string peerNumber) if (fileType_ == FILE_RAW) { if (strstr (fileName_, ".raw") == NULL) { - printf ("AudioRecord::openFile::concatenate .raw file extension: name : %s ", fileName_); + _debug("AudioRecord: concatenate .raw file extension: name : %s", fileName_); fName.append (".raw"); } } else if (fileType_ == FILE_WAV) { if (strstr (fileName_, ".wav") == NULL) { - printf ("AudioRecord::openFile::concatenate .wav file extension: name : %s ", fileName_); + _debug("AudioRecord: concatenate .wav file extension: name : %s", fileName_); fName.append (".wav"); } } @@ -109,15 +120,12 @@ void AudioRecord::initFileName (std::string peerNumber) void AudioRecord::openFile() { - - _debug ("AudioRecord::openFile()"); - bool result = false; - _debug ("AudioRecord::openFile()"); + _debug ("AudioRecord: Open file()"); if (isFileExist()) { - _debug ("AudioRecord::Filename does not exist, creating one "); + _debug ("AudioRecord: Filename does not exist, creating one"); byteCounter_ = 0; if (fileType_ == FILE_RAW) { @@ -126,7 +134,7 @@ void AudioRecord::openFile() result = setWavFile(); } } else { - _debug ("AudioRecord::Filename already exist opening it "); + _debug ("AudioRecord: Filename already exist opening it"); if (fileType_ == FILE_RAW) { result = openExistingRawFile(); @@ -156,10 +164,8 @@ bool AudioRecord::isOpenFile() { if (fp) { - _debug ("AudioRecord::isOpenFile(): file already openend"); return true; } else { - _debug ("AudioRecord::isOpenFIle(): file not openend "); return false; } } @@ -167,7 +173,7 @@ bool AudioRecord::isOpenFile() bool AudioRecord::isFileExist() { - _debug ("AudioRecord::isFileExist(): try to open name : %s ", fileName_); + _info ("AudioRecord: Try to open name : %s ", fileName_); if (fopen (fileName_,"rb") ==0) { return true; @@ -178,8 +184,6 @@ bool AudioRecord::isFileExist() bool AudioRecord::isRecording() { - _debug ("AudioRecording::isRecording() %i ", recordingEnabled_); - if (recordingEnabled_) return true; @@ -190,19 +194,20 @@ bool AudioRecord::isRecording() bool AudioRecord::setRecording() { - _debug ("AudioRecord::setRecording() "); if (isOpenFile()) { - _debug ("AudioRecord::setRecording()::file already opened "); - - if (!recordingEnabled_) - recordingEnabled_ = true; - else - recordingEnabled_ = false; - } else { - _debug ("AudioRecord::setRecording():Opening the wave file in call during call instantiation "); + if (!recordingEnabled_) { + _info ("AudioRecording: Start recording"); + recordingEnabled_ = true; + } + else { + recordingEnabled_ = false; + _info ("AudioRecording: Stop recording"); + } + } + else { openFile(); - + recordingEnabled_ = true; // once opend file, start recording } @@ -213,7 +218,7 @@ bool AudioRecord::setRecording() void AudioRecord::stopRecording() { - _debug ("AudioRecording::stopRecording() "); + _info ("AudioRecording: Stop recording"); if (recordingEnabled_) recordingEnabled_ = false; @@ -270,7 +275,7 @@ void AudioRecord::createFilename() // fileName_ = out.str(); strncpy (fileName_, out.str().c_str(), 8192); - printf ("AudioRecord::createFilename::filename for this call %s ",fileName_); + _info("AudioRecord: create filename for this call %s ", fileName_); } bool AudioRecord::setRawFile() @@ -279,7 +284,7 @@ bool AudioRecord::setRawFile() fp = fopen (savePath_.c_str(), "wb"); if (!fp) { - _debug ("AudioRecord::setRawFile() : could not create RAW file!"); + _warn ("AudioRecord::setRawFile() : could not create RAW file!"); return false; } @@ -300,7 +305,7 @@ bool AudioRecord::setWavFile() fp = fopen (savePath_.c_str(), "wb"); if (!fp) { - _debug ("AudioRecord::setWavFile() : could not create WAV file."); + _warn("AudioRecord: Error: could not create WAV file."); return false; } @@ -328,11 +333,11 @@ bool AudioRecord::setWavFile() if (fwrite (&hdr, 4, 11, fp) != 11) { - _debug ("AudioRecord::setWavFile() : could not write WAV header for file. "); + _warn("AudioRecord: Error: could not write WAV header for file. "); return false; } - _debug ("AudioRecord::setWavFile() : created WAV file. "); + _debug ("AudioRecord: created WAV file successfully."); return true; } @@ -343,7 +348,7 @@ bool AudioRecord::openExistingRawFile() fp = fopen (fileName_, "ab+"); if (!fp) { - _debug ("AudioRecord::openExistingRawFile() : could not create RAW file!"); + _warn ("AudioRecord: could not create RAW file!"); return false; } @@ -353,42 +358,41 @@ bool AudioRecord::openExistingRawFile() bool AudioRecord::openExistingWavFile() { - _debug ("AudioRecord::openExistingWavFile() "); + _info ("AudioRecord: Open existing wave file"); fp = fopen (fileName_, "rb+"); if (!fp) { - _debug ("AudioRecord::openExistingWavFile() : could not open WAV file rb+!"); + _warn("AudioRecord: Error: could not open WAV file!"); return false; } printf ("AudioRecord::openExistingWavFile()::Tried to open %s ",fileName_); if (fseek (fp, 40, SEEK_SET) != 0) // jump to data length - _debug ("AudioRecord::OpenExistingWavFile: 1.Couldn't seek offset 40 in the file "); + _warn ("AudioRecord: Error: Couldn't seek offset 40 in the file "); if (fread (&byteCounter_, 4, 1, fp)) - _debug ("AudioRecord::OpenExistingWavFile : bytecounter Read successfully "); + _warn("AudioRecord: Error: bytecounter Read successfully "); if (fseek (fp, 0 , SEEK_END) != 0) - _debug ("AudioRecors::OpenExistingWavFile : 2.Couldn't seek at the en of the file "); + _warn ("AudioRecord: Error: Couldn't seek at the en of the file "); - printf ("AudioRecord::OpenExistingWavFile : Byte counter after oppening : %d ", (int) byteCounter_); if (fclose (fp) != 0) - _debug ("AudioRecord::openExistingWavFile()::ERROR: can't close file r+ "); + _warn ("AudioRecord: Error: Can't close file r+ "); fp = fopen (fileName_, "ab+"); if (!fp) { - _debug ("AudioRecord::openExistingWavFile() : could not createopen WAV file ab+!"); + _warn ("AudioRecord: Error: Could not createopen WAV file ab+!"); return false; } if (fseek (fp, 4 , SEEK_END) != 0) - _debug ("AudioRecors::OpenExistingWavFile : 2.Couldn't seek at the en of the file "); + _warn ("AudioRecord: Error: Couldn't seek at the en of the file "); return true; @@ -398,37 +402,37 @@ bool AudioRecord::openExistingWavFile() void AudioRecord::closeWavFile() { if (fp == 0) { - _debug ("AudioRecord:: Can't closeWavFile, a file has not yet been opened!"); + _debug ("AudioRecord: Can't closeWavFile, a file has not yet been opened!"); return; } + _debug("AudioRecord: Close wave file"); + SINT32 bytes = byteCounter_ * channels_; fseek (fp, 40, SEEK_SET); // jump to data length - - if (ferror (fp)) perror ("AudioRecord::closeWavFile()::ERROR: can't reach offset 40"); + if (ferror (fp)) + _warn ("AudioRecord: Error: can't reach offset 40 while closing"); fwrite (&bytes, sizeof (SINT32), 1, fp); + if (ferror (fp)) + _warn ("AudioRecord: Error: can't write bytes for data length "); - if (ferror (fp)) perror ("AudioRecord::closeWavFile()::ERROR: can't write bytes for data length "); - - printf ("AudioRecord::closeWavFile : data bytes: %i ", (int) bytes); bytes = byteCounter_ * channels_ + 44; // + 44 for the wave header fseek (fp, 4, SEEK_SET); // jump to file size - - if (ferror (fp)) perror ("AudioRecord::closeWavFile()::ERROR: can't reach offset 4"); + if (ferror (fp)) + _warn ("AudioRecord: Error: can't reach offset 4"); fwrite (&bytes, 4, 1, fp); + if (ferror (fp)) + _warn("AudioRecord: Error: can't reach offset 4"); - if (ferror (fp)) perror ("AudioRecord::closeWavFile()::ERROR: can't reach offset 4"); - - printf ("AudioRecord::closeWavFile : bytes : %i ", (int) bytes); if (fclose (fp) != 0) - _debug ("AudioRecord::closeWavFile()::ERROR: can't close file"); + _warn ("AudioRecord: Error: can't close file"); } @@ -467,7 +471,7 @@ void AudioRecord::recMicData (SFLDataFormat* buffer, int nSamples) void AudioRecord::recData (SFLDataFormat* buffer, int nSamples) { - if (recordingEnabled_) { + if (recordingEnabled_) { if (fp == 0) { _debug ("AudioRecord: Can't record data, a file has not yet been opened!"); @@ -478,7 +482,7 @@ void AudioRecord::recData (SFLDataFormat* buffer, int nSamples) if (sndFormat_ == INT16) { // TODO change INT16 to SINT16 if (fwrite (buffer, sizeof (SFLDataFormat), nSamples, fp) != (unsigned int) nSamples) - _debug ("AudioRecord: Could not record data! "); + _warn ("AudioRecord: Could not record data! "); else { fflush (fp); byteCounter_ += (unsigned long) (nSamples*sizeof (SFLDataFormat)); @@ -495,6 +499,8 @@ void AudioRecord::recData (SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int if (recordingEnabled_) { + _debug("Recording enabled"); + if (fp == 0) { _debug ("AudioRecord: Can't record data, a file has not yet been opened!"); return; @@ -508,7 +514,7 @@ void AudioRecord::recData (SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int if (fwrite (&mixBuffer_[k], 2, 1, fp) != 1) - _debug ("AudioRecord: Could not record data!"); + _warn ("AudioRecord: Could not record data!"); else { fflush (fp); } diff --git a/sflphone-common/src/plug-in/audiorecorder/audiorecord.h b/sflphone-common/src/audio/audiorecord.h similarity index 87% rename from sflphone-common/src/plug-in/audiorecorder/audiorecord.h rename to sflphone-common/src/audio/audiorecord.h index de61da019c6b24a4ca05df58025deeeeb03ae1ca..8e42bd2a245f50c2874b8f313df28f98509510ce 100644 --- a/sflphone-common/src/plug-in/audiorecorder/audiorecord.h +++ b/sflphone-common/src/audio/audiorecord.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _AUDIO_RECORD_H @@ -25,10 +36,7 @@ #include <stdlib.h> #include <sstream> -#include "plug-in/plugin.h" -// #include "audiodsp.h" - -// class AudioDSP; +#include "global.h" using namespace std; diff --git a/sflphone-common/src/audio/audiorecorder.cpp b/sflphone-common/src/audio/audiorecorder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bb846e022b3a728c3bca022514583d0e84e30663 --- /dev/null +++ b/sflphone-common/src/audio/audiorecorder.cpp @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "audiorecorder.h" +#include "mainbuffer.h" + +int AudioRecorder::count = 0; + +AudioRecorder::AudioRecorder (AudioRecord *arec, MainBuffer *mb) : Thread() +{ + setCancel (cancelDeferred); + + ++count; + + std::string id("processid_"); + + // convert count into string + std::string s; + std::stringstream out; + out << count; + s = out.str(); + + recorderId = id.append(s); + + arecord = arec; + mbuffer = mb; +} + + +/** + * Reimplementation of run() + */ +void AudioRecorder::run (void) +{ + SFLDataFormat buffer[10000]; + + while(true) { + + if(!mbuffer) + _warn("AudioRecorder: Error: No instance of ringbuffer"); + + int availBytes = mbuffer->availForGet(recorderId); + + if(availBytes > 0) { + + int got = mbuffer->getData(buffer, availBytes, 100, recorderId); + + int availBytesAfter = mbuffer->availForGet(recorderId); + + arecord->recData(buffer, availBytes/sizeof(SFLDataFormat)); + } + + sleep(20); + + } + +} diff --git a/sflphone-common/src/audio/audiorecorder.h b/sflphone-common/src/audio/audiorecorder.h new file mode 100644 index 0000000000000000000000000000000000000000..b1c15f3a489a49fa058b320cb81caa8153e93208 --- /dev/null +++ b/sflphone-common/src/audio/audiorecorder.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __AUDIORECORDER_H_ +#define __AUDIORECORDER_H_ + +#include <cc++/thread.h> +#include "audiorecord.h" +#include <string> + +class MainBuffer; + +class AudioRecorder : public ost::Thread { + + public: + AudioRecorder(AudioRecord *arec, MainBuffer *mb); + + ~AudioRecorder(void){ terminate(); } + + static int count; + + std::string getRecorderID() { return recorderId; } + + virtual void run(); + + private: + AudioRecorder (const AudioRecorder& ar); + AudioRecorder& operator=(const AudioRecorder& ar); + + std::string recorderId; + + MainBuffer *mbuffer; + + AudioRecord *arecord; +}; + +#endif diff --git a/sflphone-common/src/audio/audiortp.cpp b/sflphone-common/src/audio/audiortp.cpp deleted file mode 100644 index 26615888a789d5b863c2a3e9f284fca381e2b458..0000000000000000000000000000000000000000 --- a/sflphone-common/src/audio/audiortp.cpp +++ /dev/null @@ -1,685 +0,0 @@ -/* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> - * Author: Yan Morin <yan.morin@savoirfairelinux.com> - * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> - * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <cstdio> -#include <cstdlib> -#include <ccrtp/rtp.h> -#include <assert.h> -#include <cstring> -#include <math.h> -#include <dlfcn.h> -#include <iostream> -#include <sstream> - -#include "../global.h" -#include "../manager.h" -#include "codecDescriptor.h" -#include "audiortp.h" -#include "audiolayer.h" -#include "ringbuffer.h" -#include "../user_cfg.h" -#include "../sipcall.h" - - -int AudioRtpRTX::count_rtp = 0; - -//////////////////////////////////////////////////////////////////////////////// -// AudioRtp -//////////////////////////////////////////////////////////////////////////////// -AudioRtp::AudioRtp() :_RTXThread (0), _symmetric(), _rtpMutex() -{ - -} - -AudioRtp::~AudioRtp (void) -{ - ost::MutexLock m (_rtpMutex); - - if (_RTXThread != _RTXThread) { - delete _RTXThread; - _RTXThread = 0; - } - -} - -void -AudioRtp::createNewSession (SIPCall *ca) -{ - - ost::MutexLock m (_rtpMutex); - - _debug ("AudioRtp::Create new rtp session"); - - // something should stop the thread before... - - if (_RTXThread != 0) { - _debug ("**********************************************************"); - _debug ("! ARTP Failure: Thread already exists..., stopping it"); - _debug ("**********************************************************"); - delete _RTXThread; - _RTXThread = 0; - } - - // Start RTP Send/Receive threads - _symmetric = Manager::instance().getConfigInt (SIGNALISATION,SYMMETRIC) ? true : false; - - _RTXThread = new AudioRtpRTX (ca, _symmetric); - -} - -int -AudioRtp::start (void) -{ - ost::MutexLock m (_rtpMutex); - - if (_RTXThread == 0) { - _debug ("! ARTP Failure: Cannot start audiortp thread since not yet created"); - throw AudioRtpException(); - } - - - try { - if (_RTXThread->start() != 0) { - _debug ("! ARTP Failure: unable to start RTX Thread"); - return -1; - } - } catch (...) { - _debugException ("! ARTP Failure: when trying to start a thread"); - throw; - } - - return 0; -} - - -bool -AudioRtp::closeRtpSession () -{ - - ost::MutexLock m (_rtpMutex); - // This will make RTP threads finish. - _debug ("AudioRtp::Stopping rtp session"); - - try { - if (_RTXThread != 0) { - delete _RTXThread; - _RTXThread = 0; - } - } catch (...) { - _debugException ("! ARTP Exception: when stopping audiortp"); - throw; - } - - _debug ("AudioRtp::Audio rtp stopped"); - - return true; -} - -/* -void -AudioRtp::setRecording() -{ - - _debug ("AudioRtp::setRecording"); - _RTXThread->_ca->setRecording(); - -} -*/ - -//////////////////////////////////////////////////////////////////////////////// -// AudioRtpRTX Class // -//////////////////////////////////////////////////////////////////////////////// -AudioRtpRTX::AudioRtpRTX (SIPCall *sipcall, bool sym) : time (new ost::Time()), _ca (sipcall), _sessionSend (NULL), _sessionRecv (NULL), _session (NULL), - _sym (sym), micData (NULL), micDataConverted (NULL), micDataEncoded (NULL), spkrDataDecoded (NULL), spkrDataConverted (NULL), - converter (NULL), _layerSampleRate(),_codecSampleRate(), _layerFrameSize(), _audiocodec (NULL) -{ - - setCancel (cancelDefault); - // AudioRtpRTX should be close if we change sample rate - // TODO: Change bind address according to user settings. - // TODO: this should be the local ip not the external (router) IP - std::string localipConfig = _ca->getLocalIp(); // _ca->getLocalIp(); - ost::InetHostAddress local_ip (localipConfig.c_str()); - - _debug ("%i", _ca->getLocalAudioPort()); - _session = new ost::SymmetricRTPSession (local_ip, _ca->getLocalAudioPort()); - // _session = new ost::RTPSessionBase(local_ip, _ca->getLocalAudioPort()); - _sessionRecv = NULL; - _sessionSend = NULL; - - //mic, we receive from soundcard in stereo, and we send encoded - //encoding before sending - _audiolayer = Manager::instance().getAudioDriver(); - _layerFrameSize = _audiolayer->getFrameSize(); // in ms - _layerSampleRate = _audiolayer->getSampleRate(); - - // initBuffers(); - - // initAudioRtpSession(); - - _payloadIsSet = false; - _remoteIpIsSet = false; - - - count_rtp++; - // open files - std::string s_input; - std::string s_output; - - // convert count into string - std::stringstream out; - out << count_rtp; - - s_input = "/home/alexandresavard/Desktop/buffer_record/rtp_input_"; - s_input.append (out.str()); - - s_output = "/home/alexandresavard/Desktop/buffer_record/rtp_output_"; - s_output.append (out.str()); - - rtp_input_rec = new std::fstream(); - rtp_output_rec = new std::fstream(); - - rtp_input_rec->open (s_input.c_str(), std::fstream::out); - rtp_output_rec->open (s_output.c_str(), std::fstream::out); - -} - -AudioRtpRTX::~AudioRtpRTX () -{ - - ost::MutexLock m (_rtpRtxMutex); - - _debug ("Delete AudioRtpRTX instance in callid %s", _ca->getCallId().c_str()); - - try { - this->terminate(); - } catch (...) { - _debugException ("! ARTP: Thread destructor didn't terminate correctly"); - throw; - } - - _debug ("Remove audio stream for call id %s", _ca->getCallId().c_str()); - - _audiolayer->getMainBuffer()->unBindAll (_ca->getCallId()); - // Manager::instance().removeStream(_ca->getCallId()); - - _debug ("DELETE print micData address %p", micData); - delete [] micData; - micData = NULL; - delete [] micDataConverted; - micDataConverted = NULL; - delete [] micDataEncoded; - micDataEncoded = NULL; - - delete [] spkrDataDecoded; - spkrDataDecoded = NULL; - delete [] spkrDataConverted; - spkrDataConverted = NULL; - - delete time; - time = NULL; - - delete converter; - converter = NULL; - - _ca = 0; - // _session->terminate(); - - delete _session; - _session = NULL; - - _debug ("AudioRtpRTX instance deleted"); - - rtp_input_rec->close(); - rtp_output_rec->close(); - -} - - -void -AudioRtpRTX::initBuffers() -{ - ost::MutexLock m (_rtpRtxMutex); - - _debug ("AudioRtpRTX::initBuffers Init RTP buffers for %s", _ca->getCallId().c_str()); - - converter = new SamplerateConverter (_layerSampleRate , _layerFrameSize); - - nbSamplesMax = (int) (_layerSampleRate * _layerFrameSize /1000); - - - _debug ("AudioRtpRTX::initBuffers NBSAMPLEMAX %i", nbSamplesMax); - - micData = new SFLDataFormat[nbSamplesMax]; - _debug ("CREATE print micData address %p", micData); - micDataConverted = new SFLDataFormat[nbSamplesMax]; - micDataEncoded = new unsigned char[nbSamplesMax]; - - spkrDataConverted = new SFLDataFormat[nbSamplesMax]; - spkrDataDecoded = new SFLDataFormat[nbSamplesMax]; - - Manager::instance().addStream (_ca->getCallId()); - // _audiolayer->getMainBuffer()->bindCallID(_ca->getCallId()); -} - - -void -AudioRtpRTX::initAudioRtpSession (void) -{ - - try { - - _session->setSchedulingTimeout (100000); - _session->setExpireTimeout (1000000); - - - } catch (...) { - _debugException ("! ARTP Failure: initialisation failed"); - throw; - } - -} - -void -AudioRtpRTX::setRtpSessionMedia (void) -{ - - if (_ca == 0) { - _debug (" !ARTP: No call, can't init RTP media"); - return; - } - - AudioCodecType pl = (AudioCodecType) _ca->getLocalSDP()->get_session_media()->getPayload(); - - _audiocodec = Manager::instance().getCodecDescriptorMap().instantiateCodec (pl); - - if (_audiocodec == NULL) { - _debug (" !ARTP: No audiocodec, can't init RTP media"); - return; - } - - _debug ("Init audio RTP session: codec payload %i", _audiocodec->getPayload()); - - // _audioCodecInstance = *_audiocodec; - - _codecSampleRate = _audiocodec->getClockRate(); - - _codecFrameSize = _audiocodec->getFrameSize(); - - if (_audiocodec->getPayload() == 9) { - _payloadIsSet = _session->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); - } else if (_audiocodec->hasDynamicPayload()) { - _payloadIsSet = _session->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); - } else if (!_audiocodec->hasDynamicPayload() && _audiocodec->getPayload() != 9) { - _payloadIsSet = _session->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); - } - - - -} - -void -AudioRtpRTX::setRtpSessionRemoteIp (void) -{ - - if (!_remoteIpIsSet) { - - _debug ("++++++++++++++++++++++++++ SET IP ADDRESS ++++++++++++++++++++++++++++"); - - if (_ca == 0) { - _debug (" !ARTP: No call, can't init RTP media "); - return; - } - - ost::InetHostAddress remote_ip (_ca->getLocalSDP()->get_remote_ip().c_str()); - - _debug ("Init audio RTP session: remote ip %s", _ca->getLocalSDP()->get_remote_ip().data()); - - if (!remote_ip) { - _debug (" !ARTP Thread Error: Target IP address [%s] is not correct!", _ca->getLocalSDP()->get_remote_ip().data()); - return; - } - - _debug ("++++Address: %s, audioport: %d", _ca->getLocalSDP()->get_remote_ip().c_str(), _ca->getLocalSDP()->get_remote_audio_port()); - - _debug ("++++Audioport: %d", (int) _ca->getLocalSDP()->get_remote_audio_port()); - - if (!_session->addDestination (remote_ip, (unsigned short) _ca->getLocalSDP()->get_remote_audio_port())) { - _debug (" !ARTP Thread Error: can't add destination to session!"); - return; - } - - _remoteIpIsSet = true; - } else { - _debug ("+++++++++++++++++++++++ IP ADDRESS ALREADY SET ++++++++++++++++++++++++"); - } - -} - - - -float -AudioRtpRTX::computeCodecFrameSize (int codecSamplePerFrame, int codecClockRate) -{ - return ( (float) codecSamplePerFrame * 1000.0) / (float) codecClockRate; -} - -int -AudioRtpRTX::computeNbByteAudioLayer (float codecFrameSize) -{ - return (int) ( (float) _layerSampleRate * codecFrameSize * (float) sizeof (SFLDataFormat) / 1000.0); -} - - -int -AudioRtpRTX::processDataEncode() -{ - - // compute codec framesize in ms - float fixed_codec_framesize = computeCodecFrameSize (_audiocodec->getFrameSize(), _audiocodec->getClockRate()); - - // compute nb of byte to get coresponding to 20 ms at audio layer frame size (44.1 khz) - int maxBytesToGet = computeNbByteAudioLayer (fixed_codec_framesize); - - // available bytes inside ringbuffer - int availBytesFromMic = _audiolayer->getMainBuffer()->availForGet (_ca->getCallId()); - - // _debug("AudioRtpRTX::processDataEncode() callid: %s availBytesFromMic %i", _ca->getCallId().c_str(), availBytesFromMic); - - // _debug("AudioRtpRTX::processDataEncode: availBytesFromMic: %i", availBytesFromMic); - // set available byte to maxByteToGet - int bytesAvail = (availBytesFromMic < maxBytesToGet) ? availBytesFromMic : maxBytesToGet; - // _debug("bytesAvail %i", bytesAvail); - - if (bytesAvail == 0) - return 0; - - // _debug("AudioRtpRTX::processDataEncode: bytesAvail: %i", bytesAvail); - // Get bytes from micRingBuffer to data_from_mic - int nbSample = _audiolayer->getMainBuffer()->getData (micData , bytesAvail, 100, _ca->getCallId()) / sizeof (SFLDataFormat); - - rtp_output_rec->write ( (char*) micData, bytesAvail); - - // _debug("AudioRtpRTX::processDataEncode: nbSample: %i", nbSample); - - // nb bytes to be sent over RTP - int compSize = 0; - - // test if resampling is required - if (_audiocodec->getClockRate() != _layerSampleRate) { - - int nb_sample_up = nbSample; - //_debug("_nbSample audiolayer->getMic(): %i ", nbSample); - - // Store the length of the mic buffer in samples for recording - _nSamplesMic = nbSample; - - nbSample = reSampleData (micData , micDataConverted, _audiocodec->getClockRate(), nb_sample_up, DOWN_SAMPLING); - - compSize = _audiocodec->codecEncode (micDataEncoded, micDataConverted, nbSample*sizeof (int16)); - - } else { - // no resampling required - compSize = _audiocodec->codecEncode (micDataEncoded, micData, nbSample*sizeof (int16)); - } - - return compSize; -} - - -void -AudioRtpRTX::processDataDecode (unsigned char* spkrData, unsigned int size, int& countTime) -{ - if (_audiocodec != NULL) { - - // Return the size of data in bytes - int expandedSize = _audiocodec->codecDecode (spkrDataDecoded , spkrData , size); - - // buffer _receiveDataDecoded ----> short int or int16, coded on 2 bytes - int nbSample = expandedSize / sizeof (SFLDataFormat); - - // test if resampling is required - - if (_audiocodec->getClockRate() != _layerSampleRate) { - - // Do sample rate conversion - int nb_sample_down = nbSample; - nbSample = reSampleData (spkrDataDecoded, spkrDataConverted, _codecSampleRate, nb_sample_down, UP_SAMPLING); - - rtp_input_rec->write ( (char*) spkrDataConverted, nbSample * sizeof (SFLDataFormat)); - - // Store the number of samples for recording - _nSamplesSpkr = nbSample; - - - - // put data in audio layer, size in byte - _audiolayer->getMainBuffer()->putData (spkrDataConverted, nbSample * sizeof (SFLDataFormat), 100, _ca->getCallId()); - - } else { - - // Stor the number of samples for recording - _nSamplesSpkr = nbSample; - - // put data in audio layer, size in byte - _audiolayer->getMainBuffer()->putData (spkrDataDecoded, nbSample * sizeof (SFLDataFormat), 100, _ca->getCallId()); - } - - // Notify (with a beep) an incoming call when there is already a call - countTime += time->getSecond(); - - if (Manager::instance().incomingCallWaiting() > 0) { - countTime = countTime % 500; // more often... - - if (countTime == 0) { - Manager::instance().notificationIncomingCall(); - } - } - - } else { - countTime += time->getSecond(); - } -} - -void -AudioRtpRTX::sendSessionFromMic (int timestamp) -{ - // STEP: - // 1. get data from mic - // 2. convert it to int16 - good sample, good rate - // 3. encode it - // 4. send it - - timestamp += time->getSecond(); - // no call, so we do nothing - - if (_ca==0) { - _debug (" !ARTP: No call associated (mic)"); - return; - } - - // AudioLayer* audiolayer = Manager::instance().getAudioDriver(); - if (!_audiolayer) { - _debug (" !ARTP: No audiolayer available for MIC"); - return; - } - - if (!_audiocodec) { - _debug (" !ARTP: No audiocodec available for MIC"); - return; - } - - - - int compSize = processDataEncode(); - - // putData put the data on RTP queue, sendImmediate bypass this queue - // _debug("AudioRtpRTX::sendSessionFromMic: timestamp: %i, compsize: %i", timestamp, compSize); - - if ( (compSize != 0) && (micDataEncoded != NULL)) - _session->putData (timestamp, micDataEncoded, compSize); - - // _session->sendImmediate(timestamp, micDataEncoded, compSize); - - -} - - -void -AudioRtpRTX::receiveSessionForSpkr (int& countTime) -{ - - if (_ca == 0) { - return; - } - - if (!_audiolayer) { - _debug (" !ARTP: No audiolayer available for SPEAKER"); - return; - } - - if (!_audiocodec) { - _debug (" !ARTP: No audiocodec available for SPEAKER"); - return; - } - - const ost::AppDataUnit* adu = NULL; - - // int is_waiting = _session->isWaiting(); - - // if (is_waiting != 0) - adu = _session->getData (_session->getFirstTimestamp()); - - // else - // return; - - - - if (adu == NULL) - return; - - unsigned char* spkrData = (unsigned char*) adu->getData(); // data in char - - unsigned int size = adu->getSize(); // size in char - - processDataDecode (spkrData, size, countTime); - - if (adu != NULL) { - delete adu; - adu = NULL; - } - -} - - -int -AudioRtpRTX::reSampleData (SFLDataFormat *input, SFLDataFormat *output, int sampleRate_codec, int nbSamples, int status) -{ - if (status==UP_SAMPLING) { - return converter->upsampleData (input, output, sampleRate_codec , _layerSampleRate , nbSamples); - } else if (status==DOWN_SAMPLING) { - return converter->downsampleData (micData , micDataConverted , sampleRate_codec , _layerSampleRate , nbSamples); - } else - - return 0; -} - - - -void -AudioRtpRTX::run () -{ - - int sessionWaiting; - - initBuffers(); - initAudioRtpSession(); - setRtpSessionRemoteIp(); - setRtpSessionMedia(); - - int timestep = _codecFrameSize; - - int countTime = 0; // for receive - - int threadSleep = 0; - - if (_codecSampleRate != 0) - threadSleep = (_codecFrameSize * 1000) / _codecSampleRate; - else - threadSleep = _layerFrameSize; - - TimerPort::setTimer (threadSleep); - - _audiolayer->startStream(); - - _audiolayer->getMainBuffer()->flush (_ca->getCallId()); - - _session->startRunning(); - - int timestamp = _session->getCurrentTimestamp(); // for mic - - _debug ("- ARTP Action: Start call %s",_ca->getCallId().c_str()); - - while (!testCancel()) { - - - // _debug("Main while loop for call: %s", _ca->getCallId().c_str()); - // Send session - sessionWaiting = _session->isWaiting(); - - sendSessionFromMic (timestamp); - timestamp += timestep; - // timestamp = _session->getCurrentTimestamp(); - - // Recv session - receiveSessionForSpkr (countTime); - - // Let's wait for the next transmit cycle - - - if (sessionWaiting == 1) { - // Record mic and speaker during conversation - _ca->recAudio.recData (spkrDataConverted,micData,_nSamplesSpkr,_nSamplesMic); - } else { - // Record mic only while leaving a message - _ca->recAudio.recData (micData,_nSamplesMic); - } - - - // Let's wait for the next transmit cycle - Thread::sleep (TimerPort::getTimer()); - - - // TimerPort::incTimer(20); // 'frameSize' ms - TimerPort::incTimer (threadSleep); - - } - - // _audiolayer->stopStream(); - _debug ("- ARTP Action: Stop call %s",_ca->getCallId().c_str()); - - -} - - -// EOF diff --git a/sflphone-common/src/audio/audiortp.h b/sflphone-common/src/audio/audiortp.h deleted file mode 100644 index f9dc1671a9297b15cd79bab4a537b456340a370d..0000000000000000000000000000000000000000 --- a/sflphone-common/src/audio/audiortp.h +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> - * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> - * Author: Yan Morin <yan.morin@savoirfairelinux.com> - * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef __AUDIO_RTP_H__ -#define __AUDIO_RTP_H__ - -#include <cstdio> -#include <cstdlib> -#include <iostream> -#include <ccrtp/rtp.h> -#include <cc++/numbers.h> - -#include "../global.h" -// #include "plug-in/audiorecorder/audiorecord.h" -#include "../samplerateconverter.h" -#include "codecDescriptor.h" - -#include <fstream> - -#define UP_SAMPLING 0 -#define DOWN_SAMPLING 1 - - - -class AudioRtpException: public std::exception -{ - virtual const char* what() const throw() - { - return "AudioRtpException occured"; - } -}; - - -/** - * @file audiortp.h - * @brief Manage the real-time data transport in a SIP call - */ - - -class SIPCall; - -/////////////////////////////////////////////////////////////////////////////// -// Two pair of sockets -/////////////////////////////////////////////////////////////////////////////// -class AudioRtpRTX : public ost::Thread, public ost::TimerPort { - public: - /** - * Constructor - * @param sipcall The pointer on the SIP call - * @param sym Tells whether or not the voip links are symmetric - */ - AudioRtpRTX (SIPCall* sipcall, bool sym); - - /** - * Destructor - */ - ~AudioRtpRTX(); - - /** For incoming call notification */ - ost::Time *time; - - /** Thread associated method */ - virtual void run (); - - /** A SIP call */ - SIPCall* _ca; - - /** - * Update RTP session media info as received from SDP negociation - */ - void setRtpSessionMedia(void); - - /** - * Update RTP session remote ip destination as received from sip transaction - */ - void setRtpSessionRemoteIp(void); - - - friend class RtpTest; - - private: - - // copy constructor - AudioRtpRTX(const AudioRtpRTX& rh); - - // assignment operator - AudioRtpRTX& operator=(const AudioRtpRTX& rh); - - /** RTP session to send data */ - ost::RTPSession *_sessionSend; - - /** RTP session to receive data */ - ost::RTPSession *_sessionRecv; - - /** RTP symmetric session ( receive and send data in the same session ) */ - ost::SymmetricRTPSession *_session; - - /** Semaphore */ - // ost::Semaphore _start; - - /** Is the session symmetric or not */ - bool _sym; - - /** Mic-data related buffers */ - SFLDataFormat* micData; - SFLDataFormat* micDataConverted; - unsigned char* micDataEncoded; - - /** Speaker-data related buffers */ - SFLDataFormat* spkrDataDecoded; - SFLDataFormat* spkrDataConverted; - - /** Sample rate converter object */ - SamplerateConverter* converter; - - /** audio layer */ - AudioLayer *_audiolayer; - - /** Variables to process audio stream: sample rate for playing sound (typically 44100HZ) */ - int _layerSampleRate; - - /** Sample rate of the codec we use to encode and decode (most of time 8000HZ) */ - int _codecSampleRate; - - /** Length of the sound frame we capture in ms (typically 20ms) */ - int _layerFrameSize; - - /** Codecs frame size in samples (20 ms => 882 at 44.1kHz) - The exact value is stored in the codec */ - int _codecFrameSize; - - /** Speaker buffer length in samples once the data are resampled - * (used for mixing and recording) - */ - int _nSamplesSpkr; - - /** Mic buffer length in samples once the data are resampled - * (used for mixing and recording) - */ - int _nSamplesMic; - - /** - * Maximum number of sample for audio buffers (mic and spkr) - */ - int nbSamplesMax; - - - - bool _payloadIsSet; - bool _remoteIpIsSet; - - /** - * Init the RTP session. Create either symmetric or double sessions to manage data transport - * Set the payloads according to the manager preferences - */ - void initAudioRtpSession(void); - - /** - * Return the lenth the codec frame in ms - */ - float computeCodecFrameSize(int codecSamplePerFrame, int codecClockRate); - - /** - * Compute nb of byte to get coresponding to X ms at audio layer frame size (44.1 khz) - */ - int computeNbByteAudioLayer(float codecFrameSize); - - - int processDataEncode(); - - - void processDataDecode(unsigned char* spkrData, unsigned int size, int& countTime); - - - /** - * Get the data from the mic, encode it and send it through the RTP session - * @param timestamp To manage time and synchronizing - */ - void sendSessionFromMic(int timestamp); - - /** - * Get the data from the RTP packets, decode it and send it to the sound card - * @param countTime To manage time and synchronizing - */ - void receiveSessionForSpkr(int& countTime); - - /** - * Init the buffers used for processing sound data - */ - void initBuffers(void); - - /** - * Call the appropriate function, up or downsampling - * @param sampleRate_codec The sample rate of the codec selected to encode/decode the data - * @param nbSamples Number of samples to process - * @param status Type of resampling - * UPSAMPLING - * DOWNSAMPLING - * @return int The number of samples after process - */ - int reSampleData(SFLDataFormat *input, SFLDataFormat *output,int sampleRate_codec, int nbSamples, int status); - - /** The audio codec used during the session */ - AudioCodec *_audiocodec; - // AudioCodec _audioCodecInstance; - - /** Mutex */ - ost::Mutex _rtpRtxMutex; - - public: - - std::fstream *rtp_input_rec; - std::fstream *rtp_output_rec; - - static int count_rtp; - - -}; - -/////////////////////////////////////////////////////////////////////////////// -// Main class rtp -/////////////////////////////////////////////////////////////////////////////// -class AudioRtp { - public: - /** - * Constructor - */ - AudioRtp(); - - /** - * Destructor - */ - ~AudioRtp(); - - /** - * Create a brand new RTP session by calling the AudioRtpRTX constructor - * @param ca A pointer on a SIP call - */ - void createNewSession (SIPCall *ca); - - /** - * Start the AudioRtpRTX thread created with createNewSession - */ - int start(void); - - /** - * Close a RTP session and kills the remaining threads - */ - bool closeRtpSession( void ); - - /** - * Start recording - */ - // void setRecording (); - - friend class RtpTest; - - /** - * - */ - inline AudioRtpRTX * getAudioRtpRtxThread(void) { return _RTXThread; } - private: - // copy constructor - AudioRtp(const AudioRtp& rh); - - // assignment operator - AudioRtp& operator=(const AudioRtp& rh); - - /** The RTP thread */ - AudioRtpRTX* _RTXThread; - - /** Symmetric session or not */ - bool _symmetric; - - /** Mutex */ - ost::Mutex _rtpMutex; - -}; - -#endif // __AUDIO_RTP_H__ diff --git a/sflphone-common/src/audio/audiortp/AudioRtpFactory.cpp b/sflphone-common/src/audio/audiortp/AudioRtpFactory.cpp index e532515d604c30dac6e10e9e3a0fe8c3ce2fe2f7..85f53cf09e5e31ca623104932c608b8d3e56283b 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpFactory.cpp +++ b/sflphone-common/src/audio/audiortp/AudioRtpFactory.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ @@ -22,7 +33,6 @@ #include "AudioZrtpSession.h" #include "AudioSrtpSession.h" #include "AudioSymmetricRtpSession.h" - #include "manager.h" #include "account.h" #include "sip/sipcall.h" @@ -122,35 +132,34 @@ void AudioRtpFactory::initAudioRtpSession (SIPCall * ca) } } -void AudioRtpFactory::start (void) +void AudioRtpFactory::start (AudioCodec* audiocodec) { if (_rtpSession == NULL) { - throw AudioRtpFactoryException ("_rtpSession was null when trying to start audio thread"); + throw AudioRtpFactoryException ("RTP: Error: _rtpSession was null when trying to start audio thread"); } switch (_rtpSessionType) { case Sdes: - if (static_cast<AudioSrtpSession *> (_rtpSession)->startRtpThread() != 0) { - throw AudioRtpFactoryException ("Failed to start AudioSRtpSession thread"); + if (static_cast<AudioSrtpSession *> (_rtpSession)->startRtpThread(audiocodec) != 0) { + throw AudioRtpFactoryException ("RTP: Error: Failed to start AudioSRtpSession thread"); } break; case Symmetric: _debug ("Starting symmetric rtp thread"); - if (static_cast<AudioSymmetricRtpSession *> (_rtpSession)->startRtpThread() != 0) { - throw AudioRtpFactoryException ("Failed to start AudioSymmetricRtpSession thread"); + if (static_cast<AudioSymmetricRtpSession *> (_rtpSession)->startRtpThread(audiocodec) != 0) { + throw AudioRtpFactoryException ("RTP: Error: Failed to start AudioSymmetricRtpSession thread"); } break; case Zrtp: - if (static_cast<AudioZrtpSession *> (_rtpSession)->startRtpThread() != 0) { - throw AudioRtpFactoryException ("Failed to start AudioZrtpSession thread"); + if (static_cast<AudioZrtpSession *> (_rtpSession)->startRtpThread(audiocodec) != 0) { + throw AudioRtpFactoryException ("RTP: Error: Failed to start AudioZrtpSession thread"); } - break; } } @@ -158,10 +167,10 @@ void AudioRtpFactory::start (void) void AudioRtpFactory::stop (void) { ost::MutexLock mutex (_audioRtpThreadMutex); - _debug ("Stopping audio rtp session"); + _info("RTP: Stopping audio rtp session"); if (_rtpSession == NULL) { - _debugException ("_rtpSession is null when trying to stop. Returning."); + _debugException ("RTP: Error: _rtpSession is null when trying to stop. Returning."); return; } @@ -169,8 +178,8 @@ void AudioRtpFactory::stop (void) switch (_rtpSessionType) { case Sdes: - delete static_cast<AudioSrtpSession *> (_rtpSession); - break; + delete static_cast<AudioSrtpSession *> (_rtpSession); + break; case Symmetric: delete static_cast<AudioSymmetricRtpSession *> (_rtpSession); @@ -183,16 +192,16 @@ void AudioRtpFactory::stop (void) _rtpSession = NULL; } catch (...) { - _debugException ("Exception caught when stopping the audio rtp session"); - throw AudioRtpFactoryException("caught exception in AudioRtpFactory::stop"); + _debugException ("RTP: Error: Exception caught when stopping the audio rtp session"); + throw AudioRtpFactoryException("RTP: Error: caught exception in AudioRtpFactory::stop"); } } void AudioRtpFactory::updateDestinationIpAddress (void) { - _debug ("Updating IP address"); + _info ("RTP: Updating IP address"); if (_rtpSession == NULL) { - throw AudioRtpFactoryException ("_rtpSession was null when trying to update IP address"); + throw AudioRtpFactoryException ("RTP: Error: _rtpSession was null when trying to update IP address"); } switch (_rtpSessionType) { @@ -211,24 +220,50 @@ void AudioRtpFactory::updateDestinationIpAddress (void) } } +sfl::AudioSymmetricRtpSession * AudioRtpFactory::getAudioSymetricRtpSession() +{ + if ( (_rtpSessionType == Symmetric) && (_rtpSessionType != NULL)) { + return static_cast<AudioSymmetricRtpSession *> (_rtpSession); + } else { + throw AudioRtpFactoryException("RTP: Error: _rtpSession is NULL in getAudioSymetricRtpSession"); + } +} + sfl::AudioZrtpSession * AudioRtpFactory::getAudioZrtpSession() { if ( (_rtpSessionType == Zrtp) && (_rtpSessionType != NULL)) { return static_cast<AudioZrtpSession *> (_rtpSession); } else { - throw AudioRtpFactoryException("_rtpSession is NULL in getAudioZrtpSession"); + throw AudioRtpFactoryException("RTP: Error: _rtpSession is NULL in getAudioZrtpSession"); } } - void AudioRtpFactory::setRemoteCryptoInfo(sfl::SdesNegotiator& nego) +void AudioRtpFactory::setRemoteCryptoInfo(sfl::SdesNegotiator& nego) { if ( _rtpSession && _rtpSessionType && (_rtpSessionType == Sdes)) { static_cast<AudioSrtpSession *> (_rtpSession)->setRemoteCryptoInfo(nego); } else { - throw AudioRtpFactoryException("_rtpSession is NULL in setRemoteCryptoInfo"); + throw AudioRtpFactoryException("RTP: Error: _rtpSession is NULL in setRemoteCryptoInfo"); } } + +void AudioRtpFactory::sendDtmfDigit(int digit) { + switch(_rtpSessionType) { + + case Sdes: + static_cast<AudioSrtpSession *> (_rtpSession)->putDtmfEvent(digit); + break; + + case Symmetric: + static_cast<AudioSymmetricRtpSession *> (_rtpSession)->putDtmfEvent(digit); + break; + + case Zrtp: + static_cast<AudioZrtpSession *> (_rtpSession)->putDtmfEvent(digit); + break; + } +} } diff --git a/sflphone-common/src/audio/audiortp/AudioRtpFactory.h b/sflphone-common/src/audio/audiortp/AudioRtpFactory.h index cfa14165f1cf0f85960eb775b4b09fd476df7062..74de2364b94a16cf169aeadda853ec98ebc4becf 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpFactory.h +++ b/sflphone-common/src/audio/audiortp/AudioRtpFactory.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_AUDIO_RTP_FACTORY_H__ @@ -23,6 +34,7 @@ #include <cc++/thread.h> #include "sip/SdesNegotiator.h" +#include "audio/codecs/audiocodec.h" class SdesNegotiator; class SIPCall; @@ -30,6 +42,7 @@ class SIPCall; namespace sfl { class AudioZrtpSession; class AudioSrtpSession; + class AudioSymmetricRtpSession; } namespace sfl { @@ -63,54 +76,56 @@ namespace sfl { void initAudioRtpConfig(SIPCall *ca); - /** - * Lazy instantiation method. Create a new RTP session of a given - * type according to the content of the configuration file. - * @param ca A pointer on a SIP call - * @return A new AudioRtpSession object - */ - void initAudioRtpSession(SIPCall *ca); - - /** - * Start the audio rtp thread of the type specified in the configuration - * file. initAudioRtpSession must have been called prior to that. - * @param None - */ - void start(); - - /** - * Stop the audio rtp thread of the type specified in the configuration - * file. initAudioRtpSession must have been called prior to that. - * @param None - */ - void stop(); + /** + * Lazy instantiation method. Create a new RTP session of a given + * type according to the content of the configuration file. + * @param ca A pointer on a SIP call + * @return A new AudioRtpSession object + */ + void initAudioRtpSession(SIPCall *ca); + + /** + * Start the audio rtp thread of the type specified in the configuration + * file. initAudioRtpSession must have been called prior to that. + * @param None + */ + void start(AudioCodec*); /** - * Update current RTP destination address with one stored in call - * @param None - */ + * Stop the audio rtp thread of the type specified in the configuration + * file. initAudioRtpSession must have been called prior to that. + * @param None + */ + void stop(); + + /** + * Update current RTP destination address with one stored in call + * @param None + */ void updateDestinationIpAddress (void); - /** - * @param None - * @return The internal audio rtp thread of the type specified in the configuration - * file. initAudioRtpSession must have been called prior to that. - */ - inline void * getAudioRtpSession(void) { return _rtpSession; } + /** + * @param None + * @return The internal audio rtp thread of the type specified in the configuration + * file. initAudioRtpSession must have been called prior to that. + */ + inline void * getAudioRtpSession(void) { return _rtpSession; } + + AudioSymmetricRtpSession * getAudioSymetricRtpSession(); /** - * @param None - * @return The internal audio rtp session type - * Symmetric = 0 - * Zrtp = 1 - * Sdes = 2 - */ - inline RtpMethod getAudioRtpType(void) { return _rtpSessionType; } + * @param None + * @return The internal audio rtp session type + * Symmetric = 0 + * Zrtp = 1 + * Sdes = 2 + */ + inline RtpMethod getAudioRtpType(void) { return _rtpSessionType; } - /** - * @param Set internal audio rtp session type (Symmetric, Zrtp, Sdes) - */ - inline void setAudioRtpType(RtpMethod type) { _rtpSessionType = type; } + /** + * @param Set internal audio rtp session type (Symmetric, Zrtp, Sdes) + */ + inline void setAudioRtpType(RtpMethod type) { _rtpSessionType = type; } /** * Manually set the srtpEnable option (usefull for RTP fallback) @@ -127,35 +142,43 @@ namespace sfl { */ void setHelloHashEnabled(bool enable){ _helloHashEnabled = enable; } - /** - * Get the current AudioZrtpSession. Throws an AudioRtpFactoryException - * if the current rtp thread is null, or if it's not of the correct type. - * @return The current AudioZrtpSession thread. - */ - sfl::AudioZrtpSession * getAudioZrtpSession(); + /** + * Get the current AudioZrtpSession. Throws an AudioRtpFactoryException + * if the current rtp thread is null, or if it's not of the correct type. + * @return The current AudioZrtpSession thread. + */ + sfl::AudioZrtpSession * getAudioZrtpSession(); /** - * Set remote cryptographic info. Should be called after negotiation in SDP + * Set remote cryptographic info. Should be called after negotiation in SDP * offer/answer session. - */ - void setRemoteCryptoInfo(sfl::SdesNegotiator& nego); + */ + void setRemoteCryptoInfo(sfl::SdesNegotiator& nego); + + /** + * Send DTMF over RTP (RFC2833). The timestamp and sequence number must be + * incremented as if it was microphone audio. This function change the payload type of the rtp session, + * send the appropriate DTMF digit using this payload, discard coresponding data from mainbuffer and get + * back the codec payload for further audio processing. + */ + void sendDtmfDigit(int digit); - private: - void * _rtpSession; - RtpMethod _rtpSessionType; - ost::Mutex _audioRtpThreadMutex; - - // Field used when initializinga udio rtp session - // May be set manually or from config using initAudioRtpConfig - bool _srtpEnabled; - - // Field used when initializinga udio rtp session - // May be set manually or from config using initAudioRtpConfig - int _keyExchangeProtocol; - - // Field used when initializinga udio rtp session - // May be set manually or from config using initAudioRtpConfig - bool _helloHashEnabled; - }; +private: + void * _rtpSession; + RtpMethod _rtpSessionType; + ost::Mutex _audioRtpThreadMutex; + + // Field used when initializinga udio rtp session + // May be set manually or from config using initAudioRtpConfig + bool _srtpEnabled; + + // Field used when initializinga udio rtp session + // May be set manually or from config using initAudioRtpConfig + int _keyExchangeProtocol; + + // Field used when initializinga udio rtp session + // May be set manually or from config using initAudioRtpConfig + bool _helloHashEnabled; +}; } #endif // __AUDIO_RTP_FACTORY_H__ diff --git a/sflphone-common/src/audio/audiortp/AudioRtpSession.h b/sflphone-common/src/audio/audiortp/AudioRtpSession.h index 7bdfe3c4063692f4cceda3a378fb2fd9961ee9b6..5144d3767989d019316a1837aaaa0c0c2f189e3b 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioRtpSession.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -19,12 +19,24 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_AUDIO_RTP_SESSION_H__ #define __SFL_AUDIO_RTP_SESSION_H__ #include <iostream> #include <exception> +#include <list> #include "global.h" @@ -38,11 +50,19 @@ #include <ccrtp/rtp.h> #include <cc++/numbers.h> // ost::Time +#include <speex/speex_jitter.h> + +#include "audio/jitterbuf.h" + +// Frequency (in packet number) +#define RTP_TIMESTAMP_RESET_FREQ 100 + namespace sfl { static const int schedulingTimeout = 100000; static const int expireTimeout = 1000000; + class AudioRtpSessionException: public std::exception { virtual const char* what() const throw() @@ -51,6 +71,14 @@ namespace sfl { } }; + typedef struct DtmfEvent { + ost::RTPPacket::RFC2833Payload payload; + int length; + bool newevent; + } DtmfEvent; + + typedef list<DtmfEvent *> EventQueue; + template <typename D> class AudioRtpSession : public ost::Thread, public ost::TimerPort { public: @@ -65,30 +93,41 @@ namespace sfl { // Thread associated method virtual void run (); - int startRtpThread(); + int startRtpThread(AudioCodec*); - /** - * Used mostly when receiving a reinvite + /** + * Used mostly when receiving a reinvite + */ + void updateDestinationIpAddress(void); + + void putDtmfEvent(int digit); + + /** + * Send DTMF over RTP (RFC2833). The timestamp and sequence number must be + * incremented as if it was microphone audio. This function change the payload type of the rtp session, + * send the appropriate DTMF digit using this payload, discard coresponding data from mainbuffer and get + * back the codec payload for further audio processing. */ - void updateDestinationIpAddress(void); + void sendDtmfEvent(sfl::DtmfEvent *dtmf); + + inline float computeCodecFrameSize (int codecSamplePerFrame, int codecClockRate) { + return ( (float) codecSamplePerFrame * 1000.0) / (float) codecClockRate; + } + + int computeNbByteAudioLayer (float codecFrameSize) { + return (int) ( ((float) _converterSamplingRate * codecFrameSize * sizeof(SFLDataFormat))/ 1000.0); + } private: void initBuffers(void); void setSessionTimeouts(void); - void setSessionMedia(void); + void setSessionMedia(AudioCodec*); void setDestinationIpAddress(void); int processDataEncode(void); void processDataDecode(unsigned char * spkrData, unsigned int size); - - inline float computeCodecFrameSize (int codecSamplePerFrame, int codecClockRate) { - return ( (float) codecSamplePerFrame * 1000.0) / (float) codecClockRate; - } - int computeNbByteAudioLayer (float codecFrameSize) { - return (int) ( ((float) _converterSamplingRate * codecFrameSize * sizeof(SFLDataFormat))/ 1000.0); - } void sendMicData(); void receiveSpeakerData (); @@ -104,15 +143,16 @@ namespace sfl { // start() with no semaphore at all. ost::Semaphore * _mainloopSemaphore; - // Main destination address for this rtp session. - // Stored in case or reINVITE, which may require to forget - // this destination and update a new one. - ost::InetHostAddress _remote_ip; + // Main destination address for this rtp session. + // Stored in case or reINVITE, which may require to forget + // this destination and update a new one. + ost::InetHostAddress _remote_ip; + - // Main destination port for this rtp session. - // Stored in case reINVITE, which may require to forget - // this destination and update a new one - unsigned short _remote_port; + // Main destination port for this rtp session. + // Stored in case reINVITE, which may require to forget + // this destination and update a new one + unsigned short _remote_port; AudioCodec * _audiocodec; @@ -163,24 +203,61 @@ namespace sfl { */ ManagerImpl * _manager; + /** + * Sampling rate of audio converter + */ + int _converterSamplingRate; + + /** + * Timestamp for this session + */ + int _timestamp; + /** - * Sampling rate of audio converter + * Timestamp incrementation value based on codec period length (framesize) + * except for G722 which require a 8 kHz incrementation. */ - int _converterSamplingRate; + int _timestampIncrement; /** - * Timestamp for this session + * Timestamp reset freqeuncy specified in number of packet sent */ - int _timestamp; + short _timestampCount; + + /** + * Time counter used to trigger incoming call notification + */ + int _countNotificationTime; + + /** + * EventQueue used to store list of DTMF- + */ + EventQueue _eventQueue; /** - * Time counter used to trigger incoming call notification + * Adaptive jitter buffer */ - int _countNotificationTime; - + jitterbuf * _jbuffer; + + /** + * Packet size in ms + */ + int _packetLength; + + int _ts; + + /** + * Current time in ms + */ + int _currentTime; + + SpeexPreprocessState *_noiseState; + protected: - SIPCall * _ca; - + + SIPCall * _ca; + + bool onRTPPacketRecv(ost::IncomingRTPPkt&); }; template <typename D> @@ -201,14 +278,18 @@ namespace sfl { _manager(manager), _converterSamplingRate(0), _timestamp(0), + _timestampIncrement(0), + _timestampCount(0), _countNotificationTime(0), + _jbuffer(NULL), + _noiseState(NULL), _ca (sipcall) { setCancel (cancelDefault); assert(_ca); - _debug ("Local audio port %i will be used\n", _ca->getLocalAudioPort()); + _info ("Rtp: Local audio port %i will be used", _ca->getLocalAudioPort()); //mic, we receive from soundcard in stereo, and we send encoded _audiolayer = _manager->getAudioDriver(); @@ -218,12 +299,21 @@ namespace sfl { _layerFrameSize = _audiolayer->getFrameSize(); // in ms _layerSampleRate = _audiolayer->getSampleRate(); + _jbuffer = jb_new(); + + _jbuffer->info.conf.max_jitterbuf = 1000; + _jbuffer->info.conf.target_extra = 100; + _jbuffer->info.silence_begin_ts = 0; + + _ts= 0; + _packetLength = 20; + _currentTime = 0; } template <typename D> AudioRtpSession<D>::~AudioRtpSession() { - _debug ("Delete AudioRtpSession instance\n"); + _debug ("RTP: Delete AudioRtpSession instance"); try { terminate(); @@ -232,9 +322,7 @@ namespace sfl { throw; } - _debug("Unbind audio RTP stream for call id %s\n", _ca->getCallId().c_str()); - // _audiolayer->getMainBuffer()->unBindAll(_ca->getCallId()); - _manager->getAudioDriver()->getMainBuffer()->unBindAll(_ca->getCallId()); + _manager->getAudioDriver()->getMainBuffer()->unBindAll(_ca->getCallId()); delete [] _micData; delete [] _micDataConverted; @@ -243,22 +331,32 @@ namespace sfl { delete [] _spkrDataConverted; delete _time; delete _converter; - _debug ("AudioRtpSession instance deleted\n"); + + if (_audiocodec) { + delete _audiocodec; _audiocodec = NULL; + } + + if(_jbuffer) { + jb_destroy(_jbuffer); + } + + if(_noiseState) { + speex_preprocess_state_destroy(_noiseState); + } + } template <typename D> void AudioRtpSession<D>::initBuffers() { - // Set sampling rate, main buffer choose the highest one - // _audiolayer->getMainBuffer()->setInternalSamplingRate(_codecSampleRate); + // Set sampling rate, main buffer choose the highest one _manager->getAudioDriver()->getMainBuffer()->setInternalSamplingRate(_codecSampleRate); - // may be different than one already setted - // converterSamplingRate = _audiolayer->getMainBuffer()->getInternalSamplingRate(); - _converterSamplingRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); + // may be different than one already setted + _converterSamplingRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); - // initialize SampleRate converter using AudioLayer's sampling rate - // (internal buffers initialized with maximal sampling rate and frame size) + // initialize SampleRate converter using AudioLayer's sampling rate + // (internal buffers initialized with maximal sampling rate and frame size) _converter = new SamplerateConverter(_layerSampleRate, _layerFrameSize); int nbSamplesMax = (int)(_codecSampleRate * _layerFrameSize /1000)*2; @@ -268,7 +366,7 @@ namespace sfl { _spkrDataConverted = new SFLDataFormat[nbSamplesMax]; _spkrDataDecoded = new SFLDataFormat[nbSamplesMax]; - _manager->addStream(_ca->getCallId()); + _manager->addStream(_ca->getCallId()); } template <typename D> @@ -284,61 +382,90 @@ namespace sfl { } template <typename D> - void AudioRtpSession<D>::setSessionMedia(void) + void AudioRtpSession<D>::setSessionMedia(AudioCodec* audiocodec) { - assert(_ca); + _audiocodec = audiocodec; - AudioCodecType pl = (AudioCodecType)_ca->getLocalSDP()->get_session_media()->getPayload(); - _audiocodec = _manager->getCodecDescriptorMap().instantiateCodec(pl); - - if (_audiocodec == NULL) { - _debug ("No audiocodec, can't init RTP media\n"); - throw AudioRtpSessionException(); - } - - _debug ("Init audio RTP session: codec payload %i\n", _audiocodec->getPayload()); + _debug ("RTP: Init codec payload %i", _audiocodec->getPayload()); _codecSampleRate = _audiocodec->getClockRate(); _codecFrameSize = _audiocodec->getFrameSize(); - //TODO: figure out why this is necessary. + // G722 requires timestamp to be incremented at 8 kHz + if (_audiocodec->getPayload() == 9) + _timestampIncrement = 160; + else + _timestampIncrement = _codecFrameSize; + + + _debug("RTP: Codec sampling rate: %d", _codecSampleRate); + _debug("RTP: Codec frame size: %d", _codecFrameSize); + _debug("RTP: RTP timestamp increment: %d", _timestampIncrement); + + // Even if specified as a 16 kHz codec, G722 requires rtp sending rate to be 8 kHz if (_audiocodec->getPayload() == 9) { - _debug ("Setting payload format to G722\n"); + _debug ("RTP: Setting G722 payload format"); static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); } else if (_audiocodec->hasDynamicPayload()) { - _debug ("Setting a dynamic payload format\n"); + _debug ("RTP: Setting dynamic payload format"); static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); } else if (!_audiocodec->hasDynamicPayload() && _audiocodec->getPayload() != 9) { - _debug ("Setting a static payload format\n"); + _debug ("RTP: Setting static payload format"); static_cast<D*>(this)->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); } + + if(_noiseState) { + speex_preprocess_state_destroy(_noiseState); + _noiseState = NULL; + } + + _noiseState = speex_preprocess_state_init(_codecSampleRate, _codecFrameSize); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-20; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); } template <typename D> void AudioRtpSession<D>::setDestinationIpAddress(void) { if (_ca == NULL) { - _debug ("Sipcall is gone.\n"); - throw AudioRtpSessionException(); + _error ("RTP: Sipcall is gone."); + throw AudioRtpSessionException(); } - _debug ("Setting IP address for the RTP session\n"); + _info ("RTP: Setting IP address for the RTP session"); - // Store remote ip in case we would need to forget current destination + // Store remote ip in case we would need to forget current destination _remote_ip = ost::InetHostAddress(_ca->getLocalSDP()->get_remote_ip().c_str()); - _debug ("Init audio RTP session: remote ip %s\n", _ca->getLocalSDP()->get_remote_ip().data()); if (!_remote_ip) { - _debug ("Target IP address [%s] is not correct!\n", _ca->getLocalSDP()->get_remote_ip().data()); + _warn("RTP: Target IP address (%s) is not correct!", + _ca->getLocalSDP()->get_remote_ip().data()); return; } - // Store remote port in case we would need to forget current destination - _remote_port = (unsigned short) _ca->getLocalSDP()->get_remote_audio_port(); + // Store remote port in case we would need to forget current destination + _remote_port = (unsigned short) _ca->getLocalSDP()->get_remote_audio_port(); + + _info("RTP: New remote address for session: %s:%d", + _ca->getLocalSDP()->get_remote_ip().data(), _remote_port); if (! static_cast<D*>(this)->addDestination (_remote_ip, _remote_port)) { - _debug ("Can't add destination to session!\n"); - return; + _warn("RTP: Can't add new destination to session!"); + return; } } @@ -346,22 +473,94 @@ namespace sfl { void AudioRtpSession<D>::updateDestinationIpAddress(void) { // Destination address are stored in a list in ccrtp - // This method clear off this entry - static_cast<D*>(this)->forgetDestination(_remote_ip, _remote_port); + // This method remove the current destination entry - // new destination is stored in call - // we just need to recall this method + if(!static_cast<D*>(this)->forgetDestination(_remote_ip, _remote_port, _remote_port+1)) + _warn("RTP: Could not remove previous destination"); + + // new destination is stored in call + // we just need to recall this method setDestinationIpAddress(); } + template<typename D> + void AudioRtpSession<D>::putDtmfEvent(int digit) + { + + sfl::DtmfEvent *dtmf = new sfl::DtmfEvent(); + + dtmf->payload.event = digit; + dtmf->payload.ebit = false; // end of event bit + dtmf->payload.rbit = false; // reserved bit + dtmf->payload.duration = 1; // duration for this event + dtmf->newevent = true; + dtmf->length = 1000; + + _eventQueue.push_back(dtmf); + + _debug("RTP: Put Dtmf Event %d", _eventQueue.size()); + + } + + template<typename D> + void AudioRtpSession<D>::sendDtmfEvent(sfl::DtmfEvent *dtmf) + { + _debug("RTP: Send Dtmf %d", _eventQueue.size()); + + _timestamp += 160; + + // discard equivalent size of audio + processDataEncode(); + + // change Payload type for DTMF payload + static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) 101, 8000)); + + // Set marker in case this is a new Event + if(dtmf->newevent) + static_cast<D*>(this)->setMark (true); + + static_cast<D*>(this)->putData (_timestamp, (const unsigned char*)(&(dtmf->payload)), sizeof(ost::RTPPacket::RFC2833Payload)); + + // This is no more a new event + if(dtmf->newevent) { + dtmf->newevent = false; + static_cast<D*>(this)->setMark (false); + } + + // get back the payload to audio + static_cast<D*>(this)->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); + + // decrease length remaining to process for this event + dtmf->length -= 160; + + dtmf->payload.duration += 1; + + // next packet is going to be the last one + if((dtmf->length - 160) < 160) + dtmf->payload.ebit = true; + + if(dtmf->length < 160) { + delete dtmf; + _eventQueue.pop_front(); + } + } + + template <typename D> + bool onRTPPacketRecv(ost::IncomingRTPPkt&) + { + _debug("AudioRtpSession: onRTPPacketRecv"); + + return true; + } + + template <typename D> int AudioRtpSession<D>::processDataEncode(void) { assert(_audiocodec); assert(_audiolayer); - - int _mainBufferSampleRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); + int _mainBufferSampleRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); // compute codec framesize in ms float fixed_codec_framesize = computeCodecFrameSize (_audiocodec->getFrameSize(), _audiocodec->getClockRate()); @@ -396,7 +595,7 @@ namespace sfl { } else { - _nSamplesMic = nbSample; + _nSamplesMic = nbSample; // no resampling required compSize = _audiocodec->codecEncode (_micDataEncoded, _micData, nbSample*sizeof (int16)); @@ -430,6 +629,8 @@ namespace sfl { // Store the number of samples for recording _nSamplesSpkr = nbSample; + speex_preprocess_run(_noiseState, _spkrDataConverted); + // put data in audio layer, size in byte _manager->getAudioDriver()->getMainBuffer()->putData (_spkrDataConverted, nbSample * sizeof (SFLDataFormat), 100, _ca->getCallId()); @@ -438,6 +639,7 @@ namespace sfl { // Store the number of samples for recording _nSamplesSpkr = nbSample; + // speex_preprocess_run(_noiseState, _spkrDataDecoded); // put data in audio layer, size in byte _manager->getAudioDriver()->getMainBuffer()->putData (_spkrDataDecoded, expandedSize, 100, _ca->getCallId()); @@ -469,16 +671,15 @@ namespace sfl { // 4. send it // Increment timestamp for outgoing packet - - _timestamp += _codecFrameSize; + _timestamp += _timestampIncrement; if (!_audiolayer) { - _debug ("No audiolayer available for MIC\n"); + _debug ("No audiolayer available for MIC"); return; } if (!_audiocodec) { - _debug ("No audiocodec available for MIC\n"); + _debug ("No audiocodec available for MIC"); return; } @@ -493,96 +694,129 @@ namespace sfl { void AudioRtpSession<D>::receiveSpeakerData () { if (!_audiolayer) { - _debug ("No audiolayer available for speaker\n"); + _debug ("No audiolayer available for speaker"); return; } if (!_audiocodec) { - _debug ("No audiocodec available for speaker\n"); + _debug ("No audiocodec available for speaker"); return; } const ost::AppDataUnit* adu = NULL; + int packetTimestamp = static_cast<D*>(this)->getFirstTimestamp(); + adu = static_cast<D*>(this)->getData(packetTimestamp); - adu = static_cast<D*>(this)->getData(static_cast<D*>(this)->getFirstTimestamp()); + if(!adu) + return; - if (adu == NULL) { - // _debug("No RTP audio stream\n"); - return; - } + unsigned char* spkrDataIn = NULL; + unsigned int size = 0; + int result; - unsigned char* spkrData = (unsigned char*) adu->getData(); // data in char + jb_frame frame; - unsigned int size = adu->getSize(); // size in char + _jbuffer->info.conf.resync_threshold = 0; + + if (adu) { + + spkrDataIn = (unsigned char*) adu->getData(); // data in char + size = adu->getSize(); // size in char + + + + result = jb_put(_jbuffer, spkrDataIn, JB_TYPE_VOICE, _packetLength, _ts+=20, _currentTime); - // DTMF over RTP, size must be over 4 in order to process it as voice data - if(size > 4) { - processDataDecode (spkrData, size); } + else { + _debug("No RTP packet available !!!!!!!!!!!!!!!!!!!!!!!\n"); + } + + result = jb_get(_jbuffer, &frame, _currentTime+=20, _packetLength); + + // DTMF over RTP, size must be over 4 in order to process it as voice data + if(size > 4) { + processDataDecode(spkrDataIn, size); + //if(result == JB_OK) { + // processDataDecode((unsigned char *)(frame.data), 160); + //} + } + + delete adu; } template <typename D> - int AudioRtpSession<D>::startRtpThread () + int AudioRtpSession<D>::startRtpThread (AudioCodec* audiocodec) { - _debug("Starting main thread\n"); + _debug("RTP: Starting main thread"); + setSessionTimeouts(); + setSessionMedia(audiocodec); + initBuffers(); return start(_mainloopSemaphore); } template <typename D> void AudioRtpSession<D>::run () { - - setSessionTimeouts(); - setDestinationIpAddress(); - setSessionMedia(); - - initBuffers(); - // Timestamp must be initialized randomly _timestamp = static_cast<D*>(this)->getCurrentTimestamp(); int sessionWaiting; int threadSleep = 0; - if (_codecSampleRate != 0) - { threadSleep = (_codecFrameSize * 1000) / _codecSampleRate; } - else - { threadSleep = _layerFrameSize; } + if (_codecSampleRate != 0){ + threadSleep = (_codecFrameSize * 1000) / _codecSampleRate; + } + else { + threadSleep = _layerFrameSize; + } TimerPort::setTimer (threadSleep); if (_audiolayer == NULL) { - _debug("For some unknown reason, audiolayer is null, just as \ - we were about to start the audio stream\n"); + _error("RTP: Error: Audiolayer is null, cannot start the audio stream"); throw AudioRtpSessionException(); } - _ca->setRecordingSmplRate(_audiocodec->getClockRate()); - - // Start audio stream (if not started) AND flush all buffers (main and urgent) - _manager->getAudioDriver()->startStream(); + _ca->setRecordingSmplRate(_audiocodec->getClockRate()); + + // Start audio stream (if not started) AND flush all buffers (main and urgent) + _manager->getAudioDriver()->startStream(); static_cast<D*>(this)->startRunning(); - _debug ("Entering RTP mainloop for callid %s\n",_ca->getCallId().c_str()); + _debug ("RTP: Entering mainloop for call %s",_ca->getCallId().c_str()); while (!testCancel()) { - // ost::MutexLock lock(*(_manager->getAudioLayerMutex())); + // Reset timestamp to make sure the timing information are up to date + if(_timestampCount > RTP_TIMESTAMP_RESET_FREQ) { + _timestamp = static_cast<D*>(this)->getCurrentTimestamp(); + _timestampCount = 0; + } + _timestampCount++; + _manager->getAudioLayerMutex()->enter(); // converterSamplingRate = _audiolayer->getMainBuffer()->getInternalSamplingRate(); - _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); + _converterSamplingRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); - // Send session - sessionWaiting = static_cast<D*>(this)->isWaiting(); + sessionWaiting = static_cast<D*>(this)->isWaiting(); - sendMicData (); + // Send session + if(_eventQueue.size() > 0) { + sendDtmfEvent(_eventQueue.front()); + } + else { + sendMicData (); + } // Recv session receiveSpeakerData (); + /* + // Let's wait for the next transmit cycle if (sessionWaiting == 1) { // Record mic and speaker during conversation @@ -591,16 +825,16 @@ namespace sfl { // Record mic only while leaving a message _ca->recAudio.recData (_micData,_nSamplesMic); } + */ - // ost::MutexLock unlock(*(_manager->getAudioLayerMutex())); - _manager->getAudioLayerMutex()->leave(); + _manager->getAudioLayerMutex()->leave(); // Let's wait for the next transmit cycle Thread::sleep (TimerPort::getTimer()); TimerPort::incTimer (threadSleep); } - _debug ("Left RTP main loop for callid %s\n",_ca->getCallId().c_str()); + _debug ("RTP: Left main loop for call%s", _ca->getCallId().c_str()); } } diff --git a/sflphone-common/src/audio/audiortp/AudioSrtpSession.cpp b/sflphone-common/src/audio/audiortp/AudioSrtpSession.cpp index 26b4290394fef7289442dbbc5a73db52ee0769f8..a5608d997a234a9583890eb42bc557dfe2350f8d 100644 --- a/sflphone-common/src/audio/audiortp/AudioSrtpSession.cpp +++ b/sflphone-common/src/audio/audiortp/AudioSrtpSession.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "AudioSrtpSession.h" #include "user_cfg.h" @@ -33,21 +44,20 @@ #include <cstring> #include <cerrno> -static uint8 mk[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; - -static uint8 ms[] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d }; - namespace sfl { AudioSrtpSession::AudioSrtpSession (ManagerImpl * manager, SIPCall * sipcall) : ost::SymmetricRTPSession (ost::InetHostAddress (sipcall->getLocalIp().c_str()), sipcall->getLocalAudioPort()), - _localCryptoSuite(0), - _remoteCryptoSuite(0), - AudioRtpSession<AudioSrtpSession> (manager, sipcall) + AudioRtpSession<AudioSrtpSession> (manager, sipcall), + _localCryptoSuite(0), + _remoteCryptoSuite(0), + _localMasterKeyLength(0), + _localMasterSaltLength(0), + _remoteMasterKeyLength(0), + _remoteMasterSaltLength(0) + { // Initialize local Crypto context diff --git a/sflphone-common/src/audio/audiortp/AudioSrtpSession.h b/sflphone-common/src/audio/audiortp/AudioSrtpSession.h index d3b8c3dbfd07d0aa55f9a32883ca1d516eb673f3..6b21cd329086c64ed6069dcaad53868d6668809c 100644 --- a/sflphone-common/src/audio/audiortp/AudioSrtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioSrtpSession.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_AUDIO_SRTP_SESSION_H__ #define __SFL_AUDIO_SRTP_SESSION_H__ @@ -69,57 +80,57 @@ namespace sfl { AudioSrtpSession(ManagerImpl * manager, SIPCall * sipcall); - std::vector<std::string> getLocalCryptoInfo(void); + std::vector<std::string> getLocalCryptoInfo(void); - void setRemoteCryptoInfo(sfl::SdesNegotiator& nego); + void setRemoteCryptoInfo(sfl::SdesNegotiator& nego); private: void initializeLocalMasterKey(void); - void initializeLocalMasterSalt(void); + void initializeLocalMasterSalt(void); - void initializeRemoteCryptoContext(void); + void initializeRemoteCryptoContext(void); - void initializeLocalCryptoContext(void); + void initializeLocalCryptoContext(void); - std::string getBase64ConcatenatedKeys(); + std::string getBase64ConcatenatedKeys(); - void unBase64ConcatenatedKeys(std::string base64keys); + void unBase64ConcatenatedKeys(std::string base64keys); - char* encodeBase64(unsigned char *input, int length); + char* encodeBase64(unsigned char *input, int length); - char* decodeBase64(unsigned char *input, int length, int *length_out); + char* decodeBase64(unsigned char *input, int length, int *length_out); - /** Default local crypto suite is AES_CM_128_HMAC_SHA1_80*/ - int _localCryptoSuite; + /** Default local crypto suite is AES_CM_128_HMAC_SHA1_80*/ + int _localCryptoSuite; - /** Remote crypto suite is initialized at AES_CM_128_HMAC_SHA1_80*/ - int _remoteCryptoSuite; + /** Remote crypto suite is initialized at AES_CM_128_HMAC_SHA1_80*/ + int _remoteCryptoSuite; uint8 _localMasterKey[16]; - /** local master key length in byte */ - int _localMasterKeyLength; + /** local master key length in byte */ + int _localMasterKeyLength; - uint8 _localMasterSalt[14]; + uint8 _localMasterSalt[14]; - /** local master salt length in byte */ - int _localMasterSaltLength; + /** local master salt length in byte */ + int _localMasterSaltLength; - uint8 _remoteMasterKey[16]; + uint8 _remoteMasterKey[16]; - /** remote master key length in byte */ - int _remoteMasterKeyLength; + /** remote master key length in byte */ + int _remoteMasterKeyLength; - uint8 _remoteMasterSalt[14]; + uint8 _remoteMasterSalt[14]; - /** remote master salt length in byte */ - int _remoteMasterSaltLength; + /** remote master salt length in byte */ + int _remoteMasterSaltLength; - ost::CryptoContext* _remoteCryptoCtx; + ost::CryptoContext* _remoteCryptoCtx; - ost::CryptoContext* _localCryptoCtx; + ost::CryptoContext* _localCryptoCtx; }; } diff --git a/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h b/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h index ccba0d5dc8894c7f9118556ca6a5cfc66ec1da9a..0713f3db0c2cc82eb3d541a03f49d678f5d32776 100644 --- a/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_AUDIO_SYMMETRIC_RTP_SESSION_H__ #define __SFL_AUDIO_SYMMETRIC_RTP_SESSION_H__ diff --git a/sflphone-common/src/audio/audiortp/AudioZrtpSession.cpp b/sflphone-common/src/audio/audiortp/AudioZrtpSession.cpp index cdd2a118214f2d23c1409b6797a2226fac74101e..6632bc2a61c63f87223b32b8447e13c6f5e4febe 100644 --- a/sflphone-common/src/audio/audiortp/AudioZrtpSession.cpp +++ b/sflphone-common/src/audio/audiortp/AudioZrtpSession.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "AudioZrtpSession.h" #include "ZrtpSessionCallback.h" @@ -38,7 +49,6 @@ AudioZrtpSession::AudioZrtpSession (ManagerImpl * manager, SIPCall * sipcall, co { _debug ("AudioZrtpSession initialized"); initializeZid(); - startZrtp(); } void AudioZrtpSession::initializeZid (void) diff --git a/sflphone-common/src/audio/audiortp/AudioZrtpSession.h b/sflphone-common/src/audio/audiortp/AudioZrtpSession.h index 2e41e04b45b42086f903e551207563cdd9fdfba7..f62515bcc9ad1712f59d49ecd6b91c9b5743bf1f 100644 --- a/sflphone-common/src/audio/audiortp/AudioZrtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioZrtpSession.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_AUDIO_ZRTP_SESSION_H__ #define __SFL_AUDIO_ZRTP_SESSION_H__ @@ -38,8 +49,8 @@ namespace sfl { class AudioZrtpSession : public ost::SymmetricZRTPSession, public AudioRtpSession<AudioZrtpSession> { public: - AudioZrtpSession(ManagerImpl * manager, SIPCall * sipcall, const std::string& zidFilename); - + AudioZrtpSession(ManagerImpl * manager, SIPCall * sipcall, const std::string& zidFilename); + private: void initializeZid(void); std::string _zidFilename; diff --git a/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.cpp b/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.cpp index da38f1e0a2c038e3732f5456c519083f10586778..b0be6b719eb86162e593d510d69191bb757df665 100644 --- a/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.cpp +++ b/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "ZrtpSessionCallback.h" @@ -44,7 +55,7 @@ ZrtpSessionCallback::ZrtpSessionCallback (SIPCall *sipcall) : return; } - _debug ("Initialize callbacks"); + _info("Zrtp: Initialize callbacks"); /** * Information Map @@ -114,31 +125,33 @@ ZrtpSessionCallback::ZrtpSessionCallback (SIPCall *sipcall) : void ZrtpSessionCallback::secureOn (std::string cipher) { - _debug ("Secure mode is on with cipher %s", cipher.c_str()); + _debug ("Zrtp: Secure mode is on with cipher %s", cipher.c_str()); DBusManager::instance().getCallManager()->secureZrtpOn (_sipcall->getCallId(), cipher); } void ZrtpSessionCallback::secureOff (void) { - _debug ("Secure mode is off"); + _debug ("Zrtp: Secure mode is off"); DBusManager::instance().getCallManager()->secureZrtpOff (_sipcall->getCallId()); } void ZrtpSessionCallback::showSAS (std::string sas, bool verified) { - _debug ("SAS is: %s", sas.c_str()); + _debug ("Zrtp: SAS is: %s", sas.c_str()); DBusManager::instance().getCallManager()->showSAS (_sipcall->getCallId(), sas, verified); } + void ZrtpSessionCallback::zrtpNotSuppOther() { - _debug ("Callee does not support ZRTP"); + _debug ("Zrtp: Callee does not support ZRTP"); DBusManager::instance().getCallManager()->zrtpNotSuppOther (_sipcall->getCallId()); } + void ZrtpSessionCallback::showMessage (GnuZrtpCodes::MessageSeverity sev, int32_t subCode) { @@ -148,7 +161,6 @@ ZrtpSessionCallback::showMessage (GnuZrtpCodes::MessageSeverity sev, int32_t sub msg = _infoMap[subCode]; if (msg != NULL) { - _debug ("ZRTP Debug:"); } } @@ -156,7 +168,6 @@ ZrtpSessionCallback::showMessage (GnuZrtpCodes::MessageSeverity sev, int32_t sub msg = _warningMap[subCode]; if (msg != NULL) { - _debug ("ZRTP Debug:"); } } @@ -164,10 +175,11 @@ ZrtpSessionCallback::showMessage (GnuZrtpCodes::MessageSeverity sev, int32_t sub msg = _severeMap[subCode]; if (msg != NULL) { - _debug ("ZRTP Debug:"); } } + + if (sev == ZrtpError) { if (subCode < 0) { // received an error packet from peer subCode *= -1; @@ -179,7 +191,7 @@ ZrtpSessionCallback::showMessage (GnuZrtpCodes::MessageSeverity sev, int32_t sub msg = _zrtpMap[subCode]; if (msg != NULL) { - _debug ("ZRTP Debug: %s", msg->c_str()); + } } } @@ -192,9 +204,9 @@ ZrtpSessionCallback::zrtpNegotiationFailed (MessageSeverity severity, int subCod if (severity == ZrtpError) { if (subCode < 0) { // received an error packet from peer subCode *= -1; - _debug ("Received error packet: "); + _debug ("Zrtp: Received error packet: "); } else { - _debug ("Sent error packet: "); + _debug ("Zrtp: Sent error packet: "); } msg = _zrtpMap[subCode]; @@ -213,7 +225,7 @@ ZrtpSessionCallback::zrtpNegotiationFailed (MessageSeverity severity, int subCod void ZrtpSessionCallback::confirmGoClear() { - _debug ("Received go clear message. Until confirmation, ZRTP won't send any data"); + _debug ("Zrtp: Received go clear message. Until confirmation, ZRTP won't send any data"); DBusManager::instance().getCallManager()->zrtpNotSuppOther (_sipcall->getCallId()); } diff --git a/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.h b/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.h index ee41beafe3bf5f5aed8549924d46c67893a031dd..41e417e3f58aa0da0bca2f10e772bf08ee857145 100644 --- a/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.h +++ b/sflphone-common/src/audio/audiortp/ZrtpSessionCallback.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_ZRTP_CALLBACK_H__ diff --git a/sflphone-common/src/audio/codecs/Makefile.am b/sflphone-common/src/audio/codecs/Makefile.am index 230ee7bbc0dce19ecfd5f02f18236afefb84965d..4c17a54c7ec49912aa96bd3a8ee4ddbec543c33c 100644 --- a/sflphone-common/src/audio/codecs/Makefile.am +++ b/sflphone-common/src/audio/codecs/Makefile.am @@ -13,10 +13,6 @@ libcodec_gsm_so_LDFLAGS = --shared -lc -lgsm INSTALL_GSM_RULE = install-libcodec_gsm_so endif -if ENABLE_SPEEXDSP -SPEEXDSP=-DHAVE_SPEEXDSP_LIB -endif - if BUILD_SPEEX SPEEX_NB_LIB = libcodec_speex_nb.so libcodec_speex_nb_so_SOURCES = speexcodec_nb.cpp @@ -49,7 +45,7 @@ CELT_LIB = libcodec_celt.so libcodec_celt_so_SOURCES = celtcodec.cpp libcodec_celt_so_CFLAGS = -fPIC -g -Wall libcodec_celt_so_CXXFLAGS = -fPIC -g -Wall -libcodec_celt_so_LDFLAGS = --shared -lc -lcelt $(CELT_NIMP) +libcodec_celt_so_LDFLAGS = --shared -lc -lcelt0 $(CELT_NIMP) INSTALL_CELT_RULE = install-libcodec_celt_so endif diff --git a/sflphone-common/src/audio/codecs/alaw.cpp b/sflphone-common/src/audio/codecs/alaw.cpp index 9ed3cd56dedfd19cab165897048012f2b49212ca..4c083abce20d08f48c12e359770d2c4947fc371f 100644 --- a/sflphone-common/src/audio/codecs/alaw.cpp +++ b/sflphone-common/src/audio/codecs/alaw.cpp @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "../common.h" diff --git a/sflphone-common/src/audio/codecs/audiocodec.h b/sflphone-common/src/audio/codecs/audiocodec.h index 1487fb465dce56cd9a5821ba8cd3a4695398adca..d0d299ca8718fb0f153ec1318853c69c49a1f73d 100644 --- a/sflphone-common/src/audio/codecs/audiocodec.h +++ b/sflphone-common/src/audio/codecs/audiocodec.h @@ -1,3 +1,35 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * Motly borrowed from asterisk's sources (Steve Underwood <steveu@coppice.org>) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + #ifndef _CODEC_AUDIO_H #define _CODEC_AUDIO_H diff --git a/sflphone-common/src/audio/codecs/celtcodec.cpp b/sflphone-common/src/audio/codecs/celtcodec.cpp index 8787bd6b6b3f7c8bfeec6fbf31464de24e31816c..b3e31012bcf6bc1d16aaf1ddc4ef2ad04309c008 100644 --- a/sflphone-common/src/audio/codecs/celtcodec.cpp +++ b/sflphone-common/src/audio/codecs/celtcodec.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiocodec.h" @@ -26,27 +37,58 @@ class Celt : public AudioCodec { public: - Celt (int payload=0) - : AudioCodec (payload, "celt") { - _clockRate = 44100; - _frameSize = 512; // fixed frameSize, TODO: support variable size from 64 to 512 + Celt (int payload=0) : AudioCodec (payload, "celt") { + + _clockRate = 32000; + _frameSize = 320; // fixed frameSize, TODO: support variable size from 64 to 512 _channel = 1; _bitrate = 0; _bandwidth = 0; + initCelt(); + } Celt (const Celt&); Celt& operator= (const Celt&); void initCelt() { - printf ("init celt"); - mode = celt_mode_create (_clockRate, _channel, _frameSize, NULL); - // celt_mode_info(mode, CELT_GET_LOOKAHEAD, &skip); + int error = 0; + + _mode = celt_mode_create (_clockRate, _frameSize, &error); + + if(error != CELT_OK) { + switch(error) { + case CELT_BAD_ARG: + printf("Celt: Error: An (or more) invalid argument (e.g. out of range)\n"); + break; + case CELT_INVALID_MODE: + printf("Celt: Error: The mode struct passed is invalid\n"); + break; + case CELT_INTERNAL_ERROR: + printf("Celt: Error: An internal error was detected\n"); + break; + case CELT_CORRUPTED_DATA: + printf("Celt: Error: The data passed (e.g. compressed data to decoder) is corrupted\n"); + break; + case CELT_UNIMPLEMENTED: + printf("Celt: Error: Invalid/unsupported request numbe\n"); + break; + case CELT_INVALID_STATE: + printf("Celt: Error: An encoder or decoder structure is invalid or already freed\n"); + break; + case CELT_ALLOC_FAIL: + printf("Celt: Error: Memory allocation has failed\n"); + break; + default: + printf("Celt: Error"); + } - if (mode == NULL) { - printf ("failed to create a mode"); + } + + if (_mode == NULL) { + printf ("Celt: Error: Failed to create Celt mode"); } // bytes_per_packet = 1024; @@ -58,11 +100,15 @@ class Celt : public AudioCodec // celt_mode_info(mode, CELT_GET_FRAME_SIZE, &frame_size); // celt_mode_info(mode, CELT_GET_NB_CHANNELS, &_channel); - enc = celt_encoder_create (mode); + _enc = celt_encoder_create (_mode, _channel, &error); - dec = celt_decoder_create (mode); + _dec = celt_decoder_create (_mode, _channel, &error); - celt_encoder_ctl (enc,CELT_SET_COMPLEXITY (10)); + celt_encoder_ctl (_enc, CELT_SET_COMPLEXITY (2)); + celt_decoder_ctl(_dec, CELT_SET_COMPLEXITY (2)); + + celt_encoder_ctl (_enc, CELT_SET_PREDICTION(2)); + celt_decoder_ctl(_dec, CELT_SET_PREDICTION(2)); } @@ -72,32 +118,34 @@ class Celt : public AudioCodec void terminateCelt() { - celt_encoder_destroy (enc); - celt_decoder_destroy (dec); + celt_encoder_destroy (_enc); + celt_decoder_destroy (_dec); + + celt_mode_destroy(_mode); } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { int err = 0; - err = celt_decode (dec, src, size, (celt_int16_t*) dst); - return _frameSize * sizeof (celt_int16_t); + err = celt_decode (_dec, src, size, (celt_int16*) dst); + return _frameSize * sizeof (celt_int16); } virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { int len = 0; - len = celt_encode (enc, (celt_int16_t *) src, (celt_int16_t *) src, dst, 512); + len = celt_encode (_enc, (celt_int16*) src, (celt_int16 *) src, dst, 40); // returns the number of bytes writen return len; } private: - CELTMode *mode; + CELTMode *_mode; - CELTEncoder *enc; - CELTDecoder *dec; + CELTEncoder *_enc; + CELTDecoder *_dec; - celt_int32_t _celt_frame_size; - celt_int32_t skip; + celt_int32 _celt_frame_size; + celt_int32 skip; }; diff --git a/sflphone-common/src/audio/codecs/codecDescriptor.cpp b/sflphone-common/src/audio/codecs/codecDescriptor.cpp index 29355764f1f8a5e96a13fc8ee2b6c8a1d6dbba62..268a6010d780dac542d7e3ceaa63e78759b6d994 100644 --- a/sflphone-common/src/audio/codecs/codecDescriptor.cpp +++ b/sflphone-common/src/audio/codecs/codecDescriptor.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <iostream> @@ -31,17 +42,19 @@ CodecDescriptor::CodecDescriptor() : _CodecsMap(), _defaultCodecOrder(), _Cache( CodecDescriptor::~CodecDescriptor() { + } void CodecDescriptor::deleteHandlePointer (void) { - int i; + _debug("CodecDesccriptor: Delete codec handle pointers"); - for (i = 0 ; (unsigned int) i < _CodecInMemory.size() ; i++) { + for (int i = 0 ; (unsigned int) i < _CodecInMemory.size() ; i++) { unloadCodec (_CodecInMemory[i]); } + _CodecInMemory.clear(); } void @@ -51,7 +64,7 @@ CodecDescriptor::init() _nbCodecs = CodecDynamicList.size(); if (_nbCodecs <= 0) { - _debug (" Error - No codecs available in directory %s" , CODECS_DIR); + _error ("CodecDescriptro: Error - No codecs available in directory %s" , CODECS_DIR); } int i; @@ -97,7 +110,7 @@ CodecDescriptor::getCodec (AudioCodecType payload) return (iter->second); } - _debug ("Error cannont found codec %i in _CodecsMap from codec descriptor", payload); + _error ("CodecDescriptor: Error cannont found codec %i in _CodecsMap from codec descriptor", payload); return NULL; } @@ -167,7 +180,7 @@ std::vector<AudioCodec*> CodecDescriptor::scanCodecDirectory (void) { for (i = 0 ; (unsigned int) i < dirToScan.size() ; i++) { std::string dirStr = dirToScan[i]; - _debug ("Scanning %s to find audio codecs....", dirStr.c_str()); + _debug ("CodecDescriptor: Scanning %s to find audio codecs....", dirStr.c_str()); DIR *dir = opendir (dirStr.c_str()); AudioCodec* audioCodec; @@ -248,15 +261,15 @@ AudioCodec* CodecDescriptor::instantiateCodec (AudioCodecType payload) { AudioCodec* a = createCodec(); return a; - } - iter++; } return NULL; } + + AudioCodec* CodecDescriptor::getFirstCodecAvailable (void) { CodecsMap::iterator iter = _CodecsMap.begin(); @@ -349,7 +362,7 @@ bool CodecDescriptor::isCodecLoaded (int payload) { std::vector <std::string> CodecDescriptor::getCodecSpecifications (const int32_t& payload) { - _warn ("Gathering codec specifications for payload %i", payload); + _debug ("CodecDescriptor: Gathering codec specifications for payload %i", payload); std::vector<std::string> v; std::stringstream ss; diff --git a/sflphone-common/src/audio/codecs/codecDescriptor.h b/sflphone-common/src/audio/codecs/codecDescriptor.h index 437d39d0bc7aa2882b8d1d414f90304a068e0514..9b5b1ea126f3e43b07a3679094d49b0a63af2d21 100644 --- a/sflphone-common/src/audio/codecs/codecDescriptor.h +++ b/sflphone-common/src/audio/codecs/codecDescriptor.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CODEC_DESCRIPTOR_H__ diff --git a/sflphone-common/src/audio/codecs/g722.cpp b/sflphone-common/src/audio/codecs/g722.cpp index 8118b5757e7b330b9271252bcfac53abebab0e6a..bde8cabae927a90f65d8949ece847930e73ec0b0 100644 --- a/sflphone-common/src/audio/codecs/g722.cpp +++ b/sflphone-common/src/audio/codecs/g722.cpp @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2009 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * Motly borrowed from asterisk's sources (Steve Underwood <steveu@coppice.org>) @@ -17,7 +17,18 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - **/ + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ diff --git a/sflphone-common/src/audio/codecs/g722.h b/sflphone-common/src/audio/codecs/g722.h index 4df3334c65b2a8a2d522758faaade819f1933056..e4dcba29f55566103b7f4a3f8c3f3e23246bb594 100644 --- a/sflphone-common/src/audio/codecs/g722.h +++ b/sflphone-common/src/audio/codecs/g722.h @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2009 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * Motly borrowed from asterisk's sources (Steve Underwood <steveu@coppice.org>) @@ -17,7 +17,18 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - **/ + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ diff --git a/sflphone-common/src/audio/codecs/gsmcodec.cpp b/sflphone-common/src/audio/codecs/gsmcodec.cpp index 9116d76a94a713e8ac7be356902a358b5b6c9386..fef1d7a2c42943fbee8115ef0624ca9b609bae21 100644 --- a/sflphone-common/src/audio/codecs/gsmcodec.cpp +++ b/sflphone-common/src/audio/codecs/gsmcodec.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp index a2603fc8271e1430ca664edce67d07e3205b3ad4..fdad5f29dc9facfc789d0c67b97967b220a90d4d 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiocodec.h" @@ -34,12 +45,11 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 8000; _frameSize = 160; // samples, 20 ms at 8kHz _channel = 1; - _bitrate = 0; + _bitrate = 24; _bandwidth = 0; initSpeex(); } @@ -66,31 +76,6 @@ class Speex : public AudioCodec speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int quality = 10; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_speex_frame_size,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -122,12 +107,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - - speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -141,7 +120,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp index 4a9fec31c88b8ac3197a148b368eeb3e460d7dcc..47494fb99c79c9427052e1f9bd86b6bf06bf18a9 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,12 +16,22 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiocodec.h" #include <cstdio> #include <speex/speex.h> -#include <speex/speex_preprocess.h> class Speex : public AudioCodec { @@ -34,8 +44,7 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 32000; _frameSize = 640; // 20 ms at 32 kHz _channel = 1; @@ -67,29 +76,6 @@ class Speex : public AudioCodec speex_encoder_ctl (_speex_enc_state,SPEEX_SET_SAMPLING_RATE,&_clockRate); speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - // speex_encoder_ctl(_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_frameSize); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_frameSize,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -106,6 +92,7 @@ class Speex : public AudioCodec speex_bits_destroy (&_speex_enc_bits); speex_encoder_destroy (_speex_enc_state); _speex_enc_state = 0; + } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { @@ -121,12 +108,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - - speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); speex_bits_nbytes (&_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -141,7 +122,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp index 9d3b618674d016fdd939b08e30e833aa70d47bf0..d9fda3e3af502b0dfcdc6d24c864b46942b1e64b 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,12 +16,22 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiocodec.h" #include <cstdio> #include <speex/speex.h> -#include <speex/speex_preprocess.h> class Speex : public AudioCodec { @@ -34,12 +44,11 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 16000; _frameSize = 320; // 20 ms at 16 kHz _channel = 1; - _bitrate = 0; + _bitrate = 42; _bandwidth = 0; initSpeex(); } @@ -66,29 +75,6 @@ class Speex : public AudioCodec speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int quality = 10; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_speex_frame_size,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -105,6 +91,7 @@ class Speex : public AudioCodec speex_bits_destroy (&_speex_enc_bits); speex_encoder_destroy (_speex_enc_state); _speex_enc_state = 0; + } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { @@ -121,11 +108,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - //printf ("Codec::codecEncode() size %i\n", size); speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -140,7 +122,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/codecs/ulaw.cpp b/sflphone-common/src/audio/codecs/ulaw.cpp index 9b619c31eccf80b1e6b946c08a911c4759bfa911..37d5fd2df8b88f06089937e546fae2a4b9418ac0 100644 --- a/sflphone-common/src/audio/codecs/ulaw.cpp +++ b/sflphone-common/src/audio/codecs/ulaw.cpp @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -16,7 +16,18 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - **/ + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ diff --git a/sflphone-common/src/audio/common.h b/sflphone-common/src/audio/common.h index 5be3d28e17ef2af2cf2548cc4d4d037e0436f953..6f24a65bd53a50bbede077e18354d2ecbb548b88 100644 --- a/sflphone-common/src/audio/common.h +++ b/sflphone-common/src/audio/common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* diff --git a/sflphone-common/src/audio/dcblocker.cpp b/sflphone-common/src/audio/dcblocker.cpp index a2122fe42415bb12ee61a48bbb7375fd2dfa57ee..b1a18eb1a2e6ddcf97568825cd057df55a8b42fc 100644 --- a/sflphone-common/src/audio/dcblocker.cpp +++ b/sflphone-common/src/audio/dcblocker.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,42 +15,70 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ +#include "dcblocker.h" +DcBlocker::DcBlocker() : _y(0), _x(0), _xm1(0), _ym1(0) {} -#include "dcblocker.h" +DcBlocker::~DcBlocker() {} -DcBlocker::DcBlocker() +void DcBlocker::reset() { + _y = 0; + _x = 0; + _xm1 = 0; + _ym1 = 0; +} - y = 0; - x = 0; - xm1 = 0; - ym1 = 0; +void DcBlocker::putData(SFLDataFormat *inputData, int nbBytes) {} -} +int DcBlocker::getData(SFLDataFormat *outputData) { return 0; } -DcBlocker::~DcBlocker() +void DcBlocker::process (SFLDataFormat *data, int nbBytes) { + // y(n) = x(n) - x(n-1) + R y(n-1) , R = 0.9999 + int nbSamples = nbBytes / sizeof(SFLDataFormat); + for (int i = 0; i < nbSamples; i++) { + _x = data[i]; -} + _y = (SFLDataFormat) ( (float) _x - (float) _xm1 + 0.995 * (float) _ym1); + _xm1 = _x; + _ym1 = _y; -void DcBlocker::filter_signal (SFLDataFormat* audio_data, int length) -{ - // y(n) = x(n) - x(n-1) + R y(n-1) , R = 0.9999 + data[i] = _y; - for (int i = 0; i < length; i++) { + } +} - x = audio_data[i]; +int DcBlocker::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) { - y = (SFLDataFormat) ( (float) x - (float) xm1 + 0.9999 * (float) ym1); - xm1 = x; - ym1 = y; + int nbSamples = nbBytes / sizeof(SFLDataFormat); + for (int i = 0; i < nbSamples; i++) { - audio_data[i] = y; + _x = inputData[i]; + _y = (SFLDataFormat) ( (float) _x - (float) _xm1 + 0.9999 * (float) _ym1); + _xm1 = _x; + _ym1 = _y; + + outputData[i] = _y; } + return 0; + } + +void DcBlocker::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) {} diff --git a/sflphone-common/src/audio/dcblocker.h b/sflphone-common/src/audio/dcblocker.h index 0fab73167840d6922ff9cadd20d9152156a08983..8d53688c19ef15a03f49761ff3b3a315914f5bd3 100644 --- a/sflphone-common/src/audio/dcblocker.h +++ b/sflphone-common/src/audio/dcblocker.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,14 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef DCBLOCKER_H #define DCBLOCKER_H +#include "algorithm.h" #include "global.h" -class DcBlocker { +#include <vector> + +class DcBlocker : public Algorithm { public: @@ -30,11 +44,41 @@ public: ~DcBlocker(); - void filter_signal(SFLDataFormat* audio_data, int length); + virtual void reset(void); + + /** + * Unused + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Unused + */ + virtual int getData(SFLDataFormat *outputData); + + /** + * Perform dc blocking given the input data + */ + virtual void process(SFLDataFormat *data, int nbBytes); + + /** + * Perform echo cancellation using internal buffers + * \param inputData containing mixed echo and voice data + * \param outputData containing + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Perform echo cancellation, application must provide its own buffer + * \param micData containing mixed echo and voice data + * \param spkrData containing far-end voice data to be sent to speakers + * \param outputData containing the processed data + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); private: - SFLDataFormat y, x, xm1, ym1; + SFLDataFormat _y, _x, _xm1, _ym1; }; #endif diff --git a/sflphone-common/src/audio/delaydetection.cpp b/sflphone-common/src/audio/delaydetection.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5c6ab4d742644ed469eb6ab426030680173ab82b --- /dev/null +++ b/sflphone-common/src/audio/delaydetection.cpp @@ -0,0 +1,386 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + + +#include "delaydetection.h" +#include "math.h" +// #include <stdio.h> +#include <string.h> +#include <samplerate.h> + +// decimation filter coefficient +float decimationCoefs[] = {-0.09870257, 0.07473655, 0.05616626, 0.04448337, 0.03630817, 0.02944626, + 0.02244098, 0.01463477, 0.00610982, -0.00266367, -0.01120109, -0.01873722, + -0.02373243, -0.02602213, -0.02437806, -0.01869834, -0.00875287, 0.00500204, + 0.02183252, 0.04065763, 0.06015944, 0.0788299, 0.09518543, 0.10799179, + 0.1160644, 0.12889288, 0.1160644, 0.10799179, 0.09518543, 0.0788299, + 0.06015944, 0.04065763, 0.02183252, 0.00500204, -0.00875287, -0.01869834, + -0.02437806, -0.02602213, -0.02373243, -0.01873722, -0.01120109, -0.00266367, + 0.00610982, 0.01463477, 0.02244098, 0.02944626, 0.03630817, 0.04448337, + 0.05616626, 0.07473655, -0.09870257}; +std::vector<double> ird(decimationCoefs, decimationCoefs + sizeof(decimationCoefs)/sizeof(float)); + + +// decimation filter coefficient +float bandpassCoefs[] = {0.06278034, -0.0758545, -0.02274943, -0.0084497, 0.0702427, 0.05986113, + 0.06436469, -0.02412049, -0.03433526, -0.07568665, -0.03214543, -0.07236507, + -0.06979052, -0.12446371, -0.05530828, 0.00947243, 0.15294699, 0.17735563, + 0.15294699, 0.00947243, -0.05530828, -0.12446371, -0.06979052, -0.07236507, + -0.03214543, -0.07568665, -0.03433526, -0.02412049, 0.06436469, 0.05986113, + 0.0702427, -0.0084497, -0.02274943, -0.0758545, 0.06278034}; +std::vector<double> irb(bandpassCoefs, bandpassCoefs + sizeof(bandpassCoefs)/sizeof(float)); + + +FirFilter::FirFilter(std::vector<double> ir) : _length(ir.size()), + _impulseResponse(ir), + _count(0) +{ + memset(_taps, 0, sizeof(double)*MAXFILTERSIZE); +} + +FirFilter::~FirFilter() {} + +float FirFilter::getOutputSample(float inputSample) +{ + _taps[_count] = inputSample; + double result = 0.0; + int index = _count; + for(int i = 0; i < _length; i++) { + result = result + _impulseResponse[i] * _taps[index--]; + if(index < 0) + index = _length-1; + } + _count++; + if(_count >= _length) + _count = 0; + + return result; +} + +void FirFilter::reset(void) +{ + for(int i = 0; i < _length; i++) { + _impulseResponse[i] = 0.0; + } +} + + +DelayDetection::DelayDetection() : _internalState(WaitForSpeaker), _decimationFilter(ird), _bandpassFilter(irb), _segmentSize(DELAY_BUFF_SIZE), _downsamplingFactor(8) +{ + _micDownSize = WINDOW_SIZE / _downsamplingFactor; + _spkrDownSize = DELAY_BUFF_SIZE / _downsamplingFactor; + + memset(_spkrReference, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_capturedData, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceDown, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataDown, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceFilter, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataFilter, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_correlationResult, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + +} + +DelayDetection::~DelayDetection(){} + +void DelayDetection::reset() +{ + _nbMicSampleStored = 0; + _nbSpkrSampleStored = 0; + + _decimationFilter.reset(); + _bandpassFilter.reset(); + + memset(_spkrReference, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_capturedData, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceDown, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataDown, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceFilter, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataFilter, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_correlationResult, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + + _internalState = WaitForSpeaker; +} + +void DelayDetection::putData(SFLDataFormat *inputData, int nbBytes) +{ + + // Machine may already got a spkr and is waiting for mic or computing correlation + if(_nbSpkrSampleStored == WINDOW_SIZE) + return; + + int nbSamples = nbBytes/sizeof(SFLDataFormat); + + if((_nbSpkrSampleStored + nbSamples) > WINDOW_SIZE) + nbSamples = WINDOW_SIZE - _nbSpkrSampleStored; + + + if (nbSamples) { + + float tmp[nbSamples]; + float down[nbSamples]; + + convertInt16ToFloat32(inputData, tmp, nbSamples); + memcpy(_spkrReference+_nbSpkrSampleStored, tmp, nbSamples*sizeof(float)); + + downsampleData(tmp, down, nbSamples, _downsamplingFactor); + bandpassFilter(down, nbSamples/_downsamplingFactor); + memcpy(_spkrReferenceDown+(_nbSpkrSampleStored/_downsamplingFactor), down, (nbSamples/_downsamplingFactor)*sizeof(float)); + + _nbSpkrSampleStored += nbSamples; + + } + + // Update the state + _internalState = WaitForMic; + +} + +int DelayDetection::getData(SFLDataFormat *outputData) { return 0; } + +void DelayDetection::process(SFLDataFormat *inputData, int nbBytes) { + + if(_internalState != WaitForMic) + return; + + int nbSamples = nbBytes/sizeof(SFLDataFormat); + + if((_nbMicSampleStored + nbSamples) > DELAY_BUFF_SIZE) + nbSamples = DELAY_BUFF_SIZE - _nbMicSampleStored; + + if(nbSamples) { + float tmp[nbSamples]; + float down[nbSamples]; + + convertInt16ToFloat32(inputData, tmp, nbSamples); + memcpy(_capturedData+_nbMicSampleStored, tmp, nbSamples); + + downsampleData(tmp, down, nbSamples, _downsamplingFactor); + + /* + for(int i = 0; i < 10; i++) + _debug("up: %.10f", tmp[i]); + + for(int i = 0; i < 10; i++) + _debug("down: %.10f", down[i]); + + bandpassFilter(down, nbSamples/_downsamplingFactor); + + for(int i = 0; i < 10; i++) + _debug("band: %.10f", down[i]); + */ + + memcpy(_captureDataDown+(_nbMicSampleStored/_downsamplingFactor), down, (nbSamples/_downsamplingFactor)*sizeof(float)); + + _nbMicSampleStored += nbSamples; + + } + + if(_nbMicSampleStored == DELAY_BUFF_SIZE) + _internalState = ComputeCorrelation; + else + return; + + /* + for(int i = 0; i < 10; i++) + _debug("spkrRef: %.10f", _spkrReferenceDown[i]); + + for(int i = 0; i < 10; i++) + _debug("micSeg: %.10f", _captureDataDown[i]); + */ + + _debug("_spkrDownSize: %d, _micDownSize: %d", _spkrDownSize, _micDownSize); + crossCorrelate(_spkrReferenceDown, _captureDataDown, _correlationResult, _micDownSize, _spkrDownSize); + + int maxIndex = getMaxIndex(_correlationResult, _spkrDownSize); + + _debug("MaxIndex: %d", maxIndex); + + // reset(); +} + +int DelayDetection::process(SFLDataFormat *intputData, SFLDataFormat *outputData, int nbBytes) { return 0; } + +void DelayDetection::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) {} + +void DelayDetection::crossCorrelate(float *ref, float *seg, float *res, int refSize, int segSize) { + + _debug("CrossCorrelate"); + + int counter = 0; + + // Output has same size as the + int rsize = refSize; + int ssize = segSize; + int tmpsize = segSize-refSize+1; + + /* + for(int i = 0; i < 32; i++) + _debug("ref: %.10f", ref[i]); + + for(int i = 0; i < 150; i++) + _debug("seg: %.10f", seg[i]); + */ + + // perform autocorrelation on reference signal + float acref = correlate(ref, ref, rsize); + // _debug("acref: %f", acref); + + // perform crossrelation on signal + float acseg = 0.0; + float r; + while(--tmpsize) { + --ssize; + acseg = correlate(seg+tmpsize, seg+tmpsize, rsize); + // _debug("acseg: %f", acseg); + res[ssize] = correlate(ref, seg+tmpsize, rsize); + r = sqrt(acref*acseg); + + if(r < 0.0000001) + res[ssize] = 0.0; + else + res[ssize] = res[ssize] / r; + } + + // perform crosscorrelation on zerro padded region + int i = 0; + while(rsize) { + acseg = correlate(seg, seg, rsize); + // _debug("acseg: %f", acseg); + res[ssize-1] = correlate(ref+i, seg, rsize); + r = sqrt(acref*acseg); + + if(r < 0.0001) + res[ssize-1] = 0.0; + else + res[ssize-1] = res[ssize-1] / r; + + --rsize; + --ssize; + ++i; + } +} + +double DelayDetection::correlate(float *sig1, float *sig2, short size) { + + short s = size; + + double ac = 0.0; + while(s--) + ac += sig1[s]*sig2[s]; + + return ac; +} + + +void DelayDetection::convertInt16ToFloat32(SFLDataFormat *input, float *output, int nbSamples) { + + // factor is 1/(2^15), used to rescale the short int range to the + // [-1.0 - 1.0] float range. +#define S2F_FACTOR .000030517578125f; + int len = nbSamples; + + while(len) { + len--; + output[len] = (float)input[len] * S2F_FACTOR; + } +} + + +void DelayDetection::downsampleData(float *input, float *output, int nbSamples, int factor) { + + /* + float tmp[nbSamples]; + + for(int i = 0; i < nbSamples; i++) { + tmp[i] = _decimationFilter.getOutputSample(input[i]); + } + + int j; + for(j=_remainingIndex; j<nbSamples; j+=factor) { + output[j] = tmp[j]; + } + _remainingIndex = j - nbSamples; + */ + + /* + double downsampleFactor = (double) samplerate1 / samplerate2; + + int nbSamplesMax = (int) (samplerate1 * getFramesize() / 1000); + */ + + int _src_err; + + SRC_STATE *_src_state = src_new (SRC_LINEAR, 1, &_src_err); + + double downfactor = 1.0 / (double)factor; + + if (downfactor != 1.0) { + SRC_DATA src_data; + src_data.data_in = input; + src_data.data_out = output; + src_data.input_frames = nbSamples; + src_data.output_frames = nbSamples / factor; + src_data.src_ratio = downfactor; + src_data.end_of_input = 0; // More data will come + + //src_short_to_float_array (dataIn, _floatBufferUpMic, nbSamples); + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + src_process (_src_state, &src_data); + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + // nbSamples = (src_data.output_frames_gen > nbSamplesMax) ? nbSamplesMax : src_data.output_frames_gen; + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + // src_float_to_short_array (_floatBufferDownMic , dataOut , nbSamples); + } +} + + +void DelayDetection::bandpassFilter(float *input, int nbSamples) { + + for(int i = 0; i < nbSamples; i++) { + input[i] = _bandpassFilter.getOutputSample(input[i]); + } +} + + +int DelayDetection::getMaxIndex(float *data, int size) { + + float max = 0.0; + int k; + + for(int i = 0; i < size; i++) { + if(data[i] >= max) { + max = data[i]; + k = i; + } + } + + return k; +} diff --git a/sflphone-common/src/audio/delaydetection.h b/sflphone-common/src/audio/delaydetection.h new file mode 100644 index 0000000000000000000000000000000000000000..a7567b6c2e8ccdfb82301724c5f151548517a8f2 --- /dev/null +++ b/sflphone-common/src/audio/delaydetection.h @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#ifndef DELAYDETECTION_H +#define DELAYDETECTION_H + +#include "algorithm.h" + +// Template size in samples for correlation +#define WINDOW_SIZE 256 + +// Segment length in ms for correlation +#define MAX_DELAY 150 + +// Size of internal buffers in samples +#define DELAY_BUFF_SIZE MAX_DELAY*8000/1000 + +#define MAXFILTERSIZE 100 + + + +class FirFilter { + + public: + + /** + * Constructor for this class + */ + FirFilter(std::vector<double> ir); + + /** + * SDestructor for this class + */ + ~FirFilter(); + + /** + * Perform filtering on one sample + */ + float getOutputSample(float inputSample); + + void reset(void); + + + private: + + /** + * Length of the filter + */ + int _length; + + /** + * Coefficient of the filter + */ + std::vector<double> _impulseResponse; + + /** + * Circular buffer + */ + double _taps[MAXFILTERSIZE]; + + /** + * Counter + */ + int _count; + +}; + + +class DelayDetection : public Algorithm { + + public: + + DelayDetection(); + + ~DelayDetection(); + + virtual void reset(void); + + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + virtual int getData(SFLDataFormat *getData); + + virtual void process(SFLDataFormat *inputData, int nbBytes); + + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + private: + + enum State { + WaitForSpeaker, + WaitForMic, + ComputeCorrelation + }; + + + /** + * Perform a normalized crosscorrelation between template and segment + */ + void crossCorrelate(float *ref, float *seg, float *res, int refSize, int segSize); + + /** + * Perform a correlation on specified signals (mac) + */ + double correlate(float *sig1, float *sig2, short size); + + void convertInt16ToFloat32(SFLDataFormat *input, float *ouput, int nbSamples); + + void downsampleData(float *input, float *output, int nbSamples, int factor); + + void bandpassFilter(float *input, int nbSamples); + + int getMaxIndex(float *data, int size); + + State _internalState; + + FirFilter _decimationFilter; + + FirFilter _bandpassFilter; + + /** + * Segment size in samples for correlation + */ + short _segmentSize; + + int _downsamplingFactor; + + /** + * Resulting correlation size (s + w -1) + */ + short _correlationSize; + + float _spkrReference[WINDOW_SIZE*2]; + + float _capturedData[DELAY_BUFF_SIZE*2]; + + float _spkrReferenceDown[WINDOW_SIZE*2]; + + float _captureDataDown[DELAY_BUFF_SIZE*2]; + + float _spkrReferenceFilter[WINDOW_SIZE*2]; + + float _captureDataFilter[DELAY_BUFF_SIZE*2]; + + float _correlationResult[DELAY_BUFF_SIZE*2]; + + int _remainingIndex; + + int _spkrDownSize; + + int _micDownSize; + + int _nbMicSampleStored; + + int _nbSpkrSampleStored; + + public: + + friend class DelayDetectionTest; +}; + +#endif diff --git a/sflphone-common/src/audio/echocancel.cpp b/sflphone-common/src/audio/echocancel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..aab1e8f9989fc18c7c79315ef6dd64c76de12018 --- /dev/null +++ b/sflphone-common/src/audio/echocancel.cpp @@ -0,0 +1,605 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "echocancel.h" + +// #include <fstream> + +EchoCancel::EchoCancel(int smplRate, int frameLength) : _samplingRate(smplRate), + _frameLength(frameLength), + _smplPerFrame(0), + _smplPerSeg(0), + _nbSegmentPerFrame(0), + _micHistoryLength(0), + _spkrHistoryLength(0), + _alpha(0.01), + _spkrLevelMem(0), + _micLevelMem(0), + _spkrLevel(0), + _micLevel(0), + _spkrHistCnt(0), + _micHistCnt(0), + _amplFactor(0.0), + _lastAmplFactor(0.0), + _amplDelayIndexIn(0), + _amplDelayIndexOut(0), + _adaptDone(false), + _adaptStarted(false), + _adaptCnt(0), + _spkrAdaptCnt(0), + _micAdaptCnt(0), + _spkrAdaptSize(SPKR_ADAPT_SIZE), + _micAdaptSize(MIC_ADAPT_SIZE), + _correlationSize(0), + _processedByte(0), + _echoActive(true), + _noiseActive(true) +{ + _debug("EchoCancel: Instantiate echo canceller"); + + + // micFile = new ofstream("micData", ofstream::binary); + // echoFile = new ofstream("echoData", ofstream::binary); + // spkrFile = new ofstream("spkrData", ofstream::binary); + + micLevelData = new ofstream("micLevelData", ofstream::binary); + spkrLevelData = new ofstream("spkrLevelData", ofstream::binary); + + + _micData = new RingBuffer(50000); + _spkrData = new RingBuffer(50000); + _spkrDataOut = new RingBuffer(50000); + + _micData->createReadPointer(); + _spkrData->createReadPointer(); + _spkrDataOut->createReadPointer(); + + // variable used to sync mic and spkr + _spkrStoped = true; + + _smplPerFrame = (_samplingRate * _frameLength) / MS_PER_SEC; + _smplPerSeg = (_samplingRate * SEGMENT_LENGTH) / MS_PER_SEC; + _micHistoryLength = MIC_LENGTH / SEGMENT_LENGTH; + _spkrHistoryLength = SPKR_LENGTH / SEGMENT_LENGTH; + _nbSegmentPerFrame = _frameLength / SEGMENT_LENGTH; + + _noiseState = speex_preprocess_state_init(_smplPerFrame, _samplingRate); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-20; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); + i = 0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_VAD, &i); + + + memset(_avgSpkrLevelHist, 0, BUFF_SIZE*sizeof(int)); + memset(_avgMicLevelHist, 0, BUFF_SIZE*sizeof(int)); + + memset(_delayLineAmplify, 0, MAX_DELAY_LINE_AMPL*sizeof(float)); + + _amplDelayIndexIn = 0; + _amplDelayIndexOut = 0; + + _correlationSize = _spkrAdaptSize; + +} + + +EchoCancel::~EchoCancel() +{ + _debug("EchoCancel: Delete echo canceller"); + + delete _micData; + _micData = NULL; + + delete _spkrData; + _spkrData = NULL; + + speex_preprocess_state_destroy(_noiseState); + + // micFile->close(); + // spkrFile->close(); + // echoFile->close(); + + // delete micFile; + // delete spkrFile; + // delete echoFile; + + micLevelData->close(); + spkrLevelData->close(); + delete micLevelData; + delete spkrLevelData; +} + + +void EchoCancel::reset() +{ + _debug("EchoCancel: Reset internal state, Sampling rate %d, Frame size %d", _samplingRate, _smplPerFrame); + + memset(_avgSpkrLevelHist, 0, BUFF_SIZE*sizeof(int)); + memset(_avgMicLevelHist, 0, BUFF_SIZE*sizeof(int)); + + _spkrLevel = 0; + _micLevel = 0; + _spkrHistCnt = 0; + _micHistCnt = 0; + _amplFactor = 0.0; + _lastAmplFactor = 0.0; + + _smplPerFrame = (_samplingRate * _frameLength) / MS_PER_SEC; + _smplPerSeg = (_samplingRate * SEGMENT_LENGTH) / MS_PER_SEC; + _micHistoryLength = MIC_LENGTH / SEGMENT_LENGTH; + _spkrHistoryLength = SPKR_LENGTH / SEGMENT_LENGTH; + _nbSegmentPerFrame = _frameLength / SEGMENT_LENGTH; + + memset(_delayLineAmplify, 0, MAX_DELAY_LINE_AMPL*sizeof(float)); + + _amplDelayIndexIn = 0; + _amplDelayIndexOut = ECHO_LENGTH / SEGMENT_LENGTH; + + _adaptDone = false; + _adaptStarted = false; + _adaptCnt = 0; + _spkrAdaptCnt = 0; + _micAdaptCnt = 0; + + _micData->flushAll(); + _spkrData->flushAll(); + _spkrDataOut->flushAll(); + + speex_preprocess_state_destroy(_noiseState); + + _noiseState = speex_preprocess_state_init(_smplPerFrame, _samplingRate); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-10; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); + + _spkrStoped = true; + + _processedByte = 0; +} + +void EchoCancel::putData(SFLDataFormat *inputData, int nbBytes) +{ + + _delayDetector.putData(inputData, nbBytes); + + if(_spkrStoped) { + _debug("EchoCancel: Flush data"); + _micData->flushAll(); + _spkrData->flushAll(); + _spkrStoped = false; + } + + // Put data in speaker ring buffer + _spkrData->Put(inputData, nbBytes); +} + + +int EchoCancel::getData(SFLDataFormat *outputData) +{ + + int copied = 0; + + if(_processedByte > 0) { + copied = _spkrDataOut->Get(outputData, _processedByte); + _processedByte = 0; + } + + return copied; +} + +void EchoCancel::process(SFLDataFormat *data, int nbBytes) {} + + +int EchoCancel::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + + _delayDetector.process(inputData, nbBytes); + + if(_spkrStoped) { + bcopy(inputData, outputData, nbBytes); + return nbBytes; + } + + int byteSize = _smplPerFrame*sizeof(SFLDataFormat); + + // init temporary buffers + memset(_tmpSpkr, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + memset(_tmpMic, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + memset(_tmpOut, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + + // Put mic data in ringbuffer + _micData->Put(inputData, nbBytes); + + // Store data for synchronization + int spkrAvail = _spkrData->AvailForGet(); + int micAvail = _micData->AvailForGet(); + + // Init number of frame processed + int nbFrame = 0; + + // Get data from mic and speaker internal buffer + // while((spkrAvail >= byteSize) && (micAvail >= byteSize)) { + while(micAvail >= byteSize) { + + if(spkrAvail >= byteSize) { + + // get synchronized data + _spkrData->Get(_tmpSpkr, byteSize); + _micData->Get(_tmpMic, byteSize); + + // micFile->write((const char *)_tmpMic, byteSize); + // spkrFile->write((const char *)_tmpSpkr, byteSize); + +#ifdef HAVE_LIBSPEEX_DSP + + _debug("OK"); + + // Remove noise + if(_noiseActive) + speex_preprocess_run(_noiseState, _tmpMic); +#endif + + // Processed echo cancellation + performEchoCancel(_tmpMic, _tmpSpkr, _tmpOut); + + // echoFile->write((const char *)_tmpOut, byteSize); + + bcopy(_tmpOut, outputData+(nbFrame*_smplPerFrame), byteSize); + + // used to sync with speaker + _processedByte += byteSize; + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + + // increment nb of frame processed + ++nbFrame; + } + else { + _micData->Get(_tmpMic, byteSize); + + performEchoCancelNoSpkr(_tmpMic, _tmpOut); + + bcopy(_tmpOut, outputData+(nbFrame*_smplPerFrame), byteSize); + ++nbFrame; + } + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + } + + // if spkrAvail is twice the size of a frame discard it, this data is late and won't be used + if(spkrAvail > (2*byteSize)) { + _spkrData->Discard(spkrAvail-(2*byteSize)); + } + + return nbFrame * _smplPerFrame; +} + +void EchoCancel::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes){ + +} + +void EchoCancel::setSamplingRate(int smplRate) { + + if (smplRate != _samplingRate) { + _samplingRate = smplRate; + + reset(); + } +} + + +void EchoCancel::performEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData) { + + for(int k = 0; k < _nbSegmentPerFrame; k++) { + + updateEchoCancel(micData+(k*_smplPerSeg), spkrData+(k*_smplPerSeg)); + + _spkrLevel = getMaxAmplitude(_avgSpkrLevelHist, _spkrHistoryLength); + _micLevel = getMaxAmplitude(_avgMicLevelHist, _micHistoryLength)/6; + + if(_spkrLevel >= MIN_SIG_LEVEL) { + if(_micLevel > _spkrLevel) { + increaseFactor(0.2); + } + else { + _amplFactor = 0.0; + } + } + else { + increaseFactor(0.01); + } + + // lowpass filtering + float amplify = (_lastAmplFactor + _amplFactor) / 2; + _lastAmplFactor = _amplFactor; + + if(!_echoActive) + amplify = 1.0; + + amplifySignal(micData+(k*_smplPerSeg), outputData+(k*_smplPerSeg), amplify); + + } + +} + +void EchoCancel::performEchoCancelNoSpkr(SFLDataFormat *micData, SFLDataFormat *outputData) { + + for(int k = 0; k < _nbSegmentPerFrame; k++) { + + updateMicLevel(micData); + + _micLevel = getMaxAmplitude(_avgMicLevelHist, _micHistoryLength)/6; + if(_micLevel > MIN_SIG_LEVEL) { + increaseFactor(0.2); + } + + // lowpass filtering + float amplify = (_lastAmplFactor + _amplFactor) / 2; + _lastAmplFactor = _amplFactor; + + if(!_echoActive) + amplify = 1.0; + + amplifySignal(micData+(k*_smplPerSeg), outputData+(k*_smplPerSeg), amplify); + } + +} + +void EchoCancel::updateMicLevel(SFLDataFormat *micData) { + + int micLvl = computeAmplitudeLevel(micData, _smplPerSeg); + + SFLDataFormat tempMicLevel[_smplPerSeg]; + + _micLevelMem = estimatePower(micData, tempMicLevel, _smplPerSeg, _micLevelMem); + + _avgMicLevelHist[_micHistCnt++] = micLvl+1; + + if(_micHistCnt >= _micHistoryLength) + _micHistCnt = 0; + + micLevelData->write((const char*)tempMicLevel, sizeof(SFLDataFormat)*_smplPerSeg); +} + + +void EchoCancel::updateSpkrLevel(SFLDataFormat *spkrData) { + + int spkrLvl = computeAmplitudeLevel(spkrData, _smplPerSeg); + + SFLDataFormat tempSpkrLevel[_smplPerSeg]; + + _spkrLevelMem = estimatePower(spkrData, tempSpkrLevel, _smplPerSeg, _spkrLevelMem); + + _avgSpkrLevelHist[_spkrHistCnt++] = spkrLvl+1; + + if(_spkrHistCnt >= _spkrHistoryLength) + _spkrHistCnt = 0; + + spkrLevelData->write((const char*)tempSpkrLevel, sizeof(SFLDataFormat)*_smplPerSeg); +} + + +void EchoCancel::updateEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData) { + + // Add 1 to make sure we are not dividing by 0 + updateMicLevel(micData); + updateSpkrLevel(spkrData); + + /* + // if adaptation done, stop here + // if(_adaptDone) + if(true) + return; + + // start learning only if there is data played through speaker + if(!_adaptStarted) { + if(spkrLvl > MIN_SIG_LEVEL) + _adaptStarted = true; + else + return; + } + + if(_spkrAdaptCnt < _spkrAdaptSize) + _spkrAdaptArray[_spkrAdaptCnt++] = spkrLvl; + + if(_micAdaptCnt < _micAdaptSize) + _micAdaptArray[_micAdaptCnt++] = micLvl; + + // perform correlation if spkr size is reached + if(_adaptCnt > _spkrAdaptSize) { + int k = _adaptCnt - _spkrAdaptSize; + _correlationArray[k] = performCorrelation(_spkrAdaptArray, _micAdaptArray+k, _correlationSize); + } + + _adaptCnt++; + + // if we captured a full echo + if(_adaptCnt == _micAdaptSize) { + _adaptDone = true; + _amplDelayIndexOut = 0;// getMaximumIndex(_correlationArray, _correlationSize); + } + */ +} + + + + +int EchoCancel::computeAmplitudeLevel(SFLDataFormat *data, int size) { + + int level = 0; + + for(int i = 0; i < size; i++) { + if(data[i] >= 0.0) + level += (int)data[i]; + else + level -= (int)data[i]; + } + + level = level / _smplPerSeg; + + return level; + +} + +SFLDataFormat EchoCancel::estimatePower(SFLDataFormat *data, SFLDataFormat *ampl, int size, SFLDataFormat mem) { + + float memFactor = 1.0 - _alpha; + + for (int i = 0; i < size; i++) { + mem = (SFLDataFormat)(memFactor*(float)mem + abs(_alpha*(float)data[i])); + ampl[i] = mem; + } + + return mem; + +} + + +int EchoCancel::getMaxAmplitude(int *data, int size) { + + SFLDataFormat level = 0.0; + + for(int i = 0; i < size; i++) { + if(data[i] >= level) + level = data[i]; + } + + return (int)level; +} + + +void EchoCancel::amplifySignal(SFLDataFormat *micData, SFLDataFormat *outputData, float amplify) { + + // for(int i = 0; i < _smplPerSeg; i++) + // outputData[i] = micData[i]; + + // Use delayed amplification factor due to sound card latency + // do not increment amplitude array if adaptation is not done + // if (_adaptDone) { + if (true) { + for(int i = 0; i < _smplPerSeg; i++) { + outputData[i] = (SFLDataFormat)(((float)micData[i])*_delayLineAmplify[_amplDelayIndexOut]); + } + _amplDelayIndexOut++; + _delayLineAmplify[_amplDelayIndexIn++] = amplify; + } + else { + for(int i = 0; i < _smplPerSeg; i++) { + outputData[i] = micData[i]; + } + return; + } + + if(_amplDelayIndexOut >= MAX_DELAY_LINE_AMPL) + _amplDelayIndexOut = 0; + + if(_amplDelayIndexIn >= MAX_DELAY_LINE_AMPL) + _amplDelayIndexIn = 0; + +} + + + +void EchoCancel::increaseFactor(float factor) { + + // Get 200 ms to get back to full amplitude + _amplFactor += factor; + + if(_amplFactor > 1.0) + _amplFactor = 1.0; + +} + + +void EchoCancel::decreaseFactor() { + + // Takes about 50 ms to react + _amplFactor -= 0.2; + + if(_amplFactor < 0.0) + _amplFactor = 0.0; +} + + +int EchoCancel::performCorrelation(int *data1, int *data2, int size) { + + int correlation = 0; + while(size) { + size--; + correlation += data1[size] * data2[size]; + } + return correlation; +} + + +int EchoCancel::getMaximumIndex(int *data, int size) { + + int index = size; + int max = data[size-1]; + + while(size) { + size--; + if(data[size] > max) { + index = size; + max = data[size]; + } + } + + return index; +} diff --git a/sflphone-common/src/audio/echocancel.h b/sflphone-common/src/audio/echocancel.h new file mode 100644 index 0000000000000000000000000000000000000000..e0ceda0445a67dc636a89df8874b21367b6a0c54 --- /dev/null +++ b/sflphone-common/src/audio/echocancel.h @@ -0,0 +1,388 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef ECHOCANCEL_H +#define ECHOCANCEL_H + +#include <cc++/thread.h> +#include <speex/speex_preprocess.h> + +#include "audioprocessing.h" +#include "ringbuffer.h" +#include "delaydetection.h" + +// Number of ms in sec +#define MS_PER_SEC 1000 + +// Length of audio segment in ms +#define SEGMENT_LENGTH 10 + +// Length of the echo tail in ms +#define ECHO_LENGTH 1000 +#define SPKR_LENGTH 80 +#define MIC_LENGTH 80 + +// Voice level threashold +#define MIN_SIG_LEVEL 250 + +// Delay between mic and speaker +// #define DELAY_AMPLIFY 60 + +// maximum in segment size (segment are SEGMENT_LENGTH long) +#define MAX_DELAY_LINE_AMPL 100 // 1 sec + +// Internal buffer size +#define BUFF_SIZE 10000 + +#define DEFAULT_SAMPLRATE 8000 + +#define DEFAULT_FRAME_LENGTH 20 + +#define MIC_ADAPT_SIZE 100 // 1 sec +#define SPKR_ADAPT_SIZE 20 // 200 ms + +class EchoCancel : public Algorithm { + + public: + + EchoCancel(int smplRate = DEFAULT_SAMPLRATE, int frameLength = DEFAULT_FRAME_LENGTH); + + ~EchoCancel(); + + /** + * Reset echocanceller internal state at runtime. Usefull when making a new call + */ + virtual void reset(void); + + /** + * Add speaker data into internal buffer + * \param inputData containing far-end voice data to be sent to speakers + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Get data ready to be played by speakers + */ + virtual int getData(SFLDataFormat *outputData); + + /** + * Unused + */ + virtual void process(SFLDataFormat *data, int nbBytes); + + /** + * Perform echo cancellation using internal buffers + * \param inputData containing mixed echo and voice data + * \param outputData containing + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Perform echo cancellation, application must provide its own buffer + * \param micData containing mixed echo and voice data + * \param spkrData containing far-end voice data to be sent to speakers + * \param outputData containing the processed data + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + /** + * Set echo canceller internal sampling rate, reset if sampling rate changed + */ + void setSamplingRate(int smplRate); + + /** + * Set echo canceller state to active/deactive + */ + void setEchoCancelState(bool state) { _echoActive = state; } + + /** + * Return the echo canceller state + */ + bool getEchoCancelState(void) { return _echoActive; } + + /** + * Set the noise suppression state to active/deactive + */ + void setNoiseSuppressState(bool state) { _noiseActive = state; } + + /** + * Return the noise suppression state + */ + bool getNoiseSuppressState(void) { return _noiseActive; } + + private: + + /** + * Actual method calld to supress echo from mic, micData and spkrData must be synchronized + */ + void performEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData); + + /** + * This is the fall back method in case there is no spkr data available + */ + void performEchoCancelNoSpkr(SFLDataFormat *micData, SFLDataFormat *outputData); + + /** + * Compute current instantaneous microphone signal power and store it in internal array + */ + void updateMicLevel(SFLDataFormat *micData); + + /** + * Compute current instantaneous spkeaker signal power and store uit in internal array + */ + void updateSpkrLevel(SFLDataFormat *spkrData); + + /** + * Update speaker level array for both micData and spkrData + */ + void updateEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData); + + /** + * Compute the average amplitude of the signal. + * \param data must be of SEGMENT_LENGTH long. + */ + int computeAmplitudeLevel(SFLDataFormat *data, int size); + + /** + * Compute amplitude signal + */ + SFLDataFormat estimatePower(SFLDataFormat *data, SFLDataFormat *ampl, int size, SFLDataFormat mem); + + /** + * Return the max amplitude provided any of _avgSpkrLevelHist or _avgMicLevelHist + */ + int getMaxAmplitude(int *data, int size); + + /** + * Apply gain factor on input buffer and copy result in output buffer. + * Buffers must be of SEGMENT_LENGTH long. + * \param input buffer + * \param output buffer + */ + void amplifySignal(SFLDataFormat *micData, SFLDataFormat *outputData, float amplify); + + /** + * Increase microphone gain by the provided factor. Sanity check are done internally. + */ + void increaseFactor(float factor); + + /** + * Decrease microphone gain. + */ + void decreaseFactor(); + + /** + * Perform simple correlation between data1 and data2 + */ + int performCorrelation(int *data1, int *data2, int size); + + /** + * Return maximum in data index + */ + int getMaximumIndex(int *data, int size); + + /** + * Internal buffer for mic data synchronization + */ + RingBuffer *_micData; + + /** + * Internal buffer for speaker data synchronization + */ + RingBuffer *_spkrData; + + RingBuffer *_spkrDataOut; + + /** + * Boolean value + */ + bool _spkrStoped; + + /** + * Internal buffer for audio processing + */ + SFLDataFormat _tmpSpkr[BUFF_SIZE]; + SFLDataFormat _tmpMic[BUFF_SIZE]; + SFLDataFormat _tmpOut[BUFF_SIZE]; + + /** + * Audio stream sampling rate + */ + int _samplingRate; + + /** + * Audio frame size in ms + */ + int _frameLength; + + /** + * Number of sample per frame + */ + int _smplPerFrame; + + /** + * Number of samples per segment + */ + int _smplPerSeg; + + /** + * Number of segment per frame + */ + int _nbSegmentPerFrame; + + /** + * Number of segment considered in history + * Mainly used to compute signal level + */ + int _micHistoryLength; + + int _spkrHistoryLength; + + /** + * Current playback level + */ + int _spkrLevel; + + /** + * Current capture level + */ + int _micLevel; + + /** + * Current index to store level in speaker history + */ + int _spkrHistCnt; + + /** + * Current index to store level in microphone history + */ + int _micHistCnt; + + /** + * Average speaker/microphone level history. Each value corespond to + * the averaged amplitude value over a segment (SEGMENT_LENGTH long) + */ + int _avgSpkrLevelHist[BUFF_SIZE]; + int _avgMicLevelHist[BUFF_SIZE]; + + /** + * Current linear gain factor to be applied on microphone + */ + float _amplFactor; + + /** + * Stored linea gain factor for lowpass filtering + */ + float _lastAmplFactor; + + /** + * Linear gain factor buffer to adjust to system's latency + */ + float _delayLineAmplify[MAX_DELAY_LINE_AMPL]; + + /** + * read/write for mic gain delay + */ + int _amplDelayIndexIn; + int _amplDelayIndexOut; + + /** + * State variable to determine if adaptation must be performed + */ + bool _adaptDone; + + /** + * State variable to specify if adaptation is started + */ + bool _adaptStarted; + + /** + * Adaptation index + */ + int _adaptCnt; + + /** + * Factor for power estimation + */ + float _alpha; + + /** + * Termporary spkr level memories + */ + SFLDataFormat _spkrLevelMem; + SFLDataFormat _micLevelMem; + + int _spkrAdaptCnt; + + int _micAdaptCnt; + + int _spkrAdaptSize; + + int _micAdaptSize; + + int _spkrAdaptArray[BUFF_SIZE]; + + int _micAdaptArray[BUFF_SIZE]; + + int _correlationSize; + + int _correlationArray[BUFF_SIZE]; + + int _processedByte; + + ofstream *micFile; + ofstream *spkrFile; + ofstream *echoFile; + + ofstream *micLevelData; + ofstream *spkrLevelData; + + // #ifdef HAVE_SPEEXDSP_LIB + /** + * Noise reduction processing state + */ + SpeexPreprocessState *_noiseState; + // #endif + + /** + * true if noise suppressor is active, false elsewhere + */ + bool _echoActive; + + /** + * true if noise suppressor is active, false elsewhere + */ + bool _noiseActive; + + DelayDetection _delayDetector; + +}; + +#endif diff --git a/sflphone-common/src/audio/jitterbuf.cpp b/sflphone-common/src/audio/jitterbuf.cpp new file mode 100755 index 0000000000000000000000000000000000000000..c72a6387f9769ae91feefd23e332030a74a0d328 --- /dev/null +++ b/sflphone-common/src/audio/jitterbuf.cpp @@ -0,0 +1,881 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2004-2005, Horizon Wimba, Inc. + * + * Contributors: + * Steve Kann <stevek@stevek.com> + * + * A license has been granted to Digium (via disclaimer) for the use of + * this code. + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! \file + * + * \brief jitterbuf: an application-independent jitterbuffer + * \author Steve Kann <stevek@stevek.com> + * + */ + +#include "jitterbuf.h" + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#include "global.h" + +/*! define these here, just for ancient compiler systems */ +#define JB_LONGMAX 2147483647L +#define JB_LONGMIN (-JB_LONGMAX - 1L) + +#define jb_warn(...) (warnf ? warnf(__VA_ARGS__) : (void)0) +#define jb_err(...) (errf ? errf(__VA_ARGS__) : (void)0) +#define jb_dbg(...) (dbgf ? dbgf(__VA_ARGS__) : (void)0) + +#ifdef DEEP_DEBUG +#define jb_dbg2(...) (dbgf ? dbgf(__VA_ARGS__) : (void)0) +#else +#define jb_dbg2(...) ((void)0) +#endif + +static jb_output_function_t warnf, errf, dbgf; + +void jb_setoutput(jb_output_function_t err, jb_output_function_t warn, jb_output_function_t dbg) +{ + errf = err; + warnf = warn; + dbgf = dbg; +} + +static void increment_losspct(jitterbuf *jb) +{ + jb->info.losspct = (100000 + 499 * jb->info.losspct)/500; +} + +static void decrement_losspct(jitterbuf *jb) +{ + jb->info.losspct = (499 * jb->info.losspct)/500; +} + +void jb_reset(jitterbuf *jb) +{ + /* only save settings */ + jb_conf s = jb->info.conf; + memset(jb, 0, sizeof(*jb)); + jb->info.conf = s; + + /* initialize length, using the default value */ + jb->info.current = jb->info.target = jb->info.conf.target_extra = JB_TARGET_EXTRA; + jb->info.silence_begin_ts = -1; +} + +jitterbuf * jb_new() +{ + jitterbuf *jb; + + if (!(jb = (jitterbuf *)malloc(sizeof(*jb)))) + return NULL; + + jb_reset(jb); + + jb_dbg2("jb_new() = %x\n", jb); + return jb; +} + +void jb_destroy(jitterbuf *jb) +{ + jb_frame *frame; + jb_dbg2("jb_destroy(%x)\n", jb); + + /* free all the frames on the "free list" */ + frame = jb->free; + while (frame != NULL) { + jb_frame *next = frame->next; + free(frame); + frame = next; + } + + /* free ourselves! */ + free(jb); +} + + + +#if 0 +static int longcmp(const void *a, const void *b) +{ + return *(long *)a - *(long *)b; +} +#endif + +/*! \brief simple history manipulation + \note maybe later we can make the history buckets variable size, or something? */ +/* drop parameter determines whether we will drop outliers to minimize + * delay */ +static int history_put(jitterbuf *jb, long ts, long now, long ms) +{ + long delay = now - (ts - jb->info.resync_offset); + long threshold = 2 * jb->info.jitter + jb->info.conf.resync_threshold; + long kicked; + + /* don't add special/negative times to history */ + if (ts <= 0) + return 0; + + /* check for drastic change in delay */ + if (jb->info.conf.resync_threshold != -1) { + if (abs(delay - jb->info.last_delay) > threshold) { + jb->info.cnt_delay_discont++; + if (jb->info.cnt_delay_discont > 3) { + /* resync the jitterbuffer */ + jb->info.cnt_delay_discont = 0; + jb->hist_ptr = 0; + jb->hist_maxbuf_valid = 0; + + jb_warn("Resyncing the jb. last_delay %ld, this delay %ld, threshold %ld, new offset %ld\n", jb->info.last_delay, delay, threshold, ts - now); + jb->info.resync_offset = ts - now; + jb->info.last_delay = delay = 0; /* after resync, frame is right on time */ + } else { + return -1; + } + } else { + jb->info.last_delay = delay; + jb->info.cnt_delay_discont = 0; + } + } + + kicked = jb->history[jb->hist_ptr % JB_HISTORY_SZ]; + + jb->history[(jb->hist_ptr++) % JB_HISTORY_SZ] = delay; + + /* optimization; the max/min buffers don't need to be recalculated, if this packet's + * entry doesn't change them. This happens if this packet is not involved, _and_ any packet + * that got kicked out of the history is also not involved + * We do a number of comparisons, but it's probably still worthwhile, because it will usually + * succeed, and should be a lot faster than going through all 500 packets in history */ + if (!jb->hist_maxbuf_valid) + return 0; + + /* don't do this until we've filled history + * (reduces some edge cases below) */ + if (jb->hist_ptr < JB_HISTORY_SZ) + goto invalidate; + + /* if the new delay would go into min */ + if (delay < jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* or max.. */ + if (delay > jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* or the kicked delay would be in min */ + if (kicked <= jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + if (kicked >= jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* if we got here, we don't need to invalidate, 'cause this delay didn't + * affect things */ + return 0; + /* end optimization */ + + +invalidate: + jb->hist_maxbuf_valid = 0; + return 0; +} + +static void history_calc_maxbuf(jitterbuf *jb) +{ + int i,j; + + if (jb->hist_ptr == 0) + return; + + + /* initialize maxbuf/minbuf to the latest value */ + for (i=0;i<JB_HISTORY_MAXBUF_SZ;i++) { +/* + * jb->hist_maxbuf[i] = jb->history[(jb->hist_ptr-1) % JB_HISTORY_SZ]; + * jb->hist_minbuf[i] = jb->history[(jb->hist_ptr-1) % JB_HISTORY_SZ]; + */ + jb->hist_maxbuf[i] = JB_LONGMIN; + jb->hist_minbuf[i] = JB_LONGMAX; + } + + /* use insertion sort to populate maxbuf */ + /* we want it to be the top "n" values, in order */ + + /* start at the beginning, or JB_HISTORY_SZ frames ago */ + i = (jb->hist_ptr > JB_HISTORY_SZ) ? (jb->hist_ptr - JB_HISTORY_SZ) : 0; + + for (;i<jb->hist_ptr;i++) { + long toins = jb->history[i % JB_HISTORY_SZ]; + + /* if the maxbuf should get this */ + if (toins > jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) { + + /* insertion-sort it into the maxbuf */ + for (j=0;j<JB_HISTORY_MAXBUF_SZ;j++) { + /* found where it fits */ + if (toins > jb->hist_maxbuf[j]) { + /* move over */ + memmove(jb->hist_maxbuf + j + 1, jb->hist_maxbuf + j, (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_maxbuf[0])); + /* insert */ + jb->hist_maxbuf[j] = toins; + + break; + } + } + } + + /* if the minbuf should get this */ + if (toins < jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) { + + /* insertion-sort it into the maxbuf */ + for (j=0;j<JB_HISTORY_MAXBUF_SZ;j++) { + /* found where it fits */ + if (toins < jb->hist_minbuf[j]) { + /* move over */ + memmove(jb->hist_minbuf + j + 1, jb->hist_minbuf + j, (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_minbuf[0])); + /* insert */ + jb->hist_minbuf[j] = toins; + + break; + } + } + } + + if (0) { + int k; + _debug("toins = %ld\n", toins); + _debug("maxbuf ="); + for (k=0;k<JB_HISTORY_MAXBUF_SZ;k++) + _debug("%ld ", jb->hist_maxbuf[k]); + _debug("\nminbuf ="); + for (k=0;k<JB_HISTORY_MAXBUF_SZ;k++) + _debug("%ld ", jb->hist_minbuf[k]); + _debug("\n"); + } + } + + jb->hist_maxbuf_valid = 1; +} + +static void history_get(jitterbuf *jb) +{ + long max, min, jitter; + int idx; + int count; + + if (!jb->hist_maxbuf_valid) + history_calc_maxbuf(jb); + + /* count is how many items in history we're examining */ + count = (jb->hist_ptr < JB_HISTORY_SZ) ? jb->hist_ptr : JB_HISTORY_SZ; + + /* idx is the "n"ths highest/lowest that we'll look for */ + idx = count * JB_HISTORY_DROPPCT / 100; + + /* sanity checks for idx */ + if (idx > (JB_HISTORY_MAXBUF_SZ - 1)) + idx = JB_HISTORY_MAXBUF_SZ - 1; + + if (idx < 0) { + jb->info.min = 0; + jb->info.jitter = 0; + return; + } + + max = jb->hist_maxbuf[idx]; + min = jb->hist_minbuf[idx]; + + jitter = max - min; + + /* these debug stmts compare the difference between looking at the absolute jitter, and the + * values we get by throwing away the outliers */ + // printf("[%ld] min=%ld, max=%ld, jitter=%ld\n", index, min, max, jitter); + // printf("[%ld] min=%ld, max=%ld, jitter=%ld\n", 0, jb->hist_minbuf[0], jb->hist_maxbuf[0], jb->hist_maxbuf[0]-jb->hist_minbuf[0]); + + jb->info.min = min; + jb->info.jitter = jitter; +} + +/* returns 1 if frame was inserted into head of queue, 0 otherwise */ +static int queue_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts) +{ + jb_frame *frame; + jb_frame *p; + int head = 0; + long resync_ts = ts - jb->info.resync_offset; + + if ((frame = jb->free)) { + jb->free = frame->next; + } else if (!(frame = (jb_frame *)malloc(sizeof(*frame)))) { + jb_err("cannot allocate frame\n"); + return 0; + } + + jb->info.frames_cur++; + + frame->data = data; + frame->ts = resync_ts; + frame->ms = ms; + frame->type = type; + + /* + * frames are a circular list, jb-frames points to to the lowest ts, + * jb->frames->prev points to the highest ts + */ + + if (!jb->frames) { /* queue is empty */ + jb->frames = frame; + frame->next = frame; + frame->prev = frame; + head = 1; + } else if (resync_ts < jb->frames->ts) { + frame->next = jb->frames; + frame->prev = jb->frames->prev; + + frame->next->prev = frame; + frame->prev->next = frame; + + /* frame is out of order */ + jb->info.frames_ooo++; + + jb->frames = frame; + head = 1; + } else { + p = jb->frames; + + /* frame is out of order */ + if (resync_ts < p->prev->ts) jb->info.frames_ooo++; + + while (resync_ts < p->prev->ts && p->prev != jb->frames) + p = p->prev; + + frame->next = p; + frame->prev = p->prev; + + frame->next->prev = frame; + frame->prev->next = frame; + } + return head; +} + +static long queue_next(jitterbuf *jb) +{ + if (jb->frames) + return jb->frames->ts; + else + return -1; +} + +static long queue_last(jitterbuf *jb) +{ + if (jb->frames) + return jb->frames->prev->ts; + else + return -1; +} + +static jb_frame *_queue_get(jitterbuf *jb, long ts, int all) +{ + jb_frame *frame; + frame = jb->frames; + + if (!frame) + return NULL; + + _debug("queue_get: ASK %ld FIRST %ld\n", ts, frame->ts); + + if (all || ts >= frame->ts) { + /* remove this frame */ + frame->prev->next = frame->next; + frame->next->prev = frame->prev; + + if (frame->next == frame) + jb->frames = NULL; + else + jb->frames = frame->next; + + + /* insert onto "free" single-linked list */ + frame->next = jb->free; + jb->free = frame; + + jb->info.frames_cur--; + + /* we return the frame pointer, even though it's on free list, + * but caller must copy data */ + return frame; + } + + return NULL; +} + +static jb_frame *queue_get(jitterbuf *jb, long ts) +{ + return _queue_get(jb,ts,0); +} + +static jb_frame *queue_getall(jitterbuf *jb) +{ + return _queue_get(jb,0,1); +} + +/* some diagnostics */ +void jb_dbginfo(jitterbuf *jb) +{ + + _debug("\njb info: fin=%ld fout=%ld flate=%ld flost=%ld fdrop=%ld fcur=%ld\n", + jb->info.frames_in, jb->info.frames_out, jb->info.frames_late, jb->info.frames_lost, jb->info.frames_dropped, jb->info.frames_cur); + + _debug("jitter=%ld current=%ld target=%ld min=%ld sil=%ld len=%ld len/fcur=%ld\n", + jb->info.jitter, jb->info.current, jb->info.target, jb->info.min, jb->info.silence_begin_ts, jb->info.current - jb->info.min, + jb->info.frames_cur ? (jb->info.current - jb->info.min)/jb->info.frames_cur : -8); + if (jb->info.frames_in > 0) + _debug("jb info: Loss PCT = %ld%%, Late PCT = %ld%%\n", + jb->info.frames_lost * 100/(jb->info.frames_in + jb->info.frames_lost), + jb->info.frames_late * 100/jb->info.frames_in); + _debug("jb info: queue %ld -> %ld. last_ts %ld (queue len: %ld) last_ms %ld\n\n", + queue_next(jb), + queue_last(jb), + jb->info.next_voice_ts, + queue_last(jb) - queue_next(jb), + jb->info.last_voice_ms); +} + + +#ifdef DEEP_DEBUG +static void jb_chkqueue(jitterbuf *jb) +{ + int i=0; + jb_frame *p = jb->frames; + + if (!p) { + return; + } + + do { + if (p->next == NULL) { + jb_err("Queue is BROKEN at item [%d]", i); + } + i++; + p=p->next; + } while (p->next != jb->frames); +} + +static void jb_dbgqueue(jitterbuf *jb) +{ + int i=0; + jb_frame *p = jb->frames; + + jb_dbg("queue: "); + + if (!p) { + jb_dbg("EMPTY\n"); + return; + } + + do { + jb_dbg("[%d]=%ld ", i++, p->ts); + p=p->next; + } while (p->next != jb->frames); + + jb_dbg("\n"); +} +#endif + +jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts, long now) +{ + long numts; + + _debug("jb_put(%p,%p,%ld,%ld,%ld)\n", jb, data, ms, ts, now); + + numts = 0; + if (jb->frames) + numts = jb->frames->prev->ts - jb->frames->ts; + + _debug("numts %ld\n", numts); + + if (numts >= jb->info.conf.max_jitterbuf) { + if (!jb->dropem) { + _debug("Attempting to exceed Jitterbuf max %ld timeslots\n", + jb->info.conf.max_jitterbuf); + jb->dropem = 1; + } + jb->info.frames_dropped++; + return JB_DROP; + } else { + jb->dropem = 0; + } + + if (type == JB_TYPE_VOICE) { + /* presently, I'm only adding VOICE frames to history and drift calculations; mostly because with the + * IAX integrations, I'm sending retransmitted control frames with their awkward timestamps through */ + if (history_put(jb,ts,now,ms)) { + jb->info.frames_dropped++; + return JB_DROP; + } + } + + jb->info.frames_in++; + + /* if put into head of queue, caller needs to reschedule */ + if (queue_put(jb,data,type,ms,ts)) { + return JB_SCHED; + } + return JB_OK; +} + + +static enum jb_return_code _jb_get(jitterbuf *jb, jb_frame *frameout, long now, long interpl) +{ + jb_frame *frame; + long diff; + static int dbg_cnt = 0; + + _debug("_jb_get\n"); + + /*if ((now - jb_next(jb)) > 2 * jb->info.last_voice_ms) jb_warn("SCHED: %ld", (now - jb_next(jb))); */ + /* get jitter info */ + history_get(jb); + + if (dbg_cnt && dbg_cnt % 50 == 0) { + jb_dbg("\n"); + } + dbg_cnt++; + + /* target */ + jb->info.target = jb->info.jitter + jb->info.min + jb->info.conf.target_extra; + + /* if a hard clamp was requested, use it */ + if ((jb->info.conf.max_jitterbuf) && ((jb->info.target - jb->info.min) > jb->info.conf.max_jitterbuf)) { + _debug("clamping target from %ld to %ld\n", (jb->info.target - jb->info.min), jb->info.conf.max_jitterbuf); + jb->info.target = jb->info.min + jb->info.conf.max_jitterbuf; + } + + diff = jb->info.target - jb->info.current; + + _debug("diff = %ld lms=%ld last = %ld now = %ld, djust delay = %ld\n", diff, + jb->info.last_voice_ms, jb->info.last_adjustment, now); + + /* let's work on non-silent case first */ + if (!jb->info.silence_begin_ts) { + + /* + if(diff > 0) + printf("diff > 0\n"); + + if((jb->info.last_adjustment + JB_ADJUST_DELAY) < now) + printf("(jb->info.last_adjustment + JB_ADJUST_DELAY) < now\n"); + + if((diff > queue_last(jb) - queue_next(jb))) + printf("diff > queue_last(jb) - queue_next(jb)\n"); + */ + _debug("** Non-silent case update timing info **\n"); + _debug("diff %ld\n", diff); + _debug("jb->info.last_adjustment %ld\n", jb->info.last_adjustment); + _debug("JB_ADJUST_DELAY %ld\n", JB_ADJUST_DELAY); + _debug("now %ld\n", now); + + /* we want to grow */ + if ((diff > 0) && + /* we haven't grown in the delay length */ + (((jb->info.last_adjustment + JB_ADJUST_DELAY) < now) || + /* we need to grow more than the "length" we have left */ + (diff > queue_last(jb) - queue_next(jb)) ) ) { + + + + + /* grow by interp frame length */ + jb->info.current += interpl; + jb->info.next_voice_ts += interpl; + jb->info.last_voice_ms = interpl; + jb->info.last_adjustment = now; + jb->info.cnt_contig_interp++; + if (jb->info.conf.max_contig_interp && jb->info.cnt_contig_interp >= jb->info.conf.max_contig_interp) { + jb->info.silence_begin_ts = jb->info.next_voice_ts - jb->info.current; + } + + _debug("Non silent case\n"); + return JB_INTERP; + } + + _debug("queue get\n"); + + frame = queue_get(jb, jb->info.next_voice_ts - jb->info.current); + + if(!frame) + _debug("frame not valid\n"); + + /* not a voice frame; just return it. */ + if (frame && frame->type != JB_TYPE_VOICE) { + if (frame->type == JB_TYPE_SILENCE) { + jb->info.silence_begin_ts = frame->ts; + jb->info.cnt_contig_interp = 0; + } + + *frameout = *frame; + jb->info.frames_out++; + _debug("Not a voice packet\n"); + return JB_OK; + } + + + /* voice frame is later than expected */ + if (frame && frame->ts + jb->info.current < jb->info.next_voice_ts) { + if (frame->ts + jb->info.current > jb->info.next_voice_ts - jb->info.last_voice_ms) { + /* either we interpolated past this frame in the last jb_get */ + /* or the frame is still in order, but came a little too quick */ + *frameout = *frame; + /* reset expectation for next frame */ + jb->info.next_voice_ts = frame->ts + jb->info.current + frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.cnt_contig_interp = 0; + _debug("Either we interpolated past this frame in the last jb_get" \ + "or the frame is still in order, but came a little too quick\n"); + return JB_OK; + } else { + /* voice frame is late */ + *frameout = *frame; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_late++; + jb->info.frames_lost--; + _debug("Voice frame is late\n"); + _debug("late: wanted=%ld, this=%ld, next=%ld\n", jb->info.next_voice_ts - jb->info.current, frame->ts, queue_next(jb)); + return JB_DROP; + } + } + + /* keep track of frame sizes, to allow for variable sized-frames */ + if (frame && frame->ms > 0) { + jb->info.last_voice_ms = frame->ms; + } + + /* we want to shrink; shrink at 1 frame / 500ms */ + /* unless we don't have a frame, then shrink 1 frame */ + /* every 80ms (though perhaps we can shrink even faster */ + /* in this case) */ + if (diff < -jb->info.conf.target_extra && + ((!frame && jb->info.last_adjustment + 80 < now) || + (jb->info.last_adjustment + 500 < now))) { + + jb->info.last_adjustment = now; + jb->info.cnt_contig_interp = 0; + + if (frame) { + *frameout = *frame; + /* shrink by frame size we're throwing out */ + jb->info.current -= frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_dropped++; + _debug("Shrink by frame size we're throwing out"); + return JB_DROP; + } else { + /* shrink by last_voice_ms */ + jb->info.current -= jb->info.last_voice_ms; + jb->info.frames_lost++; + increment_losspct(jb); + jb_dbg("S"); + _debug("No frames, shrink by last_voice_ms"); + return JB_NOFRAME; + } + } + + /* lost frame */ + if (!frame) { + /* this is a bit of a hack for now, but if we're close to + * target, and we find a missing frame, it makes sense to + * grow, because the frame might just be a bit late; + * otherwise, we presently get into a pattern where we return + * INTERP for the lost frame, then it shows up next, and we + * throw it away because it's late */ + /* I've recently only been able to replicate this using + * iaxclient talking to app_echo on asterisk. In this case, + * my outgoing packets go through asterisk's (old) + * jitterbuffer, and then might get an unusual increasing delay + * there if it decides to grow?? */ + /* Update: that might have been a different bug, that has been fixed.. + * But, this still seemed like a good idea, except that it ended up making a single actual + * lost frame get interpolated two or more times, when there was "room" to grow, so it might + * be a bit of a bad idea overall */ + /*if (diff > -1 * jb->info.last_voice_ms) { + jb->info.current += jb->info.last_voice_ms; + jb->info.last_adjustment = now; + jb_warn("g"); + return JB_INTERP; + } */ + jb->info.frames_lost++; + increment_losspct(jb); + jb->info.next_voice_ts += interpl; + jb->info.last_voice_ms = interpl; + jb->info.cnt_contig_interp++; + if (jb->info.conf.max_contig_interp && jb->info.cnt_contig_interp >= jb->info.conf.max_contig_interp) { + jb->info.silence_begin_ts = jb->info.next_voice_ts - jb->info.current; + } + + return JB_INTERP; + } + + /* normal case; return the frame, increment stuff */ + *frameout = *frame; + jb->info.next_voice_ts += frame->ms; + jb->info.frames_out++; + jb->info.cnt_contig_interp = 0; + decrement_losspct(jb); + jb_dbg("v"); + return JB_OK; + } else { + + _debug("Silence???\n"); + /* TODO: after we get the non-silent case down, we'll make the + * silent case -- basically, we'll just grow and shrink faster + * here, plus handle next_voice_ts a bit differently */ + + /* to disable silent special case altogether, just uncomment this: */ + /* jb->info.silence_begin_ts = 0; */ + + /* shrink interpl len every 10ms during silence */ + if (diff < -jb->info.conf.target_extra && + jb->info.last_adjustment + 10 <= now) { + jb->info.current -= interpl; + jb->info.last_adjustment = now; + } + + frame = queue_get(jb, now - jb->info.current); + if (!frame) { + return JB_NOFRAME; + } else if (frame->type != JB_TYPE_VOICE) { + /* normal case; in silent mode, got a non-voice frame */ + *frameout = *frame; + jb->info.frames_out++; + return JB_OK; + } + if (frame->ts < jb->info.silence_begin_ts) { + /* voice frame is late */ + *frameout = *frame; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_late++; + jb->info.frames_lost--; + jb_dbg("l"); + /*jb_warn("\nlate: wanted=%ld, this=%ld, next=%ld\n", jb->info.next_voice_ts - jb->info.current, frame->ts, queue_next(jb)); + jb_warninfo(jb); */ + return JB_DROP; + } else { + /* voice frame */ + /* try setting current to target right away here */ + jb->info.current = jb->info.target; + jb->info.silence_begin_ts = 0; + jb->info.next_voice_ts = frame->ts + jb->info.current + frame->ms; + jb->info.last_voice_ms = frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + *frameout = *frame; + jb_dbg("V"); + return JB_OK; + } + } +} + +long jb_next(jitterbuf *jb) +{ + if (jb->info.silence_begin_ts) { + if (jb->frames) { + long next = queue_next(jb); + history_get(jb); + /* shrink during silence */ + if (jb->info.target - jb->info.current < -jb->info.conf.target_extra) + return jb->info.last_adjustment + 10; + return next + jb->info.target; + } + else + return JB_LONGMAX; + } else { + return jb->info.next_voice_ts; + } +} + +enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frameout, long now, long interpl) +{ + _debug("\n***** JB_GET *****\n\n"); + + enum jb_return_code ret = _jb_get(jb, frameout, now, interpl); +#if 0 + static int lastts=0; + int thists = ((ret == JB_OK) || (ret == JB_DROP)) ? frameout->ts : 0; + jb_warn("jb_get(%x,%x,%ld) = %d (%d)\n", jb, frameout, now, ret, thists); + if (thists && thists < lastts) jb_warn("XXXX timestamp roll-back!!!\n"); + lastts = thists; +#endif + if (ret == JB_INTERP) + frameout->ms = jb->info.last_voice_ms; + + return ret; +} + +enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout) +{ + jb_frame *frame; + frame = queue_getall(jb); + + if (!frame) { + return JB_NOFRAME; + } + + *frameout = *frame; + return JB_OK; +} + + +enum jb_return_code jb_getinfo(jitterbuf *jb, jb_info *stats) +{ + + history_get(jb); + + *stats = jb->info; + + return JB_OK; +} + +enum jb_return_code jb_setconf(jitterbuf *jb, jb_conf *conf) +{ + /* take selected settings from the struct */ + + jb->info.conf.max_jitterbuf = conf->max_jitterbuf; + jb->info.conf.resync_threshold = conf->resync_threshold; + jb->info.conf.max_contig_interp = conf->max_contig_interp; + + /* -1 indicates use of the default JB_TARGET_EXTRA value */ + jb->info.conf.target_extra = ( conf->target_extra == -1 ) + ? JB_TARGET_EXTRA + : conf->target_extra + ; + + /* update these to match new target_extra setting */ + jb->info.current = jb->info.conf.target_extra; + jb->info.target = jb->info.conf.target_extra; + + return JB_OK; +} + + diff --git a/sflphone-common/src/audio/jitterbuf.h b/sflphone-common/src/audio/jitterbuf.h new file mode 100755 index 0000000000000000000000000000000000000000..8de8bf0885d87f476550bc27c5201065d677b51d --- /dev/null +++ b/sflphone-common/src/audio/jitterbuf.h @@ -0,0 +1,177 @@ +/* + * jitterbuf: an application-independent jitterbuffer + * + * Copyrights: + * Copyright (C) 2004-2005, Horizon Wimba, Inc. + * + * Contributors: + * Steve Kann <stevek@stevek.com> + * + * This program is free software, distributed under the terms of + * the GNU Lesser (Library) General Public License + * + * Copyright on this file is disclaimed to Digium for inclusion in Asterisk + */ + +/*! \file + * \brief + * jitterbuf: an application-independent jitterbuffer + * \ref jitterbuf.c + */ + + +#ifndef _JITTERBUF_H_ +#define _JITTERBUF_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/*! \name configuration constants */ +/*@{ */ + /*! Number of historical timestamps to use in calculating jitter and drift */ +#define JB_HISTORY_SZ 500 + /*! what percentage of timestamps should we drop from the history when we examine it; + * this might eventually be something made configurable */ +#define JB_HISTORY_DROPPCT 3 + /*! the maximum droppct we can handle (say it was configurable). */ +#define JB_HISTORY_DROPPCT_MAX 4 + /*! the size of the buffer we use to keep the top and botton timestamps for dropping */ +#define JB_HISTORY_MAXBUF_SZ JB_HISTORY_SZ * JB_HISTORY_DROPPCT_MAX / 100 + /*! amount of additional jitterbuffer adjustment */ +#define JB_TARGET_EXTRA 40 + /*! ms between growing and shrinking; may not be honored if jitterbuffer runs out of space */ +#define JB_ADJUST_DELAY 40 +/*@} */ + +enum jb_return_code { + /* return codes */ + JB_OK, /* 0 */ + JB_EMPTY, /* 1 */ + JB_NOFRAME, /* 2 */ + JB_INTERP, /* 3 */ + JB_DROP, /* 4 */ + JB_SCHED /* 5 */ +}; + +enum jb_frame_type { + /* frame types */ + JB_TYPE_CONTROL, /*!< 0 */ + JB_TYPE_VOICE, /*!< 1 */ + JB_TYPE_VIDEO, /*!< 2 - reserved */ + JB_TYPE_SILENCE /*!< 3 */ +}; + +typedef struct jb_conf { + /* settings */ + long max_jitterbuf; /*!< defines a hard clamp to use in setting the jitter buffer delay */ + long resync_threshold; /*!< the jb will resync when delay increases to (2 * jitter) + this param */ + long max_contig_interp; /*!< the max interp frames to return in a row */ + long target_extra ; /*!< amount of additional jitterbuffer adjustment, overrides JB_TARGET_EXTRA */ +} jb_conf; + +typedef struct jb_info { + jb_conf conf; + + /* statistics */ + long frames_in; /*!< number of frames input to the jitterbuffer.*/ + long frames_out; /*!< number of frames output from the jitterbuffer.*/ + long frames_late; /*!< number of frames which were too late, and dropped.*/ + long frames_lost; /*!< number of missing frames.*/ + long frames_dropped; /*!< number of frames dropped (shrinkage) */ + long frames_ooo; /*!< number of frames received out-of-order */ + long frames_cur; /*!< number of frames presently in jb, awaiting delivery.*/ + long jitter; /*!< jitter measured within current history interval*/ + long min; /*!< minimum lateness within current history interval */ + long current; /*!< the present jitterbuffer adjustment */ + long target; /*!< the target jitterbuffer adjustment */ + long losspct; /*!< recent lost frame percentage (* 1000) */ + long next_voice_ts; /*!< the ts of the next frame to be read from the jb - in receiver's time */ + long last_voice_ms; /*!< the duration of the last voice frame */ + long silence_begin_ts; /*!< the time of the last CNG frame, when in silence */ + long last_adjustment; /*!< the time of the last adjustment */ + long last_delay; /*!< the last now added to history */ + long cnt_delay_discont; /*!< the count of discontinuous delays */ + long resync_offset; /*!< the amount to offset ts to support resyncs */ + long cnt_contig_interp; /*!< the number of contiguous interp frames returned */ +} jb_info; + +typedef struct jb_frame { + void *data; /* the frame data */ + long ts; /* the relative delivery time expected */ + long ms; /* the time covered by this frame, in sec/8000 */ + enum jb_frame_type type; /* the type of frame */ + struct jb_frame *next, *prev; +} jb_frame; + +typedef struct jitterbuf { + jb_info info; + + /* history */ + long history[JB_HISTORY_SZ]; /*!< history */ + int hist_ptr; /*!< points to index in history for next entry */ + long hist_maxbuf[JB_HISTORY_MAXBUF_SZ]; /*!< a sorted buffer of the max delays (highest first) */ + long hist_minbuf[JB_HISTORY_MAXBUF_SZ]; /*!< a sorted buffer of the min delays (lowest first) */ + int hist_maxbuf_valid; /*!< are the "maxbuf"/minbuf valid? */ + unsigned int dropem:1; /*!< flag to indicate dropping frames (overload) */ + + jb_frame *frames; /*!< queued frames */ + jb_frame *free; /*!< free frames (avoid malloc?) */ +} jitterbuf; + + +/*! \brief new jitterbuf */ +jitterbuf * jb_new(void); + +/*! \brief destroy jitterbuf */ +void jb_destroy(jitterbuf *jb); + +/*! \brief reset jitterbuf + * \note The jitterbuffer should be empty before you call this, otherwise + * you will leak queued frames, and some internal structures */ +void jb_reset(jitterbuf *jb); + +/*!\brief queue a frame + * + * data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time) + * now=now (in receiver's time) return value is one of + * JB_OK: Frame added. Last call to jb_next() still valid + * JB_DROP: Drop this frame immediately + * JB_SCHED: Frame added. Call jb_next() to get a new time for the next frame + */ +enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts, long now); + +/*! \brief get a frame for time now (receiver's time) return value is one of + * JB_OK: You've got frame! + * JB_DROP: Here's an audio frame you should just drop. Ask me again for this time.. + * JB_NOFRAME: There's no frame scheduled for this time. + * JB_INTERP: Please interpolate an interpl-length frame for this time (either we need to grow, or there was a lost frame) + * JB_EMPTY: The jb is empty. + */ +enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frame, long now, long interpl); + +/*! \brief unconditionally get frames from jitterbuf until empty */ +enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout); + +/*! \brief when is the next frame due out, in receiver's time (0=EMPTY) + * This value may change as frames are added (esp non-audio frames) */ +long jb_next(jitterbuf *jb); + +/*! \brief get jitterbuf info: only "statistics" may be valid */ +enum jb_return_code jb_getinfo(jitterbuf *jb, jb_info *stats); + +/* some diagnostics */ +void jb_dbginfo(jitterbuf *jb); + +/*! \brief set jitterbuf conf */ +enum jb_return_code jb_setconf(jitterbuf *jb, jb_conf *conf); + +typedef void __attribute__((format(printf, 1, 2))) (*jb_output_function_t)(const char *fmt, ...); +void jb_setoutput(jb_output_function_t err, jb_output_function_t warn, jb_output_function_t dbg); + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/sflphone-common/src/audio/mainbuffer.cpp b/sflphone-common/src/audio/mainbuffer.cpp index 54be846cc2ef875a0df94d693bb62961022d2ebe..2ccc1f8d6e7ee6409bcb4a223e4a42f4f9bca1ab 100644 --- a/sflphone-common/src/audio/mainbuffer.cpp +++ b/sflphone-common/src/audio/mainbuffer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * @@ -16,11 +16,24 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "mainbuffer.h" -MainBuffer::MainBuffer() : _internalSamplingRate (0) +#include "manager.h" + +MainBuffer::MainBuffer() : _internalSamplingRate (8000) { mixBuffer = new SFLDataFormat[STATIC_BUFSIZE]; } @@ -29,14 +42,13 @@ MainBuffer::MainBuffer() : _internalSamplingRate (0) MainBuffer::~MainBuffer() { - delete [] mixBuffer; - mixBuffer = NULL; + delete [] mixBuffer; mixBuffer = NULL; } void MainBuffer::setInternalSamplingRate (int sr) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); if (sr != _internalSamplingRate) { @@ -44,6 +56,8 @@ void MainBuffer::setInternalSamplingRate (int sr) flushAllBuffers(); + Manager::instance().audioSamplingRateChanged(); + } } @@ -65,7 +79,6 @@ bool MainBuffer::createCallIDSet (CallID set_id) CallIDSet* newCallIDSet = new CallIDSet; _callIDMap.insert (pair<CallID, CallIDSet*> (set_id, newCallIDSet)); - // _callIDMap[set_id] = new CallIDSet; return true; @@ -79,6 +92,7 @@ bool MainBuffer::removeCallIDSet (CallID set_id) if (callid_set != NULL) { if (_callIDMap.erase (set_id) != 0) { + delete callid_set; callid_set = NULL; return true; } else { _debug ("removeCallIDSet error while removing callid set %s!", set_id.c_str()); @@ -146,13 +160,14 @@ bool MainBuffer::removeRingBuffer (CallID call_id) if (ring_buffer != NULL) { if (_ringBufferMap.erase (call_id) != 0) { + delete ring_buffer; return true; } else { - _debug ("removeRingBuffer error while deleting ringbuffer %s!", call_id.c_str()); + _error ("BufferManager: Error: Fail to delete ringbuffer %s!", call_id.c_str()); return false; } } else { - _debug ("removeRingBuffer error ringbuffer %s does not exist!", call_id.c_str()); + _debug ("BufferManager: Error: Ringbuffer %s does not exist!", call_id.c_str()); return true; } } @@ -161,7 +176,7 @@ bool MainBuffer::removeRingBuffer (CallID call_id) void MainBuffer::bindCallID (CallID call_id1, CallID call_id2) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); RingBuffer* ring_buffer; CallIDSet* callid_set; @@ -188,11 +203,27 @@ void MainBuffer::bindCallID (CallID call_id1, CallID call_id2) } +void MainBuffer::bindHalfDuplexOut(CallID process_id, CallID call_id) +{ + + // This method is used only for active calls, if this call does not exist, do nothing + if(!getRingBuffer(call_id)) + return; + + if(!getCallIDSet(process_id)) + createCallIDSet(process_id); + + getRingBuffer(call_id)->createReadPointer(process_id); + + addCallIDtoSet(process_id, call_id); + +} + void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); removeCallIDfromSet (call_id1, call_id2); removeCallIDfromSet (call_id2, call_id1); @@ -201,7 +232,7 @@ void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) ringbuffer = getRingBuffer (call_id2); - if (ringbuffer != NULL) { + if (ringbuffer) { ringbuffer->removeReadPointer (call_id1); @@ -214,22 +245,50 @@ void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) ringbuffer = getRingBuffer (call_id1); - if (ringbuffer != NULL) { - ringbuffer->removeReadPointer (call_id2); - - if (ringbuffer->getNbReadPointer() == 0) { - removeCallIDSet (call_id1); - removeRingBuffer (call_id1); - } + if (ringbuffer) { + ringbuffer->removeReadPointer (call_id2); + + if (ringbuffer->getNbReadPointer() == 0) { + removeCallIDSet (call_id1); + removeRingBuffer (call_id1); + } } +} + +void MainBuffer::unBindHalfDuplexOut(CallID process_id, CallID call_id) +{ + + removeCallIDfromSet(process_id, call_id); + RingBuffer* ringbuffer = getRingBuffer(call_id); + + if(ringbuffer) { + ringbuffer->removeReadPointer(process_id); + + if(ringbuffer->getNbReadPointer() == 0) { + removeCallIDSet(call_id); + removeRingBuffer(call_id); + } + } + else { + _debug("Error: did not found ringbuffer %s", process_id.c_str()); + removeCallIDSet(process_id); + } + + + CallIDSet* callid_set = getCallIDSet(process_id); + if(callid_set) { + if(callid_set->empty()) + removeCallIDSet(process_id); + } } + void MainBuffer::unBindAll (CallID call_id) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -253,10 +312,32 @@ void MainBuffer::unBindAll (CallID call_id) } -int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID call_id) +void MainBuffer::unBindAllHalfDuplexOut(CallID process_id) { - ost::MutexLock guard (_mutex); + CallIDSet* callid_set = getCallIDSet(process_id); + + if(!callid_set) + return; + + if(callid_set->empty()) + return; + + CallIDSet temp_set = *callid_set; + + CallIDSet::iterator iter_set = temp_set.begin(); + + while(iter_set != temp_set.end()) { + CallID call_id_in_set = *iter_set; + unBindCallID(process_id, call_id_in_set); + + iter_set++; + } +} + + +int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID call_id) +{ RingBuffer* ring_buffer = getRingBuffer (call_id); @@ -266,7 +347,6 @@ int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID int a; - // ost::MutexLock guard (_mutex); a = ring_buffer->AvailForPut(); if (a >= toCopy) { @@ -283,8 +363,6 @@ int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID int MainBuffer::availForPut (CallID call_id) { - ost::MutexLock guard (_mutex); - RingBuffer* ringbuffer = getRingBuffer (call_id); if (ringbuffer == NULL) @@ -297,7 +375,6 @@ int MainBuffer::availForPut (CallID call_id) int MainBuffer::getData (void *buffer, int toCopy, unsigned short volume, CallID call_id) { - ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -320,9 +397,7 @@ int MainBuffer::getData (void *buffer, int toCopy, unsigned short volume, CallID return 0; } else { - for (int k = 0; k < nbSmplToCopy; k++) { - ( (SFLDataFormat*) (buffer)) [k] = 0; - } + memset(buffer, 0, nbSmplToCopy*sizeof(SFLDataFormat*)); int size = 0; @@ -351,30 +426,24 @@ int MainBuffer::getDataByID (void *buffer, int toCopy, unsigned short volume, Ca RingBuffer* ring_buffer = getRingBuffer (call_id); - if (ring_buffer == NULL) { - + if (!ring_buffer) { return 0; } return ring_buffer->Get (buffer, toCopy, volume, reader_id); - - return 0; - } int MainBuffer::availForGet (CallID call_id) { - ost::MutexLock guard (_mutex); - CallIDSet* callid_set = getCallIDSet (call_id); if (callid_set == NULL) return 0; if (callid_set->empty()) { - _debug ("CallIDSet with ID: \"%s\" is empty!", call_id.c_str()); + _debug ("MainBuffer: CallIDSet with ID: \"%s\" is empty!", call_id.c_str()); return 0; } @@ -385,10 +454,10 @@ int MainBuffer::availForGet (CallID call_id) _debug ("This problem should not occur since we have %i element", (int) callid_set->size()); } - // else return availForGetByID (*iter_id, call_id); + } else { - // _debug("CallIDSet with ID: \"%s\" is a conference!", call_id.c_str()); + int avail_bytes = 99999; int nb_bytes; CallIDSet::iterator iter_id = callid_set->begin(); @@ -410,15 +479,13 @@ int MainBuffer::availForGetByID (CallID call_id, CallID reader_id) { if ( (call_id != default_id) && (reader_id == call_id)) { - - _debug ("**********************************************************************"); - _debug ("Error an RTP session ring buffer is not supposed to have a readpointer on tiself"); + _error("MainBuffer: Error: RingBuffer has a readpointer on tiself"); } RingBuffer* ringbuffer = getRingBuffer (call_id); if (ringbuffer == NULL) { - _debug ("Error: ring buffer does not exist"); + _error("MainBuffer: Error: RingBuffer does not exist"); return 0; } else return ringbuffer->AvailForGet (reader_id); @@ -428,9 +495,6 @@ int MainBuffer::availForGetByID (CallID call_id, CallID reader_id) int MainBuffer::discard (int toDiscard, CallID call_id) { - // _debug("MainBuffer::discard"); - - ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -438,7 +502,6 @@ int MainBuffer::discard (int toDiscard, CallID call_id) return 0; if (callid_set->empty()) { - // _debug("CallIDSet with ID: \"%s\" is empty!", call_id.c_str()); return 0; } @@ -479,7 +542,7 @@ int MainBuffer::discardByID (int toDiscard, CallID call_id, CallID reader_id) void MainBuffer::flush (CallID call_id) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -506,7 +569,7 @@ void MainBuffer::flush (CallID call_id) void MainBuffer::flushDefault() { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); flushByID (default_id, default_id); @@ -539,7 +602,7 @@ void MainBuffer::flushAllBuffers() void MainBuffer::stateInfo() { - _debug ("MainBuffer state info"); + _debug ("MainBuffer: State info"); CallIDMap::iterator iter_call = _callIDMap.begin(); @@ -563,7 +626,7 @@ void MainBuffer::stateInfo() iter_call_id++; } - _debug ("%s\n", dbg_str.c_str()); + _debug ("%s", dbg_str.c_str()); iter_call++; } @@ -597,7 +660,7 @@ void MainBuffer::stateInfo() } } - _debug ("%s\n", dbg_str.c_str()); + _debug ("%s", dbg_str.c_str()); iter_buffer++; } diff --git a/sflphone-common/src/audio/mainbuffer.h b/sflphone-common/src/audio/mainbuffer.h index f8759ab534abec779f13381d0dc2b129a76ca567..95dd787ea4c8aab914fcdb0307afd4f7e2b89de4 100644 --- a/sflphone-common/src/audio/mainbuffer.h +++ b/sflphone-common/src/audio/mainbuffer.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __MAIN_BUFFER__ @@ -26,12 +37,10 @@ #include <cc++/thread.h> // for ost::Mutex #include <string> -#include "../global.h" -#include "../call.h" +#include "global.h" +#include "call.h" #include "ringbuffer.h" - - typedef std::map<CallID, RingBuffer*> RingBufferMap; typedef std::set<CallID> CallIDSet; @@ -40,7 +49,7 @@ typedef std::map<CallID, CallIDSet*> CallIDMap; class MainBuffer { -public: + public: MainBuffer(); @@ -56,20 +65,40 @@ public: bool removeCallIDSet(CallID set_id); + /** + * Add a new call id to this set + */ void addCallIDtoSet(CallID set_id, CallID call_id); void removeCallIDfromSet(CallID set_id, CallID call_id); + /** + * Create a new ringbuffer with default readpointer + */ RingBuffer* createRingBuffer(CallID call_id); bool removeRingBuffer(CallID call_id); void bindCallID(CallID call_id1, CallID call_id2 = default_id); + /** + * Add a new call_id to unidirectional outgoing stream + * \param call_id New call id to be added for this stream + * \param process_id Process that require this stream + */ + void bindHalfDuplexOut(CallID process_id, CallID call_id = default_id); + + /** + * Unbind two calls + */ void unBindCallID(CallID call_id1, CallID call_id2 = default_id); + void unBindHalfDuplexOut(CallID process_id, CallID call_id = default_id); + void unBindAll(CallID call_id); + void unBindAllHalfDuplexOut(CallID process_id); + int putData(void *buffer, int toCopy, unsigned short volume = 100, CallID call_id = default_id); int getData(void *buffer, int toCopy, unsigned short volume = 100, CallID call_id = default_id); @@ -106,7 +135,7 @@ public: SFLDataFormat* mixBuffer; - ost::Mutex _mutex; + // ost::Mutex _mutex; int _internalSamplingRate; diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.cpp b/sflphone-common/src/audio/pulseaudio/audiostream.cpp index 0187585c22ecec9d5da30f021634bf7f4b5d081d..41acf4c26362dcce9fa509f7d2e49ba257069009 100644 --- a/sflphone-common/src/audio/pulseaudio/audiostream.cpp +++ b/sflphone-common/src/audio/pulseaudio/audiostream.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <audiostream.h> @@ -24,20 +35,19 @@ static pa_channel_map channel_map; -AudioStream::AudioStream (PulseLayerType * driver) +AudioStream::AudioStream (PulseLayerType * driver, int smplrate) : _audiostream (NULL), _context (driver->context), _streamType (driver->type), _streamDescription (driver->description), _volume(), - flag (PA_STREAM_AUTO_TIMING_UPDATE), - sample_spec(), + _flag (PA_STREAM_AUTO_TIMING_UPDATE), + _sample_spec(), _mainloop (driver->mainloop) { - sample_spec.format = PA_SAMPLE_S16LE; - // sample_spec.format = PA_SAMPLE_FLOAT32LE; - sample_spec.rate = 44100; - sample_spec.channels = 1; + _sample_spec.format = PA_SAMPLE_S16LE; // PA_SAMPLE_FLOAT32LE; + _sample_spec.rate = smplrate; + _sample_spec.channels = 1; channel_map.channels = 1; pa_cvolume_set (&_volume , 1 , PA_VOLUME_NORM) ; // * vol / 100 ; } @@ -48,12 +58,12 @@ AudioStream::~AudioStream() } bool -AudioStream::connectStream() +AudioStream::connectStream(std::string* deviceName) { ost::MutexLock guard (_mutex); if (!_audiostream) - _audiostream = createStream (_context); + _audiostream = createStream (_context, deviceName); return true; } @@ -73,7 +83,7 @@ bool AudioStream::drainStream (void) { if (_audiostream) { - _debug ("Draining stream"); + _info("Audio: Draining stream"); pa_operation * operation; pa_threaded_mainloop_lock (_mainloop); @@ -81,7 +91,7 @@ AudioStream::drainStream (void) if ( (operation = pa_stream_drain (_audiostream, success_cb, _mainloop))) { while (pa_operation_get_state (operation) != PA_OPERATION_DONE) { if (!_context || pa_context_get_state (_context) != PA_CONTEXT_READY || !_audiostream || pa_stream_get_state (_audiostream) != PA_STREAM_READY) { - _debug ("Connection died: %s", _context ? pa_strerror (pa_context_errno (_context)) : "NULL"); + _warn("Audio: Connection died: %s", _context ? pa_strerror (pa_context_errno (_context)) : "NULL"); pa_operation_unref (operation); break; } else { @@ -99,7 +109,7 @@ AudioStream::drainStream (void) bool AudioStream::disconnectStream (void) { - _debug ("Destroy audio streams"); + _info("Audio: Destroy audio streams"); pa_threaded_mainloop_lock (_mainloop); @@ -128,35 +138,44 @@ AudioStream::stream_state_callback (pa_stream* s, void* user_data) { pa_threaded_mainloop *m; - _debug ("AudioStream::stream_state_callback :: The state of the stream changed"); + _info("Audio: The state of the stream changed"); assert (s); + char str[PA_SAMPLE_SPEC_SNPRINT_MAX]; + m = (pa_threaded_mainloop*) user_data; assert (m); switch (pa_stream_get_state (s)) { case PA_STREAM_CREATING: - _debug ("Stream is creating..."); + _info("Audio: Stream is creating..."); break; case PA_STREAM_TERMINATED: - _debug ("Stream is terminating..."); + _info ("Audio: Stream is terminating..."); break; case PA_STREAM_READY: - _debug ("Stream successfully created, connected to %s", pa_stream_get_device_name (s)); - // pa_stream_cork( s, 0, NULL, NULL); + _info ("Audio: Stream successfully created, connected to %s", pa_stream_get_device_name (s)); + // pa_buffer_attr *buffattr = (pa_buffer_attr *)pa_xmalloc (sizeof(pa_buffer_attr)); + _debug("Audio: maxlength %u", pa_stream_get_buffer_attr(s)->maxlength); + _debug("Audio: tlength %u", pa_stream_get_buffer_attr(s)->tlength); + _debug("Audio: prebug %u", pa_stream_get_buffer_attr(s)->prebuf); + _debug("Audio: minreq %u", pa_stream_get_buffer_attr(s)->minreq); + _debug("Audio: fragsize %u", pa_stream_get_buffer_attr(s)->fragsize); + _debug("Audio: samplespec %s", pa_sample_spec_snprint(str, sizeof(str), pa_stream_get_sample_spec(s))); + // pa_xfree (buffattr); break; case PA_STREAM_UNCONNECTED: - _debug ("Stream unconnected"); + _info ("Audio: Stream unconnected"); break; case PA_STREAM_FAILED: default: - _debug ("Stream error - Sink/Source doesn't exists: %s" , pa_strerror (pa_context_errno (pa_stream_get_context (s)))); + _warn("Audio: Error - Sink/Source doesn't exists: %s" , pa_strerror (pa_context_errno (pa_stream_get_context (s)))); exit (0); break; } @@ -173,61 +192,86 @@ AudioStream::getStreamState (void) pa_stream* -AudioStream::createStream (pa_context* c) +AudioStream::createStream (pa_context* c, std::string *deviceName) { ost::MutexLock guard (_mutex); pa_stream* s; - //pa_cvolume cv; - - // pa_sample_spec ss; - // ss.format = PA_SAMPLE_S16LE; - // ss.rate = 44100; - // ss.channels = 1; - - assert (pa_sample_spec_valid (&sample_spec)); + assert (pa_sample_spec_valid (&_sample_spec)); assert (pa_channel_map_valid (&channel_map)); + _info("Audio: Create pulseaudio stream"); + pa_buffer_attr* attributes = (pa_buffer_attr*) malloc (sizeof (pa_buffer_attr)); - if (! (s = pa_stream_new (c, _streamDescription.c_str() , &sample_spec, &channel_map))) - _debug ("%s: pa_stream_new() failed : %s" , _streamDescription.c_str(), pa_strerror (pa_context_errno (c))); + + if (! (s = pa_stream_new (c, _streamDescription.c_str() , &_sample_spec, &channel_map))) + _warn ("Audio: Error: %s: pa_stream_new() failed : %s" , _streamDescription.c_str(), pa_strerror (pa_context_errno (c))); assert (s); - // parameters are defined as number of bytes - // 2048 bytes (1024 int16) is 20 ms at 44100 Hz if (_streamType == PLAYBACK_STREAM) { - // 20 ms framesize TODO: take framesize value from config - attributes->maxlength = (uint32_t) -1; - attributes->tlength = pa_usec_to_bytes (100 * PA_USEC_PER_MSEC, &sample_spec); + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec); // -1; + attributes->tlength = pa_usec_to_bytes (40 * PA_USEC_PER_MSEC, &_sample_spec); attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); attributes->minreq = (uint32_t) -1; - attributes->fragsize = (uint32_t) -1; + + pa_threaded_mainloop_lock(_mainloop); + + if(deviceName) + pa_stream_connect_playback (s , deviceName->c_str(), attributes, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); + else + pa_stream_connect_playback (s , NULL, attributes, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); + + + pa_threaded_mainloop_unlock(_mainloop); - pa_stream_connect_playback (s , NULL , attributes, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), &_volume, NULL); } else if (_streamType == CAPTURE_STREAM) { - // 20 ms framesize TODO: take framesize value from config - attributes->maxlength = (uint32_t) -1; - attributes->tlength = (uint32_t) -1; - attributes->prebuf = (uint32_t) -1; - attributes->minreq = (uint32_t) -1; - attributes->fragsize = pa_usec_to_bytes (50 * PA_USEC_PER_MSEC, &sample_spec); + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec);// (uint32_t) -1; + attributes->tlength = pa_usec_to_bytes (40 * PA_USEC_PER_MSEC, &_sample_spec);// pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); // pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->minreq = (uint32_t) -1; + + pa_threaded_mainloop_lock(_mainloop); + + if(deviceName) + pa_stream_connect_record (s, deviceName->c_str(), attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE)); + else + pa_stream_connect_record (s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE)); + pa_threaded_mainloop_unlock(_mainloop); + + } else if (_streamType == RINGTONE_STREAM) { + + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec);; + attributes->tlength = pa_usec_to_bytes(40 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes(20 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->minreq = (uint32_t) -1; + + pa_threaded_mainloop_lock(_mainloop); + if(deviceName) + pa_stream_connect_playback(s, deviceName->c_str(), attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); + else + pa_stream_connect_playback(s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY), NULL, NULL); + + pa_threaded_mainloop_unlock(_mainloop); - pa_stream_connect_record (s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_PEAK_DETECT|PA_STREAM_ADJUST_LATENCY)); } else if (_streamType == UPLOAD_STREAM) { pa_stream_connect_upload (s , 1024); } else { - _debug ("Stream type unknown "); + _warn ("Audio: Error: Stream type unknown "); } pa_stream_set_state_callback (s , stream_state_callback, _mainloop); + free (attributes); return s; diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.h b/sflphone-common/src/audio/pulseaudio/audiostream.h index 1d860ebc1262c1daa63049689583d5ebe2690dae..20e199bf293134a18402189e22c9c1de013d4313 100644 --- a/sflphone-common/src/audio/pulseaudio/audiostream.h +++ b/sflphone-common/src/audio/pulseaudio/audiostream.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _AUDIO_STREAM_H @@ -35,6 +46,7 @@ enum STREAM_TYPE { PLAYBACK_STREAM, CAPTURE_STREAM, + RINGTONE_STREAM, UPLOAD_STREAM }; @@ -54,7 +66,7 @@ class AudioStream { * Constructor * @param context The PulseLayerType structure containing various information. */ - AudioStream(PulseLayerType * driver); + AudioStream(PulseLayerType * driver, int smplrate); /** * Destructor @@ -80,7 +92,7 @@ class AudioStream { /** * Connect the pulse audio stream */ - bool connectStream(); + bool connectStream(std::string* deviceName); /** * Drain the given stream. @@ -134,7 +146,7 @@ class AudioStream { * @param c The pulseaudio context * @return pa_stream* The newly created audio stream */ - pa_stream* createStream( pa_context* c); + pa_stream* createStream( pa_context* c, std::string* deviceName); /** * Mandatory asynchronous callback on the audio stream state @@ -175,8 +187,8 @@ class AudioStream { * Streams parameters */ pa_cvolume _volume; - pa_stream_flags_t flag; - pa_sample_spec sample_spec ; + pa_stream_flags_t _flag; + pa_sample_spec _sample_spec ; pa_threaded_mainloop * _mainloop; diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp index 773956df5b35328bf5b2683b59507aa1d7af3faf..56c2ab8c7b3e00defc0374325343bea67e3271b2 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp @@ -1,7 +1,7 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. - * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,71 +16,232 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "pulselayer.h" #include "managerimpl.h" + int framesPerBuffer = 2048; -static void playback_callback (pa_stream* s, size_t bytes, void* userdata) -{ - // _debug("playback_callback"); + +static void playback_callback (pa_stream* s, size_t bytes, void* userdata) { assert (s && bytes); assert (bytes > 0); static_cast<PulseLayer*> (userdata)->processPlaybackData(); - // static_cast<PulseLayer*> (userdata)->processData(); + } -static void capture_callback (pa_stream* s, size_t bytes, void* userdata) -{ - // _debug("capture_callback"); +static void capture_callback (pa_stream* s, size_t bytes, void* userdata) { assert (s && bytes); assert (bytes > 0); static_cast<PulseLayer*> (userdata)->processCaptureData(); - // static_cast<PulseLayer*> (userdata)->processData(); + } -/* -static void stream_suspended_callback (pa_stream *s UNUSED, void *userdata UNUSED) +static void ringtone_callback (pa_stream* s, size_t bytes, void* userdata) { + + assert(s && bytes); + assert(bytes > 0); + static_cast<PulseLayer*> (userdata)->processRingtoneData(); + +} + + +static void stream_moved_callback(pa_stream *s, void *userdata) { + + int streamIndex = pa_stream_get_index(s); + int deviceIndex = pa_stream_get_device_index(s); + + _debug("stream_moved_callback: stream %d to %d", pa_stream_get_index(s), pa_stream_get_device_index(s)); + +} + +static void pa_success_callback(pa_context *c, int success, void *userdata) { + + _debug("Audio: Success callback"); +} + +static void latency_update_callback(pa_stream *p, void *userdata) { + + pa_usec_t r_usec; + + pa_stream_get_latency (p, &r_usec, NULL); + + _debug("Audio: Stream letency update %0.0f ms for device %s", (float)r_usec/1000, pa_stream_get_device_name(p)); + _debug("Audio: maxlength %u", pa_stream_get_buffer_attr(p)->maxlength); + _debug("Audio: tlength %u", pa_stream_get_buffer_attr(p)->tlength); + _debug("Audio: prebuf %u", pa_stream_get_buffer_attr(p)->prebuf); + _debug("Audio: minreq %u", pa_stream_get_buffer_attr(p)->minreq); + _debug("Audio: fragsize %u", pa_stream_get_buffer_attr(p)->fragsize); + +} + +static void sink_input_info_callback(pa_context *c, const pa_sink_info *i, int eol, void *userdata) { + char s[PA_SAMPLE_SPEC_SNPRINT_MAX], cv[PA_CVOLUME_SNPRINT_MAX], cm[PA_CHANNEL_MAP_SNPRINT_MAX]; + + if(!eol) { + + printf("Sink %u\n" + " Name: %s\n" + " Driver: %s\n" + " Description: %s\n" + " Sample Specification: %s\n" + " Channel Map: %s\n" + " Owner Module: %u\n" + " Volume: %s\n" + " Monitor Source: %u\n" + " Latency: %0.0f usec\n" + " Flags: %s%s%s\n", + i->index, + i->name, + i->driver, + i->description, + pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec), + pa_channel_map_snprint(cm, sizeof(cm), &i->channel_map), + i->owner_module, + i->mute ? "muted" : pa_cvolume_snprint(cv, sizeof(cv), &i->volume), + i->monitor_source, + (double) i->latency, + i->flags & PA_SINK_HW_VOLUME_CTRL ? "HW_VOLUME_CTRL " : "", + i->flags & PA_SINK_LATENCY ? "LATENCY " : "", + i->flags & PA_SINK_HARDWARE ? "HARDWARE" : ""); + + std::string deviceName(i->name); + ((PulseLayer *)userdata)->getSinkList()->push_back(deviceName); + + } + +} + +static void source_input_info_callback(pa_context *c, const pa_source_info *i, int eol, void *userdata) { + char s[PA_SAMPLE_SPEC_SNPRINT_MAX], cv[PA_CVOLUME_SNPRINT_MAX], cm[PA_CHANNEL_MAP_SNPRINT_MAX]; + + if(!eol) { + + printf("Sink %u\n" + " Name: %s\n" + " Driver: %s\n" + " Description: %s\n" + " Sample Specification: %s\n" + " Channel Map: %s\n" + " Owner Module: %u\n" + " Volume: %s\n" + " Monitor if Sink: %u\n" + " Latency: %0.0f usec\n" + " Flags: %s%s%s\n", + i->index, + i->name, + i->driver, + i->description, + pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec), + pa_channel_map_snprint(cm, sizeof(cm), &i->channel_map), + i->owner_module, + i->mute ? "muted" : pa_cvolume_snprint(cv, sizeof(cv), &i->volume), + i->monitor_of_sink, + (double) i->latency, + i->flags & PA_SOURCE_HW_VOLUME_CTRL ? "HW_VOLUME_CTRL " : "", + i->flags & PA_SOURCE_LATENCY ? "LATENCY " : "", + i->flags & PA_SOURCE_HARDWARE ? "HARDWARE" : ""); + + std::string deviceName(i->name); + ((PulseLayer *)userdata)->getSourceList()->push_back(deviceName); + + } +} + + +static void context_changed_callback(pa_context* c, pa_subscription_event_type_t t, uint32_t idx, void* userdata) { - _debug("PulseLayer::Stream Suspended"); + + switch(t) { + + case PA_SUBSCRIPTION_EVENT_SINK: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SINK"); + ((PulseLayer *)userdata)->getSinkList()->clear(); + pa_context_get_sink_info_list(c, sink_input_info_callback, userdata); + break; + case PA_SUBSCRIPTION_EVENT_SOURCE: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SOURCE"); + ((PulseLayer *)userdata)->getSourceList()->clear(); + pa_context_get_source_info_list(c, source_input_info_callback, userdata); + break; + case PA_SUBSCRIPTION_EVENT_SINK_INPUT: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SINK_INPUT"); + break; + case PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT"); + break; + case PA_SUBSCRIPTION_EVENT_MODULE: + _debug("Audio: PA_SUBSCRIPTION_EVENT_MODULE"); + break; + case PA_SUBSCRIPTION_EVENT_CLIENT: + _debug("Audio: PA_SUBSCRIPTION_EVENT_CLIENT"); + break; + case PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE"); + break; + case PA_SUBSCRIPTION_EVENT_SERVER: + _debug("Audio: PA_SUBSCRIPTION_EVENT_SERVER"); + break; + case PA_SUBSCRIPTION_EVENT_CARD: + _debug("Audio: PA_SUBSCRIPTION_EVENT_CARD"); + break; + case PA_SUBSCRIPTION_EVENT_FACILITY_MASK: + _debug("Audio: PA_SUBSCRIPTION_EVENT_FACILITY_MASK"); + break; + case PA_SUBSCRIPTION_EVENT_CHANGE: + _debug("Audio: PA_SUBSCRIPTION_EVENT_CHANGE"); + break; + case PA_SUBSCRIPTION_EVENT_REMOVE: + _debug("Audio: PA_SUBSCRIPTION_EVENT_REMOVE"); + ((PulseLayer *)userdata)->getSinkList()->clear(); + ((PulseLayer *)userdata)->getSourceList()->clear(); + pa_context_get_sink_info_list(c, sink_input_info_callback, userdata); + pa_context_get_source_info_list(c, source_input_info_callback, userdata); + break; + case PA_SUBSCRIPTION_EVENT_TYPE_MASK: + _debug("Audio: PA_SUBSCRIPTION_EVENT_TYPE_MASK"); + break; + default: + _debug("Audio: Unknown event type"); + + } + } -*/ /* -static void stream_moved_callback(pa_stream *s UNUSED, void *userdata UNUSED) +static void stream_suspended_callback (pa_stream *s UNUSED, void *userdata UNUSED) { - _debug("PulseLayer::Stream Moved"); + _debug("Audio: Stream Suspended"); } */ + static void playback_underflow_callback (pa_stream* s, void* userdata UNUSED) { - _debug ("PulseLayer::Buffer Underflow"); - // const pa_timing_info* info = pa_stream_get_timing_info(s); - // _debug(" pa write_index: %l", (long)(info->write_index)); - // _debug(" pa write_index_corupt (if not 0): %i", info->write_index_corrupt); - // _debug(" pa read_index: %l", (long)(info->read_index)); - // _debug(" pa read_index_corrupt (if not 0): %i", info->read_index_corrupt); - - - // fill in audio buffer twice the prebuffering value to restart playback - pa_stream_writable_size (s); - pa_stream_trigger (s, NULL, NULL); - - + // _debug ("Audio: Buffer Underflow"); + // pa_stream_trigger (s, NULL, NULL); } static void playback_overflow_callback (pa_stream* s UNUSED, void* userdata UNUSED) { - _debug ("PulseLayer::Buffer OverFlow"); - //PulseLayer* pulse = (PulseLayer*) userdata; - // pa_stream_drop (s); - // pa_stream_trigger (s, NULL, NULL); + // _debug ("Audio: Buffer OverFlow"); + } @@ -88,14 +249,23 @@ PulseLayer::PulseLayer (ManagerImpl* manager) : AudioLayer (manager , PULSEAUDIO) , context (NULL) , m (NULL) - , playback() - , record() + , playback(NULL) + , record(NULL) + , ringtone(NULL) { - _debug ("PulseLayer::Pulse audio constructor: Create context"); - _urgentRingBuffer.createReadPointer(); - dcblocker = new DcBlocker(); + is_started = false; + + AudioLayer::_echocancelstate = true; + AudioLayer::_noisesuppressstate = true; + + /* + captureFile = new ofstream("captureFile", ofstream::binary); + captureRsmplFile = new ofstream("captureRsmplFile", ofstream::binary); + captureFilterFile = new ofstream("captureFilterFile", ofstream::binary); + */ + openLayer(); } // Destructor @@ -108,33 +278,55 @@ PulseLayer::~PulseLayer (void) _converter = NULL; } - delete dcblocker; + delete AudioLayer::_echoCancel; + AudioLayer::_echoCancel = NULL; + + delete AudioLayer::_echoCanceller; + AudioLayer::_echoCanceller = NULL; + + delete AudioLayer::_dcblocker; + AudioLayer::_dcblocker = NULL; + + delete AudioLayer::_audiofilter; + AudioLayer::_audiofilter = NULL; + + /* + captureFile->close(); + captureRsmplFile->close(); + captureFilterFile->close(); + + delete captureFile; + delete captureRsmplFile; + delete captureFilterFile; + */ +} + +void +PulseLayer::openLayer (void) +{ + if (!is_started) { + + _info("Audio: Open Pulseaudio layer"); + + connectPulseAudioServer(); + + is_started = true; + + } - dcblocker = NULL; } bool PulseLayer::closeLayer (void) { - _debug ("PulseLayer::closeLayer :: Destroy pulselayer"); - - // Commenting the line below will make the - // PulseLayer to close immediately, not - // waiting for the playback buffer to be - // emptied. It should not hurt. - //playback->drainStream(); + _info("Audio: Close Pulseaudio layer"); + disconnectAudioStream(); + if (m) { pa_threaded_mainloop_stop (m); } - // playback->disconnectStream(); - // closePlaybackStream(); - - // record->disconnectStream(); - // closeCaptureStream(); - - // disconnectAudioStream(); if (context) { pa_context_disconnect (context); @@ -153,38 +345,62 @@ PulseLayer::closeLayer (void) void PulseLayer::connectPulseAudioServer (void) { - _debug ("PulseLayer::connectPulseAudioServer "); + _info("Audio: Connect to Pulseaudio server"); setenv ("PULSE_PROP_media.role", "phone", 1); pa_context_flags_t flag = PA_CONTEXT_NOAUTOSPAWN ; - pa_threaded_mainloop_lock (m); + if (!m) { + + // Instantiate a mainloop + _info("Audio: Creating PulseAudio mainloop"); + if (!(m = pa_threaded_mainloop_new())) + _warn ("Audio: Error: while creating pulseaudio mainloop"); + + assert(m); + } + + if(!context) { - _debug ("Connect the context to the server"); - pa_context_connect (context, NULL , flag , NULL); + // Instantiate a context + if (! (context = pa_context_new (pa_threaded_mainloop_get_api (m) , "SFLphone"))) + _warn ("Audio: Error: while creating pulseaudio context"); + assert(context); + } + + // set context state callback before starting the mainloop pa_context_set_state_callback (context, context_state_callback, this); - pa_threaded_mainloop_wait (m); - // Run the main loop + _info("Audio: Connect the context to the server"); + if (pa_context_connect (context, NULL , flag , NULL) < 0) { + _warn("Audio: Error: Could not connect context to the server"); + } + + // Lock the loop before starting it + pa_threaded_mainloop_lock (m); + + if (pa_threaded_mainloop_start (m) < 0) + _warn("Audio: Error: Failed to start pulseaudio mainloop"); + pa_threaded_mainloop_wait(m); + + + // Run the main loop if (pa_context_get_state (context) != PA_CONTEXT_READY) { - _debug ("Error connecting to pulse audio server"); - // pa_threaded_mainloop_unlock (m); + _warn("Audio: Error: connecting to pulse audio server"); } pa_threaded_mainloop_unlock (m); - //serverinfo(); - //muteAudioApps(99); - _debug ("Context creation done"); + _info("Audio: Context creation done"); } void PulseLayer::context_state_callback (pa_context* c, void* user_data) { - _debug ("PulseLayer::context_state_callback ::The state of the context changed"); + _info("Audio: The state of the context changed"); PulseLayer* pulse = (PulseLayer*) user_data; assert (c && pulse->m); @@ -195,46 +411,121 @@ void PulseLayer::context_state_callback (pa_context* c, void* user_data) case PA_CONTEXT_AUTHORIZING: case PA_CONTEXT_SETTING_NAME: - _debug ("Waiting...."); + _debug ("Audio: Waiting...."); break; case PA_CONTEXT_READY: - pulse->createStreams (c); - _debug ("Connection to PulseAudio server established"); + _debug ("Audio: Connection to PulseAudio server established"); + pa_threaded_mainloop_signal(pulse->m, 0); + pa_context_subscribe (c, (pa_subscription_mask_t)(PA_SUBSCRIPTION_MASK_SINK| + PA_SUBSCRIPTION_MASK_SOURCE), NULL, pulse); + pa_context_set_subscribe_callback (c, context_changed_callback, pulse); + pulse->updateSinkList(); break; case PA_CONTEXT_TERMINATED: - _debug ("Context terminated"); + _debug ("Audio: Context terminated"); break; case PA_CONTEXT_FAILED: default: - _debug (" Error : %s" , pa_strerror (pa_context_errno (c))); + _warn("Audio: Error : %s" , pa_strerror (pa_context_errno (c))); pulse->disconnectAudioStream(); exit (0); break; } } -bool PulseLayer::disconnectAudioStream (void) +bool PulseLayer::openDevice (int indexIn UNUSED, int indexOut UNUSED, int indexRing UNUSED, int sampleRate, int frameSize , int stream UNUSED, std::string plugin UNUSED) { - _debug (" PulseLayer::disconnectAudioStream( void ) "); + _audioSampleRate = sampleRate; + _frameSize = frameSize; - closePlaybackStream(); + flushUrgent(); - closeCaptureStream(); + // use 1 sec buffer for resampling + _converter = new SamplerateConverter (_audioSampleRate, 1000); - if (!playback && !record) - return true; - else - return false; + // Instantiate the algorithm + AudioLayer::_echoCancel = new EchoCancel(_audioSampleRate, _frameSize); + AudioLayer::_echoCanceller = new AudioProcessing(static_cast<Algorithm *>(_echoCancel)); + + AudioLayer::_dcblocker = new DcBlocker(); + AudioLayer::_audiofilter = new AudioProcessing(static_cast<Algorithm *>(_dcblocker)); + + return true; +} + + +void PulseLayer::updateSinkList(void) { + + _debug("Audio: Update sink list"); + + getSinkList()->clear(); + + pa_context_get_sink_info_list(context, sink_input_info_callback, this); +} + +void PulseLayer::updateSourceList(void) { + _debug("Audio: Update source list"); + + getSourceList()->clear(); + + pa_context_get_source_info_list(context, source_input_info_callback, this); + +} + +bool PulseLayer::inSinkList(std::string deviceName) { + // _debug("Audio: in device list %s", deviceName.c_str()); + + DeviceList::iterator iter = _sinkList.begin(); + + // _debug("_deviceList.size() %d", _sinkList.size()); + + while(iter != _sinkList.end()) { + if (*iter == deviceName) { + // _debug("device name in list: %s", (*iter).c_str()); + return true; + } + + iter++; + } + + return false; +} + + +bool PulseLayer::inSourceList(std::string deviceName) { + + DeviceList::iterator iter = _sourceList.begin(); + + while(iter != _sourceList.end()) { + + if(*iter == deviceName) { + return true; + } + + iter++; + } + + return false; } bool PulseLayer::createStreams (pa_context* c) { - _debug ("PulseLayer::createStreams"); + _info("Audio: Create streams"); + + // _debug("Device list size %d", getDevicelist()->size()); + + std::string playbackDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); + std::string recordDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); + std::string ringtoneDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); + + _debug("Audio: Device stored in config for playback: %s", playbackDevice.c_str()); + _debug("Audio: Device stored in config for ringtone: %s", recordDevice.c_str()); + _debug("Audio: Device stored in config for record: %s", ringtoneDevice.c_str()); PulseLayerType * playbackParam = new PulseLayerType(); playbackParam->context = c; @@ -242,14 +533,20 @@ bool PulseLayer::createStreams (pa_context* c) playbackParam->description = PLAYBACK_STREAM_NAME; playbackParam->volume = _manager->getSpkrVolume(); playbackParam->mainloop = m; - - playback = new AudioStream (playbackParam); - playback->connectStream(); + + playback = new AudioStream(playbackParam, _audioSampleRate); + if(inSinkList(playbackDevice)) { + playback->connectStream(&playbackDevice); + } + else { + playback->connectStream(NULL); + } pa_stream_set_write_callback (playback->pulseStream(), playback_callback, this); pa_stream_set_overflow_callback (playback->pulseStream(), playback_overflow_callback, this); pa_stream_set_underflow_callback (playback->pulseStream(), playback_underflow_callback, this); // pa_stream_set_suspended_callback(playback->pulseStream(), stream_suspended_callback, this); - // pa_stream_set_moved_callback(playback->pulseStream(), stream_moved_callback, this); + pa_stream_set_moved_callback(playback->pulseStream(), stream_moved_callback, this); + pa_stream_set_latency_update_callback(playback->pulseStream(), latency_update_callback, this); delete playbackParam; PulseLayerType * recordParam = new PulseLayerType(); @@ -259,109 +556,123 @@ bool PulseLayer::createStreams (pa_context* c) recordParam->volume = _manager->getMicVolume(); recordParam->mainloop = m; - record = new AudioStream (recordParam); - record->connectStream(); + record = new AudioStream (recordParam, _audioSampleRate); + if(inSourceList(recordDevice)) { + record->connectStream(&recordDevice); + } + else { + record->connectStream(NULL); + } pa_stream_set_read_callback (record->pulseStream() , capture_callback, this); // pa_stream_set_suspended_callback(record->pulseStream(), stream_suspended_callback, this); - // pa_stream_set_moved_callback(record->pulseStream(), stream_moved_callback, this); + pa_stream_set_moved_callback(record->pulseStream(), stream_moved_callback, this); + pa_stream_set_latency_update_callback(record->pulseStream(), latency_update_callback, this); delete recordParam; + + PulseLayerType * ringtoneParam = new PulseLayerType(); + ringtoneParam->context = c; + ringtoneParam->type = RINGTONE_STREAM; + ringtoneParam->description = RINGTONE_STREAM_NAME; + ringtoneParam->volume = _manager->getSpkrVolume(); + ringtoneParam->mainloop = m; + + ringtone = new AudioStream (ringtoneParam, _audioSampleRate); + if(inSourceList(ringtoneDevice)) { + ringtone->connectStream(&ringtoneDevice); + } + else { + ringtone->connectStream(NULL); + } + pa_stream_set_write_callback(ringtone->pulseStream(), ringtone_callback, this); + pa_stream_set_moved_callback(ringtone->pulseStream(), stream_moved_callback, this); + delete ringtoneParam; pa_threaded_mainloop_signal (m , 0); flushMain(); flushUrgent(); - // _urgentRingBuffer.flushAll(); - return true; } -bool PulseLayer::openDevice (int indexIn UNUSED, int indexOut UNUSED, int sampleRate, int frameSize , int stream UNUSED, std::string plugin UNUSED) +bool PulseLayer::disconnectAudioStream (void) { - _audioSampleRate = sampleRate; - _frameSize = frameSize; - - // _urgentRingBuffer.flushAll(); - flushUrgent(); + _info("Audio: Disconnect audio stream"); - _converter = new SamplerateConverter (_audioSampleRate, _frameSize*4); + closePlaybackStream(); + closeCaptureStream(); - return true; + if (!playback && !record) + return true; + else + return false; } + void PulseLayer::closeCaptureStream (void) { if (record) { + std::string deviceName(pa_stream_get_device_name(record->pulseStream())); + _debug("record device to be stored in config: %s", deviceName.c_str()); + _manager->setConfig(AUDIO, PULSE_DEVICE_RECORD, deviceName); delete record; record=NULL; } } + void PulseLayer::closePlaybackStream (void) { if (playback) { - + std::string deviceName(pa_stream_get_device_name(playback->pulseStream())); + _debug("playback device to be stored in config: %s", deviceName.c_str()); + _manager->setConfig(AUDIO, PULSE_DEVICE_PLAYBACK, deviceName); delete playback; playback=NULL; } + + if(ringtone) { + std::string deviceName(pa_stream_get_device_name(ringtone->pulseStream())); + _debug("ringtone device to be stored in config: %s", deviceName.c_str()); + _manager->setConfig(AUDIO, PULSE_DEVICE_RINGTONE, deviceName); + delete ringtone; + ringtone = NULL; + } } + int PulseLayer::canGetMic() { if (record) - return 0; // _micRingBuffer.AvailForGet(); + return 0; else return 0; } + int PulseLayer::getMic (void *buffer, int toCopy) { if (record) { - return 0; // _micRingBuffer.Get (buffer, toCopy, 100); + return 0; } else return 0; } + void PulseLayer::startStream (void) { - // connectPulseAudioServer(); - - if (!is_started) { + if(_audiofilter) + _audiofilter->resetAlgorithm(); - _debug ("PulseLayer::Start Stream"); + if(_echoCanceller) + _echoCanceller->resetAlgorithm(); - if (!m) { + // Create Streams + if(!playback || !record) + createStreams(context); - _debug ("Creating PulseAudio MainLoop"); - m = pa_threaded_mainloop_new(); - assert (m); - - if (pa_threaded_mainloop_start (m) < 0) { - _debug ("Failed starting the mainloop"); - } - } - - if (!context) { - - _debug ("Creating new PulseAudio Context"); - pa_threaded_mainloop_lock (m); - // Instanciate a context - - if (! (context = pa_context_new (pa_threaded_mainloop_get_api (m) , "SFLphone"))) - _debug ("Error while creating the context"); - - pa_threaded_mainloop_unlock (m); - - assert (context); - } - - // Create Streams - connectPulseAudioServer(); - - is_started = true; - } // Flush outside the if statement: every time start stream is // called is to notify a new event @@ -371,71 +682,33 @@ void PulseLayer::startStream (void) } + void PulseLayer::stopStream (void) { - if (is_started) { - - _debug ("PulseLayer::Stop Audio Stream"); - pa_stream_flush (playback->pulseStream(), NULL, NULL); - pa_stream_flush (record->pulseStream(), NULL, NULL); - - if (m) { - pa_threaded_mainloop_stop (m); - } - - disconnectAudioStream(); - - _debug ("Disconnecting PulseAudio context"); - - if (context) { + _info("Audio: Stop audio stream"); - pa_threaded_mainloop_lock (m); - pa_context_disconnect (context); - pa_context_unref (context); - pa_threaded_mainloop_unlock (m); - context = NULL; - } - - _debug ("Freeing Pulseaudio mainloop"); + pa_threaded_mainloop_lock (m); - if (m) { - pa_threaded_mainloop_free (m); - m = NULL; - } + if(playback) + pa_stream_flush (playback->pulseStream(), NULL, NULL); + if(record) + pa_stream_flush (record->pulseStream(), NULL, NULL); - is_started = false; - - } + pa_threaded_mainloop_unlock (m); + disconnectAudioStream(); } -// void PulseLayer::underflow (pa_stream* s UNUSED, void* userdata UNUSED) -//{ -// _debug ("PulseLayer::Buffer Underflow"); -//} - -/* -void PulseLayer::overflow (pa_stream* s, void* userdata UNUSED) -{ - //PulseLayer* pulse = (PulseLayer*) userdata; - pa_stream_drop (s); - pa_stream_trigger (s, NULL, NULL); -} -*/ - - void PulseLayer::processPlaybackData (void) { // Handle the data for the speakers if (playback && (playback->pulseStream()) && (pa_stream_get_state (playback->pulseStream()) == PA_STREAM_READY)) { - // _debug("PulseLayer::processPlaybackData()"); - // If the playback buffer is full, we don't overflow it; wait for it to have free space if (pa_stream_writable_size (playback->pulseStream()) == 0) return; @@ -456,6 +729,19 @@ void PulseLayer::processCaptureData (void) } +void PulseLayer::processRingtoneData (void) +{ + // handle ringtone playback + if(ringtone && (ringtone)->pulseStream() && (pa_stream_get_state(ringtone->pulseStream()) == PA_STREAM_READY)) { + + // If the playback buffer is full, we don't overflow it; wait for it to have free space + if(pa_stream_writable_size(ringtone->pulseStream()) == 0) + return; + + ringtoneToSpeaker(); + } +} + void PulseLayer::processData (void) { @@ -463,8 +749,6 @@ void PulseLayer::processData (void) // Handle the data for the speakers if (playback && (playback->pulseStream()) && (pa_stream_get_state (playback->pulseStream()) == PA_STREAM_READY)) { - // _debug("PulseLayer::processPlaybackData()"); - // If the playback buffer is full, we don't overflow it; wait for it to have free space if (pa_stream_writable_size (playback->pulseStream()) == 0) return; @@ -479,6 +763,25 @@ void PulseLayer::processData (void) } +void PulseLayer::setEchoCancelState(bool state) +{ + // if a stream already running + if(AudioLayer::_echoCancel) + _echoCancel->setEchoCancelState(state); + + AudioLayer::_echocancelstate = state; +} + +void PulseLayer::setNoiseSuppressState(bool state) +{ + // if a stream already opened + if(AudioLayer::_echoCancel) + _echoCancel->setNoiseSuppressState(state); + + AudioLayer::_noisesuppressstate = state; + +} + void PulseLayer::writeToSpeaker (void) { @@ -494,24 +797,19 @@ void PulseLayer::writeToSpeaker (void) urgentAvailBytes = _urgentRingBuffer.AvailForGet(); + // available bytes to be written in pulseaudio internal buffer int writeableSize = pa_stream_writable_size (playback->pulseStream()); - // _debug("PulseLayer writablesize : %i", writeableSize); if (writeableSize < 0) - _debug ("PulseLayer playback error : %s", pa_strerror (writeableSize)); + _warn ("Audio: playback error : %s", pa_strerror (writeableSize)); if (urgentAvailBytes > writeableSize) { - // _debug("urgentAvailBytes: %i", urgentAvailBytes); - - // _debug("Play Urgent!"); - out = (SFLDataFormat*) pa_xmalloc (writeableSize); _urgentRingBuffer.Get (out, writeableSize, 100); - // pa_threaded_mainloop_lock (m); + pa_stream_write (playback->pulseStream(), out, writeableSize, NULL, 0, PA_SEEK_RELATIVE); - // pa_threaded_mainloop_unlock (m); pa_xfree (out); @@ -522,42 +820,20 @@ void PulseLayer::writeToSpeaker (void) } else { AudioLoop* tone = _manager->getTelephoneTone(); - AudioLoop* file_tone = _manager->getTelephoneFile(); // flush remaining samples in _urgentRingBuffer flushUrgent(); if (tone != 0) { - // _debug("PlayTone writeableSize: %i", writeableSize); - if (playback->getStreamState() == PA_STREAM_READY) { - // _debug("Play Sine Tone!"); - out = (SFLDataFormat*) pa_xmalloc (writeableSize); int copied = tone->getNext (out, writeableSize / sizeof (SFLDataFormat), 100); - // pa_threaded_mainloop_lock (m); - pa_stream_write (playback->pulseStream(), out, copied * sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE); - // pa_threaded_mainloop_unlock (m); - - pa_xfree (out); - - } - } - - else if (file_tone != 0) { - - if (playback->getStreamState() == PA_STREAM_READY) { - // _debug("Play File Tone!"); - - out = (SFLDataFormat*) pa_xmalloc (writeableSize); - int copied = file_tone->getNext (out, writeableSize / sizeof (SFLDataFormat), 100); - // pa_threaded_mainloop_lock (m); + pa_stream_write (playback->pulseStream(), out, copied * sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE); pa_xfree (out); - // pa_threaded_mainloop_unlock (m); } @@ -587,7 +863,6 @@ void PulseLayer::writeToSpeaker (void) normalAvailBytes = getMainBuffer()->availForGet(); byteToGet = (normalAvailBytes < (int) (maxNbBytesToGet)) ? normalAvailBytes : maxNbBytesToGet; - // _debug("byteToGet: %i", byteToGet); if (byteToGet) { @@ -600,6 +875,10 @@ void PulseLayer::writeToSpeaker (void) getMainBuffer()->getData (out, byteToGet, 100); + // TODO: Audio processing should be performed inside mainbuffer + // to avoid such problem + AudioLayer::_echoCancel->setSamplingRate(_mainBufferSampleRate); + // test if resampling is required if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { @@ -611,12 +890,10 @@ void PulseLayer::writeToSpeaker (void) int nbSample = _converter->upsampleData ( (SFLDataFormat*) out, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_down); if ( (nbSample*sizeof (SFLDataFormat)) > (unsigned int) writeableSize) - _debug ("Error: nbsbyte exceed buffer length"); + _warn("Audio: Error: nbsbyte exceed buffer length"); - // pa_threaded_mainloop_lock (m); pa_stream_write (playback->pulseStream(), rsmpl_out, nbSample*sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE); - // pa_threaded_mainloop_unlock (m); pa_xfree (rsmpl_out); } else { @@ -625,19 +902,20 @@ void PulseLayer::writeToSpeaker (void) } + // Copy far-end signal in echo canceller to adapt filter coefficient + AudioLayer::_echoCanceller->putData(out, byteToGet); + pa_xfree (out); } else { - if ( (tone == 0) && (file_tone == 0)) { + if (tone == 0) { SFLDataFormat* zeros = (SFLDataFormat*) pa_xmalloc (writeableSize); bzero (zeros, writeableSize); - // pa_threaded_mainloop_lock (m); pa_stream_write (playback->pulseStream(), zeros, writeableSize, NULL, 0, PA_SEEK_RELATIVE); - // pa_threaded_mainloop_unlock (m); pa_xfree (zeros); @@ -658,47 +936,63 @@ void PulseLayer::readFromMic (void) const char* data = NULL; size_t r; - // if (record->getStreamState() + SFLDataFormat echoCancelledMic[10000]; + memset(echoCancelledMic, 0, 10000*sizeof(SFLDataFormat)); int readableSize = pa_stream_readable_size (record->pulseStream()); - // _debug("readableSize: %i", readableSize); if (pa_stream_peek (record->pulseStream() , (const void**) &data , &r) < 0 || !data) { - _debug ("pa_stream_peek() failed: %s" , pa_strerror (pa_context_errno (context))); + _warn("Audio: Error capture stream peek failed: %s" , pa_strerror (pa_context_errno (context))); } - if (data != 0) { int _mainBufferSampleRate = getMainBuffer()->getInternalSamplingRate(); // test if resampling is required - if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { - - SFLDataFormat* rsmpl_out = (SFLDataFormat*) pa_xmalloc (readableSize); - // _debug("Byte read: %i", r); + int nbSample = r / sizeof (SFLDataFormat); int nb_sample_up = nbSample; + // captureFile->write ((const char *)data, nbSample*sizeof(SFLDataFormat)); - nbSample = _converter->downsampleData ( (SFLDataFormat*) data, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); + nbSample = _converter->downsampleData ( (SFLDataFormat *) data, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); + + // captureRsmplFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat)); // remove dc offset - dcblocker->filter_signal (rsmpl_out, nbSample); + _audiofilter->processAudio(rsmpl_out, nbSample*sizeof(SFLDataFormat)); + + // captureFilterFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat)); - getMainBuffer()->putData ( (void*) rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); + // echo cancellation processing + int sampleready = _echoCanceller->processAudio(rsmpl_out, echoCancelledMic, nbSample*sizeof(SFLDataFormat)); + + // getMainBuffer()->putData ( (void*) rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); + if(sampleready) + getMainBuffer()->putData ( echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); pa_xfree (rsmpl_out); } else { + SFLDataFormat* filter_out = (SFLDataFormat*) pa_xmalloc (r); + + // remove dc offset + _audiofilter->processAudio((SFLDataFormat *)data, filter_out, r); + + // echo cancellation processing + int sampleready = _echoCanceller->processAudio((SFLDataFormat *)filter_out, echoCancelledMic, r); + // no resampling required - getMainBuffer()->putData ( (void*) data, r, 100); + getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); + + pa_xfree(filter_out); } @@ -706,10 +1000,46 @@ void PulseLayer::readFromMic (void) } if (pa_stream_drop (record->pulseStream()) < 0) { - //_debug("pa_stream_drop() failed: %s" , pa_strerror( pa_context_errno( context) )); + _warn("Audio: Error: capture stream drop failed: %s" , pa_strerror( pa_context_errno( context) )); + } + +} + + +void PulseLayer::ringtoneToSpeaker(void) +{ + int availBytes; + + AudioLoop* file_tone = _manager->getTelephoneFile(); + + SFLDataFormat* out; + + int writableSize = pa_stream_writable_size(ringtone->pulseStream()); + + if (file_tone) { + + if(ringtone->getStreamState() == PA_STREAM_READY) { + + out = (SFLDataFormat *)pa_xmalloc(writableSize); + int copied = file_tone->getNext(out, writableSize/sizeof(SFLDataFormat), 100); + pa_stream_write(ringtone->pulseStream(), out, copied*sizeof(SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE); + + pa_xfree(out); + } + } + else { + + if(ringtone->getStreamState() == PA_STREAM_READY) { + + out = (SFLDataFormat*)pa_xmalloc(writableSize); + memset(out, 0, writableSize); + pa_stream_write(ringtone->pulseStream(), out, writableSize, NULL, 0, PA_SEEK_RELATIVE); + + pa_xfree(out); } + } + - // pa_threaded_mainloop_unlock (m); } static void retrieve_server_info (pa_context *c UNUSED, const pa_server_info *i, void *userdata UNUSED) diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.h b/sflphone-common/src/audio/pulseaudio/pulselayer.h index eb252408313c1873f47a1a688df800471ebe7942..d13c1e69385a45e1f5c31afabfcd8e2b1a7d2e1b 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.h +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.h @@ -1,6 +1,7 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _PULSE_LAYER_H @@ -30,24 +42,32 @@ #include <stdlib.h> -#define PLAYBACK_STREAM_NAME "SFLphone out" -#define CAPTURE_STREAM_NAME "SFLphone in" +#include <list> +#include <string> + +#define PLAYBACK_STREAM_NAME "SFLphone playback" +#define CAPTURE_STREAM_NAME "SFLphone capture" +#define RINGTONE_STREAM_NAME "SFLphone ringtone" class RingBuffer; class ManagerImpl; +typedef std::list<std::string> DeviceList; + class PulseLayer : public AudioLayer { public: PulseLayer(ManagerImpl* manager); ~PulseLayer(void); + void openLayer( void ); + bool closeLayer( void ); /** * Check if no devices are opened, otherwise close them. * Then open the specified devices by calling the private functions open_device - * @param indexIn The number of the card choosen for capture - * @param indexOut The number of the card choosen for playback + * @param indexIn The number of the card chosen for capture + * @param indexOut The number of the card chosen for playback * @param sampleRate The sample rate * @param frameSize The frame size * @param stream To indicate which kind of stream you want to open @@ -56,7 +76,19 @@ class PulseLayer : public AudioLayer { * SFL_PCM_BOTH * @param plugin The alsa plugin ( dmix , default , front , surround , ...) */ - bool openDevice(int indexIn, int indexOut, int sampleRate, int frameSize , int stream, std::string plugin) ; + bool openDevice(int indexIn, int indexOut, int indexRing, int sampleRate, int frameSize , int stream, std::string plugin) ; + + DeviceList* getSinkList(void) { return &_sinkList; } + + DeviceList* getSourceList(void) { return &_sourceList; } + + void updateSinkList(void); + + void updateSourceList(void); + + bool inSinkList(std::string deviceName); + + bool inSourceList(std::string deviceName); void startStream(void); @@ -126,6 +158,12 @@ class PulseLayer : public AudioLayer { */ AudioStream* getRecordStream(){ return record;} + /** + * Accessor + * @return AudioStream* The pointer on the ringtone AudioStream object + */ + AudioStream* getRingtoneStream(){ return ringtone;} + int getSpkrVolume( void ) { return spkrVolume; } void setSpkrVolume( int value ) { spkrVolume = value; } @@ -136,7 +174,33 @@ class PulseLayer : public AudioLayer { void processCaptureData( void ); + void processRingtoneData( void ); + void processData(void); + + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + bool getEchoCancelState(void) { return AudioLayer::_echocancelstate; } + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + void setEchoCancelState(bool state); + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + bool getNoiseSuppressState(void) { return AudioLayer::_noisesuppressstate; } + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + void setNoiseSuppressState(bool state); private: // Copy Constructor @@ -156,6 +220,7 @@ class PulseLayer : public AudioLayer { */ void readFromMic( void ); void writeToSpeaker( void ); + void ringtoneToSpeaker( void ); /** * Create the audio streams into the given context @@ -197,6 +262,11 @@ class PulseLayer : public AudioLayer { */ AudioStream* record; + /** + * A special stream object to handle specific playback stream for ringtone + */ + AudioStream* ringtone; + /** Sample rate converter object */ SamplerateConverter * _converter; @@ -205,7 +275,15 @@ class PulseLayer : public AudioLayer { int spkrVolume; int micVolume; - DcBlocker* dcblocker; + /* + ofstream *captureFile; + ofstream *captureRsmplFile; + ofstream *captureFilterFile; + */ + + DeviceList _sinkList; + + DeviceList _sourceList; // private: diff --git a/sflphone-common/src/audio/recordable.cpp b/sflphone-common/src/audio/recordable.cpp index 69e2d7d773caae411ceb74a3693ab690c8554c3e..8371bf7ec8b52a82763e3b4ea90a51944eafd48b 100644 --- a/sflphone-common/src/audio/recordable.cpp +++ b/sflphone-common/src/audio/recordable.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,12 +14,23 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "recordable.h" #include "manager.h" -Recordable::Recordable() +Recordable::Recordable() : recorder(&recAudio, Manager::instance().getMainBuffer()) { FILE_TYPE fileType = FILE_WAV; @@ -50,3 +61,5 @@ void Recordable::setRecordingSmplRate (int smplRate) recAudio.setSndSamplingRate (smplRate); } + + diff --git a/sflphone-common/src/audio/recordable.h b/sflphone-common/src/audio/recordable.h index c0e261327075a3754ca1f61e650b351c192a2b67..6b08db919674c1529653c343c367c08a3b0f2201 100644 --- a/sflphone-common/src/audio/recordable.h +++ b/sflphone-common/src/audio/recordable.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,12 +14,24 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef RECORDABLE_H #define RECORDABLE_H -#include "../plug-in/audiorecorder/audiorecord.h" +#include "audiorecord.h" +#include "audiorecorder.h" class Recordable { @@ -29,14 +41,30 @@ class Recordable { ~Recordable(); + /** + * Return recording state (true/false) + */ bool isRecording(){ return recAudio.isRecording(); } - bool setRecording(){ return recAudio.setRecording(); } + /** + * This method must be implemented for this interface as calls and conferences + * have different behavior. + */ + virtual bool setRecording() = 0; + /** + * Stop recording + */ void stopRecording(){ recAudio.stopRecording(); } + /** + * Init the recording file name according to path specified in configuration + */ void initRecFileName(); + /** + * Set recording sampling rate. + */ void setRecordingSmplRate(int smplRate); virtual std::string getRecFileId() = 0; @@ -50,13 +78,7 @@ class Recordable { */ AudioRecord recAudio; - - private: - - /** File name for his call : time YY-MM-DD */ - // std::string _filename; - - + AudioRecorder recorder; }; diff --git a/sflphone-common/src/audio/ringbuffer.cpp b/sflphone-common/src/audio/ringbuffer.cpp index 905377a4f12dc32f679156e88c73e84bd8ab4cfe..c38b4c2212018afe37a8b2aa54fac577a2de4e88 100644 --- a/sflphone-common/src/audio/ringbuffer.cpp +++ b/sflphone-common/src/audio/ringbuffer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2006, 2009Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <assert.h> @@ -97,6 +108,8 @@ RingBuffer::getLen (CallID call_id) int mStart = getReadPointer (call_id); int length = (mEnd + mBufferSize - mStart) % mBufferSize; + + // _debug(" *RingBuffer::getLen: buffer_id %s, call_id %s, mStart %i, mEnd %i, length %i, buffersie %i", buffer_id.c_str(), call_id.c_str(), mStart, mEnd, length, mBufferSize); return length; @@ -209,7 +222,7 @@ RingBuffer::AvailForPut() { // Always keep 4 bytes safe (?) - return (mBufferSize-4) - putLen(); + return mBufferSize - putLen(); } // This one puts some data inside the ring buffer. @@ -225,8 +238,8 @@ RingBuffer::Put (void* buffer, int toCopy, unsigned short volume) int len = putLen(); - if (toCopy > (mBufferSize-4) - len) - toCopy = (mBufferSize-4) - len; + if (toCopy > mBufferSize - len) + toCopy = mBufferSize - len; src = (samplePtr) buffer; @@ -239,7 +252,6 @@ RingBuffer::Put (void* buffer, int toCopy, unsigned short volume) block = toCopy; // Wrap block around ring ? - if (block > (mBufferSize - pos)) { // Fill in to the end of the buffer block = mBufferSize - pos; @@ -283,7 +295,7 @@ RingBuffer::AvailForGet (CallID call_id) { // Used space - return getLen (call_id); + return getLen(call_id); } // Get will move 'toCopy' bytes from the internal FIFO to 'buffer' @@ -303,7 +315,6 @@ RingBuffer::Get (void *buffer, int toCopy, unsigned short volume, CallID call_id int copied; - int len = getLen (call_id); diff --git a/sflphone-common/src/audio/ringbuffer.h b/sflphone-common/src/audio/ringbuffer.h index 96871f825db937f91a9cb1a3c6e1ed44f9d4a8cf..6d5ad7d29e12a7d73a45cc0aaf0f54be486c8475 100644 --- a/sflphone-common/src/audio/ringbuffer.h +++ b/sflphone-common/src/audio/ringbuffer.h @@ -1,21 +1,19 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2007 Savoir-Faire Linux inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> - * - * Portions Copyright (C) Dominic Mazzoni (Audacity) - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -41,7 +39,7 @@ class RingBuffer { * Constructor * @param size Size of the buffer to create */ - RingBuffer(int size, CallID call_id); + RingBuffer(int size, CallID call_id = default_id); /** * Destructor @@ -51,24 +49,45 @@ class RingBuffer { CallID getBufferId(){ return buffer_id; } /** - * Reset the counters to 0 + * Reset the counters to 0 for this read pointer */ void flush (CallID call_id = default_id); void flushAll(); + /** + * Get read pointer coresponding to this call + */ int getReadPointer(CallID call_id = default_id); + /** + * Get the whole readpointer list for this ringbuffer + */ ReadPointer* getReadPointerList() { return &_readpointer; } + /** + * Return the smalest readpointer. Usefull to evaluate if ringbuffer is full + */ int getSmallestReadPointer(); + /** + * Move readpointer forward by pointer_value + */ void storeReadPointer(int pointer_value, CallID call_id = default_id); + /** + * Add a new readpointer for this ringbuffer + */ void createReadPointer(CallID call_id = default_id); + /** + * Remove a readpointer for this ringbuffer + */ void removeReadPointer(CallID call_id = default_id); + /** + * Test if readpointer coresponding to this call is still active + */ bool hasThisReadPointer(CallID call_id); int getNbReadPointer(); diff --git a/sflphone-common/src/audio/samplerateconverter.cpp b/sflphone-common/src/audio/samplerateconverter.cpp index 8d115a25560149e1a0b73c54f91d7fea26ace8a3..320d70b5cd1396dc331267993d66230de828e45f 100644 --- a/sflphone-common/src/audio/samplerateconverter.cpp +++ b/sflphone-common/src/audio/samplerateconverter.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,13 +14,24 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "samplerateconverter.h" #include "manager.h" SamplerateConverter::SamplerateConverter (void) - : _frequence (Manager::instance().getConfigInt (AUDIO , ALSA_SAMPLE_RATE)) //44100 + : _frequence (Manager::instance().getConfigInt (AUDIO , AUDIO_SAMPLE_RATE)) //44100 , _framesize (Manager::instance().getConfigInt (AUDIO , ALSA_FRAME_SIZE)) , _floatBufferDownMic (NULL) , _floatBufferUpMic (NULL) @@ -77,8 +88,7 @@ void SamplerateConverter::init (void) _src_state_spkr = src_new (SRC_LINEAR, 1, &_src_err); int nbSamplesMax = (int) (getFrequence() * getFramesize() / 1000); - // TODO: fix this hack that make sure we have enought place in buffers to upsample - nbSamplesMax = nbSamplesMax*4; + _floatBufferDownMic = new float32[nbSamplesMax]; _floatBufferUpMic = new float32[nbSamplesMax]; _floatBufferDownSpkr = new float32[nbSamplesMax]; @@ -104,9 +114,8 @@ int SamplerateConverter::upsampleData (SFLDataFormat* dataIn , SFLDataFormat* da { double upsampleFactor = (double) samplerate2 / samplerate1 ; - //_debug("factor = %f" , upsampleFactor); + int nbSamplesMax = (int) (samplerate2 * getFramesize() / 1000); - nbSamplesMax = nbSamplesMax*4; if (upsampleFactor != 1 && dataIn != NULL) { SRC_DATA src_data; @@ -136,10 +145,8 @@ int SamplerateConverter::downsampleData (SFLDataFormat* dataIn , SFLDataFormat* { double downsampleFactor = (double) samplerate1 / samplerate2; - //_debug("factor = %f" , downsampleFactor); - int nbSamplesMax = (int) (samplerate1 * getFramesize() / 1000); - nbSamplesMax = nbSamplesMax*4; + int nbSamplesMax = (int) (samplerate1 * getFramesize() / 1000); if (downsampleFactor != 1) { SRC_DATA src_data; diff --git a/sflphone-common/src/audio/samplerateconverter.h b/sflphone-common/src/audio/samplerateconverter.h index b018fd862acccc79c9e1e4b6dda49405950df743..3a20105fae5f5303bc940ae19a5c1e8dbb72a8e0 100644 --- a/sflphone-common/src/audio/samplerateconverter.h +++ b/sflphone-common/src/audio/samplerateconverter.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _SAMPLE_RATE_H diff --git a/sflphone-common/src/audio/sound/Makefile.am b/sflphone-common/src/audio/sound/Makefile.am index 37d7ddc61eb82225f25c86da9c270da8da0dc208..10e9960b7a14c29d2c66d7fb1447f2e18e2bdc1f 100644 --- a/sflphone-common/src/audio/sound/Makefile.am +++ b/sflphone-common/src/audio/sound/Makefile.am @@ -5,14 +5,12 @@ noinst_LTLIBRARIES = libsound.la libsound_la_SOURCES = \ audiofile.cpp \ tone.cpp \ - tonegenerator.cpp \ tonelist.cpp \ dtmf.cpp \ dtmfgenerator.cpp noinst_HEADERS = \ audiofile.h \ - tonegenerator.h \ tone.h \ tonelist.h \ dtmfgenerator.h \ diff --git a/sflphone-common/src/audio/sound/audiofile.cpp b/sflphone-common/src/audio/sound/audiofile.cpp index f11b43cbe634026c17109769bd71f6fff15ad5f9..97c0d49c88202db677bf2c93baff03407f5465f3 100644 --- a/sflphone-common/src/audio/sound/audiofile.cpp +++ b/sflphone-common/src/audio/sound/audiofile.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "audiofile.h" #include "audio/codecs/codecDescriptor.h" diff --git a/sflphone-common/src/audio/sound/audiofile.h b/sflphone-common/src/audio/sound/audiofile.h index 44357210116c3b40875cf7f1d2bac59e0a652b3c..3b788341e670deaf70874ea5a7a14af28023167a 100644 --- a/sflphone-common/src/audio/sound/audiofile.h +++ b/sflphone-common/src/audio/sound/audiofile.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __AUDIOFILE_H__ #define __AUDIOFILE_H__ diff --git a/sflphone-common/src/audio/sound/dtmf.cpp b/sflphone-common/src/audio/sound/dtmf.cpp index 22fc94b952947b9fafada8642cc341504500bc5f..c833fbc9711dd68c66a841d0362beb6fe011571d 100644 --- a/sflphone-common/src/audio/sound/dtmf.cpp +++ b/sflphone-common/src/audio/sound/dtmf.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Yan Morin <yan.morin@savoirfairelinux.com> * Author : Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "dtmf.h" diff --git a/sflphone-common/src/audio/sound/dtmf.h b/sflphone-common/src/audio/sound/dtmf.h index 9f375b2e27209b7e2b66997e90125c5d72dd563c..155eca3a412d02457810ebf050a80644468378dd 100644 --- a/sflphone-common/src/audio/sound/dtmf.h +++ b/sflphone-common/src/audio/sound/dtmf.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __DTMF_H_ diff --git a/sflphone-common/src/audio/sound/dtmfgenerator.cpp b/sflphone-common/src/audio/sound/dtmfgenerator.cpp index a88c7000a04ef4af48c41f455588648966210502..f149d6b445e5f034ba293eb90e179caa1d0e00e4 100644 --- a/sflphone-common/src/audio/sound/dtmfgenerator.cpp +++ b/sflphone-common/src/audio/sound/dtmfgenerator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -20,6 +20,17 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. * + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <math.h> diff --git a/sflphone-common/src/audio/sound/dtmfgenerator.h b/sflphone-common/src/audio/sound/dtmfgenerator.h index a4bed7498389af90048c89732ad78155f06aa9f7..5fa095f0fc0edff600a5171f8300e4624575cd3e 100644 --- a/sflphone-common/src/audio/sound/dtmfgenerator.h +++ b/sflphone-common/src/audio/sound/dtmfgenerator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -20,6 +20,17 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. * + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef DTMFGENERATOR_H diff --git a/sflphone-common/src/audio/sound/tone.cpp b/sflphone-common/src/audio/sound/tone.cpp index d8849cbf3235ffe1db8b1c0b9daa64f41238b55e..aaff9fa4f411278d18fb42144585b4132df63d0e 100644 --- a/sflphone-common/src/audio/sound/tone.cpp +++ b/sflphone-common/src/audio/sound/tone.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ /* * YM: 2006-11-15: changes unsigned int to std::string::size_type, thanks to Pierre Pomes (AMD64 compilation) @@ -28,8 +39,12 @@ #include <cstdlib> #include <strings.h> -Tone::Tone (const std::string& definition, unsigned int sampleRate) : AudioLoop(), _sampleRate (sampleRate) +#define TABLE_LENGTH 4096 +double TWOPI = 2 * M_PI; + +Tone::Tone (const std::string& definition, unsigned int sampleRate) : AudioLoop(), _sampleRate (sampleRate), _xhigher(0.0), _xlower(0.0) { + fillWavetable(); genBuffer (definition); // allocate memory with definition parameter } @@ -101,6 +116,7 @@ Tone::genBuffer (const std::string& definition) } // Generate SAMPLING_RATE samples of sinus, buffer is the result + _debug("genSin(%d, %d)", freq1, freq2); genSin (bufferPos, freq1, freq2, count); // To concatenate the different buffers for each section. @@ -124,20 +140,70 @@ Tone::genBuffer (const std::string& definition) bufferPos=0; } +void +Tone::fillWavetable() +{ + double tableSize = (double)TABLE_LENGTH; + + for(int i = 0; i < TABLE_LENGTH; i++) { + _wavetable[i] = sin( ((double)i / (tableSize - 1.0)) * TWOPI ); + } +} + +double +Tone::interpolate(double x) +{ + int xi_0, xi_1; + double yi_0, yi_1, A, B; + + xi_0 = (int)x; + xi_1 = xi_0+1; + + yi_0 =_wavetable[xi_0]; + yi_1 = _wavetable[xi_1]; + + A = (x - xi_0); + B = 1.0 - A; + + return A*yi_0 + B*yi_1; +} + void Tone::genSin (SFLDataFormat* buffer, int frequency1, int frequency2, int nb) { + _xhigher = 0.0; + _xlower = 0.0; - double pi2 = 6.28318520; - double var1 = pi2 * (double) frequency1 / (double) _sampleRate; - double var2 = pi2 * (double) frequency2 / (double) _sampleRate; + double sr = (double)_sampleRate; + double tableSize = (double)TABLE_LENGTH; - // softer - double amp = (double) SFLDataAmplitude; + double N_h = sr / (double) (frequency1); + double N_l = sr / (double) (frequency2); - for (int t = 0; t < nb; t++) { - buffer[t] = (SFLDataFormat) (amp * ( (sin (var1 * t) + sin (var2 * t)))); - } + double dx_h = tableSize / N_h; + double dx_l = tableSize / N_l; + + double x_h = _xhigher; + double x_l = _xlower; + + double amp = (double)SFLDataAmplitude; + + for (int t = 0; t < nb; t ++) { + buffer[t] = (int16)(amp*(interpolate(x_h) + interpolate(x_l))); + x_h += dx_h; + x_l += dx_l; + + if(x_h > tableSize) { + x_h -= tableSize; + } + + if(x_l > tableSize) { + x_l -= tableSize; + } + } + + _xhigher = x_h; + _xlower = x_l; } diff --git a/sflphone-common/src/audio/sound/tone.h b/sflphone-common/src/audio/sound/tone.h index a725059dcf20a6d5ca509ffa8d0bc07c4187de28..cc813603c7df5f8eba10a2203137e6d86bc40e4e 100644 --- a/sflphone-common/src/audio/sound/tone.h +++ b/sflphone-common/src/audio/sound/tone.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __TONE_H__ #define __TONE_H__ @@ -28,6 +39,8 @@ #define TONE_NBTONE 4 #define TONE_NBCOUNTRY 7 +#define TABLE_LENGTH 4096 + /** * @file tone.h * @brief Tone sample (dial, busy, ring, congestion) @@ -65,6 +78,17 @@ public: */ void genSin(SFLDataFormat* buffer, int frequency1, int frequency2, int nb); + /** + * + */ + void fillWavetable(void); + + /** + * + */ + double interpolate(double x); + + private: /** @@ -75,6 +99,11 @@ private: /** Sample rate */ unsigned int _sampleRate; + + double _wavetable[TABLE_LENGTH]; + + double _xhigher; + double _xlower; }; #endif // __TONE_H__ diff --git a/sflphone-common/src/audio/sound/tonegenerator.cpp b/sflphone-common/src/audio/sound/tonegenerator.cpp deleted file mode 100644 index dcdbb6be078724e8792321fb8cebfb829476c016..0000000000000000000000000000000000000000 --- a/sflphone-common/src/audio/sound/tonegenerator.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. - * Author: Yan Morin <yan.morin@savoirfairelinux.com> - * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <fstream> -#include <math.h> -#include <stdlib.h> - -#include "tonegenerator.h" -#include "global.h" - -int AMPLITUDE = 32767; - -/////////////////////////////////////////////////////////////////////////////// -// ToneGenerator implementation -/////////////////////////////////////////////////////////////////////////////// - -ToneGenerator::ToneGenerator (unsigned int sampleRate) : sample (NULL), freq1(), freq2(), time(), totalbytes(), _sampleRate (sampleRate) -{ -} - -ToneGenerator::~ToneGenerator (void) -{ -} - -/** - * Calculate superposition of 2 sinus - * - */ -void -ToneGenerator::generateSin (int lowerfreq, int higherfreq, int16* ptr, int len) const -{ - double var1, var2; - - var1 = (double) 2 * (double) M_PI * (double) higherfreq / (double) _sampleRate; - var2 = (double) 2 * (double) M_PI * (double) lowerfreq / (double) _sampleRate; - - double amp = (double) (AMPLITUDE >> 2); - - for (int t = 0; t < len; t++) { - ptr[t] = (int16) (amp * ( (sin (var1 * t) + sin (var2 * t)))); - } -} - diff --git a/sflphone-common/src/audio/sound/tonegenerator.h b/sflphone-common/src/audio/sound/tonegenerator.h deleted file mode 100644 index ce1ad56e618ebce339448607027f7b694e686ba1..0000000000000000000000000000000000000000 --- a/sflphone-common/src/audio/sound/tonegenerator.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2004-2006 Savoir-Faire Linux inc. - * Author: Yan Morin <yan.morin@savoirfairelinux.com> - * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef __TONE_GENERATOR_H__ -#define __TONE_GENERATOR_H__ - -#include <string> -#include <cc++/thread.h> - -#include "global.h" - -/** - * @file tonegenerator.h - * @brief Sine generator to create tone with string definition - */ - -class ToneGenerator { - public: - /** - * Constructor - * @param sampleRate The sample rate of the generated samples - */ - ToneGenerator (unsigned int sampleRate); - - /** - * Destructor - */ - ~ToneGenerator (void); - - /** - * Calculate sinus with superposition of 2 frequencies - * @param lowerfreq Lower frequency - * @param higherfreq Higher frequency - * @param ptr For result buffer - * @param len The length of the data to be generated - */ - void generateSin (int, int, int16 *, int len) const; - - - /////////////////////////// - // Public members variable - ////////////////////////// - int16 *sample; - int freq1, freq2; - int time; - int totalbytes; - - private: - // Copy Constructor - ToneGenerator(const ToneGenerator& rh); - - // Assignment Operator - ToneGenerator& operator=( const ToneGenerator& rh); - - /* - * Initialisation of the supported tones according to the countries. - */ - void initTone (void); - - int16 _buf[SIZEBUF]; - int _sampleRate; -}; - -#endif // __TONE_GENRATOR_H__ diff --git a/sflphone-common/src/audio/sound/tonelist.cpp b/sflphone-common/src/audio/sound/tonelist.cpp index d28d3a5520006975b78043ad6a6d57ba30b9a331..0bac7f0113dffb925793c1ed36ddb5b42f562cef 100644 --- a/sflphone-common/src/audio/sound/tonelist.cpp +++ b/sflphone-common/src/audio/sound/tonelist.cpp @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "tonelist.h" diff --git a/sflphone-common/src/audio/sound/tonelist.h b/sflphone-common/src/audio/sound/tonelist.h index 849af15477a3d18e0d8f906bb324769fe7e32d4f..41c9e5f48c38c26995b701f3f84d2642e3d6dfbc 100644 --- a/sflphone-common/src/audio/sound/tonelist.h +++ b/sflphone-common/src/audio/sound/tonelist.h @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * Inspired by tonegenerator of @@ -18,7 +18,19 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ + #ifndef __TONELIST_H__ #define __TONELIST_H__ diff --git a/sflphone-common/src/audio/speexechocancel.cpp b/sflphone-common/src/audio/speexechocancel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fa5f1045ddfd0566d8ed36e018a9fcbf58f9df28 --- /dev/null +++ b/sflphone-common/src/audio/speexechocancel.cpp @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include "speexechocancel.h" + +#include <fstream> + +// number of samples (20 ms) +#define FRAME_SIZE 160 +// number of sample to process, (800 à 4000 samples, 100 to 500 ms) +#define FILTER_LENGTH 800 + + +SpeexEchoCancel::SpeexEchoCancel() +{ + _debug("EchoCancel: Instantiate echo canceller"); + + int samplingRate = 8000; + + _echoState = speex_echo_state_init(FRAME_SIZE, FILTER_LENGTH); + _preState = speex_preprocess_state_init(FRAME_SIZE, samplingRate); + + speex_echo_ctl(_echoState, SPEEX_ECHO_SET_SAMPLING_RATE, &samplingRate); + speex_preprocess_ctl(_preState, SPEEX_PREPROCESS_SET_ECHO_STATE, _echoState); + + micFile = new ofstream("micData", ofstream::binary); + echoFile = new ofstream("echoData", ofstream::binary); + spkrFile = new ofstream("spkrData", ofstream::binary); + + _micData = new RingBuffer(10000); + _spkrData = new RingBuffer(10000); + + _micData->createReadPointer(); + _spkrData->createReadPointer(); + + _spkrStoped = true; +} + +SpeexEchoCancel::~SpeexEchoCancel() +{ + _debug("EchoCancel: Delete echo canceller"); + + speex_echo_state_destroy(_echoState); + _echoState = NULL; + + speex_preprocess_state_destroy(_preState); + _preState = NULL; + + delete _micData; + _micData = NULL; + + delete _spkrData; + _spkrData = NULL; + + micFile->close(); + spkrFile->close(); + echoFile->close(); + + delete micFile; + delete spkrFile; + delete echoFile; +} + +void SpeexEchoCancel::reset() +{ + +} + +void SpeexEchoCancel::putData(SFLDataFormat *inputData, int nbBytes) +{ + // std::cout << "putData nbBytes: " << nbBytes << std::endl; + + if(_spkrStoped) { + _micData->flushAll(); + _spkrData->flushAll(); + _spkrStoped = false; + } + + // Put data in speaker ring buffer + _spkrData->Put(inputData, nbBytes); + + // In case we use libspeex internal buffer + // (require capture and playback stream to be synchronized) + // speex_echo_playback(_echoState, inputData); +} + +void SpeexEchoCancel::process(SFLDataFormat *data, int nbBytes) {} + +int SpeexEchoCancel::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + + if(_spkrStoped) { + return 0; + } + + int byteSize = FRAME_SIZE*2; + + // init temporary buffers + memset(_tmpSpkr, 0, 5000); + memset(_tmpMic, 0, 5000); + memset(_tmpOut, 0, 5000); + + // Put mic data in ringbuffer + _micData->Put(inputData, nbBytes); + + // Store data for synchronization + int spkrAvail = _spkrData->AvailForGet(); + int micAvail = _micData->AvailForGet(); + + // Init number of frame processed + int nbFrame = 0; + + // Get data from mic and speaker + while((spkrAvail > byteSize) && (micAvail > byteSize)) { + + // get synchronized data + _spkrData->Get(_tmpSpkr, byteSize); + _micData->Get(_tmpMic, byteSize); + + speex_preprocess_run(_preState, _tmpMic); + + micFile->write ((const char *)_tmpMic, byteSize); + spkrFile->write ((const char *)_tmpSpkr, byteSize); + + // Processed echo cancellation + speex_echo_cancellation(_echoState, _tmpMic, _tmpSpkr, _tmpOut); + + // speex_preprocess_run(_preState, _tmpOut); + + bcopy(_tmpOut, outputData+(nbFrame*FRAME_SIZE), byteSize); + + echoFile->write ((const char *)_tmpOut, byteSize); + + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + + // increment nb of frame processed + ++nbFrame; + } + + return nbFrame * FRAME_SIZE; +} + +void SpeexEchoCancel::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes){ + + + // speex_echo_cancellation(_echoState, micData, spkrData, outputData); + +} diff --git a/sflphone-common/src/audio/speexechocancel.h b/sflphone-common/src/audio/speexechocancel.h new file mode 100644 index 0000000000000000000000000000000000000000..45628e14af81c7eecf9fb8b66f92bbf03f897060 --- /dev/null +++ b/sflphone-common/src/audio/speexechocancel.h @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef SPEEXECHOCANCEL_H +#define SPEEXECHOCANCEL_H + +#include "audioprocessing.h" +#include <speex/speex_echo.h> +#include "speex/speex_preprocess.h" + +#include "ringbuffer.h" + +class SpeexEchoCancel : public Algorithm { + + public: + + SpeexEchoCancel(); + + ~SpeexEchoCancel(); + + virtual void reset(void); + + /** + * Add speaker data into internal buffer + * \param inputData containing far-end voice data to be sent to speakers + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Unused + */ + virtual void process(SFLDataFormat *data, int nbBytes); + + /** + * Perform echo cancellation using internal buffers + * \param inputData containing mixed echo and voice data + * \param outputData containing + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Perform echo cancellation, application must provide its own buffer + * \param micData containing mixed echo and voice data + * \param spkrData containing far-end voice data to be sent to speakers + * \param outputData containing the processed data + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + private: + + SpeexEchoState *_echoState; + + SpeexPreprocessState *_preState; + + RingBuffer *_micData; + RingBuffer *_spkrData; + + bool _spkrStoped; + + SFLDataFormat _tmpSpkr[5000]; + SFLDataFormat _tmpMic[5000]; + SFLDataFormat _tmpOut[5000]; + + ofstream *micFile; + ofstream *spkrFile; + ofstream *echoFile; +}; + +#endif diff --git a/sflphone-common/src/call.cpp b/sflphone-common/src/call.cpp index 95f69605224ced9ccf54e88389adaec43f70e7b0..c640ad77b80d9e49f999cf2d142a21e8aadb9433 100644 --- a/sflphone-common/src/call.cpp +++ b/sflphone-common/src/call.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author : Laurielle Lea <laurielle.lea@savoirfairelinux.com> * @@ -16,9 +16,21 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "call.h" #include "manager.h" +#include "audio/mainbuffer.h" Call::Call (const CallID& id, Call::CallType type) : _callMutex() @@ -173,3 +185,38 @@ Call::isAudioStarted() return _audioStarted; } + +bool +Call::setRecording() +{ + bool recordStatus = Recordable::recAudio.isRecording(); + + Recordable::recAudio.setRecording(); + + // Start recording + if(!recordStatus) { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + CallID process_id = Recordable::recorder.getRecorderID(); + + mbuffer->bindHalfDuplexOut(process_id, _id); + mbuffer->bindHalfDuplexOut(process_id); + + } + // Stop recording + else { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + CallID process_id = Recordable::recorder.getRecorderID(); + + mbuffer->unBindHalfDuplexOut(process_id, _id); + mbuffer->unBindHalfDuplexOut(process_id); + + } + + Manager::instance().getMainBuffer()->stateInfo(); + + Recordable::recorder.start(); + + return recordStatus; +} diff --git a/sflphone-common/src/call.h b/sflphone-common/src/call.h index 5d89931af7ba4e8be18c45c03e64b8c70cce4ce9..713f23e5609637c9c292c84e7a6d7c453dea1da7 100644 --- a/sflphone-common/src/call.h +++ b/sflphone-common/src/call.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author : Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef CALL_H #define CALL_H @@ -24,7 +35,6 @@ #include <cc++/thread.h> // for mutex #include <sstream> -// #include "plug-in/audiorecorder/audiorecord.h" #include "audio/recordable.h" #define SIP_SCHEME "sip:" @@ -224,9 +234,11 @@ class Call: public Recordable{ */ unsigned int getLocalAudioPort(); - std::string getRecFileId(){ return getPeerName(); } + std::string getRecFileId(void){ return getPeerName(); } + + std::string getFileName(void) { return _filename; } - std::string getFileName() { return _filename; } + virtual bool setRecording(void); protected: /** Protect every attribute that can be changed by two threads */ diff --git a/sflphone-common/src/conference.cpp b/sflphone-common/src/conference.cpp index b2e6c51c750b7d7cdd947763b0e0a29bf4ca721e..20219fc5921f19a641dc3a6829dd57245eec68fb 100644 --- a/sflphone-common/src/conference.cpp +++ b/sflphone-common/src/conference.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <sstream> @@ -23,6 +34,7 @@ #include "conference.h" #include "manager.h" #include "audio/audiolayer.h" +#include "audio/mainbuffer.h" int Conference::count = 0; @@ -146,3 +158,52 @@ ParticipantSet Conference::getParticipantList() return _participants; } + + +bool Conference::setRecording() { + + bool recordStatus = Recordable::recAudio.isRecording(); + + Recordable::recAudio.setRecording(); + + // start recording + if(!recordStatus){ + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + + ParticipantSet::iterator iter = _participants.begin(); + + CallID process_id = Recordable::recorder.getRecorderID(); + + while(iter != _participants.end()) { + mbuffer->bindHalfDuplexOut(process_id, *iter); + iter++; + } + + mbuffer->bindHalfDuplexOut(process_id); + + } + // stop recording + else { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + + ParticipantSet::iterator iter = _participants.begin(); + + CallID process_id = Recordable::recorder.getRecorderID(); + + while(iter != _participants.end()) { + mbuffer->unBindHalfDuplexOut(process_id, *iter); + iter++; + } + + mbuffer->unBindHalfDuplexOut(process_id); + + } + + + Recordable::recorder.start(); + + return recordStatus; + +} diff --git a/sflphone-common/src/conference.h b/sflphone-common/src/conference.h index 733b338add7edac43c790bb7a88107a73bf5c5ca..77952531d1a7b979e6bcfb9c1d7e1a99c59d21b2 100644 --- a/sflphone-common/src/conference.h +++ b/sflphone-common/src/conference.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef CONFERENCE_H #define CONFERENCE_H @@ -64,6 +75,8 @@ class Conference: public Recordable{ std::string getRecFileId(){ return getConfID(); } + virtual bool setRecording(); + private: /** Unique ID of the conference */ diff --git a/sflphone-common/src/config/config.cpp b/sflphone-common/src/config/config.cpp index e1565119515e2f34d8c92664b4ed204439186295..83bba767b1e7ff66891c2836485f68ddc7f8f966 100644 --- a/sflphone-common/src/config/config.cpp +++ b/sflphone-common/src/config/config.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "config.h" @@ -199,12 +210,14 @@ ConfigTree::getConfigTreeItem (const std::string& section, const std::string& it SectionMap::iterator iter = _sections.find (section); if (iter == _sections.end()) { + // _error("ConfigTree: Error: Did not found section %s in config tree", section.c_str()); return NULL; } ItemMap::iterator iterItem = iter->second->find (itemName); if (iterItem == iter->second->end()) { + // _error("ConfigTree: Error: Did not found item %s in config tree", itemName.c_str()); return NULL; } @@ -267,6 +280,7 @@ ConfigTree::saveConfigTree (const std::string& fileName) file.open (fileName.data(), std::fstream::out); if (!file.is_open()) { + _error("ConfigTree: Error: Could not open %s configuration file", fileName.c_str()); return false; } @@ -290,7 +304,7 @@ ConfigTree::saveConfigTree (const std::string& fileName) file.close(); if (chmod (fileName.c_str(), S_IRUSR | S_IWUSR)) { - _debug ("Failed to set permission on configuration file because: %s",strerror (errno)); + _error("ConfigTree: Error: Failed to set permission on configuration: %s",strerror (errno)); } return true; @@ -364,6 +378,15 @@ ConfigTree::populateFromFile (const std::string& fileName) if (key.length() > 0 && val.length() > 0) { setConfigTreeItem (section, key, val); } + /* + if (key.length() > 0) { + + if(val.length() > 0) + setConfigTreeItem (section, key, val); + else + setConfigTreeItem (section, key, ""); + } + */ } } } diff --git a/sflphone-common/src/config/config.h b/sflphone-common/src/config/config.h index d265dbb5859e403689192550694e2d4768b33435..c304045f60d37ec5378eede250e68d59eb866dae 100644 --- a/sflphone-common/src/config/config.h +++ b/sflphone-common/src/config/config.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __CONFIG_CONFIG_H_ diff --git a/sflphone-common/src/dbus/callmanager-introspec.xml b/sflphone-common/src/dbus/callmanager-introspec.xml index 34f4eab3ec6cf7f05cd51faf845a0c64313654dd..e2bd4c61f30df9bee868542a84d043a4b1e10a09 100644 --- a/sflphone-common/src/dbus/callmanager-introspec.xml +++ b/sflphone-common/src/dbus/callmanager-introspec.xml @@ -1,501 +1,746 @@ <?xml version="1.0" encoding="UTF-8" ?> -<node name="/org/sflphone/SFLphone"> - - <!--* The CallManager interface is used to manage any call related - actions. - - Since SFLphone-daemon support multiple incoming/outgoing - calls, any actions involving a specific call must address the - method by the means of a unique callID. SFLphone-clients is - responsible to generate the callID on outgoing call. On the - otehr hand, SFLphone-daemon will generate a unique callID on - incoming calls. - - Actions are performed asynchronously, SFLphone-client should - subscribe to the callStateChanged signal in order to be - notified on updates in call status. - --> - <interface name="org.sflphone.SFLphone.CallManager"> - - <method name="placeCall"> - <!--* This is the main method in order to place a new call. The - call is registered to the daemon using this method - specified a unique identifier and VoIP Accout to be bound with. - - The account is specified by its accountID. - - If the call is to be placed whithout any account by the - means of a SIP URI (i.e. sip:num@server), the - "IP2IP_PROFILE" is passed as the accountID. For more - details about accounts see the configuration manager interface. - - The callID is a unique identifier that must be randomly - generated on sflphone-client's side. Any subsequent - actions refering to this call must use this callID. - - If bound to a VoIP account, the to argument is the phone - number. In case of calls involving "IP2IP_PROFILE", a - complete SIP URI must be specified. - - @param[in] input accountID - @param[in] input callID - @param[in] input to - --> - <arg type="s" name="accountID" direction="in" /> - <arg type="s" name="callID" direction="in" /> - <arg type="s" name="to" direction="in" /> - </method> - - <method name="placeCallFirstAccount"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="refuse"> - <!--* Method called to refuse an incoming call. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="accept"> - <!--* Method called to answer an incoming call. Automatically put - the current call on state HOLD. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUp"> - <!--* Method called to hangup a call in state "CURRENT" or "HOLD". - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUpConference"> - <!--* This method will hangup a conference in state "" - every call participating to the conference. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="hold"> - <!--* Place this call on state HOLD. - - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="unhold"> - <!--* Place this call on state CURRENT. - - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="transfert"> - <!--* Transfer a call to given phone number. - - @param[in] input confID - @param[in] input to - --> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="playDTMF"> - <!--* Dual-Tone multi-frequency. Tell SFLphone-daemon to play - dial tones. A SIP INFO message is sent to notify the server. - - @param[in] input Unicode charter for pressed key - --> - <arg type="s" name="key" direction="in"/> - </method> - - <method name="startTone"> - <!--* This method is used to start audio stream and play tone. - - @param[in] input confID - --> - <arg type="i" name="start" direction="in"/> - <arg type="i" name="type" direction="in"/> - </method> - - <method name="setVolume"> - <!--* This method sets the volume using a linear scale - [0,100]. Pulseaudio has its own mechanism to modify - application volume. This method is enabled only if the - ALSA API is used. - - @param[in] input device - @param[in] input value - --> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> - </method> - - <method name="getVolume"> - <!--* This method is enabled only if the ALSA API is used, Pulseaudio - has its own mechanism to modify application volume. Return - a value on a linear scale [0,100]. - - @param[in] input device - @param[out] output value - --> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> - </method> - - <method name="joinParticipant"> - <!--* Join two participants together to create a 3-way - conference including current SFLphone-client. - conferenceCreated signal is emited on success. - - @param[in] input sel_callID - @param[in] input drag_callID - --> - <arg type="s" name="sel_callID" direction="in"/> - <arg type="s" name="drag_callID" direction="in"/> - </method> - - <method name="addParticipant"> - <!--* Join a new particiant to an already created conference. - conferenceChaged signal is emited on success. - - @param[in] input callID - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="addMainParticipant"> - <!--* As SFLphone-daemon can handle multiple calls and - conferences. It may happen that SFLphone-client's user - leave a conference to answer an incoming call or - send new ones. This method is used to reintroduce - SFLphone-client's user into the conference. - - It put the current call on state HOLD or detach - SFLphone-client's user from the another conference. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="detachParticipant"> - <!--* Detach the given call from the conference. If only one - participant is left, the conference is deleted and the - "conferenceRemoved" signal is emited. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="joinConference"> - <!--* Method used to join two conference together. - - @param[in] input sel_confID - @param[in] input drag_confID - --> - <arg type="s" name="sel_confID" direction="in"/> - <arg type="s" name="drag_confID" direction="in"/> - </method> - - <method name="getConferenceDetails"> - <!--* Returns a hashtable containing conference details. - - "CONFID" - "CONF_STATE" - - @param[in] input confID - @param[out] output a infos - --> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getConferenceList"> - <!--* Returns a list containing all active confID in SFLphone-daemon. - - @param[out] output list - --> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setRecording"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="getIsRecording"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="isRecording" direction="out"/> - </method> - - <method name="getCallDetails"> - <!--* Returns a hashtable containing call details. - - "ACCOUNTID" - "PEER_NUMBER" - "PEER_NAME" - "DISPLAY_NAME" Name to display - "CALL_STATE" The state of the call - "CALL_TYPE" SIP or IAX - - @param[in] input callID - @param[out] output a infos - --> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getCallList"> - <!--* Returns a list containing all active callID in SFLphone-daemon. - - @param[out] output list - --> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCurrentCallID"> - <!--* Returns the CURRENT callID - - @param[out] output callID - --> - <arg type="s" name="callID" direction="out"/> - </method> - - <method name="getCurrentCodecName"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <signal name="currentSelectedCodec"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="codecName" direction="out"/> - </signal> - - <signal name="incomingCall"> - <!--* Signal sent to notify incoming calls. - - The callID generated by the daemon and must be stored - by SFLphone-client in order to address other action for - this call. - - @param[in] input accountID - @param[in] input callID - @param[in] input from - --> - <arg type="s" name="accountID" /> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - </signal> - - <signal name="incomingMessage"> - <arg type="s" name="accountID" direction="out" /> - <arg type="s" name="message" direction="out"/> - </signal> - - <signal name="callStateChanged"> - <!--* Signal emited by SFLphone-daemon to notify of a chage in - call state. - - The following is a liste of possible call state: - - "INCOMING" Initial state of incoming calls - "RINGING" Initial state of received outgoing call - "CURRENT" The normal active state of an answered call - "HUNGUP" Notify that the call has been hungup by peer - "BUSY" - "FAILURE" Signal emited on failure to answer the call - "HOLD" CAll state is now on hold - "UNHOLD_RECORD" CAll state is now on CURRENT (pursue recording) - "UNHOLD_CURRENT" CAll state is now on CURRENT - - @param[in] input accountID - @param[in] input state - --> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="conferenceChanged"> - <!--* Signal emited by SFLphone-daemon to notify of a chage in - conference state. - - The following is a liste of possible conference state: - - "ACTIVE_ATACHED" Conference state is active - "ACTIVE_DETACHED" Conference state is active - "HOLD" Conference is on hold - - @param[in] input accountID - @param[in] input state - --> - <arg type="s" name="confID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <method name="getParticipantList"> - <!--* Return a vector (or a list) containig the callIP of every - participant to a given conference. SFLphone-client should - keep and update the list of participant. - - @param[in] input accountID - @param[out] output List of callID - --> - <arg type="s" name="confID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <signal name="conferenceCreated"> - <!--* Emited when a new conference is created. SFLphone-client - is reponsible to store the confID and call - getParticipantList to update display. - - param[out] output Newly generated confID - --> - <arg type="s" name="confID" direction="out"/> - </signal> - - <signal name="conferenceRemoved"> - <!--* Emited when a new conference is removed. SFLphone-client - should have kept a list of current participant in order to - display modification. - - @param[out] output confID - --> - <arg type="s" name="confID" direction="out"/> - </signal> - - <method name="holdConference"> - <!--* Put the hole conference on hold. Every call participating - to this conference will be update to state HOLD. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="unholdConference"> - <!--* Put the conference on state ACTIVE. Every call participating - to this conference will be updated to state UNHOLD. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <signal name="sipCallStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - <arg type="i" name="code" direction="out"/> - </signal> - - <signal name="registrationStateChanged"> - <arg type="s" name="accountID" direction="out"/> - <arg type="s" name="state" direction="out"/> - <arg type="i" name="code" direction="out"/> - </signal> - - <signal name="voiceMailNotify"> - <arg type="s" name="accountID" direction="out"/> - <arg type="i" name="count" direction="out"/> - </signal> - - <signal name="volumeChanged"> - <arg type="s" name="device" direction="out"/> - <arg type="d" name="value" direction="out"/> - </signal> - - <signal name="transferSucceded"> - </signal> - - <signal name="transferFailed"> - </signal> - - <signal name="secureSdesOn"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="secureSdesOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <!-- ZRTP Methods and Signals --> - <signal name="secureZrtpOn"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="cipher" direction="out" /> - </signal> - - <signal name="secureZrtpOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="confirmGoClear"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="zrtpNegotiationFailed"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="reason" direction="out" /> - <arg type="s" name="severity" direction="out" /> - </signal> - - <signal name="zrtpNotSuppOther"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="showSAS"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="sas" direction="out" /> - <arg type="b" name="verified" direction="out" /> - </signal> - - <method name="setSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="resetSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="setConfirmGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="requestGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="acceptEnrollment"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="accepted" direction="in"/> - </method> - - <method name="setPBXEnrollment"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="yesNo" direction="in"/> - </method> -<!-- - <signal name="error"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> ---> - - </interface> + +<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.CallManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage + any call and conference related actions.</p> + <p>Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.</p> + </tp:docstring> + <method name="placeCall" tp:name-for-bindings="placeCall"> + <tp:docstring> + <p>This is the main method in order to place a new call. The call is registered to the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface. + </tp:docstring> + </arg> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> + + <method name="placeCallFirstAccount" tp:name-for-bindings="placeCallFirstAccount"> + <tp:added version="0.9.8"/> + <tp:docstring> + Place a call with the fist registered account, regarding to the account list order. + <tp:rationale> + Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension) + </tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> + + <method name="refuse" tp:name-for-bindings="refuse"> + <tp:docstring> + Refuse an incoming call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + + </method> + + <method name="accept" tp:name-for-bindings="accept"> + <tp:docstring> + Answer an incoming call. Automatically put the current call on state HOLD. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUp" tp:name-for-bindings="hangUp"> + <tp:docstring> + Hangup a call in state "CURRENT" or "HOLD". + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUpConference" tp:name-for-bindings="hangUpConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hangup a conference, and every call participating to the conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The unique conference ID. + </tp:docstring> + </arg> + </method> + + <method name="hold" tp:name-for-bindings="hold"> + <tp:docstring> + Place a call on hold. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="unhold" tp:name-for-bindings="unhold"> + <tp:docstring> + Hold off a call, and place this call on state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfert" tp:name-for-bindings="transfert"> + <tp:docstring> + Transfer a call to given phone number. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + The phone number to transfer the call to. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode charter for pressed key + </tp:docstring> + </arg> + </method> + + <method name="startTone" tp:name-for-bindings="startTone"> + <tp:docstring> + Start audio stream and play tone.. + </tp:docstring> + <arg type="i" name="start" direction="in"/> + <arg type="i" name="type" direction="in"/> + </method> + + <method name="setVolume" tp:name-for-bindings="setVolume"> + <tp:docstring> + <p>Sets the volume using a linear scale [0,100].</p> + <tp:rationale>Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="in"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="getVolume" tp:name-for-bindings="getVolume"> + <tp:docstring> + <p>Return the volume value of the given device on a linear scale [0,100].</p> + <tp:rationale>Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="out"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="joinParticipant" tp:name-for-bindings="joinParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join two participants together to create a 3-way conference including the current client.</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="sel_callID" direction="in"/> + <arg type="s" name="drag_callID" direction="in"/> + </method> + + <method name="addParticipant" tp:name-for-bindings="addParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join a new particiant to an existing conference.</p> + <tp:rationale>The signal <tp:member-ref>conferenceChanged</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to add to the conference + </tp:docstring> + </arg> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="addMainParticipant" tp:name-for-bindings="addMainParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>It put the current call on state HOLD or detach SFLphone-client's user from the another conference.</p> + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="detachParticipant" tp:name-for-bindings="detachParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal <tp:member-ref>conferenceRemoved</tp:member-ref> is emited. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + </method> + + <method name="joinConference" tp:name-for-bindings="joinConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Join two conferences together. + </tp:docstring> + <arg type="s" name="sel_confID" direction="in"/> + <arg type="s" name="drag_confID" direction="in"/> + </method> + + <method name="getConferenceDetails" tp:name-for-bindings="getConferenceDetails"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a hashtable containing conference details. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The conference ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out"> + <tp:docstring> + A map containing the ID of the conferences + and their states: + <ul> + <li>ACTIVE_ATACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="getConferenceList" tp:name-for-bindings="getConferenceList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a list containing all active + conferences. + <tp:rationale>To update client status, one should + use <tp:member-ref>getParticipantList</tp:member-ref> + with provided conference IDs.</tp:rationale> + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of conferences. + </tp:docstring> + </arg> + </method> + + <method name="setRecording" tp:name-for-bindings="setRecording"> + <tp:docstring> + Start recording a call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to record. + </tp:docstring> + </arg> + </method> + + <method name="getIsRecording" tp:name-for-bindings="getIsRecording"> + <tp:docstring> + Tells whether or not a call is being recorded. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="b" name="isRecording" direction="out"> + <tp:docstring> + Returns true is the call is being recorded. False otherwise. + </tp:docstring> + </arg> + </method> + + <method name="getCallDetails" tp:name-for-bindings="getCallDetails"> + <tp:docstring> + Get all the details about a specific call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out" tp:type="String_String_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A map containing the call details: </p> + <ul> + <li>ACCOUNTID</li> + <li>PEER_NUMBER</li> + <li>PEER_NAME</li> + <li>DISPLAY_NAME</li> + <li>CALL_STATE</li> + <li>CALL_TYPE</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="getCallList" tp:name-for-bindings="getCallList"> + <tp:docstring> + Get the list of active calls. + <tp:rationale>To get the call details, iterate on the return value and call <tp:member-ref>getCallDetails</tp:member-ref> method.</tp:rationale> + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of call IDs. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCallID" tp:name-for-bindings="getCurrentCallID"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="callID" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCodecName" tp:name-for-bindings="getCurrentCodecName"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <signal name="currentSelectedCodec" tp:name-for-bindings="currentSelectedCodec"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="codecName"/> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon and must be stored by the clients in order to address other action for + this call.</p> + <tp:rationale>The client must subscribe to this signal to handle incoming calls.</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the callee. Clients must notify the right account when receiving this signal. + </tp:docstring> + </arg> + <arg type="s" name="callID"> + <tp:docstring> + A new call ID. + </tp:docstring> + </arg> + <arg type="s" name="from"> + <tp:docstring> + The caller phone number. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingMessage" tp:name-for-bindings="incomingMessage"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="accountID" /> + <arg type="s" name="message" /> + </signal> + + <signal name="callStateChanged" tp:name-for-bindings="callStateChanged"> + <tp:docstring> + <p>Notify of a change in a call state.</p> + <p>The client must subscribe to this signal.</p> + </tp:docstring> + <arg type="s" name="callID"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="s" name="state" > + <tp:docstring> + The acceptable states are: + <ul> + <li>INCOMING: Initial state of incoming calls</li> + <li>RINGING: Initial state of received outgoing call</li> + <li>CURRENT: The normal active state of an answered call</li> + <li>HUNGUP: Notify that the call has been hungup by peer</li> + <li>BUSY</li> + <li>FAILURE: Error when processing a call</li> + <li>HOLD</li> + <li>UNHOLD_CURRENT</li> + <li>UNHOLD_RECORD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceChanged" tp:name-for-bindings="conferenceChanged"> + <tp:added version="0.9.7"/> + <tp:docstring> + Notify of a change in the conferences state + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The acceptable states are: + <ul> + <li>ACTIVE_ATTACHED: SFLphone user is + participating to this conference</li> + <li>ACTIVE_DETACHED: This situation can + occur if a call is received while + SFLphone user is participating to a + conference. In this case, one can leave + the conference by answering the + call. Other participants may continue + conferencing normally.</li> + <li>HOLD: Each call in this conference + is on state HOLD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <method name="getParticipantList" tp:name-for-bindings="getParticipantList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Get the call IDs of every participant to a given conference. The client should keep and update the list of participant. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of the call IDs. + </tp:docstring> + </arg> + </method> + + <signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + A new conference ID. + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </signal> + + <method name="holdConference" tp:name-for-bindings="holdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold on every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="unholdConference" tp:name-for-bindings="unholdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold off every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + <p>Call state changed, SFLphone received a notification + from registrar concerning this call.</p> + </tp:docstring> + <arg type="s" name="callID" /> + <tp:docstring> + The call ID + </tp:docstring> + <arg type="s" name="state" /> + <tp:docstring> + Description string + </tp:docstring> + <arg type="i" name="code" /> + <tp:docstring> + The SIP or IAX2 message code + </tp:docstring> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>Account state changed, SFLphone received a notification + from registrar.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + Description string + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 message code + </tp:docstring> + </arg> + </signal> + + <signal name="voiceMailNotify" tp:name-for-bindings="voiceMailNotify"> + <tp:docstring> + Notify the clients of the voicemail number for a specific account, if applicable. + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID. + </tp:docstring> + </arg> + <arg type="i" name="count"> + <tp:docstring> + The number of waiting messages. + </tp:docstring> + </arg> + </signal> + + <signal name="volumeChanged" tp:name-for-bindings="volumeChanged"> + <tp:docstring> + <p>Notify clients of a volume level + change.</p> + <p>This signal occurs only if ALSA is + enabled since Pulseaudio streams are + managed externally. </p> + </tp:docstring> + <arg type="s" name="device"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value"> + <tp:docstring> + The new volume value + </tp:docstring> + </arg> + </signal> + + <signal name="transferSucceded" tp:name-for-bindings="transferSucceded"> + <tp:docstring> + <p>Transfer has been successfully + processed. Client should remove transfered + call from call list as it is no longer + accessible in SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + <p>Transfer operation failed. Corespondin + call is no longer accessible in + SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Signal sent on SDES session success. Media transmission is encripted + for this call only. It does not apply for a + conference.</p> + <p>A conference can be considered to be secured if and only if each + participant is secured.</p> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Sinal sent to notify that SDES session + failed.</p> + <p>Media transmission is not encrypted.</p> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <!-- ZRTP Methods and Signals --> + <signal name="secureZrtpOn" tp:name-for-bindings="secureZrtpOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="cipher" /> + </signal> + + <signal name="secureZrtpOff" tp:name-for-bindings="secureZrtpOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="reason" /> + <arg type="s" name="severity" /> + </signal> + + <signal name="zrtpNotSuppOther" tp:name-for-bindings="zrtpNotSuppOther"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="showSAS" tp:name-for-bindings="showSAS"> + <tp:added version="0.9.7"/> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="sas" /> + <arg type="b" name="verified"/> + </signal> + + <method name="setSASVerified" tp:name-for-bindings="setSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="accepted" direction="in"/> + </method> + + <method name="setPBXEnrollment" tp:name-for-bindings="setPBXEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/sflphone-common/src/dbus/callmanager.cpp b/sflphone-common/src/dbus/callmanager.cpp index 34689444975c56e64060e7348ab22d80d3e744f8..5662b4640408d9c59180242f98385f3b938c1a6c 100644 --- a/sflphone-common/src/dbus/callmanager.cpp +++ b/sflphone-common/src/dbus/callmanager.cpp @@ -1,6 +1,5 @@ - /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * @@ -17,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <vector> @@ -40,8 +50,7 @@ void CallManager::placeCall (const std::string& accountID, const std::string& callID, const std::string& to) -{ - // Check if a destination number is available +{ // Check if a destination number is available if (to == "") _debug ("No number entered - Call stopped"); else Manager::instance().outgoingCall (accountID, callID, to); @@ -53,15 +62,22 @@ CallManager::placeCallFirstAccount (const std::string& callID, { if (to == "") { - _warn("No number entered - Call stopped"); + _warn("CallManager: Warning: No number entered, call stopped"); return; } std::vector< std::string > accountOrder = Manager::instance().loadAccountOrder(); - std::vector< std::string >::iterator iter = accountOrder.begin(); + std::vector< std::string >::iterator iter; Account *account; - while(iter != accountOrder.end()) { + + _debug("AccountOrder size: %d", accountOrder.size()); + + if(accountOrder.size() > 0) { + + iter = accountOrder.begin(); + + while(iter != accountOrder.end()) { account = Manager::instance().getAccount(*iter); if((*iter != IP2IP_PROFILE) && account->isEnabled()) { Manager::instance().outgoingCall (*iter, callID, to); @@ -69,30 +85,53 @@ CallManager::placeCallFirstAccount (const std::string& callID, } iter++; + } } - - _warn("No enabled account found - Call stopped\n"); + else { + _error("AccountOrder is empty"); + // If accountOrder is empty fallback on accountList (which has no preference order) + std::vector< std::string > accountList = Manager::instance().getAccountList(); + iter = accountList.begin(); + + + _error("AccountList size: %d", accountList.size()); + if(accountList.size() > 0) { + while(iter != accountList.end()) { + _error("iter"); + account = Manager::instance().getAccount(*iter); + if((*iter != IP2IP_PROFILE) && account->isEnabled()) { + _error("makecall"); + Manager::instance().outgoingCall(*iter, callID, to); + return; + } + iter++; + } + + } + } + + _warn("CallManager: Warning: No enabled account found, call stopped"); } void CallManager::refuse (const std::string& callID) { - _debug ("CallManager::refuse received"); + _debug ("CallManager: Refuse %s", callID.c_str()); Manager::instance().refuseCall (callID); } void CallManager::accept (const std::string& callID) { - _debug ("CallManager::accept received"); + _debug ("CallManager: Accept received"); Manager::instance().answerCall (callID); } void CallManager::hangUp (const std::string& callID) { - _debug ("CallManager::hangUp received %s", callID.c_str()); + _debug ("CallManager: HangUp received %s", callID.c_str()); Manager::instance().hangupCall (callID); } @@ -203,7 +242,7 @@ CallManager::holdConference (const std::string& confID) void CallManager::unholdConference (const std::string& confID) { - _debug ("CallManager::unHoldConference received %s", confID.c_str()); + _debug ("CallManager: Unhold Conference %s", confID.c_str()); Manager::instance().unHoldConference (confID); } @@ -222,6 +261,7 @@ CallManager::getConferenceList (void) std::vector< std::string > CallManager::getParticipantList (const std::string& confID) { + _debug("CallManager: Get Participant list for conference %s", confID.c_str()); return Manager::instance().getParticipantList (confID); } diff --git a/sflphone-common/src/dbus/callmanager.h b/sflphone-common/src/dbus/callmanager.h index c49f9c9c284fdbd33ce19ff253b19bffb106ddc4..950d12a98a2ae67f6b16bf401dcf4f38ee0494ee 100644 --- a/sflphone-common/src/dbus/callmanager.h +++ b/sflphone-common/src/dbus/callmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_CALLMANAGER_H__ @@ -51,9 +62,9 @@ class CallManager * you will have to implement them in your ObjectAdaptor */ - /* Call related methods */ + /* Call related methods */ void placeCall( const std::string& accountID, const std::string& callID, const std::string& to ); - void placeCallFirstAccount( const std::string& callID, const std::string& to ); + void placeCallFirstAccount( const std::string& callID, const std::string& to ); void refuse( const std::string& callID ); void accept( const std::string& callID ); @@ -61,12 +72,12 @@ class CallManager void hold( const std::string& callID ); void unhold( const std::string& callID ); void transfert( const std::string& callID, const std::string& to ); - std::map< std::string, std::string > getCallDetails( const std::string& callID ); + std::map< std::string, std::string > getCallDetails( const std::string& callID ); std::vector< std::string > getCallList (void); - std::string getCurrentCallID( ); + std::string getCurrentCallID( ); - /* Conference related methods */ - void joinParticipant( const std::string& sel_callID, const std::string& drag_callID ); + /* Conference related methods */ + void joinParticipant( const std::string& sel_callID, const std::string& drag_callID ); void addParticipant( const std::string& callID, const std::string& confID ); void addMainParticipant( const std::string& confID ); void detachParticipant( const std::string& callID ); diff --git a/sflphone-common/src/dbus/configurationmanager-introspec.xml b/sflphone-common/src/dbus/configurationmanager-introspec.xml index 944cf9f685ca044a59e91543d4da3fbc7a1d1b8d..f75d22c662e8b34451ef22540ec124e3c7f25b08 100644 --- a/sflphone-common/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-common/src/dbus/configurationmanager-introspec.xml @@ -1,519 +1,1116 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.ConfigurationManager"> - - <!-- Accounts-related methods --> - <method name="getAccountDetails"> - <!--* Method that returns a hashtable containing the current - account configuration setting. - - CONFIG_ACCOUNT_ENABLE - CONFIG_ACCOUNT_RESOLVE_ONCE - CONFIG_ACCOUNT_TYPE - HOSTNAME - USERNAME - PASSWORD - REALM - AUTHENTICATION_USERNAME - CONFIG_ACCOUNT_MAILBOX - CONFIG_ACCOUNT_REGISTRATION_EXPIRE - LOCAL_INTERFACE - PUBLISHED_SAMEAS_LOCAL - PUBLISHED_ADDRESS - LOCAL_PORT - PUBLISHED_PORT - DISPLAY_NAME - STUN_ENABLE - STUN_SERVER - - REGISTRATION_STATUS - REGISTRATION_STATE_CODE - REGISTRATION_STATE_DESCRIPTION - SRTP_KEY_EXCHANGE - SRTP_ENABLE - - SRTP_RTP_FALLBACK - ZRTP_DISPLAY_SAS - ZRTP_DISPLAY_SAS_ONCE - ZRTP_HELLO_HASH - ZRTP_NOT_SUPP_WARNING - - TLS_LISTENER_PORT - TLS_ENABLE - TLS_CA_LIST_FILE - TLS_CERTIFICATE_FILE - TLS_PRIVATE_KEY_FILE - - TLS_METHOD - TLS_CIPHERS - TLS_SERVER_NAME - TLS_VERIFY_SERVER - TLS_VERIFY_CLIENT - TLS_REQUIRE_CLIENT_CERTIFICATE - TLS_NEGOTIATION_TIMEOUT_SEC - TLS_NEGOTIATION_TIMEOUT_MSEC - - - @param[in] input accountID - @param[out] output details - --> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setAccountDetails"> - <!--* Modify the current accout parameter settings given an - accountID and a hash table containing the parameters to - update. The hash table is not required to be complete, - only the parameter to change may be specified. Only the - running parameters are updated dynamically, configuration - settings are stored in the configuration file when - SFLphone-daemon quit. - - For a complete list of account settings refer to getAccountDetails - - @param[in] input accountID - @param[in] input details - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="setCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="in"/> - </method> - - <method name="setNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="number" direction="in"/> - </method> - - <method name="deleteAllCredential"> - <arg type="s" name="accountID" direction="in"/> - </method> - - <method name="getIp2IpDetails"> - <!--* Specific call to get configuration settings of the - IP2IP_PROFILE. Which are sligthly different since no VoIP - Account parameters are envolved. - - ACCOUNT_ID - SRTP_KEY_EXCHANGE - SRTP_ENABLE - SRTP_RTP_FALLBACK - ZRTP_DISPLAY_SAS - ZRTP_HELLO_HASH - ZRTP_NOT_SUPP_WARNING - ZRTP_DISPLAY_SAS_ONCE - LOCAL_INTERFACE - LOCAL_PORT - - TLS_LISTENER_PORT - TLS_CA_LIST_FILE - TLS_CERTIFICATE_FILE - TLS_PRIVATE_KEY_FILE - TLS_PASSWORD - TLS_METHOD - TLS_CIPHERS - TLS_SERVER_NAME - TLS_VERIFY_SERVER - TLS_VERIFY_CLIENT - TLS_REQUIRE_CLIENT_CERTIFICATE - TLS_NEGOTIATION_TIMEOUT_SEC - TLS_NEGOTIATION_TIMEOUT_MSEC - - @param[in] input accountID - @param[out] output details - --> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setIp2IpDetails"> - <!--* Modify the IP2IP_PROFILE parameter settings a hash table - containing the parameters to update. The hash table is not required to be complete, - only the parameters to be modified may be specified. Also, - only the running configuration is updated dynamically, - settings are stored in the configuration file when - SFLphone-daemon quit. - - For a complete list of account settings refer to getAccountDetails - - @param[in] input accountID - @param[in] input details - --> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="out"/> - </method> - - <method name="getNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="numberOfCredential" direction="out"/> - </method> - - <method name="addAccount"> - <!--* Add a new account to the SFLphone-daemon list. If no - details are specified, default parameters are used. - - @param[in] input details - @param[out] output accountID - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="in"/> - <arg type="s" name="createdAccountId" direction="out"/> - </method> - - <method name="setAccountsOrder"> - <!--* Update the account list given a new list of accountID. If no account is specified - for a call, the first one in the list will be used. - - @param[in] input order - --> - <arg type="s" name="order" direction="in"/> - </method> - - <method name="removeAccount"> - <!--* Delete an account from SFLphone-daemon list and erase - account parameters from configuration file. - - @param[in] input accountID - --> - <arg type="s" name="accoundID" direction="in"/> - </method> - - <method name="getAccountList"> - <!--* Get teh accountlist as stored in SFLphone-daemon. - - @param[in] input accountID - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="sendRegister"> - <!--* Send accout registration request to PBX server. Register - the account if expire=1, unregister if expire=0. - - @param[in] input accountID - --> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="expire" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Various audio-related methods --> - - <method name="getToneLocaleList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getVersion"> - <arg type="s" name="version" direction="out"/> - </method> - - <method name="getRingtoneList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getPlaybackDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getRecordDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="isRingtoneEnabled"> - <arg type="i" name="bool" direction="out"/> - </method> - - <method name="ringtoneEnabled"> - </method> - - <method name="getRingtoneChoice"> - <arg type="s" name="tone" direction="out"/> - </method> - - <method name="setRingtoneChoice"> - <arg type="s" name="tone" direction="in"/> - </method> - - <method name="getAudioManager"> - <arg type="i" name="api" direction="out"/> - </method> - - <method name="setAudioManager"> - <arg type="i" name="api" direction="in"/> - </method> - - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCodecDetails"> - <arg type="i" name="payload" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="details" direction="out"/> - </method> - - <method name="getActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="list" direction="in"/> - <arg type="s" name="accountID" direction="in"/> - </method> - - - <!-- Audio devices methods --> - - <method name="getInputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getOutputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setInputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="setOutputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="getAudioOutputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioOutputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getAudioInputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioInputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getCurrentAudioDevicesIndex"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAudioDeviceIndex"> - <arg type="s" name="name" direction="in"/> - <arg type="i" name="index" direction="out"/> - </method> - - <method name="getCurrentAudioOutputPlugin"> - <arg type="s" name="plugin" direction="out"/> - </method> - - <!-- General Settings Panel --> - - <method name="isMd5CredentialHashing"> - <arg type="b" name="res" direction="out"/> - </method> - - <method name="setMd5CredentialHashing"> - <arg type="b" name="enabled" direction="in"/> - </method> - - <method name="isIax2Enabled"> - <arg type="i" name="res" direction="out"/> - </method> - - <method name="setNotify"> - </method> - - <method name="getNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="setMailNotify"> - </method> - - <method name="getMailNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="getDialpad"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setDialpad"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getSearchbar"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSearchbar"> - </method> - - <method name="setHistoryEnabled"> - </method> - - <method name="getHistoryEnabled"> - <arg type="s" name="state" direction="out"/> - </method> - - <method name="getVolumeControls"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setVolumeControls"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getHistoryLimit"> - <arg type="i" name="days" direction="out"/> - </method> - - <method name="setHistoryLimit"> - <arg type="i" name="days" direction="in"/> - </method> - - <method name="startHidden"> - </method> - - <method name="isStartHidden"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="popupMode"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="switchPopupMode"> - </method> - - - <!-- Addressbook configuration --> - <method name="getAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="out"/> - </method> - - <method name="setAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="in"/> - </method> - - <!-- Addressbook list --> - <method name="getAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="settings" direction="out"/> - </method> - - <method name="setAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="settings" direction="in"/> - </method> - - <!-- Hook configuration --> - <method name="getHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="out"/> - </method> - - <method name="setHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="in"/> - </method> - - <method name="getHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="out"/> - </method> - - <method name="setHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="in"/> - </method> - - <signal name="accountsChanged"> - </signal> - - <signal name="errorAlert"> - <arg type="i" name="code" direction="out"/> - </signal> - - <!-- TLS Methods --> - <method name="getSupportedTlsMethod"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getTlsSettingsDefault"> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="getTlsSettings"> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setTlsSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getAddrFromInterfaceName"> - <arg type="s" name="interface" direction="in"/> - <arg type="s" name="address" direction="out"/> - </method> - - <method name="getAllIpInterface"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAllIpInterfaceByName"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - </interface> -</node> +<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.ConfigurationManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + Used to handle the configuration stuff: accounts settings, account registration, user preferences, ... + </tp:docstring> + + <method name="getAccountDetails" tp:name-for-bindings="getAccountDetails"> + <tp:docstring> + Get all parameters of the specified account. + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + The available keys / parameters are: + <ul> + <li>CONFIG_ACCOUNT_ENABLE: True or False (Default: True)</li> + <li>CONFIG_ACCOUNT_RESOLVE_ONCE</li> + <li>CONFIG_ACCOUNT_TYPE: SIP or IAX2 (Default: SIP)</li> + <li>HOSTNAME: The IP adress or hostname of the registrar</li> + <li>USERNAME: The username (or extension) of the account</li> + <li>PASSWORD: The password associated to the account</li> + <li>REALM</li> + <li>AUTHENTICATION_USERNAME</li> + <li>CONFIG_ACCOUNT_MAILBOX: Number to dial to access the voicemail box</li> + <li>CONFIG_ACCOUNT_REGISTRATION_EXPIRE: SIP header expiration value (Default: 1600)</li> + <li>LOCAL_INTERFACE: The network interface (Default: eth0)</li> + <li>PUBLISHED_SAMEAS_LOCAL: If False, the published address equals the local address. This is the default.</li> + <li>PUBLISHED_ADDRESS: The SIP published address</li> + <li>LOCAL_PORT: The SIP listening port (Default: 5060)</li> + <li>PUBLISHED_PORT: The SIP published port</li> + <li>DISPLAY_NAMEL: The display name</li> + <li>STUN_ENABLE: True or False (Default: False)</li> + <li>STUN_SERVER: The STUN server address</li> + <li>REGISTRATION_STATUS: The account registration status. Should be Registered to make calls.</li> + <li>REGISTRATION_STATE_CODE</li> + <li>REGISTRATION_STATE_DESCRIPTION</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE: Whether or not voice communication are encrypted - True or False (Default: False)</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>TLS_LISTENER_PORT: TLS listening port (Default: 5061)</li> + <li>TLS_ENABLE: Whether or not signalling is encrypted - True or False (Default: False)</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails"> + <tp:docstring> + Send new account parameters, or account parameters changes, to the core. The hash table is not required to be complete, only the updated parameters may be specified. + <tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale> + <tp:rationale>After calling this method, the core will emit the signal <tp:member-ref>accountsChanged</tp:member-ref> with the updated data. The client must subscribe to this signal and use it to update its internal data structure.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setCredential" tp:name-for-bindings="setCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="number" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + Account ID + </tp:docstring> + </arg> + </method> + + <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <tp:docstring> + Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>--> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + Available parameters are: + <ul> + <li>ACCOUNT_ID</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>LOCAL_INTERFACE</li> + <li>LOCAL_PORT</li> + <li>TLS_LISTENER_PORT</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_PASSWORD</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <tp:docstring> + Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile. + </tp:docstring> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference. + </tp:docstring> + </arg> + </method> + + <method name="getCredential" tp:name-for-bindings="getCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="numberOfCredential" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="addAccount" tp:name-for-bindings="addAccount"> + <tp:docstring> + Add a new account. When created, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + <tp:rationale>If no details are specified, the default parameters are used.</tp:rationale> + <tp:rationale>The core tries to register the account as soon it is created.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The new account settings + </tp:docstring> + </arg> + <arg type="s" name="createdAccountId" direction="out"> + <tp:docstring> + A new account ID + </tp:docstring> + </arg> + </method> + + <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder"> + <tp:docstring> + Update the accounts order. + <tp:rationale>When placing a call, the first registered account in the list is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="order" direction="in"> + <tp:docstring> + An ordered list of account IDs, delimited by '/' + </tp:docstring> + </arg> + </method> + + <method name="removeAccount" tp:name-for-bindings="removeAccount"> + <tp:docstring> + Remove an existing account. When removed, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + </tp:docstring> + <arg type="s" name="accoundID" direction="in"> + <tp:docstring> + The account to remove, identified by its ID + </tp:docstring> + </arg> + </method> + + <method name="getAccountList" tp:name-for-bindings="getAccountList"> + <tp:docstring> + Get a list of all created accounts, as stored by the core. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of account IDs + </tp:docstring> + </arg> + </method> + + <method name="sendRegister" tp:name-for-bindings="sendRegister"> + <tp:docstring> + Send account registration (REGISTER) to the registrar. + </tp:docstring> + the account if expire=1, unregister if expire=0. + + @param[in] input accountID + --> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="i" name="expire" direction="in"> + <tp:docstring> + <p>To register, expire must be 1.</p> + <p>To un-register, expire must be 0.</p> + </tp:docstring> + </arg> + </method> + + <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVersion" tp:name-for-bindings="getVersion"> + <tp:docstring> + Return SFLphone-daemon version + </tp:docstring> + <arg type="s" name="version" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> + <tp:docstring> + Return a list of valid Sun's .au sound file used + as ringtones. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList"> + <tp:docstring> + Provide a list of playback device from ALSA + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList"> + <tp:docstring> + Provide a list of record device from ALSA + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> + <tp:docstring> + Return true if ringtone is enabled, false otherwise + </tp:docstring> + <arg type="i" name="bool" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled"> + <tp:docstring> + Unused + </tp:docstring> + </method> + + <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice"> + <tp:docstring> + Get current ringtone .au file selected + </tp:docstring> + <arg type="s" name="tone" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice"> + <tp:docstring> + Set current ringtone .au file from list acquired using <tp:member-ref>getAccountList</tp:member-ref> + </tp:docstring> + <arg type="s" name="tone" direction="in"> + <tp:docstring> + A valid .au file path + </tp:docstring> + </arg> + </method> + + <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList" tp:name-for-bindings="getCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="payload" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Audio devices methods --> + + <method name="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioRingtoneDevice" tp:name-for-binding="setAudioRingtoneDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="name" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="plugin" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getEchoCancelState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-binding="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <!-- General Settings Panel --> + + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNotify" tp:name-for-bindings="setNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getNotify" tp:name-for-bindings="getNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="startHidden" tp:name-for-bindings="startHidden"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="popupMode" tp:name-for-bindings="popupMode"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="width" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="height" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="width" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="height" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posX" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posX" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posY" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="i" name="posY" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> + <tp:docstring> + Allow SFLphone icon to be displayed in system tray + </tp:docstring> + <arg type="s" name="value" direction="in"> + <tp:docstring> + true/false + </tp:docstring> + </arg> + </method> + + <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> + <tp:docstring> + Test if SFLphone icon is displayed in system tray. + </tp:docstring> + <arg type="s" name="value" direction="out"> + <tp:docstring> + true/false + </tp:docstring> + </arg> + </method> + + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Hook configuration --> + <method name="getHookSettings" tp:name-for-bindings="getHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHookSettings" tp:name-for-bindings="setHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistory" tp:name-for-bindings="getHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistory" tp:name-for-bindings="setHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <signal name="accountsChanged" tp:name-for-bindings="accountsChanged"> + <tp:docstring> + Signal emited on account changes. Clients should update + all account status with <tp:member-ref>getAccountDetails</tp:member-ref> + iterating over the list provided by <tp:member-ref>getAccountList</tp:member-ref> + </tp:docstring> + </signal> + + <signal name="errorAlert" tp:name-for-bindings="errorAlert"> + <arg type="i" name="code"> + <tp:docstring> + </tp:docstring> + </arg> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod"> + <tp:docstring> + Provide a list of supported TLS method + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of TLS method: (TLSv1, SSLv1, SSLv2, + SSLv3, SSLv23) + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <tp:docstring> + Get default TLS setting for new accounts + </tp:docstring> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + A hash table containing details. Refer + to <tp:member-ref>getTlsSettings</tp:member-ref> + for possible keys + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings"> + <tp:docstring> + Get current TLS setting for a specific account + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + A hash table containing details with key: + <ul> + <li>"TLS.listenerPort": valid numerical port</li> + <li>"TLS.enable": true/false</li> + <li>"TLS.certificateListFile": A valid path to + a .pem file containing CA certificate</li> + <li>"TLS.certificateFile": A valid path to a + file containing the public end-point + certificate (optional)</li> + <li>"TLS.privateKeyFile": A valid path to a + file containing the public end-point private + key (optional)</li> + <li>"TLS.password": Public end-point private + key password (optional)</li> + <li>"TLS.method": (TLSv1, SSLv1, SSLv2, + SSLv3, SSLv23)</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings"> + <tp:docstring> + Update TLS setting for a specific account + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in"> + <tp:docstring> + A hash table containing details. Refer + to <tp:member-ref>getTlsSettings</tp:member-ref> + for possible keys. + </tp:docstring> + </arg> + </method> + + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> + <tp:docstring> + Resolve interface IPv4 address provided its name. + </tp:docstring> + <arg type="s" name="interface" direction="in"> + <tp:docstring> + Interface name + </tp:docstring> + </arg> + <arg type="s" name="address" direction="out"> + <tp:docstring> + Interface IPv4 address + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface"> + <tp:docstring> + Provide a list of IP interface's IPv4 address. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of interface's IPv4 address + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName"> + <tp:docstring> + Provide a list of IP interface's name: default + (0.0.0.0), lo, eth0 ... + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of interface's name + </tp:docstring> + </arg> + </method> + + <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + </interface> + </node> diff --git a/sflphone-common/src/dbus/configurationmanager.cpp b/sflphone-common/src/dbus/configurationmanager.cpp index 7575cc36764dd9e17fefb676520900b28fde9563..b6b08c5617fea26ef987254f3b5594bb4fcb865b 100644 --- a/sflphone-common/src/dbus/configurationmanager.cpp +++ b/sflphone-common/src/dbus/configurationmanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <global.h> @@ -25,806 +36,839 @@ #include "../manager.h" #include "sip/sipvoiplink.h" -const char* ConfigurationManager::SERVER_PATH = "/org/sflphone/SFLphone/ConfigurationManager"; - - - -ConfigurationManager::ConfigurationManager (DBus::Connection& connection) - : DBus::ObjectAdaptor (connection, SERVER_PATH) -{ -} - - -std::map< std::string, std::string > -ConfigurationManager::getAccountDetails (const std::string& accountID) -{ - return Manager::instance().getAccountDetails (accountID); -} - -std::map< std::string, std::string > -ConfigurationManager::getTlsSettingsDefault (void) -{ - - std::map<std::string, std::string> tlsSettingsDefault; - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT)); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_CA_LIST_FILE, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_CERTIFICATE_FILE, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_PRIVATE_KEY_FILE, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_PASSWORD, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_METHOD, "TLSv1")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_CIPHERS, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_SERVER_NAME, "")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_VERIFY_SERVER, "true")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_VERIFY_CLIENT, "true")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_REQUIRE_CLIENT_CERTIFICATE, "true")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_SEC, "2")); - tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_MSEC, "0")); - - return tlsSettingsDefault; -} - -std::map< std::string, std::string > -ConfigurationManager::getIp2IpDetails (void) -{ - - std::map<std::string, std::string> ip2ipAccountDetails; - - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ACCOUNT_ID, IP2IP_PROFILE)); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_KEY_EXCHANGE, Manager::instance().getConfigString (IP2IP_PROFILE, SRTP_KEY_EXCHANGE))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_ENABLE, Manager::instance().getConfigString (IP2IP_PROFILE, SRTP_ENABLE))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_RTP_FALLBACK, Manager::instance().getConfigString (IP2IP_PROFILE, SRTP_RTP_FALLBACK))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS, Manager::instance().getConfigString (IP2IP_PROFILE, ZRTP_DISPLAY_SAS))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_HELLO_HASH, Manager::instance().getConfigString (IP2IP_PROFILE, ZRTP_HELLO_HASH))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_NOT_SUPP_WARNING, Manager::instance().getConfigString (IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS_ONCE, Manager::instance().getConfigString (IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE))); - - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (LOCAL_INTERFACE, Manager::instance().getConfigString(IP2IP_PROFILE, LOCAL_INTERFACE))); - ip2ipAccountDetails.insert (std::pair<std::string, std::string> (LOCAL_PORT, Manager::instance().getConfigString (IP2IP_PROFILE, LOCAL_PORT))); - - std::map<std::string, std::string> tlsSettings; - tlsSettings = getTlsSettings (IP2IP_PROFILE); - std::copy (tlsSettings.begin(), tlsSettings.end(), std::inserter (ip2ipAccountDetails, ip2ipAccountDetails.end())); - - return ip2ipAccountDetails; - -} - -void -ConfigurationManager::setIp2IpDetails (const std::map< std::string, std::string >& details) -{ - std::map<std::string, std::string> map_cpy = details; - std::map<std::string, std::string>::iterator it; - - it = map_cpy.find (LOCAL_INTERFACE); - - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, LOCAL_INTERFACE, it->second); - } - - it = map_cpy.find (LOCAL_PORT); - - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, LOCAL_PORT, it->second); - } - - it = map_cpy.find (SRTP_ENABLE); - - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, SRTP_ENABLE, it->second); - } - - it = map_cpy.find (SRTP_RTP_FALLBACK); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, SRTP_RTP_FALLBACK, it->second); - } - - it = map_cpy.find (SRTP_KEY_EXCHANGE); - - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, SRTP_KEY_EXCHANGE, it->second); - } +const char* ConfigurationManager::SERVER_PATH = + "/org/sflphone/SFLphone/ConfigurationManager"; + +ConfigurationManager::ConfigurationManager(DBus::Connection& connection) : + DBus::ObjectAdaptor(connection, SERVER_PATH) { + shortcutsKeys.push_back("pick_up"); + shortcutsKeys.push_back("hang_up"); + shortcutsKeys.push_back("popup_window"); + shortcutsKeys.push_back("toggle_pick_up_hang_up"); + shortcutsKeys.push_back("toggle_hold"); +} + +std::map<std::string, std::string> ConfigurationManager::getAccountDetails( + const std::string& accountID) { + return Manager::instance().getAccountDetails(accountID); +} + +std::map<std::string, std::string> ConfigurationManager::getTlsSettingsDefault( + void) { + + std::map<std::string, std::string> tlsSettingsDefault; + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT)); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_CA_LIST_FILE, "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_CERTIFICATE_FILE, "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_PRIVATE_KEY_FILE, "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>(TLS_PASSWORD, + "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>(TLS_METHOD, + "TLSv1")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>(TLS_CIPHERS, + "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_SERVER_NAME, "")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_VERIFY_SERVER, "true")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_VERIFY_CLIENT, "true")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_REQUIRE_CLIENT_CERTIFICATE, "true")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_SEC, "2")); + tlsSettingsDefault.insert(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_MSEC, "0")); + + return tlsSettingsDefault; +} + +std::map<std::string, std::string> ConfigurationManager::getIp2IpDetails(void) { + + std::map<std::string, std::string> ip2ipAccountDetails; + + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ACCOUNT_ID, + IP2IP_PROFILE)); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + SRTP_KEY_EXCHANGE, Manager::instance().getConfigString( + IP2IP_PROFILE, SRTP_KEY_EXCHANGE))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(SRTP_ENABLE, + Manager::instance().getConfigString(IP2IP_PROFILE, SRTP_ENABLE))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + SRTP_RTP_FALLBACK, Manager::instance().getConfigString( + IP2IP_PROFILE, SRTP_RTP_FALLBACK))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + ZRTP_DISPLAY_SAS, Manager::instance().getConfigString( + IP2IP_PROFILE, ZRTP_DISPLAY_SAS))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + ZRTP_HELLO_HASH, Manager::instance().getConfigString(IP2IP_PROFILE, + ZRTP_HELLO_HASH))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + ZRTP_NOT_SUPP_WARNING, Manager::instance().getConfigString( + IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + ZRTP_DISPLAY_SAS_ONCE, Manager::instance().getConfigString( + IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE))); + + ip2ipAccountDetails.insert(std::pair<std::string, std::string>( + LOCAL_INTERFACE, Manager::instance().getConfigString(IP2IP_PROFILE, + LOCAL_INTERFACE))); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(LOCAL_PORT, + Manager::instance().getConfigString(IP2IP_PROFILE, LOCAL_PORT))); + + std::map<std::string, std::string> tlsSettings; + tlsSettings = getTlsSettings(IP2IP_PROFILE); + std::copy(tlsSettings.begin(), tlsSettings.end(), std::inserter( + ip2ipAccountDetails, ip2ipAccountDetails.end())); + + return ip2ipAccountDetails; + +} + +void ConfigurationManager::setIp2IpDetails(const std::map<std::string, + std::string>& details) { + std::map<std::string, std::string> map_cpy = details; + std::map<std::string, std::string>::iterator it; + + it = map_cpy.find(LOCAL_INTERFACE); + + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, LOCAL_INTERFACE, + it->second); + } - it = map_cpy.find (ZRTP_DISPLAY_SAS); + it = map_cpy.find(LOCAL_PORT); - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, ZRTP_DISPLAY_SAS, it->second); - } + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, LOCAL_PORT, it->second); + } - it = map_cpy.find (ZRTP_NOT_SUPP_WARNING); + it = map_cpy.find(SRTP_ENABLE); - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING, it->second); - } + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, SRTP_ENABLE, it->second); + } - it = map_cpy.find (ZRTP_HELLO_HASH); + it = map_cpy.find(SRTP_RTP_FALLBACK); - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, ZRTP_HELLO_HASH, it->second); - } + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, SRTP_RTP_FALLBACK, + it->second); + } - it = map_cpy.find (ZRTP_DISPLAY_SAS_ONCE); + it = map_cpy.find(SRTP_KEY_EXCHANGE); - if (it != details.end()) { - Manager::instance().setConfig (IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE, it->second); - } + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, SRTP_KEY_EXCHANGE, + it->second); + } - setTlsSettings (IP2IP_PROFILE, details); + it = map_cpy.find(ZRTP_DISPLAY_SAS); - Manager::instance().saveConfig(); + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_DISPLAY_SAS, + it->second); + } - // Update account details to the client side - accountsChanged(); + it = map_cpy.find(ZRTP_NOT_SUPP_WARNING); - // Reload account settings from config - Manager::instance().getAccount(IP2IP_PROFILE)->loadConfig(); + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING, + it->second); + } -} + it = map_cpy.find(ZRTP_HELLO_HASH); -std::map< std::string, std::string > -ConfigurationManager::getTlsSettings (const std::string& section) -{ - std::map<std::string, std::string> tlsSettings; + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_HELLO_HASH, + it->second); + } - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_LISTENER_PORT, Manager::instance().getConfigString(section, TLS_LISTENER_PORT))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_ENABLE, Manager::instance().getConfigString (section, TLS_ENABLE))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_CA_LIST_FILE, Manager::instance().getConfigString (section, TLS_CA_LIST_FILE))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_CERTIFICATE_FILE, Manager::instance().getConfigString (section, TLS_CERTIFICATE_FILE))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_PRIVATE_KEY_FILE, Manager::instance().getConfigString (section, TLS_PRIVATE_KEY_FILE))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_PASSWORD, Manager::instance().getConfigString (section, TLS_PASSWORD))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_METHOD, Manager::instance().getConfigString (section, TLS_METHOD))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_CIPHERS, Manager::instance().getConfigString (section, TLS_CIPHERS))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_SERVER_NAME, Manager::instance().getConfigString (section, TLS_SERVER_NAME))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_VERIFY_SERVER, Manager::instance().getConfigString (section, TLS_VERIFY_SERVER))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_VERIFY_CLIENT, Manager::instance().getConfigString (section, TLS_VERIFY_CLIENT))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_REQUIRE_CLIENT_CERTIFICATE, Manager::instance().getConfigString (section, TLS_REQUIRE_CLIENT_CERTIFICATE))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_NEGOTIATION_TIMEOUT_SEC, Manager::instance().getConfigString (section, TLS_NEGOTIATION_TIMEOUT_SEC))); - tlsSettings.insert (std::pair<std::string, std::string> - (TLS_NEGOTIATION_TIMEOUT_MSEC, Manager::instance().getConfigString (section, TLS_NEGOTIATION_TIMEOUT_MSEC))); - return tlsSettings; -} + it = map_cpy.find(ZRTP_DISPLAY_SAS_ONCE); -void -ConfigurationManager::setTlsSettings (const std::string& section, const std::map< std::string, std::string >& details) -{ - std::map<std::string, std::string> map_cpy = details; - std::map<std::string, std::string>::iterator it; + if (it != details.end()) { + Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE, + it->second); + } - it = map_cpy.find(TLS_LISTENER_PORT); - if(it != details.end()) { - Manager::instance().setConfig(section, TLS_LISTENER_PORT, it->second); - } + setTlsSettings(IP2IP_PROFILE, details); + + Manager::instance().saveConfig(); + + // Update account details to the client side + accountsChanged(); + + // Reload account settings from config + Manager::instance().getAccount(IP2IP_PROFILE)->loadConfig(); + +} + +std::map<std::string, std::string> ConfigurationManager::getTlsSettings( + const std::string& section) { + std::map<std::string, std::string> tlsSettings; + + tlsSettings.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, + Manager::instance().getConfigString(section, TLS_LISTENER_PORT))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_ENABLE, + Manager::instance().getConfigString(section, TLS_ENABLE))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, + Manager::instance().getConfigString(section, TLS_CA_LIST_FILE))); + tlsSettings.insert(std::pair<std::string, std::string>( + TLS_CERTIFICATE_FILE, Manager::instance().getConfigString(section, + TLS_CERTIFICATE_FILE))); + tlsSettings.insert(std::pair<std::string, std::string>( + TLS_PRIVATE_KEY_FILE, Manager::instance().getConfigString(section, + TLS_PRIVATE_KEY_FILE))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_PASSWORD, + Manager::instance().getConfigString(section, TLS_PASSWORD))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_METHOD, + Manager::instance().getConfigString(section, TLS_METHOD))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_CIPHERS, + Manager::instance().getConfigString(section, TLS_CIPHERS))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, + Manager::instance().getConfigString(section, TLS_SERVER_NAME))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, + Manager::instance().getConfigString(section, TLS_VERIFY_SERVER))); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, + Manager::instance().getConfigString(section, TLS_VERIFY_CLIENT))); + tlsSettings.insert(std::pair<std::string, std::string>( + TLS_REQUIRE_CLIENT_CERTIFICATE, + Manager::instance().getConfigString(section, + TLS_REQUIRE_CLIENT_CERTIFICATE))); + tlsSettings.insert(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_SEC, Manager::instance().getConfigString( + section, TLS_NEGOTIATION_TIMEOUT_SEC))); + tlsSettings.insert(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_MSEC, Manager::instance().getConfigString( + section, TLS_NEGOTIATION_TIMEOUT_MSEC))); + return tlsSettings; +} + +void ConfigurationManager::setTlsSettings(const std::string& section, + const std::map<std::string, std::string>& details) { + std::map<std::string, std::string> map_cpy = details; + std::map<std::string, std::string>::iterator it; + + it = map_cpy.find(TLS_LISTENER_PORT); + if (it != details.end()) { + Manager::instance().setConfig(section, TLS_LISTENER_PORT, it->second); + } - it = map_cpy.find (TLS_ENABLE); + it = map_cpy.find(TLS_ENABLE); - if (it != details.end()) { - Manager::instance().setConfig (section, TLS_ENABLE, it->second); - } + if (it != details.end()) { + Manager::instance().setConfig(section, TLS_ENABLE, it->second); + } - it = map_cpy.find (TLS_CA_LIST_FILE); + it = map_cpy.find(TLS_CA_LIST_FILE); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_CA_LIST_FILE, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_CA_LIST_FILE, it->second); + } - it = map_cpy.find (TLS_CERTIFICATE_FILE); + it = map_cpy.find(TLS_CERTIFICATE_FILE); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_CERTIFICATE_FILE, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_CERTIFICATE_FILE, it->second); + } - it = map_cpy.find (TLS_PRIVATE_KEY_FILE); + it = map_cpy.find(TLS_PRIVATE_KEY_FILE); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_PRIVATE_KEY_FILE, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_PRIVATE_KEY_FILE, it->second); + } - it = map_cpy.find (TLS_PASSWORD); + it = map_cpy.find(TLS_PASSWORD); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_PASSWORD, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_PASSWORD, it->second); + } - it = map_cpy.find (TLS_METHOD); + it = map_cpy.find(TLS_METHOD); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_METHOD, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_METHOD, it->second); + } - it = map_cpy.find (TLS_CIPHERS); + it = map_cpy.find(TLS_CIPHERS); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_CIPHERS, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_CIPHERS, it->second); + } - it = map_cpy.find (TLS_SERVER_NAME); + it = map_cpy.find(TLS_SERVER_NAME); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_SERVER_NAME, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_SERVER_NAME, it->second); + } - it = map_cpy.find (TLS_VERIFY_CLIENT); + it = map_cpy.find(TLS_VERIFY_CLIENT); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_VERIFY_CLIENT, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_VERIFY_CLIENT, it->second); + } - it = map_cpy.find (TLS_REQUIRE_CLIENT_CERTIFICATE); + it = map_cpy.find(TLS_REQUIRE_CLIENT_CERTIFICATE); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_REQUIRE_CLIENT_CERTIFICATE, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_REQUIRE_CLIENT_CERTIFICATE, + it->second); + } - it = map_cpy.find (TLS_NEGOTIATION_TIMEOUT_SEC); + it = map_cpy.find(TLS_NEGOTIATION_TIMEOUT_SEC); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_NEGOTIATION_TIMEOUT_SEC, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_NEGOTIATION_TIMEOUT_SEC, + it->second); + } - it = map_cpy.find (TLS_NEGOTIATION_TIMEOUT_MSEC); + it = map_cpy.find(TLS_NEGOTIATION_TIMEOUT_MSEC); - if (it != map_cpy.end()) { - Manager::instance().setConfig (section, TLS_NEGOTIATION_TIMEOUT_MSEC, it->second); - } + if (it != map_cpy.end()) { + Manager::instance().setConfig(section, TLS_NEGOTIATION_TIMEOUT_MSEC, + it->second); + } - Manager::instance().saveConfig(); + Manager::instance().saveConfig(); - // Update account details to the client side - accountsChanged(); + // Update account details to the client side + accountsChanged(); } -std::map< std::string, std::string > -ConfigurationManager::getCredential (const std::string& accountID, const int32_t& index) -{ +std::map<std::string, std::string> ConfigurationManager::getCredential( + const std::string& accountID, const int32_t& index) { - std::string credentialIndex; - std::stringstream streamOut; - streamOut << index; - credentialIndex = streamOut.str(); + std::string credentialIndex; + std::stringstream streamOut; + streamOut << index; + credentialIndex = streamOut.str(); - std::string section = std::string ("Credential") + std::string (":") + accountID + std::string (":") + credentialIndex; + std::string section = std::string("Credential") + std::string(":") + + accountID + std::string(":") + credentialIndex; - std::map<std::string, std::string> credentialInformation; - std::string username = Manager::instance().getConfigString (section, USERNAME); - std::string password = Manager::instance().getConfigString (section, PASSWORD); - std::string realm = Manager::instance().getConfigString (section, REALM); + std::map<std::string, std::string> credentialInformation; + std::string username = Manager::instance().getConfigString(section, + USERNAME); + std::string password = Manager::instance().getConfigString(section, + PASSWORD); + std::string realm = Manager::instance().getConfigString(section, REALM); - credentialInformation.insert (std::pair<std::string, std::string> (USERNAME, username)); - credentialInformation.insert (std::pair<std::string, std::string> (PASSWORD, password)); - credentialInformation.insert (std::pair<std::string, std::string> (REALM, realm)); + credentialInformation.insert(std::pair<std::string, std::string>(USERNAME, + username)); + credentialInformation.insert(std::pair<std::string, std::string>(PASSWORD, + password)); + credentialInformation.insert(std::pair<std::string, std::string>(REALM, + realm)); - return credentialInformation; + return credentialInformation; } -int32_t -ConfigurationManager::getNumberOfCredential (const std::string& accountID) -{ - return Manager::instance().getConfigInt (accountID, CONFIG_CREDENTIAL_NUMBER); +int32_t ConfigurationManager::getNumberOfCredential( + const std::string& accountID) { + return Manager::instance().getConfigInt(accountID, CONFIG_CREDENTIAL_NUMBER); } -void -ConfigurationManager::setNumberOfCredential (const std::string& accountID, const int32_t& number) -{ - if (accountID != AccountNULL || !accountID.empty()) { - Manager::instance().setConfig (accountID, CONFIG_CREDENTIAL_NUMBER, number); - } +void ConfigurationManager::setNumberOfCredential(const std::string& accountID, + const int32_t& number) { + if (accountID != AccountNULL || !accountID.empty()) { + Manager::instance().setConfig(accountID, CONFIG_CREDENTIAL_NUMBER, + number); + } } -void -ConfigurationManager::setCredential (const std::string& accountID, const int32_t& index, - const std::map< std::string, std::string >& details) -{ - Manager::instance().setCredential (accountID, index, details); +void ConfigurationManager::setCredential(const std::string& accountID, + const int32_t& index, const std::map<std::string, std::string>& details) { + Manager::instance().setCredential(accountID, index, details); } -void -ConfigurationManager::deleteAllCredential (const std::string& accountID) -{ - Manager::instance().deleteAllCredential (accountID); +void ConfigurationManager::deleteAllCredential(const std::string& accountID) { + Manager::instance().deleteAllCredential(accountID); } -void -ConfigurationManager::setAccountDetails (const std::string& accountID, - const std::map< std::string, std::string >& details) -{ - Manager::instance().setAccountDetails (accountID, details); +void ConfigurationManager::setAccountDetails(const std::string& accountID, + const std::map<std::string, std::string>& details) { + Manager::instance().setAccountDetails(accountID, details); } -void -ConfigurationManager::sendRegister (const std::string& accountID, const int32_t& expire) -{ - Manager::instance().sendRegister (accountID, expire); +void ConfigurationManager::sendRegister(const std::string& accountID, + const int32_t& expire) { + Manager::instance().sendRegister(accountID, expire); } -std::string -ConfigurationManager::addAccount (const std::map< std::string, std::string >& details) -{ - return Manager::instance().addAccount (details); +std::string ConfigurationManager::addAccount(const std::map<std::string, + std::string>& details) { + return Manager::instance().addAccount(details); } - -void -ConfigurationManager::removeAccount (const std::string& accoundID) -{ - return Manager::instance().removeAccount (accoundID); +void ConfigurationManager::removeAccount(const std::string& accoundID) { + return Manager::instance().removeAccount(accoundID); } -std::vector< std::string > -ConfigurationManager::getAccountList() -{ - return Manager::instance().getAccountList(); +std::vector<std::string> ConfigurationManager::getAccountList() { + return Manager::instance().getAccountList(); } //TODO -std::vector< std::string > -ConfigurationManager::getToneLocaleList() -{ - std::vector< std::string > ret; - return ret; +std::vector<std::string> ConfigurationManager::getToneLocaleList() { + std::vector<std::string> ret; + return ret; } //TODO -std::string -ConfigurationManager::getVersion() -{ - std::string ret (""); - return ret; +std::string ConfigurationManager::getVersion() { + std::string ret(""); + return ret; } //TODO -std::vector< std::string > -ConfigurationManager::getRingtoneList() -{ - std::vector< std::string > ret; - return ret; +std::vector<std::string> ConfigurationManager::getRingtoneList() { + std::vector<std::string> ret; + return ret; } - /** * Send the list of all codecs loaded to the client through DBus. - * Can stay global, as only the active codecs will set per account + * Can stay global, as only the active codecs will be set per accounts */ -std::vector<std::string> ConfigurationManager::getCodecList (void) { +std::vector<std::string> ConfigurationManager::getCodecList(void) { - std::vector<std::string> list; + std::vector<std::string> list; - CodecsMap codecs = Manager::instance ().getCodecDescriptorMap ().getCodecsMap(); - CodecsMap::iterator iter = codecs.begin(); + CodecsMap codecs = + Manager::instance().getCodecDescriptorMap().getCodecsMap(); + CodecsMap::iterator iter = codecs.begin(); - while (iter!=codecs.end()) { - std::stringstream ss; + while (iter != codecs.end()) { + std::stringstream ss; - if (iter->second != NULL) { - ss << iter->first; - list.push_back ( (ss.str()).data()); - } + if (iter->second != NULL) { + ss << iter->first; + list.push_back((ss.str()).data()); + } - iter++; - } + iter++; + } - return list; + return list; } -std::vector<std::string> -ConfigurationManager::getSupportedTlsMethod (void) -{ - std::vector<std::string> method; - method.push_back ("Default"); - method.push_back ("TLSv1"); - method.push_back ("SSLv2"); - method.push_back ("SSLv3"); - method.push_back ("SSLv23"); - return method; +std::vector<std::string> ConfigurationManager::getSupportedTlsMethod(void) { + std::vector<std::string> method; + method.push_back("Default"); + method.push_back("TLSv1"); + method.push_back("SSLv2"); + method.push_back("SSLv3"); + method.push_back("SSLv23"); + return method; } +std::vector<std::string> ConfigurationManager::getCodecDetails( + const int32_t& payload) { -std::vector<std::string> ConfigurationManager::getCodecDetails (const int32_t& payload) { - - return Manager::instance().getCodecDescriptorMap().getCodecSpecifications (payload); + return Manager::instance().getCodecDescriptorMap().getCodecSpecifications( + payload); } -std::vector<std::string> ConfigurationManager::getActiveCodecList (const std::string& accountID) { +std::vector<std::string> ConfigurationManager::getActiveCodecList( + const std::string& accountID) { - _debug("Send active codec list for account %s", accountID.c_str ()); + _debug("Send active codec list for account %s", accountID.c_str ()); - std::vector< std::string > v; + std::vector<std::string> v; Account *acc; CodecOrder active; - unsigned int i=0; + unsigned int i = 0; size_t size; - acc = Manager::instance ().getAccount (accountID); + acc = Manager::instance().getAccount(accountID); if (acc != NULL) { - active = acc->getActiveCodecs (); + active = acc->getActiveCodecs(); size = active.size(); - while (i<size) { + while (i < size) { std::stringstream ss; ss << active[i]; - v.push_back ( (ss.str()).data()); + v.push_back((ss.str()).data()); i++; } } - return v; + return v; } -void ConfigurationManager::setActiveCodecList (const std::vector< std::string >& list, const std::string& accountID) -{ +void ConfigurationManager::setActiveCodecList( + const std::vector<std::string>& list, const std::string& accountID) { - _debug ("ConfigurationManager::setActiveCodecList received"); + _debug ("ConfigurationManager: Active codec list received"); Account *acc; // Save the codecs list per account - acc = Manager::instance ().getAccount (accountID); + acc = Manager::instance().getAccount(accountID); if (acc != NULL) { - acc->setActiveCodecs (list); + acc->setActiveCodecs(list); } } -// Audio devices related methods -std::vector<std::string> ConfigurationManager::getInputAudioPluginList() { + +std::vector<std::string> ConfigurationManager::getAudioPluginList() { std::vector<std::string> v; - v.push_back ("default"); - v.push_back ("surround40"); - v.push_back ("plug:hw"); + v.push_back(PCM_DEFAULT); + // v.push_back(PCM_DMIX); + v.push_back(PCM_DMIX_DSNOOP); + + return v; +} + + +void ConfigurationManager::setInputAudioPlugin(const std::string& audioPlugin) { + return Manager::instance().setInputAudioPlugin(audioPlugin); +} + +void ConfigurationManager::setOutputAudioPlugin(const std::string& audioPlugin) { + return Manager::instance().setOutputAudioPlugin(audioPlugin); +} + +std::vector<std::string> ConfigurationManager::getAudioOutputDeviceList() { + return Manager::instance().getAudioOutputDeviceList(); +} + +std::vector<std::string> ConfigurationManager::getAudioInputDeviceList() { + return Manager::instance().getAudioInputDeviceList(); +} + +void ConfigurationManager::setAudioOutputDevice(const int32_t& index) { + return Manager::instance().setAudioDevice(index, SFL_PCM_PLAYBACK); +} + +void ConfigurationManager::setAudioInputDevice(const int32_t& index) { + return Manager::instance().setAudioDevice(index, SFL_PCM_CAPTURE); +} + +void ConfigurationManager::setAudioRingtoneDevice(const int32_t& index) { + return Manager::instance().setAudioDevice(index, SFL_PCM_RINGTONE); +} - return v; +std::vector<std::string> ConfigurationManager::getCurrentAudioDevicesIndex() { + return Manager::instance().getCurrentAudioDevicesIndex(); } -std::vector<std::string> ConfigurationManager::getOutputAudioPluginList() { +int32_t ConfigurationManager::getAudioDeviceIndex(const std::string& name) { + return Manager::instance().getAudioDeviceIndex(name); +} - std::vector<std::string> v; +std::string ConfigurationManager::getCurrentAudioOutputPlugin(void) { + return Manager::instance().getCurrentAudioOutputPlugin(); +} + +std::string ConfigurationManager::getEchoCancelState(void) { + return Manager::instance().getEchoCancelState(); +} - v.push_back (PCM_DEFAULT); - v.push_back (PCM_DMIX); +void ConfigurationManager::setEchoCancelState(const std::string& state) { + Manager::instance().setEchoCancelState(state); +} - return v; +std::string ConfigurationManager::getNoiseSuppressState(void) { + return Manager::instance().getNoiseSuppressState(); } -void -ConfigurationManager::setInputAudioPlugin (const std::string& audioPlugin) -{ - return Manager::instance().setInputAudioPlugin (audioPlugin); +void ConfigurationManager::setNoiseSuppressState(const std::string& state) { + Manager::instance().setNoiseSuppressState(state); } -void -ConfigurationManager::setOutputAudioPlugin (const std::string& audioPlugin) -{ - return Manager::instance().setOutputAudioPlugin (audioPlugin); +std::vector<std::string> ConfigurationManager::getPlaybackDeviceList() { + std::vector<std::string> ret; + return ret; } -std::vector< std::string > -ConfigurationManager::getAudioOutputDeviceList() -{ - return Manager::instance().getAudioOutputDeviceList(); +std::vector<std::string> ConfigurationManager::getRecordDeviceList() { + std::vector<std::string> ret; + return ret; + } -void -ConfigurationManager::setAudioOutputDevice (const int32_t& index) -{ - return Manager::instance().setAudioOutputDevice (index); +bool ConfigurationManager::isMd5CredentialHashing(void) { + bool isEnabled = Manager::instance().getConfigBool(PREFERENCES, + CONFIG_MD5HASH); + return isEnabled; } -std::vector< std::string > -ConfigurationManager::getAudioInputDeviceList() -{ - return Manager::instance().getAudioInputDeviceList(); +void ConfigurationManager::setMd5CredentialHashing(const bool& enabled) { + if (enabled) { + Manager::instance().setConfig(PREFERENCES, CONFIG_MD5HASH, TRUE_STR); + } else { + Manager::instance().setConfig(PREFERENCES, CONFIG_MD5HASH, FALSE_STR); + } } -void -ConfigurationManager::setAudioInputDevice (const int32_t& index) -{ - return Manager::instance().setAudioInputDevice (index); +int32_t ConfigurationManager::isIax2Enabled(void) { + return Manager::instance().isIax2Enabled(); } -std::vector< std::string > -ConfigurationManager::getCurrentAudioDevicesIndex() -{ - return Manager::instance().getCurrentAudioDevicesIndex(); +void ConfigurationManager::ringtoneEnabled(void) { + Manager::instance().ringtoneEnabled(); } -int32_t -ConfigurationManager::getAudioDeviceIndex (const std::string& name) -{ - return Manager::instance().getAudioDeviceIndex (name); +int32_t ConfigurationManager::isRingtoneEnabled(void) { + return Manager::instance().isRingtoneEnabled(); } -std::string -ConfigurationManager::getCurrentAudioOutputPlugin (void) -{ - return Manager::instance().getCurrentAudioOutputPlugin(); +std::string ConfigurationManager::getRingtoneChoice(void) { + return Manager::instance().getRingtoneChoice(); } +void ConfigurationManager::setRingtoneChoice(const std::string& tone) { + Manager::instance().setRingtoneChoice(tone); +} -std::vector< std::string > -ConfigurationManager::getPlaybackDeviceList() -{ - std::vector< std::string > ret; - return ret; +std::string ConfigurationManager::getRecordPath(void) { + return Manager::instance().getRecordPath(); } -std::vector< std::string > -ConfigurationManager::getRecordDeviceList() -{ - std::vector< std::string > ret; - return ret; +void ConfigurationManager::setRecordPath(const std::string& recPath) { + Manager::instance().setRecordPath(recPath); +} +int32_t ConfigurationManager::getDialpad(void) { + return Manager::instance().getDialpad(); } -bool -ConfigurationManager::isMd5CredentialHashing (void) -{ - bool isEnabled = Manager::instance().getConfigBool (PREFERENCES, CONFIG_MD5HASH); - return isEnabled; +void ConfigurationManager::setDialpad(const bool& display) { + Manager::instance().setDialpad(display); } -void -ConfigurationManager::setMd5CredentialHashing (const bool& enabled) -{ - if (enabled) { - Manager::instance().setConfig (PREFERENCES, CONFIG_MD5HASH, TRUE_STR); - } else { - Manager::instance().setConfig (PREFERENCES, CONFIG_MD5HASH, FALSE_STR); - } +int32_t ConfigurationManager::getSearchbar(void) { + return Manager::instance().getSearchbar(); } -int32_t -ConfigurationManager::isIax2Enabled (void) -{ - return Manager::instance().isIax2Enabled(); +void ConfigurationManager::setSearchbar(void) { + Manager::instance().setSearchbar(); } -void -ConfigurationManager::ringtoneEnabled (void) -{ - Manager::instance().ringtoneEnabled(); +int32_t ConfigurationManager::getVolumeControls(void) { + return Manager::instance().getVolumeControls(); } -int32_t -ConfigurationManager::isRingtoneEnabled (void) -{ - return Manager::instance().isRingtoneEnabled(); +void ConfigurationManager::setVolumeControls(const bool& display) { + Manager::instance().setVolumeControls(display); } -std::string -ConfigurationManager::getRingtoneChoice (void) -{ - return Manager::instance().getRingtoneChoice(); +int32_t ConfigurationManager::getHistoryLimit(void) { + return Manager::instance().getHistoryLimit(); } -void -ConfigurationManager::setRingtoneChoice (const std::string& tone) -{ - Manager::instance().setRingtoneChoice (tone); +void ConfigurationManager::setHistoryLimit(const int32_t& days) { + Manager::instance().setHistoryLimit(days); } -std::string -ConfigurationManager::getRecordPath (void) -{ - return Manager::instance().getRecordPath(); +void ConfigurationManager::setHistoryEnabled(void) { + Manager::instance().setHistoryEnabled(); } -void -ConfigurationManager::setRecordPath (const std::string& recPath) -{ - Manager::instance().setRecordPath (recPath); +std::string ConfigurationManager::getHistoryEnabled(void) { + return Manager::instance().getHistoryEnabled(); } -int32_t -ConfigurationManager::getDialpad (void) -{ - return Manager::instance().getDialpad(); +void ConfigurationManager::startHidden(void) { + Manager::instance().startHidden(); } -void -ConfigurationManager::setDialpad (const bool& display) -{ - Manager::instance().setDialpad (display); +int32_t ConfigurationManager::isStartHidden(void) { + return Manager::instance().isStartHidden(); } -int32_t -ConfigurationManager::getSearchbar (void) -{ - return Manager::instance().getSearchbar(); +void ConfigurationManager::switchPopupMode(void) { + Manager::instance().switchPopupMode(); } -void -ConfigurationManager::setSearchbar (void) -{ - Manager::instance().setSearchbar(); +int32_t ConfigurationManager::popupMode(void) { + return Manager::instance().popupMode(); } -int32_t -ConfigurationManager::getVolumeControls (void) -{ - return Manager::instance().getVolumeControls(); +void ConfigurationManager::setNotify(void) { + Manager::instance().setNotify(); } -void -ConfigurationManager::setVolumeControls (const bool& display) -{ - Manager::instance().setVolumeControls (display); +int32_t ConfigurationManager::getNotify(void) { + return Manager::instance().getNotify(); } -int32_t -ConfigurationManager::getHistoryLimit (void) -{ - return Manager::instance().getHistoryLimit(); +void ConfigurationManager::setAudioManager(const int32_t& api) { + Manager::instance().setAudioManager(api); } -void -ConfigurationManager::setHistoryLimit (const int32_t& days) -{ - Manager::instance().setHistoryLimit (days); +int32_t ConfigurationManager::getAudioManager(void) { + return Manager::instance().getAudioManager(); } +void ConfigurationManager::setMailNotify(void) { + Manager::instance().setMailNotify(); +} -void ConfigurationManager::setHistoryEnabled (void) -{ - Manager::instance ().setHistoryEnabled (); +int32_t ConfigurationManager::getMailNotify(void) { + return Manager::instance().getMailNotify(); } -std::string ConfigurationManager::getHistoryEnabled (void) -{ - return Manager::instance ().getHistoryEnabled (); +std::map<std::string, int32_t> ConfigurationManager::getAddressbookSettings( + void) { + return Manager::instance().getAddressbookSettings(); } -void -ConfigurationManager::startHidden (void) -{ - Manager::instance().startHidden(); +void ConfigurationManager::setAddressbookSettings(const std::map<std::string, + int32_t>& settings) { + Manager::instance().setAddressbookSettings(settings); } -int32_t -ConfigurationManager::isStartHidden (void) -{ - return Manager::instance().isStartHidden(); +std::vector<std::string> ConfigurationManager::getAddressbookList(void) { + return Manager::instance().getAddressbookList(); } -void -ConfigurationManager::switchPopupMode (void) -{ - Manager::instance().switchPopupMode(); +void ConfigurationManager::setAddressbookList( + const std::vector<std::string>& list) { + Manager::instance().setAddressbookList(list); } -int32_t -ConfigurationManager::popupMode (void) -{ - return Manager::instance().popupMode(); +std::map<std::string, std::string> ConfigurationManager::getHookSettings(void) { + return Manager::instance().getHookSettings(); } -void -ConfigurationManager::setNotify (void) -{ - Manager::instance().setNotify(); +void ConfigurationManager::setHookSettings(const std::map<std::string, + std::string>& settings) { + Manager::instance().setHookSettings(settings); } -int32_t -ConfigurationManager::getNotify (void) -{ - return Manager::instance().getNotify(); +void ConfigurationManager::setAccountsOrder(const std::string& order) { + Manager::instance().setAccountsOrder(order); } -void -ConfigurationManager::setAudioManager (const int32_t& api) -{ - Manager::instance().setAudioManager (api); +std::map<std::string, std::string> ConfigurationManager::getHistory(void) { + return Manager::instance().send_history_to_client(); } -int32_t -ConfigurationManager::getAudioManager (void) -{ - return Manager::instance().getAudioManager(); +void ConfigurationManager::setHistory( + const std::map<std::string, std::string>& entries) { + Manager::instance().receive_history_from_client(entries); } -void -ConfigurationManager::setMailNotify (void) -{ - Manager::instance().setMailNotify(); +std::string ConfigurationManager::getAddrFromInterfaceName( + const std::string& interface) { + + std::string address = SIPVoIPLink::instance("")->getInterfaceAddrFromName( + interface); + + return address; } -int32_t -ConfigurationManager::getMailNotify (void) -{ - return Manager::instance().getMailNotify(); +std::vector<std::string> ConfigurationManager::getAllIpInterface(void) { + + std::vector<std::string> vector; + SIPVoIPLink * sipLink = NULL; + sipLink = SIPVoIPLink::instance(""); + + if (sipLink != NULL) { + vector = sipLink->getAllIpInterface(); + } + + return vector; } +std::vector<std::string> ConfigurationManager::getAllIpInterfaceByName(void) { + std::vector<std::string> vector; + SIPVoIPLink * sipLink = NULL; + sipLink = SIPVoIPLink::instance(""); + + if (sipLink != NULL) { + vector = sipLink->getAllIpInterfaceByName(); + } -std::map<std::string, int32_t> ConfigurationManager::getAddressbookSettings (void) -{ - return Manager::instance().getAddressbookSettings (); + return vector; } -void ConfigurationManager::setAddressbookSettings (const std::map<std::string, int32_t>& settings) -{ - Manager::instance().setAddressbookSettings (settings); +int32_t ConfigurationManager::getWindowWidth(void) { + + return Manager::instance().getConfigInt(PREFERENCES, WINDOW_WIDTH); } -std::vector< std::string > ConfigurationManager::getAddressbookList (void) -{ - return Manager::instance().getAddressbookList(); +int32_t ConfigurationManager::getWindowHeight(void) { + + return Manager::instance().getConfigInt(PREFERENCES, WINDOW_HEIGHT); } -void ConfigurationManager::setAddressbookList (const std::vector< std::string >& list) -{ - Manager::instance().setAddressbookList (list); +void ConfigurationManager::setWindowWidth(const int32_t& width) { + + Manager::instance().setConfig(PREFERENCES, WINDOW_WIDTH, width); } -std::map<std::string,std::string> ConfigurationManager::getHookSettings (void) -{ - return Manager::instance().getHookSettings (); +void ConfigurationManager::setWindowHeight(const int32_t& height) { + + Manager::instance().setConfig(PREFERENCES, WINDOW_HEIGHT, height); } -void ConfigurationManager::setHookSettings (const std::map<std::string, std::string>& settings) -{ - Manager::instance().setHookSettings (settings); +int32_t ConfigurationManager::getWindowPositionX(void) { + + return Manager::instance().getConfigInt(PREFERENCES, WINDOW_POSITION_X); } -void ConfigurationManager::setAccountsOrder (const std::string& order) -{ - Manager::instance().setAccountsOrder (order); +int32_t ConfigurationManager::getWindowPositionY(void) { + + return Manager::instance().getConfigInt(PREFERENCES, WINDOW_POSITION_Y); } -std::map <std::string, std::string> ConfigurationManager::getHistory (void) -{ - return Manager::instance().send_history_to_client (); +void ConfigurationManager::setWindowPositionX(const int32_t& posX) { + + Manager::instance().setConfig(PREFERENCES, WINDOW_POSITION_X, posX); } -void ConfigurationManager::setHistory (const std::map <std::string, std::string>& entries) -{ - Manager::instance().receive_history_from_client (entries); +void ConfigurationManager::setWindowPositionY(const int32_t& posY) { + + Manager::instance().setConfig(PREFERENCES, WINDOW_POSITION_Y, posY); } -std::string -ConfigurationManager::getAddrFromInterfaceName(const std::string& interface) -{ +std::map<std::string, int32_t> ConfigurationManager::getShortcuts() { + + std::map<std::string, int> shortcutsMap; + int shortcut; - std::string address = SIPVoIPLink::instance("")->getInterfaceAddrFromName(interface); + for (int i = 0; i < (int)shortcutsKeys.size(); i++) { + std::string key = shortcutsKeys.at(i); + shortcut = Manager::instance().getConfigInt("Shortcuts", key); + shortcutsMap.insert(std::pair<std::string, int>(key, shortcut)); + } - return address; + return shortcutsMap; } -std::vector<std::string> ConfigurationManager::getAllIpInterface (void) -{ +void ConfigurationManager::setShortcuts( + const std::map<std::string, int32_t>& shortcutsMap) { - std::vector<std::string> vector; - SIPVoIPLink * sipLink = NULL; - sipLink = SIPVoIPLink::instance (""); + std::map<std::string, int> map_cpy = shortcutsMap; + std::map<std::string, int>::iterator it; - if (sipLink != NULL) { - vector = sipLink->getAllIpInterface(); - } + for (int i = 0; i < (int)shortcutsKeys.size(); i++) { + std::string key = shortcutsKeys.at(i); + it = map_cpy.find(key); + if (it != shortcutsMap.end()) { + Manager::instance().setConfig("Shortcuts", key, it->second); + } + } - return vector; + Manager::instance().saveConfig(); } -std::vector<std::string> ConfigurationManager::getAllIpInterfaceByName(void) -{ - std::vector<std::string> vector; - SIPVoIPLink * sipLink = NULL; - sipLink = SIPVoIPLink::instance (""); +void ConfigurationManager::enableStatusIcon (const std::string& value) { + + Manager::instance ().setConfig (PREFERENCES, SHOW_STATUSICON, value); +} - if (sipLink != NULL) { - vector = sipLink->getAllIpInterfaceByName(); - } +std::string ConfigurationManager::isStatusIconEnabled (void) { - return vector; + return Manager::instance ().getConfigString (PREFERENCES, SHOW_STATUSICON); } diff --git a/sflphone-common/src/dbus/configurationmanager.h b/sflphone-common/src/dbus/configurationmanager.h index b4cfbc4dc4fa7a640b6ffb314d33779be6eb00b1..7c351af08efb36b95ca6334f7fc6475a00d33805 100644 --- a/sflphone-common/src/dbus/configurationmanager.h +++ b/sflphone-common/src/dbus/configurationmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef CONFIGURATIONMANAGER_H @@ -37,6 +48,9 @@ public: ConfigurationManager(DBus::Connection& connection); static const char* SERVER_PATH; +private: + std::vector<std::string> shortcutsKeys; + public: std::map< std::string, std::string > getAccountDetails( const std::string& accountID ); @@ -61,17 +75,21 @@ public: std::vector< std::string > getActiveCodecList (const std::string& accountID); void setActiveCodecList (const std::vector< std::string >& list, const std::string& accountID); - std::vector< std::string > getInputAudioPluginList(); - std::vector< std::string > getOutputAudioPluginList(); + std::vector< std::string > getAudioPluginList(); void setInputAudioPlugin(const std::string& audioPlugin); void setOutputAudioPlugin(const std::string& audioPlugin); std::vector< std::string > getAudioOutputDeviceList(); void setAudioOutputDevice(const int32_t& index); - std::vector< std::string > getAudioInputDeviceList(); void setAudioInputDevice(const int32_t& index); + void setAudioRingtoneDevice(const int32_t& index); + std::vector< std::string > getAudioInputDeviceList(); std::vector< std::string > getCurrentAudioDevicesIndex(); int32_t getAudioDeviceIndex(const std::string& name); std::string getCurrentAudioOutputPlugin( void ); + std::string getEchoCancelState(void); + void setEchoCancelState(const std::string& state); + std::string getNoiseSuppressState(void); + void setNoiseSuppressState(const std::string& state); std::vector< std::string > getToneLocaleList( ); @@ -114,6 +132,18 @@ public: int32_t getMailNotify( void ); void setMailNotify( void ); + int32_t getWindowWidth (void); + int32_t getWindowHeight (void); + void setWindowWidth (const int32_t& width); + void setWindowHeight (const int32_t& height); + int32_t getWindowPositionX (void); + int32_t getWindowPositionY (void); + void setWindowPositionX (const int32_t& posX); + void setWindowPositionY (const int32_t& posY); + + void enableStatusIcon (const std::string&); + std::string isStatusIconEnabled (void); + std::map<std::string, int32_t> getAddressbookSettings (void); void setAddressbookSettings (const std::map<std::string, int32_t>& settings); std::vector< std::string > getAddressbookList ( void ); @@ -134,6 +164,9 @@ public: std::vector<std::string> getAllIpInterface(void); std::vector<std::string> getAllIpInterfaceByName(void); + + std::map< std::string, int32_t > getShortcuts (); + void setShortcuts (const std::map< std::string, int32_t >& shortcutsMap); }; diff --git a/sflphone-common/src/dbus/contactmanager.cpp b/sflphone-common/src/dbus/contactmanager.cpp index 2764d30e56ff2b75382a45e401b2f3a113ad5db9..8474f6eac89acdef801631749cef3f4eb343e00d 100644 --- a/sflphone-common/src/dbus/contactmanager.cpp +++ b/sflphone-common/src/dbus/contactmanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <contactmanager.h> diff --git a/sflphone-common/src/dbus/contactmanager.h b/sflphone-common/src/dbus/contactmanager.h index 705a10bb665b40d30961019a6ba46f08731b0776..5611b41f9b8b0b90438955a0e332edcf3fa64574 100644 --- a/sflphone-common/src/dbus/contactmanager.h +++ b/sflphone-common/src/dbus/contactmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef CONTACTMANAGER_H diff --git a/sflphone-common/src/dbus/dbusmanager.h b/sflphone-common/src/dbus/dbusmanager.h index e8beb6cebf623256d2a33ffaacf4539e0ea87be8..47a36d304fd5d1f7af3b0493f301c36913708811 100644 --- a/sflphone-common/src/dbus/dbusmanager.h +++ b/sflphone-common/src/dbus/dbusmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __DBUSMANAGERSINGLETON_H__ diff --git a/sflphone-common/src/dbus/dbusmanagerimpl.cpp b/sflphone-common/src/dbus/dbusmanagerimpl.cpp index bfcc237ca369d02225fefb68023f0a62bc2877cc..1c70b42df81d09bb5d7bfd4820d57ebfcdb22e9c 100644 --- a/sflphone-common/src/dbus/dbusmanagerimpl.cpp +++ b/sflphone-common/src/dbus/dbusmanagerimpl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <dbusmanagerimpl.h> @@ -60,5 +71,13 @@ DBusManagerImpl::exit() _dispatcher.leave(); + delete _callManager; + delete _configurationManager; + delete _instanceManager; + +#ifdef USE_NETWORKMANAGER + delete _networkManager; +#endif + } diff --git a/sflphone-common/src/dbus/dbusmanagerimpl.h b/sflphone-common/src/dbus/dbusmanagerimpl.h index c68d440fa375f9951f877c8d44443bc7a24b451c..916ae5a407aabd158bb5a92345a9e47a23313f0b 100644 --- a/sflphone-common/src/dbus/dbusmanagerimpl.h +++ b/sflphone-common/src/dbus/dbusmanagerimpl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __DBUSMANAGERIMPL_H__ diff --git a/sflphone-common/src/dbus/instance-introspec.xml b/sflphone-common/src/dbus/instance-introspec.xml index 90a60d632d04ca83039efcadcfa2f4981bfda39e..4b7d075cd87112df83744e3740f892d4f1cb26e5 100644 --- a/sflphone-common/src/dbus/instance-introspec.xml +++ b/sflphone-common/src/dbus/instance-introspec.xml @@ -1,18 +1,46 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.Instance"> - - <method name="Register"> - <arg type="i" name="pid" direction="in"/> - <arg type="s" name="name" direction="in"/> - </method> - - <method name="Unregister"> - <arg type="i" name="pid" direction="in"/> - </method> - - <method name="getRegistrationCount"> - <arg type="i" name="count" direction="out"/> - </method> - </interface> +<node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.Instance"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p> + </tp:docstring> + <method name="Register" tp:name-for-bindings="Register"> + <tp:docstring> + Register a new client to the core. Increments the registration count. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + <arg type="s" name="name" direction="in"> + <tp:docstring> + The name of the client + </tp:docstring> + </arg> + </method> + <method name="Unregister" tp:name-for-bindings="Unregister"> + <tp:docstring> + Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + </method> + + <method name="getRegistrationCount" tp:name-for-bindings="getRegistrationCount"> + <tp:docstring> + Get the number of connected clients. + </tp:docstring> + <arg type="i" name="count" direction="out"> + <tp:docstring> + The number of client currently connected to the core + </tp:docstring> + </arg> + </method> + + + </interface> </node> diff --git a/sflphone-common/src/dbus/instance.cpp b/sflphone-common/src/dbus/instance.cpp index e70322d6fc19c5426cd8037f4942a4c975a3a616..5813332ffbe071d06d9ccc95c1ccd3423b048cc9 100644 --- a/sflphone-common/src/dbus/instance.cpp +++ b/sflphone-common/src/dbus/instance.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <global.h> #include <instance.h> diff --git a/sflphone-common/src/dbus/instance.h b/sflphone-common/src/dbus/instance.h index 9a81caafc89e04874277612259c6308e59d9b6cb..d963e5d1319860a7d137edba0c4081dc9dcc9eac 100644 --- a/sflphone-common/src/dbus/instance.h +++ b/sflphone-common/src/dbus/instance.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef INSTANCE_H diff --git a/sflphone-common/src/dbus/networkmanager.cpp b/sflphone-common/src/dbus/networkmanager.cpp index 4b1f0b2a50c48e66beaccba0270e0175ae5f17a4..2e106167591b267648886a046fa168819d471d4a 100644 --- a/sflphone-common/src/dbus/networkmanager.cpp +++ b/sflphone-common/src/dbus/networkmanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifdef USE_NETWORKMANAGER diff --git a/sflphone-common/src/dbus/networkmanager.h b/sflphone-common/src/dbus/networkmanager.h index bf18e15c6319a5bd66d9bb271ee333749395393c..3754669751e101a6038130cb7d4d93c29b7219d7 100644 --- a/sflphone-common/src/dbus/networkmanager.h +++ b/sflphone-common/src/dbus/networkmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef NETWORKMANAGER_H diff --git a/sflphone-common/src/eventthread.cpp b/sflphone-common/src/eventthread.cpp index 3c548e5f7140daa6461497d9a47eaa5ea24a39c6..cc16b5e77f45e448e13455b5ed99853c9b17fcda 100644 --- a/sflphone-common/src/eventthread.cpp +++ b/sflphone-common/src/eventthread.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "eventthread.h" @@ -54,7 +65,7 @@ void AudioThread::run (void) { while (!testCancel()) { _alsa->audioCallback(); - Thread::sleep (3); + Thread::sleep (20); } } diff --git a/sflphone-common/src/eventthread.h b/sflphone-common/src/eventthread.h index 0d631ef066254593e976e1837b1f1e54c2df7594..eca20c22dc8c40ec39135eaf2539943f85373876 100644 --- a/sflphone-common/src/eventthread.h +++ b/sflphone-common/src/eventthread.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __EVENT_THREAD_H__ @@ -22,6 +33,7 @@ #include <cc++/thread.h> + class VoIPLink; class AlsaLayer; diff --git a/sflphone-common/src/global.h b/sflphone-common/src/global.h index 69973228a24a937e01c443f335196e86f7bc22b5..552616d7851be88197c105e84c062d3c0b2710fc 100644 --- a/sflphone-common/src/global.h +++ b/sflphone-common/src/global.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __GLOBAL_H__ @@ -33,7 +44,7 @@ #include <vector> #include "logger.h" -#define SFLPHONED_VERSION "0.9.7" /** Version number */ +#define SFLPHONED_VERSION "0.9.8" /** Version number */ #define HOMEDIR (getenv ("HOME")) /** Home directory */ #define XDG_DATA_HOME (getenv ("XDG_DATA_HOME")) @@ -86,6 +97,8 @@ static const SOUND_FORMAT INT32 = 0x8; #define PCM_PLUGHW "plughw" /** Alsa plugin */ #define PCM_DEFAULT "default" /** Default ALSA plugin */ #define PCM_DMIX "plug:dmix" /** Alsa plugin for software mixing */ +#define PCM_DSNOOP "plug:dsnoop" /** Alsa plugin for microphone sharing */ +#define PCM_DMIX_DSNOOP "dmix/dsnoop" /** Audio profile using Alsa dmix/dsnoop */ #define SFL_CODEC_VALID_PREFIX "libcodec_" /** Valid prefix for codecs shared library */ #define SFL_CODEC_VALID_EXTEN ".so" /** Valid extension for codecs shared library */ @@ -95,6 +108,7 @@ static const SOUND_FORMAT INT32 = 0x8; #define SFL_PCM_BOTH 0x0021 /** To open both playback and capture devices */ #define SFL_PCM_PLAYBACK 0x0022 /** To open playback device only */ #define SFL_PCM_CAPTURE 0x0023 /** To open capture device only */ +#define SFL_PCM_RINGTONE 0x0024 #ifdef USE_IAX #define IAX2_ENABLED true /** IAX2 support */ diff --git a/sflphone-common/src/history/historyitem.cpp b/sflphone-common/src/history/historyitem.cpp index d8d12d7232d90b0f26b8159118e0fa7232a5ff58..11f47ceb2c2e9cc663eb51a6764b85e6876e6f87 100644 --- a/sflphone-common/src/history/historyitem.cpp +++ b/sflphone-common/src/history/historyitem.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <historyitem.h> diff --git a/sflphone-common/src/history/historyitem.h b/sflphone-common/src/history/historyitem.h index 1d429a26e745cd2590561517b20dd24e94ef097d..55b12cb5b8785516cbb77f46b43570018a037ff2 100644 --- a/sflphone-common/src/history/historyitem.h +++ b/sflphone-common/src/history/historyitem.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _HISTORY_ITEM diff --git a/sflphone-common/src/history/historymanager.cpp b/sflphone-common/src/history/historymanager.cpp index 1fb5b991547caf37acb6bafa18753e2789090cdb..54fa6d1eb614b40a17f35f645f5b5e02b53f6ac4 100644 --- a/sflphone-common/src/history/historymanager.cpp +++ b/sflphone-common/src/history/historymanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <historymanager.h> @@ -32,9 +43,18 @@ HistoryManager::HistoryManager () HistoryManager::~HistoryManager () { + HistoryItemMap::iterator iter = _history_items.begin(); + + HistoryItem * item; + while(iter != _history_items.end()){ + item = iter->second; + delete item; + iter++; + } // Clear the history map _history_items.clear (); + } int HistoryManager::load_history (int limit, std::string path) diff --git a/sflphone-common/src/history/historymanager.h b/sflphone-common/src/history/historymanager.h index b00b509c3c4d7370e3ef1639e4f598aa074ccf37..e8966dfeb200e832dd3819df842843925155a879 100644 --- a/sflphone-common/src/history/historymanager.h +++ b/sflphone-common/src/history/historymanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _HISTORY_MANAGER @@ -45,7 +56,7 @@ class HistoryManager { /** *@param path A specific file to use; if empty, use the global one * - *@return int The number of history items succesfully loaded + *@return int The number of history items successfully loaded */ int load_history (int limit, std::string path=""); diff --git a/sflphone-common/src/hooks/urlhook.cpp b/sflphone-common/src/hooks/urlhook.cpp index 3538602fb773a926d74162f49e9b8e6ff8942fe5..f74aa00ef0794c41f15e84bb96d2040b5e476f40 100644 --- a/sflphone-common/src/hooks/urlhook.cpp +++ b/sflphone-common/src/hooks/urlhook.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "urlhook.h" diff --git a/sflphone-common/src/hooks/urlhook.h b/sflphone-common/src/hooks/urlhook.h index 9b3dffb64edce5f3e1642d6bb8c67506439cf8a2..49208656063665caf781c681d8247c368e9e5e3b 100644 --- a/sflphone-common/src/hooks/urlhook.h +++ b/sflphone-common/src/hooks/urlhook.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef URL_HOOK_H diff --git a/sflphone-common/src/iax/iaxaccount.cpp b/sflphone-common/src/iax/iaxaccount.cpp index de210fda00b12026e09d891035ff83e2ff8a9424..2c277cb0827ee138efb7e835d4362a188ba7d032 100644 --- a/sflphone-common/src/iax/iaxaccount.cpp +++ b/sflphone-common/src/iax/iaxaccount.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "iaxaccount.h" diff --git a/sflphone-common/src/iax/iaxaccount.h b/sflphone-common/src/iax/iaxaccount.h index 54e6094de703b9e50c693b11af77871877a9cd84..929f7af38a8fa391bc154c88fa05f72ce138cbec 100644 --- a/sflphone-common/src/iax/iaxaccount.h +++ b/sflphone-common/src/iax/iaxaccount.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef IAXACCOUNT_H #define IAXACCOUNT_H @@ -36,7 +47,7 @@ class IAXAccount : public Account void setVoIPLink (); /** - * Actually unuseful, since config loading is done in init() + * Actually useless, since config loading is done in init() */ void loadConfig(); diff --git a/sflphone-common/src/iax/iaxcall.cpp b/sflphone-common/src/iax/iaxcall.cpp index be152908e611ac9411a290615fccfc678568cb2d..7964df857fdf82434c65277334068f0b97d34bf1 100644 --- a/sflphone-common/src/iax/iaxcall.cpp +++ b/sflphone-common/src/iax/iaxcall.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "iaxcall.h" diff --git a/sflphone-common/src/iax/iaxcall.h b/sflphone-common/src/iax/iaxcall.h index 12dc670428640ae08f22e922ed1810471ce7ff4e..7ecb1558cacf79ab3e79f6c56276726fd4d24503 100644 --- a/sflphone-common/src/iax/iaxcall.h +++ b/sflphone-common/src/iax/iaxcall.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef IAXCALL_H #define IAXCALL_H diff --git a/sflphone-common/src/iax/iaxvoiplink.cpp b/sflphone-common/src/iax/iaxvoiplink.cpp index 9139b07b3be0d76540082bb26f86a85a26fb447b..0649b34df34770174505e3618ddab47c0512aad1 100644 --- a/sflphone-common/src/iax/iaxvoiplink.cpp +++ b/sflphone-common/src/iax/iaxvoiplink.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "iaxvoiplink.h" #include "iaxcall.h" diff --git a/sflphone-common/src/iax/iaxvoiplink.h b/sflphone-common/src/iax/iaxvoiplink.h index d67ef72b3e3302a6801127f5bafd8f69607ca28a..0f61f5958823b218193d838a2c89df133654805b 100644 --- a/sflphone-common/src/iax/iaxvoiplink.h +++ b/sflphone-common/src/iax/iaxvoiplink.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2007-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef IAXVOIPLINK_H #define IAXVOIPLINK_H diff --git a/sflphone-common/src/logger.cpp b/sflphone-common/src/logger.cpp index 08ab98f208b30acbb131f751aa9b8e2080615d3c..9269553817df1e55b73465fba9445a6cb1b64fd3 100644 --- a/sflphone-common/src/logger.cpp +++ b/sflphone-common/src/logger.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "logger.h" diff --git a/sflphone-common/src/logger.h b/sflphone-common/src/logger.h index ec199b21d597969dea82cd0068c471e1f44330cf..7bf8ec75d60e7a0607d6abfbeeda9a17921f92ad 100644 --- a/sflphone-common/src/logger.h +++ b/sflphone-common/src/logger.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __LOGGER_H__ diff --git a/sflphone-common/src/main.cpp b/sflphone-common/src/main.cpp index 6f2d05cfe73e9dcc393235620bff131986218ed8..aca2e1f1547ccfcf0770eddbd476ccf90b87253b 100644 --- a/sflphone-common/src/main.cpp +++ b/sflphone-common/src/main.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <libintl.h> diff --git a/sflphone-common/src/manager.h b/sflphone-common/src/manager.h index bd5f3fca2275348fe979868d5475009649880f86..e9324055911b07075cc5ff6420b79b64a5a2c643 100644 --- a/sflphone-common/src/manager.h +++ b/sflphone-common/src/manager.h @@ -1,5 +1,5 @@ -/** - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author : Jean-Philippe Barrette-LaPierre * <jean-philippe.barrette-lapierre@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef SFLPHONE_MANAGER_H diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index 501e490911ca9bc663f13093be4ea85d4b97310f..da9bbcf51f4c5b0d39c2541c9d25035863727533 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -20,6 +20,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "managerimpl.h" @@ -61,2132 +72,1904 @@ #define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, len) -ManagerImpl::ManagerImpl (void) - : _hasTriedToRegister (false) - , _config() - , _currentCallId2() - , _currentCallMutex() - , _codecBuilder (NULL) - , _audiodriver (NULL) - , _dtmfKey (NULL) - , _codecDescriptorMap() - , _toneMutex() - , _telephoneTone (NULL) - , _audiofile() - , _spkr_volume (0) - , _mic_volume (0) - , _mutex() - , _dbus (NULL) - , _waitingCall() - , _waitingCallMutex() - , _nbIncomingWaitingCall (0) - , _path ("") - , _exist (0) - , _setupLoaded (false) - , _callAccountMap() - , _callAccountMapMutex() - , _callConfigMap() - , _accountMap() - , _directIpAccount (NULL) - , _cleaner (NULL) - , _history (NULL) -{ - - // initialize random generator for call id - srand (time (NULL)); - - _cleaner = new NumberCleaner (); - _history = new HistoryManager (); +#define find_in_map(X, Y) if((iter = map_cpy.find(X)) != map_cpy.end()) { Y = iter->second; } + +ManagerImpl::ManagerImpl (void) : + _hasTriedToRegister(false), _config(), _currentCallId2(), + _currentCallMutex(), _codecBuilder(NULL), _audiodriver(NULL), + _dtmfKey(NULL), _codecDescriptorMap(), _toneMutex(), + _telephoneTone(NULL), _audiofile(), _spkr_volume(0), + _mic_volume(0), _mutex(), _dbus(NULL), _waitingCall(), + _waitingCallMutex(), _nbIncomingWaitingCall(0), _path(""), + _exist(0), _setupLoaded(false), _callAccountMap(), + _callAccountMapMutex(), _callConfigMap(), _accountMap(), + _directIpAccount(NULL), _cleaner(NULL), _history(NULL) { + + // initialize random generator for call id + srand(time(NULL)); + + _cleaner = new NumberCleaner(); + _history = new HistoryManager(); #ifdef TEST - testAccountMap(); - loadAccountMap(); - testCallAccountMap(); - unloadAccountMap(); + testAccountMap(); + loadAccountMap(); + testCallAccountMap(); + unloadAccountMap(); #endif - // should be call before initConfigFile - // loadAccountMap();, called in init() now. + // should be call before initConfigFile + // loadAccountMap();, called in init() now. } // never call if we use only the singleton... -ManagerImpl::~ManagerImpl (void) -{ - // terminate(); - delete _cleaner; - _cleaner=0; - _debug ("%s stop correctly.", PROGNAME); +ManagerImpl::~ManagerImpl (void) { + // terminate(); + delete _cleaner; _cleaner = NULL; + delete _history; _history = NULL; + + _debug ("Manager: %s stop correctly.", PROGNAME); } -void -ManagerImpl::init() -{ +void ManagerImpl::init () { - // Load accounts, init map - loadAccountMap(); + // Load accounts, init map + loadAccountMap(); - initVolume(); + initVolume(); - if (_exist == 0) { - _debug ("Cannot create config file in your home directory"); - } + if (_exist == 0) { + _warn ("Manager: Cannot create config file in your home directory"); + } - initAudioDriver(); + initAudioDriver(); - selectAudioDriver(); + selectAudioDriver(); - // Initialize the list of supported audio codecs - initAudioCodec(); + // Initialize the list of supported audio codecs + initAudioCodec(); - AudioLayer *audiolayer = getAudioDriver(); + AudioLayer *audiolayer = getAudioDriver(); - if (audiolayer != 0) { - unsigned int sampleRate = audiolayer->getSampleRate(); + if (audiolayer) { + unsigned int sampleRate = audiolayer->getSampleRate(); - _debugInit ("Load Telephone Tone"); - std::string country = getConfigString (PREFERENCES, ZONE_TONE); - _telephoneTone = new TelephoneTone (country, sampleRate); + _debugInit ("Manager: Load telephone tone"); + std::string country = getConfigString(PREFERENCES, ZONE_TONE); + _telephoneTone = new TelephoneTone(country, sampleRate); - _debugInit ("Loading DTMF key"); - _dtmfKey = new DTMF (sampleRate); - } + _debugInit ("Manager: Loading DTMF key"); + _dtmfKey = new DTMF(sampleRate); + } - if (audiolayer == 0) - audiolayer->stopStream(); + // Load the history + _history->load_history(getConfigInt(PREFERENCES, CONFIG_HISTORY_LIMIT)); +} +void ManagerImpl::terminate () { - // Load the history - _history->load_history (getConfigInt (PREFERENCES, CONFIG_HISTORY_LIMIT)); -} + _debug ("Manager: Terminate "); + saveConfig(); -void ManagerImpl::terminate() -{ - _debug ("ManagerImpl::terminate "); - saveConfig(); + unloadAccountMap(); - unloadAccountMap(); + _debug ("Manager: Unload DTMF key"); + delete _dtmfKey; - _debug ("Unload DTMF Key "); - delete _dtmfKey; + _debug("Manager: Unload telephone tone"); + delete _telephoneTone; _telephoneTone = NULL; - _debug ("Unload Audio Driver "); - delete _audiodriver; - _audiodriver = NULL; + _debug ("Manager: Unload audio driver"); + delete _audiodriver; _audiodriver = NULL; - _debug ("Unload Telephone Tone "); - delete _telephoneTone; - _telephoneTone = NULL; + _debug ("Manager: Unload telephone tone"); + delete _telephoneTone; _telephoneTone = NULL; - _debug ("Unload Audio Codecs "); - _codecDescriptorMap.deleteHandlePointer(); + _debug ("Manager: Unload audio codecs "); + _codecDescriptorMap.deleteHandlePointer(); } -bool -ManagerImpl::isCurrentCall (const CallID& callId) -{ - return (_currentCallId2 == callId ? true : false); +bool ManagerImpl::isCurrentCall (const CallID& callId) { + return (_currentCallId2 == callId ? true : false); } -bool -ManagerImpl::hasCurrentCall() -{ - // _debug ("ManagerImpl::hasCurrentCall current call ID = %s", _currentCallId2.c_str()); +bool ManagerImpl::hasCurrentCall () { + // _debug ("ManagerImpl::hasCurrentCall current call ID = %s", _currentCallId2.c_str()); - if (_currentCallId2 != "") { - return true; - } + if (_currentCallId2 != "") { + return true; + } - return false; + return false; } const CallID& -ManagerImpl::getCurrentCallId() -{ - return _currentCallId2; +ManagerImpl::getCurrentCallId () { + return _currentCallId2; } -void -ManagerImpl::switchCall (const CallID& id) -{ - ost::MutexLock m (_currentCallMutex); - _debug ("----- Switch current call id to %s -----", id.c_str()); - _currentCallId2 = id; - - /* - AudioLayer *al = getAudioDriver(); - - if (id != "") { - - if(isConference(id)) { - - Conference *conf; - - ConferenceMap::iterator iter = _conferencemap.find(id); - if(iter != _conferencemap.end()) - { - _debug(" set call recordable in audio layer"); - conf = iter->second; - al->setRecorderInstance((Recordable*)conf); - } - } - else { - - // set the recordable instance in audiolayer - AccountID account_id = getAccountFromCall(id); - - - Call *call = NULL; - call = getAccountLink (account_id)->getCall(id); - - _debug(" set call recordable in audio layer"); - al->setRecorderInstance((Recordable*)call); - } - } - */ +void ManagerImpl::switchCall (const CallID& id) { + ost::MutexLock m(_currentCallMutex); + _debug ("----- Switch current call id to %s -----", id.c_str()); + _currentCallId2 = id; } - /////////////////////////////////////////////////////////////////////////////// // Management of events' IP-phone user /////////////////////////////////////////////////////////////////////////////// /* Main Thread */ -bool -ManagerImpl::outgoingCall (const std::string& account_id, const CallID& call_id, const std::string& to) -{ - std::string pattern, to_cleaned; - Call::CallConfiguration callConfig; - SIPVoIPLink *siplink; - - _debug ("ManagerImpl::outgoingCall(%s)", call_id.c_str()); - - CallID current_call_id = getCurrentCallId(); - - if (getConfigString (HOOKS, PHONE_NUMBER_HOOK_ENABLED) == "1") - _cleaner->set_phone_number_prefix (getConfigString (HOOKS, PHONE_NUMBER_HOOK_ADD_PREFIX)); - else - _cleaner->set_phone_number_prefix (""); +bool ManagerImpl::outgoingCall (const std::string& account_id, + const CallID& call_id, const std::string& to) { - to_cleaned = _cleaner->clean (to); + std::string pattern, to_cleaned; + Call::CallConfiguration callConfig; + SIPVoIPLink *siplink; - /* Check what kind of call we are dealing with */ - check_call_configuration (call_id, to_cleaned, &callConfig); + _debug ("Manager: New outgoing call %s to %s", call_id.c_str(), to.c_str()); - // in any cases we have to detach from current communication - if (hasCurrentCall()) { + CallID current_call_id = getCurrentCallId(); - _debug (" outgoingCall: Has current call (%s) put it onhold", current_call_id.c_str()); + if (getConfigString(HOOKS, PHONE_NUMBER_HOOK_ENABLED) == "1") + _cleaner->set_phone_number_prefix(getConfigString(HOOKS, + PHONE_NUMBER_HOOK_ADD_PREFIX)); + else + _cleaner->set_phone_number_prefix(""); - // if this is not a conferenceand this and is not a conference participant + to_cleaned = _cleaner->clean(to); - if (!isConference (current_call_id) && !participToConference (current_call_id)) { - _debug (" outgoingCall: Put the current call (%s) on hold", current_call_id.c_str()); - onHoldCall (current_call_id); - } else if (isConference (current_call_id) && !participToConference (call_id)) { - _debug (" outgoingCall: detach main participant from conference"); - detachParticipant (default_id, current_call_id); - } - } + /* Check what kind of call we are dealing with */ + check_call_configuration(call_id, to_cleaned, &callConfig); - if (callConfig == Call::IPtoIP) { - _debug (" outgoingCall: Start IP to IP call"); - /* We need to retrieve the sip voiplink instance */ - siplink = SIPVoIPLink::instance (""); + // in any cases we have to detach from current communication + if (hasCurrentCall()) { - if (siplink->new_ip_to_ip_call (call_id, to_cleaned)) { - switchCall (call_id); - return true; - } else { - callFailure (call_id); - } + _debug ("Manager: Has current call (%s) put it onhold", current_call_id.c_str()); + // if this is not a conferenceand this and is not a conference participant + if (!isConference(current_call_id) && !participToConference(current_call_id)) { + onHoldCall(current_call_id); + } else if (isConference(current_call_id) && !participToConference(call_id)) { + detachParticipant(default_id, current_call_id); + } + } - return false; - } + if (callConfig == Call::IPtoIP) { + _debug ("Manager: Start IP2IP call"); + /* We need to retrieve the sip voiplink instance */ + siplink = SIPVoIPLink::instance(""); - if (!accountExists (account_id)) { - _debug ("! Manager Error: Outgoing Call: account doesn't exist"); - return false; - } + if (siplink->new_ip_to_ip_call(call_id, to_cleaned)) { + switchCall(call_id); + return true; + } else { + callFailure(call_id); + } - if (getAccountFromCall (call_id) != AccountNULL) { - _debug ("! Manager Error: Outgoing Call: call id already exists"); - return false; - } + return false; + } + _debug("Manager: Selecting account %s", account_id.c_str()); + if (!accountExists(account_id)) { + _error ("Manager: Error: Account doesn't exist in new outgoing call"); + return false; + } - _debug ("- Manager Action: Adding Outgoing Call %s on account %s", call_id.data(), account_id.data()); + if (getAccountFromCall(call_id) != AccountNULL) { + _error ("Manager: Error: Call id already exists in outgoing call"); + return false; + } - associateCallToAccount (call_id, account_id); + _debug ("Manager: Adding Outgoing Call %s on account %s", call_id.data(), account_id.data()); + associateCallToAccount(call_id, account_id); - if (getAccountLink (account_id)->newOutgoingCall (call_id, to_cleaned)) { - switchCall (call_id); - return true; - } else { - callFailure (call_id); - _debug ("! Manager Error: An error occur, the call was not created"); - } + if (getAccountLink(account_id)->newOutgoingCall(call_id, to_cleaned)) { + switchCall(call_id); + return true; + } else { + callFailure(call_id); + _debug ("Manager: Error: An error occur, the call was not created"); + } - return false; + return false; } //THREAD=Main : for outgoing Call -bool -ManagerImpl::answerCall (const CallID& call_id) -{ +bool ManagerImpl::answerCall (const CallID& call_id) { - _debug ("ManagerImpl::answerCall(%s)", call_id.c_str()); + _debug ("ManagerImpl: Answer call %s", call_id.c_str()); - stopTone (); + stopTone(); - // store the current call id - CallID current_call_id = getCurrentCallId(); + // store the current call id + CallID current_call_id = getCurrentCallId(); - AccountID account_id = getAccountFromCall (call_id); + AccountID account_id = getAccountFromCall(call_id); - if (account_id == AccountNULL) { - _debug (" answerCall: AccountId is null"); - } - - Call* call = NULL; + if (account_id == AccountNULL) { + _debug (" answerCall: AccountId is null"); + } - call = getAccountLink (account_id)->getCall (call_id); + Call* call = NULL; - if (call == NULL) { - _debug (" answerCall: Call is null"); - } + call = getAccountLink(account_id)->getCall(call_id); - // in any cases we have to detach from current communication - if (hasCurrentCall()) { + if (call == NULL) { + _debug (" answerCall: Call is null"); + } - _debug (" answerCall: Currently conversing with %s", current_call_id.c_str()); - // if it is not a conference and is not a conference participant + // in any cases we have to detach from current communication + if (hasCurrentCall()) { - if (!isConference (current_call_id) && !participToConference (current_call_id)) { - _debug (" answerCall: Put the current call (%s) on hold", current_call_id.c_str()); - onHoldCall (current_call_id); - } + _debug (" answerCall: Currently conversing with %s", current_call_id.c_str()); + // if it is not a conference and is not a conference participant - // if we are talking to a conference and we are answering an incoming call - else if (isConference (current_call_id) && !participToConference (call_id)) { - _debug (" answerCall: Detach main participant from conference"); - detachParticipant (default_id, current_call_id); - } + if (!isConference(current_call_id) && !participToConference( + current_call_id)) { + _debug (" answerCall: Put the current call (%s) on hold", current_call_id.c_str()); + onHoldCall(current_call_id); + } - } + // if we are talking to a conference and we are answering an incoming call + else if (isConference(current_call_id) + && !participToConference(call_id)) { + _debug (" answerCall: Detach main participant from conference"); + detachParticipant(default_id, current_call_id); + } + } - if (!getAccountLink (account_id)->answer (call_id)) { - // error when receiving... - removeCallAccount (call_id); - return false; - } + if (!getAccountLink(account_id)->answer(call_id)) { + // error when receiving... + removeCallAccount(call_id); + return false; + } - // if it was waiting, it's waiting no more - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "CURRENT"); + // if it was waiting, it's waiting no more + if (_dbus) + _dbus->getCallManager()->callStateChanged(call_id, "CURRENT"); - // std::string codecName = Manager::instance().getCurrentCodecName (call_id); - // if (_dbus) _dbus->getCallManager()->currentSelectedCodec (call_id, codecName.c_str()); + // std::string codecName = Manager::instance().getCurrentCodecName (call_id); + // if (_dbus) _dbus->getCallManager()->currentSelectedCodec (call_id, codecName.c_str()); - removeWaitingCall (call_id); + removeWaitingCall(call_id); - // if we dragged this call into a conference already - if (participToConference (call_id)) { + // if we dragged this call into a conference already + if (participToConference(call_id)) { - // AccountID currentAccountId; - // Call* call = NULL; + // AccountID currentAccountId; + // Call* call = NULL; - // currentAccountId = getAccountFromCall (call_id); - // call = getAccountLink (currentAccountId)->getCall (call_id); + // currentAccountId = getAccountFromCall (call_id); + // call = getAccountLink (currentAccountId)->getCall (call_id); - switchCall (call->getConfId()); - } else { - switchCall (call_id); - } + switchCall(call->getConfId()); + } else { + switchCall(call_id); + } - return true; + return true; } //THREAD=Main -bool -ManagerImpl::hangupCall (const CallID& call_id) -{ - _debug ("ManagerImpl::hangupCall(%s)", call_id.c_str()); - PulseLayer *pulselayer; - AccountID account_id; - bool returnValue = true; +bool ManagerImpl::hangupCall (const CallID& call_id) { - // store the current call id - CallID current_call_id = getCurrentCallId(); + _info("Manager: Hangup call %s", call_id.c_str()); - stopTone (); + PulseLayer *pulselayer; + AccountID account_id; + bool returnValue = true; - /* Broadcast a signal over DBus */ - _debug (" hangupCall: Send DBUS call state change (HUNGUP) for id %s", call_id.c_str()); + // store the current call id + CallID current_call_id = getCurrentCallId(); - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "HUNGUP"); + stopTone(); - if (participToConference (call_id)) { + /* Broadcast a signal over DBus */ + _debug ("Manager: Send DBUS call state change (HUNGUP) for id %s", call_id.c_str()); - Conference *conf = getConferenceFromCallID (call_id); + if (_dbus) + _dbus->getCallManager()->callStateChanged(call_id, "HUNGUP"); - if (conf != NULL) { - // remove this participant - removeParticipant (call_id); + if (participToConference(call_id)) { - processRemainingParticipant (current_call_id, conf); - } + Conference *conf = getConferenceFromCallID(call_id); - } else { - // we are not participating to a conference, current call switched to "" - if (!isConference (current_call_id)) - switchCall (""); - } + if (conf != NULL) { + // remove this participant + removeParticipant(call_id); - /* Direct IP to IP call */ - if (getConfigFromCall (call_id) == Call::IPtoIP) { - returnValue = SIPVoIPLink::instance (AccountNULL)->hangup (call_id); - } - /* Classic call, attached to an account */ - else { - account_id = getAccountFromCall (call_id); + processRemainingParticipant(current_call_id, conf); + } - if (account_id == AccountNULL) { + } else { + // we are not participating to a conference, current call switched to "" + if (!isConference(current_call_id)) + switchCall(""); + } - _debug ("! Manager Hangup Call: Call doesn't exists"); - returnValue = false; - } + /* Direct IP to IP call */ + if (getConfigFromCall(call_id) == Call::IPtoIP) { + returnValue = SIPVoIPLink::instance(AccountNULL)->hangup(call_id); + } + /* Classic call, attached to an account */ else { - - returnValue = getAccountLink (account_id)->hangup (call_id); - removeCallAccount (call_id); + account_id = getAccountFromCall(call_id); + + // Account may be NULL if call have not been sent yet + if (account_id == AccountNULL) { + _error ("Manager: Error: account id is NULL in hangup"); + returnValue = false; + } else { + returnValue = getAccountLink(account_id)->hangup(call_id); + removeCallAccount(call_id); + } } - } - int nbCalls = getCallList().size(); + int nbCalls = getCallList().size(); - AudioLayer *audiolayer = getAudioDriver(); + AudioLayer *audiolayer = getAudioDriver(); - // stop streams - if (audiolayer && (nbCalls <= 0)) { - _debug (" hangupCall: stop audio stream, ther is only %i call(s) remaining", nbCalls); - audiolayer->stopStream(); - } + // stop streams + if (audiolayer && (nbCalls <= 0)) { + _debug ("Manager: stop audio stream, ther is only %i call(s) remaining", nbCalls); + audiolayer->stopStream(); + } - if (_audiodriver->getLayerType() == PULSEAUDIO) { - pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); - } + if (_audiodriver->getLayerType() == PULSEAUDIO) { + pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); + } - return returnValue; + return returnValue; } +bool ManagerImpl::hangupConference (const ConfID& id) { -bool -ManagerImpl::hangupConference (const ConfID& id) -{ - _debug ("ManagerImpl::hangupConference()"); + _debug ("Manager: Hangup conference %s", id.c_str()); - Conference *conf; - ConferenceMap::iterator iter_conf = _conferencemap.find (id); + Conference *conf; + ConferenceMap::iterator iter_conf = _conferencemap.find(id); - AccountID currentAccountId; + AccountID currentAccountId; - // Call* call = NULL; + // Call* call = NULL; - if (iter_conf != _conferencemap.end()) { - conf = iter_conf->second; + if (iter_conf != _conferencemap.end()) { + conf = iter_conf->second; - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); - while (iter_participant != participants.end()) { - _debug ("ManagerImpl::hangupConference participant %s", (*iter_participant).c_str()); + while (iter_participant != participants.end()) { + _debug ("Manager: Hangup onference participant %s", (*iter_participant).c_str()); - hangupCall (*iter_participant); + hangupCall(*iter_participant); - iter_participant++; + iter_participant++; - } + } - } + } - switchCall (""); + switchCall(""); - return true; + return true; } - //THREAD=Main -bool -ManagerImpl::cancelCall (const CallID& id) -{ - AccountID accountid; - bool returnValue; +bool ManagerImpl::cancelCall (const CallID& id) { + AccountID accountid; + bool returnValue; - stopTone (); + _debug("Manager: Cancel call"); - /* Direct IP to IP call */ + stopTone(); - if (getConfigFromCall (id) == Call::IPtoIP) { - returnValue = SIPVoIPLink::instance (AccountNULL)->cancel (id); - } + /* Direct IP to IP call */ - /* Classic call, attached to an account */ - else { - accountid = getAccountFromCall (id); + if (getConfigFromCall(id) == Call::IPtoIP) { + returnValue = SIPVoIPLink::instance(AccountNULL)->cancel(id); + } - if (accountid == AccountNULL) { - _debug ("! Manager Cancel Call: Call doesn't exists"); - return false; - } + /* Classic call, attached to an account */ + else { + accountid = getAccountFromCall(id); - returnValue = getAccountLink (accountid)->cancel (id); + if (accountid == AccountNULL) { + _debug ("! Manager Cancel Call: Call doesn't exists"); + return false; + } - removeCallAccount (id); - } + returnValue = getAccountLink(accountid)->cancel(id); + + removeCallAccount(id); + } - // it could be a waiting call? - removeWaitingCall (id); + // it could be a waiting call? + removeWaitingCall(id); - switchCall (""); + switchCall(""); - return returnValue; + return returnValue; } //THREAD=Main -bool -ManagerImpl::onHoldCall (const CallID& call_id) -{ - AccountID account_id; - bool returnValue; +bool ManagerImpl::onHoldCall (const CallID& call_id) { + AccountID account_id; + bool returnValue; - _debug ("ManagerImpl::onHoldCall(%s)", call_id.c_str()); + _debug ("Manager: Put call %s on hold", call_id.c_str()); - stopTone (); + stopTone(); - CallID current_call_id = getCurrentCallId(); + CallID current_call_id = getCurrentCallId(); - _debug (" onHoldCall: try to put call %s on hold", call_id.c_str()); - /* Direct IP to IP call */ + /* Direct IP to IP call */ - if (getConfigFromCall (call_id) == Call::IPtoIP) { - returnValue = SIPVoIPLink::instance (AccountNULL)-> onhold (call_id); - } + if (getConfigFromCall(call_id) == Call::IPtoIP) { + returnValue = SIPVoIPLink::instance(AccountNULL)-> onhold(call_id); + } - /* Classic call, attached to an account */ - else { - account_id = getAccountFromCall (call_id); + /* Classic call, attached to an account */ + else { + account_id = getAccountFromCall(call_id); - if (account_id == AccountNULL) { - _debug (" onHoldCall: Account ID %s or callid %s doesn't exists", account_id.c_str(), call_id.c_str()); - return false; - } + if (account_id == AccountNULL) { + _debug ("Manager: Account ID %s or callid %s doesn't exists in call onHold", account_id.c_str(), call_id.c_str()); + return false; + } - returnValue = getAccountLink (account_id)->onhold (call_id); - } + returnValue = getAccountLink(account_id)->onhold(call_id); + } - removeWaitingCall (call_id); + removeWaitingCall(call_id); - // keeps current call id if the action is not holding this call or a new outgoing call + // keeps current call id if the action is not holding this call or a new outgoing call - if (current_call_id == call_id) { + if (current_call_id == call_id) { - switchCall (""); - } + switchCall(""); + } - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "HOLD"); + if (_dbus) + _dbus->getCallManager()->callStateChanged(call_id, "HOLD"); - return returnValue; + return returnValue; } //THREAD=Main -bool -ManagerImpl::offHoldCall (const CallID& call_id) -{ - - AccountID account_id; - bool returnValue, is_rec; - std::string codecName; - - is_rec = false; - - _debug ("ManagerImpl::offHoldCall(%s)", call_id.c_str()); +bool ManagerImpl::offHoldCall (const CallID& call_id) { - stopTone (); + AccountID account_id; + bool returnValue, is_rec; + std::string codecName; - CallID current_call_id = getCurrentCallId(); + is_rec = false; - //Place current call on hold if it isn't + _debug ("Manager: Put call %s off hold", call_id.c_str()); - if (hasCurrentCall()) { - // if this is not a conferenceand this and is not a conference participant - if (!isConference (current_call_id) && !participToConference (current_call_id)) { - _debug (" offHoldCall: put current call (%s) on hold", current_call_id.c_str()); - onHoldCall (current_call_id); - } else if (isConference (current_call_id) && !participToConference (call_id)) { - _debug (" offHoldCall Put current conference (%s) on hold", current_call_id.c_str()); - detachParticipant (default_id, current_call_id); - } - } - - // switch current call id to id since sipvoip link need it to amke a call - // switchCall(id); - - /* Direct IP to IP call */ - if (getConfigFromCall (call_id) == Call::IPtoIP) { - // is_rec = SIPVoIPLink::instance (AccountNULL)-> isRecording (call_id); - returnValue = SIPVoIPLink::instance (AccountNULL)-> offhold (call_id); - } + stopTone(); - /* Classic call, attached to an account */ - else { - account_id = getAccountFromCall (call_id); + CallID current_call_id = getCurrentCallId(); - if (account_id == AccountNULL) { - _debug ("Manager OffHold Call: Call doesn't exists"); - return false; - } + //Place current call on hold if it isn't - _debug ("Setting OFFHOLD, Account %s, callid %s", account_id.c_str(), call_id.c_str()); + if (hasCurrentCall()) { + // if this is not a conferenceand this and is not a conference participant + if (!isConference(current_call_id) && !participToConference( + current_call_id)) { + onHoldCall(current_call_id); + } else if (isConference(current_call_id) && !participToConference( + call_id)) { + detachParticipant(default_id, current_call_id); + } + } - is_rec = getAccountLink (account_id)->getCall (call_id)->isRecording(); - returnValue = getAccountLink (account_id)->offhold (call_id); - } + // switch current call id to id since sipvoip link need it to amke a call + // switchCall(id); + /* Direct IP to IP call */ + if (getConfigFromCall(call_id) == Call::IPtoIP) { + // is_rec = SIPVoIPLink::instance (AccountNULL)-> isRecording (call_id); + returnValue = SIPVoIPLink::instance(AccountNULL)-> offhold(call_id); + } - if (_dbus) { - if (is_rec) - _dbus->getCallManager()->callStateChanged (call_id, "UNHOLD_RECORD"); - else - _dbus->getCallManager()->callStateChanged (call_id, "UNHOLD_CURRENT"); + /* Classic call, attached to an account */ + else { + account_id = getAccountFromCall(call_id); - } + if (account_id == AccountNULL) { + _warn ("Manager: Error: Call doesn't exists in off hold"); + return false; + } - if (participToConference (call_id)) { + _debug ("Manager: Setting offhold, Account %s, callid %s", account_id.c_str(), call_id.c_str()); - AccountID currentAccountId; - Call* call = NULL; + is_rec = getAccountLink(account_id)->getCall(call_id)->isRecording(); + returnValue = getAccountLink(account_id)->offhold(call_id); + } - currentAccountId = getAccountFromCall (call_id); - call = getAccountLink (currentAccountId)->getCall (call_id); + if (_dbus) { + if (is_rec) + _dbus->getCallManager()->callStateChanged(call_id, "UNHOLD_RECORD"); + else + _dbus->getCallManager()->callStateChanged(call_id, "UNHOLD_CURRENT"); - switchCall (call->getConfId()); + } - } else { - switchCall (call_id); - _audiodriver->flushMain(); - } + if (participToConference(call_id)) { + AccountID currentAccountId; + Call* call = NULL; - // codecName = getCurrentCodecName (call_id); - // _debug("ManagerImpl::hangupCall(): broadcast codec name %s ",codecName.c_str()); + currentAccountId = getAccountFromCall(call_id); + call = getAccountLink(currentAccountId)->getCall(call_id); - // if (_dbus) _dbus->getCallManager()->currentSelectedCodec (call_id,codecName.c_str()); + switchCall(call->getConfId()); + } else { + switchCall(call_id); + _audiodriver->flushMain(); + } - return returnValue; + return returnValue; } //THREAD=Main -bool -ManagerImpl::transferCall (const CallID& call_id, const std::string& to) -{ - AccountID accountid; - bool returnValue; - - stopTone (); - - CallID current_call_id = getCurrentCallId(); - - if (participToConference (call_id)) { - - _debug("Particip to a conference\n"); - - Conference *conf = getConferenceFromCallID (call_id); - - if (conf != NULL) { - // remove this participant - removeParticipant (call_id); +bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) { + AccountID accountid; + bool returnValue; - processRemainingParticipant (current_call_id, conf); - } - } else { + _info("Manager: Transfer call %s\n", call_id.c_str()); - _debug("Do not Particip to a conference\n"); - - // we are not participating to a conference, current call switched to "" - if (!isConference (current_call_id)) - switchCall (""); - } + CallID current_call_id = getCurrentCallId(); - /* Direct IP to IP call */ - if (getConfigFromCall (call_id) == Call::IPtoIP) { - returnValue = SIPVoIPLink::instance (AccountNULL)-> transfer (call_id, to); - } - /* Classic call, attached to an account */ - else { - accountid = getAccountFromCall (call_id); + // Direct IP to IP call + if (getConfigFromCall(call_id) == Call::IPtoIP) { + returnValue = SIPVoIPLink::instance(AccountNULL)-> transfer(call_id, to); + } + // Classic call, attached to an account + else { - if (accountid == AccountNULL) { - _debug ("! Manager Transfer Call: Call doesn't exists"); - return false; - } + accountid = getAccountFromCall(call_id); - returnValue = getAccountLink (accountid)->transfer (call_id, to); + if (accountid == AccountNULL) { + _warn ("Manager: Call doesn't exists"); + return false; + } - removeCallAccount (call_id); - } + returnValue = getAccountLink(accountid)->transfer(call_id, to); - removeWaitingCall (call_id); + } - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "HUNGUP"); + // remove waiting call in case we make transfer without even answer + removeWaitingCall(call_id); - return returnValue; + return returnValue; } -void ManagerImpl::transferFailed() -{ - if (_dbus) _dbus->getCallManager()->transferFailed(); -} +void ManagerImpl::transferFailed () { -void ManagerImpl::transferSucceded() -{ - if (_dbus) _dbus->getCallManager()->transferSucceded(); + _debug("UserAgent: Transfer failed"); + if (_dbus) + _dbus->getCallManager()->transferFailed(); } +void ManagerImpl::transferSucceded () { -//THREAD=Main : Call:Incoming -bool -ManagerImpl::refuseCall (const CallID& id) -{ - AccountID accountid; - bool returnValue; + _debug("UserAgent: Transfer succeded"); - CallID current_call_id = getCurrentCallId(); + if (_dbus) + _dbus->getCallManager()->transferSucceded(); - stopTone (); +} +//THREAD=Main : Call:Incoming +bool ManagerImpl::refuseCall (const CallID& id) { + AccountID accountid; + bool returnValue; - int nbCalls = getCallList().size(); + _debug("Manager: Refuse call %s", id.c_str()); - // AudioLayer* audiolayer = getAudioDriver(); + CallID current_call_id = getCurrentCallId(); - if (nbCalls <= 1) { - _debug (" hangupCall: stop audio stream, ther is only %i call(s) remaining", nbCalls); + stopTone(); - AudioLayer* audiolayer = getAudioDriver(); - audiolayer->stopStream(); - } + int nbCalls = getCallList().size(); - /* Direct IP to IP call */ + // AudioLayer* audiolayer = getAudioDriver(); - if (getConfigFromCall (id) == Call::IPtoIP) { - returnValue = SIPVoIPLink::instance (AccountNULL)-> refuse (id); - } + if (nbCalls <= 1) { + _debug (" refuseCall: stop audio stream, there is only %i call(s) remaining", nbCalls); - /* Classic call, attached to an account */ - else { - accountid = getAccountFromCall (id); + AudioLayer* audiolayer = getAudioDriver(); + audiolayer->stopStream(); + } - if (accountid == AccountNULL) { - _debug ("! Manager OffHold Call: Call doesn't exists"); - return false; - } + /* Direct IP to IP call */ - returnValue = getAccountLink (accountid)->refuse (id); + if (getConfigFromCall(id) == Call::IPtoIP) { + returnValue = SIPVoIPLink::instance(AccountNULL)-> refuse(id); + } - removeCallAccount (id); - } + /* Classic call, attached to an account */ + else { + accountid = getAccountFromCall(id); - // if the call was outgoing or established, we didn't refuse it - // so the method did nothing - if (returnValue) { - removeWaitingCall (id); + if (accountid == AccountNULL) { + _warn ("Manager: Call doesn't exists"); + return false; + } - if (_dbus) _dbus->getCallManager()->callStateChanged (id, "HUNGUP"); + returnValue = getAccountLink(accountid)->refuse(id); - // if(current_call_id.compare("") != 0) - // switchCall (""); - } + removeCallAccount(id); + } + // if the call was outgoing or established, we didn't refuse it + // so the method did nothing + if (returnValue) { + removeWaitingCall(id); + if (_dbus) + _dbus->getCallManager()->callStateChanged(id, "HUNGUP"); + } - return returnValue; + return returnValue; } - Conference* -ManagerImpl::createConference (const CallID& id1, const CallID& id2) -{ - _debug ("ManagerImpl::createConference()"); +ManagerImpl::createConference (const CallID& id1, const CallID& id2) { + _debug ("Manager: Create conference with call %s and %s", id1.c_str(), id2.c_str()); - Conference* conf = new Conference(); + Conference* conf = new Conference(); - // _conferencecall.insert(pair<CallID, Conference*>(id1, conf)); - // _conferencecall.insert(pair<CallID, Conference*>(id2, conf)); - _conferencemap.insert (pair<CallID, Conference*> (conf->getConfID(), conf)); + conf->add(id1); + conf->add(id2); - conf->add (id1); - conf->add (id2); + // Add conference to map + _conferencemap.insert( std::pair<CallID, Conference*>(conf->getConfID(), conf)); - // broadcast a signal over dbus - _dbus->getCallManager()->conferenceCreated (conf->getConfID()); + // broadcast a signal over dbus + _dbus->getCallManager()->conferenceCreated(conf->getConfID()); - return conf; + return conf; } -void -ManagerImpl::removeConference (const ConfID& conference_id) -{ - - _debug ("ManagerImpl::removeConference(%s)", conference_id.c_str()); - - Conference* conf = NULL; - - _debug (" removeConference: _conferencemap.size: %i", (int) _conferencemap.size()); - ConferenceMap::iterator iter = _conferencemap.find (conference_id); - - if (iter != _conferencemap.end()) { - _debug (" removeConference: Found conference id %s in conferencemap", conference_id.c_str()); - conf = iter->second; - } +void ManagerImpl::removeConference (const ConfID& conference_id) { - if (conf == NULL) { + _debug ("Manager: Remove conference %s", conference_id.c_str()); - _debug (" removeConference: Error conference not found"); - return; - } + Conference* conf = NULL; + _debug ("Manager: number of participant: %d", (int) _conferencemap.size()); + ConferenceMap::iterator iter = _conferencemap.find(conference_id); - // We now need to bind the audio to the remain participant + if (iter != _conferencemap.end()) { + conf = iter->second; + } - // unbind main participant from conference (just to be sure) - _audiodriver->getMainBuffer()->unBindAll (default_id); + if (conf == NULL) { + _error ("Manager: Error: Conference not found"); + return; + } - ParticipantSet participants = conf->getParticipantList(); + // We now need to bind the audio to the remain participant - // bind main participant to remaining conference call - ParticipantSet::iterator iter_p = participants.begin(); + // Unbind main participant audio from conference + _audiodriver->getMainBuffer()->unBindAll(default_id); - if (iter_p != participants.end()) { + ParticipantSet participants = conf->getParticipantList(); - // to avoid puting onhold the call - // switchCall(""); - _audiodriver->getMainBuffer()->bindCallID (*iter_p, default_id); - } + // bind main participant audio to remaining conference call + ParticipantSet::iterator iter_p = participants.begin(); - // Then remove the conference from the conference map - _debug ("ManagerImpl:: remove conference %s", conference_id.c_str()); + if (iter_p != participants.end()) { - if (_conferencemap.erase (conference_id) == 1) - _debug ("ManagerImpl:: conference %s removed succesfully", conference_id.c_str()); - else - _debug ("ManagerImpl:: error cannot remove conference id: %s", conference_id.c_str()); + _audiodriver->getMainBuffer()->bindCallID(*iter_p, default_id); + } - // broadcast a signal over dbus - _debug ("ManagerImpl::removeConference broadcast call removed on dbus: %s", conference_id.c_str()); + // Then remove the conference from the conference map + if (_conferencemap.erase(conference_id) == 1) + _debug ("Manager: Conference %s removed successfully", conference_id.c_str()); + else + _error ("Manager: Error: Cannot remove conference: %s", conference_id.c_str()); - _dbus->getCallManager()->conferenceRemoved (conference_id); + // broadcast a signal over dbus + _dbus->getCallManager()->conferenceRemoved(conference_id); } - Conference* -ManagerImpl::getConferenceFromCallID (const CallID& call_id) -{ - AccountID account_id; - Call* call = NULL; +ManagerImpl::getConferenceFromCallID (const CallID& call_id) { + AccountID account_id; + Call* call = NULL; - account_id = getAccountFromCall (call_id); - call = getAccountLink (account_id)->getCall (call_id); + account_id = getAccountFromCall(call_id); + call = getAccountLink(account_id)->getCall(call_id); - ConferenceMap::iterator iter = _conferencemap.find (call->getConfId()); + ConferenceMap::iterator iter = _conferencemap.find(call->getConfId()); - if (iter != _conferencemap.end()) { - return iter->second; - } else { - return NULL; - } + if (iter != _conferencemap.end()) { + return iter->second; + } else { + return NULL; + } } -void -ManagerImpl::holdConference (const CallID& id) -{ - _debug ("ManagerImpl::holdConference()"); - - Conference *conf; - ConferenceMap::iterator iter_conf = _conferencemap.find (id); - - AccountID currentAccountId; +void ManagerImpl::holdConference (const CallID& id) { + _debug ("Manager: Hold conference()"); - Call* call = NULL; + Conference *conf; + ConferenceMap::iterator iter_conf = _conferencemap.find(id); - if (iter_conf != _conferencemap.end()) { - conf = iter_conf->second; + AccountID currentAccountId; - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + Call* call = NULL; - while (iter_participant != participants.end()) { - _debug (" holdConference: participant %s", (*iter_participant).c_str()); - currentAccountId = getAccountFromCall (*iter_participant); - call = getAccountLink (currentAccountId)->getCall (*iter_participant); + if (iter_conf != _conferencemap.end()) { + conf = iter_conf->second; - switchCall (*iter_participant); - onHoldCall (*iter_participant); + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); - iter_participant++; + while (iter_participant != participants.end()) { + _debug (" holdConference: participant %s", (*iter_participant).c_str()); + currentAccountId = getAccountFromCall(*iter_participant); + call = getAccountLink(currentAccountId)->getCall(*iter_participant); - } - - conf->setState (Conference::Hold); + switchCall(*iter_participant); + onHoldCall(*iter_participant); - _dbus->getCallManager()->conferenceChanged (conf->getConfID(), conf->getStateStr()); + iter_participant++; - } + } + conf->setState(Conference::Hold); + _dbus->getCallManager()->conferenceChanged(conf->getConfID(), + conf->getStateStr()); + } } +void ManagerImpl::unHoldConference (const CallID& id) { -void -ManagerImpl::unHoldConference (const CallID& id) -{ - - _debug ("ManagerImpl::unHoldConference()"); + _debug ("Manager: Unhold conference()"); - Conference *conf; - ConferenceMap::iterator iter_conf = _conferencemap.find (id); + Conference *conf; + ConferenceMap::iterator iter_conf = _conferencemap.find(id); - AccountID currentAccountId; + AccountID currentAccountId; - Call* call = NULL; + Call* call = NULL; - if (iter_conf != _conferencemap.end()) { - conf = iter_conf->second; + if (iter_conf != _conferencemap.end()) { + conf = iter_conf->second; - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); - while (iter_participant != participants.end()) { - _debug (" unholdConference: participant %s", (*iter_participant).c_str()); - currentAccountId = getAccountFromCall (*iter_participant); - call = getAccountLink (currentAccountId)->getCall (*iter_participant); + while (iter_participant != participants.end()) { + _debug (" unholdConference: participant %s", (*iter_participant).c_str()); + currentAccountId = getAccountFromCall(*iter_participant); + call = getAccountLink(currentAccountId)->getCall(*iter_participant); - offHoldCall (*iter_participant); + offHoldCall(*iter_participant); - iter_participant++; + iter_participant++; - } + } - conf->setState (Conference::Active_Atached); + conf->setState(Conference::Active_Atached); - _dbus->getCallManager()->conferenceChanged (conf->getConfID(), conf->getStateStr()); + _dbus->getCallManager()->conferenceChanged(conf->getConfID(), + conf->getStateStr()); - } + } } -bool -ManagerImpl::isConference (const CallID& id) -{ - ConferenceMap::iterator iter = _conferencemap.find (id); +bool ManagerImpl::isConference (const CallID& id) { + ConferenceMap::iterator iter = _conferencemap.find(id); - if (iter == _conferencemap.end()) { - return false; - } else { - return true; - } + if (iter == _conferencemap.end()) { + return false; + } else { + return true; + } } -bool -ManagerImpl::participToConference (const CallID& call_id) -{ +bool ManagerImpl::participToConference (const CallID& call_id) { - AccountID accountId; + AccountID accountId; - Call* call = NULL; + Call* call = NULL; - accountId = getAccountFromCall (call_id); - call = getAccountLink (accountId)->getCall (call_id); + accountId = getAccountFromCall(call_id); + call = getAccountLink(accountId)->getCall(call_id); - if (call == NULL) { - return false; + if (call == NULL) { + return false; - } + } - if (call->getConfId() == "") { - return false; - } else { - - return true; - } -} + if (call->getConfId() == "") { + return false; + } else { + return true; + } +} -void -ManagerImpl::addParticipant (const CallID& call_id, const CallID& conference_id) -{ - _debug ("ManagerImpl::addParticipant(%s, %s)", call_id.c_str(), conference_id.c_str()); +void ManagerImpl::addParticipant (const CallID& call_id, const CallID& conference_id) { + _debug ("ManagerImpl: Add participant %s to %s", call_id.c_str(), conference_id.c_str()); - std::map<std::string, std::string> call_details = getCallDetails (call_id); + std::map<std::string, std::string> call_details = getCallDetails(call_id); - ConferenceMap::iterator iter = _conferencemap.find (conference_id); - std::map<std::string, std::string>::iterator iter_details; + ConferenceMap::iterator iter = _conferencemap.find(conference_id); + std::map<std::string, std::string>::iterator iter_details; - // store the current call id (it will change in offHoldCall or in answerCall) - CallID current_call_id = getCurrentCallId(); + // store the current call id (it will change in offHoldCall or in answerCall) + CallID current_call_id = getCurrentCallId(); - // detach from the conference and switch to this conference + // detach from the conference and switch to this conference - if (current_call_id != call_id) { - if (isConference (current_call_id)) { - detachParticipant (default_id, current_call_id); - } else - onHoldCall (current_call_id); - } + if (current_call_id != call_id) { + if (isConference(current_call_id)) { + detachParticipant(default_id, current_call_id); + } else + onHoldCall(current_call_id); + } - // TODO: remove this ugly hack => There should be different calls when double clicking - // a conference to add main participant to it, or (in this case) adding a participant - // toconference - switchCall (""); + // TODO: remove this ugly hack => There should be different calls when double clicking + // a conference to add main participant to it, or (in this case) adding a participant + // toconference + switchCall(""); - addMainParticipant (conference_id); + addMainParticipant(conference_id); - _debug (" addParticipant: enter main process"); + _debug (" addParticipant: enter main process"); - if (iter != _conferencemap.end()) { + if (iter != _conferencemap.end()) { - Conference* conf = iter->second; - switchCall (conf->getConfID()); + Conference* conf = iter->second; + switchCall(conf->getConfID()); - AccountID currentAccountId; - Call* call = NULL; + AccountID currentAccountId; + Call* call = NULL; - currentAccountId = getAccountFromCall (call_id); - call = getAccountLink (currentAccountId)->getCall (call_id); - call->setConfId (conf->getConfID()); + currentAccountId = getAccountFromCall(call_id); + call = getAccountLink(currentAccountId)->getCall(call_id); + call->setConfId(conf->getConfID()); - conf->add (call_id); + conf->add(call_id); - iter_details = call_details.find ("CALL_STATE"); + iter_details = call_details.find("CALL_STATE"); - _debug (" addParticipant: call state: %s", iter_details->second.c_str()); + _debug (" addParticipant: call state: %s", iter_details->second.c_str()); - if (iter_details->second == "HOLD") { - _debug (" OFFHOLD %s", call_id.c_str()); + if (iter_details->second == "HOLD") { + _debug (" OFFHOLD %s", call_id.c_str()); - // offHoldCall create a new rtp session which use addStream to bind participant - offHoldCall (call_id); - } else if (iter_details->second == "INCOMING") { - _debug (" ANSWER %s", call_id.c_str()); - // answerCall create a new rtp session which use addStream to bind participant - answerCall (call_id); - } else if (iter_details->second == "CURRENT") { - // Already a curent call, so we beed to reset audio stream bindings manually - _audiodriver->getMainBuffer()->unBindAll (call_id); - conf->bindParticipant (call_id); - } + // offHoldCall create a new rtp session which use addStream to bind participant + offHoldCall(call_id); + } else if (iter_details->second == "INCOMING") { + _debug (" ANSWER %s", call_id.c_str()); + // answerCall create a new rtp session which use addStream to bind participant + answerCall(call_id); + } else if (iter_details->second == "CURRENT") { + // Already a curent call, so we beed to reset audio stream bindings manually + _audiodriver->getMainBuffer()->unBindAll(call_id); + conf->bindParticipant(call_id); + } - // _dbus->getCallManager()->conferenceChanged(conference_id, conf->getStateStr()); + // _dbus->getCallManager()->conferenceChanged(conference_id, conf->getStateStr()); - ParticipantSet participants = conf->getParticipantList(); + ParticipantSet participants = conf->getParticipantList(); - // reset ring buffer for all conference participant - ParticipantSet::iterator iter_p = participants.begin(); + // reset ring buffer for all conference participant + ParticipantSet::iterator iter_p = participants.begin(); - while (iter_p != participants.end()) { + while (iter_p != participants.end()) { - // flush conference participants only - _audiodriver->getMainBuffer()->flush (*iter_p); + // flush conference participants only + _audiodriver->getMainBuffer()->flush(*iter_p); - iter_p++; - } + iter_p++; + } - _audiodriver->getMainBuffer()->flush (default_id); - } else { - _debug (" addParticipant: Error, conference %s conference_id not found!", conference_id.c_str()); - } + _audiodriver->getMainBuffer()->flush(default_id); + } else { + _debug (" addParticipant: Error, conference %s conference_id not found!", conference_id.c_str()); + } } -void -ManagerImpl::addMainParticipant (const CallID& conference_id) -{ - if (hasCurrentCall()) { - CallID current_call_id = getCurrentCallId(); +void ManagerImpl::addMainParticipant (const CallID& conference_id) { + if (hasCurrentCall()) { + CallID current_call_id = getCurrentCallId(); - if (isConference (current_call_id)) { - detachParticipant (default_id, current_call_id); - } else { - onHoldCall (current_call_id); - } - } + if (isConference(current_call_id)) { + detachParticipant(default_id, current_call_id); + } else { + onHoldCall(current_call_id); + } + } - ConferenceMap::iterator iter = _conferencemap.find (conference_id); + ConferenceMap::iterator iter = _conferencemap.find(conference_id); - Conference *conf = NULL; + Conference *conf = NULL; - if (iter != _conferencemap.end()) { - conf = iter->second; + if (iter != _conferencemap.end()) { + conf = iter->second; - ParticipantSet participants = conf->getParticipantList(); + ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + ParticipantSet::iterator iter_participant = participants.begin(); - while (iter_participant != participants.end()) { - _audiodriver->getMainBuffer()->bindCallID (*iter_participant, default_id); + while (iter_participant != participants.end()) { + _audiodriver->getMainBuffer()->bindCallID(*iter_participant, + default_id); - iter_participant++; - } + iter_participant++; + } - // Reset ringbuffer's readpointers - iter_participant = participants.begin(); + // Reset ringbuffer's readpointers + iter_participant = participants.begin(); - while (iter_participant != participants.end()) { - _audiodriver->getMainBuffer()->flush (*iter_participant); + while (iter_participant != participants.end()) { + _audiodriver->getMainBuffer()->flush(*iter_participant); - iter_participant++; - } + iter_participant++; + } - _audiodriver->getMainBuffer()->flush (default_id); + _audiodriver->getMainBuffer()->flush(default_id); - conf->setState (Conference::Active_Atached); + conf->setState(Conference::Active_Atached); - _dbus->getCallManager()->conferenceChanged (conference_id, conf->getStateStr()); + _dbus->getCallManager()->conferenceChanged(conference_id, + conf->getStateStr()); - } + } - switchCall (conference_id); + switchCall(conference_id); } +void ManagerImpl::joinParticipant (const CallID& call_id1, const CallID& call_id2) { -void -ManagerImpl::joinParticipant (const CallID& call_id1, const CallID& call_id2) -{ - _debug ("ManagerImpl::joinParticipant(%s, %s)", call_id1.c_str(), call_id2.c_str()); - // _debug(" Current call ID %s", getCurrentCallId().c_str()); - - std::map<std::string, std::string> call1_details = getCallDetails (call_id1); - std::map<std::string, std::string> call2_details = getCallDetails (call_id2); + _debug ("Manager: Join participants %s, %s", call_id1.c_str(), call_id2.c_str()); - std::map<std::string, std::string>::iterator iter_details; + std::map<std::string, std::string> call1_details = getCallDetails(call_id1); + std::map<std::string, std::string> call2_details = getCallDetails(call_id2); - AccountID currentAccountId; - Call* call = NULL; - - CallID current_call_id = getCurrentCallId(); - _debug (" joinParticipant: current_call_id %s", current_call_id.c_str()); + std::map<std::string, std::string>::iterator iter_details; + // Test if we have valid call ids + iter_details = call1_details.find("PEER_NUMBER"); + if(iter_details->second == "Unknown") { + _error("Manager: Error: Id %s is not a valid call", call_id1.c_str()); + return; + } - // detach from the conference and switch to this conference + iter_details = call2_details.find("PEER_NUMBER"); + if(iter_details->second == "Unknown") { + _error("Manager: Error: Id %s is not a valid call", call_id2.c_str()); + return; + } - if ( (current_call_id != call_id1) && (current_call_id != call_id2)) { - if (isConference (current_call_id)) - detachParticipant (default_id, current_call_id); - else - onHoldCall (current_call_id); - } + AccountID currentAccountId; + Call* call = NULL; - _debug (" joinParticipant: create a conference"); - - Conference *conf = createConference (call_id1, call_id2); - switchCall (conf->getConfID()); - - currentAccountId = getAccountFromCall (call_id1); - call = getAccountLink (currentAccountId)->getCall (call_id1); - call->setConfId (conf->getConfID()); - - iter_details = call1_details.find ("CALL_STATE"); - _debug (" joinParticipant: call1 %s state: %s", call_id1.c_str(), iter_details->second.c_str()); - - if (iter_details->second == "HOLD") { - _debug (" OFFHOLD %s", call_id1.c_str()); - offHoldCall (call_id1); - } else if (iter_details->second == "INCOMING") { - _debug (" ANSWER %s", call_id1.c_str()); - answerCall (call_id1); - } else if (iter_details->second == "CURRENT") { - _debug (" CURRENT %s", call_id1.c_str()); - _audiodriver->getMainBuffer()->unBindAll (call_id1); - conf->bindParticipant (call_id1); - } else if (iter_details->second == "INACTIVE") { - _debug (" INACTIVE %s", call_id1.c_str()); - answerCall (call_id1); - } else { - _debug (" CAll State not recognized"); - } + CallID current_call_id = getCurrentCallId(); + _debug ("Manager: current_call_id %s", current_call_id.c_str()); - currentAccountId = getAccountFromCall (call_id2); - - call = getAccountLink (currentAccountId)->getCall (call_id2); - call->setConfId (conf->getConfID()); - - iter_details = call2_details.find ("CALL_STATE"); - _debug (" joinParticipant: call2 %s state: %s", call_id2.c_str(), iter_details->second.c_str()); - - if (iter_details->second == "HOLD") { - _debug (" OFFHOLD %s", call_id2.c_str()); - offHoldCall (call_id2); - } else if (iter_details->second == "INCOMING") { - _debug (" ANSWER %s", call_id2.c_str()); - answerCall (call_id2); - } else if (iter_details->second == "CURRENT") { - _debug (" CURRENT %s", call_id2.c_str()); - _audiodriver->getMainBuffer()->unBindAll (call_id2); - conf->bindParticipant (call_id2); - } else if (iter_details->second == "INACTIVE") { - _debug (" INACTIVE %s", call_id2.c_str()); - answerCall (call_id2); - } else { - _debug (" CAll State not recognized"); - } + // detach from the conference and switch to this conference + if ((current_call_id != call_id1) && (current_call_id != call_id2)) { - // finally bind main participant to conference - // addMainParticipant(default_conf); + // If currently in a conference + if (isConference(current_call_id)) + detachParticipant(default_id, current_call_id); + // If currently in a call + else + onHoldCall(current_call_id); + } + _debug ("Manager: Create a conference"); + + Conference *conf = createConference(call_id1, call_id2); + switchCall(conf->getConfID()); + + currentAccountId = getAccountFromCall(call_id1); + call = getAccountLink(currentAccountId)->getCall(call_id1); + call->setConfId(conf->getConfID()); + + iter_details = call1_details.find("CALL_STATE"); + _debug ("Manager: Process call %s state: %s", call_id1.c_str(), iter_details->second.c_str()); + + if (iter_details->second == "HOLD") { + offHoldCall(call_id1); + } else if (iter_details->second == "INCOMING") { + answerCall(call_id1); + } else if (iter_details->second == "CURRENT") { + _audiodriver->getMainBuffer()->unBindAll(call_id1); + conf->bindParticipant(call_id1); + } else if (iter_details->second == "INACTIVE") { + answerCall(call_id1); + } else { + _warn ("Manager: Call state not recognized"); + } - // switchCall(conf->getConfID()); + currentAccountId = getAccountFromCall(call_id2); + + call = getAccountLink(currentAccountId)->getCall(call_id2); + call->setConfId(conf->getConfID()); + + iter_details = call2_details.find("CALL_STATE"); + _debug ("Manager: Process call %s state: %s", call_id2.c_str(), iter_details->second.c_str()); + + if (iter_details->second == "HOLD") { + offHoldCall(call_id2); + } else if (iter_details->second == "INCOMING") { + answerCall(call_id2); + } else if (iter_details->second == "CURRENT") { + _audiodriver->getMainBuffer()->unBindAll(call_id2); + conf->bindParticipant(call_id2); + } else if (iter_details->second == "INACTIVE") { + answerCall(call_id2); + } else { + _warn ("Manager: Call state not recognized"); + } - if (_audiodriver) - _audiodriver->getMainBuffer()->stateInfo(); + if (_audiodriver) + _audiodriver->getMainBuffer()->stateInfo(); } +void ManagerImpl::detachParticipant (const CallID& call_id, + const CallID& current_id) { -void -ManagerImpl::detachParticipant (const CallID& call_id, const CallID& current_id) -{ - _debug ("ManagerImpl::detachParticipant(%s)", call_id.c_str()); + _debug ("Manager: Detach participant %s from conference", call_id.c_str()); - CallID current_call_id = current_id; + CallID current_call_id = current_id; - current_call_id = getCurrentCallId(); + current_call_id = getCurrentCallId(); - if (call_id != default_id) { - AccountID currentAccountId; - Call* call = NULL; + if (call_id != default_id) { + AccountID currentAccountId; + Call* call = NULL; - currentAccountId = getAccountFromCall (call_id); - call = getAccountLink (currentAccountId)->getCall (call_id); + currentAccountId = getAccountFromCall(call_id); + call = getAccountLink(currentAccountId)->getCall(call_id); - // TODO: add conference_id as a second parameter - ConferenceMap::iterator iter = _conferencemap.find (call->getConfId()); + // TODO: add conference_id as a second parameter + ConferenceMap::iterator iter = _conferencemap.find(call->getConfId()); - Conference *conf = getConferenceFromCallID (call_id); + Conference *conf = getConferenceFromCallID(call_id); - if (conf != NULL) { + if (conf != NULL) { - _debug (" detachParticipant: detaching participant %s", call_id.c_str()); + _debug ("Manager: Detaching participant %s", call_id.c_str()); + std::map<std::string, std::string> call_details = getCallDetails( + call_id); + std::map<std::string, std::string>::iterator iter_details; - std::map<std::string, std::string> call_details = getCallDetails (call_id); - std::map<std::string, std::string>::iterator iter_details; + iter_details = call_details.find("CALL_STATE"); - iter_details = call_details.find ("CALL_STATE"); + if (iter_details->second == "RINGING") { - if (iter_details->second == "RINGING") { - removeParticipant (call_id); - } else { - _debug (" ONHOLD %s", call_id.c_str()); - onHoldCall (call_id); + removeParticipant(call_id); + } + else { + onHoldCall(call_id); + removeParticipant(call_id); + processRemainingParticipant(current_call_id, conf); - removeParticipant (call_id); + _dbus->getCallManager()->conferenceChanged(conf->getConfID(), + conf->getStateStr()); + } + } + else { - processRemainingParticipant (current_call_id, conf); - } - } else { + _debug ("Manager: Call is not conferencing, cannot detach"); + } + } + else { + _debug ("Manager: Unbind main participant from all"); + _audiodriver->getMainBuffer()->unBindAll(default_id); - _debug (" detachParticipant: call is not conferencing, cannot detach"); + if (isConference(current_call_id)) { - } - } else { - _debug (" detachParticipant: unbind main participant from all"); - _audiodriver->getMainBuffer()->unBindAll (default_id); + ConferenceMap::iterator iter = _conferencemap.find(current_call_id); + Conference *conf = iter->second; - if (isConference (current_call_id)) { + conf->setState(Conference::Active_Detached); - ConferenceMap::iterator iter = _conferencemap.find (current_call_id); - Conference *conf = iter->second; + _dbus->getCallManager()->conferenceChanged(conf->getConfID(), + conf->getStateStr()); + } - conf->setState (Conference::Active_Detached); + switchCall(""); - _dbus->getCallManager()->conferenceChanged (conf->getConfID(), conf->getStateStr()); - } + } - switchCall (""); +} - } +void ManagerImpl::removeParticipant (const CallID& call_id) { + _debug ("Manager: Remove participant %s", call_id.c_str()); -} + // TODO: add conference_id as a second parameter + Conference* conf; + AccountID currentAccountId; + Call* call = NULL; -void -ManagerImpl::removeParticipant (const CallID& call_id) -{ - _debug ("ManagerImpl::removeParticipant(%s)", call_id.c_str()); + // this call is no more a conference participant + currentAccountId = getAccountFromCall(call_id); + call = getAccountLink(currentAccountId)->getCall(call_id); - // TODO: add conference_id as a second parameter - Conference* conf; + ConferenceMap conf_map = _conferencemap; + ConferenceMap::iterator iter = conf_map.find(call->getConfId()); - AccountID currentAccountId; - Call* call = NULL; + if (iter == conf_map.end()) { + _debug ("Manager: Error: No conference created, cannot remove participant"); + } else { - // this call is no more a conference participant - currentAccountId = getAccountFromCall (call_id); - call = getAccountLink (currentAccountId)->getCall (call_id); + conf = iter->second; - ConferenceMap conf_map = _conferencemap; - ConferenceMap::iterator iter = conf_map.find (call->getConfId()); + _debug ("Manager: Remove participant %s", call_id.c_str()); + conf->remove(call_id); + call->setConfId(""); - if (iter == conf_map.end()) { - _debug (" no conference created, cannot remove participant "); - } else { + } - conf = iter->second; + if (_audiodriver) + _audiodriver->getMainBuffer()->stateInfo(); - _debug (" removeParticipant %s", call_id.c_str()); - conf->remove (call_id); - call->setConfId (""); +} - } +void ManagerImpl::processRemainingParticipant (CallID current_call_id, + Conference *conf) { - if (_audiodriver) - _audiodriver->getMainBuffer()->stateInfo(); + _debug ("Manager: Process remaining %d participant(s) from conference %s", + conf->getNbParticipants(), conf->getConfID().c_str()); -} + if (conf->getNbParticipants() > 1) { + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); -void -ManagerImpl::processRemainingParticipant (CallID current_call_id, Conference *conf) -{ + // Reset ringbuffer's readpointers + iter_participant = participants.begin(); - _debug ("ManagerImpl::processRemainingParticipant()"); + while (iter_participant != participants.end()) { + _audiodriver->getMainBuffer()->flush(*iter_participant); - if (conf->getNbParticipants() > 1) { + iter_participant++; + } - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + _audiodriver->getMainBuffer()->flush(default_id); - // Reset ringbuffer's readpointers - iter_participant = participants.begin(); + } else if (conf->getNbParticipants() == 1) { - while (iter_participant != participants.end()) { - _audiodriver->getMainBuffer()->flush (*iter_participant); + _debug ("Manager: Only one remaining participant"); - iter_participant++; - } + AccountID currentAccountId; + Call* call = NULL; - _audiodriver->getMainBuffer()->flush (default_id); + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); - } else if (conf->getNbParticipants() == 1) { - AccountID currentAccountId; - Call* call = NULL; + // bind main participant to remaining conference call + if (iter_participant != participants.end()) { - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + // this call is no more a conference participant + currentAccountId = getAccountFromCall(*iter_participant); + call = getAccountLink(currentAccountId)->getCall(*iter_participant); + call->setConfId(""); - // bind main participant to remaining conference call + // if we are not listening to this conference - if (iter_participant != participants.end()) { + if (current_call_id != conf->getConfID()) { + onHoldCall(call->getCallId()); + } else { + switchCall(*iter_participant); + } + } - // this call is no more a conference participant - currentAccountId = getAccountFromCall (*iter_participant); - call = getAccountLink (currentAccountId)->getCall (*iter_participant); - call->setConfId (""); + removeConference(conf->getConfID()); - // if we are not listening to this conference + } else { - if (current_call_id != conf->getConfID()) { - onHoldCall (call->getCallId()); - } else { - switchCall (*iter_participant); - } - } + _debug ("Manager: No remaining participant, remove conference"); - removeConference (conf->getConfID()); - } else { - removeConference (conf->getConfID()); + removeConference(conf->getConfID()); - switchCall (""); - } + switchCall(""); + } } -void -ManagerImpl::joinConference (const CallID& conf_id1, const CallID& conf_id2) -{ - _debug ("ManagerImpl::joinConference(%s, %s)", conf_id1.c_str(), conf_id2.c_str()); +void ManagerImpl::joinConference (const CallID& conf_id1, + const CallID& conf_id2) { + _debug ("Manager: Join conference %s, %s", conf_id1.c_str(), conf_id2.c_str()); - ConferenceMap::iterator iter; + ConferenceMap::iterator iter; - Conference *conf1 = NULL; - Conference *conf2 = NULL; + Conference *conf1 = NULL; + Conference *conf2 = NULL; - iter = _conferencemap.find (conf_id1); + iter = _conferencemap.find(conf_id1); - if (iter != _conferencemap.end()) - conf1 = iter->second; + if (iter != _conferencemap.end()) { + conf1 = iter->second; + } + else { + _error("Manager: Error: Not a valid conference ID"); + return; + } - iter = _conferencemap.find (conf_id2); + iter = _conferencemap.find(conf_id2); - if (iter != _conferencemap.end()) - conf2 = iter->second; + if (iter != _conferencemap.end()) { + conf2 = iter->second; + } + else { + _error("Manager: Error: Not a valid conference ID"); + return; + } - ParticipantSet participants = conf1->getParticipantList(); + ParticipantSet participants = conf1->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + ParticipantSet::iterator iter_participant = participants.begin(); - while (iter_participant != participants.end()) { - detachParticipant (*iter_participant, ""); - addParticipant (*iter_participant, conf_id2); + while (iter_participant != participants.end()) { + detachParticipant(*iter_participant, ""); + addParticipant(*iter_participant, conf_id2); - iter_participant++; - } + iter_participant++; + } - // detachParticipant(default_id, ""); + // detachParticipant(default_id, ""); } -void -ManagerImpl::addStream (const CallID& call_id) -{ - _debug ("ManagerImpl::addStream %s", call_id.c_str()); +void ManagerImpl::addStream (const CallID& call_id) { - AccountID currentAccountId; - Call* call = NULL; + _debug ("Manager: Add audio stream %s", call_id.c_str()); - currentAccountId = getAccountFromCall (call_id); - call = getAccountLink (currentAccountId)->getCall (call_id); + AccountID currentAccountId; + Call* call = NULL; - if (participToConference (call_id)) { + currentAccountId = getAccountFromCall(call_id); + call = getAccountLink(currentAccountId)->getCall(call_id); - // bind to conference participant - ConferenceMap::iterator iter = _conferencemap.find (call->getConfId()); + if (participToConference(call_id)) { - if (iter != _conferencemap.end()) { - Conference* conf = iter->second; + // bind to conference participant + ConferenceMap::iterator iter = _conferencemap.find(call->getConfId()); + if (iter != _conferencemap.end()) { + Conference* conf = iter->second; - conf->bindParticipant (call_id); + conf->bindParticipant(call_id); - ParticipantSet participants = conf->getParticipantList(); - // reset ring buffer for all conference participant - ParticipantSet::iterator iter_p = participants.begin(); + ParticipantSet participants = conf->getParticipantList(); + // reset ring buffer for all conference participant + ParticipantSet::iterator iter_p = participants.begin(); - while (iter_p != participants.end()) { + while (iter_p != participants.end()) { - // to avoid puting onhold the call - // switchCall(""); - _audiodriver->getMainBuffer()->flush (*iter_p); + // to avoid puting onhold the call + // switchCall(""); + _audiodriver->getMainBuffer()->flush(*iter_p); - iter_p++; - } + iter_p++; + } - _audiodriver->getMainBuffer()->flush (default_id); - } - - } else { + _audiodriver->getMainBuffer()->flush(default_id); + } + } else { - // bind to main - getAudioDriver()->getMainBuffer()->bindCallID (call_id); + // bind to main + getAudioDriver()->getMainBuffer()->bindCallID(call_id); - // _audiodriver->getMainBuffer()->flush(default_id); - _audiodriver->flushUrgent(); - _audiodriver->flushMain(); + // _audiodriver->getMainBuffer()->flush(default_id); + _audiodriver->flushUrgent(); + _audiodriver->flushMain(); - } + } - if (_audiodriver) - _audiodriver->getMainBuffer()->stateInfo(); + if (_audiodriver) + _audiodriver->getMainBuffer()->stateInfo(); } -void -ManagerImpl::removeStream (const CallID& call_id) -{ - _debug ("ManagerImpl::removeStream %s", call_id.c_str()); +void ManagerImpl::removeStream (const CallID& call_id) { + _debug ("Manager: Remove audio stream %s", call_id.c_str()); - getAudioDriver()->getMainBuffer()->unBindAll (call_id); + getAudioDriver()->getMainBuffer()->unBindAll(call_id); - if (participToConference (call_id)) { - removeParticipant (call_id); - } + if (participToConference(call_id)) { + removeParticipant(call_id); + } - if (_audiodriver) - _audiodriver->getMainBuffer()->stateInfo(); + if (_audiodriver) + _audiodriver->getMainBuffer()->stateInfo(); } //THREAD=Main -bool -ManagerImpl::saveConfig (void) -{ - _debug ("Saving Configuration to XDG directory %s ... ", _path.c_str()); - setConfig (AUDIO, VOLUME_SPKR, getSpkrVolume()); - setConfig (AUDIO, VOLUME_MICRO, getMicVolume()); +bool ManagerImpl::saveConfig (void) { + _debug ("Saving Configuration to XDG directory %s ... ", _path.c_str()); + setConfig(AUDIO, VOLUME_SPKR, getSpkrVolume()); + setConfig(AUDIO, VOLUME_MICRO, getMicVolume()); - _setupLoaded = _config.saveConfigTree (_path.data()); - return _setupLoaded; + _setupLoaded = _config.saveConfigTree(_path.data()); + return _setupLoaded; } - //THREAD=Main -bool -ManagerImpl::sendDtmf (const CallID& id, char code) -{ - AccountID accountid = getAccountFromCall (id); +bool ManagerImpl::sendDtmf (const CallID& id, char code) { - if (accountid == AccountNULL) { - playDtmf (code); - return false; - } - - int sendType = getConfigInt (SIGNALISATION, SEND_DTMF_AS); - - bool returnValue = false; - - switch (sendType) { + AccountID accountid = getAccountFromCall(id); - case 0: // SIP INFO - playDtmf (code); - returnValue = getAccountLink (accountid)->carryingDTMFdigits (id, code); - break; + bool returnValue = false; - case 1: // Audio way - break; + playDtmf(code); - case 2: // rfc 2833 - break; + CallAccountMap::iterator iter = _callAccountMap.find(id); - default: // unknown - error config? - break; - } + // Make sure the call exist before sending DTMF, ths could be simply call dialing + if(iter != _callAccountMap.end()) + returnValue = getAccountLink(accountid)->carryingDTMFdigits(id, code); - return returnValue; + return returnValue; } //THREAD=Main | VoIPLink -bool -ManagerImpl::playDtmf (char code) -{ - int pulselen, layer, size; - bool ret = false; - AudioLayer *audiolayer; - SFLDataFormat *buf; +bool ManagerImpl::playDtmf (char code) { + int pulselen, layer, size; + bool ret = false; + AudioLayer *audiolayer; + SFLDataFormat *buf; - stopTone (); + stopTone(); - bool hasToPlayTone = getConfigBool (SIGNALISATION, PLAY_DTMF); + bool hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_DTMF); - if (!hasToPlayTone) { - _debug (" playDtmf: Do not have to play a tone..."); - return false; - } + if (!hasToPlayTone) { + _debug ("Manager: playDtmf: Do not have to play a tone..."); + return false; + } - // length in milliseconds - pulselen = getConfigInt (SIGNALISATION, PULSE_LENGTH); + // length in milliseconds + pulselen = getConfigInt(SIGNALISATION, PULSE_LENGTH); - if (!pulselen) { - _debug (" playDtmf: Pulse length is not set..."); - return false; - } + if (!pulselen) { + _debug ("Manager: playDtmf: Pulse length is not set..."); + return false; + } - // numbers of int = length in milliseconds / 1000 (number of seconds) - // = number of seconds * SAMPLING_RATE by SECONDS - audiolayer = getAudioDriver(); + // numbers of int = length in milliseconds / 1000 (number of seconds) + // = number of seconds * SAMPLING_RATE by SECONDS + audiolayer = getAudioDriver(); - layer = audiolayer->getLayerType(); + layer = audiolayer->getLayerType(); - // fast return, no sound, so no dtmf - if (audiolayer==0 || _dtmfKey == 0) { - _debug (" playDtmf: Error no audio layer..."); - return false; - } + // fast return, no sound, so no dtmf + if (audiolayer == 0 || _dtmfKey == 0) { + _debug ("Manager: playDtmf: Error no audio layer..."); + return false; + } - // number of data sampling in one pulselen depends on samplerate - // size (n sampling) = time_ms * sampling/s - // --------------------- - // ms/s - size = (int) ( (pulselen * (float) audiolayer->getSampleRate()) / 1000); - - // this buffer is for mono - // TODO <-- this should be global and hide if same size - buf = new SFLDataFormat[size]; - - // Handle dtmf - _dtmfKey->startTone (code); - - // copy the sound - if (_dtmfKey->generateDTMF (buf, size)) { - // Put buffer to urgentRingBuffer - // put the size in bytes... - // so size * 1 channel (mono) * sizeof (bytes for the data) - // audiolayer->flushUrgent(); - audiolayer->startStream(); - audiolayer->putUrgent (buf, size * sizeof (SFLDataFormat)); - } + // number of data sampling in one pulselen depends on samplerate + // size (n sampling) = time_ms * sampling/s + // --------------------- + // ms/s + size = (int) ((pulselen * (float) audiolayer->getSampleRate()) / 1000); + + // this buffer is for mono + // TODO <-- this should be global and hide if same size + buf = new SFLDataFormat[size]; + + // Handle dtmf + _dtmfKey->startTone(code); + + // copy the sound + if (_dtmfKey->generateDTMF(buf, size)) { + // Put buffer to urgentRingBuffer + // put the size in bytes... + // so size * 1 channel (mono) * sizeof (bytes for the data) + // audiolayer->flushUrgent(); + audiolayer->startStream(); + audiolayer->putUrgent(buf, size * sizeof(SFLDataFormat)); + } - ret = true; + ret = true; - // TODO Cache the DTMF + // TODO Cache the DTMF - delete[] buf; - buf = 0; + delete[] buf; + buf = 0; - return ret; + return ret; } // Multi-thread -bool -ManagerImpl::incomingCallWaiting() -{ - return (_nbIncomingWaitingCall > 0) ? true : false; +bool ManagerImpl::incomingCallWaiting () { + return (_nbIncomingWaitingCall > 0) ? true : false; } -void -ManagerImpl::addWaitingCall (const CallID& id) -{ - ost::MutexLock m (_waitingCallMutex); - _waitingCall.insert (id); - _nbIncomingWaitingCall++; +void ManagerImpl::addWaitingCall (const CallID& id) { + + _info("Manager: Add waiting call %s (%d calls)", id.c_str(), _nbIncomingWaitingCall); + + ost::MutexLock m(_waitingCallMutex); + _waitingCall.insert(id); + _nbIncomingWaitingCall++; } -void -ManagerImpl::removeWaitingCall (const CallID& id) -{ - ost::MutexLock m (_waitingCallMutex); - // should return more than 1 if it erase a call +void ManagerImpl::removeWaitingCall (const CallID& id) { - if (_waitingCall.erase (id)) { - _nbIncomingWaitingCall--; - } + _info("Manager: Remove waiting call %s (%d calls)", id.c_str(), _nbIncomingWaitingCall); + + ost::MutexLock m(_waitingCallMutex); + // should return more than 1 if it erase a call + + if (_waitingCall.erase(id)) { + _nbIncomingWaitingCall--; + } } -bool -ManagerImpl::isWaitingCall (const CallID& id) -{ - CallIDSet::iterator iter = _waitingCall.find (id); +bool ManagerImpl::isWaitingCall (const CallID& id) { + CallIDSet::iterator iter = _waitingCall.find(id); - if (iter != _waitingCall.end()) { - return false; - } + if (iter != _waitingCall.end()) { + return false; + } - return true; + return true; } /////////////////////////////////////////////////////////////////////////////// // Management of event peer IP-phone //////////////////////////////////////////////////////////////////////////////// // SipEvent Thread -bool -ManagerImpl::incomingCall (Call* call, const AccountID& accountId) -{ - PulseLayer *pulselayer; - std::string from, number, display_name, display; - - stopTone (); - - _debug ("Incoming call %s for account %s", call->getCallId().data(), accountId.c_str()); - - associateCallToAccount (call->getCallId(), accountId); +bool ManagerImpl::incomingCall (Call* call, const AccountID& accountId) { - // If account is null it is an ip to ip call + std::string from, number, display_name, display; - if (accountId==AccountNULL) { + if(!call) + _error("Manager: Error: no call at this point"); - associateConfigToCall (call->getCallId(), Call::IPtoIP); - } else { - // strip sip: which is not required and bring confusion with ip to ip calls - // when placing new call from history (if call is IAX, do nothing) - std::string peerNumber = call->getPeerNumber(); - - int startIndex = peerNumber.find ("sip:"); - - // if "sip:" is found => it is not an IAX call - - if (startIndex != (int) string::npos) { - std::string strippedPeerNumber = peerNumber.substr (startIndex+4); - call->setPeerNumber (strippedPeerNumber); - } - - } - - _debug ("ManagerImpl::incomingCall :: hasCurrentCall() %i ", hasCurrentCall()); + stopTone(); - if (!hasCurrentCall()) { + _debug ("Manager: Incoming call %s for account %s", call->getCallId().data(), accountId.c_str()); - call->setConnectionState (Call::Ringing); - ringtone(); - // switchCall (call->getCallId()); + associateCallToAccount(call->getCallId(), accountId); - } - - /* - else { - addWaitingCall(call->getCallId()); - } - */ - - addWaitingCall (call->getCallId()); - - from = call->getPeerName(); - - number = call->getPeerNumber(); + // If account is null it is an ip to ip call + if (accountId == AccountNULL) { + associateConfigToCall(call->getCallId(), Call::IPtoIP); + } + else { + // strip sip: which is not required and bring confusion with ip to ip calls + // when placing new call from history (if call is IAX, do nothing) + std::string peerNumber = call->getPeerNumber(); - display_name = call->getDisplayName(); + int startIndex = peerNumber.find("sip:"); - // _debug( "incomingCall from: %s, number: %s, display_name: %s", from.c_str(), number.c_str(), display_name.c_str()); + if (startIndex != (int) string::npos) { + std::string strippedPeerNumber = peerNumber.substr(startIndex + 4); + call->setPeerNumber(strippedPeerNumber); + } - if (from != "" && number != "") { - from.append (" <"); - from.append (number); - from.append (">"); - } else if (from.empty()) { - from.append ("<"); - from.append (number); - from.append (">"); - } + } - /* - CallIDSet::iterator iter = _waitingCall.begin(); - while (iter != _waitingCall.end()) { - CallID ident = *iter; - _debug("ManagerImpl::incomingCall :: CALL iteration: %s ",ident.c_str()); - ++iter; - } - */ + if (!hasCurrentCall()) { + _debug ("Manager: Has no current call"); - /* Broadcast a signal over DBus */ - _debug ("From: %s, Number: %s, DisplayName: %s", from.c_str(), number.c_str(), display_name.c_str()); + call->setConnectionState(Call::Ringing); + ringtone(); - display = display_name; + } + else { + _debug ("Manager: has current call"); + } - display.append (" "); + addWaitingCall(call->getCallId()); - display.append (from); + from = call->getPeerName(); + number = call->getPeerNumber(); + display_name = call->getDisplayName(); + if (from != "" && number != "") { + from.append(" <"); + from.append(number); + from.append(">"); + } else if (from.empty()) { + from.append("<"); + from.append(number); + from.append(">"); + } - if (_dbus) _dbus->getCallManager()->incomingCall (accountId, call->getCallId(), display.c_str()); + /* Broadcast a signal over DBus */ + _debug ("Manager: From: %s, Number: %s, Display Name: %s", from.c_str(), number.c_str(), display_name.c_str()); - //if (_dbus) _dbus->getCallManager()->callStateChanged(call->getCallId(), "INCOMING"); + display = display_name; + display.append(" "); + display.append(from); - if (_audiodriver->getLayerType() == PULSEAUDIO) { - pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); - } + if (_dbus) + _dbus->getCallManager()->incomingCall(accountId, call->getCallId(), display.c_str()); - return true; + return true; } //THREAD=VoIP -void -ManagerImpl::incomingMessage (const AccountID& accountId, const std::string& message) -{ - if (_dbus) { - _dbus->getCallManager()->incomingMessage (accountId, message); - } +void ManagerImpl::incomingMessage (const AccountID& accountId, + const std::string& message) { + if (_dbus) { + _dbus->getCallManager()->incomingMessage(accountId, message); + } } //THREAD=VoIP CALL=Outgoing -void -ManagerImpl::peerAnsweredCall (const CallID& id) -{ - // The if statement is usefull only if we sent two calls at the same time. - if (isCurrentCall (id)) { - stopTone (); - } +void ManagerImpl::peerAnsweredCall (const CallID& id) { - if (_dbus) _dbus->getCallManager()->callStateChanged (id, "CURRENT"); + _debug ("Manager: Peer answered call %s", id.c_str()); - // std::string codecName = getCurrentCodecName (id); + // The if statement is usefull only if we sent two calls at the same time. + if (isCurrentCall(id)) { + stopTone(); + } - // _debug("ManagerImpl::hangupCall(): broadcast codec name %s ",codecName.c_str()); - // if (_dbus) _dbus->getCallManager()->currentSelectedCodec (id,codecName.c_str()); + if (_dbus) + _dbus->getCallManager()->callStateChanged(id, "CURRENT"); - // Required if there have been no sip reinvite, in this case we must reinit buffers since the - _audiodriver->flushMain(); + _audiodriver->flushMain(); - _audiodriver->flushUrgent(); + _audiodriver->flushUrgent(); } //THREAD=VoIP Call=Outgoing -void -ManagerImpl::peerRingingCall (const CallID& id) -{ - if (isCurrentCall (id)) { - ringback(); - } - - if (_dbus) _dbus->getCallManager()->callStateChanged (id, "RINGING"); -} +void ManagerImpl::peerRingingCall (const CallID& id) { -//THREAD=VoIP Call=Outgoing/Ingoing -void -ManagerImpl::peerHungupCall (const CallID& call_id) -{ - PulseLayer *pulselayer; - AccountID account_id; - bool returnValue; + _debug ("Manager: Peer call %s ringing", id.c_str()); - _debug ("ManagerImpl::peerHungupCall(%s)", call_id.c_str()); + if (isCurrentCall(id)) { + ringback(); + } - // store the current call id - CallID current_call_id = getCurrentCallId(); + if (_dbus) + _dbus->getCallManager()->callStateChanged(id, "RINGING"); +} +//THREAD=VoIP Call=Outgoing/Ingoing +void ManagerImpl::peerHungupCall (const CallID& call_id) { + PulseLayer *pulselayer; + AccountID account_id; + bool returnValue; - if (participToConference (call_id)) { + _debug ("Manager: Peer hungup call %s", call_id.c_str()); - Conference *conf = getConferenceFromCallID (call_id); + // store the current call id + CallID current_call_id = getCurrentCallId(); - if (conf != NULL) { + if (participToConference(call_id)) { - removeParticipant (call_id); + Conference *conf = getConferenceFromCallID(call_id); - processRemainingParticipant (current_call_id, conf); - } - } else { - if (isCurrentCall (call_id)) { - stopTone (); + if (conf != NULL) { - switchCall (""); - } - } + removeParticipant(call_id); + processRemainingParticipant(current_call_id, conf); - /* Direct IP to IP call */ - if (getConfigFromCall (call_id) == Call::IPtoIP) { - SIPVoIPLink::instance (AccountNULL)->hangup (call_id); - } + } + } else { + if (isCurrentCall(call_id)) { + stopTone(); - else { + switchCall(""); + } + } - account_id = getAccountFromCall (call_id); + /* Direct IP to IP call */ + if (getConfigFromCall(call_id) == Call::IPtoIP) { + SIPVoIPLink::instance(AccountNULL)->hangup(call_id); + } - if (account_id == AccountNULL) { - _debug ("peerHungupCall: Call doesn't exists"); - return; - } + else { - returnValue = getAccountLink (account_id)->peerHungup (call_id); - } + account_id = getAccountFromCall(call_id); - /* Broadcast a signal over DBus */ - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "HUNGUP"); + returnValue = getAccountLink(account_id)->peerHungup(call_id); + } - removeWaitingCall (call_id); + /* Broadcast a signal over DBus */ + if (_dbus) + _dbus->getCallManager()->callStateChanged(call_id, "HUNGUP"); - removeCallAccount (call_id); + removeWaitingCall(call_id); - int nbCalls = getCallList().size(); + removeCallAccount(call_id); - // stop streams + int nbCalls = getCallList().size(); - if (nbCalls <= 0) { - _debug (" hangupCall: stop audio stream, ther is only %i call(s) remaining", nbCalls); + // stop streams - AudioLayer* audiolayer = getAudioDriver(); - audiolayer->stopStream(); - } + if (nbCalls <= 0) { + _debug ("Manager: Stop audio stream, ther is only %i call(s) remaining", nbCalls); + AudioLayer* audiolayer = getAudioDriver(); + audiolayer->stopStream(); + } - if (_audiodriver->getLayerType() == PULSEAUDIO) { - pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); - } + if (_audiodriver->getLayerType() == PULSEAUDIO) { + pulselayer = dynamic_cast<PulseLayer *> (getAudioDriver()); + } } //THREAD=VoIP -void -ManagerImpl::callBusy (const CallID& id) -{ - _debug ("Call busy"); +void ManagerImpl::callBusy (const CallID& id) { + _debug ("Manager: Call %s busy", id.c_str()); - if (_dbus) _dbus->getCallManager()->callStateChanged (id, "BUSY"); + if (_dbus) + _dbus->getCallManager()->callStateChanged(id, "BUSY"); - if (isCurrentCall (id)) { - playATone (Tone::TONE_BUSY); - switchCall (""); - } + if (isCurrentCall(id)) { + playATone(Tone::TONE_BUSY); + switchCall(""); + } - removeCallAccount (id); + removeCallAccount(id); - removeWaitingCall (id); + removeWaitingCall(id); } //THREAD=VoIP -void -ManagerImpl::callFailure (const CallID& call_id) -{ - if (_dbus) _dbus->getCallManager()->callStateChanged (call_id, "FAILURE"); - - if (isCurrentCall (call_id)) { - playATone (Tone::TONE_BUSY); - switchCall (""); - } +void ManagerImpl::callFailure (const CallID& call_id) { + if (_dbus) + _dbus->getCallManager()->callStateChanged(call_id, "FAILURE"); - CallID current_call_id = getCurrentCallId(); + if (isCurrentCall(call_id)) { + playATone(Tone::TONE_BUSY); + switchCall(""); + } - if (participToConference (call_id)) { + CallID current_call_id = getCurrentCallId(); - _debug ("Call %s participating to a conference failed\n", call_id.c_str()); + if (participToConference(call_id)) { - Conference *conf = getConferenceFromCallID (call_id); + _debug ("Manager: Call %s participating to a conference failed", call_id.c_str()); - if (conf != NULL) { - // remove this participant - removeParticipant (call_id); + Conference *conf = getConferenceFromCallID(call_id); - processRemainingParticipant (current_call_id, conf); - } + if (conf != NULL) { + // remove this participant + removeParticipant(call_id); - } + processRemainingParticipant(current_call_id, conf); + } - removeCallAccount (call_id); + } + + removeCallAccount(call_id); - removeWaitingCall (call_id); + removeWaitingCall(call_id); } //THREAD=VoIP -void -ManagerImpl::startVoiceMessageNotification (const AccountID& accountId, int nb_msg) -{ - if (_dbus) _dbus->getCallManager()->voiceMailNotify (accountId, nb_msg) ; +void ManagerImpl::startVoiceMessageNotification (const AccountID& accountId, + int nb_msg) { + if (_dbus) + _dbus->getCallManager()->voiceMailNotify(accountId, nb_msg); } -void ManagerImpl::connectionStatusNotification() -{ - if (_dbus != NULL) { - _dbus->getConfigurationManager()->accountsChanged(); - } +void ManagerImpl::connectionStatusNotification () { + if (_dbus != NULL) { + _dbus->getConfigurationManager()->accountsChanged(); + } } /** * Multi Thread */ -bool ManagerImpl::playATone (Tone::TONEID toneId) -{ - bool hasToPlayTone; - // AudioLoop *audioloop; - AudioLayer *audiolayer; - // unsigned int nbSamples; +bool ManagerImpl::playATone (Tone::TONEID toneId) { - _debug ("ManagerImpl::playATone"); + bool hasToPlayTone; + AudioLayer *audiolayer; - hasToPlayTone = getConfigBool (SIGNALISATION, PLAY_TONES); + // _debug ("Manager: Play tone %d", toneId); - if (!hasToPlayTone) - return false; + hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_TONES); - audiolayer = getAudioDriver(); + if (!hasToPlayTone) + return false; + audiolayer = getAudioDriver(); - if (audiolayer) { + if (audiolayer) { - audiolayer->flushUrgent(); - audiolayer->startStream(); - } + audiolayer->flushUrgent(); + audiolayer->startStream(); + } - if (_telephoneTone != 0) { - _toneMutex.enterMutex(); - _telephoneTone->setCurrentTone (toneId); - _toneMutex.leaveMutex(); - /* - audioloop = getTelephoneTone(); - nbSamples = audioloop->getSize(); - SFLDataFormat buf[nbSamples]; - - - if (audiolayer) { - audiolayer->putUrgent (buf, nbSamples); - } else - return false; - */ - } + if (_telephoneTone != 0) { + _toneMutex.enterMutex(); + _telephoneTone->setCurrentTone(toneId); + _toneMutex.leaveMutex(); + } - return true; + return true; } /** * Multi Thread */ -void ManagerImpl::stopTone () -{ - bool hasToPlayTone; - - hasToPlayTone = getConfigBool (SIGNALISATION, PLAY_TONES); +void ManagerImpl::stopTone () { + bool hasToPlayTone; - if (!hasToPlayTone) - return; + hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_TONES); - _toneMutex.enterMutex(); + if (!hasToPlayTone) + return; - if (_telephoneTone != 0) { - _telephoneTone->setCurrentTone (Tone::TONE_NULL); - } + _toneMutex.enterMutex(); - _toneMutex.leaveMutex(); + if (_telephoneTone != 0) { + _telephoneTone->setCurrentTone(Tone::TONE_NULL); + } - // for ringing tone.. - _toneMutex.enterMutex(); - _audiofile.stop(); - _toneMutex.leaveMutex(); + _audiofile.stop(); + _toneMutex.leaveMutex(); } /** * Multi Thread */ -bool -ManagerImpl::playTone() -{ - playATone (Tone::TONE_DIALTONE); - return true; +bool ManagerImpl::playTone () { + playATone(Tone::TONE_DIALTONE); + return true; } /** * Multi Thread */ -bool -ManagerImpl::playToneWithMessage() -{ - playATone (Tone::TONE_CONGESTION); - return true; +bool ManagerImpl::playToneWithMessage () { + playATone(Tone::TONE_CONGESTION); + return true; } /** * Multi Thread */ -void -ManagerImpl::congestion () -{ - playATone (Tone::TONE_CONGESTION); +void ManagerImpl::congestion () { + playATone(Tone::TONE_CONGESTION); } /** * Multi Thread */ -void -ManagerImpl::ringback () -{ - _debug ("ManagerImpl::ringback"); - - playATone (Tone::TONE_RINGTONE); +void ManagerImpl::ringback () { + playATone(Tone::TONE_RINGTONE); } /** * Multi Thread */ -void -ManagerImpl::ringtone() -{ - _debug ("ManagerImpl::ringtone"); - std::string ringchoice; - AudioLayer *audiolayer; - AudioCodec *codecForTone; - int layer, samplerate; - bool loadFile; - - if (isRingtoneEnabled()) { - - _debug (" Tone is enabled"); - //TODO Comment this because it makes the daemon crashes since the main thread - //synchronizes the ringtone thread. - - ringchoice = getConfigString (AUDIO, RING_CHOICE); - //if there is no / inside the path - - if (ringchoice.find (DIR_SEPARATOR_CH) == std::string::npos) { - // check inside global share directory - ringchoice = std::string (PROGSHAREDIR) + DIR_SEPARATOR_STR + RINGDIR + DIR_SEPARATOR_STR + ringchoice; - } +void ManagerImpl::ringtone () { + std::string ringchoice; + AudioLayer *audiolayer; + AudioCodec *codecForTone; + int layer, samplerate; + bool loadFile; - audiolayer = getAudioDriver(); + _debug("Manager: Ringtone"); - layer = audiolayer->getLayerType(); + if (isRingtoneEnabled()) { - if (audiolayer == 0) - return; + _debug ("Manager: Tone is enabled"); + //TODO Comment this because it makes the daemon crashes since the main thread + //synchronizes the ringtone thread. + ringchoice = getConfigString(AUDIO, RING_CHOICE); + //if there is no / inside the path + + if (ringchoice.find(DIR_SEPARATOR_CH) == std::string::npos) { + // check inside global share directory + ringchoice = std::string(PROGSHAREDIR) + DIR_SEPARATOR_STR + + RINGDIR + DIR_SEPARATOR_STR + ringchoice; + } - samplerate = audiolayer->getSampleRate(); + audiolayer = getAudioDriver(); - codecForTone = _codecDescriptorMap.getFirstCodecAvailable(); + if (!audiolayer) { + _error("Manager: Error: no audio layer in ringtone"); + return; + } - _toneMutex.enterMutex(); + layer = audiolayer->getLayerType(); - loadFile = _audiofile.loadFile (ringchoice, codecForTone , samplerate); + samplerate = audiolayer->getSampleRate(); - _toneMutex.leaveMutex(); + codecForTone = _codecDescriptorMap.getFirstCodecAvailable(); - if (loadFile) { + _toneMutex.enterMutex(); - _toneMutex.enterMutex(); - _audiofile.start(); - _toneMutex.leaveMutex(); + loadFile = _audiofile.loadFile(ringchoice, codecForTone, samplerate); - // start audio if not started AND flush all buffers (main and urgent) - audiolayer->startStream(); + _toneMutex.leaveMutex(); - } else { - ringback(); - } + if (loadFile) { - } else { - ringback(); - } + _toneMutex.enterMutex(); + _audiofile.start(); + _toneMutex.leaveMutex(); + + // start audio if not started AND flush all buffers (main and urgent) + audiolayer->startStream(); + + } else { + ringback(); + } + + } else { + ringback(); + } } AudioLoop* -ManagerImpl::getTelephoneTone() -{ - // _debug("ManagerImpl::getTelephoneTone()"); - if (_telephoneTone != 0) { - ost::MutexLock m (_toneMutex); - return _telephoneTone->getCurrentTone(); - } else { - return 0; - } +ManagerImpl::getTelephoneTone () { + // _debug("ManagerImpl::getTelephoneTone()"); + if (_telephoneTone != 0) { + ost::MutexLock m(_toneMutex); + return _telephoneTone->getCurrentTone(); + } else { + return 0; + } } AudioLoop* -ManagerImpl::getTelephoneFile() -{ - // _debug("ManagerImpl::getTelephoneFile()"); - ost::MutexLock m (_toneMutex); - - if (_audiofile.isStarted()) { - return &_audiofile; - } else { - return 0; - } +ManagerImpl::getTelephoneFile () { + // _debug("ManagerImpl::getTelephoneFile()"); + ost::MutexLock m(_toneMutex); + + if (_audiofile.isStarted()) { + return &_audiofile; + } else { + return 0; + } } -void ManagerImpl::notificationIncomingCall (void) -{ - AudioLayer *audiolayer; - std::ostringstream frequency; - unsigned int samplerate, nbSampling; +void ManagerImpl::notificationIncomingCall (void) { + AudioLayer *audiolayer; + std::ostringstream frequency; + unsigned int samplerate, nbSampling; - audiolayer = getAudioDriver(); + audiolayer = getAudioDriver(); - _debug ("ManagerImpl::notificationIncomingCall"); + _debug ("ManagerImpl::notificationIncomingCall"); - if (audiolayer != 0) { - samplerate = audiolayer->getSampleRate(); - frequency << "440/" << FRAME_PER_BUFFER; - Tone tone (frequency.str(), samplerate); - nbSampling = tone.getSize(); - SFLDataFormat buf[nbSampling]; - tone.getNext (buf, tone.getSize()); - /* Put the data in the urgent ring buffer */ - audiolayer->flushUrgent(); - audiolayer->putUrgent (buf, sizeof (SFLDataFormat) *nbSampling); - } + if (audiolayer != 0) { + samplerate = audiolayer->getSampleRate(); + frequency << "440/" << 160; + Tone tone(frequency.str(), samplerate); + nbSampling = tone.getSize(); + SFLDataFormat buf[nbSampling]; + tone.getNext(buf, tone.getSize()); + /* Put the data in the urgent ring buffer */ + audiolayer->flushUrgent(); + audiolayer->putUrgent(buf, sizeof(SFLDataFormat) * nbSampling); + } } - /////////////////////////////////////////////////////////////////////////////// // Private functions /////////////////////////////////////////////////////////////////////////////// @@ -2195,1247 +1978,1492 @@ void ManagerImpl::notificationIncomingCall (void) * @return 1: ok -1: error directory */ -int -ManagerImpl::createSettingsPath (void) -{ +int ManagerImpl::createSettingsPath (void) { - std::string xdg_config, xdg_env; + std::string xdg_config, xdg_env; - _debug ("XDG_CONFIG_HOME: %s", XDG_CONFIG_HOME); + _debug ("XDG_CONFIG_HOME: %s", XDG_CONFIG_HOME); - xdg_config = std::string (HOMEDIR) + DIR_SEPARATOR_STR + ".config" + DIR_SEPARATOR_STR + PROGDIR; + xdg_config = std::string(HOMEDIR) + DIR_SEPARATOR_STR + ".config" + + DIR_SEPARATOR_STR + PROGDIR; - if (XDG_CONFIG_HOME != NULL) { - xdg_env = std::string (XDG_CONFIG_HOME); - (xdg_env.length() > 0) ? _path = xdg_env - : _path = xdg_config; - } else - _path = xdg_config; + if (XDG_CONFIG_HOME != NULL) { + xdg_env = std::string(XDG_CONFIG_HOME); + (xdg_env.length() > 0) ? _path = xdg_env : _path = xdg_config; + } else + _path = xdg_config; - if (mkdir (_path.data(), 0700) != 0) { - // If directory creation failed - if (errno != EEXIST) { - _debug ("Cannot create directory: %s", strerror (errno)); - return -1; - } - } + if (mkdir(_path.data(), 0700) != 0) { + // If directory creation failed + if (errno != EEXIST) { + _debug ("Cannot create directory: %s", strerror (errno)); + return -1; + } + } - // Load user's configuration - _path = _path + DIR_SEPARATOR_STR + PROGNAME + "rc"; + // Load user's configuration + _path = _path + DIR_SEPARATOR_STR + PROGNAME + "rc"; - return 1; + return 1; } /** * Initialization: Main Thread */ -void -ManagerImpl::initConfigFile (bool load_user_value, std::string alternate) -{ - _debug ("ManagerImpl::InitConfigFile"); - - // Default values, that will be overwritten by the call to - // 'populateFromFile' below. - - // Peer to peer settings - _config.addDefaultValue (std::pair<std::string, std::string> (SRTP_ENABLE, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (SRTP_RTP_FALLBACK, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (SRTP_KEY_EXCHANGE, "1"), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (ZRTP_HELLO_HASH, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS_ONCE, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (ZRTP_NOT_SUPP_WARNING, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_ENABLE, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_CA_LIST_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_CERTIFICATE_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_PRIVATE_KEY_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_PASSWORD, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_METHOD, "TLSv1"), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_CIPHERS, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_SERVER_NAME, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_VERIFY_SERVER, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_VERIFY_CLIENT, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_REQUIRE_CLIENT_CERTIFICATE, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_SEC, "2"), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_MSEC, "0"), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (LOCAL_INTERFACE, "default"), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (PUBLISHED_SAMEAS_LOCAL, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (LOCAL_PORT, DEFAULT_SIP_PORT), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (PUBLISHED_PORT, DEFAULT_SIP_PORT), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (PUBLISHED_ADDRESS, DEFAULT_ADDRESS), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (STUN_ENABLE, DFT_STUN_ENABLE), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (STUN_SERVER, DFT_STUN_SERVER), IP2IP_PROFILE); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD), IP2IP_PROFILE); - - // Init display name to the username under which - // this sflphone instance is running. - std::string diplayName (""); - uid_t uid = getuid(); - - struct passwd * user_info = NULL; - user_info = getpwuid (uid); - - if (user_info != NULL) { - diplayName = user_info->pw_name; - } +void ManagerImpl::initConfigFile (bool load_user_value, std::string alternate) { + _debug ("Manager: InitConfigFile"); + + // Default values, that will be overwritten by the call to + // 'populateFromFile' below. + + // Peer to peer settings + _config.addDefaultValue(std::pair<std::string, std::string>(SRTP_ENABLE, + FALSE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + SRTP_RTP_FALLBACK, FALSE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + SRTP_KEY_EXCHANGE, "1"), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + ZRTP_HELLO_HASH, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + ZRTP_DISPLAY_SAS, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + ZRTP_DISPLAY_SAS_ONCE, FALSE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + ZRTP_NOT_SUPP_WARNING, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(TLS_ENABLE, + FALSE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_CA_LIST_FILE, EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_CERTIFICATE_FILE, EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_PRIVATE_KEY_FILE, EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(TLS_PASSWORD, + EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(TLS_METHOD, + "TLSv1"), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(TLS_CIPHERS, + EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_SERVER_NAME, EMPTY_FIELD), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_VERIFY_SERVER, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_VERIFY_CLIENT, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_REQUIRE_CLIENT_CERTIFICATE, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_SEC, "2"), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + TLS_NEGOTIATION_TIMEOUT_MSEC, "0"), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + LOCAL_INTERFACE, "default"), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + PUBLISHED_SAMEAS_LOCAL, TRUE_STR), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(LOCAL_PORT, + DEFAULT_SIP_PORT), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(PUBLISHED_PORT, + DEFAULT_SIP_PORT), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + PUBLISHED_ADDRESS, DEFAULT_ADDRESS), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(STUN_ENABLE, + DFT_STUN_ENABLE), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>(STUN_SERVER, + DFT_STUN_SERVER), IP2IP_PROFILE); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD), IP2IP_PROFILE); + + // Init display name to the username under which + // this sflphone instance is running. + std::string diplayName(""); + uid_t uid = getuid(); + + struct passwd * user_info = NULL; + user_info = getpwuid(uid); + + if (user_info != NULL) { + diplayName = user_info->pw_name; + } - _config.addDefaultValue (std::pair<std::string, std::string> (DISPLAY_NAME, diplayName), IP2IP_PROFILE); - - // Signalisation settings - _config.addDefaultValue (std::pair<std::string, std::string> (SYMMETRIC, TRUE_STR), SIGNALISATION); - _config.addDefaultValue (std::pair<std::string, std::string> (PLAY_DTMF, TRUE_STR), SIGNALISATION); - _config.addDefaultValue (std::pair<std::string, std::string> (PLAY_TONES, TRUE_STR), SIGNALISATION); - _config.addDefaultValue (std::pair<std::string, std::string> (PULSE_LENGTH, DFT_PULSE_LENGTH_STR), SIGNALISATION); - _config.addDefaultValue (std::pair<std::string, std::string> (SEND_DTMF_AS, SIP_INFO_STR), SIGNALISATION); - _config.addDefaultValue (std::pair<std::string, std::string> (ZRTP_ZIDFILE, ZRTP_ZID_FILENAME), SIGNALISATION); - - // Audio settings - _config.addDefaultValue (std::pair<std::string, std::string> (ALSA_CARD_ID_IN, ALSA_DFT_CARD), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (ALSA_CARD_ID_OUT, ALSA_DFT_CARD), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (ALSA_SAMPLE_RATE, DFT_SAMPLE_RATE), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (ALSA_FRAME_SIZE, DFT_FRAME_SIZE), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (ALSA_PLUGIN, PCM_DEFAULT), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (RING_CHOICE, DFT_RINGTONE), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (VOLUME_SPKR, DFT_VOL_SPKR_STR), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (VOLUME_MICRO, DFT_VOL_MICRO_STR), AUDIO); - _config.addDefaultValue (std::pair<std::string, std::string> (RECORD_PATH,DFT_RECORD_PATH), AUDIO); - - // General settings - _config.addDefaultValue (std::pair<std::string, std::string> (ZONE_TONE, DFT_ZONE), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_RINGTONE, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_DIALPAD, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_SEARCHBAR, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_START, FALSE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_POPUP, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_NOTIFY, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_MAIL_NOTIFY, FALSE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_VOLUME, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_HISTORY_LIMIT, DFT_HISTORY_LIMIT), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_HISTORY_ENABLED, TRUE_STR), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_AUDIO, DFT_AUDIO_MANAGER), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_SIP_PORT, DFT_SIP_PORT), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNTS_ORDER, EMPTY_FIELD), PREFERENCES); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_MD5HASH, FALSE_STR), PREFERENCES); - - // Addressbook settings - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_ENABLE, TRUE_STR), ADDRESSBOOK); - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_MAX_RESULTS, "25"), ADDRESSBOOK); - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_DISPLAY_CONTACT_PHOTO, FALSE_STR), ADDRESSBOOK); - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_DISPLAY_PHONE_BUSINESS, TRUE_STR), ADDRESSBOOK); - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_DISPLAY_PHONE_HOME, FALSE_STR), ADDRESSBOOK); - _config.addDefaultValue (std::pair<std::string, std::string> (ADDRESSBOOK_DISPLAY_PHONE_MOBILE, FALSE_STR), ADDRESSBOOK); - - // Hooks settings - _config.addDefaultValue (std::pair<std::string, std::string> (URLHOOK_SIP_FIELD, HOOK_DEFAULT_SIP_FIELD), HOOKS); - _config.addDefaultValue (std::pair<std::string, std::string> (URLHOOK_COMMAND, HOOK_DEFAULT_URL_COMMAND), HOOKS); - _config.addDefaultValue (std::pair<std::string, std::string> (URLHOOK_SIP_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue (std::pair<std::string, std::string> (URLHOOK_IAX2_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue (std::pair<std::string, std::string> (PHONE_NUMBER_HOOK_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue (std::pair<std::string, std::string> (PHONE_NUMBER_HOOK_ADD_PREFIX, EMPTY_FIELD), HOOKS); - - std::string path; - // Loads config from ~/.sflphone/sflphonedrc or so.. - - if (createSettingsPath() == 1 && load_user_value) { - (alternate == "") ? path = _path : path = alternate; - std::cout << path << std::endl; - _exist = _config.populateFromFile (path); - } + _config.addDefaultValue(std::pair<std::string, std::string>(DISPLAY_NAME, + diplayName), IP2IP_PROFILE); + + // Signalisation settings + _config.addDefaultValue(std::pair<std::string, std::string>(SYMMETRIC, + TRUE_STR), SIGNALISATION); + _config.addDefaultValue(std::pair<std::string, std::string>(PLAY_DTMF, + TRUE_STR), SIGNALISATION); + _config.addDefaultValue(std::pair<std::string, std::string>(PLAY_TONES, + TRUE_STR), SIGNALISATION); + _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_LENGTH, + DFT_PULSE_LENGTH_STR), SIGNALISATION); + _config.addDefaultValue(std::pair<std::string, std::string>(SEND_DTMF_AS, + SIP_INFO_STR), SIGNALISATION); + _config.addDefaultValue(std::pair<std::string, std::string>(ZRTP_ZIDFILE, + ZRTP_ZID_FILENAME), SIGNALISATION); + + // Audio settings + _config.addDefaultValue(std::pair<std::string, std::string>( + ALSA_CARD_ID_IN, ALSA_DFT_CARD), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>( + ALSA_CARD_ID_OUT, ALSA_DFT_CARD), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>( + ALSA_CARD_ID_RING, ALSA_DFT_CARD), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>( + AUDIO_SAMPLE_RATE, DFT_SAMPLE_RATE), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>( + ALSA_FRAME_SIZE, DFT_FRAME_SIZE), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(ALSA_PLUGIN, + PCM_DEFAULT), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(RING_CHOICE, + DFT_RINGTONE), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(VOLUME_SPKR, + DFT_VOL_SPKR_STR), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(VOLUME_MICRO, + DFT_VOL_MICRO_STR), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(RECORD_PATH, + DFT_RECORD_PATH), AUDIO); + + // Pulseaudio stream device + _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_PLAYBACK, ""), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_RECORD, ""), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_RINGTONE, ""), AUDIO); + + + // General settings + _config.addDefaultValue(std::pair<std::string, std::string>(ZONE_TONE, + DFT_ZONE), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_RINGTONE, TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_DIALPAD, + TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_SEARCHBAR, TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_START, + FALSE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_POPUP, + TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_NOTIFY, + TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_MAIL_NOTIFY, FALSE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_VOLUME, + TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_HISTORY_LIMIT, DFT_HISTORY_LIMIT), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_HISTORY_ENABLED, TRUE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_AUDIO, + DFT_AUDIO_MANAGER), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_SIP_PORT, DFT_SIP_PORT), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNTS_ORDER, EMPTY_FIELD), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_MD5HASH, + FALSE_STR), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(WINDOW_WIDTH, + DFT_WINDOW_WIDTH), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>(WINDOW_HEIGHT, + DFT_WINDOW_HEIGHT), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + WINDOW_POSITION_X, "0"), PREFERENCES); + _config.addDefaultValue(std::pair<std::string, std::string>( + WINDOW_POSITION_Y, "0"), PREFERENCES); + + // Addressbook settings + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_ENABLE, TRUE_STR), ADDRESSBOOK); + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_MAX_RESULTS, "25"), ADDRESSBOOK); + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_DISPLAY_CONTACT_PHOTO, FALSE_STR), ADDRESSBOOK); + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_DISPLAY_PHONE_BUSINESS, TRUE_STR), ADDRESSBOOK); + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_DISPLAY_PHONE_HOME, FALSE_STR), ADDRESSBOOK); + _config.addDefaultValue(std::pair<std::string, std::string>( + ADDRESSBOOK_DISPLAY_PHONE_MOBILE, FALSE_STR), ADDRESSBOOK); + + // Hooks settings + _config.addDefaultValue(std::pair<std::string, std::string>( + URLHOOK_SIP_FIELD, HOOK_DEFAULT_SIP_FIELD), HOOKS); + _config.addDefaultValue(std::pair<std::string, std::string>( + URLHOOK_COMMAND, HOOK_DEFAULT_URL_COMMAND), HOOKS); + _config.addDefaultValue(std::pair<std::string, std::string>( + URLHOOK_SIP_ENABLED, FALSE_STR), HOOKS); + _config.addDefaultValue(std::pair<std::string, std::string>( + URLHOOK_IAX2_ENABLED, FALSE_STR), HOOKS); + _config.addDefaultValue(std::pair<std::string, std::string>( + PHONE_NUMBER_HOOK_ENABLED, FALSE_STR), HOOKS); + _config.addDefaultValue(std::pair<std::string, std::string>( + PHONE_NUMBER_HOOK_ADD_PREFIX, EMPTY_FIELD), HOOKS); + + std::string path; + // Loads config from ~/.sflphone/sflphonedrc or so.. + + if (createSettingsPath() == 1 && load_user_value) { + (alternate == "") ? path = _path : path = alternate; + std::cout << path << std::endl; + _exist = _config.populateFromFile(path); + } + + // Globally shared default values (not to be populated from file) + _config.addDefaultValue(std::pair<std::string, std::string>(HOSTNAME, + EMPTY_FIELD)); - // Globally shared default values (not to be populated from file) - _config.addDefaultValue (std::pair<std::string, std::string> (HOSTNAME, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>( + AUTHENTICATION_USERNAME, EMPTY_FIELD)); - _config.addDefaultValue (std::pair<std::string, std::string> (AUTHENTICATION_USERNAME, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>(USERNAME, + EMPTY_FIELD)); - _config.addDefaultValue (std::pair<std::string, std::string> (USERNAME, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>(PASSWORD, + EMPTY_FIELD)); - _config.addDefaultValue (std::pair<std::string, std::string> (PASSWORD, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>(REALM, + DEFAULT_REALM)); - _config.addDefaultValue (std::pair<std::string, std::string> (REALM, DEFAULT_REALM)); + _config.addDefaultValue(std::pair<std::string, std::string>(USERAGENT, + DFT_USERAGENT)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_REGISTRATION_EXPIRE, DFT_EXPIRE_VALUE)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_REGISTRATION_EXPIRE, DFT_EXPIRE_VALUE)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_RESOLVE_ONCE, FALSE_STR)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_RESOLVE_ONCE, FALSE_STR)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_MAILBOX, EMPTY_FIELD)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_MAILBOX, EMPTY_FIELD)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ENABLE, TRUE_STR)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_ENABLE, TRUE_STR)); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_CREDENTIAL_NUMBER, "0")); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_CREDENTIAL_NUMBER, "0")); - _config.addDefaultValue (std::pair<std::string, std::string> (CONFIG_ACCOUNT_TYPE, DEFAULT_ACCOUNT_TYPE)); + _config.addDefaultValue(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_TYPE, DEFAULT_ACCOUNT_TYPE)); - _setupLoaded = (_exist == 2) ? false : true; + _setupLoaded = (_exist == 2) ? false : true; } /** * Initialization: Main Thread */ -void -ManagerImpl::initAudioCodec (void) -{ - _warn ("Init audio codecs"); +void ManagerImpl::initAudioCodec (void) { + _info("Manager: Init audio codecs"); - /* Init list of all supported codecs by the application. + /* Init list of all supported codecs by the application. * This is a global list. Every account will inherit it. - */ + */ _codecDescriptorMap.init(); } /* * TODO Retrieve the active codec list per account */ -std::vector<std::string> ManagerImpl::retrieveActiveCodecs() { +std::vector<std::string> ManagerImpl::retrieveActiveCodecs () { // This property is now set per account basis - std::string s = getConfigString (AUDIO, "ActiveCodecs"); - _warn ("ManagerImpl::retrieveActiveCodecs: %s", s.c_str ()); - return unserialize (s); + std::string s = getConfigString(AUDIO, "ActiveCodecs"); + _info("Manager: Retrieve active codecs: %s", s.c_str ()); + return unserialize(s); } std::vector<std::string> ManagerImpl::unserialize (std::string s) { - std::vector<std::string> list; - std::string temp; + std::vector<std::string> list; + std::string temp; - while (s.find ("/", 0) != std::string::npos) { - size_t pos = s.find ("/", 0); - temp = s.substr (0, pos); - s.erase (0, pos + 1); - list.push_back (temp); - } + while (s.find("/", 0) != std::string::npos) { + size_t pos = s.find("/", 0); + temp = s.substr(0, pos); + s.erase(0, pos + 1); + list.push_back(temp); + } - return list; + return list; } std::string ManagerImpl::serialize (std::vector<std::string> v) { - unsigned int i; - std::string res; + unsigned int i; + std::string res; - for (i=0;i<v.size();i++) { - res += v[i] + "/"; - } + for (i = 0; i < v.size(); i++) { + res += v[i] + "/"; + } - return res; + return res; } std::string ManagerImpl::getCurrentCodecName (const CallID& id) { - AccountID accountid = getAccountFromCall (id); - VoIPLink* link = getAccountLink (accountid); - Call* call = link->getCall (id); + AccountID accountid = getAccountFromCall(id); + VoIPLink* link = getAccountLink(accountid); + Call* call = link->getCall(id); - if (!call) - return ""; + if (!call) + return ""; - if (call->getState() != Call::Active) - return ""; - else - return link->getCurrentCodecName(); + if (call->getState() != Call::Active) + return ""; + else + return link->getCurrentCodecName(); } /** * Set input audio plugin */ -void -ManagerImpl::setInputAudioPlugin (const std::string& audioPlugin) -{ - int layer = _audiodriver -> getLayerType(); - - if (CHECK_INTERFACE (layer , ALSA)) { - _debug ("Set input audio plugin"); - _audiodriver -> setErrorMessage (-1); - _audiodriver -> openDevice (_audiodriver -> getIndexIn(), - _audiodriver -> getIndexOut(), - _audiodriver -> getSampleRate(), - _audiodriver -> getFrameSize(), - SFL_PCM_CAPTURE, - audioPlugin); - - if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); - } else {} +void ManagerImpl::setInputAudioPlugin (const std::string& audioPlugin) { + int layer = _audiodriver -> getLayerType(); + + if (CHECK_INTERFACE (layer , ALSA)) { + _debug ("Set input audio plugin"); + _audiodriver -> setErrorMessage(-1); + _audiodriver -> openDevice(_audiodriver->getIndexIn(), _audiodriver->getIndexOut(), + _audiodriver->getIndexRing(), _audiodriver -> getSampleRate(), + _audiodriver -> getFrameSize(), SFL_PCM_CAPTURE, audioPlugin); + + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); + } else { + } } /** * Set output audio plugin */ -void -ManagerImpl::setOutputAudioPlugin (const std::string& audioPlugin) -{ +void ManagerImpl::setOutputAudioPlugin (const std::string& audioPlugin) { - int res; + int res; - _debug ("Set output audio plugin"); - _audiodriver -> setErrorMessage (-1); - res = _audiodriver -> openDevice (_audiodriver -> getIndexIn(), - _audiodriver -> getIndexOut(), - _audiodriver -> getSampleRate(), - _audiodriver -> getFrameSize(), - SFL_PCM_BOTH, - audioPlugin); + _debug ("Manager: Set output audio plugin"); + _audiodriver -> setErrorMessage(-1); + res = _audiodriver -> openDevice(_audiodriver->getIndexIn(), _audiodriver->getIndexOut(), + _audiodriver->getIndexRing(), _audiodriver -> getSampleRate(), + _audiodriver -> getFrameSize(), SFL_PCM_BOTH, audioPlugin); - if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); - // set config - if (res) setConfig (AUDIO , ALSA_PLUGIN , audioPlugin); + // set config + if (res) + setConfig(AUDIO, ALSA_PLUGIN, audioPlugin); } /** * Get list of supported audio output device */ -std::vector<std::string> -ManagerImpl::getAudioOutputDeviceList (void) -{ - _debug ("Get audio output device list"); - AlsaLayer *layer; - std::vector <std::string> devices; +std::vector<std::string> ManagerImpl::getAudioOutputDeviceList (void) { + _debug ("Manager: Get audio output device list"); + AlsaLayer *layer; + std::vector<std::string> devices; - layer = dynamic_cast<AlsaLayer*> (getAudioDriver ()); + layer = dynamic_cast<AlsaLayer*> (getAudioDriver()); - if (layer) - devices = layer -> getSoundCardsInfo (SFL_PCM_PLAYBACK); + if (layer) + devices = layer -> getSoundCardsInfo(SFL_PCM_PLAYBACK); - return devices; + return devices; } /** * Set audio output device */ -void -ManagerImpl::setAudioOutputDevice (const int index) -{ - AlsaLayer *alsalayer; +void ManagerImpl::setAudioDevice (const int index, int streamType) { + + AlsaLayer *alsalayer = NULL; std::string alsaplugin; - _debug ("Set audio output device: %i", index); - - _audiodriver -> setErrorMessage (-1); - - alsalayer = dynamic_cast<AlsaLayer*> (getAudioDriver ()); - alsaplugin = alsalayer->getAudioPlugin (); - - _debug (" set output plugin: %s", alsaplugin.c_str()); - - _audiodriver->openDevice (_audiodriver->getIndexIn(), index, _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), SFL_PCM_PLAYBACK, alsaplugin); + _debug ("Manager: Set audio device: %i", index); + + _audiodriver -> setErrorMessage(-1); + + if(!(alsalayer = dynamic_cast<AlsaLayer*> (getAudioDriver()))) { + _warn("Manager: Error: No audio driver"); + return; + } + + alsaplugin = alsalayer->getAudioPlugin(); + + _debug ("Manager: Set ALSA plugin: %s", alsaplugin.c_str()); + + + switch(streamType) { + case SFL_PCM_PLAYBACK: + _debug("Manager: Set output device"); + _audiodriver->openDevice(_audiodriver->getIndexIn(), index, _audiodriver->getIndexRing(), + _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), + SFL_PCM_PLAYBACK, alsaplugin); + setConfig(AUDIO, ALSA_CARD_ID_OUT, index); + break; + case SFL_PCM_CAPTURE: + _debug("Manager: Set input device"); + _audiodriver->openDevice(index, _audiodriver->getIndexOut(), _audiodriver->getIndexRing(), + _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), + SFL_PCM_CAPTURE, alsaplugin); + setConfig(AUDIO, ALSA_CARD_ID_IN, index); + break; + case SFL_PCM_RINGTONE: + _debug("Manager: Set ringtone device"); + _audiodriver->openDevice(_audiodriver->getIndexOut(), _audiodriver->getIndexOut(), index, + _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), + SFL_PCM_RINGTONE, alsaplugin); + setConfig(AUDIO, ALSA_CARD_ID_RING, index); + break; + default: + _warn("Unknown stream type"); + } if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); + notifyErrClient(_audiodriver -> getErrorMessage()); - // set config - setConfig (AUDIO , ALSA_CARD_ID_OUT , index); } /** * Get list of supported audio input device */ -std::vector<std::string> -ManagerImpl::getAudioInputDeviceList (void) -{ - AlsaLayer *audiolayer; - std::vector <std::string> devices; - - audiolayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); - - - if (audiolayer) - devices = audiolayer->getSoundCardsInfo (SFL_PCM_CAPTURE); - - return devices; -} - -/** - * Set audio input device - */ -void -ManagerImpl::setAudioInputDevice (const int index) -{ - AlsaLayer *alsalayer; - std::string alsaplugin; +std::vector<std::string> ManagerImpl::getAudioInputDeviceList (void) { + AlsaLayer *audiolayer; + std::vector<std::string> devices; - _debug ("Set audio input device %i", index); + audiolayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); - _audiodriver -> setErrorMessage (-1); + if (audiolayer) + devices = audiolayer->getSoundCardsInfo(SFL_PCM_CAPTURE); - alsalayer = dynamic_cast<AlsaLayer*> (getAudioDriver ()); - alsaplugin = alsalayer->getAudioPlugin (); - - _debug (" set input plugin: %s", alsaplugin.c_str()); - - _audiodriver->openDevice (index, _audiodriver->getIndexOut(), _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), SFL_PCM_CAPTURE, alsaplugin); - - if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); - - // set config - setConfig (AUDIO , ALSA_CARD_ID_IN , index); + return devices; } /** * Get string array representing integer indexes of output and input device */ -std::vector<std::string> -ManagerImpl::getCurrentAudioDevicesIndex() -{ - _debug ("Get current audio devices index"); - std::vector<std::string> v; - std::stringstream ssi , sso; - sso << _audiodriver->getIndexOut(); - v.push_back (sso.str()); - ssi << _audiodriver->getIndexIn(); - v.push_back (ssi.str()); - return v; -} - -int -ManagerImpl::isIax2Enabled (void) -{ +std::vector<std::string> ManagerImpl::getCurrentAudioDevicesIndex () { + _debug ("Get current audio devices index"); + std::vector<std::string> v; + std::stringstream ssi, sso, ssr; + sso << _audiodriver->getIndexOut(); + v.push_back(sso.str()); + ssi << _audiodriver->getIndexIn(); + v.push_back(ssi.str()); + ssr << _audiodriver->getIndexRing(); + v.push_back(ssr.str()); + return v; +} + +int ManagerImpl::isIax2Enabled (void) { #ifdef USE_IAX - return true; + return true; #else - return false; + return false; #endif } -int -ManagerImpl::isRingtoneEnabled (void) -{ - return (getConfigString (PREFERENCES, CONFIG_RINGTONE) == "true") ? 1:0; +int ManagerImpl::isRingtoneEnabled (void) { + return (getConfigString(PREFERENCES, CONFIG_RINGTONE) == "true") ? 1 : 0; } -void -ManagerImpl::ringtoneEnabled (void) -{ - (getConfigString (PREFERENCES , CONFIG_RINGTONE) == RINGTONE_ENABLED) ? setConfig (PREFERENCES , CONFIG_RINGTONE , FALSE_STR) : setConfig (PREFERENCES , CONFIG_RINGTONE , TRUE_STR); +void ManagerImpl::ringtoneEnabled (void) { + (getConfigString(PREFERENCES, CONFIG_RINGTONE) == RINGTONE_ENABLED) ? setConfig( + PREFERENCES, CONFIG_RINGTONE, FALSE_STR) + : setConfig(PREFERENCES, CONFIG_RINGTONE, TRUE_STR); } -std::string -ManagerImpl::getRingtoneChoice (void) -{ - // we need the absolute path - std::string tone_name = getConfigString (AUDIO , RING_CHOICE); - std::string tone_path ; +std::string ManagerImpl::getRingtoneChoice (void) { + // we need the absolute path + std::string tone_name = getConfigString(AUDIO, RING_CHOICE); + std::string tone_path; - if (tone_name.find (DIR_SEPARATOR_CH) == std::string::npos) { - // check in ringtone directory ($(PREFIX)/share/sflphone/ringtones) - tone_path = std::string (PROGSHAREDIR) + DIR_SEPARATOR_STR + RINGDIR + DIR_SEPARATOR_STR + tone_name ; - } else { - // the absolute has been saved; do nothing - tone_path = tone_name ; - } + if (tone_name.find(DIR_SEPARATOR_CH) == std::string::npos) { + // check in ringtone directory ($(PREFIX)/share/sflphone/ringtones) + tone_path = std::string(PROGSHAREDIR) + DIR_SEPARATOR_STR + RINGDIR + + DIR_SEPARATOR_STR + tone_name; + } else { + // the absolute has been saved; do nothing + tone_path = tone_name; + } - _debug ("%s", tone_path.c_str()); + _debug ("%s", tone_path.c_str()); - return tone_path; + return tone_path; } -void -ManagerImpl::setRingtoneChoice (const std::string& tone) -{ - // we save the absolute path - setConfig (AUDIO , RING_CHOICE , tone); +void ManagerImpl::setRingtoneChoice (const std::string& tone) { + // we save the absolute path + setConfig(AUDIO, RING_CHOICE, tone); } -std::string -ManagerImpl::getRecordPath (void) -{ - return getConfigString (AUDIO, RECORD_PATH); +std::string ManagerImpl::getRecordPath (void) { + return getConfigString(AUDIO, RECORD_PATH); } -void -ManagerImpl::setRecordPath (const std::string& recPath) -{ - _debug ("ManagerImpl::setRecordPath(%s)! ", recPath.c_str()); - setConfig (AUDIO, RECORD_PATH, recPath); +void ManagerImpl::setRecordPath (const std::string& recPath) { + _debug ("ManagerImpl::setRecordPath(%s)! ", recPath.c_str()); + setConfig(AUDIO, RECORD_PATH, recPath); } -bool -ManagerImpl::getMd5CredentialHashing (void) -{ - return getConfigBool (PREFERENCES, CONFIG_MD5HASH); +bool ManagerImpl::getMd5CredentialHashing (void) { + return getConfigBool(PREFERENCES, CONFIG_MD5HASH); } -int -ManagerImpl::getDialpad (void) -{ - if (getConfigString (PREFERENCES, CONFIG_DIALPAD) == TRUE_STR) { - return 1; - } else { - return 0; - } +int ManagerImpl::getDialpad (void) { + if (getConfigString(PREFERENCES, CONFIG_DIALPAD) == TRUE_STR) { + return 1; + } else { + return 0; + } } -void -ManagerImpl::setDialpad (bool display) -{ - std::string set; +void ManagerImpl::setDialpad (bool display) { + std::string set; - display ? set = TRUE_STR : set = FALSE_STR; - // If the value we received is different from the one saved in the config file, save the new value - // Else do nothing + display ? set = TRUE_STR : set = FALSE_STR; + // If the value we received is different from the one saved in the config file, save the new value + // Else do nothing - if ( (display && (getConfigString (PREFERENCES, CONFIG_DIALPAD) != TRUE_STR)) || - (!display && (getConfigString (PREFERENCES, CONFIG_DIALPAD) != FALSE_STR))) - setConfig (PREFERENCES, CONFIG_DIALPAD, set); + if ((display && (getConfigString(PREFERENCES, CONFIG_DIALPAD) != TRUE_STR)) + || (!display && (getConfigString(PREFERENCES, CONFIG_DIALPAD) + != FALSE_STR))) + setConfig(PREFERENCES, CONFIG_DIALPAD, set); } -int -ManagerImpl::getVolumeControls (void) -{ - if (getConfigString (PREFERENCES , CONFIG_VOLUME) == TRUE_STR) { - return 1; - } else { - return 0; - } +int ManagerImpl::getVolumeControls (void) { + if (getConfigString(PREFERENCES, CONFIG_VOLUME) == TRUE_STR) { + return 1; + } else { + return 0; + } } -void ManagerImpl::setVolumeControls (bool display) -{ - std::string set; +void ManagerImpl::setVolumeControls (bool display) { + std::string set; - display ? set = TRUE_STR : set = FALSE_STR; - // If the value we received is different from the one saved in the config file, save the new value - // Else do nothing + display ? set = TRUE_STR : set = FALSE_STR; + // If the value we received is different from the one saved in the config file, save the new value + // Else do nothing - if ( (display && (getConfigString (PREFERENCES, CONFIG_VOLUME) != TRUE_STR)) || - (!display && (getConfigString (PREFERENCES, CONFIG_VOLUME) != FALSE_STR))) - setConfig (PREFERENCES, CONFIG_VOLUME, set); + if ((display && (getConfigString(PREFERENCES, CONFIG_VOLUME) != TRUE_STR)) + || (!display && (getConfigString(PREFERENCES, CONFIG_VOLUME) + != FALSE_STR))) + setConfig(PREFERENCES, CONFIG_VOLUME, set); } -void -ManagerImpl::setRecordingCall (const CallID& id) -{ - /* +void ManagerImpl::setRecordingCall (const CallID& id) { + /* _debug ("ManagerImpl::setRecording()! "); AccountID accountid = getAccountFromCall (id); - + getAccountLink (accountid)->setRecording (id); - */ - AccountID accountid = getAccountFromCall (id); - Recordable* rec = (Recordable*) getAccountLink (accountid)->getCall (id); + */ - rec->setRecording(); + AccountID accountid = getAccountFromCall(id); + Recordable* rec = (Recordable *) getAccountLink(accountid)->getCall(id); + + rec->setRecording(); + + } -bool -ManagerImpl::isRecording (const CallID& id) -{ - /* - _debug ("ManagerImpl::isRecording()! "); - AccountID accountid = getAccountFromCall (id); +bool ManagerImpl::isRecording (const CallID& id) { + /* + _debug ("ManagerImpl::isRecording()! "); + AccountID accountid = getAccountFromCall (id); - return getAccountLink (accountid)->isRecording (id); - */ + return getAccountLink (accountid)->isRecording (id); + */ - AccountID accountid = getAccountFromCall (id); - Recordable* rec = (Recordable*) getAccountLink (accountid)->getCall (id); + AccountID accountid = getAccountFromCall(id); + Recordable* rec = (Recordable*) getAccountLink(accountid)->getCall(id); - return rec->isRecording(); + return rec->isRecording(); } -void -ManagerImpl::startHidden (void) -{ - (getConfigString (PREFERENCES, CONFIG_START) == START_HIDDEN) ? setConfig (PREFERENCES , CONFIG_START , FALSE_STR) : setConfig (PREFERENCES , CONFIG_START , TRUE_STR); +void ManagerImpl::startHidden (void) { + (getConfigString(PREFERENCES, CONFIG_START) == START_HIDDEN) ? setConfig( + PREFERENCES, CONFIG_START, FALSE_STR) : setConfig(PREFERENCES, + CONFIG_START, TRUE_STR); } -int -ManagerImpl::isStartHidden (void) -{ - return (getConfigBool (PREFERENCES, CONFIG_START) == true) ? 1:0; +int ManagerImpl::isStartHidden (void) { + return (getConfigBool(PREFERENCES, CONFIG_START) == true) ? 1 : 0; } -void -ManagerImpl::switchPopupMode (void) -{ - (getConfigString (PREFERENCES, CONFIG_POPUP) == WINDOW_POPUP) ? setConfig (PREFERENCES, CONFIG_POPUP, FALSE_STR) : setConfig (PREFERENCES, CONFIG_POPUP, TRUE_STR); +void ManagerImpl::switchPopupMode (void) { + (getConfigString(PREFERENCES, CONFIG_POPUP) == WINDOW_POPUP) ? setConfig( + PREFERENCES, CONFIG_POPUP, FALSE_STR) : setConfig(PREFERENCES, + CONFIG_POPUP, TRUE_STR); } -void ManagerImpl::setHistoryLimit (const int& days) -{ - setConfig (PREFERENCES, CONFIG_HISTORY_LIMIT, days); +void ManagerImpl::setHistoryLimit (const int& days) { + setConfig(PREFERENCES, CONFIG_HISTORY_LIMIT, days); } -int ManagerImpl::getHistoryLimit (void) -{ - return getConfigInt (PREFERENCES , CONFIG_HISTORY_LIMIT); +int ManagerImpl::getHistoryLimit (void) { + return getConfigInt(PREFERENCES, CONFIG_HISTORY_LIMIT); } -std::string ManagerImpl::getHistoryEnabled (void) -{ - return getConfigString (PREFERENCES, CONFIG_HISTORY_ENABLED); +std::string ManagerImpl::getHistoryEnabled (void) { + return getConfigString(PREFERENCES, CONFIG_HISTORY_ENABLED); } -void ManagerImpl::setHistoryEnabled (void) -{ - (getConfigString (PREFERENCES, CONFIG_HISTORY_ENABLED) == TRUE_STR) ? setConfig (PREFERENCES, CONFIG_HISTORY_ENABLED, FALSE_STR) : setConfig (PREFERENCES, CONFIG_HISTORY_ENABLED, TRUE_STR); +void ManagerImpl::setHistoryEnabled (void) { + (getConfigString(PREFERENCES, CONFIG_HISTORY_ENABLED) == TRUE_STR) ? setConfig( + PREFERENCES, CONFIG_HISTORY_ENABLED, FALSE_STR) + : setConfig(PREFERENCES, CONFIG_HISTORY_ENABLED, TRUE_STR); } -int -ManagerImpl::getSearchbar (void) -{ - return getConfigInt (PREFERENCES , CONFIG_SEARCHBAR); +int ManagerImpl::getSearchbar (void) { + return getConfigInt(PREFERENCES, CONFIG_SEARCHBAR); } -void -ManagerImpl::setSearchbar (void) -{ - (getConfigInt (PREFERENCES , CONFIG_SEARCHBAR) == 1) ? setConfig (PREFERENCES , CONFIG_SEARCHBAR , FALSE_STR) : setConfig (PREFERENCES , CONFIG_SEARCHBAR , TRUE_STR); +void ManagerImpl::setSearchbar (void) { + (getConfigInt(PREFERENCES, CONFIG_SEARCHBAR) == 1) ? setConfig(PREFERENCES, + CONFIG_SEARCHBAR, FALSE_STR) : setConfig(PREFERENCES, + CONFIG_SEARCHBAR, TRUE_STR); } -int -ManagerImpl::popupMode (void) -{ - return (getConfigBool (PREFERENCES, CONFIG_POPUP) == true) ? 1:0 ; +int ManagerImpl::popupMode (void) { + return (getConfigBool(PREFERENCES, CONFIG_POPUP) == true) ? 1 : 0; } -int32_t -ManagerImpl::getNotify (void) -{ - return (getConfigBool (PREFERENCES , CONFIG_NOTIFY) == true) ? 1:0; +int32_t ManagerImpl::getNotify (void) { + return (getConfigBool(PREFERENCES, CONFIG_NOTIFY) == true) ? 1 : 0; } -void -ManagerImpl::setNotify (void) -{ - (getConfigString (PREFERENCES, CONFIG_NOTIFY) == NOTIFY_ALL) ? setConfig (PREFERENCES, CONFIG_NOTIFY , FALSE_STR) : setConfig (PREFERENCES, CONFIG_NOTIFY , TRUE_STR); +void ManagerImpl::setNotify (void) { + (getConfigString(PREFERENCES, CONFIG_NOTIFY) == NOTIFY_ALL) ? setConfig( + PREFERENCES, CONFIG_NOTIFY, FALSE_STR) : setConfig(PREFERENCES, + CONFIG_NOTIFY, TRUE_STR); } -int32_t -ManagerImpl::getMailNotify (void) -{ - return getConfigInt (PREFERENCES, CONFIG_MAIL_NOTIFY); +int32_t ManagerImpl::getMailNotify (void) { + return getConfigInt(PREFERENCES, CONFIG_MAIL_NOTIFY); } -void ManagerImpl::setAudioManager (const int32_t& api) -{ +void ManagerImpl::setAudioManager (const int32_t& api) { - int type; - std::string alsaPlugin; + int type; + std::string alsaPlugin; - _debug ("Setting audio manager "); + _debug ("Setting audio manager "); - if (!_audiodriver) - return; + if (!_audiodriver) + return; - type = _audiodriver->getLayerType(); + type = _audiodriver->getLayerType(); - if (type == api) { - _debug ("Audio manager chosen already in use. No changes made. "); - return; - } + if (type == api) { + _debug ("Audio manager chosen already in use. No changes made. "); + return; + } - setConfig (PREFERENCES , CONFIG_AUDIO , api) ; + setConfig(PREFERENCES, CONFIG_AUDIO, api); - switchAudioManager(); - return; + switchAudioManager(); + return; } -int32_t -ManagerImpl::getAudioManager (void) -{ - return getConfigInt (PREFERENCES , CONFIG_AUDIO); +int32_t ManagerImpl::getAudioManager (void) { + return getConfigInt(PREFERENCES, CONFIG_AUDIO); } -void -ManagerImpl::setMailNotify (void) -{ - (getConfigString (PREFERENCES , CONFIG_MAIL_NOTIFY) == NOTIFY_ALL) ? setConfig (PREFERENCES , CONFIG_MAIL_NOTIFY , FALSE_STR) : setConfig (PREFERENCES , CONFIG_MAIL_NOTIFY , TRUE_STR); +void ManagerImpl::setMailNotify (void) { + (getConfigString(PREFERENCES, CONFIG_MAIL_NOTIFY) == NOTIFY_ALL) ? setConfig( + PREFERENCES, CONFIG_MAIL_NOTIFY, FALSE_STR) + : setConfig(PREFERENCES, CONFIG_MAIL_NOTIFY, TRUE_STR); } -void -ManagerImpl::notifyErrClient (const int32_t& errCode) -{ - if (_dbus) { - _debug ("NOTIFY ERR NUMBER %i" , errCode); - _dbus -> getConfigurationManager() -> errorAlert (errCode); - } +void ManagerImpl::notifyErrClient (const int32_t& errCode) { + if (_dbus) { + _debug ("NOTIFY ERR NUMBER %i" , errCode); + _dbus -> getConfigurationManager() -> errorAlert(errCode); + } } -int -ManagerImpl::getAudioDeviceIndex (const std::string name) -{ - AlsaLayer *alsalayer; +int ManagerImpl::getAudioDeviceIndex (const std::string name) { + AlsaLayer *alsalayer; - _debug ("Get audio device index"); + _debug ("Get audio device index"); - alsalayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); + alsalayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); - if (alsalayer) - return alsalayer -> soundCardGetIndex (name); - else - return 0; + if (alsalayer) + return alsalayer -> soundCardGetIndex(name); + else + return 0; } -std::string -ManagerImpl::getCurrentAudioOutputPlugin (void) -{ - AlsaLayer *alsalayer; +std::string ManagerImpl::getCurrentAudioOutputPlugin (void) { + AlsaLayer *alsalayer; - _debug ("Get alsa plugin"); + _debug ("Get alsa plugin"); - alsalayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); + alsalayer = dynamic_cast<AlsaLayer *> (getAudioDriver()); - if (alsalayer) return alsalayer -> getAudioPlugin (); - else return getConfigString (AUDIO , ALSA_PLUGIN); + if (alsalayer) + return alsalayer -> getAudioPlugin(); + else + return getConfigString(AUDIO, ALSA_PLUGIN); } -int ManagerImpl::app_is_running (std::string process) -{ - std::ostringstream cmd; - cmd << "ps -C " << process; - return system (cmd.str().c_str()); +std::string ManagerImpl::getEchoCancelState(void) { + + // echo canceller is disabled by default + bool isEnabled = false; + + if(_audiodriver) { + isEnabled = _audiodriver->getEchoCancelState(); + } + + std::string state(""); + if(isEnabled) + state = "enabled"; + else + state = "disabled"; + + return state; } +void ManagerImpl::setEchoCancelState(std::string state) { + _debug("Manager: Set echo suppress state: %s", state.c_str()); -/** - * Initialization: Main Thread - */ -bool -ManagerImpl::initAudioDriver (void) -{ - - int error; - - _debugInit ("AudioLayer Creation"); - - if (getConfigInt (PREFERENCES , CONFIG_AUDIO) == ALSA) { - _audiodriver = new AlsaLayer (this); - _audiodriver->setMainBuffer (&_mainBuffer); - } else if (getConfigInt (PREFERENCES , CONFIG_AUDIO) == PULSEAUDIO) { - if (app_is_running ("pulseaudio") == 0) { - _audiodriver = new PulseLayer (this); - _audiodriver->setMainBuffer (&_mainBuffer); - } else { - _audiodriver = new AlsaLayer (this); - setConfig (PREFERENCES, CONFIG_AUDIO, ALSA); - _audiodriver->setMainBuffer (&_mainBuffer); - } - } else - _debug ("Error - Audio API unknown"); + bool isEnabled = false; - if (_audiodriver == 0) { - _debug ("Init audio driver error"); - return false; - } else { - error = getAudioDriver()->getErrorMessage(); + if(state.compare("enabled") == 0) + isEnabled = true; + else + isEnabled = false; - if (error == -1) { - _debug ("Init audio driver: %i", error); - return false; - } + if(_audiodriver) { + _audiodriver->setEchoCancelState(isEnabled); } +} - return true; -} +std::string ManagerImpl::getNoiseSuppressState(void) { + + // noise suppress disabled by default + bool isEnabled = false; -/** - * Initialization: Main Thread and gui - */ -void -ManagerImpl::selectAudioDriver (void) -{ - int layer, numCardIn, numCardOut, sampleRate, frameSize; - std::string alsaPlugin; - AlsaLayer *alsalayer; - - layer = _audiodriver->getLayerType(); - _debug ("Audio layer type: %i" , layer); - - /* Retrieve the global devices info from the user config */ - alsaPlugin = getConfigString (AUDIO , ALSA_PLUGIN); - numCardIn = getConfigInt (AUDIO , ALSA_CARD_ID_IN); - numCardOut = getConfigInt (AUDIO , ALSA_CARD_ID_OUT); - sampleRate = getConfigInt (AUDIO , ALSA_SAMPLE_RATE); - - if (sampleRate <=0 || sampleRate > 48000) { - sampleRate = 44100; + if(_audiodriver) { + isEnabled = _audiodriver->getNoiseSuppressState(); } - frameSize = getConfigInt (AUDIO , ALSA_FRAME_SIZE); + std::string state(""); + if(isEnabled) + state = "enabled"; + else + state = "disabled"; - /* Only for the ALSA layer, we check the sound card information */ + return state; +} - if (layer == ALSA) { - alsalayer = dynamic_cast<AlsaLayer*> (getAudioDriver ()); +void ManagerImpl::setNoiseSuppressState(std::string state) { + _debug("Manager: Set noise suppress state: %s", state.c_str()); - if (!alsalayer -> soundCardIndexExist (numCardIn , SFL_PCM_CAPTURE)) { - _debug (" Card with index %i doesn't exist or cannot capture. Switch to 0.", numCardIn); - numCardIn = ALSA_DFT_CARD_ID ; - setConfig (AUDIO , ALSA_CARD_ID_IN , ALSA_DFT_CARD_ID); - } + bool isEnabled = false; - if (!alsalayer -> soundCardIndexExist (numCardOut , SFL_PCM_PLAYBACK)) { - _debug (" Card with index %i doesn't exist or cannot playback . Switch to 0.", numCardOut); - numCardOut = ALSA_DFT_CARD_ID ; - setConfig (AUDIO , ALSA_CARD_ID_OUT , ALSA_DFT_CARD_ID); - } + if(state.compare("enabled") == 0) + isEnabled = true; + else + isEnabled = false; + + if(_audiodriver) { + _audiodriver->setNoiseSuppressState(isEnabled); } +} - _audiodriver->setErrorMessage (-1); +int ManagerImpl::app_is_running (std::string process) { + std::ostringstream cmd; - /* Open the audio devices */ - _audiodriver->openDevice (numCardIn , numCardOut, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin); - /* Notify the error if there is one */ + cmd << "ps -C " << process; + return system(cmd.str().c_str()); +} - if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); +/** + * Initialization: Main Thread + */ +bool ManagerImpl::initAudioDriver (void) { + + int error; + + _debugInit ("AudioLayer Creation"); + + if (getConfigInt(PREFERENCES, CONFIG_AUDIO) == ALSA) { + _audiodriver = new AlsaLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + } else if (getConfigInt(PREFERENCES, CONFIG_AUDIO) == PULSEAUDIO) { + if (app_is_running("pulseaudio") == 0) { + _audiodriver = new PulseLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + } else { + _audiodriver = new AlsaLayer(this); + setConfig(PREFERENCES, CONFIG_AUDIO, ALSA); + _audiodriver->setMainBuffer(&_mainBuffer); + } + } else + _debug ("Error - Audio API unknown"); + + if (_audiodriver == 0) { + _debug ("Init audio driver error"); + return false; + } else { + error = getAudioDriver()->getErrorMessage(); + + if (error == -1) { + _debug ("Init audio driver: %i", error); + return false; + } + } + + return true; } -void ManagerImpl::switchAudioManager (void) -{ - int type, samplerate, framesize, numCardIn, numCardOut; - std::string alsaPlugin; +/** + * Initialization: Main Thread and gui + */ +void ManagerImpl::selectAudioDriver (void) { + int layer, numCardIn, numCardOut, numCardRing, sampleRate, frameSize; + std::string alsaPlugin; + AlsaLayer *alsalayer; + + layer = _audiodriver->getLayerType(); + _debug ("Audio layer type: %i" , layer); + + /* Retrieve the global devices info from the user config */ + alsaPlugin = getConfigString(AUDIO, ALSA_PLUGIN); + numCardIn = getConfigInt(AUDIO, ALSA_CARD_ID_IN); + numCardOut = getConfigInt(AUDIO, ALSA_CARD_ID_OUT); + numCardRing = getConfigInt(AUDIO, ALSA_CARD_ID_RING); + // sampleRate = getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); + sampleRate = _mainBuffer.getInternalSamplingRate(); + frameSize = getConfigInt(AUDIO, ALSA_FRAME_SIZE); + + /* Only for the ALSA layer, we check the sound card information */ + + if (layer == ALSA) { + alsalayer = dynamic_cast<AlsaLayer*> (getAudioDriver()); + + if (!alsalayer -> soundCardIndexExist(numCardIn, SFL_PCM_CAPTURE)) { + _debug (" Card with index %i doesn't exist or cannot capture. Switch to 0.", numCardIn); + numCardIn = ALSA_DFT_CARD_ID; + setConfig(AUDIO, ALSA_CARD_ID_IN, ALSA_DFT_CARD_ID); + } + + if (!alsalayer -> soundCardIndexExist(numCardOut, SFL_PCM_PLAYBACK)) { + _debug (" Card with index %i doesn't exist or cannot playback. Switch to 0.", numCardOut); + numCardOut = ALSA_DFT_CARD_ID; + setConfig(AUDIO, ALSA_CARD_ID_OUT, ALSA_DFT_CARD_ID); + } + + if (!alsalayer->soundCardIndexExist(numCardRing, SFL_PCM_RINGTONE)) { + _debug(" Card with index %i doesn't exist or cannot ringtone. Switch to 0.", numCardRing); + numCardRing = ALSA_DFT_CARD_ID; + setConfig(AUDIO, ALSA_CARD_ID_RING, ALSA_DFT_CARD_ID); + } + } + + _audiodriver->setErrorMessage(-1); - _debug ("Switching audio manager "); + /* Open the audio devices */ + _audiodriver->openDevice(numCardIn, numCardOut, numCardRing, sampleRate, frameSize, + SFL_PCM_BOTH, alsaPlugin); - if (!_audiodriver) - return; + /* Notify the error if there is one */ - type = _audiodriver->getLayerType(); + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); - samplerate = getConfigInt (AUDIO , ALSA_SAMPLE_RATE); +} - framesize = getConfigInt (AUDIO , ALSA_FRAME_SIZE); +void ManagerImpl::switchAudioManager (void) { + int type, samplerate, framesize, numCardIn, numCardOut, numCardRing; + std::string alsaPlugin; - _debug ("samplerate: %i, framesize %i\n", samplerate, framesize); + _debug ("Manager: Switching audio manager "); - alsaPlugin = getConfigString (AUDIO , ALSA_PLUGIN); + if (!_audiodriver) + return; - numCardIn = getConfigInt (AUDIO , ALSA_CARD_ID_IN); + type = _audiodriver->getLayerType(); - numCardOut = getConfigInt (AUDIO , ALSA_CARD_ID_OUT); + // samplerate = getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); + samplerate = _mainBuffer.getInternalSamplingRate(); + framesize = getConfigInt(AUDIO, ALSA_FRAME_SIZE); - _debug ("Deleting current layer... "); + _debug ("Mnager: samplerate: %i, framesize %i\n", samplerate, framesize); - // ost::MutexLock lock (*getAudioLayerMutex()); - getAudioLayerMutex()->enter(); + alsaPlugin = getConfigString(AUDIO, ALSA_PLUGIN); - // _audiodriver->closeLayer(); - delete _audiodriver; + numCardIn = getConfigInt(AUDIO, ALSA_CARD_ID_IN); + numCardOut = getConfigInt(AUDIO, ALSA_CARD_ID_OUT); + numCardRing = getConfigInt(AUDIO, ALSA_CARD_ID_RING); - _audiodriver = NULL; + _debug ("Manager: Deleting current layer... "); - switch (type) { + // ost::MutexLock lock (*getAudioLayerMutex()); + getAudioLayerMutex()->enter(); - case ALSA: - _debug ("Creating Pulseaudio layer..."); - _audiodriver = new PulseLayer (this); - _audiodriver->setMainBuffer (&_mainBuffer); - break; + // _audiodriver->closeLayer(); + delete _audiodriver; - case PULSEAUDIO: - _debug ("Creating ALSA layer..."); - _audiodriver = new AlsaLayer (this); - _audiodriver->setMainBuffer (&_mainBuffer); - break; + _audiodriver = NULL; - default: - _debug ("Error: audio layer unknown"); - break; - } + switch (type) { - _audiodriver->setErrorMessage (-1); + case ALSA: + _debug ("Manager: Creating Pulseaudio layer..."); + _audiodriver = new PulseLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; - _audiodriver->openDevice (numCardIn , numCardOut, samplerate, framesize, SFL_PCM_BOTH, alsaPlugin); + case PULSEAUDIO: + _debug ("Manager: Creating ALSA layer..."); + _audiodriver = new AlsaLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; - if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient (_audiodriver -> getErrorMessage()); + default: + _warn("Manager: Error: audio layer unknown"); + break; + } - _debug ("Current device: %i ", type); + _audiodriver->setErrorMessage(-1); - _debug ("has current call: %i ", hasCurrentCall()); + _audiodriver->openDevice(numCardIn, numCardOut, numCardRing, samplerate, framesize, + SFL_PCM_BOTH, alsaPlugin); - if (hasCurrentCall()) - _audiodriver->startStream(); + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); - // ost::MutexLock unlock (*getAudioLayerMutex()); - getAudioLayerMutex()->leave(); + _debug ("Manager: Current device: %i ", type); + _debug ("Manager: Has current call: %i ", hasCurrentCall()); - // need to stop audio streams if there is currently no call - // if ( (type != PULSEAUDIO) && (!hasCurrentCall())) { - // _debug("There is currently a call!!"); - // _audiodriver->stopStream(); + if (hasCurrentCall()) + _audiodriver->startStream(); - // } -} + // ost::MutexLock unlock (*getAudioLayerMutex()); + getAudioLayerMutex()->leave(); -/** - * Init the volume for speakers/micro from 0 to 100 value - * Initialization: Main Thread - */ -void -ManagerImpl::initVolume() -{ - _debugInit ("Initiate Volume"); - setSpkrVolume (getConfigInt (AUDIO, VOLUME_SPKR)); - setMicVolume (getConfigInt (AUDIO, VOLUME_MICRO)); + // need to stop audio streams if there is currently no call + // if ( (type != PULSEAUDIO) && (!hasCurrentCall())) { + // _debug("There is currently a call!!"); + // _audiodriver->stopStream(); + + // } } +void ManagerImpl::audioSamplingRateChanged (void) { -void ManagerImpl::setSpkrVolume (unsigned short spkr_vol) -{ - PulseLayer *pulselayer = NULL; + int type, samplerate, framesize, numCardIn, numCardOut, numCardRing; + std::string alsaPlugin; - /* Set the manager sound volume */ - _spkr_volume = spkr_vol; + _debug ("Manager: Audio Sampling Rate"); - /* Only for PulseAudio */ - pulselayer = dynamic_cast<PulseLayer*> (getAudioDriver()); + if (!_audiodriver) + return; - if (pulselayer) { - if (pulselayer->getLayerType() == PULSEAUDIO) { - if (pulselayer) pulselayer->setPlaybackVolume (spkr_vol); - } - } -} + type = _audiodriver->getLayerType(); + samplerate = _mainBuffer.getInternalSamplingRate(); + framesize = getConfigInt(AUDIO, ALSA_FRAME_SIZE); -void ManagerImpl::setMicVolume (unsigned short mic_vol) -{ - _mic_volume = mic_vol; -} + _debug ("Mnager: samplerate: %i, framesize %i\n", samplerate, framesize); + alsaPlugin = getConfigString(AUDIO, ALSA_PLUGIN); + numCardIn = getConfigInt(AUDIO, ALSA_CARD_ID_IN); + numCardOut = getConfigInt(AUDIO, ALSA_CARD_ID_OUT); + numCardRing = getConfigInt(AUDIO, ALSA_CARD_ID_RING); - -int ManagerImpl::getLocalIp2IpPort (void) -{ - // The SIP port used for default account (IP to IP) calls= - return getConfigInt (IP2IP_PROFILE, LOCAL_PORT); + _debug ("Manager: Deleting current layer... "); -} + // ost::MutexLock lock (*getAudioLayerMutex()); + getAudioLayerMutex()->enter(); + // _audiodriver->closeLayer(); + delete _audiodriver; -// TODO: rewrite this -/** - * Main Thread - */ -bool -ManagerImpl::getCallStatus (const std::string& sequenceId UNUSED) -{ - if (!_dbus) { - return false; - } + _audiodriver = NULL; - ost::MutexLock m (_callAccountMapMutex); - - CallAccountMap::iterator iter = _callAccountMap.begin(); - TokenList tk; - std::string code; - std::string status; - std::string destination; - std::string number; - - while (iter != _callAccountMap.end()) { - Call* call = getAccountLink (iter->second)->getCall (iter->first); - Call::ConnectionState state = call->getConnectionState(); - - if (state != Call::Connected) { - switch (state) { - - case Call::Trying: - code="110"; - status = "Trying"; - break; - - case Call::Ringing: - code="111"; - status = "Ringing"; - break; - - case Call::Progressing: - code="125"; - status = "Progressing"; - break; - - case Call::Disconnected: - code="125"; - status = "Disconnected"; - break; - - default: - code=""; - status= ""; - } - } else { - switch (call->getState()) { - - case Call::Active: - - case Call::Conferencing: - code="112"; - status = "Established"; - break; - - case Call::Hold: - code="114"; - status = "Held"; - break; - - case Call::Busy: - code="113"; - status = "Busy"; - break; - - case Call::Refused: - code="125"; - status = "Refused"; - break; - - case Call::Error: - code="125"; - status = "Error"; - break; - - case Call::Inactive: - code="125"; - status = "Inactive"; - break; - } - } + switch (type) { - // No Congestion - // No Wrong Number - // 116 <CSeq> <call-id> <acc> <destination> Busy - destination = call->getPeerName(); + case PULSEAUDIO: + _debug ("Manager: Creating Pulseaudio layer..."); + _audiodriver = new PulseLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; - number = call->getPeerNumber(); + case ALSA: + _debug ("Manager: Creating ALSA layer..."); + _audiodriver = new AlsaLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; - if (number!="") { - destination.append (" <"); - destination.append (number); - destination.append (">"); - } + default: + _warn("Manager: Error: audio layer unknown"); + break; + } - tk.push_back (iter->second); + _audiodriver->setErrorMessage(-1); - tk.push_back (destination); - tk.push_back (status); - tk.clear(); + _audiodriver->openDevice(numCardIn, numCardOut, numCardRing, samplerate, framesize, + SFL_PCM_BOTH, alsaPlugin); - iter++; - } + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); - return true; -} + _debug ("Manager: Current device: %i ", type); + _debug ("Manager: Has current call: %i ", hasCurrentCall()); -//THREAD=Main -bool -ManagerImpl::getConfig (const std::string& section, const std::string& name, TokenList& arg) -{ - return _config.getConfigTreeItemToken (section, name, arg); -} + if (_audiodriver) { + unsigned int sampleRate = _audiodriver->getSampleRate(); -//THREAD=Main -// throw an Conf::ConfigTreeItemException if not found -int -ManagerImpl::getConfigInt (const std::string& section, const std::string& name) -{ - try { - return _config.getConfigTreeItemIntValue (section, name); - } catch (Conf::ConfigTreeItemException& e) { - throw e; - } + delete _telephoneTone; - return 0; -} + _debugInit ("Manager: Load telephone tone"); + std::string country = getConfigString(PREFERENCES, ZONE_TONE); + _telephoneTone = new TelephoneTone(country, sampleRate); -bool -ManagerImpl::getConfigBool (const std::string& section, const std::string& name) -{ - try { - return (_config.getConfigTreeItemValue (section, name) == TRUE_STR) ? true:false; - } catch (Conf::ConfigTreeItemException& e) { - throw e; - } - return false; + delete _dtmfKey; + + _debugInit ("Manager: Loading DTMF key"); + _dtmfKey = new DTMF(sampleRate); + } + + if (hasCurrentCall()) + _audiodriver->startStream(); + + // ost::MutexLock unlock (*getAudioLayerMutex()); + getAudioLayerMutex()->leave(); + + // need to stop audio streams if there is currently no call + // if ( (type != PULSEAUDIO) && (!hasCurrentCall())) { + // _debug("There is currently a call!!"); + // _audiodriver->stopStream(); + + // } +} + +/** + * Init the volume for speakers/micro from 0 to 100 value + * Initialization: Main Thread + */ +void ManagerImpl::initVolume () { + _debugInit ("Initiate Volume"); + setSpkrVolume(getConfigInt(AUDIO, VOLUME_SPKR)); + setMicVolume(getConfigInt(AUDIO, VOLUME_MICRO)); +} + +void ManagerImpl::setSpkrVolume (unsigned short spkr_vol) { + PulseLayer *pulselayer = NULL; + + /* Set the manager sound volume */ + _spkr_volume = spkr_vol; + + /* Only for PulseAudio */ + pulselayer = dynamic_cast<PulseLayer*> (getAudioDriver()); + + if (pulselayer) { + if (pulselayer->getLayerType() == PULSEAUDIO) { + if (pulselayer) + pulselayer->setPlaybackVolume(spkr_vol); + } + } +} + +void ManagerImpl::setMicVolume (unsigned short mic_vol) { + _mic_volume = mic_vol; +} + +int ManagerImpl::getLocalIp2IpPort (void) { + // The SIP port used for default account (IP to IP) calls= + return getConfigInt(IP2IP_PROFILE, LOCAL_PORT); + +} + +// TODO: rewrite this +/** + * Main Thread + */ +bool ManagerImpl::getCallStatus (const std::string& sequenceId UNUSED) { + if (!_dbus) { + return false; + } + + ost::MutexLock m(_callAccountMapMutex); + + CallAccountMap::iterator iter = _callAccountMap.begin(); + TokenList tk; + std::string code; + std::string status; + std::string destination; + std::string number; + + while (iter != _callAccountMap.end()) { + Call* call = getAccountLink(iter->second)->getCall(iter->first); + Call::ConnectionState state = call->getConnectionState(); + + if (state != Call::Connected) { + switch (state) { + + case Call::Trying: + code = "110"; + status = "Trying"; + break; + + case Call::Ringing: + code = "111"; + status = "Ringing"; + break; + + case Call::Progressing: + code = "125"; + status = "Progressing"; + break; + + case Call::Disconnected: + code = "125"; + status = "Disconnected"; + break; + + default: + code = ""; + status = ""; + } + } else { + switch (call->getState()) { + + case Call::Active: + + case Call::Conferencing: + code = "112"; + status = "Established"; + break; + + case Call::Hold: + code = "114"; + status = "Held"; + break; + + case Call::Busy: + code = "113"; + status = "Busy"; + break; + + case Call::Refused: + code = "125"; + status = "Refused"; + break; + + case Call::Error: + code = "125"; + status = "Error"; + break; + + case Call::Inactive: + code = "125"; + status = "Inactive"; + break; + } + } + + // No Congestion + // No Wrong Number + // 116 <CSeq> <call-id> <acc> <destination> Busy + destination = call->getPeerName(); + + number = call->getPeerNumber(); + + if (number != "") { + destination.append(" <"); + destination.append(number); + destination.append(">"); + } + + tk.push_back(iter->second); + + tk.push_back(destination); + tk.push_back(status); + tk.clear(); + + iter++; + } + + return true; } //THREAD=Main -std::string -ManagerImpl::getConfigString (const std::string& section, const std::string& - name) -{ - try { - return _config.getConfigTreeItemValue (section, name); - } catch (Conf::ConfigTreeItemException& e) { - throw e; - } +bool ManagerImpl::getConfig (const std::string& section, + const std::string& name, TokenList& arg) { + return _config.getConfigTreeItemToken(section, name, arg); +} + +//THREAD=Main +// throw an Conf::ConfigTreeItemException if not found +int ManagerImpl::getConfigInt (const std::string& section, + const std::string& name) { + try { + return _config.getConfigTreeItemIntValue(section, name); + } catch (Conf::ConfigTreeItemException& e) { + throw e; + } + + return 0; +} + +bool ManagerImpl::getConfigBool (const std::string& section, + const std::string& name) { + try { + return (_config.getConfigTreeItemValue(section, name) == TRUE_STR) ? true + : false; + } catch (Conf::ConfigTreeItemException& e) { + throw e; + } + + return false; +} + +//THREAD=Main +std::string ManagerImpl::getConfigString (const std::string& section, + const std::string& name) { + try { + return _config.getConfigTreeItemValue(section, name); + } catch (Conf::ConfigTreeItemException& e) { + throw e; + } - return ""; + return ""; } //THREAD=Main -bool -ManagerImpl::setConfig (const std::string& section, const std::string& name, const std::string& value) -{ - _debug ("ManagerImpl::setConfig %s %s %s", section.c_str(), name.c_str(), value.c_str()); - return _config.setConfigTreeItem (section, name, value); +bool ManagerImpl::setConfig (const std::string& section, + const std::string& name, const std::string& value) { + // _debug ("ManagerImpl::setConfig %s %s %s", section.c_str(), name.c_str(), value.c_str()); + return _config.setConfigTreeItem(section, name, value); } //THREAD=Main -bool -ManagerImpl::setConfig (const std::string& section, const std::string& name, int value) -{ - std::ostringstream valueStream; - valueStream << value; - return _config.setConfigTreeItem (section, name, valueStream.str()); +bool ManagerImpl::setConfig (const std::string& section, + const std::string& name, int value) { + std::ostringstream valueStream; + valueStream << value; + return _config.setConfigTreeItem(section, name, valueStream.str()); } -void ManagerImpl::setAccountsOrder (const std::string& order) -{ - _debug ("Setcreate accounts order : %s", order.c_str()); - // Set the new config - setConfig (PREFERENCES, CONFIG_ACCOUNTS_ORDER, order); +void ManagerImpl::setAccountsOrder (const std::string& order) { + _debug ("Setcreate accounts order : %s", order.c_str()); + // Set the new config + setConfig(PREFERENCES, CONFIG_ACCOUNTS_ORDER, order); } -std::vector< std::string > ManagerImpl::getAccountList() { +std::vector<std::string> ManagerImpl::getAccountList () { - std::vector< std::string > v; - std::vector< std::string > account_order; - unsigned int i; + std::vector<std::string> v; + std::vector<std::string> account_order; + unsigned int i; - account_order = loadAccountOrder (); - AccountMap::iterator iter; + account_order = loadAccountOrder(); + AccountMap::iterator iter; // The IP2IP profile is always available, and first in the list - iter = _accountMap.find (IP2IP_PROFILE); + iter = _accountMap.find(IP2IP_PROFILE); if (iter->second != NULL) - v.push_back (iter->first.data ()); + v.push_back(iter->first.data()); - // If no order has been set, load the default one - // ie according to the creation date. + // If no order has been set, load the default one + // ie according to the creation date. - if (account_order.size () == 0) { - iter = _accountMap.begin (); + if (account_order.size() == 0) { + iter = _accountMap.begin(); - while (iter != _accountMap.end()) { + while (iter != _accountMap.end()) { - if (iter->second != NULL && iter->first != IP2IP_PROFILE) { - //_debug("PUSHING BACK %s\n", iter->first.c_str()); - v.push_back (iter->first.data()); - } + if (iter->second != NULL && iter->first != IP2IP_PROFILE) { + //_debug("PUSHING BACK %s\n", iter->first.c_str()); + v.push_back(iter->first.data()); + } - iter++; - } - } + iter++; + } + } - // Otherelse, load the custom one - // ie according to the saved order - else { - - for (i=0; i<account_order.size (); i++) { - // This account has not been loaded, so we ignore it - if ( (iter=_accountMap.find (account_order[i])) != _accountMap.end()) { - // If the account is valid - if (iter->second != NULL && iter->first != IP2IP_PROFILE) { - v.push_back (iter->first.data ()); - } - } - } - } + // Otherelse, load the custom one + // ie according to the saved order + else { - return v; -} + for (i = 0; i < account_order.size(); i++) { + // This account has not been loaded, so we ignore it + if ((iter = _accountMap.find(account_order[i])) + != _accountMap.end()) { + // If the account is valid + if (iter->second != NULL && iter->first != IP2IP_PROFILE) { + v.push_back(iter->first.data()); + } + } + } + } -std::map< std::string, std::string > ManagerImpl::getAccountDetails (const AccountID& accountID) -{ - std::map<std::string, std::string> a; + return v; +} - Account * account = _accountMap[accountID]; +std::map<std::string, std::string> ManagerImpl::getAccountDetails ( + const AccountID& accountID) { + std::map<std::string, std::string> a; - if (account == NULL) { - _debug ("Cannot getAccountDetails on a non-existing accountID %s. Defaults will be used.", accountID.c_str()); - } + Account * account = _accountMap[accountID]; + if (account == NULL) { + _debug ("Cannot getAccountDetails on a non-existing accountID %s. Defaults will be used.", accountID.c_str()); + } - a.insert (std::pair<std::string, std::string> (ACCOUNT_ID, accountID)); - - // The IP profile does not allow to set an alias - (accountID == IP2IP_PROFILE) ? a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ALIAS, DIRECT_IP_CALL)) : a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ALIAS, getConfigString (accountID, CONFIG_ACCOUNT_ALIAS))); - - a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_ENABLE, getConfigString (accountID, CONFIG_ACCOUNT_ENABLE))); - a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_RESOLVE_ONCE, getConfigString (accountID, CONFIG_ACCOUNT_RESOLVE_ONCE))); - a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_TYPE, getConfigString (accountID, CONFIG_ACCOUNT_TYPE))); - a.insert (std::pair<std::string, std::string> (HOSTNAME, getConfigString (accountID, HOSTNAME))); - a.insert (std::pair<std::string, std::string> (USERNAME, getConfigString (accountID, USERNAME))); - a.insert (std::pair<std::string, std::string> (PASSWORD, getConfigString (accountID, PASSWORD))); - a.insert (std::pair<std::string, std::string> (REALM, getConfigString (accountID, REALM))); - a.insert (std::pair<std::string, std::string> (AUTHENTICATION_USERNAME, getConfigString (accountID, AUTHENTICATION_USERNAME))); - a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_MAILBOX, getConfigString (accountID, CONFIG_ACCOUNT_MAILBOX))); - a.insert (std::pair<std::string, std::string> (CONFIG_ACCOUNT_REGISTRATION_EXPIRE, getConfigString (accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE))); - a.insert (std::pair<std::string, std::string> (LOCAL_INTERFACE, getConfigString (accountID, LOCAL_INTERFACE))); - a.insert (std::pair<std::string, std::string> (PUBLISHED_SAMEAS_LOCAL, getConfigString (accountID, PUBLISHED_SAMEAS_LOCAL))); - a.insert (std::pair<std::string, std::string> (PUBLISHED_ADDRESS, getConfigString (accountID, PUBLISHED_ADDRESS))); - a.insert (std::pair<std::string, std::string> (LOCAL_PORT, getConfigString (accountID, LOCAL_PORT))); - a.insert (std::pair<std::string, std::string> (PUBLISHED_PORT, getConfigString (accountID, PUBLISHED_PORT))); - a.insert (std::pair<std::string, std::string> (DISPLAY_NAME, getConfigString (accountID, DISPLAY_NAME))); - a.insert (std::pair<std::string, std::string> (STUN_ENABLE, getConfigString (accountID, STUN_ENABLE))); - a.insert (std::pair<std::string, std::string> (STUN_SERVER, getConfigString (accountID, STUN_SERVER))); - - RegistrationState state; - std::string registrationStateCode; - std::string registrationStateDescription; - - if (account != NULL) { + a.insert(std::pair<std::string, std::string>(ACCOUNT_ID, accountID)); + + // The IP profile does not allow to set an alias + (accountID == IP2IP_PROFILE) ? a.insert( + std::pair<std::string, std::string>(CONFIG_ACCOUNT_ALIAS, + DIRECT_IP_CALL)) : a.insert(std::pair<std::string, + std::string>(CONFIG_ACCOUNT_ALIAS, getConfigString(accountID, + CONFIG_ACCOUNT_ALIAS))); + + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ENABLE, + getConfigString(accountID, CONFIG_ACCOUNT_ENABLE))); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_RESOLVE_ONCE, + getConfigString(accountID, CONFIG_ACCOUNT_RESOLVE_ONCE))); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_TYPE, + getConfigString(accountID, CONFIG_ACCOUNT_TYPE))); + a.insert(std::pair<std::string, std::string>(HOSTNAME, getConfigString( + accountID, HOSTNAME))); + a.insert(std::pair<std::string, std::string>(USERNAME, getConfigString( + accountID, USERNAME))); + a.insert(std::pair<std::string, std::string>(ROUTESET, getConfigString( + accountID, ROUTESET))); + a.insert(std::pair<std::string, std::string>(PASSWORD, getConfigString( + accountID, PASSWORD))); + a.insert(std::pair<std::string, std::string>(REALM, getConfigString( + accountID, REALM))); + a.insert(std::pair<std::string, std::string>(USERAGENT, getConfigString( + accountID, USERAGENT))); + a.insert(std::pair<std::string, std::string>(AUTHENTICATION_USERNAME, + getConfigString(accountID, AUTHENTICATION_USERNAME))); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_MAILBOX, + getConfigString(accountID, CONFIG_ACCOUNT_MAILBOX))); + a.insert(std::pair<std::string, std::string>( + CONFIG_ACCOUNT_REGISTRATION_EXPIRE, getConfigString(accountID, + CONFIG_ACCOUNT_REGISTRATION_EXPIRE))); + a.insert(std::pair<std::string, std::string>(LOCAL_INTERFACE, + getConfigString(accountID, LOCAL_INTERFACE))); + a.insert(std::pair<std::string, std::string>(PUBLISHED_SAMEAS_LOCAL, + getConfigString(accountID, PUBLISHED_SAMEAS_LOCAL))); + a.insert(std::pair<std::string, std::string>(PUBLISHED_ADDRESS, + getConfigString(accountID, PUBLISHED_ADDRESS))); + a.insert(std::pair<std::string, std::string>(LOCAL_PORT, getConfigString( + accountID, LOCAL_PORT))); + a.insert(std::pair<std::string, std::string>(PUBLISHED_PORT, + getConfigString(accountID, PUBLISHED_PORT))); + a.insert(std::pair<std::string, std::string>(DISPLAY_NAME, getConfigString( + accountID, DISPLAY_NAME))); + a.insert(std::pair<std::string, std::string>(STUN_ENABLE, getConfigString( + accountID, STUN_ENABLE))); + a.insert(std::pair<std::string, std::string>(STUN_SERVER, getConfigString( + accountID, STUN_SERVER))); + a.insert(std::pair<std::string, std::string>(ACCOUNT_DTMF_TYPE, getConfigString( + accountID, ACCOUNT_DTMF_TYPE))); + + RegistrationState state = Unregistered; + std::string registrationStateCode; + std::string registrationStateDescription; + + if (account != NULL) { if (accountID == IP2IP_PROFILE) { registrationStateCode = EMPTY_FIELD; registrationStateDescription = "Direct IP call"; - } - else { + } else { state = account->getRegistrationState(); int code = account->getRegistrationStateDetailed().first; std::stringstream out; out << code; registrationStateCode = out.str(); - registrationStateDescription = account->getRegistrationStateDetailed().second; + registrationStateDescription + = account->getRegistrationStateDetailed().second; } - } else { - state = Unregistered; - } + } - (accountID == IP2IP_PROFILE) ? a.insert (std::pair<std::string, std::string> (REGISTRATION_STATUS, "READY")) : - a.insert (std::pair<std::string, std::string> (REGISTRATION_STATUS, mapStateNumberToString (state))); - - a.insert (std::pair<std::string, std::string> (REGISTRATION_STATE_CODE, registrationStateCode)); - a.insert (std::pair<std::string, std::string> (REGISTRATION_STATE_DESCRIPTION, registrationStateDescription)); - a.insert (std::pair<std::string, std::string> (SRTP_KEY_EXCHANGE, getConfigString (accountID, SRTP_KEY_EXCHANGE))); - a.insert (std::pair<std::string, std::string> (SRTP_ENABLE, getConfigString (accountID, SRTP_ENABLE))); - a.insert (std::pair<std::string, std::string> (SRTP_RTP_FALLBACK, getConfigString (accountID, SRTP_RTP_FALLBACK))); - a.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS, getConfigString (accountID, ZRTP_DISPLAY_SAS))); - a.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS_ONCE, getConfigString (accountID, ZRTP_DISPLAY_SAS_ONCE))); - a.insert (std::pair<std::string, std::string> (ZRTP_HELLO_HASH, getConfigString (accountID, ZRTP_HELLO_HASH))); - a.insert (std::pair<std::string, std::string> (ZRTP_NOT_SUPP_WARNING, getConfigString (accountID, ZRTP_NOT_SUPP_WARNING))); - - - // TLS listener is unique and parameters are modified through IP2IP_PROFILE - a.insert (std::pair<std::string, std::string> (TLS_LISTENER_PORT, Manager::instance().getConfigString(IP2IP_PROFILE, TLS_LISTENER_PORT))); - a.insert (std::pair<std::string, std::string> (TLS_ENABLE, Manager::instance().getConfigString (accountID, TLS_ENABLE))); - a.insert (std::pair<std::string, std::string> (TLS_CA_LIST_FILE, Manager::instance().getConfigString (accountID, TLS_CA_LIST_FILE))); - a.insert (std::pair<std::string, std::string> (TLS_CERTIFICATE_FILE, Manager::instance().getConfigString (accountID, TLS_CERTIFICATE_FILE))); - a.insert (std::pair<std::string, std::string> (TLS_PRIVATE_KEY_FILE, Manager::instance().getConfigString (accountID, TLS_PRIVATE_KEY_FILE))); - a.insert (std::pair<std::string, std::string> (TLS_PASSWORD, Manager::instance().getConfigString (accountID, TLS_PASSWORD))); - a.insert (std::pair<std::string, std::string> (TLS_METHOD, Manager::instance().getConfigString (accountID, TLS_METHOD))); - a.insert (std::pair<std::string, std::string> (TLS_CIPHERS, Manager::instance().getConfigString (accountID, TLS_CIPHERS))); - a.insert (std::pair<std::string, std::string> (TLS_SERVER_NAME, Manager::instance().getConfigString (accountID, TLS_SERVER_NAME))); - a.insert (std::pair<std::string, std::string> (TLS_VERIFY_SERVER, Manager::instance().getConfigString (accountID, TLS_VERIFY_SERVER))); - a.insert (std::pair<std::string, std::string> (TLS_VERIFY_CLIENT, Manager::instance().getConfigString (accountID, TLS_VERIFY_CLIENT))); - a.insert (std::pair<std::string, std::string> (TLS_REQUIRE_CLIENT_CERTIFICATE, Manager::instance().getConfigString (accountID, TLS_REQUIRE_CLIENT_CERTIFICATE))); - a.insert (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_SEC, Manager::instance().getConfigString (accountID, TLS_NEGOTIATION_TIMEOUT_SEC))); - a.insert (std::pair<std::string, std::string> (TLS_NEGOTIATION_TIMEOUT_MSEC, Manager::instance().getConfigString (accountID, TLS_NEGOTIATION_TIMEOUT_MSEC))); - - return a; + (accountID == IP2IP_PROFILE) ? a.insert( + std::pair<std::string, std::string>(REGISTRATION_STATUS, "READY")) + : a.insert(std::pair<std::string, std::string>(REGISTRATION_STATUS, + mapStateNumberToString(state))); + + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_CODE, + registrationStateCode)); + a.insert(std::pair<std::string, std::string>( + REGISTRATION_STATE_DESCRIPTION, registrationStateDescription)); + a.insert(std::pair<std::string, std::string>(SRTP_KEY_EXCHANGE, + getConfigString(accountID, SRTP_KEY_EXCHANGE))); + a.insert(std::pair<std::string, std::string>(SRTP_ENABLE, getConfigString( + accountID, SRTP_ENABLE))); + a.insert(std::pair<std::string, std::string>(SRTP_RTP_FALLBACK, + getConfigString(accountID, SRTP_RTP_FALLBACK))); + a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS, + getConfigString(accountID, ZRTP_DISPLAY_SAS))); + a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS_ONCE, + getConfigString(accountID, ZRTP_DISPLAY_SAS_ONCE))); + a.insert(std::pair<std::string, std::string>(ZRTP_HELLO_HASH, + getConfigString(accountID, ZRTP_HELLO_HASH))); + a.insert(std::pair<std::string, std::string>(ZRTP_NOT_SUPP_WARNING, + getConfigString(accountID, ZRTP_NOT_SUPP_WARNING))); + + // TLS listener is unique and parameters are modified through IP2IP_PROFILE + a.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, + Manager::instance().getConfigString(IP2IP_PROFILE, + TLS_LISTENER_PORT))); + a.insert(std::pair<std::string, std::string>(TLS_ENABLE, + Manager::instance().getConfigString(accountID, TLS_ENABLE))); + a.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, + Manager::instance().getConfigString(accountID, TLS_CA_LIST_FILE))); + a.insert( + std::pair<std::string, std::string>(TLS_CERTIFICATE_FILE, + Manager::instance().getConfigString(accountID, + TLS_CERTIFICATE_FILE))); + a.insert( + std::pair<std::string, std::string>(TLS_PRIVATE_KEY_FILE, + Manager::instance().getConfigString(accountID, + TLS_PRIVATE_KEY_FILE))); + a.insert(std::pair<std::string, std::string>(TLS_PASSWORD, + Manager::instance().getConfigString(accountID, TLS_PASSWORD))); + a.insert(std::pair<std::string, std::string>(TLS_METHOD, + Manager::instance().getConfigString(accountID, TLS_METHOD))); + a.insert(std::pair<std::string, std::string>(TLS_CIPHERS, + Manager::instance().getConfigString(accountID, TLS_CIPHERS))); + a.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, + Manager::instance().getConfigString(accountID, TLS_SERVER_NAME))); + a.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, + Manager::instance().getConfigString(accountID, TLS_VERIFY_SERVER))); + a.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, + Manager::instance().getConfigString(accountID, TLS_VERIFY_CLIENT))); + a.insert(std::pair<std::string, std::string>( + TLS_REQUIRE_CLIENT_CERTIFICATE, + Manager::instance().getConfigString(accountID, + TLS_REQUIRE_CLIENT_CERTIFICATE))); + a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_SEC, + Manager::instance().getConfigString(accountID, + TLS_NEGOTIATION_TIMEOUT_SEC))); + a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_MSEC, + Manager::instance().getConfigString(accountID, + TLS_NEGOTIATION_TIMEOUT_MSEC))); + + return a; } /* Transform digest to string. @@ -3446,1036 +3474,952 @@ std::map< std::string, std::string > ManagerImpl::getAccountDetails (const Accou * NOTE: THE OUTPUT STRING IS NOT NULL TERMINATED! */ -void ManagerImpl::digest2str (const unsigned char digest[], char *output) -{ - int i; +void ManagerImpl::digest2str (const unsigned char digest[], char *output) { + int i; - for (i = 0; i<16; ++i) { - pj_val_to_hex_digit (digest[i], output); - output += 2; - } + for (i = 0; i < 16; ++i) { + pj_val_to_hex_digit(digest[i], output); + output += 2; + } } -std::string ManagerImpl::computeMd5HashFromCredential (const std::string& username, const std::string& password, const std::string& realm) -{ - pj_md5_context pms; - unsigned char digest[16]; - char ha1[PJSIP_MD5STRLEN]; +std::string ManagerImpl::computeMd5HashFromCredential ( + const std::string& username, const std::string& password, + const std::string& realm) { + pj_md5_context pms; + unsigned char digest[16]; + char ha1[PJSIP_MD5STRLEN]; - pj_str_t usernamePjFormat = pj_str (strdup (username.c_str())); - pj_str_t passwordPjFormat = pj_str (strdup (password.c_str())); - pj_str_t realmPjFormat = pj_str (strdup (realm.c_str())); + pj_str_t usernamePjFormat = pj_str(strdup(username.c_str())); + pj_str_t passwordPjFormat = pj_str(strdup(password.c_str())); + pj_str_t realmPjFormat = pj_str(strdup(realm.c_str())); - /* Compute md5 hash = MD5(username ":" realm ":" password) */ - pj_md5_init (&pms); - MD5_APPEND (&pms, usernamePjFormat.ptr, usernamePjFormat.slen); - MD5_APPEND (&pms, ":", 1); - MD5_APPEND (&pms, realmPjFormat.ptr, realmPjFormat.slen); - MD5_APPEND (&pms, ":", 1); - MD5_APPEND (&pms, passwordPjFormat.ptr, passwordPjFormat.slen); - pj_md5_final (&pms, digest); + /* Compute md5 hash = MD5(username ":" realm ":" password) */ + pj_md5_init(&pms); + MD5_APPEND (&pms, usernamePjFormat.ptr, usernamePjFormat.slen); + MD5_APPEND (&pms, ":", 1); + MD5_APPEND (&pms, realmPjFormat.ptr, realmPjFormat.slen); + MD5_APPEND (&pms, ":", 1); + MD5_APPEND (&pms, passwordPjFormat.ptr, passwordPjFormat.slen); + pj_md5_final(&pms, digest); - digest2str (digest, ha1); + digest2str(digest, ha1); - char ha1_null_terminated[PJSIP_MD5STRLEN+1]; - memcpy (ha1_null_terminated, ha1, sizeof (char) *PJSIP_MD5STRLEN); - ha1_null_terminated[PJSIP_MD5STRLEN] = '\0'; + char ha1_null_terminated[PJSIP_MD5STRLEN + 1]; + memcpy(ha1_null_terminated, ha1, sizeof(char) * PJSIP_MD5STRLEN); + ha1_null_terminated[PJSIP_MD5STRLEN] = '\0'; - std::string hashedDigest = ha1_null_terminated; - return hashedDigest; + std::string hashedDigest = ha1_null_terminated; + return hashedDigest; } -void ManagerImpl::setCredential (const std::string& accountID, const int32_t& index, const std::map< std::string, std::string >& details) -{ - std::map<std::string, std::string>::iterator it; - std::map<std::string, std::string> credentialInformation = details; - - std::string credentialIndex; - std::stringstream streamOut; - streamOut << index; - credentialIndex = streamOut.str(); +void ManagerImpl::setCredential (const std::string& accountID, + const int32_t& index, const std::map<std::string, std::string>& details) { + std::map<std::string, std::string>::iterator it; + std::map<std::string, std::string> credentialInformation = details; - std::string section = "Credential" + std::string (":") + accountID + std::string (":") + credentialIndex; + std::string credentialIndex; + std::stringstream streamOut; + streamOut << index; + credentialIndex = streamOut.str(); - _debug ("Setting credential in section %s", section.c_str()); + std::string section = "Credential" + std::string(":") + accountID + + std::string(":") + credentialIndex; - it = credentialInformation.find (USERNAME); - std::string username; + _debug ("Setting credential in section %s", section.c_str()); - if (it == credentialInformation.end()) { - username = EMPTY_FIELD; - } else { - username = it->second; - } + it = credentialInformation.find(USERNAME); + std::string username; - Manager::instance().setConfig (section, USERNAME, username); + if (it == credentialInformation.end()) { + username = EMPTY_FIELD; + } else { + username = it->second; + } - it = credentialInformation.find (REALM); - std::string realm; + Manager::instance().setConfig(section, USERNAME, username); - if (it == credentialInformation.end()) { - realm = EMPTY_FIELD; - } else { - realm = it->second; - } + it = credentialInformation.find(REALM); + std::string realm; - Manager::instance().setConfig (section, REALM, realm); + if (it == credentialInformation.end()) { + realm = EMPTY_FIELD; + } else { + realm = it->second; + } + Manager::instance().setConfig(section, REALM, realm); - it = credentialInformation.find (PASSWORD); - std::string password; + it = credentialInformation.find(PASSWORD); + std::string password; - if (it == credentialInformation.end()) { - password = EMPTY_FIELD; - } else { - password = it->second; - } + if (it == credentialInformation.end()) { + password = EMPTY_FIELD; + } else { + password = it->second; + } - if (getMd5CredentialHashing()) { - // TODO: Fix this. - // This is an extremly weak test in order to check - // if the password is a hashed value. This is done - // because deleteCredential() is called before this - // method. Therefore, we cannot check if the value - // is different from the one previously stored in - // the configuration file. This is to avoid to - // re-hash a hashed password. - - if (password.length() != 32) { - password = computeMd5HashFromCredential (username, password, realm); - } - } + if (getMd5CredentialHashing()) { + // TODO: Fix this. + // This is an extremly weak test in order to check + // if the password is a hashed value. This is done + // because deleteCredential() is called before this + // method. Therefore, we cannot check if the value + // is different from the one previously stored in + // the configuration file. This is to avoid to + // re-hash a hashed password. + + if (password.length() != 32) { + password = computeMd5HashFromCredential(username, password, realm); + } + } - Manager::instance().setConfig (section, PASSWORD, password); + Manager::instance().setConfig(section, PASSWORD, password); } //TODO: tidy this up. Make a macro or inline // method to reduce the if/else mess. // Even better, switch to XML ! -void ManagerImpl::setAccountDetails (const std::string& accountID, const std::map< std::string, std::string >& details) -{ +void ManagerImpl::setAccountDetails (const std::string& accountID, + const std::map<std::string, std::string>& details) { - std::string accountType; - std::map <std::string, std::string> map_cpy; + std::map<std::string, std::string> map_cpy; std::map<std::string, std::string>::iterator iter; // Work on a copy map_cpy = details; + // Get the account type + std::string accountType; + find_in_map(CONFIG_ACCOUNT_TYPE, accountType) + + std::string alias; + std::string type; + std::string hostname; std::string username; - std::string authenticationName; std::string password; - std::string realm; - std::string voicemail_count; - - if ( (iter = map_cpy.find (AUTHENTICATION_USERNAME)) != map_cpy.end()) { - authenticationName = iter->second; - } - - if ( (iter = map_cpy.find (USERNAME)) != map_cpy.end()) { - username = iter->second; - } - - if ( (iter = map_cpy.find (PASSWORD)) != map_cpy.end()) { - password = iter->second; - } - - if ( (iter = map_cpy.find (REALM)) != map_cpy.end()) { - realm = iter->second; - } - - setConfig (accountID, REALM, realm); - - setConfig (accountID, USERNAME, username); - setConfig (accountID, AUTHENTICATION_USERNAME, authenticationName); - - if (!getMd5CredentialHashing()) { - setConfig (accountID, PASSWORD, password); - } else { - // Make sure not to re-hash the password field if - // it is already saved as a MD5 Hash. - // TODO: This test is weak. Fix this. - if ( (password.compare (getConfigString (accountID, PASSWORD)) != 0)) { - _debug ("Password sent and password from config are different. Re-hashing"); - std::string hash; - - if (authenticationName.empty()) { - hash = computeMd5HashFromCredential (username, password, realm); - } else { - hash = computeMd5HashFromCredential (authenticationName, password, realm); - } - - setConfig (accountID, PASSWORD, hash); - } - } - - std::string alias; - std::string mailbox; std::string accountEnable; - std::string type; - std::string resolveOnce; - std::string registrationExpire; - - std::string hostname; - std::string displayName; - std::string localInterface; - std::string publishedSameasLocal; - std::string localAddress; - std::string publishedAddress; - std::string localPort; - std::string publishedPort; - std::string stunEnable; - std::string stunServer; - std::string srtpEnable; - std::string srtpRtpFallback; - std::string zrtpDisplaySas; - std::string zrtpDisplaySasOnce; - std::string zrtpNotSuppWarning; - std::string zrtpHelloHash; - std::string srtpKeyExchange; - - std::string tlsListenerPort; - std::string tlsEnable; - std::string tlsCaListFile; - std::string tlsCertificateFile; - std::string tlsPrivateKeyFile; - std::string tlsPassword; - std::string tlsMethod; - std::string tlsCiphers; - std::string tlsServerName; - std::string tlsVerifyServer; - std::string tlsVerifyClient; - std::string tlsRequireClientCertificate; - std::string tlsNegotiationTimeoutSec; - std::string tlsNegotiationTimeoutMsec; - - if ( (iter = map_cpy.find (HOSTNAME)) != map_cpy.end()) { - hostname = iter->second; - } - if ( (iter = map_cpy.find (DISPLAY_NAME)) != map_cpy.end()) { - displayName = iter->second; - } - - if ( (iter = map_cpy.find (LOCAL_INTERFACE)) != map_cpy.end()) { - localInterface = iter->second; - } - - if ( (iter = map_cpy.find (PUBLISHED_SAMEAS_LOCAL)) != map_cpy.end()) { - publishedSameasLocal = iter->second; - } - if ( (iter = map_cpy.find (PUBLISHED_ADDRESS)) != map_cpy.end()) { - publishedAddress = iter->second; - } - - if ( (iter = map_cpy.find (LOCAL_PORT)) != map_cpy.end()) { - localPort = iter->second; - } - - if ( (iter = map_cpy.find (PUBLISHED_PORT)) != map_cpy.end()) { - publishedPort = iter->second; - } - - if ( (iter = map_cpy.find (STUN_ENABLE)) != map_cpy.end()) { - stunEnable = iter->second; - } - - if ( (iter = map_cpy.find (STUN_SERVER)) != map_cpy.end()) { - stunServer = iter->second; - } - - if ( (iter = map_cpy.find (SRTP_ENABLE)) != map_cpy.end()) { - srtpEnable = iter->second; - } - - if ( (iter = map_cpy.find (SRTP_RTP_FALLBACK)) != map_cpy.end()) { - srtpRtpFallback = iter->second; - } - - if ( (iter = map_cpy.find (ZRTP_DISPLAY_SAS)) != map_cpy.end()) { - zrtpDisplaySas = iter->second; - } - - if ( (iter = map_cpy.find (ZRTP_DISPLAY_SAS_ONCE)) != map_cpy.end()) { - zrtpDisplaySasOnce = iter->second; - } - - if ( (iter = map_cpy.find (ZRTP_NOT_SUPP_WARNING)) != map_cpy.end()) { - zrtpNotSuppWarning = iter->second; - } - - if ( (iter = map_cpy.find (ZRTP_HELLO_HASH)) != map_cpy.end()) { - zrtpHelloHash = iter->second; - } - - if ( (iter = map_cpy.find (SRTP_KEY_EXCHANGE)) != map_cpy.end()) { - srtpKeyExchange = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_ALIAS)) != map_cpy.end()) { - alias = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_MAILBOX)) != map_cpy.end()) { - mailbox = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_ENABLE)) != map_cpy.end()) { - accountEnable = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_TYPE)) != map_cpy.end()) { - type = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_RESOLVE_ONCE)) != map_cpy.end()) { - resolveOnce = iter->second; - } - - if ( (iter = map_cpy.find (CONFIG_ACCOUNT_REGISTRATION_EXPIRE)) != map_cpy.end()) { - registrationExpire = iter->second; - } - - // The TLS listener is unique and globally defined through IP2IP_PROFILE - if((accountID == IP2IP_PROFILE) && (iter = map_cpy.find (TLS_LISTENER_PORT)) != map_cpy.end()) { - tlsListenerPort = iter->second; - } - - if ( (iter = map_cpy.find (TLS_ENABLE)) != map_cpy.end()) { - tlsEnable = iter->second; - } - - if ( (iter = map_cpy.find (TLS_CA_LIST_FILE)) != map_cpy.end()) { - tlsCaListFile = iter->second; - } - - if ( (iter = map_cpy.find (TLS_CERTIFICATE_FILE)) != map_cpy.end()) { - tlsCertificateFile = iter->second; - } - - if ( (iter = map_cpy.find (TLS_PRIVATE_KEY_FILE)) != map_cpy.end()) { - tlsPrivateKeyFile = iter->second; - } - - if ( (iter = map_cpy.find (TLS_PASSWORD)) != map_cpy.end()) { - tlsPassword = iter->second; - } - - if ( (iter = map_cpy.find (TLS_METHOD)) != map_cpy.end()) { - tlsMethod = iter->second; - } - - if ( (iter = map_cpy.find (TLS_CIPHERS)) != map_cpy.end()) { - tlsCiphers = iter->second; - } - - if ( (iter = map_cpy.find (TLS_SERVER_NAME)) != map_cpy.end()) { - tlsServerName = iter->second; - } - - if ( (iter = map_cpy.find (TLS_VERIFY_SERVER)) != map_cpy.end()) { - tlsVerifyServer = iter->second; - } - - if ( (iter = map_cpy.find (TLS_VERIFY_CLIENT)) != map_cpy.end()) { - tlsVerifyClient = iter->second; - } - - if ( (iter = map_cpy.find (TLS_REQUIRE_CLIENT_CERTIFICATE)) != map_cpy.end()) { - tlsRequireClientCertificate = iter->second; - } - - if ( (iter = map_cpy.find (TLS_NEGOTIATION_TIMEOUT_SEC)) != map_cpy.end()) { - tlsNegotiationTimeoutSec = iter->second; - } + // Account setting common to SIP and IAX + find_in_map(CONFIG_ACCOUNT_ALIAS, alias) + find_in_map(CONFIG_ACCOUNT_TYPE, type) + find_in_map(HOSTNAME, hostname) + find_in_map(USERNAME, username) + find_in_map(PASSWORD, password) + find_in_map(CONFIG_ACCOUNT_MAILBOX, mailbox); + find_in_map(CONFIG_ACCOUNT_ENABLE, accountEnable); + + setConfig(accountID, CONFIG_ACCOUNT_ALIAS, alias); + setConfig(accountID, CONFIG_ACCOUNT_TYPE, type); + setConfig(accountID, HOSTNAME, hostname); + setConfig(accountID, USERNAME, username); + setConfig(accountID, PASSWORD, password); + setConfig(accountID, CONFIG_ACCOUNT_MAILBOX, mailbox); + setConfig(accountID, CONFIG_ACCOUNT_ENABLE, accountEnable); + + // SIP specific account settings + if(accountType == "SIP") { + + std::string ua_name; + std::string realm; + std::string routeset; + std::string authenticationName; + + std::string resolveOnce; + std::string registrationExpire; + + std::string displayName; + std::string localInterface; + std::string publishedSameasLocal; + std::string localAddress; + std::string publishedAddress; + std::string localPort; + std::string publishedPort; + std::string stunEnable; + std::string stunServer; + std::string dtmfType; + std::string srtpEnable; + std::string srtpRtpFallback; + std::string zrtpDisplaySas; + std::string zrtpDisplaySasOnce; + std::string zrtpNotSuppWarning; + std::string zrtpHelloHash; + std::string srtpKeyExchange; + + std::string tlsListenerPort; + std::string tlsEnable; + std::string tlsCaListFile; + std::string tlsCertificateFile; + std::string tlsPrivateKeyFile; + std::string tlsPassword; + std::string tlsMethod; + std::string tlsCiphers; + std::string tlsServerName; + std::string tlsVerifyServer; + std::string tlsVerifyClient; + std::string tlsRequireClientCertificate; + std::string tlsNegotiationTimeoutSec; + std::string tlsNegotiationTimeoutMsec; + + // general sip settings + find_in_map(DISPLAY_NAME, displayName) + find_in_map(ROUTESET, routeset) + find_in_map(LOCAL_INTERFACE, localInterface) + find_in_map(PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal) + find_in_map(PUBLISHED_ADDRESS, publishedAddress) + find_in_map(LOCAL_PORT, localPort) + find_in_map(PUBLISHED_PORT, publishedPort) + find_in_map(STUN_ENABLE, stunEnable) + find_in_map(STUN_SERVER, stunServer) + find_in_map(ACCOUNT_DTMF_TYPE, dtmfType) + find_in_map(CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce) + find_in_map(CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire) + + setConfig(accountID, DISPLAY_NAME, displayName); + setConfig(accountID, ROUTESET, routeset); + setConfig(accountID, LOCAL_INTERFACE, localInterface); + setConfig(accountID, PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal); + setConfig(accountID, PUBLISHED_ADDRESS, publishedAddress); + setConfig(accountID, LOCAL_PORT, localPort); + setConfig(accountID, PUBLISHED_PORT, publishedPort); + setConfig(accountID, STUN_ENABLE, stunEnable); + setConfig(accountID, STUN_SERVER, stunServer); + setConfig(accountID, ACCOUNT_DTMF_TYPE, dtmfType); + setConfig(accountID, CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce); + setConfig(accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire); + + // sip credential + find_in_map(REALM, realm) + find_in_map(AUTHENTICATION_USERNAME, authenticationName) + find_in_map(USERAGENT, ua_name) + + setConfig(accountID, REALM, realm); + setConfig(accountID, USERAGENT, ua_name); + setConfig(accountID, AUTHENTICATION_USERNAME, authenticationName); + + // srtp settings + find_in_map(SRTP_ENABLE, srtpEnable) + find_in_map(SRTP_RTP_FALLBACK, srtpRtpFallback) + find_in_map(ZRTP_DISPLAY_SAS, zrtpDisplaySas) + find_in_map(ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce) + find_in_map(ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning) + find_in_map(ZRTP_HELLO_HASH, zrtpHelloHash) + find_in_map(SRTP_KEY_EXCHANGE, srtpKeyExchange) + + setConfig(accountID, SRTP_ENABLE, srtpEnable); + setConfig(accountID, SRTP_RTP_FALLBACK, srtpRtpFallback); + setConfig(accountID, ZRTP_DISPLAY_SAS, zrtpDisplaySas); + setConfig(accountID, ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce); + setConfig(accountID, ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning); + setConfig(accountID, ZRTP_HELLO_HASH, zrtpHelloHash); + setConfig(accountID, SRTP_KEY_EXCHANGE, srtpKeyExchange); + + // TLS settings + // The TLS listener is unique and globally defined through IP2IP_PROFILE + if(accountID == IP2IP_PROFILE) { + find_in_map(TLS_LISTENER_PORT, tlsListenerPort) + } + find_in_map(TLS_ENABLE, tlsEnable) + find_in_map(TLS_CA_LIST_FILE, tlsCaListFile) + find_in_map(TLS_CERTIFICATE_FILE, tlsCertificateFile) + find_in_map(TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile) + find_in_map(TLS_PASSWORD, tlsPassword) + find_in_map(TLS_METHOD, tlsMethod) + find_in_map(TLS_CIPHERS, tlsCiphers) + find_in_map(TLS_SERVER_NAME, tlsServerName) + find_in_map(TLS_VERIFY_SERVER, tlsVerifyServer) + find_in_map(TLS_VERIFY_CLIENT, tlsVerifyClient) + find_in_map(TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate) + find_in_map(TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec) + find_in_map(TLS_NEGOTIATION_TIMEOUT_MSEC, tlsNegotiationTimeoutMsec) + + + // The TLS listener is unique and globally defined through IP2IP_PROFILE + if (accountID == IP2IP_PROFILE){ + setConfig(accountID, TLS_LISTENER_PORT, tlsListenerPort); + } + setConfig(accountID, TLS_ENABLE, tlsEnable); + setConfig(accountID, TLS_CA_LIST_FILE, tlsCaListFile); + setConfig(accountID, TLS_CERTIFICATE_FILE, tlsCertificateFile); + setConfig(accountID, TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile); + setConfig(accountID, TLS_PASSWORD, tlsPassword); + setConfig(accountID, TLS_METHOD, tlsMethod); + setConfig(accountID, TLS_CIPHERS, tlsCiphers); + setConfig(accountID, TLS_SERVER_NAME, tlsServerName); + setConfig(accountID, TLS_VERIFY_SERVER, tlsVerifyServer); + setConfig(accountID, TLS_VERIFY_CLIENT, tlsVerifyClient); + setConfig(accountID, TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate); + setConfig(accountID, TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec); + setConfig(accountID, TLS_NEGOTIATION_TIMEOUT_MSEC,tlsNegotiationTimeoutMsec); + + if (!getMd5CredentialHashing()) { + setConfig(accountID, PASSWORD, password); + } else { + // Make sure not to re-hash the password field if + // it is already saved as a MD5 Hash. + // TODO: This test is weak. Fix this. + if ((password.compare(getConfigString(accountID, PASSWORD)) != 0)) { + _debug ("Password sent and password from config are different. Re-hashing"); + std::string hash; + + if (authenticationName.empty()) { + hash = computeMd5HashFromCredential(username, password, realm); + } else { + hash = computeMd5HashFromCredential(authenticationName, + password, realm); + } + + setConfig(accountID, PASSWORD, hash); + } + } - if ( (iter = map_cpy.find (TLS_NEGOTIATION_TIMEOUT_MSEC)) != map_cpy.end()) { - tlsNegotiationTimeoutMsec = iter->second; } - setConfig (accountID, HOSTNAME, hostname); - - setConfig (accountID, LOCAL_INTERFACE, localInterface); - setConfig (accountID, PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal); - setConfig (accountID, PUBLISHED_ADDRESS, publishedAddress); - setConfig (accountID, LOCAL_PORT, localPort); - setConfig (accountID, PUBLISHED_PORT, publishedPort); - setConfig (accountID, DISPLAY_NAME, displayName); - setConfig (accountID, SRTP_ENABLE, srtpEnable); - setConfig (accountID, SRTP_RTP_FALLBACK, srtpRtpFallback); - setConfig (accountID, ZRTP_DISPLAY_SAS, zrtpDisplaySas); - setConfig (accountID, ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce); - setConfig (accountID, ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning); - setConfig (accountID, ZRTP_HELLO_HASH, zrtpHelloHash); - setConfig (accountID, SRTP_KEY_EXCHANGE, srtpKeyExchange); - - setConfig (accountID, STUN_ENABLE, stunEnable); - setConfig (accountID, STUN_SERVER, stunServer); - - // The TLS listener is unique and globally defined through IP2IP_PROFILE - if(accountID == IP2IP_PROFILE) - setConfig(accountID, TLS_LISTENER_PORT, tlsListenerPort); - - setConfig (accountID, TLS_ENABLE, tlsEnable); - setConfig (accountID, TLS_CA_LIST_FILE, tlsCaListFile); - setConfig (accountID, TLS_CERTIFICATE_FILE, tlsCertificateFile); - setConfig (accountID, TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile); - setConfig (accountID, TLS_PASSWORD, tlsPassword); - setConfig (accountID, TLS_METHOD, tlsMethod); - setConfig (accountID, TLS_CIPHERS, tlsCiphers); - setConfig (accountID, TLS_SERVER_NAME, tlsServerName); - setConfig (accountID, TLS_VERIFY_SERVER, tlsVerifyServer); - setConfig (accountID, TLS_VERIFY_CLIENT, tlsVerifyClient); - setConfig (accountID, TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate); - setConfig (accountID, TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec); - setConfig (accountID, TLS_NEGOTIATION_TIMEOUT_MSEC, tlsNegotiationTimeoutMsec); - - setConfig (accountID, CONFIG_ACCOUNT_ALIAS, alias); - setConfig (accountID, CONFIG_ACCOUNT_MAILBOX, mailbox); - setConfig (accountID, CONFIG_ACCOUNT_ENABLE, accountEnable); - setConfig (accountID, CONFIG_ACCOUNT_TYPE, type); - setConfig (accountID, CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce); - setConfig (accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire); - saveConfig(); - + Account * acc = NULL; - acc = getAccount (accountID); - + acc = getAccount(accountID); + if (acc != NULL) { acc->loadConfig(); - - if (acc->isEnabled()) { - acc->registerVoIPLink(); - } else { - acc->unregisterVoIPLink(); - } + + if (acc->isEnabled()) { + acc->registerVoIPLink(); + } else { + acc->unregisterVoIPLink(); + } } else { - _debug ("ManagerImpl::setAccountDetails: account is NULL"); + _debug ("ManagerImpl::setAccountDetails: account is NULL"); } - + // Update account details to the client side - if (_dbus) _dbus->getConfigurationManager()->accountsChanged(); + if (_dbus) + _dbus->getConfigurationManager()->accountsChanged(); } -std::string -ManagerImpl::addAccount (const std::map< std::string, std::string >& details) -{ +std::string ManagerImpl::addAccount ( + const std::map<std::string, std::string>& details) { - /** @todo Deal with both the _accountMap and the Configuration */ - std::string accountType, account_list; - Account* newAccount; - std::stringstream accountID; - AccountID newAccountID; + /** @todo Deal with both the _accountMap and the Configuration */ + std::string accountType, account_list; + Account* newAccount; + std::stringstream accountID; + AccountID newAccountID; - accountID << "Account:" << time (NULL); - newAccountID = accountID.str(); + accountID << "Account:" << time(NULL); + newAccountID = accountID.str(); - // Get the type - accountType = (*details.find (CONFIG_ACCOUNT_TYPE)).second; + // Get the type + accountType = (*details.find(CONFIG_ACCOUNT_TYPE)).second; - _debug ("%s", newAccountID.c_str()); + _debug ("%s", newAccountID.c_str()); - /** @todo Verify the uniqueness, in case a program adds accounts, two in a row. */ + /** @todo Verify the uniqueness, in case a program adds accounts, two in a row. */ - if (accountType == "SIP") { - newAccount = AccountCreator::createAccount (AccountCreator::SIP_ACCOUNT, newAccountID); - newAccount->setVoIPLink(); - } else if (accountType == "IAX") { - newAccount = AccountCreator::createAccount (AccountCreator::IAX_ACCOUNT, newAccountID); - } else { - _debug ("Unknown %s param when calling addAccount(): %s", CONFIG_ACCOUNT_TYPE, accountType.c_str()); - return ""; - } + if (accountType == "SIP") { + newAccount = AccountCreator::createAccount(AccountCreator::SIP_ACCOUNT, + newAccountID); + newAccount->setVoIPLink(); + } else if (accountType == "IAX") { + newAccount = AccountCreator::createAccount(AccountCreator::IAX_ACCOUNT, + newAccountID); + } else { + _debug ("Unknown %s param when calling addAccount(): %s", CONFIG_ACCOUNT_TYPE, accountType.c_str()); + return ""; + } - _accountMap[newAccountID] = newAccount; + _accountMap[newAccountID] = newAccount; - setAccountDetails (accountID.str(), details); + setAccountDetails(accountID.str(), details); - // Add the newly created account in the account order list - account_list = getConfigString (PREFERENCES, CONFIG_ACCOUNTS_ORDER); + // Add the newly created account in the account order list + account_list = getConfigString(PREFERENCES, CONFIG_ACCOUNTS_ORDER); - if (account_list != "") { - newAccountID += "/"; - // Prepend the new account - account_list.insert (0, newAccountID); - setConfig (PREFERENCES, CONFIG_ACCOUNTS_ORDER, account_list); - } + if (account_list != "") { + newAccountID += "/"; + // Prepend the new account + account_list.insert(0, newAccountID); + setConfig(PREFERENCES, CONFIG_ACCOUNTS_ORDER, account_list); + } - saveConfig(); + saveConfig(); - if (_dbus) _dbus->getConfigurationManager()->accountsChanged(); + if (_dbus) + _dbus->getConfigurationManager()->accountsChanged(); - return newAccountID; + return accountID.str(); } -void -ManagerImpl::deleteAllCredential (const AccountID& accountID) -{ - int numberOfCredential = getConfigInt (accountID, CONFIG_CREDENTIAL_NUMBER); +void ManagerImpl::deleteAllCredential (const AccountID& accountID) { + int numberOfCredential = getConfigInt(accountID, CONFIG_CREDENTIAL_NUMBER); - int i; + int i; - for (i = 0; i < numberOfCredential; i++) { - std::string credentialIndex; - std::stringstream streamOut; - streamOut << i; - credentialIndex = streamOut.str(); - std::string section = "Credential" + std::string (":") + accountID + std::string (":") + credentialIndex; + for (i = 0; i < numberOfCredential; i++) { + std::string credentialIndex; + std::stringstream streamOut; + streamOut << i; + credentialIndex = streamOut.str(); + std::string section = "Credential" + std::string(":") + accountID + + std::string(":") + credentialIndex; - _config.removeSection (section); - } + _config.removeSection(section); + } - if (accountID.empty() == false) { - setConfig (accountID, CONFIG_CREDENTIAL_NUMBER, 0); - } + if (accountID.empty() == false) { + setConfig(accountID, CONFIG_CREDENTIAL_NUMBER, 0); + } } -void -ManagerImpl::removeAccount (const AccountID& accountID) -{ - // Get it down and dying - Account* remAccount = NULL; - remAccount = getAccount (accountID); +void ManagerImpl::removeAccount (const AccountID& accountID) { + // Get it down and dying + Account* remAccount = NULL; + remAccount = getAccount(accountID); - if (remAccount != NULL) { - remAccount->unregisterVoIPLink(); - _accountMap.erase (accountID); - // http://projects.savoirfairelinux.net/issues/show/2355 - // delete remAccount; - } + if (remAccount != NULL) { + remAccount->unregisterVoIPLink(); + _accountMap.erase(accountID); + // http://projects.savoirfairelinux.net/issues/show/2355 + // delete remAccount; + } - _config.removeSection (accountID); + _config.removeSection(accountID); - saveConfig(); + saveConfig(); - _debug ("REMOVE ACCOUNT"); + _debug ("REMOVE ACCOUNT"); - if (_dbus) _dbus->getConfigurationManager()->accountsChanged(); + if (_dbus) + _dbus->getConfigurationManager()->accountsChanged(); } // ACCOUNT handling -bool -ManagerImpl::associateCallToAccount (const CallID& callID, const AccountID& accountID) -{ - if (getAccountFromCall (callID) == AccountNULL) { // nothing with the same ID - if (accountExists (accountID)) { // account id exist in AccountMap - ost::MutexLock m (_callAccountMapMutex); - _callAccountMap[callID] = accountID; - _debug ("Associate Call %s with Account %s", callID.data(), accountID.data()); - return true; - } else { - return false; - } - } else { - return false; - } +bool ManagerImpl::associateCallToAccount (const CallID& callID, + const AccountID& accountID) { + if (getAccountFromCall(callID) == AccountNULL) { // nothing with the same ID + if (accountExists(accountID)) { // account id exist in AccountMap + ost::MutexLock m(_callAccountMapMutex); + _callAccountMap[callID] = accountID; + _debug ("Associate Call %s with Account %s", callID.data(), accountID.data()); + return true; + } else { + return false; + } + } else { + return false; + } } -AccountID -ManagerImpl::getAccountFromCall (const CallID& callID) -{ - ost::MutexLock m (_callAccountMapMutex); - CallAccountMap::iterator iter = _callAccountMap.find (callID); +AccountID ManagerImpl::getAccountFromCall (const CallID& callID) { + ost::MutexLock m(_callAccountMapMutex); + CallAccountMap::iterator iter = _callAccountMap.find(callID); - if (iter == _callAccountMap.end()) { - return AccountNULL; - } else { - return iter->second; - } + if (iter == _callAccountMap.end()) { + return AccountNULL; + } else { + return iter->second; + } } -bool -ManagerImpl::removeCallAccount (const CallID& callID) -{ - ost::MutexLock m (_callAccountMapMutex); +bool ManagerImpl::removeCallAccount (const CallID& callID) { + ost::MutexLock m(_callAccountMapMutex); - if (_callAccountMap.erase (callID)) { - return true; - } - - return false; + if (_callAccountMap.erase(callID)) { + return true; + } + return false; } -CallID -ManagerImpl::getNewCallID() -{ - std::ostringstream random_id ("s"); - random_id << (unsigned) rand(); +CallID ManagerImpl::getNewCallID () { + std::ostringstream random_id("s"); + random_id << (unsigned) rand(); - // when it's not found, it return "" - // generate, something like s10000s20000s4394040 + // when it's not found, it return "" + // generate, something like s10000s20000s4394040 - while (getAccountFromCall (random_id.str()) != AccountNULL) { - random_id.clear(); - random_id << "s"; - random_id << (unsigned) rand(); - } + while (getAccountFromCall(random_id.str()) != AccountNULL) { + random_id.clear(); + random_id << "s"; + random_id << (unsigned) rand(); + } - return random_id.str(); + return random_id.str(); } -std::vector <std::string> ManagerImpl::loadAccountOrder (void) -{ +std::vector<std::string> ManagerImpl::loadAccountOrder (void) { - std::string account_list; - std::vector <std::string> account_vect; + std::string account_list; + std::vector<std::string> account_vect; - account_list = getConfigString (PREFERENCES, CONFIG_ACCOUNTS_ORDER); - return unserialize (account_list); + account_list = getConfigString(PREFERENCES, CONFIG_ACCOUNTS_ORDER); + return unserialize(account_list); } +short ManagerImpl::loadAccountMap () { -short -ManagerImpl::loadAccountMap() -{ + _debug ("Loading account map"); - _debug ("Loading account map"); + short nbAccount = 0; + TokenList sections = _config.getSections(); + std::string accountType; + Account *tmpAccount = 0; + std::vector<std::string> account_order; - short nbAccount = 0; - TokenList sections = _config.getSections(); - std::string accountType; - Account *tmpAccount = 0; - std::vector <std::string> account_order; - - TokenList::iterator iter = sections.begin(); + TokenList::iterator iter = sections.begin(); - // Those calls that are placed to an uri that cannot be - // associated to an account are using that special account. - // An account, that is not account, in the sense of - // registration. This is useful since the Account object - // provides a handful of method that simplifies URI creation - // and loading of various settings. - _directIpAccount = AccountCreator::createAccount (AccountCreator::SIP_DIRECT_IP_ACCOUNT, ""); + // Those calls that are placed to an uri that cannot be + // associated to an account are using that special account. + // An account, that is not account, in the sense of + // registration. This is useful since the Account object + // provides a handful of method that simplifies URI creation + // and loading of various settings. + _directIpAccount = AccountCreator::createAccount( + AccountCreator::SIP_DIRECT_IP_ACCOUNT, ""); - _debug ("Create default \"account\" (used as default UDP transport)"); - if (_directIpAccount == NULL) { + _debug ("Create default \"account\" (used as default UDP transport)"); + if (_directIpAccount == NULL) { - _debug ("Failed to create default \"account\""); - } else { + _debug ("Failed to create default \"account\""); + } else { - _accountMap[IP2IP_PROFILE] = _directIpAccount; + _accountMap[IP2IP_PROFILE] = _directIpAccount; - // Force IP2IP settings to be loaded to be loaded - // No registration in the sense of the REGISTER method is performed. - _directIpAccount->registerVoIPLink(); + // Force IP2IP settings to be loaded to be loaded + // No registration in the sense of the REGISTER method is performed. + _directIpAccount->registerVoIPLink(); - // SIPVoIPlink is used as a singleton, it is the first call to instance here - // The SIP library initialization is done in the SIPVoIPLink constructor - // We need the IP2IP settings to be loaded at this time as they are used - // for default sip transport + // SIPVoIPlink is used as a singleton, it is the first call to instance here + // The SIP library initialization is done in the SIPVoIPLink constructor + // We need the IP2IP settings to be loaded at this time as they are used + // for default sip transport - // _directIpAccount->setVoIPLink(SIPVoIPLink::instance ("")); - _directIpAccount->setVoIPLink(); + // _directIpAccount->setVoIPLink(SIPVoIPLink::instance ("")); + _directIpAccount->setVoIPLink(); - } + } - // initialize other accounts - while (iter != sections.end()) { - // Check if it starts with "Account:" (SIP and IAX pour le moment) - if ( (int) (iter->find ("Account:")) != 0) { - iter++; - continue; - } + // initialize other accounts + while (iter != sections.end()) { + // Check if it starts with "Account:" (SIP and IAX pour le moment) + if ((int) (iter->find("Account:")) != 0) { + iter++; + continue; + } - accountType = getConfigString (*iter, CONFIG_ACCOUNT_TYPE); + accountType = getConfigString(*iter, CONFIG_ACCOUNT_TYPE); - if (accountType == "SIP") { - tmpAccount = AccountCreator::createAccount (AccountCreator::SIP_ACCOUNT, *iter); - } + if (accountType == "SIP") { + tmpAccount = AccountCreator::createAccount( + AccountCreator::SIP_ACCOUNT, *iter); + } - else if (accountType == "IAX") { - tmpAccount = AccountCreator::createAccount (AccountCreator::IAX_ACCOUNT, *iter); - } + else if (accountType == "IAX") { + tmpAccount = AccountCreator::createAccount( + AccountCreator::IAX_ACCOUNT, *iter); + } - else { - _error ("Unknown %s param in config file (%s)", CONFIG_ACCOUNT_TYPE, accountType.c_str()); - } + else { + _error ("Unknown %s param in config file (%s)", CONFIG_ACCOUNT_TYPE, accountType.c_str()); + } - if (tmpAccount != NULL) { - _debug ("Loading account %s ", iter->c_str()); - _accountMap[iter->c_str() ] = tmpAccount; - // tmpAccount->setVoIPLink(SIPVoIPLink::instance ("")); - tmpAccount->setVoIPLink(); - nbAccount++; - } + if (tmpAccount != NULL) { + _debug ("Loading account %s ", iter->c_str()); + _accountMap[iter->c_str()] = tmpAccount; + // tmpAccount->setVoIPLink(SIPVoIPLink::instance ("")); + tmpAccount->setVoIPLink(); + nbAccount++; + } - iter++; - } + iter++; + } - _debug ("nb account loaded %i \n", nbAccount); + _debug ("nb account loaded %i \n", nbAccount); - return nbAccount; + return nbAccount; } -void -ManagerImpl::unloadAccountMap() -{ +void ManagerImpl::unloadAccountMap () { - AccountMap::iterator iter = _accountMap.begin(); + AccountMap::iterator iter = _accountMap.begin(); - while (iter != _accountMap.end()) { + while (iter != _accountMap.end()) { - _debug ("Unloading account %s\n", iter->first.c_str()); + _debug ("Unloading account %s", iter->first.c_str()); - delete iter->second; - iter->second = 0; + delete iter->second; + iter->second = NULL; - iter++; - } + iter++; + } + + _debug("Manager: Clear account map"); + _accountMap.clear(); + _debug("Manager: Unload account map"); - _accountMap.clear(); + } -bool -ManagerImpl::accountExists (const AccountID& accountID) -{ - AccountMap::iterator iter = _accountMap.find (accountID); +bool ManagerImpl::accountExists (const AccountID& accountID) { + AccountMap::iterator iter = _accountMap.find(accountID); - if (iter == _accountMap.end()) { - return false; - } + if (iter == _accountMap.end()) { + return false; + } - return true; + return true; } Account* -ManagerImpl::getAccount (const AccountID& accountID) -{ - // In our definition, - // this is the "direct ip calls account" - if (accountID == AccountNULL) { - _debug ("Returns the direct IP account"); - return _directIpAccount; - } +ManagerImpl::getAccount (const AccountID& accountID) { + // In our definition, + // this is the "direct ip calls account" + if (accountID == AccountNULL) { + _debug ("Returns the direct IP account"); + return _directIpAccount; + } - AccountMap::iterator iter = _accountMap.find (accountID); + AccountMap::iterator iter = _accountMap.find(accountID); - if (iter == _accountMap.end()) { - return NULL; - } + if (iter == _accountMap.end()) { + return NULL; + } - return iter->second; + return iter->second; } -AccountID -ManagerImpl::getAccountIdFromNameAndServer (const std::string& userName, const std::string& server) -{ - AccountMap::iterator iter; - SIPAccount *account; - _debug ("getAccountIdFromNameAndServer : username = %s , server = %s", userName.c_str(), server.c_str()); - // Try to find the account id from username and server name by full match +AccountID ManagerImpl::getAccountIdFromNameAndServer ( + const std::string& userName, const std::string& server) { - for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { - _debug ("for : account = %s", iter->first.c_str()); - account = dynamic_cast<SIPAccount *> (iter->second); + AccountMap::iterator iter; + SIPAccount *account; - if (account != NULL) { - if (account->fullMatch (userName, server)) { - _debug ("Matching accountId in request is a fullmatch"); - return iter->first; - } - } - } + _info ("Manager : username = %s , server = %s", userName.c_str(), server.c_str()); + // Try to find the account id from username and server name by full match - // We failed! Then only match the hostname - for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { - account = dynamic_cast<SIPAccount *> (iter->second); + for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { + account = dynamic_cast<SIPAccount *> (iter->second); - if (account != NULL) { - if (account->hostnameMatch (server)) { - _debug ("Matching accountId in request with hostname"); - return iter->first; - } - } - } + if (account != NULL) { + if (account->fullMatch(userName, server)) { + _debug ("Manager: Matching account id in request is a fullmatch %s@%s", userName.c_str(), server.c_str()); + return iter->first; + } + } + } - // We failed! Then only match the username - for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { - account = dynamic_cast<SIPAccount *> (iter->second); + // We failed! Then only match the hostname + for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { + account = dynamic_cast<SIPAccount *> (iter->second); - if (account != NULL) { - if (account->userMatch (userName)) { - _debug ("Matching accountId in request with username"); - return iter->first; - } - } - } + if (account != NULL) { + if (account->hostnameMatch(server)) { + _debug ("Manager: Matching account id in request with hostname %s", server.c_str()); + return iter->first; + } + } + } + + // We failed! Then only match the username + for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { + account = dynamic_cast<SIPAccount *> (iter->second); + + if (account != NULL) { + if (account->userMatch(userName)) { + _debug ("Manager: Matching account id in request with username %s", userName.c_str()); + return iter->first; + } + } + } + + _debug ("Manager: Username %s or server %s doesn't match any account, using IP2IP", userName.c_str(), server.c_str()); - // Failed again! return AccountNULL - return AccountNULL; + // Failed again! return AccountNULL + return AccountNULL; } -std::map<std::string, int32_t> ManagerImpl::getAddressbookSettings () -{ +std::map<std::string, int32_t> ManagerImpl::getAddressbookSettings () { - std::map<std::string, int32_t> settings; + std::map<std::string, int32_t> settings; - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_ENABLE", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_ENABLE))); - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_MAX_RESULTS", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS))); - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_DISPLAY_CONTACT_PHOTO", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_CONTACT_PHOTO))); - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_DISPLAY_PHONE_BUSINESS", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_BUSINESS))); - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_DISPLAY_PHONE_HOME", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_HOME))); - settings.insert (std::pair<std::string, int32_t> ("ADDRESSBOOK_DISPLAY_PHONE_MOBILE", getConfigInt (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_MOBILE))); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_ENABLE", + getConfigInt(ADDRESSBOOK, ADDRESSBOOK_ENABLE))); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_MAX_RESULTS", + getConfigInt(ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS))); + settings.insert(std::pair<std::string, int32_t>( + "ADDRESSBOOK_DISPLAY_CONTACT_PHOTO", getConfigInt(ADDRESSBOOK, + ADDRESSBOOK_DISPLAY_CONTACT_PHOTO))); + settings.insert(std::pair<std::string, int32_t>( + "ADDRESSBOOK_DISPLAY_PHONE_BUSINESS", getConfigInt(ADDRESSBOOK, + ADDRESSBOOK_DISPLAY_PHONE_BUSINESS))); + settings.insert(std::pair<std::string, int32_t>( + "ADDRESSBOOK_DISPLAY_PHONE_HOME", getConfigInt(ADDRESSBOOK, + ADDRESSBOOK_DISPLAY_PHONE_HOME))); + settings.insert(std::pair<std::string, int32_t>( + "ADDRESSBOOK_DISPLAY_PHONE_MOBILE", getConfigInt(ADDRESSBOOK, + ADDRESSBOOK_DISPLAY_PHONE_MOBILE))); - return settings; + return settings; } -void ManagerImpl::setAddressbookSettings (const std::map<std::string, int32_t>& settings) -{ +void ManagerImpl::setAddressbookSettings ( + const std::map<std::string, int32_t>& settings) { - setConfig (ADDRESSBOOK, ADDRESSBOOK_ENABLE, (*settings.find ("ADDRESSBOOK_ENABLE")).second); - setConfig (ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS, (*settings.find ("ADDRESSBOOK_MAX_RESULTS")).second); - setConfig (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_CONTACT_PHOTO , (*settings.find ("ADDRESSBOOK_DISPLAY_CONTACT_PHOTO")).second); - setConfig (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_BUSINESS , (*settings.find ("ADDRESSBOOK_DISPLAY_PHONE_BUSINESS")).second); - setConfig (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_HOME , (*settings.find ("ADDRESSBOOK_DISPLAY_PHONE_HOME")).second); - setConfig (ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_MOBILE , (*settings.find ("ADDRESSBOOK_DISPLAY_PHONE_MOBILE")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_ENABLE, (*settings.find( + "ADDRESSBOOK_ENABLE")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS, (*settings.find( + "ADDRESSBOOK_MAX_RESULTS")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_CONTACT_PHOTO, (*settings.find( + "ADDRESSBOOK_DISPLAY_CONTACT_PHOTO")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_BUSINESS, (*settings.find( + "ADDRESSBOOK_DISPLAY_PHONE_BUSINESS")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_HOME, (*settings.find( + "ADDRESSBOOK_DISPLAY_PHONE_HOME")).second); + setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_MOBILE, (*settings.find( + "ADDRESSBOOK_DISPLAY_PHONE_MOBILE")).second); - // Write it to the configuration file - saveConfig (); + // Write it to the configuration file + saveConfig(); } -void -ManagerImpl::setAddressbookList (const std::vector< std::string >& list) -{ +void ManagerImpl::setAddressbookList (const std::vector<std::string>& list) { - std::string s = serialize (list); - setConfig (ADDRESSBOOK, ADDRESSBOOK_LIST, s); + std::string s = serialize(list); + setConfig(ADDRESSBOOK, ADDRESSBOOK_LIST, s); } -std::vector <std::string> -ManagerImpl::getAddressbookList (void) -{ +std::vector<std::string> ManagerImpl::getAddressbookList (void) { - std::string s = getConfigString (ADDRESSBOOK, ADDRESSBOOK_LIST); - return unserialize (s); + std::string s = getConfigString(ADDRESSBOOK, ADDRESSBOOK_LIST); + return unserialize(s); } -std::map<std::string, std::string> ManagerImpl::getHookSettings () -{ +std::map<std::string, std::string> ManagerImpl::getHookSettings () { - std::map<std::string, std::string> settings; + std::map<std::string, std::string> settings; - settings.insert (std::pair<std::string, std::string> ("URLHOOK_SIP_FIELD", getConfigString (HOOKS, URLHOOK_SIP_FIELD))); - settings.insert (std::pair<std::string, std::string> ("URLHOOK_COMMAND", getConfigString (HOOKS, URLHOOK_COMMAND))); - settings.insert (std::pair<std::string, std::string> ("URLHOOK_SIP_ENABLED", getConfigString (HOOKS, URLHOOK_SIP_ENABLED))); - settings.insert (std::pair<std::string, std::string> ("URLHOOK_IAX2_ENABLED", getConfigString (HOOKS, URLHOOK_IAX2_ENABLED))); - settings.insert (std::pair<std::string, std::string> ("PHONE_NUMBER_HOOK_ENABLED", getConfigString (HOOKS, PHONE_NUMBER_HOOK_ENABLED))); - settings.insert (std::pair<std::string, std::string> ("PHONE_NUMBER_HOOK_ADD_PREFIX", getConfigString (HOOKS, PHONE_NUMBER_HOOK_ADD_PREFIX))); + settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_FIELD", + getConfigString(HOOKS, URLHOOK_SIP_FIELD))); + settings.insert(std::pair<std::string, std::string>("URLHOOK_COMMAND", + getConfigString(HOOKS, URLHOOK_COMMAND))); + settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_ENABLED", + getConfigString(HOOKS, URLHOOK_SIP_ENABLED))); + settings.insert(std::pair<std::string, std::string>("URLHOOK_IAX2_ENABLED", + getConfigString(HOOKS, URLHOOK_IAX2_ENABLED))); + settings.insert(std::pair<std::string, std::string>( + "PHONE_NUMBER_HOOK_ENABLED", getConfigString(HOOKS, + PHONE_NUMBER_HOOK_ENABLED))); + settings.insert(std::pair<std::string, std::string>( + "PHONE_NUMBER_HOOK_ADD_PREFIX", getConfigString(HOOKS, + PHONE_NUMBER_HOOK_ADD_PREFIX))); - return settings; + return settings; } -void ManagerImpl::setHookSettings (const std::map<std::string, std::string>& settings) -{ +void ManagerImpl::setHookSettings ( + const std::map<std::string, std::string>& settings) { - setConfig (HOOKS, URLHOOK_SIP_FIELD, (*settings.find ("URLHOOK_SIP_FIELD")).second); - setConfig (HOOKS, URLHOOK_COMMAND, (*settings.find ("URLHOOK_COMMAND")).second); - setConfig (HOOKS, URLHOOK_SIP_ENABLED, (*settings.find ("URLHOOK_SIP_ENABLED")).second); - setConfig (HOOKS, URLHOOK_IAX2_ENABLED, (*settings.find ("URLHOOK_IAX2_ENABLED")).second); - setConfig (HOOKS, PHONE_NUMBER_HOOK_ENABLED, (*settings.find ("PHONE_NUMBER_HOOK_ENABLED")).second); - setConfig (HOOKS, PHONE_NUMBER_HOOK_ADD_PREFIX, (*settings.find ("PHONE_NUMBER_HOOK_ADD_PREFIX")).second); + setConfig(HOOKS, URLHOOK_SIP_FIELD, + (*settings.find("URLHOOK_SIP_FIELD")).second); + setConfig(HOOKS, URLHOOK_COMMAND, + (*settings.find("URLHOOK_COMMAND")).second); + setConfig(HOOKS, URLHOOK_SIP_ENABLED, + (*settings.find("URLHOOK_SIP_ENABLED")).second); + setConfig(HOOKS, URLHOOK_IAX2_ENABLED, (*settings.find( + "URLHOOK_IAX2_ENABLED")).second); + setConfig(HOOKS, PHONE_NUMBER_HOOK_ENABLED, (*settings.find( + "PHONE_NUMBER_HOOK_ENABLED")).second); + setConfig(HOOKS, PHONE_NUMBER_HOOK_ADD_PREFIX, (*settings.find( + "PHONE_NUMBER_HOOK_ADD_PREFIX")).second); - // Write it to the configuration file - saveConfig (); + // Write it to the configuration file + saveConfig(); } -void ManagerImpl::check_call_configuration (const CallID& id, const std::string &to, Call::CallConfiguration *callConfig) -{ - Call::CallConfiguration config; - - if (to.find (SIP_SCHEME) == 0 || to.find (SIPS_SCHEME) == 0) { - _debug ("Sending Sip Call "); - config = Call::IPtoIP; - } else { - config = Call::Classic; - } +void ManagerImpl::check_call_configuration (const CallID& id, + const std::string &to, Call::CallConfiguration *callConfig) { + Call::CallConfiguration config; + + if (to.find(SIP_SCHEME) == 0 || to.find(SIPS_SCHEME) == 0) { + _debug ("Manager: Sip scheme detected (sip: or sips:), sending IP2IP Call"); + config = Call::IPtoIP; + } else { + config = Call::Classic; + } - associateConfigToCall (id, config); + associateConfigToCall(id, config); - *callConfig = config; + *callConfig = config; } +bool ManagerImpl::associateConfigToCall (const CallID& callID, + Call::CallConfiguration config) { -bool ManagerImpl::associateConfigToCall (const CallID& callID, Call::CallConfiguration config) -{ - - if (getConfigFromCall (callID) == CallConfigNULL) { // nothing with the same ID - _callConfigMap[callID] = config; - _debug ("Associate Call %s with config %i", callID.data(), config); - return true; - } else { - return false; - } + if (getConfigFromCall(callID) == CallConfigNULL) { // nothing with the same ID + _callConfigMap[callID] = config; + _debug ("Manager: Associate call %s with config %i", callID.c_str(), config); + return true; + } else { + return false; + } } -Call::CallConfiguration ManagerImpl::getConfigFromCall (const CallID& callID) -{ +Call::CallConfiguration ManagerImpl::getConfigFromCall (const CallID& callID) { - CallConfigMap::iterator iter = _callConfigMap.find (callID); + CallConfigMap::iterator iter = _callConfigMap.find(callID); - if (iter == _callConfigMap.end()) { - return (Call::CallConfiguration) CallConfigNULL; - } else { - return iter->second; - } + if (iter == _callConfigMap.end()) { + return (Call::CallConfiguration) CallConfigNULL; + } else { + return iter->second; + } } -bool ManagerImpl::removeCallConfig (const CallID& callID) -{ +bool ManagerImpl::removeCallConfig (const CallID& callID) { - if (_callConfigMap.erase (callID)) { - return true; - } + if (_callConfigMap.erase(callID)) { + return true; + } - return false; + return false; } -std::map< std::string, std::string > ManagerImpl::getCallDetails (const CallID& callID) -{ +std::map<std::string, std::string> ManagerImpl::getCallDetails (const CallID& callID) { - std::map<std::string, std::string> call_details; - AccountID accountid; - Account *account; - VoIPLink *link; - Call *call = NULL; - std::stringstream type; + std::map<std::string, std::string> call_details; + AccountID accountid; + Account *account; + VoIPLink *link; + Call *call = NULL; + std::stringstream type; + // We need here to retrieve the call information attached to the call ID + // To achieve that, we need to get the voip link attached to the call + // But to achieve that, we need to get the account the call was made with - // We need here to retrieve the call information attached to the call ID - // To achieve that, we need to get the voip link attached to the call - // But to achieve that, we need to get the account the call was made with + // So first we fetch the account + accountid = getAccountFromCall(callID); - // So first we fetch the account - accountid = getAccountFromCall (callID); - _debug ("%s",callID.c_str()); - // Then the VoIP link this account is linked with (IAX2 or SIP) + // Then the VoIP link this account is linked with (IAX2 or SIP) + if ((account = getAccount(accountid)) != 0) { + link = account->getVoIPLink(); - if ( (account=getAccount (accountid)) != 0) { - link = account->getVoIPLink (); - - if (link) { - call = link->getCall (callID); - } - } + if (link) { + call = link->getCall(callID); + } + } - if (call) { - type << call->getCallType (); - call_details.insert (std::pair<std::string, std::string> ("ACCOUNTID", accountid)); - call_details.insert (std::pair<std::string, std::string> ("PEER_NUMBER", call->getPeerNumber ())); - call_details.insert (std::pair<std::string, std::string> ("PEER_NAME", call->getPeerName ())); - call_details.insert (std::pair<std::string, std::string> ("DISPLAY_NAME", call->getDisplayName ())); - call_details.insert (std::pair<std::string, std::string> ("CALL_STATE", call->getStateStr ())); - call_details.insert (std::pair<std::string, std::string> ("CALL_TYPE", type.str ())); - } else { - _debug ("Error: Managerimpl - getCallDetails ()"); - call_details.insert (std::pair<std::string, std::string> ("ACCOUNTID", AccountNULL)); - call_details.insert (std::pair<std::string, std::string> ("PEER_NUMBER", "Unknown")); - call_details.insert (std::pair<std::string, std::string> ("PEER_NAME", "Unknown")); - call_details.insert (std::pair<std::string, std::string> ("CALL_STATE", "UNKNOWN")); - call_details.insert (std::pair<std::string, std::string> ("CALL_TYPE", "0")); - } + if (call) { + type << call->getCallType(); + call_details.insert(std::pair<std::string, std::string>("ACCOUNTID", accountid)); + call_details.insert(std::pair<std::string, std::string>("PEER_NUMBER", call->getPeerNumber())); + call_details.insert(std::pair<std::string, std::string>("PEER_NAME", call->getPeerName())); + call_details.insert(std::pair<std::string, std::string>("DISPLAY_NAME", call->getDisplayName())); + call_details.insert(std::pair<std::string, std::string>("CALL_STATE", call->getStateStr())); + call_details.insert(std::pair<std::string, std::string>("CALL_TYPE", type.str())); + } else { + _error ("Manager: Error: getCallDetails()"); + call_details.insert(std::pair<std::string, std::string>("ACCOUNTID", AccountNULL)); + call_details.insert(std::pair<std::string, std::string>("PEER_NUMBER", "Unknown")); + call_details.insert(std::pair<std::string, std::string>("PEER_NAME", "Unknown")); + call_details.insert(std::pair<std::string, std::string>("CALL_STATE", "UNKNOWN")); + call_details.insert(std::pair<std::string, std::string>("CALL_TYPE", "0")); + } - return call_details; + return call_details; } - -std::map<std::string, std::string> ManagerImpl::send_history_to_client (void) -{ - return _history->get_history_serialized (); +std::map<std::string, std::string> ManagerImpl::send_history_to_client (void) { + return _history->get_history_serialized(); } -void ManagerImpl::receive_history_from_client (std::map<std::string, std::string> history) -{ - _history->set_serialized_history (history, Manager::instance().getConfigInt (PREFERENCES, CONFIG_HISTORY_LIMIT)); - _history->save_history (); +void ManagerImpl::receive_history_from_client (std::map<std::string, + std::string> history) { + _history->set_serialized_history(history, Manager::instance().getConfigInt( + PREFERENCES, CONFIG_HISTORY_LIMIT)); + _history->save_history(); } +std::vector<std::string> ManagerImpl::getCallList (void) { + std::vector<std::string> v; -std::vector< std::string > -ManagerImpl::getCallList (void) -{ - std::vector< std::string > v; + CallAccountMap::iterator iter = _callAccountMap.begin(); - CallAccountMap::iterator iter = _callAccountMap.begin (); - - while (iter != _callAccountMap.end ()) { - v.push_back (iter->first.data()); - iter++; - } + while (iter != _callAccountMap.end()) { + v.push_back(iter->first.data()); + iter++; + } - return v; + return v; } +std::map<std::string, std::string> ManagerImpl::getConferenceDetails ( + const ConfID& confID) { -std::map< std::string, std::string > -ManagerImpl::getConferenceDetails (const ConfID& confID) -{ - - std::map<std::string, std::string> conf_details; - ConferenceMap::iterator iter_conf; + std::map<std::string, std::string> conf_details; + ConferenceMap::iterator iter_conf; - iter_conf = _conferencemap.find (confID); + iter_conf = _conferencemap.find(confID); - Conference* conf = NULL; + Conference* conf = NULL; - if (iter_conf != _conferencemap.end()) { + if (iter_conf != _conferencemap.end()) { - conf = iter_conf->second; - conf_details.insert (std::pair<std::string, std::string> ("CONFID", confID)); - conf_details.insert (std::pair<std::string, std::string> ("CONF_STATE", conf->getStateStr())); - } + conf = iter_conf->second; + conf_details.insert(std::pair<std::string, std::string>("CONFID", + confID)); + conf_details.insert(std::pair<std::string, std::string>("CONF_STATE", + conf->getStateStr())); + } - return conf_details; + return conf_details; } +std::vector<std::string> ManagerImpl::getConferenceList (void) { + _debug ("ManagerImpl::getConferenceList"); + std::vector<std::string> v; -std::vector< std::string > -ManagerImpl::getConferenceList (void) -{ - _debug ("ManagerImpl::getConferenceList"); - std::vector< std::string > v; + ConferenceMap::iterator iter = _conferencemap.begin(); - ConferenceMap::iterator iter = _conferencemap.begin(); - - while (iter != _conferencemap.end ()) { - v.push_back (iter->first); - iter++; - } + while (iter != _conferencemap.end()) { + v.push_back(iter->first); + iter++; + } - return v; + return v; } +std::vector<std::string> ManagerImpl::getParticipantList ( + const std::string& confID) { -std::vector< std::string > -ManagerImpl::getParticipantList (const std::string& confID) -{ - _debug ("ManagerImpl::getParticipantList"); - std::vector< std::string > v; + _debug ("ManagerImpl: Get participant list %s", confID.c_str()); + std::vector<std::string> v; - ConferenceMap::iterator iter_conf = _conferencemap.find (confID); - Conference *conf = NULL; + ConferenceMap::iterator iter_conf = _conferencemap.find(confID); + Conference *conf = NULL; - if (iter_conf != _conferencemap.end()) - conf = iter_conf->second; + if (iter_conf != _conferencemap.end()) + conf = iter_conf->second; - if (conf != NULL) { - ParticipantSet participants = conf->getParticipantList(); - ParticipantSet::iterator iter_participant = participants.begin(); + if (conf != NULL) { + ParticipantSet participants = conf->getParticipantList(); + ParticipantSet::iterator iter_participant = participants.begin(); - while (iter_participant != participants.end ()) { + while (iter_participant != participants.end()) { - v.push_back (*iter_participant); + v.push_back(*iter_participant); - iter_participant++; - } - } + iter_participant++; + } + } + else { + _warn("Manager: Warning: Did not found conference %s", confID.c_str()); + } - return v; + return v; } diff --git a/sflphone-common/src/managerimpl.h b/sflphone-common/src/managerimpl.h index c2938844f8405674609d6918eb298d42e1e74a67..fc457c767d62130242f5665b3b4e573ddd3c8ebe 100644 --- a/sflphone-common/src/managerimpl.h +++ b/sflphone-common/src/managerimpl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2005 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_MANAGER_H__ @@ -82,7 +93,6 @@ typedef std::map<CallID, Conference*> ConferenceMap; static CallID default_conf = "conf"; - static char * mapStateToChar[] = { (char*) "UNREGISTERED", (char*) "TRYING", @@ -527,10 +537,11 @@ class ManagerImpl { std::vector<std::string> getAudioOutputDeviceList(void); /** - * Set audio output device + * Set audio device * @param index The index of the soundcard + * @param the type of stream, either SFL_PCM_PLAYBACK, SFL_PCM_CAPTURE, SFL_PCM_RINGTONE */ - void setAudioOutputDevice(const int index); + void setAudioDevice(const int index, const int streamType); /** * Get list of supported audio input device @@ -538,12 +549,6 @@ class ManagerImpl { */ std::vector<std::string> getAudioInputDeviceList(void); - /** - * Set audio input device - * @param index The index of the soundcard - */ - void setAudioInputDevice(const int index); - /** * Get string array representing integer indexes of output and input device * @return std::vector<std::string> A list of the current audio devices @@ -557,12 +562,20 @@ class ManagerImpl { */ int getAudioDeviceIndex( const std::string name ); - /* + /** * Get current alsa plugin * @return std::string The Alsa plugin */ std::string getCurrentAudioOutputPlugin( void ); + std::string getEchoCancelState(void); + + void setEchoCancelState(std::string state); + + std::string getNoiseSuppressState(void); + + void setNoiseSuppressState(std::string state); + /** * Convert a list of payload in a special format, readable by the server. * Required format: payloads separated with one slash. @@ -782,6 +795,8 @@ class ManagerImpl { void switchAudioManager( void ); + void audioSamplingRateChanged( void ); + /** * Get the desktop mail notification level * @return int The mail notification level @@ -1234,8 +1249,14 @@ class ManagerImpl { */ MainBuffer _mainBuffer; - - public: + + public: + + /** + * Return a pointer to the instance of the mainbuffer + */ + MainBuffer *getMainBuffer(void) { return &_mainBuffer; } + /** * Tell if there is a current call processed @@ -1293,14 +1314,12 @@ class ManagerImpl { int isStunEnabled (void); void enableStun (void); - // Map + // Map containing reference between conferences and calls ConferenceCallMap _conferencecall; - // + // Map containing conference pointers ConferenceMap _conferencemap; - - private: // Copy Constructor diff --git a/sflphone-common/src/managerimpl_registration.cpp b/sflphone-common/src/managerimpl_registration.cpp index 241a8b4078db80e6450d79f8f6e68f43b4738ba6..552b2eb4568b25771a766a8c9950b38a4e03b3e8 100644 --- a/sflphone-common/src/managerimpl_registration.cpp +++ b/sflphone-common/src/managerimpl_registration.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -20,6 +20,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "managerimpl.h" diff --git a/sflphone-common/src/numbercleaner.cpp b/sflphone-common/src/numbercleaner.cpp index b583ca594503a1d16985f713e0500a5e3b44d4ae..cc84b754df4d864e4996c50a31ee67e8f76449fd 100644 --- a/sflphone-common/src/numbercleaner.cpp +++ b/sflphone-common/src/numbercleaner.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "numbercleaner.h" diff --git a/sflphone-common/src/numbercleaner.h b/sflphone-common/src/numbercleaner.h index aff62036d03525c6e10e8566e95e107e94c0412d..a45192e258841175031339e77fba1b5c43ae0cee 100644 --- a/sflphone-common/src/numbercleaner.h +++ b/sflphone-common/src/numbercleaner.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,11 +16,23 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _NUMBER_CLEANER_H #define _NUMBER_CLEANER_H +#include "logger.h" #include <string> class NumberCleaner { @@ -31,7 +43,8 @@ class NumberCleaner { std::string clean (std::string to_clean); - inline void set_phone_number_prefix (std::string prefix) { _prefix = prefix; } + inline void set_phone_number_prefix (std::string prefix) { + _debug("Number: Set phone number prefix %s", _prefix.c_str()); _prefix = prefix; } inline std::string get_phone_number_prefix (void) { return _prefix; } diff --git a/sflphone-common/src/observer.cpp b/sflphone-common/src/observer.cpp index 40ac49de63fae065eec174923baf9437a2c270f9..d1cb8912fb2d235319a9097d9f16d38ed9eadc2e 100644 --- a/sflphone-common/src/observer.cpp +++ b/sflphone-common/src/observer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "observer.h" diff --git a/sflphone-common/src/observer.h b/sflphone-common/src/observer.h index f63b4602ef472f5bde3f5d369db0e028d658eed2..5e778800598a1cbce1815a2ae544589171a0ba7a 100644 --- a/sflphone-common/src/observer.h +++ b/sflphone-common/src/observer.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2006 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __PATTERN_OBSERVER_H_ diff --git a/sflphone-common/src/plug-in/Makefile.am b/sflphone-common/src/plug-in/Makefile.am index 35ea21e0390c242d1686bf722077cee6c60e9428..ec8d43800601c3b98c3b7a708b84bedacbfefbb9 100644 --- a/sflphone-common/src/plug-in/Makefile.am +++ b/sflphone-common/src/plug-in/Makefile.am @@ -1,6 +1,6 @@ include ../../globals.mak -SUBDIRS=audiorecorder test +SUBDIRS=test noinst_LTLIBRARIES = libplugin.la diff --git a/sflphone-common/src/plug-in/audiorecorder/Makefile.am b/sflphone-common/src/plug-in/audiorecorder/Makefile.am deleted file mode 100644 index 2a37f147295de545974f83dbf48e097a5a0d53dc..0000000000000000000000000000000000000000 --- a/sflphone-common/src/plug-in/audiorecorder/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -include $(top_srcdir)/globals.mak - -noinst_LTLIBRARIES = libaudiorecorder.la - -libaudiorecorder_la_SOURCES = \ - audiorecord.cpp \ No newline at end of file diff --git a/sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp b/sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp deleted file mode 100644 index f9b5c014ef5c7c4e5976946afb08ac2df028051c..0000000000000000000000000000000000000000 --- a/sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2008 Savoir-Faire Linux inc. - * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include "audiodsp.h" - -AudioDSP::AudioDSP() -{ - - bufPointer_ = 0; - bufferLength_ = 1024; - circBuffer_ = new float[bufferLength_]; - -} - - -AudioDSP::~AudioDSP() -{ - - delete[] circBuffer_; - -} - - -float AudioDSP::getRMS (int data) -{ - // printf("AudioDSP::getRMS() : bufPointer_ %i ", bufPointer_); - printf ("AudioDSP::getRMS() : %i ", data); - circBuffer_[bufPointer_++] = (float) data; - - if (bufPointer_ >= bufferLength_) - bufPointer_ = 0; - - return computeRMS(); -} - - -float AudioDSP::computeRMS() -{ - - rms = 0.0; - - - for (int i = 0; i < bufferLength_; i++) { - // printf("AudioDSP::computeRMS() : i_ %i ", i); - rms += (float) (circBuffer_[i]*circBuffer_[i]); - } - - rms = sqrt (rms / (float) bufferLength_); - - // printf("AudioDSP::computeRMS() : RMS VALUE: %f ", rms); - return rms; - -} diff --git a/sflphone-common/src/plug-in/audiorecorder/audiodsp.h b/sflphone-common/src/plug-in/audiorecorder/audiodsp.h deleted file mode 100644 index c99093a22011e5655bda8161a9182d84699b5901..0000000000000000000000000000000000000000 --- a/sflphone-common/src/plug-in/audiorecorder/audiodsp.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2008 Savoir-Faire Linux inc. - * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef _AUDIO_DSP_H -#define _AUDIO_DSP_H - -#include <math.h> -#include <iostream> -#include <string.h> -#include <stdlib.h> -#include <sstream> - -class AudioDSP -{ - -public: - - AudioDSP(); - - ~AudioDSP(); - - /** - * Return rms value - */ - float getRMS(int data); - -protected: - - /** - * Compute Rms value - */ - float computeRMS(); - - /** - * Internal buffer pointer - */ - int bufPointer_; - - /** - * Internal buffer length - */ - int bufferLength_; - - /** - * Internal buffer to compute RMS - */ - float* circBuffer_; - - /** - * Variable to compute RMS value - */ - float rms; - -}; - -#endif // _AUDIO_DSP_H diff --git a/sflphone-common/src/plug-in/librarymanager.cpp b/sflphone-common/src/plug-in/librarymanager.cpp index f4fba8683bfd985075e7ede79cba759e535d23eb..b63df59bd31dfc9b7d075fff8e86b1ae81fe8720 100644 --- a/sflphone-common/src/plug-in/librarymanager.cpp +++ b/sflphone-common/src/plug-in/librarymanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/src/plug-in/librarymanager.h b/sflphone-common/src/plug-in/librarymanager.h index e244d448a1152a46950d4b0ec95e06847eac4ff5..2e94cd5681c3c8dcf7124703ec795ed275eb36e2 100644 --- a/sflphone-common/src/plug-in/librarymanager.h +++ b/sflphone-common/src/plug-in/librarymanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef LIBRARY_MANAGER_H diff --git a/sflphone-common/src/plug-in/plugin.h b/sflphone-common/src/plug-in/plugin.h index 2769c56c372e22be24334107ef6efdf5bf4e8b31..95a9adcb89027954c968a81b75e1b8b88974c368 100644 --- a/sflphone-common/src/plug-in/plugin.h +++ b/sflphone-common/src/plug-in/plugin.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ diff --git a/sflphone-common/src/plug-in/pluginmanager.cpp b/sflphone-common/src/plug-in/pluginmanager.cpp index 431f3eb8744bc2ea02b4ed9f37fa1908844abcd4..5584ba2a1212483e99a344dc3ea22c2290d7ec88 100644 --- a/sflphone-common/src/plug-in/pluginmanager.cpp +++ b/sflphone-common/src/plug-in/pluginmanager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <dirent.h> diff --git a/sflphone-common/src/plug-in/pluginmanager.h b/sflphone-common/src/plug-in/pluginmanager.h index 4b3a1869200ce7deaac770d661d360223adbc7b0..a60ee02b3ba86fcb889f1d252ddf709a9437d606 100644 --- a/sflphone-common/src/plug-in/pluginmanager.h +++ b/sflphone-common/src/plug-in/pluginmanager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef PLUGIN_MANAGER_H diff --git a/sflphone-common/src/plug-in/test/pluginTest.cpp b/sflphone-common/src/plug-in/test/pluginTest.cpp index 9bef60f3a4402cda30872d5ee502ba8d68456d65..a1c80a40fdd82b5b5dcc9b043d25e830f855fe43 100644 --- a/sflphone-common/src/plug-in/test/pluginTest.cpp +++ b/sflphone-common/src/plug-in/test/pluginTest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "../plugin.h" diff --git a/sflphone-common/src/sip/Pattern.cpp b/sflphone-common/src/sip/Pattern.cpp index f925c8db9005e3ad986bbf20f20e4fbc3028d975..89e3efb48a884e740383ff294370797ef6a2502a 100644 --- a/sflphone-common/src/sip/Pattern.cpp +++ b/sflphone-common/src/sip/Pattern.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "Pattern.h" diff --git a/sflphone-common/src/sip/Pattern.h b/sflphone-common/src/sip/Pattern.h index 870ca1b5e8b37189a1f1b4575ec27611890c2df5..a929c655218825eecc3a9f22634731d6712c6cbe 100644 --- a/sflphone-common/src/sip/Pattern.h +++ b/sflphone-common/src/sip/Pattern.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -14,6 +14,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_PATTERN_H__ #define __SFL_PATTERN_H__ diff --git a/sflphone-common/src/sip/SdesNegotiator.cpp b/sflphone-common/src/sip/SdesNegotiator.cpp index ef2849bb75f7f58d00403c5333edfc107895d750..5396755b6be1b948629e6cf6e63111f9756c828e 100644 --- a/sflphone-common/src/sip/SdesNegotiator.cpp +++ b/sflphone-common/src/sip/SdesNegotiator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "SdesNegotiator.h" diff --git a/sflphone-common/src/sip/SdesNegotiator.h b/sflphone-common/src/sip/SdesNegotiator.h index e0de86de108c0bd01b61e14fd1f657a9e1bf232f..b57b46a16354e2582cdd60f32e23f9298414f676 100644 --- a/sflphone-common/src/sip/SdesNegotiator.h +++ b/sflphone-common/src/sip/SdesNegotiator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __SFL_SDES_NEGOTIATOR_H__ #define __SFL_SDES_NEGOTIATOR_H__ diff --git a/sflphone-common/src/sip/sdp.cpp b/sflphone-common/src/sip/sdp.cpp index ba4e856b301a3009fd1a222f60b157bcbd67fa27..d98386916c9f50af296138a35eb7b8d7e0b150a7 100644 --- a/sflphone-common/src/sip/sdp.cpp +++ b/sflphone-common/src/sip/sdp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "sdp.h" @@ -50,7 +61,11 @@ Sdp::Sdp (pj_pool_t *pool) _pool = pool; } -Sdp::~Sdp() { } +Sdp::~Sdp() +{ + // clean_session_media(); + // clean_local_media_capabilities(); +} void Sdp::set_media_descriptor_line (sdpMedia *media, pjmedia_sdp_media** p_med) { @@ -97,9 +112,16 @@ void Sdp::set_media_descriptor_line (sdpMedia *media, pjmedia_sdp_media** p_med) // connection, the rtpmap attribute will be useful to specify for which codec it is applicable rtpmap.pt = med->desc.fmt[i]; rtpmap.enc_name = pj_str ( (char*) codec->getCodecName().c_str()); - rtpmap.clock_rate = codec->getClockRate(); - // Add the channel number only if different from 1 + // G722 require G722/8000 media description even if it is 16000 codec + if(codec->getPayload () == 9) { + rtpmap.clock_rate = 8000; + } + else { + rtpmap.clock_rate = codec->getClockRate(); + } + + // Add the channel number only if different from 1 if (codec->getChannel() > 1) rtpmap.param = pj_str ( (char*) codec->getChannel()); else @@ -134,7 +156,7 @@ int Sdp::create_local_offer (CodecOrder selectedCodecs) { pj_status_t status; - _debug ("Create local offer"); + _info("SDP: Create local offer"); // Build local media capabilities set_local_media_capabilities (selectedCodecs); @@ -173,12 +195,12 @@ int Sdp::create_initial_offer (CodecOrder selectedCodecs) { pj_status_t status; pjmedia_sdp_neg_state state; - _debug ("Create initial offer"); + _info("SDP: Create initial offer"); // Build the SDP session descriptor status = create_local_offer (selectedCodecs); if (status != PJ_SUCCESS) { - _warn (" Error: Failed to create initial offer"); + _error ("SDP: Error: Failed to create initial offer"); return status; } @@ -186,7 +208,7 @@ int Sdp::create_initial_offer (CodecOrder selectedCodecs) { status = pjmedia_sdp_neg_create_w_local_offer (_pool, get_local_sdp_session(), &_negociator); if (status != PJ_SUCCESS) { - _error (" Error: Failed to create an initial SDP negociator"); + _error ("SDP: Error: Failed to create an initial SDP negociator"); return status; } @@ -194,8 +216,6 @@ int Sdp::create_initial_offer (CodecOrder selectedCodecs) { PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); - _debug (" Initial offer created succesfully"); - return PJ_SUCCESS; } @@ -206,6 +226,10 @@ int Sdp::receiving_initial_offer (pjmedia_sdp_session* remote, CodecOrder select pj_status_t status; + if (!remote) { + return !PJ_SUCCESS; + } + // Create the SDP negociator instance by calling // pjmedia_sdp_neg_create_w_remote_offer with the remote offer, and by providing the local offer ( optional ) @@ -213,6 +237,7 @@ int Sdp::receiving_initial_offer (pjmedia_sdp_session* remote, CodecOrder select status = create_local_offer (selectedCodecs); if (status != PJ_SUCCESS) { + _error ("SDP: Error: Failed to create initial offer"); return status; } @@ -220,7 +245,7 @@ int Sdp::receiving_initial_offer (pjmedia_sdp_session* remote, CodecOrder select this->set_media_transport_info_from_remote_sdp (remote); status = pjmedia_sdp_neg_create_w_remote_offer (_pool, - get_local_sdp_session(), remote, &_negociator); + get_local_sdp_session(), remote, &_negociator); PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); @@ -240,17 +265,17 @@ pj_status_t Sdp::check_sdp_answer (pjsip_inv_session *inv, pjsip_rx_data *rdata) message = rdata->msg_info.msg; if (message == NULL) { - _error ("No message"); + _error ("SDP: No message"); return PJMEDIA_SDP_EINSDP; } if (message->body == NULL) { - _error ("Empty message body"); + _error ("SDP: Empty message body"); return PJMEDIA_SDP_EINSDP; } if (pj_stricmp (&message->body->content_type.type, &str_application) || pj_stricmp (&message->body->content_type.subtype, &str_sdp)) { - _error ("Incoming Message does not contain SDP"); + _error ("SDP: Incoming Message does not contain SDP"); return PJMEDIA_SDP_EINSDP; } @@ -262,17 +287,17 @@ pj_status_t Sdp::check_sdp_answer (pjsip_inv_session *inv, pjsip_rx_data *rdata) } if (status != PJ_SUCCESS) { - _debug ("SDP cannot be validated"); + _warn ("SDP: cannot be validated"); return PJMEDIA_SDP_EINSDP; } // This is an answer - _debug ("Got SDP answer %s", pjsip_rx_data_get_info (rdata)); + _debug ("SDP: Got SDP answer %s", pjsip_rx_data_get_info (rdata)); status = pjmedia_sdp_neg_set_remote_answer (inv->pool, inv->neg, remote_sdp); if (status != PJ_SUCCESS) { - _debug ("An error occured while processing remote answer %s", pjsip_rx_data_get_info (rdata)); + _error ("SDP: Error: while processing remote answer %s", pjsip_rx_data_get_info (rdata)); return PJMEDIA_SDP_EINSDP; } @@ -359,7 +384,6 @@ void Sdp::sdp_add_media_description() } } -// @TODO crypto should be a vector of string void Sdp::sdp_add_sdes_attribute (std::vector<std::string>& crypto) { @@ -448,7 +472,39 @@ std::string Sdp::media_to_string (void) void Sdp::clean_session_media() { - _session_media.clear(); + _info("SDP: Clean session media"); + + if(_session_media.size() > 0) { + + std::vector<sdpMedia *>::iterator iter = _session_media.begin(); + sdpMedia *media; + + while(iter != _session_media.end()) { + media = *iter; + delete media; + iter++; + } + _session_media.clear(); + } +} + + +void Sdp::clean_local_media_capabilities() +{ + _info("SDP: Clean local media capabilities"); + + if(_local_media_cap.size() > 0) { + + std::vector<sdpMedia *>::iterator iter = _local_media_cap.begin(); + sdpMedia *media; + + while(iter != _local_media_cap.end()) { + media = *iter; + delete media; + iter++; + } + _local_media_cap.clear(); + } } void Sdp::set_negotiated_sdp (const pjmedia_sdp_session *sdp) @@ -489,9 +545,6 @@ void Sdp::set_negotiated_sdp (const pjmedia_sdp_session *sdp) pjmedia_sdp_attr_to_rtpmap (_pool, attribute, &rtpmap); - // _debug("================== set_negociated_offer ===================== %i", pj_strtoul(&rtpmap->pt)); - // _debug("================== set_negociated_offer ===================== %s", current->desc.fmt[j].ptr); - // _debug("================== set_negociated_offer ===================== %i", atoi(current->desc.fmt[j].ptr)); iter = codecs_list.find ( (AudioCodecType) pj_strtoul (&rtpmap->pt)); if (iter==codecs_list.end()) @@ -512,7 +565,7 @@ AudioCodec* Sdp::get_session_media (void) AudioCodec *codec = NULL; std::vector<sdpMedia*> media_list; - _debug ("Executing sdp line %d - get_session_media ()", __LINE__); + _debug ("SDP: Executing sdp line %d - get_session_media()", __LINE__); media_list = get_session_media_list (); nb_media = media_list.size(); @@ -529,6 +582,19 @@ AudioCodec* Sdp::get_session_media (void) } +pj_status_t Sdp::start_negociation() +{ + pj_status_t status; + + if (_negociator) { + status = pjmedia_sdp_neg_negotiate(_pool, _negociator, 0); + } + else { + status = !PJ_SUCCESS; + } + + return status; +} void Sdp::toString (void) { @@ -577,7 +643,7 @@ void Sdp::set_local_media_capabilities (CodecOrder selectedCodecs) { // Clean it first _local_media_cap.clear(); - _debug ("Fetch local media capabilities. Local extern audio port: %i" , get_local_extern_audio_port()); + _debug ("SDP: Fetch local media capabilities. Local extern audio port: %i" , get_local_extern_audio_port()); /* Only one audio media used right now */ audio = new sdpMedia (MIME_TYPE_AUDIO); @@ -593,7 +659,7 @@ void Sdp::set_local_media_capabilities (CodecOrder selectedCodecs) { audio->add_codec (iter->second); } else { - _warn ("Couldn't find audio codec"); + _warn ("SDP: Couldn't find audio codec"); } } @@ -627,7 +693,7 @@ void Sdp::set_remote_ip_from_sdp (const pjmedia_sdp_session *r_sdp) { std::string remote_ip (r_sdp->conn->addr.ptr, r_sdp->conn->addr.slen); - _debug (" Remote IP from fetching SDP: %s", remote_ip.c_str()); + _info ("SDP: Remote IP from fetching SDP: %s", remote_ip.c_str()); this->set_remote_ip (remote_ip); } @@ -637,21 +703,24 @@ void Sdp::set_remote_audio_port_from_sdp (pjmedia_sdp_media *r_media) int remote_port; remote_port = r_media->desc.port; - _debug (" Remote Audio Port from fetching SDP: %d", remote_port); + _info ("SDP: Remote Audio Port from fetching SDP: %d", remote_port); this->set_remote_audio_port (remote_port); } void Sdp::set_media_transport_info_from_remote_sdp (const pjmedia_sdp_session *remote_sdp) { - _debug ("Fetching media from sdp"); + _info ("SDP: Fetching media from sdp"); + + if(!remote_sdp) + return; pjmedia_sdp_media *r_media; this->get_remote_sdp_media_from_offer (remote_sdp, &r_media); if (r_media==NULL) { - _debug ("SDP Failure: no remote sdp media found in the remote offer"); + _warn ("SDP: Error: no remote sdp media found in the remote offer"); return; } @@ -665,6 +734,9 @@ void Sdp::get_remote_sdp_media_from_offer (const pjmedia_sdp_session* remote_sdp { int count, i; + if(!remote_sdp) + return; + count = remote_sdp->media_count; *r_media = NULL; diff --git a/sflphone-common/src/sip/sdp.h b/sflphone-common/src/sip/sdp.h index a4e90d45d67feb3c9ef15842e42b5d12e4bdc0b3..07c1ecfce7a51a309ffbf693c39b194e6777f084 100644 --- a/sflphone-common/src/sip/sdp.h +++ b/sflphone-common/src/sip/sdp.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +16,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _SDP_H @@ -135,10 +146,15 @@ class Sdp { pj_status_t check_sdp_answer(pjsip_inv_session *inv, pjsip_rx_data *rdata); - /* + /** * Remove all media in the session media vector. */ - void clean_session_media(); + void clean_session_media(void); + + /** + * Remove all media in local media capability vector + */ + void clean_local_media_capabilities(void); /* * Return a string description of the media added to the session, @@ -166,10 +182,7 @@ class Sdp { * @return pj_status_t 0 on success * 1 otherwise */ - pj_status_t start_negociation( void ){ - return pjmedia_sdp_neg_negotiate( - _pool, _negociator, 0); - } + pj_status_t start_negociation( void ); /* * Retrieve the negociated sdp offer from the sip payload. @@ -197,7 +210,7 @@ class Sdp { * Set remote's IP addr. [not protected] * @param ip The remote IP address */ - void set_remote_ip(const std::string& ip) { _remote_ip_addr = ip; } + void set_remote_ip(const std::string& ip) { _remote_ip_addr = ip; } /** * Return IP of destination [mutex protected] @@ -221,7 +234,7 @@ class Sdp { std::vector<sdpMedia*> get_session_media_list (void) { return _session_media; } - void get_remote_sdp_crypto_from_offer (const pjmedia_sdp_session* remote_sdp, CryptoOffer& crypto_offer); + void get_remote_sdp_crypto_from_offer (const pjmedia_sdp_session* remote_sdp, CryptoOffer& crypto_offer); private: /** Codec Map */ @@ -253,13 +266,13 @@ class Sdp { /** Local audio port */ int _local_extern_audio_port; - /** Remote's audio port */ + /** Remote audio port */ unsigned int _remote_audio_port; std::string _zrtp_hello_hash; - /** "a=crypto" sdes local attributes obtained from AudioSrtpSession */ - std::vector<std::string> _srtp_crypto; + /** "a=crypto" sdes local attributes obtained from AudioSrtpSession */ + std::vector<std::string> _srtp_crypto; Sdp(const Sdp&); //No Copy Constructor Sdp& operator=(const Sdp&); //No Assignment Operator @@ -350,12 +363,12 @@ class Sdp { void get_remote_sdp_media_from_offer (const pjmedia_sdp_session* r_sdp, pjmedia_sdp_media** r_media); - /* + /* * Adds a sdes attribute to the given media section. * * @param media The media to add the srtp attribute to - */ - void sdp_add_sdes_attribute(std::vector<std::string>& crypto); + */ + void sdp_add_sdes_attribute(std::vector<std::string>& crypto); /* * Adds a zrtp-hash attribute to diff --git a/sflphone-common/src/sip/sdpmedia.cpp b/sflphone-common/src/sip/sdpmedia.cpp index 4cd5a8b99c7f9b3e99a3134ab3f0b470f660b9e4..95955a51db652bc9ebd92c553589e7d82a563a77 100644 --- a/sflphone-common/src/sip/sdpmedia.cpp +++ b/sflphone-common/src/sip/sdpmedia.cpp @@ -1,6 +1,5 @@ /* - * - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -16,6 +15,17 @@ * * You should have received a copy of the GNU General Public License * along with Sropulpof. If not, see <http:*www.gnu.org*licenses*>. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "sdpmedia.h" @@ -75,10 +85,7 @@ sdpMedia::sdpMedia (std::string type, int port, std::string dir) sdpMedia::~sdpMedia() { - int i; - - for (i=0; i< (int) _codec_list.size(); i++) - delete _codec_list[i]; + clear_codec_list(); } @@ -99,7 +106,6 @@ std::string sdpMedia::get_media_type_str (void) void sdpMedia::add_codec (AudioCodec* codec) { - _codec_list.push_back (codec); } diff --git a/sflphone-common/src/sip/sdpmedia.h b/sflphone-common/src/sip/sdpmedia.h index fbeb605aa64784cb59ea21acc59db9a8c45d63d3..96d47e326b424ebb1c75c9298342aec9559b8187 100644 --- a/sflphone-common/src/sip/sdpmedia.h +++ b/sflphone-common/src/sip/sdpmedia.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * @@ -15,6 +15,17 @@ * * You should have received a copy of the GNU General Public License * along with Sropulpof. If not, see <http:*www.gnu.org*licenses*>. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef _SDP_MEDIA diff --git a/sflphone-common/src/sip/sipaccount.cpp b/sflphone-common/src/sip/sipaccount.cpp index 4541d675c95bb6ed55eb603a17f7ef8bbcf2d77a..97318b47928130283ed86f44dcd0dd056f1edbc8 100644 --- a/sflphone-common/src/sip/sipaccount.cpp +++ b/sflphone-common/src/sip/sipaccount.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "sipaccount.h" @@ -26,6 +37,7 @@ SIPAccount::SIPAccount (const AccountID& accountID) : Account (accountID, "sip") + , _routeSet("") , _regc (NULL) , _bRegister (false) , _registrationExpire ("") @@ -42,6 +54,7 @@ SIPAccount::SIPAccount (const AccountID& accountID) , _realm (DEFAULT_REALM) , _authenticationUsername ("") , _tlsSetting (NULL) + , _dtmfType(OVERRTP) , _displayName ("") { @@ -90,14 +103,13 @@ int SIPAccount::initCredential (void) pjsip_cred_info * cred_info = (pjsip_cred_info *) malloc (sizeof (pjsip_cred_info) * (credentialCount)); if (cred_info == NULL) { - _debug ("Failed to set cred_info for account %s", _accountID.c_str()); + _error ("SipAccount: Error: Failed to set cred_info for account %s", _accountID.c_str()); return !SUCCESS; } pj_bzero (cred_info, sizeof (pjsip_cred_info) *credentialCount); // Use authentication username if provided - if (!_authenticationUsername.empty()) { cred_info[0].username = pj_str (strdup (_authenticationUsername.c_str())); } else { @@ -329,6 +341,7 @@ void SIPAccount::loadConfig() { // Load primary credential setUsername (Manager::instance().getConfigString (_accountID, USERNAME)); + setRouteSet(Manager::instance().getConfigString(_accountID, ROUTESET)); setPassword (Manager::instance().getConfigString (_accountID, PASSWORD)); _authenticationUsername = Manager::instance().getConfigString (_accountID, AUTHENTICATION_USERNAME); _realm = Manager::instance().getConfigString (_accountID, REALM); @@ -362,6 +375,11 @@ void SIPAccount::loadConfig() setPublishedAddress (Manager::instance().getConfigString (_accountID, PUBLISHED_ADDRESS)); + if(Manager::instance().getConfigString (_accountID, ACCOUNT_DTMF_TYPE) == OVERRTPSTR) + _dtmfType = OVERRTP; + else + _dtmfType = SIPINFO; + // Init TLS settings if the user wants to use TLS bool tlsEnabled = Manager::instance().getConfigBool (_accountID, TLS_ENABLE); @@ -453,11 +471,13 @@ std::string SIPAccount::getFromUri (void) username = getLoginName(); } + // Get machine hostname if not provided if (_hostname.empty()) { - hostname = getMachineName(); + hostname = getMachineName(); } + int len = pj_ansi_snprintf (uri, PJSIP_MAX_URL_SIZE, "<%s%s@%s%s>", @@ -475,7 +495,7 @@ std::string SIPAccount::getToUri (const std::string& username) std::string scheme; std::string transport; - std::string hostname = _hostname; + std::string hostname = ""; // UDP does not require the transport specification @@ -493,8 +513,9 @@ std::string SIPAccount::getToUri (const std::string& username) } // Check if hostname is already specified - if (username.find ("@") != std::string::npos) { - hostname = ""; + if (username.find ("@") == std::string::npos) { + // hostname not specified + hostname = _hostname; } int len = pj_ansi_snprintf (uri, PJSIP_MAX_URL_SIZE, @@ -515,6 +536,7 @@ std::string SIPAccount::getServerUri (void) std::string scheme; std::string transport; + std::string hostname = _hostname; // UDP does not require the transport specification @@ -527,10 +549,9 @@ std::string SIPAccount::getServerUri (void) } int len = pj_ansi_snprintf (uri, PJSIP_MAX_URL_SIZE, - "<%s%s%s>", scheme.c_str(), - _hostname.c_str(), + hostname.c_str(), transport.c_str()); return std::string (uri, len); diff --git a/sflphone-common/src/sip/sipaccount.h b/sflphone-common/src/sip/sipaccount.h index dd9782f2d9013c8991956733b7251f4ca3e44ebb..51fb6de0c451eaffd5642f2b4824f15384ab14e0 100644 --- a/sflphone-common/src/sip/sipaccount.h +++ b/sflphone-common/src/sip/sipaccount.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef SIPACCOUNT_H @@ -31,6 +42,11 @@ #include "pjsip/sip_transport_tls.h" #include "pjsip/sip_types.h" +enum DtmfType { OVERRTP, SIPINFO}; + +#define OVERRTPSTR "overrtp" +#define SIPINFOSTR "sipinfo" + class SIPVoIPLink; /** @@ -58,6 +74,16 @@ class SIPAccount : public Account */ virtual ~SIPAccount(); + /** + * Set route header to appears in sip messages for this account + */ + void setRouteSet(std::string route) { _routeSet = route; } + + /** + * Get route header to appear in sip messages for this account + */ + std::string getRouteSet(void) { return _routeSet; } + /** * Special setVoIPLink which increment SipVoIPLink's number of client. */ @@ -65,7 +91,7 @@ class SIPAccount : public Account void setVoIPLink(); /** - * Actually unuseful, since config loading is done in init() + * Actually useless, since config loading is done in init() */ void loadConfig(); @@ -95,7 +121,7 @@ class SIPAccount : public Account * * @return A string describing the expiration value. */ - inline std::string& getRegistrationExpire(void) { return _registrationExpire; } + inline std::string& getRegistrationExpire(void) { return _registrationExpire; } /** * Setting the Expiration Interval of Contact Addresses. @@ -297,11 +323,15 @@ class SIPAccount : public Account */ inline pjsip_transport_type_e getTransportType(void) { return _transportType; } - inline pjsip_transport* getAccountTransport (void) { return _transport; } + inline pjsip_transport* getAccountTransport (void) { return _transport; } + + inline void setAccountTransport (pjsip_transport *transport) { _transport = transport; } + + std::string getTransportMapKey(void); - inline void setAccountTransport (pjsip_transport *transport) { _transport = transport; } + DtmfType getDtmfType(void) { return _dtmfType; } - std::string getTransportMapKey(void); + void setDtmfType(DtmfType type) { _dtmfType = type; } private: @@ -343,6 +373,8 @@ class SIPAccount : public Account * @return std::string The login name under which SFLPhone is running. */ std::string getLoginName(void); + + std::string _routeSet; // The pjsip client registration information @@ -353,22 +385,22 @@ class SIPAccount : public Account // Network settings std::string _registrationExpire; - // interface name on which this account is bound - std::string _interface; + // interface name on which this account is bound + std::string _interface; - // Flag which determine if _localIpAddress or _publishedIpAddress is used in + // Flag which determine if _localIpAddress or _publishedIpAddress is used in // sip headers - bool _publishedSameasLocal; + bool _publishedSameasLocal; std::string _publishedIpAddress; pj_uint16_t _localPort; pj_uint16_t _publishedPort; - /** - * The global TLS listener port which can be configured through the IP2IP_PROFILE - */ - pj_uint16_t _tlsListenerPort; + /** + * The global TLS listener port which can be configured through the IP2IP_PROFILE + */ + pj_uint16_t _tlsListenerPort; pjsip_transport_type_e _transportType; @@ -391,8 +423,10 @@ class SIPAccount : public Account // The STUN server name, if applicable pj_str_t _stunServerName; - // The STUN server port, if applicable - pj_uint16_t _stunPort; + // The STUN server port, if applicable + pj_uint16_t _stunPort; + + DtmfType _dtmfType; // Display Name that can be used in SIP URI. std::string _displayName; diff --git a/sflphone-common/src/sip/sipcall.cpp b/sflphone-common/src/sip/sipcall.cpp index d1e22660c64e97650684a27048114b875de382e2..78595928dfc0665feba6b6f4b06e8286e2b89910 100644 --- a/sflphone-common/src/sip/sipcall.cpp +++ b/sflphone-common/src/sip/sipcall.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "sipcall.h" @@ -33,17 +44,19 @@ SIPCall::SIPCall (const CallID& id, Call::CallType type, pj_pool_t *pool) : Call , _invSession (NULL) , _local_sdp (0) { + _debug ("SIPCall: Create new call %s", id.c_str()); + _local_sdp = new Sdp (pool); - _debug ("SIPCALL::Constructor for this class is called "); } SIPCall::~SIPCall() { + _debug ("SIPCall: Delete call"); + delete _audiortp; _audiortp = 0; delete _local_sdp; _local_sdp = 0; - _debug ("SIPCALL::Destructor for this class is called "); } diff --git a/sflphone-common/src/sip/sipcall.h b/sflphone-common/src/sip/sipcall.h index f2d93259da6872000a51a3491da79e2d37eef3b4..46af03ad2d046c2338d4f8fd404b90103b249c5a 100644 --- a/sflphone-common/src/sip/sipcall.h +++ b/sflphone-common/src/sip/sipcall.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author : Laurielle Lea <laurielle.lea@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef SIPCALL_H #define SIPCALL_H @@ -97,9 +108,11 @@ class SIPCall : public Call void setTid(int tid) { _tid = tid; } void setXferSub(pjsip_evsub* sub) {_xferSub = sub;} + pjsip_evsub *getXferSub() {return _xferSub;} void setInvSession(pjsip_inv_session* inv) {_invSession = inv;} + pjsip_inv_session *getInvSession() {return _invSession;} Sdp* getLocalSDP (void) { return _local_sdp; } diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index b79f05197c11a08df129821077d79cbc61fde147..a005ab44408ff388ebe41076eb77fd0ee2de9444 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Yun Liu <yun.liu@savoirfairelinux.com> @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "sipvoiplink.h" @@ -50,6 +61,8 @@ #include <sys/ioctl.h> #include <linux/if.h> +#include <map> + #define CAN_REINVITE 1 static char * invitationStateMap[] = { @@ -79,9 +92,17 @@ struct result { pjsip_server_addresses servers; }; +/** The default transport (5060) */ pjsip_transport *_localUDPTransport = NULL; + +/** The local tls listener */ pjsip_tpfactory *_localTlsListener = NULL; +/** A map to retreive SFLphone internal call id + * Given a SIP call ID (usefull for transaction sucha as transfer)*/ +std::map<std::string, CallID> transferCallID; + + const pj_str_t STR_USER_AGENT = { (char*) "User-Agent", 10 }; /**************** EXTERN VARIABLES AND FUNCTIONS (callbacks) **************************/ @@ -194,6 +215,8 @@ void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_ void on_rx_offer (pjsip_inv_session *inv, const pjmedia_sdp_session *offer); +void on_create_offer(pjsip_inv_session *inv, pjmedia_sdp_session **p_offer); + /* * Registration callback */ @@ -218,6 +241,12 @@ pj_bool_t mod_on_rx_request (pjsip_rx_data *rdata); */ pj_bool_t mod_on_rx_response (pjsip_rx_data *rdata UNUSED) ; +/** + * Send an ACK message inside a transaction. PJSIP send automatically, non-2xx ACK response. + * ACK for a 2xx response must be send using this method. + */ +static void sendAck(pjsip_dialog *dlg, pjsip_rx_data *rdata); + /* * Transfer callbacks */ @@ -248,16 +277,17 @@ SIPVoIPLink::SIPVoIPLink (const AccountID& accountID) SIPVoIPLink::~SIPVoIPLink() { - _debug("SIPVoIPLink destructor called"); + _debug("UserAgent: SIPVoIPLink destructor called"); terminate(); + } SIPVoIPLink* SIPVoIPLink::instance (const AccountID& id) { if (!_instance) { - _debug ("Create new SIPVoIPLink instance"); + _debug ("UserAgent: Create new SIPVoIPLink instance"); _instance = new SIPVoIPLink (id); } @@ -270,9 +300,9 @@ void SIPVoIPLink::decrementClients (void) if (_clients == 0) { - _debug("No SIP account anymore, terminate SIPVoIPLink"); - terminate(); - SIPVoIPLink::_instance=NULL; + _debug("UserAgent: No SIP account anymore, terminate SIPVoIPLink"); + // terminate(); + delete SIPVoIPLink::_instance; } } @@ -299,22 +329,22 @@ bool SIPVoIPLink::init() void SIPVoIPLink::terminate() { - _debug ("Terminating SIPVoIPLink"); + _debug ("UserAgent: Terminating SIPVoIPLink"); if (_evThread) { - _debug ("Deleting sip eventThread"); - delete _evThread; - _evThread = NULL; + _debug ("UserAgent: Deleting sip eventThread"); + delete _evThread; _evThread = NULL; } /* Clean shutdown of pjsip library */ if (initDone()) { - _debug ("Shuting down PJSIP"); + _debug ("UserAgent: Shuting down PJSIP"); pjsip_shutdown(); } initDone (false); + } void @@ -342,6 +372,7 @@ SIPVoIPLink::terminateSIPCall() void SIPVoIPLink::terminateOneCall (const CallID& id) { + _debug("UserAgent: Terminate call %s", id.c_str()); SIPCall *call = getSIPCall (id); @@ -386,7 +417,7 @@ std::string SIPVoIPLink::getInterfaceAddrFromName(std::string ifaceName) { struct in_addr *addr_in; if((fd = socket (AF_INET, SOCK_DGRAM,0)) < 0) - _debug("getInterfaceAddrFromName error could not open socket\n"); + _error("UserAgent: Error: could not open socket"); memset (&ifr, 0, sizeof (struct ifreq)); @@ -394,22 +425,32 @@ std::string SIPVoIPLink::getInterfaceAddrFromName(std::string ifaceName) { ifr.ifr_addr.sa_family = AF_INET; if((err = ioctl(fd, SIOCGIFADDR, &ifr)) < 0) - _debug("getInterfaceAddrFromName use default interface (0.0.0.0)\n"); + _debug("UserAgent: Use default interface (0.0.0.0)"); saddr_in = (struct sockaddr_in *)&ifr.ifr_addr; addr_in = &(saddr_in->sin_addr); std::string addr(pj_inet_ntoa(*((pj_in_addr*)addr_in))); + close(fd); + return addr; } -std::string SIPVoIPLink::get_useragent_name (void) +std::string SIPVoIPLink::get_useragent_name (const AccountID& id) { - std::ostringstream useragent; + /* useragent << PROGNAME << "/" << SFLPHONED_VERSION; return useragent.str(); + */ + std::ostringstream useragent; + + useragent << Manager::instance ().getConfigString (id, USERAGENT); + if (useragent.str() == "sflphone" || useragent.str() == "") + useragent << "/" << SFLPHONED_VERSION; + + return useragent.str (); } void @@ -445,7 +486,7 @@ int SIPVoIPLink::sendRegister (AccountID id) account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (id)); if (account == NULL) { - _debug ("In sendRegister: account is null"); + _debug ("UserAgent: In sendRegister: account is null"); return false; } @@ -531,31 +572,18 @@ int SIPVoIPLink::sendRegister (AccountID id) } // Creates URI - std::string fromUri; - - std::string contactUri; - - std::string srvUri; - - std::string address; - - fromUri = account->getFromUri(); - - srvUri = account->getServerUri(); - - address = findLocalAddressFromUri (srvUri, account->getAccountTransport ()); + std::string fromUri = account->getFromUri(); + std::string srvUri = account->getServerUri(); + std::string address = findLocalAddressFromUri (srvUri, account->getAccountTransport ()); int port = findLocalPortFromUri (srvUri, account->getAccountTransport ()); std::stringstream ss; - std::string portStr; - ss << port; - ss >> portStr; - contactUri = account->getContactHeader (address, portStr); + std::string contactUri = account->getContactHeader (address, portStr); _debug ("sendRegister: fromUri: %s serverUri: %s contactUri: %s", fromUri.c_str(), @@ -563,20 +591,43 @@ int SIPVoIPLink::sendRegister (AccountID id) contactUri.c_str()); pj_str_t pjFrom; - pj_cstr (&pjFrom, fromUri.c_str()); pj_str_t pjContact; - pj_cstr (&pjContact, contactUri.c_str()); pj_str_t pjSrv; - pj_cstr (&pjSrv, srvUri.c_str()); // Initializes registration + + // Set Route for registration passing throught one or several proxies status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); + /* + if(!(account->getDomainName().empty())) { + + _error("Set route with %s", account->getHostname().c_str()); + + pjsip_route_hdr *route_set = pjsip_route_hdr_create(_pool); + pjsip_route_hdr *routing = pjsip_route_hdr_create(_pool); + pjsip_sip_uri *url = pjsip_sip_uri_create(_pool, 0); + routing->name_addr.uri = (pjsip_uri*)url; + pj_strdup2(_pool, &url->host, account->getHostname().c_str()); + + pj_list_push_back(&route_set, pjsip_hdr_clone(_pool, routing)); + + status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); + + pjsip_regc_set_route_set(regc, route_set); + } + else { + + status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); + } + */ + + if (status != PJ_SUCCESS) { _debug ("UserAgent: Unable to initialize account %d in sendRegister", status); _mutexSIP.leaveMutex(); @@ -592,14 +643,15 @@ int SIPVoIPLink::sendRegister (AccountID id) // Add User-Agent Header pj_list_init (&hdr_list); - useragent = pj_str ( (char*) get_useragent_name ().c_str()); + useragent = pj_str ( (char*) get_useragent_name (id).c_str()); h = pjsip_generic_string_hdr_create (_pool, &STR_USER_AGENT, &useragent); pj_list_push_back (&hdr_list, (pjsip_hdr*) h); + // pj_list_push_back (&hdr_list, (pjsip_hdr*) routing); pjsip_regc_add_headers (regc, &hdr_list); - + status = pjsip_regc_register (regc, PJ_TRUE, &tdata); if (status != PJ_SUCCESS) { @@ -724,13 +776,15 @@ SIPVoIPLink::newOutgoingCall (const CallID& id, const std::string& toUrl) pj_status_t status; std::string localAddr, addrSdp; + _debug("UserAgent: New outgoing call %s to %s", id.c_str(), toUrl.c_str()); + SIPCall* call = new SIPCall (id, Call::Outgoing, _pool); if (call) { account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (Manager::instance().getAccountFromCall (id))); if (account == NULL) { - _debug ("Error retrieving the account to the make the call with"); + _error ("UserAgent: Error: Could not retrieving account to make call with"); call->setConnectionState (Call::Disconnected); call->setState (Call::Error); delete call; @@ -744,6 +798,8 @@ SIPVoIPLink::newOutgoingCall (const CallID& id, const std::string& toUrl) localAddr = getInterfaceAddrFromName(account->getLocalInterface ()); + _debug("UserAgent: Local address for call: %s", localAddr.c_str()); + if (localAddr == "0.0.0.0") loadSIPLocalIP (&localAddr); @@ -756,16 +812,17 @@ SIPVoIPLink::newOutgoingCall (const CallID& id, const std::string& toUrl) loadSIPLocalIP (&addrSdp); try { - _debug ("Creating new rtp session in newOutgoingCall"); - call->getAudioRtp()->initAudioRtpConfig (call); + _info ("UserAgent: Creating new rtp session"); + call->getAudioRtp()->initAudioRtpConfig (call); call->getAudioRtp()->initAudioRtpSession (call); } catch (...) { - _error ("Failed to create rtp thread from newOutGoingCall"); + _error ("UserAgent: Error: Failed to create rtp thread from newOutGoingCall"); } call->initRecFileName(); - _debug ("Try to make a call to: %s with call ID: %s", toUrl.data(), id.data()); + _debug ("UserAgent: Try to make a call to: %s with call ID: %s", toUrl.data(), id.data()); + // Building the local SDP offer call->getLocalSDP()->set_ip_address (addrSdp); status = call->getLocalSDP()->create_initial_offer (account->getActiveCodecs ()); @@ -792,30 +849,20 @@ SIPVoIPLink::newOutgoingCall (const CallID& id, const std::string& toUrl) bool SIPVoIPLink::answer (const CallID& id) { - SIPCall *call; pj_status_t status; pjsip_tx_data *tdata; - Sdp *local_sdp; pjsip_inv_session *inv_session; - _debug ("SIPVoIPLink::answer: start answering "); + _debug ("UserAgent: Answering call %s", id.c_str()); - call = getSIPCall (id); + SIPCall *call = getSIPCall (id); if (call==0) { - _debug ("! SIP Failure: SIPCall doesn't exists"); + _debug ("UserAgent: SIPCall %s doesn't exists while answering", id.c_str()); return false; } - local_sdp = call->getLocalSDP(); - - /* - try { - call->getAudioRtp()->initAudioRtpSession (call); - } catch (...) { - _debug ("Failed to create rtp thread from answer"); - } - */ + Sdp *local_sdp = call->getLocalSDP(); inv_session = call->getInvSession(); @@ -912,10 +959,12 @@ SIPVoIPLink::peerHungup (const CallID& id) pjsip_tx_data *tdata = NULL; SIPCall* call; + _info("UserAgent: Peer hungup"); + call = getSIPCall (id); if (call==0) { - _debug ("! SIP Error: Call doesn't exist"); + _warn ("UserAgent: Call doesn't exist"); return false; } @@ -938,7 +987,7 @@ SIPVoIPLink::peerHungup (const CallID& id) // Release RTP thread if (Manager::instance().isCurrentCall (id)) { - _debug ("* SIP Info: Stopping AudioRTP for hangup"); + _debug ("UserAgent: Stopping AudioRTP for hangup"); call->getAudioRtp()->stop(); } @@ -953,15 +1002,15 @@ SIPVoIPLink::peerHungup (const CallID& id) bool SIPVoIPLink::cancel (const CallID& id) { + _info ("UserAgent: Cancel call %s", id.c_str()); + SIPCall* call = getSIPCall (id); - if (call==0) { - _debug ("! SIP Error: Call doesn't exist"); + if (!call) { + _warn("UserAgent: Error: Call doesn't exist"); return false; } - _debug ("- SIP Action: Cancel call %s [cid: %3d]", id.data(), call->getCid()); - terminateOneCall (id); removeCall (id); @@ -1012,7 +1061,7 @@ int SIPVoIPLink::inv_session_reinvite (SIPCall *call, std::string direction) local_sdp = call->getLocalSDP()->get_local_sdp_session(); if (local_sdp == NULL) { - _debug ("! SIP Failure: unable to find local_sdp"); + _debug ("SIP: Error: unable to find local sdp"); return !PJ_SUCCESS; } @@ -1021,10 +1070,11 @@ int SIPVoIPLink::inv_session_reinvite (SIPCall *call, std::string direction) // TODO Restore Re-Invite // status = call->getLocalSDP()->create_initial_offer(); - if (status != PJ_SUCCESS) - return 1; // !PJ_SUCCESS + // if (status != PJ_SUCCESS) + // return 1; // !PJ_SUCCESS pjmedia_sdp_media_remove_all_attr (local_sdp->media[0], "sendrecv"); + pjmedia_sdp_media_remove_all_attr (local_sdp->media[0], "sendonly"); attr = pjmedia_sdp_attr_create (_pool, direction.c_str(), NULL); @@ -1097,13 +1147,13 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to) account_id = Manager::instance().getAccountFromCall (id); account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (account_id)); - if (account == NULL) { - _debug ("SIPVoIPLink::transfer account is null. Returning."); + if (!account) { + _error("UserAgent: Error: Transfer account is null. Returning."); return false; } - if (call==0) { - _debug ("! SIP Failure: Call doesn't exist"); + if (!call) { + _error ("UserAgent: Error: Call doesn't exist"); return false; } @@ -1116,7 +1166,7 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to) pj_cstr (&pjDest, dest.c_str()); } - _debug ("Transfering to %s", dest.c_str()); + _info ("UserAgent: Transfering to %s", dest.c_str()); /* Create xfer client subscription. */ pj_bzero (&xfer_cb, sizeof (xfer_cb)); @@ -1125,13 +1175,13 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to) status = pjsip_xfer_create_uac (call->getInvSession()->dlg, &xfer_cb, &sub); if (status != PJ_SUCCESS) { - _debug ("UserAgent: Unable to create xfer -- %d", status); + _warn ("UserAgent: Unable to create xfer -- %d", status); return false; } /* Associate this voiplink of call with the client subscription * We can not just associate call with the client subscription - * because after this function, we can not find the cooresponding + * because after this function, we can no find the cooresponding * voiplink from the call any more. But the voiplink is useful! */ pjsip_evsub_set_mod_data (sub, getModId(), this); @@ -1142,15 +1192,21 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to) status = pjsip_xfer_initiate (sub, &pjDest, &tdata); if (status != PJ_SUCCESS) { - _debug ("UserAgent: Unable to create REFER request -- %d", status); + _error ("UserAgent: Unable to create REFER request -- %d", status); return false; } + // Put SIP call id in map in order to retrieve call during transfer callback + std::string callidtransfer(call->getInvSession()->dlg->call_id->id.ptr, call->getInvSession()->dlg->call_id->id.slen); + _debug("%s", callidtransfer.c_str()); + transferCallID.insert(std::pair<std::string, CallID>(callidtransfer, call->getCallId())); + + /* Send. */ status = pjsip_xfer_send_request (sub, tdata); if (status != PJ_SUCCESS) { - _debug ("UserAgent: Unable to send REFER request -- %d", status); + _error ("UserAgent: Unable to send REFER request -- %d", status); return false; } @@ -1159,7 +1215,12 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to) bool SIPVoIPLink::transferStep2 (SIPCall* call) { - call->getAudioRtp()->stop(); + + // TODO is this the best way to proceed? + Manager::instance().peerHungupCall(call->getCallId()); + + + return true; } @@ -1170,17 +1231,18 @@ SIPVoIPLink::refuse (const CallID& id) pj_status_t status; pjsip_tx_data *tdata; + _debug("UserAgent: Refuse call %s", id.c_str()); call = getSIPCall (id); if (call==0) { - _debug ("Call doesn't exist"); + _error ("UserAgent: Error: Call doesn't exist"); return false; } // can't refuse outgoing call or connected if (!call->isIncoming() || call->getConnectionState() == Call::Connected) { - _debug ("It's not an incoming call, or it's already answered"); + _debug ("UserAgent: Call %s is not in state incoming, or is already answered"); return false; } @@ -1197,8 +1259,12 @@ SIPVoIPLink::refuse (const CallID& id) call->getInvSession()->mod_data[getModId() ] = NULL; + removeCall(id); + terminateOneCall (id); + _debug("UserAgent: Refuse call completed"); + return true; } @@ -1225,68 +1291,104 @@ SIPVoIPLink::getCurrentCodecName() bool SIPVoIPLink::carryingDTMFdigits (const CallID& id, char code) { + SIPCall *call = getSIPCall (id); - SIPCall *call; - int duration; - const int body_len = 1000; - char *dtmf_body; - pj_status_t status; - pjsip_tx_data *tdata; - pj_str_t methodName, content; - pjsip_method method; - pjsip_media_type ctype; + if (!call) { + _error ("UserAgent: Error: Call doesn't exist while sending DTMF"); + return false; + } - call = getSIPCall (id); + AccountID accountID = Manager::instance().getAccountFromCall(id); + SIPAccount *account = static_cast<SIPAccount *>(Manager::instance().getAccount(accountID)); - if (call==0) { - _debug ("Call doesn't exist"); - return false; + if(!account) { + _error ("UserAgent: Error: Account not found while sending DTMF"); + return false; } - duration = Manager::instance().getConfigInt (SIGNALISATION, PULSE_LENGTH); + DtmfType type = account->getDtmfType(); - dtmf_body = new char[body_len]; + if(type == OVERRTP) + dtmfOverRtp(call, code); + else if(type == SIPINFO) + dtmfSipInfo(call, code); + else { + _error("UserAgent: Error: Dtmf type does not exist"); + return false; + } - snprintf (dtmf_body, body_len - 1, "Signal=%c\r\nDuration=%d\r\n", code, duration); + return true; +} - pj_strdup2 (_pool, &methodName, "INFO"); - pjsip_method_init_np (&method, &methodName); - /* Create request message. */ - status = pjsip_dlg_create_request (call->getInvSession()->dlg, &method, -1, &tdata); +bool +SIPVoIPLink::dtmfSipInfo(SIPCall *call, char code) +{ - if (status != PJ_SUCCESS) { - _debug ("UserAgent: Unable to create INFO request -- %d", status); - return false; - } + int duration; + const int body_len = 1000; + char *dtmf_body; + pj_status_t status; + pjsip_tx_data *tdata; + pj_str_t methodName, content; + pjsip_method method; + pjsip_media_type ctype; - /* Get MIME type */ - pj_strdup2 (_pool, &ctype.type, "application"); - pj_strdup2 (_pool, &ctype.subtype, "dtmf-relay"); + duration = Manager::instance().getConfigInt (SIGNALISATION, PULSE_LENGTH); - /* Create "application/dtmf-relay" message body. */ - pj_strdup2 (_pool, &content, dtmf_body); + dtmf_body = new char[body_len]; - tdata->msg->body = pjsip_msg_body_create (tdata->pool, &ctype.type, &ctype.subtype, &content); + snprintf (dtmf_body, body_len - 1, "Signal=%c\r\nDuration=%d\r\n", code, duration); - if (tdata->msg->body == NULL) { - _debug ("UserAgent: Unable to create msg body!"); - pjsip_tx_data_dec_ref (tdata); - return false; - } + pj_strdup2 (_pool, &methodName, "INFO"); + pjsip_method_init_np (&method, &methodName); - /* Send the request. */ - status = pjsip_dlg_send_request (call->getInvSession()->dlg, tdata, getModId(), NULL); + /* Create request message. */ + status = pjsip_dlg_create_request (call->getInvSession()->dlg, &method, -1, &tdata); - if (status != PJ_SUCCESS) { - _debug ("UserAgent: Unable to send MESSAGE request -- %d", status); - return false; - } + if (status != PJ_SUCCESS) { + _debug ("UserAgent: Unable to create INFO request -- %d", status); + return false; + } - return true; + /* Get MIME type */ + pj_strdup2 (_pool, &ctype.type, "application"); + + pj_strdup2 (_pool, &ctype.subtype, "dtmf-relay"); + + /* Create "application/dtmf-relay" message body. */ + pj_strdup2 (_pool, &content, dtmf_body); + + tdata->msg->body = pjsip_msg_body_create (tdata->pool, &ctype.type, &ctype.subtype, &content); + + if (tdata->msg->body == NULL) { + _debug ("UserAgent: Unable to create msg body!"); + pjsip_tx_data_dec_ref (tdata); + return false; + } + + /* Send the request. */ + status = pjsip_dlg_send_request (call->getInvSession()->dlg, tdata, getModId(), NULL); + + if (status != PJ_SUCCESS) { + _debug ("UserAgent: Unable to send MESSAGE request -- %d", status); + return false; + } + + return true; } +bool +SIPVoIPLink::dtmfOverRtp(SIPCall* call, char code) +{ + call->getAudioRtp()->sendDtmfDigit(atoi(&code)); + + return true; +} + + + bool SIPVoIPLink::SIPOutgoingInvite (SIPCall* call) { @@ -1309,6 +1411,8 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) AccountID id; + _debug("UserAgent: Start sip call"); + if (call == NULL) return false; @@ -1320,50 +1424,40 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (id)); if (account == NULL) { - _debug ("Account is null in SIPStartCall"); + _debug ("UserAgent: Error: Account is null in SIPStartCall"); return false; } // Creates URI std::string fromUri; - std::string toUri; - std::string contactUri; fromUri = account->getFromUri(); - toUri = call->getPeerNumber(); // expecting a fully well formed sip uri std::string address = findLocalAddressFromUri (toUri, account->getAccountTransport ()); - int port = findLocalPortFromUri (toUri, account->getAccountTransport ()); std::stringstream ss; - std::string portStr; - ss << port; - ss >> portStr; contactUri = account->getContactHeader (address, portStr); - _debug ("SIPStartCall: fromUri: %s toUri: %s contactUri: %s", + _debug ("UserAgent: FROM uri: %s, TO uri: %s, CONTACT uri: %s", fromUri.c_str(), toUri.c_str(), contactUri.c_str()); pj_str_t pjFrom; - pj_cstr (&pjFrom, fromUri.c_str()); pj_str_t pjContact; - pj_cstr (&pjContact, contactUri.c_str()); pj_str_t pjTo; - pj_cstr (&pjTo, toUri.c_str()); // Create the dialog (UAC) @@ -1374,7 +1468,7 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) &dialog); if (status != PJ_SUCCESS) { - _debug ("UAC creation failed"); + _error ("UserAgent: Error: UAC creation failed"); return false; } @@ -1407,17 +1501,16 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) // decrement transport's ref count // pjsip_transport_dec_ref(account->getAccountTransport()); - status = pjsip_inv_send_msg (inv, tdata); if (status != PJ_SUCCESS) { - _debug (" SIPStartCall: failed to send invite"); + _error ("UserAgent: Error: failed to send invite"); return false; } if(account->getAccountTransport()) { - _debug("Sent invite request using transport: %s %s (refcnt=%d)", + _debug("UserAgent: Sent invite request using transport: %s %s (refcnt=%d)", account->getAccountTransport()->obj_name, account->getAccountTransport()->info, (int)pj_atomic_get(account->getAccountTransport()->ref_cnt)); @@ -1430,7 +1523,7 @@ void SIPVoIPLink::SIPCallServerFailure (SIPCall *call) { if (call != 0) { - _debug ("Server error!"); + _error ("UserAgent: Error: Server error!"); CallID id = call->getCallId(); Manager::instance().callFailure (id); terminateOneCall (id); @@ -1444,7 +1537,10 @@ SIPVoIPLink::SIPCallServerFailure (SIPCall *call) void SIPVoIPLink::SIPCallClosed (SIPCall *call) { + _info("UserAgent: Closing call"); + if (!call) { + _warn("UserAgent: Error: CAll pointer is NULL\n"); return; } @@ -1452,16 +1548,14 @@ SIPVoIPLink::SIPCallClosed (SIPCall *call) if (Manager::instance().isCurrentCall (id)) { call->setAudioStart (false); - _debug ("* SIP Info: Stopping AudioRTP when closing"); + _debug ("UserAgent: Stopping AudioRTP when closing"); call->getAudioRtp()->stop(); } - _debug ("After close RTP"); - Manager::instance().peerHungupCall (id); terminateOneCall (id); removeCall (id); - _debug ("After remove call ID"); + } void @@ -1472,7 +1566,7 @@ SIPVoIPLink::SIPCallReleased (SIPCall *call) } // if we are here.. something when wrong before... - _debug ("SIP call release"); + _debug ("UserAgent: SIP call release"); CallID id = call->getCallId(); @@ -1488,20 +1582,20 @@ void SIPVoIPLink::SIPCallAnswered (SIPCall *call, pjsip_rx_data *rdata) { - _debug ("SIPCallAnswered"); + _info ("UserAgent: SIP call answered"); if (!call) { - _debug ("! SIP Failure: unknown call"); + _warn ("UserAgent: Error: SIP failure, unknown call"); return; } if (call->getConnectionState() != Call::Connected) { - _debug ("Update call state , id = %s", call->getCallId().c_str()); + _debug ("UserAgent: Update call state , id = %s", call->getCallId().c_str()); call->setConnectionState (Call::Connected); call->setState (Call::Active); Manager::instance().peerAnsweredCall (call->getCallId()); } else { - _debug ("* SIP Info: Answering call (on/off hold to send ACK)"); + _debug ("UserAgent: Answering call (on/off hold to send ACK)"); } } @@ -1527,6 +1621,8 @@ bool SIPVoIPLink::new_ip_to_ip_call (const CallID& id, const std::string& to) pjsip_tx_data *tdata; std::string localAddress, addrSdp; + _debug("UserAgent: New IP2IP call %s to %s", id.c_str(), to.c_str()); + /* Create the call */ call = new SIPCall (id, Call::Outgoing, _pool); @@ -1535,179 +1631,162 @@ bool SIPVoIPLink::new_ip_to_ip_call (const CallID& id, const std::string& to) call->setCallConfiguration (Call::IPtoIP); call->initRecFileName(); - // AccountID accountId = Manager::instance().getAccountFromCall (id); SIPAccount * account = NULL; - account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (IP2IP_PROFILE)); + account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (IP2IP_PROFILE)); if (account == NULL) { - - _debug ("UserAgent: Account %s is null. Returning", IP2IP_PROFILE); - return !PJ_SUCCESS; + _error ("UserAgent: Error: Account %s is null. Returning", IP2IP_PROFILE); + return !PJ_SUCCESS; } - // Set the local address - localAddress = getInterfaceAddrFromName(account->getLocalInterface ()); + // Set the local address + localAddress = getInterfaceAddrFromName(account->getLocalInterface ()); // Set SDP parameters - Set to local - addrSdp = localAddress; - - _debug ("UserAgent: Local Address for IP to IP call: %s", localAddress.c_str()); + addrSdp = localAddress; - // If local address bound to ANY, reslove it using PJSIP + // If local address bound to ANY, reslove it using PJSIP if (localAddress == "0.0.0.0") { loadSIPLocalIP (&localAddress); } - // Local address to appear in SDP - if (addrSdp == "0.0.0.0") { - addrSdp = localAddress; - } + _debug ("UserAgent: Local Address for IP2IP call: %s", localAddress.c_str()); - // Set local address for RTP media + // Local address to appear in SDP + if (addrSdp == "0.0.0.0") { + addrSdp = localAddress; + } + + _debug ("UserAgent: Media Address for IP2IP call: %s", localAddress.c_str()); + + // Set local address for RTP media setCallAudioLocal (call, localAddress); std::string toUri = account->getToUri (to); call->setPeerNumber (toUri); - _debug ("UserAgent: TO uri: %s", toUri.c_str()); + _debug ("UserAgent: TO uri for IP2IP call: %s", toUri.c_str()); // Building the local SDP offer call->getLocalSDP()->set_ip_address (addrSdp); call->getLocalSDP()->create_initial_offer (account->getActiveCodecs ()); - // Audio Rtp Session must be initialized before creating initial offer in SDP session - // since SDES require crypto attribute. - try { - call->getAudioRtp()->initAudioRtpConfig (call); - call->getAudioRtp()->initAudioRtpSession (call); + // Audio Rtp Session must be initialized before creating initial offer in SDP session + // since SDES require crypto attribute. + try { + call->getAudioRtp()->initAudioRtpConfig (call); + call->getAudioRtp()->initAudioRtpSession (call); } catch (...) { - _debug ("UserAgent: Unable to create RTP Session in SIPVoIPLink::new_ip_to_ip_call (%s:%d)", __FILE__, __LINE__); + _debug ("UserAgent: Unable to create RTP Session in new IP2IP call (%s:%d)", __FILE__, __LINE__); } - // Building the local SDP offer - call->getLocalSDP()->set_ip_address (addrSdp); - call->getLocalSDP()->create_initial_offer(account->getActiveCodecs ()); + // Init TLS transport if enabled + if(account->isTlsEnabled()) { - // Init TLS transport if enabled - if(account->isTlsEnabled()) { + _debug("UserAgent: TLS enabled for IP2IP calls"); + int at = toUri.find("@"); + int trns = toUri.find(";transport"); + std::string remoteAddr = toUri.substr(at+1, trns-at-1); - _debug("UserAgent: TLS enabled for IP to IP calls"); - int at = toUri.find("@"); - int trns = toUri.find(";transport"); - std::string remoteAddr = toUri.substr(at+1, trns-at-1); + if(toUri.find("sips:") != 1) { + _debug("UserAgent: Error \"sips\" scheme required for TLS call"); + return false; + } - if(toUri.find("sips:") != 1) { - _debug("UserAgent: Error \"sips\" scheme required TLS call"); - return false; - } - - if(createTlsTransport(account->getAccountID(), remoteAddr) != PJ_SUCCESS) - return false; - - } + if(createTlsTransport(account->getAccountID(), remoteAddr) != PJ_SUCCESS) + return false; + } // If no transport already set, use the default one created at pjsip initialization if (account->getAccountTransport() == NULL) { - _debug ("No transport for this account, using the default one"); - account->setAccountTransport (_localUDPTransport); + _debug ("UserAgent: No transport for this account, using the default one"); + account->setAccountTransport (_localUDPTransport); } - _debug ("UserAgent: IptoIP local port %i", account->getLocalPort()); + _debug ("UserAgent: Local port %i for IP2IP call", account->getLocalPort()); - _debug ("IptoIP local address in sdp %s", localAddress.c_str()); + _debug ("UserAgent: Local address in sdp %s for IP2IP call", localAddress.c_str()); // Create URI - std::string fromUri; - - std::string contactUri; - - fromUri = account->getFromUri(); - + std::string fromUri = account->getFromUri(); std::string address = findLocalAddressFromUri (toUri, account->getAccountTransport()); int port = findLocalPortFromUri (toUri, account->getAccountTransport()); std::stringstream ss; - std::string portStr; - ss << port; - ss >> portStr; - - contactUri = account->getContactHeader (address, portStr); - - _debug ("new_ip_to_ip_call: fromUri: %s toUri: %s contactUri: %s", - fromUri.c_str(), - toUri.c_str(), - contactUri.c_str()); - - pj_str_t pjFrom; - - pj_cstr (&pjFrom, fromUri.c_str()); - - pj_str_t pjTo; - - pj_cstr (&pjTo, toUri.c_str()); - - pj_str_t pjContact; - - pj_cstr (&pjContact, contactUri.c_str()); + std::string portStr; + ss << port; + ss >> portStr; + + std::string contactUri = account->getContactHeader (address, portStr); - // Create the dialog (UAC) - // (Parameters are "strduped" inside this function) - status = pjsip_dlg_create_uac (pjsip_ua_instance(), &pjFrom, &pjContact, &pjTo, NULL, &dialog); + _debug ("UserAgent: FROM uri: %s, TO uri: %s, CONTACT uri: %s", + fromUri.c_str(), toUri.c_str(), contactUri.c_str()); - PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + pj_str_t pjFrom; + pj_cstr (&pjFrom, fromUri.c_str()); - // Create the invite session for this call - status = pjsip_inv_create_uac (dialog, call->getLocalSDP()->get_local_sdp_session(), 0, &inv); + pj_str_t pjTo; + pj_cstr (&pjTo, toUri.c_str()); - PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + pj_str_t pjContact; + pj_cstr (&pjContact, contactUri.c_str()); - // Set the appropriate transport - pjsip_tpselector *tp; + // Create the dialog (UAC) + // (Parameters are "strduped" inside this function) + status = pjsip_dlg_create_uac (pjsip_ua_instance(), &pjFrom, &pjContact, &pjTo, NULL, &dialog); + PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + + // Create the invite session for this call + status = pjsip_inv_create_uac (dialog, call->getLocalSDP()->get_local_sdp_session(), 0, &inv); + PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + + // Set the appropriate transport + pjsip_tpselector *tp; - init_transport_selector (account->getAccountTransport(), &tp); + init_transport_selector (account->getAccountTransport(), &tp); if(!account->getAccountTransport()) { - _debug("Error transport is NULL in ip to ip call"); + _error("UserAgent: Error: Transport is NULL in IP2IP call"); } // set_transport methods increment transport's ref_count - status = pjsip_dlg_set_transport (dialog, tp); + status = pjsip_dlg_set_transport (dialog, tp); // decrement transport's ref count // pjsip_transport_dec_ref(account->getAccountTransport()); - if (status != PJ_SUCCESS) { - _debug ("Failed to set the transport for an IP call"); - return status; - } - - // Associate current call in the invite session - inv->mod_data[getModId() ] = call; - - status = pjsip_inv_invite (inv, &tdata); + if (status != PJ_SUCCESS) { + _error ("UserAgent: Error: Failed to set the transport for an IP2IP call"); + return status; + } - PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + // Associate current call in the invite session + inv->mod_data[getModId() ] = call; - // Associate current invite session in the call - call->setInvSession (inv); + status = pjsip_inv_invite (inv, &tdata); + + PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + + // Associate current invite session in the call + call->setInvSession (inv); - status = pjsip_inv_send_msg (inv, tdata); + status = pjsip_inv_send_msg (inv, tdata); - if (status != PJ_SUCCESS) { - delete call; - call = 0; - return false; - } + if (status != PJ_SUCCESS) { + delete call; + call = 0; + return false; + } - call->setConnectionState (Call::Progressing); + call->setConnectionState (Call::Progressing); - call->setState (Call::Active); - addCall (call); + call->setState (Call::Active); + addCall (call); - return true; + return true; } else - return false; + return false; } @@ -1727,7 +1806,7 @@ bool get_dns_server_addresses (std::vector<std::string> *servers) // Read configuration files if (res_init () != 0) { - _debug ("Resolver initialization failed"); + _debug ("UserAgent: Resolver initialization failed"); return false; } @@ -1752,44 +1831,43 @@ pj_status_t SIPVoIPLink::enable_dns_srv_resolver (pjsip_endpoint *endpt, pj_dns_ std::vector <std::string> dns_servers; int scount, i; + _debug("UserAgent: Enable DNS SRV resolver"); + // Create the DNS resolver instance status = pjsip_endpt_create_resolver (endpt, &resv); - if (status != PJ_SUCCESS) { - _debug ("Error creating the DNS resolver instance"); + _error ("UserAgent: Error: Creating the DNS resolver instance"); return status; } if (!get_dns_server_addresses (&dns_servers)) { - _debug ("Error while fetching DNS information"); + _error ("UserAgent: Error: while fetching DNS information"); return -1; } // Build the nameservers list needed by pjsip if ( (scount = dns_servers.size ()) <= 0) { - _debug ("No server detected while fetching DNS information, stop dns resolution"); + _warn ("UserAgent: No server detected while fetching DNS information, stop dns resolution"); return 0; } pj_str_t nameservers[scount]; - for (i = 0; i<scount; i++) { - nameservers[i] = pj_str ( (char*) dns_servers[i].c_str()); + _debug("UserAgent: Server: %s", (char *)dns_servers[i].c_str()); + nameservers[i] = pj_str ( (char *) dns_servers[i].c_str()); } // Update the name servers for the DNS resolver status = pj_dns_resolver_set_ns (resv, scount, nameservers, NULL); - if (status != PJ_SUCCESS) { - _debug ("Error updating the name servers for the DNS resolver"); + _debug ("UserAgent: Error updating the name servers for the DNS resolver"); return status; } // Set the DNS resolver instance of the SIP resolver engine status = pjsip_endpt_set_resolver (endpt, resv); - if (status != PJ_SUCCESS) { - _debug ("Error setting the DNS resolver instance of the SIP resolver engine"); + _debug ("UserAgent: Error setting the DNS resolver instance of the SIP resolver engine"); return status; } @@ -1802,7 +1880,6 @@ pj_status_t SIPVoIPLink::enable_dns_srv_resolver (pjsip_endpoint *endpt, pj_dns_ bool SIPVoIPLink::pjsip_init() { pj_status_t status; - int errPjsip = 0; pjsip_inv_callback inv_cb; pj_str_t accepted; std::string name_mod; @@ -1911,14 +1988,11 @@ bool SIPVoIPLink::pjsip_init() pj_bzero (&inv_cb, sizeof (inv_cb)); inv_cb.on_state_changed = &call_on_state_changed; - inv_cb.on_new_session = &call_on_forked; - inv_cb.on_media_update = &call_on_media_update; - inv_cb.on_tsx_state_changed = &call_on_tsx_changed; - inv_cb.on_rx_offer = &on_rx_offer; + inv_cb.on_create_offer = &on_create_offer; // Initialize session invite module status = pjsip_inv_usage_init (_endpt, &inv_cb); @@ -2221,7 +2295,7 @@ bool SIPVoIPLink::createSipTransport(AccountID id) int trns = remoteSipUri.find(";transport"); std::string remoteAddr = remoteSipUri.substr(sips, trns-sips); - // Nothing to do, TLS listener already created at pjsip's startup and TLS connection\ + // Nothing to do, TLS listener already created at pjsip's startup and TLS connection // is automatically handled in pjsip when sending registration messages. if(createTlsTransport(id, remoteAddr) != PJ_SUCCESS) return false; @@ -2250,7 +2324,7 @@ bool SIPVoIPLink::createSipTransport(AccountID id) } else { - // If transport succesfully created, store it in the internal map. + // If transport successfully created, store it in the internal map. // STUN aware transport are account specific and should not be stored in map. // TLS transport is ephemeral and is managed by PJSIP, should not be stored either. addTransportToMap(account->getTransportMapKey(), account->getAccountTransport()); @@ -2359,7 +2433,10 @@ int SIPVoIPLink::createUdpTransport (AccountID id) } - + if(listeningAddress == "" || listeningPort == 0) { + _error("UserAgent: Error invalid address for new udp transport"); + return !PJ_SUCCESS; + } //strcpy (tmpIP, listeningAddress.data()); /* Init published name */ pj_bzero (&a_name, sizeof (pjsip_host_port)); @@ -2405,7 +2482,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ pjsip_transport_type_e transportType; pjsip_tpselector *tp_sel; - _debug ("SIPVoIPLink::findLocalAddressFromUri"); + _debug ("SIP: Find local address from URI"); // Find the transport that must be used with the given uri pj_str_t tmp; @@ -2418,7 +2495,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ std::string machineName (pjMachineName.ptr, pjMachineName.slen); if (genericUri == NULL) { - _debug ("genericUri is NULL in findLocalAddressFromUri"); + _warn ("SIP: generic URI is NULL in findLocalAddressFromUri"); return machineName; } @@ -2427,7 +2504,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ sip_uri = (pjsip_sip_uri*) pjsip_uri_get_uri (genericUri); if (sip_uri == NULL) { - _debug ("Invalid uri in findLocalAddressFromTransport"); + _warn ("SIP: Invalid uri in findLocalAddressFromURI"); return machineName; } @@ -2436,7 +2513,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ } else { if (transport == NULL) { - _debug ("transport is NULL in findLocalAddressFromUri. Try the local UDP transport"); + _warn ("SIP: Transport is NULL in findLocalAddressFromUri. Try the local UDP transport"); transport = _localUDPTransport; } @@ -2450,7 +2527,7 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ tpmgr = pjsip_endpt_get_tpmgr (_endpt); if (tpmgr == NULL) { - _debug ("Unexpected: Cannot get tpmgr from endpoint."); + _warn ("SIP: Unexpected: Cannot get tpmgr from endpoint."); return machineName; } @@ -2466,23 +2543,23 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ status = init_transport_selector (transport, &tp_sel); if (status == PJ_SUCCESS) { - _debug("pjsip_tpmgr_find_local_addr, UDP, tpsel"); status = pjsip_tpmgr_find_local_addr (tpmgr, _pool, transportType, tp_sel, &localAddress, &port); - } else { - _debug("pjsip_tpmgr_find_local_addr, UDP"); - status = pjsip_tpmgr_find_local_addr (tpmgr, _pool, transportType, NULL, &localAddress, &port); - } - } else { - _debug("pjsip_tpmgr_find_local_addr, TLS"); + } + else { + status = pjsip_tpmgr_find_local_addr (tpmgr, _pool, transportType, NULL, &localAddress, &port); + } + } + else { status = pjsip_tpmgr_find_local_addr (tpmgr, _pool, transportType, NULL, &localAddress, &port); } if (status != PJ_SUCCESS) { - _debug ("Failed to find local address from transport"); + _debug ("SIP: Failed to find local address from transport"); return machineName; } - _debug ("Local address discovered from attached transport: %s", localAddress.ptr); + std::string localaddr(localAddress.ptr, localAddress.slen); + _debug ("SIP: Local address discovered from attached transport: %s", localaddr.c_str()); return std::string (localAddress.ptr, localAddress.slen); } @@ -2645,7 +2722,7 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (id)); if (account == NULL) { - _debug ("Account is null. Returning"); + _error ("UserAgent: Error: Account is null. Returning"); return !PJ_SUCCESS; } @@ -2656,19 +2733,19 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) status = stunServerResolve (id); if (status != PJ_SUCCESS) { - _debug ("Error resolving STUN server: %i", status); + _error ("UserAgent: Error: Resolving STUN server: %i", status); return status; } // Init socket sock = PJ_INVALID_SOCKET; - _debug ("Initializing IPv4 socket on %s:%i", stunServer.ptr, stunPort); + _debug ("UserAgent: Initializing IPv4 socket on %s:%i", stunServer.ptr, stunPort); status = pj_sockaddr_in_init (&boundAddr, &stunServer, 0); if (status != PJ_SUCCESS) { - _debug ("Error when initializing IPv4 socket on %s:%i", stunServer.ptr, stunPort); + _debug ("UserAgent: Error: Initializing IPv4 socket on %s:%i", stunServer.ptr, stunPort); return status; } @@ -2676,7 +2753,7 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) status = pj_sock_socket (pj_AF_INET(), pj_SOCK_DGRAM(), 0, &sock); if (status != PJ_SUCCESS) { - _debug ("Socket() error (%d)", status); + _debug ("UserAgent: Error: Unable to create or bind socket (%d)", status); return status; } @@ -2684,14 +2761,12 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) status = pjstun_get_mapped_addr (&_cp.factory, 1, &sock, &stunServer, stunPort, &stunServer, stunPort, &pub_addr); if (status != PJ_SUCCESS) { - _debug ("Error contacting STUN server (%d)", status); + _debug ("UserAgwent: Error: Contacting STUN server (%d)", status); pj_sock_close (sock); return status; } - _debug ("Firewall address : %s:%d", - pj_inet_ntoa (pub_addr.sin_addr), - pj_ntohs (pub_addr.sin_port)); + _debug ("UserAgent: Firewall address : %s:%d", pj_inet_ntoa (pub_addr.sin_addr), pj_ntohs (pub_addr.sin_port)); a_name.host = pj_str (pj_inet_ntoa (pub_addr.sin_addr)); a_name.port = pj_ntohs (pub_addr.sin_port); @@ -2708,36 +2783,29 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) status = pjsip_udp_transport_attach2 (_endpt, PJSIP_TRANSPORT_UDP, sock, &a_name, 1, &transport); if (status != PJ_SUCCESS) { - _debug ("Error creating alternate SIP UDP listener (%d)", status); + _debug ("UserAgent: Error: Creating alternate SIP UDP listener (%d)", status); return status; } - _debug ("UDP Transport successfully created on %s:%i", listeningAddress.c_str (), listeningPort); + _debug ("UserAgent: UDP Transport successfully created on %s:%i", listeningAddress.c_str (), listeningPort); account->setAccountTransport (transport); if(transport) { - _debug("INITIAL REF COUNT: %s %s (refcnt=%i)", - transport->obj_name, - transport->info, - (int)pj_atomic_get(transport->ref_cnt)); - + _debug("UserAgent: Initial ref count: %s %s (refcnt=%i)", transport->obj_name, transport->info, + (int)pj_atomic_get(transport->ref_cnt)); - pj_sockaddr *addr = (pj_sockaddr*)&(transport->key.rem_addr); + pj_sockaddr *addr = (pj_sockaddr*)&(transport->key.rem_addr); - static char str[PJ_INET6_ADDRSTRLEN]; - pj_inet_ntop(((const pj_sockaddr*)addr)->addr.sa_family, - pj_sockaddr_get_addr(addr), - str, sizeof(str)); + static char str[PJ_INET6_ADDRSTRLEN]; + pj_inet_ntop(((const pj_sockaddr*)addr)->addr.sa_family, pj_sockaddr_get_addr(addr), str, sizeof(str)); - _debug("KEY: %s:%d", - // addr_string(account->getAccountTransport()->key.rem_addr), - str, - pj_sockaddr_get_port((const pj_sockaddr*)&(transport->key.rem_addr))); + _debug("UserAgent: KEY: %s:%d",str, pj_sockaddr_get_port((const pj_sockaddr*)&(transport->key.rem_addr))); } + pjsip_tpmgr * tpmgr = pjsip_endpt_get_tpmgr (_endpt); pjsip_tpmgr_dump_transports (tpmgr); @@ -2749,9 +2817,7 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) void SIPVoIPLink::shutdownSipTransport(const AccountID& accountID) { - _debug("Shutdown Sip Transport"); - - pj_status_t status = 0; + _debug("UserAgent: Shutdown Sip Transport"); SIPAccount* account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (accountID)); @@ -2776,6 +2842,7 @@ void SIPVoIPLink::shutdownSipTransport(const AccountID& accountID) } + bool SIPVoIPLink::loadSIPLocalIP (std::string *addr) { @@ -2854,7 +2921,7 @@ bool SIPVoIPLink::pjsip_shutdown (void) /* Shutdown PJLIB */ pj_shutdown(); - _debug ("UserAgent: Shutted down succesfully"); + _debug ("UserAgent: Shutted down successfully"); /* Done. */ return true; @@ -2915,39 +2982,40 @@ void set_voicemail_info (AccountID account, pjsip_msg_body *body) void SIPVoIPLink::handle_reinvite (SIPCall *call) { + + _debug ("UserAgent: Handle reinvite"); /* // Close the previous RTP session call->getAudioRtp()->stop (); call->setAudioStart (false); - + _debug ("Create new rtp session from handle_reinvite : %s:%i", call->getLocalIp().c_str(), call->getLocalAudioPort()); - + _debug ("UserAgent: handle_reinvite"); + try { call->getAudioRtp()->initAudioRtpSession (call); } catch (...) { _debug ("! SIP Failure: Unable to create RTP Session (%s:%d)", __FILE__, __LINE__); } - */ + _debug("Handle reINVITE"); - - call->getAudioRtp()->updateDestinationIpAddress(); + */ } // This callback is called when the invite session state has changed void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) { - _debug ("call_on_state_changed to state %s", invitationStateMap[inv->state]); + _debug ("UserAgent: Call state changed to %s", invitationStateMap[inv->state]); pjsip_rx_data *rdata; - pj_status_t status; /* Retrieve the call information */ SIPCall * call = NULL; call = reinterpret_cast<SIPCall*> (inv->mod_data[_mod_ua.id]); if (call == NULL) { - _debug ("Call is NULL in call_on_state_changed"); + _error ("UserAgent: Error: Call is NULL in call state changed callback"); return; } else { // _debug(" call_on_state_changed: call id %s", call->getCallId().c_str()); @@ -2970,7 +3038,7 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) } if (link == NULL) { - _debug ("Link is NULL in call_on_state_changed"); + _error ("UserAgent: Error: Link is NULL in call state changed callback"); return; } @@ -2982,7 +3050,6 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) pjsip_evsub_state ev_state = PJSIP_EVSUB_STATE_ACTIVE; switch (call->getInvSession()->state) { - // switch (inv->state) { case PJSIP_INV_STATE_NULL: @@ -3021,9 +3088,7 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) pjsip_tx_data *tdata; pj_status_t status; - status = pjsip_xfer_notify (call->getXferSub(), - ev_state, st_code, - NULL, &tdata); + status = pjsip_xfer_notify (call->getXferSub(), ev_state, st_code, NULL, &tdata); if (status != PJ_SUCCESS) { _debug ("UserAgent: Unable to create NOTIFY -- %d", status); @@ -3063,15 +3128,6 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) Manager::instance().peerRingingCall (call->getCallId()); } - // After 2xx is sent/received. - else if (inv->state == PJSIP_INV_STATE_CONNECTING) { - status = call->getLocalSDP()->check_sdp_answer (inv, rdata); - - if (status != PJ_SUCCESS) { - _debug ("Failed to check_incoming_sdp in call_on_state_changed"); - return; - } - } // After we sent or received a ACK - The connection is established else if (inv->state == PJSIP_INV_STATE_CONFIRMED) { @@ -3080,51 +3136,43 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) } else if (inv->state == PJSIP_INV_STATE_DISCONNECTED) { - _debug ("State: %s. Cause: %.*s", invitationStateMap[inv->state], (int) inv->cause_text.slen, inv->cause_text.ptr); + _debug ("UserAgent: State: %s. Cause: %.*s", invitationStateMap[inv->state], (int) inv->cause_text.slen, inv->cause_text.ptr); + + accId = Manager::instance().getAccountFromCall (call->getCallId()); + link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (accId)); + + // Make sure link is valid + assert(link); switch (inv->cause) { - /* The call terminates normally - BYE / CANCEL */ + // The call terminates normally - BYE / CANCEL case PJSIP_SC_OK: - case PJSIP_SC_REQUEST_TERMINATED: - accId = Manager::instance().getAccountFromCall (call->getCallId()); - link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (accId)); - - if (link) { - link->SIPCallClosed (call); - } - + link->SIPCallClosed (call); break; - case PJSIP_SC_NOT_FOUND: /* peer not found */ - - case PJSIP_SC_DECLINE: /* We have been ignored */ + case PJSIP_SC_DECLINE: + _debug("UserAgent: Call %s is declined", call->getCallId().c_str()); + if (inv->role == PJSIP_ROLE_UAC) + link->SIPCallServerFailure (call); + break; + case PJSIP_SC_NOT_FOUND: /* peer not found */ case PJSIP_SC_REQUEST_TIMEOUT: /* request timeout */ - case PJSIP_SC_NOT_ACCEPTABLE_HERE: /* no compatible codecs */ - case PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE: - case PJSIP_SC_UNSUPPORTED_MEDIA_TYPE: - case PJSIP_SC_UNAUTHORIZED: - case PJSIP_SC_FORBIDDEN: - - case PJSIP_SC_REQUEST_PENDING: - accId = Manager::instance().getAccountFromCall (call->getCallId()); - link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (accId)); - - if (link) { - link->SIPCallServerFailure (call); - } - + case PJSIP_SC_REQUEST_PENDING: + case PJSIP_SC_ADDRESS_INCOMPLETE: + link->SIPCallServerFailure (call); break; default: - _debug ("sipvoiplink.cpp - line %d : Unhandled call state. This is probably a bug.", __LINE__); + link->SIPCallServerFailure (call); + _error ("UserAgent: Unhandled call state. This is probably a bug."); break; } } @@ -3134,7 +3182,7 @@ void call_on_state_changed (pjsip_inv_session *inv, pjsip_event *e) // This callback is called after SDP offer/answer session has completed. void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) { - _debug ("call_on_media_update"); + _debug ("UserAgent: Call media update"); const pjmedia_sdp_session *local_sdp; const pjmedia_sdp_session *remote_sdp; @@ -3145,19 +3193,19 @@ void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) call = reinterpret_cast<SIPCall *> (inv->mod_data[getModId() ]); if (!call) { - _debug ("Call declined by peer, SDP negociation stopped"); + _debug ("UserAgent: Call declined by peer, SDP negociation stopped"); return; } link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (AccountNULL)); if (link == NULL) { - _debug ("Failed to get sip link"); + _warn ("UserAgent: Error: Failed to get sip link"); return; } if (status != PJ_SUCCESS) { - _debug ("Error while negotiating the offer"); + _warn ("UserAgent: Error: while negotiating the offer"); link->hangup (call->getCallId()); Manager::instance().callFailure (call->getCallId()); return; @@ -3183,39 +3231,46 @@ void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) // Set remote ip / port call->getLocalSDP()->set_media_transport_info_from_remote_sdp (remote_sdp); + try { + call->getAudioRtp()->updateDestinationIpAddress(); + } + catch(...) { + + } + + // Get the crypto attribute containing srtp's cryptographic context (keys, cipher) CryptoOffer crypto_offer; call->getLocalSDP()->get_remote_sdp_crypto_from_offer(remote_sdp, crypto_offer); - bool nego_success = false; if(!crypto_offer.empty()) { - _debug("Crypto attribute in SDP: init Srtp session"); + _debug("UserAgent: Crypto attribute in SDP, init SRTP session"); - // init local cryptografic capabilities for negotiation - std::vector<sfl::CryptoSuiteDefinition>localCapabilities; - for(int i = 0; i < 3; i++) { - localCapabilities.push_back(sfl::CryptoSuites[i]); - } + // init local cryptografic capabilities for negotiation + std::vector<sfl::CryptoSuiteDefinition>localCapabilities; + for(int i = 0; i < 3; i++) { + localCapabilities.push_back(sfl::CryptoSuites[i]); + } - sfl::SdesNegotiator sdesnego(localCapabilities, crypto_offer); + sfl::SdesNegotiator sdesnego(localCapabilities, crypto_offer); - if(sdesnego.negotiate()) { - _debug("SDES negociation successfull \n"); - nego_success = true; + if(sdesnego.negotiate()) { + _debug("UserAgent: SDES negociation successfull \n"); + nego_success = true; - _debug("Set remote cryptographic context\n"); + _debug("UserAgent: Set remote cryptographic context\n"); try { - call->getAudioRtp()->setRemoteCryptoInfo(sdesnego); + call->getAudioRtp()->setRemoteCryptoInfo(sdesnego); } catch(...) {} - DBusManager::instance().getCallManager()->secureSdesOn (call->getCallId()); - } - else { - DBusManager::instance().getCallManager()->secureSdesOff (call->getCallId()); - } + DBusManager::instance().getCallManager()->secureSdesOn (call->getCallId()); + } + else { + DBusManager::instance().getCallManager()->secureSdesOff (call->getCallId()); + } } // We did not found any crypto context for this media @@ -3224,7 +3279,7 @@ void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) // We did not found any crypto context for this media // @TODO if SRTPONLY, CallFail - _debug("Did not found any crypto or negociation failed but Sdes enabled"); + _debug("UserAgent: Did not found any crypto or negociation failed but Sdes enabled"); call->getAudioRtp()->stop(); call->getAudioRtp()->setSrtpEnabled(false); @@ -3238,14 +3293,30 @@ void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) // We found a crypto context for this media but Sdes is not // enabled for this call, make a try using RTP only... - _debug("Sdes not initialized for this call\n"); + _debug("UserAgent: SDES not initialized for this call\n"); } + + Sdp *sdpSession = call->getLocalSDP(); + if(!sdpSession) + return; + + AudioCodec *sessionMedia = sdpSession->get_session_media(); + if(!sessionMedia) + return; + + AudioCodecType pl = (AudioCodecType)sessionMedia->getPayload(); + AudioCodec* audiocodec = Manager::instance().getCodecDescriptorMap().instantiateCodec(pl); + + if (audiocodec == NULL) + _error ("UserAgent: No audiocodec found"); + + try { call->setAudioStart (true); - call->getAudioRtp()->start(); + call->getAudioRtp()->start(audiocodec); } catch (exception& rtpException) { - _debug ("%s", rtpException.what()); + _error ("UserAgent: Error: %s", rtpException.what()); } } @@ -3256,9 +3327,9 @@ void call_on_forked (pjsip_inv_session *inv, pjsip_event *e) void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_event *e) { - _debug("call_on_tsx_changed to state %s", transactionStateMap[tsx->state]); + assert(tsx); - + _debug("UserAgent: Transaction changed to state %s", transactionStateMap[tsx->state]); if (tsx->role==PJSIP_ROLE_UAS && tsx->state==PJSIP_TSX_STATE_TRYING && pjsip_method_cmp (&tsx->method, &pjsip_refer_method) ==0) { @@ -3268,17 +3339,27 @@ void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_ if (e && e->body.rx_msg.rdata) { + + _debug("Event"); pjsip_tx_data* t_data; pjsip_rx_data* r_data = e->body.rx_msg.rdata; - if (r_data->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD) { + if (r_data && r_data->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD) { - std::string method_name = "INFO"; - std::string request = r_data->msg_info.msg->line.req.method.name.ptr; + _debug("R_data"); - if (request.find (method_name) != (size_t)-1) { + std::string method_info = "INFO"; + std::string method_notify = "NOTIFY"; - _debug ("%s", pjsip_rx_data_get_info (r_data)); + std::string request = pjsip_rx_data_get_info (r_data); + + _debug("UserAgent: %s", request.c_str()); + + if(request.find (method_notify) != (size_t)-1) { + + } + // Must reply 200 OK on SIP INFO request + else if (request.find (method_info) != (size_t)-1) { pjsip_dlg_create_response (inv->dlg, r_data, PJSIP_SC_OK, NULL, &t_data); @@ -3326,15 +3407,12 @@ void regc_cb (struct pjsip_regc_cbparam *param) break; case 503: - case 408: account->setRegistrationState (ErrorHost); break; case 401: - case 403: - case 404: account->setRegistrationState (ErrorAuth); break; @@ -3416,13 +3494,17 @@ mod_on_rx_request (pjsip_rx_data *rdata) std::string method_name; std::string request; - // Handle the incoming call invite in this function - _debug ("UserAgent: Callback on_rx_request is involved! "); - _debug("Receiving REQUEST using transport: %s %s (refcnt=%d)", - rdata->tp_info.transport->obj_name, - rdata->tp_info.transport->info, - (int)pj_atomic_get(rdata->tp_info.transport->ref_cnt)); + _info("UserAgent: Transaction REQUEST received using transport: %s %s (refcnt=%d)", + rdata->tp_info.transport->obj_name, + rdata->tp_info.transport->info, + (int)pj_atomic_get(rdata->tp_info.transport->ref_cnt)); + + // No need to go any further on incoming ACK + if (rdata->msg_info.msg->line.req.method.id == PJSIP_ACK_METHOD && pjsip_rdata_get_dlg(rdata) != NULL) { + _info("UserAgent: received an ACK"); + return true; + } /* First, let's got the username and server name from the invite. * We will use them to detect which account is the callee. @@ -3433,16 +3515,12 @@ mod_on_rx_request (pjsip_rx_data *rdata) userName = std::string (sip_uri->user.ptr, sip_uri->user.slen); server = std::string (sip_uri->host.ptr, sip_uri->host.slen); - _debug ("mod_on_rx_request: %s@%s", userName.c_str(), server.c_str()); - // Get the account id of callee from username and server account_id = Manager::instance().getAccountIdFromNameAndServer (userName, server); /* If we don't find any account to receive the call */ - if (account_id == AccountNULL) { - _debug ("UserAgent: Username %s doesn't match any account!",userName.c_str()); - //return false; + _debug ("UserAgent: Username %s doesn't match any account, using IP2IP!",userName.c_str()); } /* Get the voip link associated to the incoming call */ @@ -3450,21 +3528,22 @@ mod_on_rx_request (pjsip_rx_data *rdata) link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (account_id)); /* If we can't find any voIP link to handle the incoming call */ - if (link == 0) { - _debug ("ERROR: can not retrieve the voiplink from the account ID..."); + if (!link) { + _warn("UserAgent: Error: cannot retrieve the voiplink from the account ID..."); + pj_strdup2 (_pool, &reason, "ERROR: cannot retrieve the voip link from account"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, + &reason, NULL, NULL); + return true; return false; } - + // Parse the display name from "From" header char* from_header = strstr (rdata->msg_info.msg_buf, "From: "); - if (from_header) { - std::string temp (from_header); int begin_displayName = temp.find ("\"") + 1; int end_displayName = temp.rfind ("\""); - // _debug("The display name start at %i, end at %i", begin_displayName, end_displayName); - displayName = temp.substr (begin_displayName, end_displayName - begin_displayName);//display_name); + displayName = temp.substr (begin_displayName, end_displayName - begin_displayName); if(displayName.size() > 25) { displayName = std::string (""); } @@ -3472,18 +3551,12 @@ mod_on_rx_request (pjsip_rx_data *rdata) displayName = std::string (""); } - _debug ("UserAgent: The receiver is : %s@%s", userName.data(), server.data()); - - _debug ("UserAgent: The callee account id is %s", account_id.c_str()); + _debug ("UserAgent: The receiver is: %s@%s", userName.data(), server.data()); + _debug ("UserAgent: The callee account is %s", account_id.c_str()); /* Now, it is the time to find the information of the caller */ uri = rdata->msg_info.from->uri; - - // display_name = rdata->msg_info.from->name; - - // std::string temp("");///(char*)(&display_name)); - sip_uri = (pjsip_sip_uri *) pjsip_uri_get_uri (uri); // Store the peer number @@ -3493,10 +3566,21 @@ mod_on_rx_request (pjsip_rx_data *rdata) std::string peerNumber (tmp, length); + //Remove sip: prefix + size_t found = peerNumber.find("sip:"); + if (found!=std::string::npos) + peerNumber.erase(found, found+4); + + found = peerNumber.find("@"); + if (found!=std::string::npos) + peerNumber.erase(found); + + _debug("UserAgent: Peer number: %s", peerNumber.c_str()); + // Get the server voicemail notification // Catch the NOTIFY message - if (rdata->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD) { + method_name = "NOTIFY"; // Retrieve all the message. Should contains only the method name but ... request = rdata->msg_info.msg->line.req.method.name.ptr; @@ -3523,19 +3607,29 @@ mod_on_rx_request (pjsip_rx_data *rdata) if (rdata->msg_info.msg->line.req.method.id != PJSIP_INVITE_METHOD) { if (rdata->msg_info.msg->line.req.method.id != PJSIP_ACK_METHOD) { pj_strdup2 (_pool, &reason, "user agent unable to handle this request "); - pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_METHOD_NOT_ALLOWED, &reason, NULL, - NULL); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_METHOD_NOT_ALLOWED, + &reason, NULL, NULL); return true; } } + account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (account_id)); + + get_remote_sdp_from_offer (rdata, &r_sdp); + if(account->getActiveCodecs().empty()) { + _warn ("UserAgent: Error: No active codec"); + pj_strdup2 (_pool, &reason, "no active codec"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_NOT_ACCEPTABLE_HERE , + &reason, NULL, NULL); + return true; + } + // Verify that we can handle the request status = pjsip_inv_verify_request (rdata, &options, NULL, NULL, _endpt, NULL); - if (status != PJ_SUCCESS) { - pj_strdup2 (_pool, &reason, "user agent unable to handle this INVITE "); - pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_METHOD_NOT_ALLOWED, &reason, NULL, - NULL); + pj_strdup2 (_pool, &reason, "user agent unable to handle this INVITE"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_METHOD_NOT_ALLOWED, + &reason, NULL, NULL); return true; } @@ -3543,6 +3637,8 @@ mod_on_rx_request (pjsip_rx_data *rdata) if (Manager::instance().getConfigString (HOOKS, URLHOOK_SIP_ENABLED) == "1") { + _debug("UserAgent: Set sip url hooks"); + std::string header_value; header_value = fetch_header_value (rdata->msg_info.msg, Manager::instance().getConfigString (HOOKS, URLHOOK_SIP_FIELD)); @@ -3553,49 +3649,48 @@ mod_on_rx_request (pjsip_rx_data *rdata) Manager::instance().getConfigString (HOOKS, URLHOOK_COMMAND)); } } else - throw length_error ("Url exceeds std::string max_size"); + throw length_error ("UserAgent: Url exceeds std::string max_size"); } /************************************************************************************************/ - _debug ("create a new call"); + _info ("UserAgent: Create a new call"); // Generate a new call ID for the incoming call! id = Manager::instance().getNewCallID(); call = new SIPCall (id, Call::Incoming, _pool); - /* If an error occured at the call creation */ + // If an error occured at the call creation if (!call) { - _debug ("UserAgent: unable to create an incoming call"); + _warn("UserAgent: Error: Unable to create an incoming call"); + pj_strdup2 (_pool, &reason, "unable to create an incoming call"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, + &reason, NULL, NULL); return false; } - - std::string addrToUse, addrSdp ="0.0.0.0"; pjsip_tpselector *tp; - account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (account_id)); - if (account != NULL) { // May use the published address as well addrToUse = SIPVoIPLink::instance("")->getInterfaceAddrFromName(account->getLocalInterface ()); - account->isStunEnabled () ? addrSdp = account->getPublishedAddress () : addrSdp = addrToUse; - // Set the appropriate transport to have the right VIA header - link->init_transport_selector (account->getAccountTransport (), &tp); + account->isStunEnabled () ? addrSdp = account->getPublishedAddress () : addrSdp = addrToUse; + // Set the appropriate transport to have the right VIA header + link->init_transport_selector (account->getAccountTransport (), &tp); - if(account->getAccountTransport()) { + if(account->getAccountTransport()) { - _debug("Process INVITE request using transport: %s %s (refcnt=%i)", - account->getAccountTransport()->obj_name, - account->getAccountTransport()->info, - (int)pj_atomic_get(account->getAccountTransport()->ref_cnt)); - } + _debug("UserAgent: SIP transport for this account: %s %s (refcnt=%i)", + account->getAccountTransport()->obj_name, + account->getAccountTransport()->info, + (int)pj_atomic_get(account->getAccountTransport()->ref_cnt)); + } } @@ -3607,29 +3702,13 @@ mod_on_rx_request (pjsip_rx_data *rdata) addrSdp = addrToUse; } - call->setConnectionState (Call::Progressing); - call->setPeerNumber (peerNumber); - call->setDisplayName (displayName); - call->initRecFileName(); - // Notify UI there is an incoming call + _debug("UserAgent: DisplayName: %s", displayName.c_str()); - _debug ("Add call to account link"); - - if (Manager::instance().incomingCall (call, account_id)) { - // Add this call to the callAccountMap in ManagerImpl - Manager::instance().getAccountLink (account_id)->addCall (call); - } else { - // Fail to notify UI - delete call; - call = NULL; - _debug ("UserAgent: Fail to notify UI!"); - return false; - } // Have to do some stuff with the SDP // Set the codec map, IP, peer number and so on... for the SIPCall object @@ -3642,27 +3721,29 @@ mod_on_rx_request (pjsip_rx_data *rdata) call->getAudioRtp()->initAudioRtpConfig (call); call->getAudioRtp()->initAudioRtpSession (call); } catch (...) { - _debug ("Failed to create rtp thread from answer"); + _warn ("UserAgent: Error: Failed to create rtp thread from answer"); } - get_remote_sdp_from_offer (rdata, &r_sdp); - status = call->getLocalSDP()->receiving_initial_offer (r_sdp, account->getActiveCodecs ()); if (status!=PJ_SUCCESS) { - delete call; - call=0; + delete call; call = NULL; + _warn("UserAgent: fail in receiving initial offer"); + pj_strdup2 (_pool, &reason, "fail in receiving initial offer"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, + &reason, NULL, NULL); return false; } - /* Create the local dialog (UAS) */ status = pjsip_dlg_create_uas (pjsip_ua_instance(), rdata, NULL, &dialog); - if (status != PJ_SUCCESS) { - pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, &reason, NULL, - NULL); - return true; + delete call; call = NULL; + _warn("UserAgent: Error: Failed to create uas dialog"); + pj_strdup2 (_pool, &reason, "fail to create uas dialog"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, + &reason, NULL, NULL); + return false; } // Specify media capability during invite session creation @@ -3670,22 +3751,17 @@ mod_on_rx_request (pjsip_rx_data *rdata) // Explicitly set the transport, set_transport methods increment transport's reference counter status = pjsip_dlg_set_transport (dialog, tp); - - // decrement transport's reference counter - // pjsip_transport_dec_ref(rdata->tp_info.transport); - PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); // Associate the call in the invite session inv->mod_data[_mod_ua.id] = call; - // Send a 180/Ringing response + // Send a 180 Ringing response + _info ("UserAgent: Send a 180 Ringing response"); status = pjsip_inv_initial_answer (inv, rdata, PJSIP_SC_RINGING, NULL, NULL, &tdata); - PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); status = pjsip_inv_send_msg (inv, tdata); - PJ_ASSERT_RETURN (status == PJ_SUCCESS, 1); // Associate invite session to the current call @@ -3694,17 +3770,66 @@ mod_on_rx_request (pjsip_rx_data *rdata) // Update the connection state call->setConnectionState (Call::Ringing); + _debug ("UserAgent: Add call to account link"); + if (Manager::instance().incomingCall (call, account_id)) { + // Add this call to the callAccountMap in ManagerImpl + Manager::instance().getAccountLink (account_id)->addCall (call); + } else { + // Fail to notify UI + delete call; call = NULL; + _warn ("UserAgent: Fail to notify UI!"); + pj_strdup2 (_pool, &reason, "fail to notify ui"); + pjsip_endpt_respond_stateless (_endpt, rdata, PJSIP_SC_INTERNAL_SERVER_ERROR, + &reason, NULL, NULL); + return false; + } + /* Done */ return true; } -pj_bool_t mod_on_rx_response (pjsip_rx_data *rdata UNUSED) +pj_bool_t mod_on_rx_response (pjsip_rx_data *rdata) { - _debug ("Mod on rx response"); + _info ("UserAgent: Transaction response using transport: %s %s (refcnt=%d)", + rdata->tp_info.transport->obj_name, + rdata->tp_info.transport->info, + (int)pj_atomic_get(rdata->tp_info.transport->ref_cnt)); + + pjsip_dialog *dlg; + dlg = pjsip_rdata_get_dlg( rdata ); + + if(dlg != NULL) { + pjsip_transaction *tsx = pjsip_rdata_get_tsx( rdata ); + if ( tsx != NULL && tsx->method.id == PJSIP_INVITE_METHOD) { + if (tsx->status_code < 200) { + _info("UserAgent: Received provisional response"); + } + else if (tsx->status_code >= 300) { + _warn("UserAgent: Dialog failed"); + // pjsip_dlg_dec_session(dlg); + // ACK for non-2xx final response is sent by transaction. + } + else { + _info("UserAgent: Received 200 OK response"); + sendAck(dlg, rdata); + } + } + } + return PJ_SUCCESS; } +static void sendAck(pjsip_dialog *dlg, pjsip_rx_data *rdata) { + + pjsip_tx_data *tdata; + + // Create ACK request + pjsip_dlg_create_request(dlg, &pjsip_ack_method, rdata->msg_info.cseq->cseq, &tdata); + + pjsip_dlg_send_request( dlg, tdata,-1, NULL); +} + void onCallTransfered (pjsip_inv_session *inv, pjsip_rx_data *rdata) { @@ -3751,8 +3876,7 @@ void onCallTransfered (pjsip_inv_session *inv, pjsip_rx_data *rdata) * request. */ ref_by_hdr = (pjsip_hdr*) - pjsip_msg_find_hdr_by_name (rdata->msg_info.msg, &str_ref_by, - NULL); + pjsip_msg_find_hdr_by_name (rdata->msg_info.msg, &str_ref_by, NULL); /* Notify callback */ code = PJSIP_SC_ACCEPTED; @@ -3938,10 +4062,9 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event) * When subscription is accepted (got 200/OK to REFER), check if * subscription suppressed. */ - if (pjsip_evsub_get_state (sub) == PJSIP_EVSUB_STATE_ACCEPTED) { - _debug ("Transfer accepted! Waiting for notifications. "); + _debug ("UserAgent: Transfer received, waiting for notifications. "); } @@ -3950,6 +4073,7 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event) */ else if (pjsip_evsub_get_state (sub) == PJSIP_EVSUB_STATE_ACTIVE || pjsip_evsub_get_state (sub) == PJSIP_EVSUB_STATE_TERMINATED) { + pjsip_msg *msg; pjsip_msg_body *body; pjsip_status_line status_line; @@ -3957,13 +4081,6 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event) pj_bool_t cont; pj_status_t status; - std::string noresource; - std::string ringing; - std::string request; - - noresource = "noresource"; - ringing = "Ringing"; - SIPVoIPLink *link = reinterpret_cast<SIPVoIPLink *> (pjsip_evsub_get_mod_data (sub, _mod_ua.id)); @@ -3977,101 +4094,73 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event) } + /* Application is not interested with call progress status */ if (!link || !event) { - /* Application is not interested with call progress status */ - _debug ("UserAgent: Either link or event is empty!"); + _warn ("UserAgent: Either link or event is empty in transfer callback"); return; } + pjsip_rx_data* r_data = event->body.rx_msg.rdata; - /* This better be a NOTIFY request */ - if (event->type == PJSIP_EVENT_TSX_STATE && - event->body.tsx_state.type == PJSIP_EVENT_RX_MSG) { - - pjsip_rx_data *rdata; - - rdata = event->body.tsx_state.src.rdata; + std::string method_notify = "NOTIFY"; + std::string request = pjsip_rx_data_get_info (r_data); + /* This better be a NOTIFY request */ + if (r_data->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD && + request.find(method_notify) != (size_t)-1) { /* Check if there's body */ - msg = rdata->msg_info.msg; + msg = r_data->msg_info.msg; body = msg->body; if (!body) { - // if (call->getCallConfiguration () == Call::IPtoIP) { - // _debug("UserAgent: IptoIp NOTIFY without message body"); - // } - // else{ - _debug ("UserAgent: Warning! Received NOTIFY without message body"); + _warn ("UserAgent: Warning! Received NOTIFY without message body"); return; - // } } - - /* Check for appropriate content */ if (pj_stricmp2 (&body->content_type.type, "message") != 0 || pj_stricmp2 (&body->content_type.subtype, "sipfrag") != 0) { - _debug ("UserAgent: Warning! Received NOTIFY with non message/sipfrag content"); + _warn ("UserAgent: Warning! Received NOTIFY without message/sipfrag content"); return; } /* Try to parse the content */ - status = pjsip_parse_status_line ( (char*) body->data, body->len, - &status_line); + status = pjsip_parse_status_line ( (char*) body->data, body->len, &status_line); if (status != PJ_SUCCESS) { - _debug ("UserAgent: Warning! Received NOTIFY with invalid message/sipfrag content"); + _warn ("UserAgent: Warning! Received NOTIFY with invalid message/sipfrag content"); return; } } else { - _debug ("UserAgent: Set code to 500!"); + _error ("UserAgent: Error: Set code to 500 during transfer"); status_line.code = 500; status_line.reason = *pjsip_get_status_text (500); } - // Get current call - SIPCall *call = dynamic_cast<SIPCall *> (link->getCall (Manager::instance().getCurrentCallId())); + // Get call coresponding to this transaction + std::string transferID(r_data->msg_info.cid->id.ptr, r_data->msg_info.cid->id.slen); + std::map<std::string, CallID>::iterator it = transferCallID.find(transferID); + CallID cid = it->second; + SIPCall *call = dynamic_cast<SIPCall *> (link->getCall (cid)); if (!call) { - _debug ("UserAgent: Call doesn't exit!"); + _warn ("UserAgent: Call with id %s doesn't exit!", cid.c_str()); return; } - if (event->body.rx_msg.rdata->msg_info.msg_buf != NULL) { - request = event->body.rx_msg.rdata->msg_info.msg_buf; - - if ( (int) request.find (noresource) != -1) { - _debug ("UserAgent: NORESOURCE for transfer!"); - link->transferStep2 (call); - pjsip_evsub_terminate (sub, PJ_TRUE); - - Manager::instance().transferFailed(); - return; - } - - if ( (int) request.find (ringing) != -1) { - _debug ("UserAgent: transfered call RINGING!"); - link->transferStep2 (call); - pjsip_evsub_terminate (sub, PJ_TRUE); - - Manager::instance().transferSucceded(); - return; - } - } - - /* Notify application */ is_last = (pjsip_evsub_get_state (sub) ==PJSIP_EVSUB_STATE_TERMINATED); cont = !is_last; + _debug("UserAgent: Notification status line: %d", status_line.code); if (status_line.code/100 == 2) { - _debug ("UserAgent: Try to stop rtp!"); + _debug ("UserAgent: Received 200 OK on call transfered, stop call!"); pjsip_tx_data *tdata; status = pjsip_inv_end_session (call->getInvSession(), PJSIP_SC_GONE, NULL, &tdata); @@ -4128,10 +4217,11 @@ void xfer_svr_cb (pjsip_evsub *sub, pjsip_event *event) void on_rx_offer (pjsip_inv_session *inv, const pjmedia_sdp_session *offer) { + _info("UserAgent: Received SDP offer"); #ifdef CAN_REINVITE - _debug ("%s (%d): on_rx_offer REINVITE", __FILE__, __LINE__); + _debug ("UserAgent: %s (%d): on_rx_offer REINVITE", __FILE__, __LINE__); SIPCall *call; pj_status_t status; @@ -4158,6 +4248,50 @@ void on_rx_offer (pjsip_inv_session *inv, const pjmedia_sdp_session *offer) } +void on_create_offer(pjsip_inv_session *inv, pjmedia_sdp_session **p_offer) +{ + _info("UserAgent: Create new SDP offer"); + + /* Retrieve the call information */ + SIPCall * call = NULL; + call = reinterpret_cast<SIPCall*> (inv->mod_data[_mod_ua.id]); + + CallID callid = call->getCallId(); + AccountID accountid = Manager::instance().getAccountFromCall(callid); + + SIPAccount *account = dynamic_cast<SIPAccount *>(Manager::instance().getAccount(accountid)); + + SIPVoIPLink *link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink (accountid)); + + // Set the local address + std::string localAddress = link->getInterfaceAddrFromName(account->getLocalInterface ()); + // Set SDP parameters - Set to local + std::string addrSdp = localAddress; + + _debug ("UserAgent: Local Address for IP2IP call: %s", localAddress.c_str()); + + // If local address bound to ANY, reslove it using PJSIP + if (localAddress == "0.0.0.0") { + link->loadSIPLocalIP (&localAddress); + } + + // Local address to appear in SDP + if (addrSdp == "0.0.0.0") { + addrSdp = localAddress; + } + + // Set local address for RTP media + setCallAudioLocal (call, localAddress); + + // Building the local SDP offer + call->getLocalSDP()->set_ip_address (addrSdp); + call->getLocalSDP()->create_initial_offer( account->getActiveCodecs() ); + + *p_offer = call->getLocalSDP()->get_local_sdp_session(); + +} + + void handle_incoming_options (pjsip_rx_data *rdata) { diff --git a/sflphone-common/src/sip/sipvoiplink.h b/sflphone-common/src/sip/sipvoiplink.h index 00c8171535608e3ebab48bb3c0b35e68c2c5721b..20da9443255c77f55bd5016321acb2aa29cc1f16 100644 --- a/sflphone-common/src/sip/sipvoiplink.h +++ b/sflphone-common/src/sip/sipvoiplink.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Yun Liu <yun.liu@savoirfairelinux.com> @@ -19,6 +19,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef SIPVOIPLINK_H @@ -178,13 +189,23 @@ class SIPVoIPLink : public VoIPLink bool refuse (const CallID& id); /** - * Send DTMF + * Send DTMF refering to account configuration * @param id The call identifier * @param code The char code * @return bool True on success */ bool carryingDTMFdigits(const CallID& id, char code); + /** + * Send Dtmf using SIP INFO message + */ + bool dtmfSipInfo(SIPCall *call, char code); + + /** + * Send Dtmf over RTP + */ + bool dtmfOverRtp(SIPCall* call, char code); + /** * Terminate every call not hangup | brutal | Protected by mutex */ @@ -280,7 +301,7 @@ class SIPVoIPLink : public VoIPLink bool new_ip_to_ip_call (const CallID& id, const std::string& to); - std::string get_useragent_name (void); + std::string get_useragent_name (const AccountID& id); /** * List all the interfaces on the system and return @@ -384,7 +405,7 @@ class SIPVoIPLink : public VoIPLink * This function should be called before registering an account * @param accountID An account id for which transport is to be set * - * @return bool True if the account is succesfully created or successfully obtained + * @return bool True if the account is successfully created or successfully obtained * from the transport map */ bool acquireTransport(const AccountID& accountID); @@ -412,7 +433,7 @@ class SIPVoIPLink : public VoIPLink * General Sip transport creation method according to the * transport type specified in account settings * @param id The account id for which a transport must - * be created. + * be created. */ bool createSipTransport(AccountID id); @@ -426,48 +447,49 @@ class SIPVoIPLink : public VoIPLink */ bool addTransportToMap(std::string key, pjsip_transport* transport); - /** + /** * Create SIP UDP transport from account's setting * @param id The account id for which a transport must - * be created. + * be created. * @return pj_status_t PJ_SUCCESS on success */ int createUdpTransport (AccountID = ""); - /** - * Create a TLS transport from the default TLS listener from - * @param id The account id for which a transport must - * be created. - * @return pj_status_t PJ_SUCCESS on success - */ - pj_status_t createTlsTransport(const AccountID& id, std::string remoteAddr); + /** + * Create a TLS transport from the default TLS listener from + * @param id The account id for which a transport must + * be created. + * @return pj_status_t PJ_SUCCESS on success + */ + pj_status_t createTlsTransport(const AccountID& id, std::string remoteAddr); /** - * Create a UDP transport using stun server to resove public address - * @param id The account id for which a transport must - * be created. - * @return pj_status_t PJ_SUCCESS on success - */ + * Create a UDP transport using stun server to resove public address + * @param id The account id for which a transport must + * be created. + * @return pj_status_t PJ_SUCCESS on success + */ pj_status_t createAlternateUdpTransport (AccountID id); + /** * UDP Transports are stored in this map in order to retreive them in case * several accounts would share the same port number. */ SipTransportMap _transportMap; - /** For registration use only */ - int _regPort; + /** For registration use only */ + int _regPort; - /** Threading object */ - EventThread* _evThread; - ost::Mutex _mutexSIP; + /** Threading object */ + EventThread* _evThread; + ost::Mutex _mutexSIP; - /* Number of SIP accounts connected to the link */ - int _clients; + /* Number of SIP accounts connected to the link */ + int _clients; - /* - * Get the correct address to use (ie advertised) from + /* + * Get the correct address to use (ie advertised) from * a uri. The corresponding transport that should be used * with that uri will be discovered. * diff --git a/sflphone-common/src/sip/testSdesNegotiator.cpp b/sflphone-common/src/sip/testSdesNegotiator.cpp deleted file mode 100644 index 46f360f293c7d0eb4f118e28164c21af76d7080b..0000000000000000000000000000000000000000 --- a/sflphone-common/src/sip/testSdesNegotiator.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "SdesNegotiator.h" -#include <vector> -#include <iostream> - -int main (void) -{ - std::vector<sfl::CryptoSuiteDefinition> localCapabilities; - std::vector<std::string> remoteOffer; - - remoteOffer.push_back ("a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32"); - remoteOffer.push_back ("a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj|2^20|1:32"); - - sfl::SdesNegotiator sdesNegotiator (localCapabilities, remoteOffer); - - sdesNegotiator.negotiate(); - - return 0; -} diff --git a/sflphone-common/src/user_cfg.h b/sflphone-common/src/user_cfg.h index 652027dc7481634f47d04c5d084c446627a90e37..910e3f9e15691e625918a4eab7920034ca078ca7 100644 --- a/sflphone-common/src/user_cfg.h +++ b/sflphone-common/src/user_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Laurielle Lea <laurielle.lea@savoirfairelinux.com> * Authoe: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> @@ -17,6 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __USER_CFG_H__ @@ -31,44 +42,54 @@ #define ACCOUNT_IAX0 "IAX0" /** Account type IAX */ /** User configuration file fields */ -#define AUDIO "Audio" /** Section Audio */ -#define CODECS "ActiveCodecs" /** List of active codecs */ +#define AUDIO "Audio" /** Section Audio */ +#define CODECS "ActiveCodecs" /** List of active codecs */ #define ALSA_CARD_ID_IN "Alsa.cardID_In" /** Soundcard index to use for capture */ #define ALSA_CARD_ID_OUT "Alsa.cardID_Out" /** Soundcard index to use for playback */ +#define ALSA_CARD_ID_RING "Alsa.cardID_Ring" /** Soundcard index to use for ringtone */ #define ALSA_FRAME_SIZE "Alsa.framesize" /** Audio layer frame size */ -#define ALSA_PLUGIN "Alsa.plugin" /** Alsa plugin */ -#define ALSA_SAMPLE_RATE "Alsa.sampleRate" /** Audio layer sample rate */ -#define RING_CHOICE "Rings.ringChoice" /** Ringtone */ -#define VOLUME_SPKR "Volume.speakers" /** Speaker volume */ +#define ALSA_PLUGIN "Alsa.plugin" /** Alsa plugin */ +#define AUDIO_SAMPLE_RATE "Alsa.sampleRate" /** Audio layer sample rate */ +#define PULSE_DEVICE_PLAYBACK "Pulse.devicePlayback" +#define PULSE_DEVICE_RECORD "Pulse.deviceRecord" +#define PULSE_DEVICE_RINGTONE "Pulse.deviceRingtone" +#define RING_CHOICE "Rings.ringChoice" /** Ringtone */ +#define VOLUME_SPKR "Volume.speakers" /** Speaker volume */ #define VOLUME_MICRO "Volume.micro" /** Mic volume */ #define RECORD_PATH "Record.path" /** Recording path */ -#define PREFERENCES "Preferences" /** Section Preferences */ +#define PREFERENCES "Preferences" /** Section Preferences */ #define CONFIG_MD5HASH "md5Hash" /** Option to store credential as md5 hash*/ -#define CONFIG_DIALPAD "Dialpad.display" /** Display dialpad preferences */ +#define CONFIG_DIALPAD "Dialpad.display" /** Display dialpad preferences */ #define CONFIG_SEARCHBAR "Searchbar.display" /** Whether or nor display the search bar */ #define CONFIG_HISTORY_LIMIT "History.limit" /** Set the maximum number of days kept */ #define CONFIG_HISTORY_ENABLED "History.enabled" /** Is the history enabled or not */ #define CONFIG_NOTIFY "Notify.all" /** Desktop notification level */ #define CONFIG_MAIL_NOTIFY "Notify.mails" /** Desktop mail notification level */ -#define ZONE_TONE "Options.zoneToneChoice" /** Country tone */ -#define CONFIG_RINGTONE "Ringtones.enable" /** Ringtones preferences */ -#define CONFIG_START "Start.hidden" /** SFLphone starts in the systm tray or not */ -#define CONFIG_POPUP "Window.popup" /** SFLphone pops up on incoming calls or not */ -#define CONFIG_VOLUME "Volume.display" /** Display the mic and speaker volume controls */ +#define ZONE_TONE "Options.zoneToneChoice" /** Country tone */ +#define CONFIG_RINGTONE "Ringtones.enable" /** Ringtones preferences */ +#define CONFIG_START "Start.hidden" /** SFLphone starts in the systm tray or not */ +#define CONFIG_POPUP "Window.popup" /** SFLphone pops up on incoming calls or not */ +#define CONFIG_VOLUME "Volume.display" /** Display the mic and speaker volume controls */ #define CONFIG_AUDIO "Audio.api" /** Audio manager (ALSA or pulseaudio) */ #define CONFIG_PA_VOLUME_CTRL "Pulseaudio.volumeCtrl" /** Whether or not PA should modify volume of other applications on the same sink */ #define CONFIG_SIP_PORT "SIP.portNum" #define CONFIG_ACCOUNTS_ORDER "Accounts.order" /** To restore account order */ +#define WINDOW_WIDTH "Window.width" +#define WINDOW_HEIGHT "Window.height" +#define WINDOW_POSITION_X "Window.positionX" +#define WINDOW_POSITION_Y "Window.positionY" +#define SHOW_STATUSICON "Statusicon.show" + #define IP2IP_PROFILE "IP2IP" #define SIGNALISATION "VoIPLink" /** Section Signalisation */ #define ZRTP_ZIDFILE "ZRTP.zidFile" /** The filename used for storing ZIDs */ -#define PLAY_DTMF "DTMF.playDtmf" /** Whether or not should play dtmf */ -#define PLAY_TONES "DTMF.playTones" /** Whether or not should play tones */ +#define PLAY_DTMF "DTMF.playDtmf" /** Whether or not should play dtmf */ +#define PLAY_TONES "DTMF.playTones" /** Whether or not should play tones */ #define PULSE_LENGTH "DTMF.pulseLength" /** Length of the DTMF in millisecond */ #define SEND_DTMF_AS "DTMF.sendDTMFas" /** DTMF send mode */ -#define SYMMETRIC "VoIPLink.symmetric" /** VoIP link type */ +#define SYMMETRIC "VoIPLink.symmetric" /** VoIP link type */ #define ADDRESSBOOK "Addressbook" /** Address book section */ #define ADDRESSBOOK_ENABLE "Addressbook.enable" /** Enable address book */ @@ -87,28 +108,31 @@ #define PHONE_NUMBER_HOOK_ENABLED "Hooks.phone_number_enabled" #define PHONE_NUMBER_HOOK_ADD_PREFIX "Hooks.phone_number_add_prefix" -#define EMPTY_FIELD "" /** Default value for empty field */ +#define EMPTY_FIELD "" /** Default value for empty field */ #define DEFAULT_ACCOUNT_TYPE "SIP" -#define DFT_STUN_SERVER "stun.sflphone.org" /** Default STUN server address */ -#define TRUE_STR "true" /** Default YES value */ -#define FALSE_STR "false" /** Default NO value */ +#define DFT_STUN_SERVER "stun.sflphone.org" /** Default STUN server address */ +#define TRUE_STR "true" /** Default YES value */ +#define FALSE_STR "false" /** Default NO value */ #define DFT_PULSE_LENGTH_STR "250" /** Default DTMF lenght */ -#define SIP_INFO_STR "0" /** Default DTMF transport mode */ -#define ALSA_DFT_CARD "0" /** Default sound card index */ -#define DFT_VOL_SPKR_STR "100" /** Default speaker volume */ -#define DFT_VOL_MICRO_STR "100" /** Default mic volume */ -#define DFT_RINGTONE "konga.ul" /** Default ringtone */ -#define DFT_ZONE "North America" /** Default geographical zone */ -#define DFT_VOICEMAIL "888" /** Default voicemail number */ -#define DFT_FRAME_SIZE "20" /** Default frame size in millisecond */ -#define DFT_SAMPLE_RATE "44100" /** Default sample rate in HZ */ -#define DFT_NOTIF_LEVEL "2" /** Default desktop notification level : maximum */ -#define DFT_HISTORY_LIMIT "30" /** Default maximum days in history */ -#define DFT_EXPIRE_VALUE "600" /** Default expire value for registration */ -#define DFT_RESOLVE_ONCE FALSE_STR -#define DFT_AUDIO_MANAGER "1" /** Default audio manager */ +#define SIP_INFO_STR "0" /** Default DTMF transport mode */ +#define ALSA_DFT_CARD "0" /** Default sound card index */ +#define DFT_VOL_SPKR_STR "100" /** Default speaker volume */ +#define DFT_VOL_MICRO_STR "100" /** Default mic volume */ +#define DFT_RINGTONE "konga.ul" /** Default ringtone */ +#define DFT_ZONE "North America" /** Default geographical zone */ +#define DFT_VOICEMAIL "888" /** Default voicemail number */ +#define DFT_FRAME_SIZE "20" /** Default frame size in millisecond */ +#define DFT_SAMPLE_RATE "44100" /** Default sample rate in HZ */ +#define DFT_NOTIF_LEVEL "2" /** Default desktop notification level : maximum */ +#define DFT_HISTORY_LIMIT "30" /** Default maximum days in history */ +#define DFT_EXPIRE_VALUE "600" /** Default expire value for registration */ +#define DFT_RESOLVE_ONCE FALSE_STR +#define DFT_AUDIO_MANAGER "1" /** Default audio manager */ #define DFT_SIP_PORT "5060" #define DFT_STUN_ENABLE FALSE_STR #define DFT_RECORD_PATH HOMEDIR +#define DFT_WINDOW_WIDTH "240" +#define DFT_WINDOW_HEIGHT "320" +#define DFT_USERAGENT "sflphone" //PROGNAME + "/" + SFLPHONED_VERSION #endif // __USER_CFG_H__ diff --git a/sflphone-common/src/video/Makefile.am b/sflphone-common/src/video/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..b7a60a35b6d3e5f440656a835268f4e42a8f4e13 --- /dev/null +++ b/sflphone-common/src/video/Makefile.am @@ -0,0 +1,35 @@ +include $(top_srcdir)/globals.mak + +SUBDIRS = decoder rtp + +AM_CXXFLAGS = $(GSTREAMER_CFLAGS) + +noinst_LTLIBRARIES = libvideo.la + +libvideo_la_SOURCES = \ + VideoInputSource.cpp \ + VideoInputSourceGst.cpp \ + VideoEndpoint.cpp \ + VideoFrame.cpp \ + FrameFormat.cpp \ + VideoDevice.cpp \ + GstVideoDevice.cpp + +libvideo_la_LIBADD = \ + decoder/libvideodecoder.la \ + rtp/libvideortp.la + +libvideo_la_LDFLAGS = $(GSTREAMER_LIBS) $(LIBS) + +noinst_HEADERS = \ + VideoInputSource.h \ + VideoInputSourceGst.h \ + VideoEndpoint.h \ + FrameFormat.h \ + VideoDevice.h \ + VideoFrame.h \ + FrameFormat.h \ + VideoDevice.h \ + GstVideoDevice.h + + diff --git a/sflphone-common/src/video/decoder/Makefile.am b/sflphone-common/src/video/decoder/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..6dbf239905378d107cecb4bd6acef0e015955aad --- /dev/null +++ b/sflphone-common/src/video/decoder/Makefile.am @@ -0,0 +1,17 @@ +include $(top_srcdir)/globals.mak + +AM_CXXFLAGS = $(LIBAVCODEC_CFLAGS) $(LIBSWSCALE_CFLAGS) + +noinst_LTLIBRARIES = libvideodecoder.la + +libvideodecoder_la_SOURCES = \ + H264Decoder.cpp \ + VideoDecoder.cpp + +noinst_HEADERS = \ + VideoDecoder.h \ + H264Decoder.h + +libvideodecoder_la_LDFLAGS = $(LIBAVCODEC_LIBS) $(LIBSWSCALE_LIBS) $(LIBS) + +libvideodecoder_la_LIBADD = $(LIBAVCODEC_LIBS) $(LIBSWSCALE_LIBS) $(LIBS) \ No newline at end of file diff --git a/sflphone-common/src/voiplink.cpp b/sflphone-common/src/voiplink.cpp index 2ebc8d6723a6c9e5062dc7cfbe18310e5429c635..8d2dc014bc9ea56143205dbba9074139ac3a2063 100644 --- a/sflphone-common/src/voiplink.cpp +++ b/sflphone-common/src/voiplink.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include "user_cfg.h" diff --git a/sflphone-common/src/voiplink.h b/sflphone-common/src/voiplink.h index 16de9afdae71cee6a9a0f146434206f9f0e943f1..e0d9bd6bdfc0de4f7ce4e780869479ba7736e8ff 100644 --- a/sflphone-common/src/voiplink.h +++ b/sflphone-common/src/voiplink.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com> @@ -18,6 +18,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #ifndef __VOIP_LINK_H__ diff --git a/sflphone-common/test/Makefile.am b/sflphone-common/test/Makefile.am index e3679eb678549f698cf3d25c20c994b7c10a4bdf..ed3baa511efa87f422b7e52bd0ec3681b7c9a287 100644 --- a/sflphone-common/test/Makefile.am +++ b/sflphone-common/test/Makefile.am @@ -1,9 +1,34 @@ include ../globals.mak - -noinst_PROGRAMS = numbercleanerTester pluginmanagerTester hookmanagerTester audiolayerTester historyTester mainbufferTester sdesnegotiatorTester #rtpTester - -OBJECT_FILES= \ +check_PROGRAMS = test + +test_CXXFLAGS = $(CPPUNIT_CFLAGS) +test_LDADD = $(LLIBS) + +test_SOURCES = \ + main.cpp \ + validator.cpp \ + validator.h \ + accounttest.h \ + accounttest.cpp \ + audiolayertest.h \ + audiolayertest.cpp \ + configurationtest.h \ + configurationtest.cpp \ + historytest.h \ + historytest.cpp \ + hookmanagertest.h \ + hookmanagertest.cpp \ + numbercleanertest.h \ + numbercleanertest.cpp \ + pluginmanagertest.h \ + pluginmanagertest.cpp \ + rtptest.h \ + rtptest.cpp \ + sdesnegotiatortest.h \ + sdesnegotiatortest.cpp + +LLIBS=$(CPPUNIT_LIBS) \ ../src/sflphoned-logger.o \ ../src/sflphoned-managerimpl.o \ ../src/sflphoned-account.o\ @@ -15,156 +40,5 @@ OBJECT_FILES= \ ../src/sflphoned-numbercleaner.o \ ../src/sflphoned-observer.o \ ../src/sflphoned-voiplink.o \ - ../src/sip/libsiplink_la-sipcall.o \ - ../src/iax/libiaxlink_la-iaxcall.o \ - ../src/sip/libsiplink_la-sipvoiplink.o \ - ../src/iax/libiaxlink_la-iaxvoiplink.o \ - ../src/sip/libsiplink_la-sipaccount.o \ - ../src/iax/libiaxlink_la-iaxaccount.o \ - ../src/sip/libsiplink_la-sdp.o \ - ../src/sip/libsiplink_la-sdpmedia.o \ - ../src/plug-in/pluginmanager.o \ - ../src/plug-in/audiorecorder/audiorecord.o \ - ../src/audio/samplerateconverter.o \ - ../src/history/historymanager.o - ../ - -numbercleanerTester_SOURCES = \ - numbercleanerTest.h \ - numbercleanerTest.cpp \ - TestMain.cpp - -numbercleanerTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @SAMPLERATE_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - -pluginmanagerTester_SOURCES = \ - pluginmanagerTest.h \ - pluginmanagerTest.cpp \ - TestMain.cpp - -pluginmanagerTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - -hookmanagerTester_SOURCES = \ - hookmanagerTest.cpp \ - TestMain.cpp - -hookmanagerTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - -audiolayerTester_SOURCES = \ - audiolayerTest.h \ - audiolayerTest.cpp \ - TestMain.cpp - -audiolayerTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - -historyTester_SOURCES = \ - historyTest.h \ - historyTest.cpp \ - TestMain.cpp - -historyTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - - -mainbufferTester_SOURCES = \ - mainbufferTest.h \ - mainbufferTest.cpp \ - TestMain.cpp - -mainbufferTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) - -sdesnegotiatorTester_SOURCES = \ - sdesnegotiatorTest.h \ - sdesnegotiatorTest.cpp \ - TestMain.cpp - -sdesnegotiatorTester_LDADD = \ - ../src/libsflphone.la \ - $(SFLPHONE_LIBS) $(ZEROCONFLIB) $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ - $(OBJECT_FILES) + ../src/libsflphone.la + diff --git a/sflphone-common/test/README b/sflphone-common/test/README deleted file mode 100644 index d090ea2cea1700e290c7f42e1e7da091b3ac4f47..0000000000000000000000000000000000000000 --- a/sflphone-common/test/README +++ /dev/null @@ -1 +0,0 @@ -The daemon has to be recompiled before compiling the unitary tests. diff --git a/sflphone-common/test/TestMain.cpp b/sflphone-common/test/TestMain.cpp deleted file mode 100644 index d6e9f932bfb83bbba4442748945c5fd8c53e406b..0000000000000000000000000000000000000000 --- a/sflphone-common/test/TestMain.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <cppunit/TextTestRunner.h> -#include <cppunit/extensions/TestFactoryRegistry.h> - -int main (int argc, const char* argv[]) -{ - CppUnit::TextTestRunner runner; - runner.addTest (CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - - return runner.run(); - -} - diff --git a/sflphone-common/test/accounttest.cpp b/sflphone-common/test/accounttest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..dc905e9a8c040aac9bee05f3edca3a723159fa72 --- /dev/null +++ b/sflphone-common/test/accounttest.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <cppunit/extensions/HelperMacros.h> +#include <map> +#include "accounttest.h" +#include "manager.h" +#include "logger.h" +#include "validator.h" + +void AccountTest::TestAddRemove(void) { + _debug ("-------------------- AccountTest::TestAddRemove --------------------\n"); + + std::map<std::string, std::string> details; + details[CONFIG_ACCOUNT_TYPE] = "SIP"; + details[CONFIG_ACCOUNT_ENABLE] = "false"; + + std::string accountId = Manager::instance().addAccount(details); + CPPUNIT_ASSERT(Validator::isNotNull(accountId)); + CPPUNIT_ASSERT(Manager::instance().accountExists(accountId)); + + Manager::instance().removeAccount(accountId); + + CPPUNIT_ASSERT(!Manager::instance().accountExists(accountId)); +} diff --git a/sflphone-common/test/accounttest.h b/sflphone-common/test/accounttest.h new file mode 100644 index 0000000000000000000000000000000000000000..b6c299ab410fdbc88567e6807116279175448df9 --- /dev/null +++ b/sflphone-common/test/accounttest.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef ACCOUNTTEST_H_ +#define ACCOUNTTEST_H_ + +#include <cppunit/TestFixture.h> +#include <cppunit/extensions/HelperMacros.h> + +class AccountTest : public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE( AccountTest ); + CPPUNIT_TEST( TestAddRemove ); + CPPUNIT_TEST_SUITE_END(); + + public: + void TestAddRemove(void); +}; +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(AccountTest, "AccountTest"); +CPPUNIT_TEST_SUITE_REGISTRATION( AccountTest ); + +#endif /* ACCOUNTTEST_H_ */ diff --git a/sflphone-common/test/audiolayerTest.cpp b/sflphone-common/test/audiolayerTest.cpp deleted file mode 100644 index 065b396c47ba801d95da7aa082610f4c861322dd..0000000000000000000000000000000000000000 --- a/sflphone-common/test/audiolayerTest.cpp +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdio.h> -#include <sstream> - -#include "audiolayerTest.h" - -#include <unistd.h> - - -using std::cout; -using std::endl; - - - -void AudioLayerTest::setUp() -{ - - // Instanciate the manager - Manager::instance().init(); - Manager::instance().initConfigFile(); - - // _audiodriver = Manager::instance().getAudioDriver(); - - // std::string alsaPlugin; - // AlsaLayer *alsalayer; - - // int numCardIn, numCardOut, sampleRate, frameSize; - // layer = _audiodriver->getLayerType(); - - /* - alsaPlugin = Manager::instance().getConfigString( AUDIO , ALSA_PLUGIN ); - numCardIn = Manager::instance().getConfigInt( AUDIO , ALSA_CARD_ID_IN ); - numCardOut = Manager::instance().getConfigInt( AUDIO , ALSA_CARD_ID_OUT ); - sampleRate = Manager::instance().getConfigInt( AUDIO , ALSA_SAMPLE_RATE ); - if (sampleRate <=0 || sampleRate > 48000) { - sampleRate = 44100; - } - frameSize = Manager::instance().getConfigInt(AUDIO, ALSA_FRAME_SIZE ); - */ - - // get a pointer to the audio layer - // _audiodriver = Manager::instance().getAudioDriver(); - -} - -void AudioLayerTest::testAudioLayerConfig() -{ - int sampling_rate = Manager::instance().getConfigInt (AUDIO, ALSA_SAMPLE_RATE); - int frame_size = Manager::instance().getConfigInt (AUDIO, ALSA_FRAME_SIZE); - frame_size = 0; // frame size in config not used anymore - - int layer = Manager::instance().getAudioDriver()->getLayerType(); - - if (layer != ALSA) - Manager::instance().switchAudioManager(); - - CPPUNIT_ASSERT ( (int) Manager::instance().getAudioDriver()->getSampleRate() == sampling_rate); - - CPPUNIT_ASSERT ( (int) Manager::instance().getAudioDriver()->getFrameSize() == frame_size); -} - -void AudioLayerTest::testAudioLayerSwitch() -{ - - _debug ("---------- AudioLayerTest::testAudioLayerSwitch ---------------------------"); - - - int previous_layer = Manager::instance().getAudioDriver()->getLayerType(); - - for (int i = 0; i < 2; i++) { - _debug ("---------- AudioLayerTest::testAudioLayerSwitch - %i -------------",i); - Manager::instance().switchAudioManager(); - - if (previous_layer == ALSA) { - CPPUNIT_ASSERT (Manager::instance().getAudioDriver()->getLayerType() == PULSEAUDIO); - } else { - CPPUNIT_ASSERT (Manager::instance().getAudioDriver()->getLayerType() == ALSA); - } - - previous_layer = Manager::instance().getAudioDriver()->getLayerType(); - - usleep (100000); - } -} - - - -void AudioLayerTest::testPulseConnect() -{ - - _debug ("---------- AudioLayerTest::testPulseConnect ---------------------------"); - - ManagerImpl* manager; - manager = &Manager::instance(); - - // _pulselayer = new PulseLayer (manager); - _pulselayer = (PulseLayer*) Manager::instance().getAudioDriver(); - - CPPUNIT_ASSERT (_pulselayer->getLayerType() == PULSEAUDIO); - - std::string alsaPlugin; - int numCardIn, numCardOut, sampleRate, frameSize; - - alsaPlugin = manager->getConfigString (AUDIO , ALSA_PLUGIN); - numCardIn = manager->getConfigInt (AUDIO , ALSA_CARD_ID_IN); - numCardOut = manager->getConfigInt (AUDIO , ALSA_CARD_ID_OUT); - sampleRate = manager->getConfigInt (AUDIO , ALSA_SAMPLE_RATE); - frameSize = manager->getConfigInt (AUDIO, ALSA_FRAME_SIZE); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream() == NULL); - CPPUNIT_ASSERT (_pulselayer->getRecordStream() == NULL); - - _pulselayer->setErrorMessage (-1); - - try { - CPPUNIT_ASSERT (_pulselayer->openDevice (numCardIn, numCardOut, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin) == true); - } catch (...) { - _debug ("Exception occured wile opening device! "); - } - - usleep (100000); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream() == NULL); - CPPUNIT_ASSERT (_pulselayer->getRecordStream() == NULL); - - // CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->pulseStream() != NULL); - // CPPUNIT_ASSERT (_pulselayer->getRecordStream()->pulseStream() != NULL); - - // Must return Access failure "PA_ERR_ACCESS" == 2 - // CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 2); - // CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 2); - _debug ("-------------------------- \n"); - _pulselayer->startStream (); - - // usleep(1000000); - - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->pulseStream() != NULL); - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->pulseStream() != NULL); - - // Must return No error "PA_OK" == 1 - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->disconnectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->disconnectStream() == true); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream() == true); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream() == true); - - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); - - // usleep(1000000); - CPPUNIT_ASSERT (_pulselayer->disconnectAudioStream() == true); - -} - - -void AudioLayerTest::testAlsaConnect() -{ - - _debug ("---------- AudioLayerTest::testAlsaConnect ---------------------------"); - - int layer = Manager::instance().getAudioDriver()->getLayerType(); - - std::string alsaPlugin; - - if (layer != ALSA) { - Manager::instance().switchAudioManager(); - usleep (100000); - } - - // _audiolayer = Manager::instance().getAudioDriver(); - - // CPPUNIT_ASSERT(_audiolayer->closeLayer() == true); - // usleep(100000); - - // delete _audiolayer; _audiolayer == NULL; - - Manager::instance().setConfig (PREFERENCES, CONFIG_AUDIO, ALSA); - - - // _audiolayer->setErrorMessage(-1); - // CPPUNIT_ASSERT(Manager::instance().initAudioDriver() == true); - - // _audiolayer = Manager::instance().getAudioDriver(); - - // CPPUNIT_ASSERT(_audiolayer->getLayerType() == ALSA); - -} - -void AudioLayerTest::tearDown() -{ - // Delete the audio recorder module - // delete _ar; _ar = NULL; -} diff --git a/sflphone-common/test/audiolayertest.cpp b/sflphone-common/test/audiolayertest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b8e86e9bffb91e940088e4af403fdb7a0df2b9f1 --- /dev/null +++ b/sflphone-common/test/audiolayertest.cpp @@ -0,0 +1,145 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <stdio.h> +#include <sstream> + +#include "audiolayertest.h" + +#include <unistd.h> + +using std::cout; +using std::endl; + +void AudioLayerTest::testAudioLayerConfig() { + _debug ("-------------------- AudioLayerTest::testAudioLayerConfig --------------------\n"); + + int sampling_rate = Manager::instance().getConfigInt(AUDIO, + AUDIO_SAMPLE_RATE); + int frame_size = Manager::instance().getConfigInt(AUDIO, ALSA_FRAME_SIZE); + + int layer = Manager::instance().getAudioDriver()->getLayerType(); + + // if (layer != ALSA) + // Manager::instance().switchAudioManager(); + + // TODO: Fix tests + //CPPUNIT_ASSERT ( (int) Manager::instance().getAudioDriver()->getSampleRate() == sampling_rate); + + //CPPPUNIT_ASSERT ( (int) Manager::instance().getAudioDriver()->getFrameSize() == frame_size); +} + +void AudioLayerTest::testAudioLayerSwitch() { + _debug ("-------------------- AudioLayerTest::testAudioLayerSwitch --------------------\n"); + + int previous_layer = Manager::instance().getAudioDriver()->getLayerType(); + + for (int i = 0; i < 2; i++) { + _debug ("iter - %i",i); + Manager::instance().switchAudioManager(); + + if (previous_layer == ALSA) { + CPPUNIT_ASSERT (Manager::instance().getAudioDriver()->getLayerType() == PULSEAUDIO); + } else { + CPPUNIT_ASSERT (Manager::instance().getAudioDriver()->getLayerType() == ALSA); + } + + previous_layer = Manager::instance().getAudioDriver()->getLayerType(); + + usleep(100000); + } +} + +void AudioLayerTest::testPulseConnect() { + _debug ("-------------------- AudioLayerTest::testPulseConnect --------------------\n"); + + if (Manager::instance().getAudioDriver()->getLayerType() == ALSA) + return; + + ManagerImpl* manager; + manager = &Manager::instance(); + + _pulselayer = (PulseLayer*) Manager::instance().getAudioDriver(); + + CPPUNIT_ASSERT (_pulselayer->getLayerType() == PULSEAUDIO); + + std::string alsaPlugin; + int numCardIn, numCardOut, numCardRing, sampleRate, frameSize; + + alsaPlugin = manager->getConfigString(AUDIO, ALSA_PLUGIN); + numCardIn = manager->getConfigInt(AUDIO, ALSA_CARD_ID_IN); + numCardOut = manager->getConfigInt(AUDIO, ALSA_CARD_ID_OUT); + numCardRing = manager->getConfigInt(AUDIO, ALSA_CARD_ID_RING); + sampleRate = manager->getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); + frameSize = manager->getConfigInt(AUDIO, ALSA_FRAME_SIZE); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream() == NULL); + CPPUNIT_ASSERT (_pulselayer->getRecordStream() == NULL); + + _pulselayer->setErrorMessage(-1); + + try { + CPPUNIT_ASSERT (_pulselayer->openDevice (numCardIn, numCardOut, numCardRing, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin) == true); + } catch (...) { + _debug ("Exception occured wile opening device! "); + } + + usleep(100000); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream() == NULL); + CPPUNIT_ASSERT (_pulselayer->getRecordStream() == NULL); + + _debug ("-------------------------- \n"); + _pulselayer->startStream(); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->pulseStream() != NULL); + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->pulseStream() != NULL); + + // Must return No error "PA_OK" == 1 + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->disconnectStream() == true); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->disconnectStream() == true); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream(NULL) == true); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream(NULL) == true); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream(NULL) == true); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream(NULL) == true); + + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); + + CPPUNIT_ASSERT (_pulselayer->disconnectAudioStream() == true); +} diff --git a/sflphone-common/test/audiolayerTest.h b/sflphone-common/test/audiolayertest.h similarity index 52% rename from sflphone-common/test/audiolayerTest.h rename to sflphone-common/test/audiolayertest.h index 7bda91c508c61ce2c100bffe42e798f9f0a0c434..8dffaf703f72d2f64c5ae8f99ec92dabe8291f95 100644 --- a/sflphone-common/test/audiolayerTest.h +++ b/sflphone-common/test/audiolayertest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,8 +15,27 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ +/* + * @file audiorecorderTest.cpp + * @brief Regroups unitary tests related to the plugin manager. + */ + +#ifndef _AUDIOLAYER_TEST_ +#define _AUDIOLAYER_TEST_ + // Cppunit import #include <cppunit/extensions/HelperMacros.h> #include <cppunit/TestCaller.h> @@ -35,58 +54,30 @@ #include "audio/alsa/alsalayer.h" #include "audio/pulseaudio/pulselayer.h" -/* - * @file audiorecorderTest.cpp - * @brief Regroups unitary tests related to the plugin manager. - */ +class AudioLayerTest: public CppUnit::TestFixture { -#ifndef _AUDIOLAYER_TEST_ -#define _AUDIOLAYER_TEST_ +CPPUNIT_TEST_SUITE( AudioLayerTest ); + CPPUNIT_TEST( testAudioLayerConfig ); + CPPUNIT_TEST( testPulseConnect ); + //TODO: this test ends the test sequence when using on a alsa only system + //CPPUNIT_TEST(testAudioLayerSwitch); + CPPUNIT_TEST_SUITE_END(); +public: + void testAudioLayerConfig(); + void testPulseConnect(); + void testAudioLayerSwitch(); -class AudioLayerTest : public CppUnit::TestCase { - - /* - * Use cppunit library macros to add unit test the factory - */ - CPPUNIT_TEST_SUITE( AudioLayerTest ); - CPPUNIT_TEST( testAudioLayerConfig ); - // CPPUNIT_TEST( testAudioLayerSwitch ); - CPPUNIT_TEST( testPulseConnect ); - // CPPUNIT_TEST( testAlsaConnect ); - CPPUNIT_TEST_SUITE_END(); - - public: - AudioLayerTest() : CppUnit::TestCase("Audio Layer Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - - /* - * Code factoring - Common resources can be released here. - * This method is called by unitcpp after each test - */ - inline void tearDown(); - - void testAudioLayerConfig(); - void testAudioLayerSwitch(); - void testPulseConnect(); - void testAlsaConnect(); - - private: - - ManagerImpl* manager; - - PulseLayer* _pulselayer; - - int layer; -}; +private: + + ManagerImpl* manager; -/* Register our test module */ + PulseLayer* _pulselayer; + + int layer; +}; +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(AudioLayerTest, "AudioLayerTest"); CPPUNIT_TEST_SUITE_REGISTRATION( AudioLayerTest ); #endif diff --git a/sflphone-common/test/audiorecorderTest.cpp b/sflphone-common/test/audiorecorderTest.cpp deleted file mode 100644 index d4dda35db6300499aeba05c5019a04ceec205349..0000000000000000000000000000000000000000 --- a/sflphone-common/test/audiorecorderTest.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software- - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdio.h> -#include <sstream> - -#include "audiorecorderTest.h" - -using std::cout; -using std::endl; - -void AudioRecorderTest::setUp() -{ - // Instanciate the object - _ar = new AudioRecord(); -} - -void AudioRecorderTest::testRecordData() -{ - - /* - FILE_TYPE ft = FILE_WAV; - SOUND_FORMAT sf = INT16; - _ar->setSndSamplingRate(44100); - _ar->openFile("theWavFile.wav",ft,sf); - - cout << "file opened!"; - - SFLDataFormat buf [2]; - for (SFLDataFormat i = -32768; i < 32767; i++ ){ - buf[0] = i; - buf[1] = i; - _ar->recData(buf,2); - } - - _ar->closeFile(); - */ -} - -void AudioRecorderTest::tearDown() -{ - // Delete the audio recorder module - delete _ar; - _ar = NULL; -} diff --git a/sflphone-common/test/audiorecorderTest.h b/sflphone-common/test/audiorecorderTest.h deleted file mode 100644 index 216b657079562007a1eb04955f390e3263ef1c87..0000000000000000000000000000000000000000 --- a/sflphone-common/test/audiorecorderTest.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -// Cppunit import -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCaller.h> -#include <cppunit/TestCase.h> -#include <cppunit/TestSuite.h> - -#include <assert.h> - -// Application import -#include "plug-in/pluginmanager.h" -#include "plug-in/audiorecorder/audiorecord.h" - -/* - * @file audiorecorderTest.cpp - * @brief Regroups unitary tests related to the plugin manager. - */ - -#ifndef _AUDIORECORDER_TEST_ -#define _AUDIORECORDER_TEST_ - -class AudioRecorderTest : public CppUnit::TestCase { - - /* - * Use cppunit library macros to add unit test the factory - */ - CPPUNIT_TEST_SUITE( AudioRecorderTest ); - CPPUNIT_TEST( testRecordData ); - CPPUNIT_TEST_SUITE_END(); - - public: - AudioRecorderTest() : CppUnit::TestCase("Audio Recorder Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - - /* - * Code factoring - Common resources can be released here. - * This method is called by unitcpp after each test - */ - inline void tearDown(); - - void testRecordData(); - - private: - AudioRecord *_ar; -}; - -/* Register our test module */ -CPPUNIT_TEST_SUITE_REGISTRATION( AudioRecorderTest ); - -#endif diff --git a/sflphone-common/test/configurationTest.cpp b/sflphone-common/test/configurationTest.cpp deleted file mode 100644 index 1819c92db1afc0a5073a3b5bbfc3a1be28569f55..0000000000000000000000000000000000000000 --- a/sflphone-common/test/configurationTest.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (C) 2008 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdio.h> -#include <sstream> - -#include "configurationTest.h" - -using std::cout; -using std::endl; - -void ConfigurationTest::setUp() -{ - // Load the default configuration - Manager::instance().initConfigFile(); -} - -void ConfigurationTest::testDefaultValueAudio() -{ - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_CARD_ID_IN) == ALSA_DFT_CARD) ; - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_CARD_ID_OUT) == ALSA_DFT_CARD); - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_SAMPLE_RATE) == DFT_SAMPLE_RATE); - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_FRAME_SIZE) == DFT_FRAME_SIZE) ; - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_PLUGIN) == PCM_DEFAULT); - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, VOLUME_SPKR) == DFT_VOL_SPKR_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, VOLUME_MICRO) == DFT_VOL_MICRO_STR); -} - -void ConfigurationTest::testDefaultValuePreferences() -{ - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, ZONE_TONE) == DFT_ZONE); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_DIALPAD) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_RINGTONE) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_SEARCHBAR) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_START) == NO_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_POPUP) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_NOTIFY) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_MAIL_NOTIFY) == NO_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_VOLUME) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, REGISTRATION_EXPIRE) == DFT_EXPIRE_VALUE); - CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_AUDIO) == DFT_AUDIO_MANAGER); - -} - -void ConfigurationTest::testDefaultValueSignalisation() -{ - CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , SYMMETRIC) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PLAY_DTMF) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PLAY_TONES) == YES_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PULSE_LENGTH) == DFT_PULSE_LENGTH_STR); - CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , SEND_DTMF_AS) == SIP_INFO_STR); -} - -void ConfigurationTest::testLoadSIPAccount() -{ - - AccountMap accounts; - Account *current; - std::ostringstream ss; - int nb_account; // Must be 1 - - // Load the account from the user file - nb_account = Manager::instance().loadAccountMap(); - CPPUNIT_ASSERT_EQUAL (1, nb_account); - // Save the account information - accounts = Manager::instance()._accountMap; - - AccountMap::iterator iter = accounts.begin(); - CPPUNIT_ASSERT (Manager::instance().accountExists (iter->first) == true); - - while (iter != accounts.end()) { - current = iter->second; - CPPUNIT_ASSERT (iter->first == current->getAccountID()); - CPPUNIT_ASSERT (0 == current->getVoIPLink()); - iter++; - } -} - -void ConfigurationTest::testUnloadSIPAccount() -{ - - AccountMap accounts; - - // Load the accounts from the user file - Manager::instance().loadAccountMap(); - // Unload the accounts - Manager::instance().unloadAccountMap(); - // Save the account information - accounts = Manager::instance()._accountMap; - - AccountMap::iterator iter = accounts.begin(); - CPPUNIT_ASSERT (Manager::instance().accountExists (iter->first) == false); - - if (iter != accounts.end()) { - CPPUNIT_FAIL ("Unload account map failed\n"); - } -} - -void ConfigurationTest::testInitVolume() -{ - - Manager::instance().initVolume(); - - CPPUNIT_ASSERT (Manager::instance().getConfigInt (AUDIO, VOLUME_SPKR) == Manager::instance().getSpkrVolume()); - CPPUNIT_ASSERT (Manager::instance().getConfigInt (AUDIO, VOLUME_MICRO) == Manager::instance().getMicVolume()); -} - -void ConfigurationTest::testInitAudioDriver() -{ - - // Load the audio driver - Manager::instance().initAudioDriver(); - - // Check the creation - - if (Manager::instance().getAudioDriver() == NULL) - CPPUNIT_FAIL ("Error while loading audio layer"); - - // Check if it has been created with the right type - if (Manager::instance().getConfigInt (PREFERENCES, CONFIG_AUDIO) == ALSA) - CPPUNIT_ASSERT_EQUAL (Manager::instance().getAudioDriver()->getLayerType(), ALSA); - else if (Manager::instance().getConfigInt (PREFERENCES, CONFIG_AUDIO) == PULSEAUDIO) - CPPUNIT_ASSERT_EQUAL (Manager::instance().getAudioDriver()->getLayerType(), PULSEAUDIO); - else - CPPUNIT_FAIL ("Wrong audio layer type"); -} - -void ConfigurationTest::testSelectAudioDriver() -{ -} diff --git a/sflphone-common/test/configurationTest.h b/sflphone-common/test/configurationTest.h deleted file mode 100644 index 87828521eed303cbe2b195684f0ffbe45048db74..0000000000000000000000000000000000000000 --- a/sflphone-common/test/configurationTest.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2008 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -// Cppunit import -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCaller.h> -#include <cppunit/TestCase.h> -#include <cppunit/TestSuite.h> - -#include <assert.h> - -// Application import -#include "manager.h" -#include "audio/audiolayer.h" -#include "global.h" -#include "user_cfg.h" - -/* - * @file configurationTest.cpp - * @brief Regroups unitary tests related to the user configuration. - * Check if the default configuration has been successfully loaded - */ - -#ifndef _CONFIGURATION_TEST_ -#define _CONFIGURATION_TEST_ - -class ConfigurationTest : public CppUnit::TestCase { - - /* - * Use cppunit library macros to add unit test the factory - */ - CPPUNIT_TEST_SUITE( ConfigurationTest ); - CPPUNIT_TEST( testDefaultValueAudio ); - CPPUNIT_TEST( testDefaultValuePreferences ); - CPPUNIT_TEST( testDefaultValueSignalisation ); - CPPUNIT_TEST( testLoadSIPAccount ); - CPPUNIT_TEST( testUnloadSIPAccount ); - CPPUNIT_TEST( testInitVolume ); - CPPUNIT_TEST( testInitAudioDriver ); - CPPUNIT_TEST( testSelectAudioDriver ); - CPPUNIT_TEST_SUITE_END(); - - public: - ConfigurationTest() : CppUnit::TestCase("Configuration Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - - /* - * Code factoring - Common resources can be released here. - * This method is called by unitcpp after each test - */ - inline void tearDown(){ - // Not much to do - } - - /* - * Unit tests related to the audio preferences - */ - void testDefaultValueAudio(); - - /* - * Unit tests related to the global settings - */ - void testDefaultValuePreferences(); - - /* - * Unit tests related to the global settings - */ - void testDefaultValueSignalisation(); - - /* - * Try to load one SIP account. - * So be sure to have only one SIP account so that the test could succeed - */ - void testLoadSIPAccount(); - void testUnloadSIPAccount(); - - void testInitVolume(); - - void testInitAudioDriver(); - void testSelectAudioDriver(); - -}; - -/* Register our test module */ -CPPUNIT_TEST_SUITE_REGISTRATION( ConfigurationTest ); - -#endif diff --git a/sflphone-common/test/configurationtest.cpp b/sflphone-common/test/configurationtest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..23294f67ccb7b2316212cf823f709768b5db0f8a --- /dev/null +++ b/sflphone-common/test/configurationtest.cpp @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <stdio.h> +#include <sstream> + +#include "configurationtest.h" +#include "constants.h" + +using std::cout; +using std::endl; + +void ConfigurationTest::testDefaultValueAudio() { + _debug ("-------------------- ConfigurationTest::testDefaultValueAudio() --------------------\n"); + + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_CARD_ID_IN) == ALSA_DFT_CARD); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_CARD_ID_OUT) == ALSA_DFT_CARD); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, AUDIO_SAMPLE_RATE) == DFT_SAMPLE_RATE); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_FRAME_SIZE) == DFT_FRAME_SIZE); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, ALSA_PLUGIN) == PCM_DEFAULT); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, VOLUME_SPKR) == DFT_VOL_SPKR_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (AUDIO, VOLUME_MICRO) == DFT_VOL_MICRO_STR); +} + +void ConfigurationTest::testDefaultValuePreferences() { + _debug ("-------------------- ConfigurationTest::testDefaultValuePreferences --------------------\n"); + + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, ZONE_TONE) == DFT_ZONE); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_DIALPAD) == NO_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_RINGTONE) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_SEARCHBAR) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_START) == NO_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_POPUP) == NO_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_NOTIFY) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_MAIL_NOTIFY) == NO_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_VOLUME) == NO_STR); + //CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, REGISTRATION_EXPIRE) == DFT_EXPIRE_VALUE); + //CPPUNIT_ASSERT (Manager::instance().getConfigString (PREFERENCES, CONFIG_AUDIO) == DFT_AUDIO_MANAGER); + +} + +void ConfigurationTest::testDefaultValueSignalisation() { + _debug ("-------------------- ConfigurationTest::testDefaultValueSignalisation --------------------\n"); + + CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , SYMMETRIC) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PLAY_DTMF) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PLAY_TONES) == YES_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , PULSE_LENGTH) == DFT_PULSE_LENGTH_STR); + CPPUNIT_ASSERT (Manager::instance().getConfigString (SIGNALISATION , SEND_DTMF_AS) == SIP_INFO_STR); +} + +void ConfigurationTest::testLoadSIPAccount() { + _debug ("-------------------- ConfigurationTest::testLoadSIPAccount --------------------\n"); + + AccountMap accounts; + Account *current; + std::ostringstream ss; + int nb_account; // Must be 1 + + // Load the account from the user file + nb_account = Manager::instance().loadAccountMap(); + CPPUNIT_ASSERT_EQUAL (1, nb_account); + // Save the account information + accounts = Manager::instance()._accountMap; + + AccountMap::iterator iter = accounts.begin(); + CPPUNIT_ASSERT (Manager::instance().accountExists (iter->first) == true); + + while (iter != accounts.end()) { + current = iter->second; + CPPUNIT_ASSERT (iter->first == current->getAccountID()); + CPPUNIT_ASSERT (0 == current->getVoIPLink()); + iter++; + } +} + +void ConfigurationTest::testUnloadSIPAccount() { + _debug ("-------------------- ConfigurationTest::testUnloadSIPAccount --------------------\n"); + + AccountMap accounts; + + // Load the accounts from the user file + Manager::instance().loadAccountMap(); + // Unload the accounts + Manager::instance().unloadAccountMap(); + // Save the account information + accounts = Manager::instance()._accountMap; + + AccountMap::iterator iter = accounts.begin(); + CPPUNIT_ASSERT (Manager::instance().accountExists (iter->first) == false); + + if (iter != accounts.end()) { + CPPUNIT_FAIL ("Unload account map failed\n"); + } +} + +void ConfigurationTest::testInitVolume() { + _debug ("-------------------- ConfigurationTest::testInitVolume --------------------\n"); + + Manager::instance().initVolume(); + + CPPUNIT_ASSERT (Manager::instance().getConfigInt (AUDIO, VOLUME_SPKR) == Manager::instance().getSpkrVolume()); + CPPUNIT_ASSERT (Manager::instance().getConfigInt (AUDIO, VOLUME_MICRO) == Manager::instance().getMicVolume()); +} + +void ConfigurationTest::testInitAudioDriver() { + _debug ("-------------------- ConfigurationTest::testInitAudioDriver --------------------\n"); + + // Load the audio driver + Manager::instance().initAudioDriver(); + + // Check the creation + + if (Manager::instance().getAudioDriver() == NULL) + CPPUNIT_FAIL ("Error while loading audio layer"); + + // Check if it has been created with the right type + if (Manager::instance().getConfigInt(PREFERENCES, CONFIG_AUDIO) == ALSA) + CPPUNIT_ASSERT_EQUAL (Manager::instance().getAudioDriver()->getLayerType(), ALSA); + else if (Manager::instance().getConfigInt(PREFERENCES, CONFIG_AUDIO) + == PULSEAUDIO) + CPPUNIT_ASSERT_EQUAL (Manager::instance().getAudioDriver()->getLayerType(), PULSEAUDIO); + else + CPPUNIT_FAIL ("Wrong audio layer type"); +} diff --git a/sflphone-common/test/configurationtest.h b/sflphone-common/test/configurationtest.h new file mode 100644 index 0000000000000000000000000000000000000000..1e2f572aa55ecd36324eb1672f0954a6f7badb94 --- /dev/null +++ b/sflphone-common/test/configurationtest.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +/* + * @file configurationTest.cpp + * @brief Regroups unitary tests related to the user configuration. + * Check if the default configuration has been successfully loaded + */ + +#ifndef _CONFIGURATION_TEST_ +#define _CONFIGURATION_TEST_ + +// Cppunit import +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestCaller.h> +#include <cppunit/TestCase.h> +#include <cppunit/TestSuite.h> + +#include <assert.h> + +// Application import +#include "manager.h" +#include "audio/audiolayer.h" +#include "global.h" +#include "user_cfg.h" + +class ConfigurationTest: public CppUnit::TestFixture { + + /* + * Use cppunit library macros to add unit test the factory + */ +CPPUNIT_TEST_SUITE( ConfigurationTest ); + CPPUNIT_TEST( testInitVolume ); + CPPUNIT_TEST( testDefaultValueAudio ); + CPPUNIT_TEST( testDefaultValuePreferences ); + CPPUNIT_TEST( testDefaultValueSignalisation ); + CPPUNIT_TEST( testInitAudioDriver ); + CPPUNIT_TEST_SUITE_END(); + +public: + /* + * Unit tests related to the audio preferences + */ + void testDefaultValueAudio(); + + /* + * Unit tests related to the global settings + */ + void testDefaultValuePreferences(); + + /* + * Unit tests related to the global settings + */ + void testDefaultValueSignalisation(); + + /* + * Try to load one SIP account. + * So be sure to have only one SIP account so that the test could succeed + */ + void testLoadSIPAccount(); + + void testUnloadSIPAccount(); + + void testInitVolume(); + + void testInitAudioDriver(); +}; +/* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(ConfigurationTest, "ConfigurationTest"); +CPPUNIT_TEST_SUITE_REGISTRATION( ConfigurationTest ); + +#endif diff --git a/sflphone-common/test/constants.h b/sflphone-common/test/constants.h new file mode 100644 index 0000000000000000000000000000000000000000..5b3d0884f4c042d3b91b90325bab1f6d5aefb6aa --- /dev/null +++ b/sflphone-common/test/constants.h @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +#define YES_STR "1" +#define NO_STR "0" +#define HISTORY_SAMPLE "history-sample" +#define HISTORY_SAMPLE_SIZE 3 +#define CONFIG_SAMPLE "sflphonedrc-sample" +#define HUGE_HISTORY_LIMIT 20000 + +#endif /* CONSTANTS_H_ */ diff --git a/sflphone-common/test/delaydetectiontest.cpp b/sflphone-common/test/delaydetectiontest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a0bb79bbc8335c1f783e48caaf0e18cfb41c8cfd --- /dev/null +++ b/sflphone-common/test/delaydetectiontest.cpp @@ -0,0 +1,211 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#include "delaydetectiontest.h" + +#include <iostream> +#include <math.h> +#include <string.h> + +void DelayDetectionTest::setUp() {} + +void DelayDetectionTest::tearDown() {} + +void DelayDetectionTest::testCrossCorrelation() +{ + float signal[10] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0}; + float ref[3] = {0.0, 1.0, 2.0}; + + float result[10]; + float expected[10] = {0.0, 0.89442719, 1.0, 0.95618289, 0.91350028, 0.88543774, 0.86640023, 0.85280287, 0.8426548, 0.83480969}; + + CPPUNIT_ASSERT(_delaydetect.correlate(ref, ref, 3) == 5.0); + CPPUNIT_ASSERT(_delaydetect.correlate(signal, signal, 10) == 285.0); + + _delaydetect.crossCorrelate(ref, signal, result, 3, 10); + + float tmp; + for (int i = 0; i < 10; i++) { + tmp = result[i]-expected[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.001); + else + CPPUNIT_ASSERT(tmp < 0.001); + } +} + +void DelayDetectionTest::testCrossCorrelationDelay() +{ + float signal[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0}; + float ref[3] = {0.0, 1.0, 0.0}; + + float result[10]; + + _delaydetect.crossCorrelate(ref, signal, result, 3, 10); + + float expected[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0}; + +} + +void DelayDetectionTest::testFirFilter() +{ + float decimationCoefs[] = {-0.09870257, 0.07473655, 0.05616626, 0.04448337, 0.03630817, 0.02944626, + 0.02244098, 0.01463477, 0.00610982, -0.00266367, -0.01120109, -0.01873722, + -0.02373243, -0.02602213, -0.02437806, -0.01869834, -0.00875287, 0.00500204, + 0.02183252, 0.04065763, 0.06015944, 0.0788299, 0.09518543, 0.10799179, + 0.1160644, 0.12889288, 0.1160644, 0.10799179, 0.09518543, 0.0788299, + 0.06015944, 0.04065763, 0.02183252, 0.00500204, -0.00875287, -0.01869834, + -0.02437806, -0.02602213, -0.02373243, -0.01873722, -0.01120109, -0.00266367, + 0.00610982, 0.01463477, 0.02244098, 0.02944626, 0.03630817, 0.04448337, + 0.05616626, 0.07473655, -0.09870257}; + std::vector<double> ird(decimationCoefs, decimationCoefs + sizeof(decimationCoefs)/sizeof(float)); + + float bandpassCoefs[] = {0.06278034, -0.0758545, -0.02274943, -0.0084497, 0.0702427, 0.05986113, + 0.06436469, -0.02412049, -0.03433526, -0.07568665, -0.03214543, -0.07236507, + -0.06979052, -0.12446371, -0.05530828, 0.00947243, 0.15294699, 0.17735563, + 0.15294699, 0.00947243, -0.05530828, -0.12446371, -0.06979052, -0.07236507, + -0.03214543, -0.07568665, -0.03433526, -0.02412049, 0.06436469, 0.05986113, + 0.0702427, -0.0084497, -0.02274943, -0.0758545, 0.06278034}; + std::vector<double> irb(bandpassCoefs, bandpassCoefs + sizeof(bandpassCoefs)/sizeof(float)); + + float impulse[100]; + memset(impulse, 0, sizeof(float)*100); + impulse[0] = 1.0; + + FirFilter _decimationFilter(ird); + FirFilter _bandpassFilter(irb); + + float impulseresponse[100]; + memset(impulseresponse, 0, sizeof(float)*100); + + // compute impulse response + for(int i = 0; i < 100; i++) { + impulseresponse[i] = _decimationFilter.getOutputSample(impulse[i]); + } + + float tmp; + int size = sizeof(decimationCoefs)/sizeof(float); + for(int i = 0; i < size; i++) { + tmp = decimationCoefs[i] - impulseresponse[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.000001); + else + CPPUNIT_ASSERT(tmp < 0.000001); + } + + + for(int i = 0; i < 100; i++) { + impulseresponse[i] = _bandpassFilter.getOutputSample(impulse[i]); + } + + size = sizeof(bandpassCoefs)/sizeof(float); + for(int i = 0; i < size; i++) { + tmp = bandpassCoefs[i] - impulseresponse[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.000001); + else + CPPUNIT_ASSERT(tmp < 0.000001); + } + +} + +void DelayDetectionTest::testIntToFloatConversion() { + + SFLDataFormat data[32768*2]; + float converted[32768*2]; + + for(int i = -32768; i < 32768; i++) + data[i+32768] = i; + + _delaydetect.convertInt16ToFloat32(data, converted, 32768*2); + + for(int i = -32768; i < 0; i++) { + CPPUNIT_ASSERT(converted[i+32768] >= -1.0); + CPPUNIT_ASSERT(converted[i+32768] <= 0.0); + } + + for(int i = 0; i < 32768; i++) { + CPPUNIT_ASSERT(converted[i+32768] >= 0.0); + CPPUNIT_ASSERT(converted[i+32768] <= 1.0); + } +} + +void DelayDetectionTest::testDownSamplingData() { + + SFLDataFormat data[32768*2]; + float converted[32768*2]; + float resampled[32768*2]; + + for(int i = -32768; i < 32768; i++) + data[i+32768] = i; + + _delaydetect.convertInt16ToFloat32(data, converted, 32768*2); + + _delaydetect.downsampleData(converted, resampled, 32768*2, 8); + + for(int i = 0; i < 32768/8; i++) { + CPPUNIT_ASSERT(resampled[i] >= -1.0); + CPPUNIT_ASSERT(resampled[i] <= 0.0); + } + + for(int i = 32768/8+1; i < 32768/4; i++) { + CPPUNIT_ASSERT(resampled[i] >= 0.0); + CPPUNIT_ASSERT(resampled[i] <= 1.0); + } + + +} + + +void DelayDetectionTest::testDelayDetection() { + + int delay = 100; + + SFLDataFormat spkr[WINDOW_SIZE]; + memset(spkr, 0, sizeof(SFLDataFormat)*WINDOW_SIZE); + spkr[0] = 32000; + spkr[1] = 32000; + spkr[2] = 32000; + spkr[3] = 32000; + spkr[4] = 32000; + + SFLDataFormat mic[DELAY_BUFF_SIZE]; + memset(mic, 0, sizeof(SFLDataFormat)*DELAY_BUFF_SIZE); + mic[delay] = 32000; + mic[delay+1] = 32000; + mic[delay+2] = 32000; + mic[delay+3] = 32000; + mic[delay+4] = 32000; + + _delaydetect.putData(spkr, WINDOW_SIZE*sizeof(SFLDataFormat)); + _delaydetect.process(mic, DELAY_BUFF_SIZE*sizeof(SFLDataFormat)); + +} diff --git a/sflphone-common/test/delaydetectiontest.h b/sflphone-common/test/delaydetectiontest.h new file mode 100644 index 0000000000000000000000000000000000000000..e0046b42c6352ad47a9af93c1dacc05bfe2e023a --- /dev/null +++ b/sflphone-common/test/delaydetectiontest.h @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +// Cppunit import +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestCaller.h> +#include <cppunit/TestCase.h> +#include <cppunit/TestSuite.h> + +#include <assert.h> + +#include <stdio.h> +#include <sstream> +#include <ccrtp/rtp.h> + + +// pjsip import +#include <pjsip.h> +#include <pjlib.h> +#include <pjsip_ua.h> +#include <pjlib-util.h> +#include <pjnath/stun_config.h> + +// Application import +#include "manager.h" +#include "audio/mainbuffer.h" +#include "audio/ringbuffer.h" +#include "call.h" +// #include "config/config.h" +// #include "user_cfg.h" + + +#include "audio/delaydetection.h" + +#ifndef _DELAYDETECTION_TEST_ +#define _DELAYDETECTION_TEST_ + +/* + * @file delaydetection.cpp + * @brief Regroups unitary tests related to the delay detection algorithm. + */ + +class DelayDetectionTest : public CppUnit::TestCase { + + CPPUNIT_TEST_SUITE( DelayDetectionTest ); + CPPUNIT_TEST( testCrossCorrelation ); + CPPUNIT_TEST( testCrossCorrelationDelay ); + CPPUNIT_TEST( testFirFilter ); + CPPUNIT_TEST( testIntToFloatConversion ); + CPPUNIT_TEST( testDownSamplingData ); + CPPUNIT_TEST( testDelayDetection ); + CPPUNIT_TEST_SUITE_END(); + + public: + + DelayDetectionTest() : CppUnit::TestCase("Delay Detection Tests") {} + + void setUp(); + + inline void tearDown(); + + void testCrossCorrelation(); + + void testCrossCorrelationDelay(); + + void testFirFilter(); + + void testIntToFloatConversion(); + + void testDownSamplingData(); + + void testDelayDetection(); + + private: + + DelayDetection _delaydetect; + +}; + +/* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(DelayDetectionTest, "DelayDetectionTest"); +CPPUNIT_TEST_SUITE_REGISTRATION( DelayDetectionTest ); + +#endif diff --git a/sflphone-common/test/historyTest.cpp b/sflphone-common/test/historyTest.cpp deleted file mode 100644 index b21179bb7883918fbf19ec2a8e90f902d2cdb41b..0000000000000000000000000000000000000000 --- a/sflphone-common/test/historyTest.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdio.h> -#include <sstream> - -#include "historyTest.h" -#include "manager.h" - -using std::cout; -using std::endl; - -#define HISTORY_SAMPLE "history-sample" -#define HISTORY_SAMPLE_SIZE 3 -#define CONFIG_SAMPLE "sflphonedrc-sample" -#define HUGE_HISTORY_LIMIT 20000 - -void HistoryTest::setUp() -{ - // Instanciate the cleaner singleton - history = new HistoryManager (); -} - -void HistoryTest::test_create_history_path () -{ - - int result; - char *cpath; - std::string path; - - cpath = getenv ("XDG_DATA_HOME"); - (cpath != NULL) ? path = std::string (cpath) : path = std::string (HOMEDIR) + "/.local/share/sflphone/history"; - - result = history->create_history_path (); - CPPUNIT_ASSERT (result == 0); - CPPUNIT_ASSERT (!history->is_loaded ()); - CPPUNIT_ASSERT (history->_history_path == path); -} - -void HistoryTest::test_load_history_from_file () -{ - bool res; - Conf::ConfigTree history_list; - - history->create_history_path (); - res = history->load_history_from_file (&history_list); - - CPPUNIT_ASSERT (history->is_loaded ()); - CPPUNIT_ASSERT (res == true); -} - -void HistoryTest::test_load_history_items_map () -{ - std::string path; - int nb_items; - Conf::ConfigTree history_list; - - history->set_history_path (HISTORY_SAMPLE); - history->load_history_from_file (&history_list); - nb_items = history->load_history_items_map (&history_list, HUGE_HISTORY_LIMIT); - CPPUNIT_ASSERT (nb_items == HISTORY_SAMPLE_SIZE); - CPPUNIT_ASSERT (history->get_history_size () == HISTORY_SAMPLE_SIZE); -} - -void HistoryTest::test_save_history_items_map () -{ - std::string path; - int nb_items_loaded, nb_items_saved; - Conf::ConfigTree history_list, history_list2; - - history->set_history_path (HISTORY_SAMPLE); - history->load_history_from_file (&history_list); - nb_items_loaded = history->load_history_items_map (&history_list, HUGE_HISTORY_LIMIT); - nb_items_saved = history->save_history_items_map (&history_list2); - CPPUNIT_ASSERT (nb_items_loaded == nb_items_saved); -} - -void HistoryTest::test_save_history_to_file () -{ - std::string path; - Conf::ConfigTree history_list, history_list2; - std::map <std::string, std::string> res; - std::map <std::string, std::string>::iterator iter; - - history->set_history_path (HISTORY_SAMPLE); - history->load_history_from_file (&history_list); - history->load_history_items_map (&history_list, HUGE_HISTORY_LIMIT); - history->save_history_items_map (&history_list2); - CPPUNIT_ASSERT (history->save_history_to_file (&history_list2)); -} - -void HistoryTest::test_get_history_serialized () -{ - std::map <std::string, std::string> res; - std::map <std::string, std::string>::iterator iter; - std::string tmp; - - // Load the sample user config - Manager::instance().initConfigFile (true, CONFIG_SAMPLE); - Manager::instance().loadAccountMap (); - - CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); - res = history->get_history_serialized (); - CPPUNIT_ASSERT (res.size() ==HISTORY_SAMPLE_SIZE); - - // Warning - If you change the history-sample file, you must change the following lines also so that the tests could work - // The reference here is the file history-sample in this test directory - // The serialized form is: calltype%to%from%callid - - // Check the first - tmp = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; - CPPUNIT_ASSERT (tmp == res ["144562436"]); - - tmp = "2|136|Emmanuel Milou|747638765|Account:1239059899"; - CPPUNIT_ASSERT (tmp == res ["747638685"]); - - // the account ID does not correspond to a loaded account - tmp = "1|5143848557|empty|775354987|empty"; - CPPUNIT_ASSERT (tmp == res ["775354456"]); -} - -void HistoryTest::test_set_serialized_history () -{ - // We build a map to have an efficient test - std::map <std::string, std::string> map_test; - std::string tmp; - Conf::ConfigTree history_list; - - map_test["144562436"] = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; - map_test["747638685"] = "2|136|Emmanuel Milou|747638765|Account:1239059899"; - map_test["775354456"] = "1|5143848557|empty|775354987|Account:43789459478"; - - CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); - // We use a large history limit to be able to interpret results - CPPUNIT_ASSERT (history->set_serialized_history (map_test, HUGE_HISTORY_LIMIT) == 3); - CPPUNIT_ASSERT (history->get_history_size () == 3); - - map_test.clear (); - map_test = history->get_history_serialized (); - CPPUNIT_ASSERT (map_test.size() ==3); - - // Check the first - tmp = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; - CPPUNIT_ASSERT (tmp == map_test ["144562436"]); - - tmp = "2|136|Emmanuel Milou|747638765|Account:1239059899"; - CPPUNIT_ASSERT (tmp == map_test ["747638685"]); - - // the account ID does not correspond to a loaded account - tmp = "1|5143848557|empty|775354987|empty"; - CPPUNIT_ASSERT (tmp == map_test ["775354456"]); - - history->save_history_items_map (&history_list); - CPPUNIT_ASSERT (history->save_history_to_file (&history_list)); -} - -void HistoryTest::test_set_serialized_history_with_limit () -{ - // We build a map to have an efficient test - std::map <std::string, std::string> map_test; - std::string tmp; - Conf::ConfigTree history_list; - time_t current, day=86400; // One day in unix timestamp - std::stringstream current_1, current_2, current_3; - - (void) time (¤t); - current_1 << (current - 2*day) << std::endl; - current_2 << (current - 5*day) << std::endl; - current_3 << (current - 11*day) << std::endl; - - map_test[current_1.str () ] = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; - map_test[current_2.str () ] = "2|136|Emmanuel Milou|747638765|Account:1239059899"; - map_test[current_3.str () ] = "1|5143848557|empty|775354987|Account:43789459478"; - - CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); - // We use different value of history limit - // 10 days - the last entry should not be saved - CPPUNIT_ASSERT (history->set_serialized_history (map_test, 10) == 2); - CPPUNIT_ASSERT (history->get_history_size () == 2); - - // 4 days - the two last entries should not be saved - CPPUNIT_ASSERT (history->set_serialized_history (map_test, 4) == 1); - CPPUNIT_ASSERT (history->get_history_size () == 1); - - // 1 day - no entry should not be saved - CPPUNIT_ASSERT (history->set_serialized_history (map_test, 1) == 0); - CPPUNIT_ASSERT (history->get_history_size () == 0); -} - -void HistoryTest::tearDown() -{ - // Delete the history object - delete history; - history=0; -} diff --git a/sflphone-common/test/historytest.cpp b/sflphone-common/test/historytest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8f0853c6a142b7ece063c455b97fb0369473b74e --- /dev/null +++ b/sflphone-common/test/historytest.cpp @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <stdio.h> +#include <sstream> + +#include "historytest.h" +#include "manager.h" +#include "constants.h" +#include "validator.h" + +using std::cout; +using std::endl; + +void HistoryTest::setUp() { + // Instanciate the cleaner singleton + history = new HistoryManager(); +} + +void HistoryTest::test_create_history_path() { + _debug ("-------------------- HistoryTest::test_create_history_path --------------------\n"); + + int result; + char *cpath; + std::string path; + + cpath = getenv("XDG_DATA_HOME"); + (cpath != NULL) ? path = std::string(cpath) : path = std::string(HOMEDIR) + + "/.local/share/sflphone/history"; + + result = history->create_history_path(); + CPPUNIT_ASSERT (result == 0); + CPPUNIT_ASSERT (!history->is_loaded ()); + CPPUNIT_ASSERT (history->_history_path == path); +} + +void HistoryTest::test_load_history_from_file() { + _debug ("-------------------- HistoryTest::test_load_history_from_file --------------------\n"); + + bool res; + Conf::ConfigTree history_list; + + history->create_history_path(); + res = history->load_history_from_file(&history_list); + + CPPUNIT_ASSERT (history->is_loaded ()); + CPPUNIT_ASSERT (res == true); +} + +void HistoryTest::test_load_history_items_map() { + _debug ("-------------------- HistoryTest::test_load_history_items_map --------------------\n"); + + std::string path; + int nb_items; + Conf::ConfigTree history_list; + + history->set_history_path(HISTORY_SAMPLE); + history->load_history_from_file(&history_list); + nb_items = history->load_history_items_map(&history_list, + HUGE_HISTORY_LIMIT); + CPPUNIT_ASSERT (nb_items == HISTORY_SAMPLE_SIZE); + CPPUNIT_ASSERT (history->get_history_size () == HISTORY_SAMPLE_SIZE); +} + +void HistoryTest::test_save_history_items_map() { + _debug ("-------------------- HistoryTest::test_save_history_items_map --------------------\n"); + + std::string path; + int nb_items_loaded, nb_items_saved; + Conf::ConfigTree history_list, history_list2; + + history->set_history_path(HISTORY_SAMPLE); + history->load_history_from_file(&history_list); + nb_items_loaded = history->load_history_items_map(&history_list, + HUGE_HISTORY_LIMIT); + nb_items_saved = history->save_history_items_map(&history_list2); + CPPUNIT_ASSERT (nb_items_loaded == nb_items_saved); +} + +void HistoryTest::test_save_history_to_file() { + _debug ("-------------------- HistoryTest::test_save_history_to_file --------------------\n"); + + std::string path; + Conf::ConfigTree history_list, history_list2; + std::map<std::string, std::string> res; + std::map<std::string, std::string>::iterator iter; + + history->set_history_path(HISTORY_SAMPLE); + history->load_history_from_file(&history_list); + history->load_history_items_map(&history_list, HUGE_HISTORY_LIMIT); + history->save_history_items_map(&history_list2); + CPPUNIT_ASSERT (history->save_history_to_file (&history_list2)); +} + +void HistoryTest::test_get_history_serialized() { + _debug ("-------------------- HistoryTest::test_get_history_serialized --------------------\n"); + + std::map<std::string, std::string> res; + std::map<std::string, std::string>::iterator iter; + std::string tmp; + + CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); + res = history->get_history_serialized(); + CPPUNIT_ASSERT (res.size() ==HISTORY_SAMPLE_SIZE); + + // Warning - If you change the history-sample file, you must change the following lines also so that the tests could work + // The reference here is the file history-sample in this test directory + // The serialized form is: calltype%to%from%callid + + // Check the first + tmp = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, res ["144562436"])); + + tmp = "2|136|Emmanuel Milou|747638765|Account:1239059899"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, res ["747638685"])); + + // the account ID does not correspond to a loaded account + tmp = "1|5143848557|empty|775354987|empty"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, res ["775354456"])); +} + +void HistoryTest::test_set_serialized_history() { + _debug ("-------------------- HistoryTest::test_set_serialized_history --------------------\n"); + + // We build a map to have an efficient test + std::map<std::string, std::string> map_test; + std::string tmp; + Conf::ConfigTree history_list; + + map_test["144562436"] = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; + map_test["747638685"] = "2|136|Emmanuel Milou|747638765|Account:1239059899"; + map_test["775354456"] = "1|5143848557|empty|775354987|Account:43789459478"; + + CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); + // We use a large history limit to be able to interpret results + CPPUNIT_ASSERT (history->set_serialized_history (map_test, HUGE_HISTORY_LIMIT) == 3); + CPPUNIT_ASSERT (history->get_history_size () == 3); + + map_test.clear(); + map_test = history->get_history_serialized(); + CPPUNIT_ASSERT (map_test.size() ==3); + + // Check the first + tmp = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, map_test ["144562436"])); + + tmp = "2|136|Emmanuel Milou|747638765|Account:1239059899"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, map_test ["747638685"])); + + // the account ID does not correspond to a loaded account + tmp = "1|5143848557|empty|775354987|empty"; + CPPUNIT_ASSERT (Validator::isEqual(tmp, map_test ["775354456"])); + + history->save_history_items_map(&history_list); + CPPUNIT_ASSERT (history->save_history_to_file (&history_list)); +} + +void HistoryTest::test_set_serialized_history_with_limit() { + _debug ("-------------------- HistoryTest::test_set_serialized_history_with_limit --------------------\n"); + + // We build a map to have an efficient test + std::map<std::string, std::string> map_test; + std::string tmp; + Conf::ConfigTree history_list; + time_t current, day = 86400; // One day in unix timestamp + std::stringstream current_1, current_2, current_3; + + (void) time(¤t); + current_1 << (current - 2 * day) << std::endl; + current_2 << (current - 5 * day) << std::endl; + current_3 << (current - 11 * day) << std::endl; + + map_test[current_1.str()] + = "0|514-276-5468|Savoir-faire Linux|144562458|empty"; + map_test[current_2.str()] + = "2|136|Emmanuel Milou|747638765|Account:1239059899"; + map_test[current_3.str()] + = "1|5143848557|empty|775354987|Account:43789459478"; + + CPPUNIT_ASSERT (history->load_history (HUGE_HISTORY_LIMIT, HISTORY_SAMPLE) == HISTORY_SAMPLE_SIZE); + // We use different value of history limit + // 10 days - the last entry should not be saved + CPPUNIT_ASSERT (history->set_serialized_history (map_test, 10) == 2); + CPPUNIT_ASSERT (history->get_history_size () == 2); + + // 4 days - the two last entries should not be saved + CPPUNIT_ASSERT (history->set_serialized_history (map_test, 4) == 1); + CPPUNIT_ASSERT (history->get_history_size () == 1); + + // 1 day - no entry should not be saved + CPPUNIT_ASSERT (history->set_serialized_history (map_test, 1) == 0); + CPPUNIT_ASSERT (history->get_history_size () == 0); +} + +void HistoryTest::tearDown() { + // Delete the history object + delete history; + history = 0; +} diff --git a/sflphone-common/test/historyTest.h b/sflphone-common/test/historytest.h similarity index 79% rename from sflphone-common/test/historyTest.h rename to sflphone-common/test/historytest.h index 38ac517c9faf9b80b478df268830a8872a086f37..84b1e7a5ec5a7720f7d3956180e36b034ef0ca8f 100644 --- a/sflphone-common/test/historyTest.h +++ b/sflphone-common/test/historytest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ // Cppunit import @@ -43,10 +54,10 @@ class HistoryTest : public CppUnit::TestCase { */ CPPUNIT_TEST_SUITE (HistoryTest); CPPUNIT_TEST (test_create_history_path); + CPPUNIT_TEST (test_save_history_to_file); + CPPUNIT_TEST (test_save_history_items_map); CPPUNIT_TEST (test_load_history_from_file); CPPUNIT_TEST (test_load_history_items_map); - CPPUNIT_TEST (test_save_history_items_map); - CPPUNIT_TEST (test_save_history_to_file); CPPUNIT_TEST (test_get_history_serialized); CPPUNIT_TEST (test_set_serialized_history); CPPUNIT_TEST (test_set_serialized_history_with_limit); @@ -88,6 +99,7 @@ class HistoryTest : public CppUnit::TestCase { }; /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(HistoryTest, "HistoryTest"); CPPUNIT_TEST_SUITE_REGISTRATION( HistoryTest ); #endif diff --git a/sflphone-common/test/hookmanagerTest.cpp b/sflphone-common/test/hookmanagertest.cpp similarity index 61% rename from sflphone-common/test/hookmanagerTest.cpp rename to sflphone-common/test/hookmanagertest.cpp index 817533a9277592570a8c2b5db7e5e7c0630dcd62..b0d68c936251e69f7200ce772f29af5f40e3d0a2 100644 --- a/sflphone-common/test/hookmanagerTest.cpp +++ b/sflphone-common/test/hookmanagertest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,13 +15,25 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> #include <sstream> #include <dlfcn.h> +#include "global.h" -#include "hookmanagerTest.h" +#include "hookmanagertest.h" using std::cout; using std::endl; @@ -35,6 +47,7 @@ void HookManagerTest::setUp() void HookManagerTest::testAddAction () { + _debug ("-------------------- HookManagerTest::testAddAction --------------------\n"); int status; @@ -44,6 +57,7 @@ void HookManagerTest::testAddAction () void HookManagerTest::testLargeUrl () { + _debug ("-------------------- HookManagerTest::testLargeUrl --------------------\n"); std::string url; std::cout << url.max_size() << std::endl; diff --git a/sflphone-common/test/hookmanagerTest.h b/sflphone-common/test/hookmanagertest.h similarity index 68% rename from sflphone-common/test/hookmanagerTest.h rename to sflphone-common/test/hookmanagertest.h index 9c7464125d8dff6f8d63471ace6a476bd1bc550f..f42a95a7049c3664113abbe2ee5f12eba313dc8f 100644 --- a/sflphone-common/test/hookmanagerTest.h +++ b/sflphone-common/test/hookmanagertest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,8 +15,27 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ +/* + * @file hookmanagerTest.cpp + * @brief Regroups unitary tests related to the hook manager. + */ + +#ifndef _HOOKMANAGER_TEST_ +#define _HOOKMANAGER_TEST_ + // Cppunit import #include <cppunit/extensions/HelperMacros.h> #include <cppunit/TestCaller.h> @@ -28,15 +47,7 @@ // Application import #include "hooks/urlhook.h" -/* - * @file hookmanagerTest.cpp - * @brief Regroups unitary tests related to the hook manager. - */ - -#ifndef _HOOKMANAGER_TEST_ -#define _HOOKMANAGER_TEST_ - -class HookManagerTest : public CppUnit::TestCase { +class HookManagerTest : public CppUnit::TestFixture { /** * Use cppunit library macros to add unit test the factory @@ -47,8 +58,6 @@ class HookManagerTest : public CppUnit::TestCase { CPPUNIT_TEST_SUITE_END (); public: - HookManagerTest() : CppUnit::TestCase("Hook Manager Tests") {} - /* * Code factoring - Common resources can be initialized here. * This method is called by unitcpp before each test @@ -62,13 +71,12 @@ class HookManagerTest : public CppUnit::TestCase { * Code factoring - Common resources can be released here. * This method is called by unitcpp after each test */ - inline void tearDown (); + void tearDown (); private: UrlHook *urlhook; }; - -/* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(HookManagerTest, "HookManagerTest"); CPPUNIT_TEST_SUITE_REGISTRATION( HookManagerTest ); #endif diff --git a/sflphone-common/test/hooksTest.h b/sflphone-common/test/hooksTest.h deleted file mode 100644 index a08e7e3ecd19a5e6695f0da45c8c7a3d72f19cf3..0000000000000000000000000000000000000000 --- a/sflphone-common/test/hooksTest.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -// Cppunit import -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCaller.h> -#include <cppunit/TestCase.h> -#include <cppunit/TestSuite.h> - -#include <assert.h> - -/* - * @file hooksTest.cpp - * @brief Regroups unitary tests related to the hooks. - */ - -#ifndef _HOOKS_TEST_ -#define _HOOKS_TEST_ - -class HooksTest : public CppUnit::TestCase { - - /** - * Use cppunit library macros to add unit test the factory - */ - CPPUNIT_TEST_SUITE (HooksTest); - CPPUNIT_TEST (); - CPPUNIT_TEST_SUITE_END(); - - public: - HooksTest() : CppUnit::TestCase("Hooks implementation Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - - /* - * Code factoring - Common resources can be released here. - * This method is called by unitcpp after each test - */ - inline void tearDown (); - - void testUnloadPlugins (); - - private: -}; - -/* Register our test module */ -CPPUNIT_TEST_SUITE_REGISTRATION (HooksTest); - -# diff --git a/sflphone-common/test/main.cpp b/sflphone-common/test/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ada12320f8272f1247ae0f3c6e4b1743ed8da548 --- /dev/null +++ b/sflphone-common/test/main.cpp @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <logger.h> +#include <manager.h> + +#define CONFIG_SAMPLE "sflphonedrc-sample" + +#include <cppunit/CompilerOutputter.h> +#include <cppunit/extensions/TestFactoryRegistry.h> +#include <cppunit/ui/text/TextTestRunner.h> + +int main(int argc, char* argv[]) { + + printf("\nSFLphone Daemon Test Suite, by Savoir-Faire Linux 2004-2010\n\n"); + Logger::setConsoleLog(true); + Logger::setDebugMode(true); + + int argvIndex = 1; + + if (argc > 1) { + if (strcmp("--help", argv[1]) == 0) { + argvIndex++; + + CPPUNIT_NS::Test* suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry("All Tests").makeTest(); + + int testSuiteCount = suite->getChildTestCount(); + printf("Usage: test [OPTIONS] [TEST_SUITE]\n"); + printf("\nOptions:\n"); + printf(" --debug - Debug mode\n"); + printf(" --help - Print help\n"); + printf("\nAvailable test suites:\n"); + for (int i = 0; i < testSuiteCount; i++) { + printf(" - %s\n", suite->getChildTestAt(i)->getName().c_str()); + } + exit(0); + } + else if (strcmp("--debug", argv[1]) == 0) { + argvIndex++; + + Logger::setDebugMode(true); + _info("Debug mode activated"); + } + } + + // Default test suite : all tests + std::string testSuiteName = "All Tests"; + if(argvIndex < argc) + { + testSuiteName = argv[argvIndex]; + argvIndex++; + } + + printf("\n\n=== SFLphone initialization ===\n\n"); + Manager::instance().initConfigFile(true, CONFIG_SAMPLE); + Manager::instance().init(); + + // Get the top level suite from the registry + printf("\n\n=== Test Suite: %s ===\n\n", testSuiteName.c_str()); + CPPUNIT_NS::Test *suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry(testSuiteName).makeTest(); + + if(suite->getChildTestCount() == 0) + { + _error("Invalid test suite name: %s", testSuiteName.c_str()); + exit(-1); + } + + // Adds the test to the list of test to run + CppUnit::TextTestRunner runner; + runner.addTest(suite); + + // Change the default outputter to a compiler error format outputter + runner.setOutputter(new CppUnit::CompilerOutputter(&runner.result(), std::cerr)); + + // Run the tests. + bool wasSucessful = runner.run(); + + Manager::instance().terminate(); + + // Return error code 1 if the one of test failed. + return wasSucessful ? 0 : 1; +} diff --git a/sflphone-common/test/mainbufferTest.cpp b/sflphone-common/test/mainbuffertest.cpp similarity index 97% rename from sflphone-common/test/mainbufferTest.cpp rename to sflphone-common/test/mainbuffertest.cpp index 830ff2c76979e67b867861c1433643c766dd609a..8b36a4b776dddfaddbb669ba15ce20815cacc973 100644 --- a/sflphone-common/test/mainbufferTest.cpp +++ b/sflphone-common/test/mainbuffertest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> @@ -29,7 +40,7 @@ #include <sstream> -#include "mainbufferTest.h" +#include "mainbuffertest.h" #include <unistd.h> @@ -53,7 +64,7 @@ void MainBufferTest::tearDown() void MainBufferTest::testRingBufferCreation() { - _debug ("MainBufferTest::testRingBufferCreation()"); + _debug ("-------------------- MainBufferTest::testRingBufferCreation --------------------\n"); CallID test_id = "1234"; CallID null_id = "null id"; @@ -100,7 +111,7 @@ void MainBufferTest::testRingBufferCreation() void MainBufferTest::testRingBufferReadPointer() { - _debug ("MainBufferTest::testRingBufferReadPointer()"); + _debug ("-------------------- MainBufferTest::testRingBufferReadPointer --------------------\n"); CallID call_id = "call id"; CallID read_id = "read id"; @@ -147,7 +158,7 @@ void MainBufferTest::testRingBufferReadPointer() void MainBufferTest::testCallIDSet() { - _debug ("MainBufferTest::testCallIDSet()"); + _debug ("-------------------- MainBufferTest::testCallIDSet --------------------\n"); CallID test_id = "set id"; CallID false_id = "false set id"; @@ -230,8 +241,7 @@ void MainBufferTest::testCallIDSet() void MainBufferTest::testRingBufferInt() { - - _debug ("MainBufferTest::testRingbufferInt()"); + _debug ("-------------------- MainBufferTest::testRingBufferInt --------------------\n"); // CallID test_id = "test_int"; @@ -347,8 +357,7 @@ void MainBufferTest::testRingBufferInt() void MainBufferTest::testRingBufferNonDefaultID() { - - _debug ("MainBufferTest::testRingBufferNonDefaultID()"); + _debug ("-------------------- MainBufferTest::testRingBufferNonDefaultID --------------------\n"); CallID test_id = "test_int"; @@ -435,8 +444,7 @@ void MainBufferTest::testRingBufferNonDefaultID() void MainBufferTest::testRingBufferFloat() { - - _debug ("MainBufferTest::testRingBufferFloat()"); + _debug ("-------------------- MainBufferTest::testRingBufferFloat --------------------\n"); float testfloat1 = 12.5; float testfloat2 = 13.4; @@ -470,9 +478,7 @@ void MainBufferTest::testRingBufferFloat() void MainBufferTest::testTwoPointer() { - - _debug ("MainBufferTest::testTwoPointer()"); - + _debug ("-------------------- MainBufferTest::testTwoPointer --------------------\n"); RingBuffer* input_buffer = _mainbuffer.createRingBuffer (default_id); input_buffer->createReadPointer (default_id); @@ -489,8 +495,7 @@ void MainBufferTest::testTwoPointer() void MainBufferTest::testBindUnbindBuffer() { - - _debug ("MainBufferTest::testBindUnbindBuffer()"); + _debug ("-------------------- MainBufferTest::testBindUnbindBuffer --------------------\n"); CallID test_id1 = "bind unbind 1"; CallID test_id2 = "bind unbind 2"; @@ -889,8 +894,7 @@ void MainBufferTest::testBindUnbindBuffer() void MainBufferTest::testGetPutDataByID() { - - _debug ("MainBufferTest::testGetPutData()"); + _debug ("-------------------- MainBufferTest::testGetPutDataByID --------------------\n"); CallID test_id = "getData putData"; CallID false_id = "false id"; @@ -945,8 +949,7 @@ void MainBufferTest::testGetPutDataByID() void MainBufferTest::testGetPutData() { - - _debug ("MainBufferTest::testGetDataAndCallID()"); + _debug ("-------------------- MainBufferTest::testGetPutData --------------------\n"); CallID test_id = "incoming rtp session"; @@ -994,8 +997,7 @@ void MainBufferTest::testGetPutData() void MainBufferTest::testDiscardFlush() { - - _debug ("MainBufferTest::testDiscardFlush()"); + _debug ("-------------------- MainBufferTest::testDiscardFlush --------------------\n"); CallID test_id = "flush discard"; // _mainbuffer.createRingBuffer(test_id); @@ -1037,8 +1039,7 @@ void MainBufferTest::testDiscardFlush() void MainBufferTest::testReadPointerInit() { - - _debug ("MainBufferTest::testReadPointerInit()"); + _debug ("-------------------- MainBufferTest::testReadPointerInit --------------------\n"); CallID test_id = "test read pointer init"; // RingBuffer* test_ring_buffer = _mainbuffer.createRingBuffer(test_id); @@ -1066,8 +1067,7 @@ void MainBufferTest::testReadPointerInit() void MainBufferTest::testRingBufferSeveralPointers() { - - _debug ("MainBufferTest::testRingBufferSeveralPointers"); + _debug ("-------------------- MainBufferTest::testRingBufferSeveralPointers --------------------\n"); CallID test_id = "test multiple read pointer"; RingBuffer* test_ring_buffer = _mainbuffer.createRingBuffer (test_id); @@ -1180,8 +1180,7 @@ void MainBufferTest::testRingBufferSeveralPointers() void MainBufferTest::testConference() { - - _debug ("MainBufferTest::testConference()"); + _debug ("-------------------- MainBufferTest::testConference --------------------\n"); CallID test_id1 = "participant A"; CallID test_id2 = "participant B"; @@ -1767,6 +1766,4 @@ void MainBufferTest::testConference() _mainbuffer.unBindCallID (test_id2); CPPUNIT_ASSERT (_mainbuffer._ringBufferMap.size() == 0); CPPUNIT_ASSERT (_mainbuffer._callIDMap.size() == 0); - - } diff --git a/sflphone-common/test/mainbufferTest.h b/sflphone-common/test/mainbuffertest.h similarity index 82% rename from sflphone-common/test/mainbufferTest.h rename to sflphone-common/test/mainbuffertest.h index 330228f9a92d011d4540f74a4cb902c1ff525c20..1c109c9e22e3371a5816a314abd5430e073708f4 100644 --- a/sflphone-common/test/mainbufferTest.h +++ b/sflphone-common/test/mainbuffertest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ // Cppunit import @@ -131,6 +142,7 @@ class MainBufferTest : public CppUnit::TestCase { }; /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MainBufferTest, "MainBufferTest"); CPPUNIT_TEST_SUITE_REGISTRATION( MainBufferTest ); #endif diff --git a/sflphone-common/test/numbercleanerTest.cpp b/sflphone-common/test/numbercleanertest.cpp similarity index 63% rename from sflphone-common/test/numbercleanerTest.cpp rename to sflphone-common/test/numbercleanertest.cpp index 03dca416046a62d38c9c49c2efcf34db4031f3ba..c13573e3f9bd9d78d07add7d28ad98f176433ebc 100644 --- a/sflphone-common/test/numbercleanerTest.cpp +++ b/sflphone-common/test/numbercleanertest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,13 +15,26 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> #include <sstream> #include <dlfcn.h> -#include "numbercleanerTest.h" +#include "global.h" + +#include "numbercleanertest.h" #define NUMBER_TEST_1 "514 333 4444" #define NUMBER_TEST_2 "514-333-4444" @@ -50,60 +63,70 @@ void NumberCleanerTest::setUp() void NumberCleanerTest::test_format_1 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_1 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_1) == VALID_NUMBER); } void NumberCleanerTest::test_format_2 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_2 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_2) == VALID_NUMBER); } void NumberCleanerTest::test_format_3 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_3 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_3) == VALID_NUMBER); } void NumberCleanerTest::test_format_4 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_4 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_4) == VALID_NUMBER); } void NumberCleanerTest::test_format_5 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_5 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_5) == VALID_NUMBER); } void NumberCleanerTest::test_format_6 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_6 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_6) == VALID_NUMBER); } void NumberCleanerTest::test_format_7 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_7 --------------------\n"); - CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_7) == VALID_NUMBER); + CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_7) == VALID_EXTENSION); } void NumberCleanerTest::test_format_8 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_8 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_8) == VALID_NUMBER); } void NumberCleanerTest::test_format_9 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_9 --------------------\n"); CPPUNIT_ASSERT (cleaner->clean (NUMBER_TEST_9) == VALID_NUMBER); } void NumberCleanerTest::test_format_10 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_10 --------------------\n"); cleaner->set_phone_number_prefix ("9"); CPPUNIT_ASSERT (cleaner->get_phone_number_prefix () == "9"); @@ -112,6 +135,7 @@ void NumberCleanerTest::test_format_10 (void) void NumberCleanerTest::test_format_11 (void) { + _debug ("-------------------- NumberCleanerTest::test_format_11 --------------------\n"); cleaner->set_phone_number_prefix ("9"); CPPUNIT_ASSERT (cleaner->get_phone_number_prefix () == "9"); diff --git a/sflphone-common/test/numbercleanerTest.h b/sflphone-common/test/numbercleanertest.h similarity index 78% rename from sflphone-common/test/numbercleanerTest.h rename to sflphone-common/test/numbercleanertest.h index 3af6ab8c92a59e3125dd1d7d2aa2d9d648e32b2f..d4e8774488b19fddd276fe83b5d322fbbaee0918 100644 --- a/sflphone-common/test/numbercleanerTest.h +++ b/sflphone-common/test/numbercleanertest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ // Cppunit import @@ -48,11 +59,7 @@ class NumberCleanerTest : public CppUnit::TestCase { CPPUNIT_TEST (test_format_4); CPPUNIT_TEST (test_format_5); CPPUNIT_TEST (test_format_6); - CPPUNIT_TEST (test_format_7); - CPPUNIT_TEST (test_format_8); - CPPUNIT_TEST (test_format_9); CPPUNIT_TEST (test_format_10); - CPPUNIT_TEST (test_format_11); CPPUNIT_TEST_SUITE_END (); public: @@ -97,6 +104,7 @@ class NumberCleanerTest : public CppUnit::TestCase { }; /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(NumberCleanerTest, "NumberCleanerTest"); CPPUNIT_TEST_SUITE_REGISTRATION( NumberCleanerTest ); #endif diff --git a/sflphone-common/test/pluginmanagerTest.cpp b/sflphone-common/test/pluginmanagertest.cpp similarity index 70% rename from sflphone-common/test/pluginmanagerTest.cpp rename to sflphone-common/test/pluginmanagertest.cpp index 86b4890c6ffe263a0a750d64a4a09cf3e9ba78cf..faa28f2b035931a9da340b16b3406397892efa48 100644 --- a/sflphone-common/test/pluginmanagerTest.cpp +++ b/sflphone-common/test/pluginmanagertest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,13 +15,24 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> #include <sstream> #include <dlfcn.h> -#include "pluginmanagerTest.h" +#include "pluginmanagertest.h" using std::cout; using std::endl; @@ -41,11 +52,15 @@ void PluginManagerTest::setUp() void PluginManagerTest::testLoadDynamicLibrary() { + _debug ("-------------------- PluginManagerTest::testLoadDynamicLibrary --------------------\n"); + CPPUNIT_ASSERT (_pm->loadDynamicLibrary (PLUGIN_TEST_NAME) != NULL); } void PluginManagerTest::testUnloadDynamicLibrary() { + _debug ("-------------------- PluginManagerTest::testUnloadDynamicLibrary --------------------\n"); + library = _pm->loadDynamicLibrary (PLUGIN_TEST_NAME); CPPUNIT_ASSERT (library != NULL); CPPUNIT_ASSERT (_pm->unloadDynamicLibrary (library) == 0); @@ -53,6 +68,8 @@ void PluginManagerTest::testUnloadDynamicLibrary() void PluginManagerTest::testInstanciatePlugin() { + _debug ("-------------------- PluginManagerTest::testInstanciatePlugin --------------------\n"); + library = _pm->loadDynamicLibrary (PLUGIN_TEST_NAME); CPPUNIT_ASSERT (library != NULL); CPPUNIT_ASSERT (_pm->instanciatePlugin (library, &plugin) == 0); @@ -61,6 +78,7 @@ void PluginManagerTest::testInstanciatePlugin() void PluginManagerTest::testInitPlugin() { + _debug ("-------------------- PluginManagerTest::testInitPlugin --------------------\n"); library = _pm->loadDynamicLibrary (PLUGIN_TEST_NAME); CPPUNIT_ASSERT (library != NULL); @@ -71,6 +89,8 @@ void PluginManagerTest::testInitPlugin() void PluginManagerTest::testRegisterPlugin() { + _debug ("-------------------- PluginManagerTest::testRegisterPlugin --------------------\n"); + library = _pm->loadDynamicLibrary (PLUGIN_TEST_NAME); CPPUNIT_ASSERT (library != NULL); CPPUNIT_ASSERT (_pm->instanciatePlugin (library, &plugin) == 0); @@ -81,12 +101,16 @@ void PluginManagerTest::testRegisterPlugin() void PluginManagerTest::testLoadPlugins () { + _debug ("-------------------- PluginManagerTest::testLoadPlugins --------------------\n"); + CPPUNIT_ASSERT (_pm->loadPlugins (PLUGIN_TEST_DIR) == 0); CPPUNIT_ASSERT (_pm->isPluginLoaded (PLUGIN_TEST_DESC) == true); } void PluginManagerTest::testUnloadPlugins () { + _debug ("-------------------- PluginManagerTest::testUnloadPlugins --------------------\n"); + CPPUNIT_ASSERT (_pm->loadPlugins (PLUGIN_TEST_DIR) == 0); CPPUNIT_ASSERT (_pm->isPluginLoaded (PLUGIN_TEST_DESC) == true); CPPUNIT_ASSERT (_pm->unloadPlugins () == 0); diff --git a/sflphone-common/test/pluginmanagerTest.h b/sflphone-common/test/pluginmanagertest.h similarity index 78% rename from sflphone-common/test/pluginmanagerTest.h rename to sflphone-common/test/pluginmanagertest.h index 293311b6d2de9bc1246901eace1bd5908c505707..a51682966ee9954c393cafaafc7b615e7bdb313e 100644 --- a/sflphone-common/test/pluginmanagerTest.h +++ b/sflphone-common/test/pluginmanagertest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ // Cppunit import @@ -89,6 +100,7 @@ class PluginManagerTest : public CppUnit::TestCase { }; /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(PluginManagerTest, "PluginManagerTest"); CPPUNIT_TEST_SUITE_REGISTRATION( PluginManagerTest ); #endif diff --git a/sflphone-common/test/rtpTest.cpp b/sflphone-common/test/rtpTest.cpp deleted file mode 100644 index 31dfcc81663b2c3842a3b4a0be2a1bb63dc1ab02..0000000000000000000000000000000000000000 --- a/sflphone-common/test/rtpTest.cpp +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright (C) 2009 Savoir-Faire Linux inc. - * Author: Alexandre Savarda <alexandre.savard@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdio.h> -#include <sstream> -#include <ccrtp/rtp.h> -#include <assert.h> -#include <string> -#include <cstring> -#include <math.h> -#include <dlfcn.h> -#include <iostream> -#include <sstream> - - -#include "rtpTest.h" - -#include <unistd.h> - - -using std::cout; -using std::endl; - - -void RtpTest::setUp() -{ - - _debug ("------ Set up rtp test------"); - - Manager::instance().initConfigFile(); - Manager::instance().init(); - - pjsipInit(); - - CallID cid = "123456"; - - sipcall = new SIPCall (cid, Call::Incoming, _pool); - - sipcall->setLocalIp ("127.0.0.1"); - sipcall->setLocalAudioPort (RANDOM_LOCAL_PORT); - sipcall->setLocalExternAudioPort (RANDOM_LOCAL_PORT); - - -} - -bool RtpTest::pjsipInit() -{ - - // Create memory cache for pool - pj_caching_pool_init (&_cp, &pj_pool_factory_default_policy, 0); - - // Create memory pool for application. - _pool = pj_pool_create (&_cp.factory, "rtpTest", 4000, 4000, NULL); - - if (!_pool) { - _debug ("----- RtpTest: Could not initialize pjsip memory pool ------"); - return PJ_ENOMEM; - } - - return true; - -} - - -void RtpTest::testRtpInitClose() -{ - - audiortp = new AudioSymmetricRtpSession (Manager::instance(), sipcall); - - _debug ("------ void RtpTest::testRtpInit() ------"); - - try { - - _debug ("-------- Open Rtp Session ----------"); - audiortp->createNewSession (sipcall); - - } catch (...) { - - _debug ("!!! Exception occured while Oppenning Rtp !!!"); - - } - - CPPUNIT_ASSERT (audiortp != NULL); - - - audiortp->_RTXThread->computeCodecFrameSize (320,8000); - - // computeNbByteAudioLayer - - _debug ("------ Finilize Rtp Initialization ------ "); - - - _debug ("------ RtpTest::testRtpClose() ------"); - - try { - _debug ("------ Close Rtp Session -------"); - CPPUNIT_ASSERT (audiortp->closeRtpSession()); - - } catch (...) { - - _debug ("!!! Exception occured while closing Rtp !!!"); - - } - - delete audiortp; - - audiortp = NULL; - -} - -void RtpTest::testRtpThread() -{ - - audiortp = new AudioRtp(); - - _debug ("-------- Open Rtp Session ----------"); - - try { - - audiortp->createNewSession (sipcall); - - } catch (...) { - - _debug ("!!! Exception occured while Oppenning Rtp !!!"); - - } - - _debug ("------ void RtpTest::testRtpThread ------"); - - CPPUNIT_ASSERT (audiortp->_RTXThread->computeCodecFrameSize (160,8000) == 20.0f); - CPPUNIT_ASSERT (audiortp->_RTXThread->computeCodecFrameSize (320,16000) == 20.0f); - CPPUNIT_ASSERT (audiortp->_RTXThread->computeCodecFrameSize (882,44100) == 20.0f); - - // 20 ms at 44.1 khz corespond to 882 samples (1764 byte) - CPPUNIT_ASSERT (audiortp->_RTXThread->computeNbByteAudioLayer (20.f) == 1764); - - _debug ("------ Close Rtp Session -------"); - - try { - - CPPUNIT_ASSERT (audiortp->closeRtpSession()); - - } catch (...) { - - _debug ("!!! Exception occured while closing Rtp !!!"); - - } - - delete audiortp; - - audiortp = NULL; -} - - - -void RtpTest::testRtpResampling() -{ - - int nbSample = 50; - int rsmpl_nbSample = 0; - - SFLDataFormat *data = new SFLDataFormat[1024]; - SFLDataFormat *rsmpl_data = new SFLDataFormat[1024]; - - for (int i = 0; i < nbSample; i++) - data[i] = i; - - - audiortp = new AudioRtp(); - - _debug ("-------- Open Rtp Session ----------"); - - try { - - audiortp->createNewSession (sipcall); - - } catch (...) { - - _debug ("!!! Exception occured while Oppenning Rtp !!!"); - - } - - _debug ("------ void RtpTest::testRtpResampling ------"); - - CPPUNIT_ASSERT (0 == 0); - rsmpl_nbSample = audiortp->_RTXThread->reSampleData (data, rsmpl_data, 8000, nbSample, UP_SAMPLING); - _debug ("ORIGINAL DATA SET"); - - for (int i = 0; i < nbSample; i++) - printf (" %i=>%i ", i, data[i]); - - _debug ("RESAMPLED DATA SET"); - - for (int i = 0; i < rsmpl_nbSample; i++) - printf (" %i=>%i ", i, rsmpl_data[i]); - - printf (""); - - - _debug ("------ Close Rtp Session -------"); - - try { - - CPPUNIT_ASSERT (audiortp->closeRtpSession()); - - } catch (...) { - - _debug ("!!! Exception occured while closing Rtp !!!"); - - } - - delete audiortp; - - audiortp = NULL; -} - - -void RtpTest::tearDown() -{ - - delete sipcall; - sipcall = NULL; -} diff --git a/sflphone-common/test/rtptest.cpp b/sflphone-common/test/rtptest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..366fc1fe23619b18f695228d74db761dfeea64e3 --- /dev/null +++ b/sflphone-common/test/rtptest.cpp @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savarda <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include <stdio.h> +#include <sstream> +#include <ccrtp/rtp.h> +#include <assert.h> +#include <string> +#include <cstring> +#include <math.h> +#include <dlfcn.h> +#include <iostream> +#include <sstream> +#include <time.h> + +#include "rtptest.h" +#include "audio/audiortp/AudioRtpSession.h" +#include "audio/audiortp/AudioSymmetricRtpSession.h" + +#include <unistd.h> + +void RtpTest::setUp() { + + pjsipInit(); + + CallID cid = "123456"; + + sipcall = new SIPCall(cid, Call::Incoming, _pool); + + sipcall->setLocalIp("127.0.0.1"); + sipcall->setLocalAudioPort(RANDOM_LOCAL_PORT); + sipcall->setLocalExternAudioPort(RANDOM_LOCAL_PORT); +} + +bool RtpTest::pjsipInit() { + // Create memory cache for pool + pj_caching_pool_init(&_cp, &pj_pool_factory_default_policy, 0); + + // Create memory pool for application. + _pool = pj_pool_create(&_cp.factory, "rtpTest", 4000, 4000, NULL); + + if (!_pool) { + _debug ("----- RtpTest: Could not initialize pjsip memory pool ------"); + return PJ_ENOMEM; + } + + return true; +} + +void RtpTest::testRtpInitClose() { + _debug ("-------------------- RtpTest::testRtpInitClose --------------------\n"); + + audiortp = new AudioRtpFactory(); + + try { + _debug ("-------- Open Rtp Session ----------"); + audiortp->initAudioRtpConfig(sipcall); + audiortp->initAudioRtpSession(sipcall); + //AudioCodecType codecType = PAYLOAD_CODEC_ULAW; + //AudioCodec* audioCodec = Manager::instance().getCodecDescriptorMap().instantiateCodec(codecType); + //audiortp->start(audioCodec); + + } catch (...) { + _debug ("!!! Exception occured while Oppenning Rtp !!!"); + CPPUNIT_ASSERT(false); + + } + + CPPUNIT_ASSERT (audiortp != NULL); + + sleep(1); + + _debug ("------ RtpTest::testRtpClose() ------"); + + try { + _debug ("------ Close Rtp Session -------"); + audiortp->stop(); + + } catch (...) { + + _debug ("!!! Exception occured while closing Rtp !!!"); + CPPUNIT_ASSERT(false); + + } + + delete audiortp; + + audiortp = NULL; +} + +void RtpTest::tearDown() { + delete sipcall; + sipcall = NULL; +} diff --git a/sflphone-common/test/rtpTest.h b/sflphone-common/test/rtptest.h similarity index 52% rename from sflphone-common/test/rtpTest.h rename to sflphone-common/test/rtptest.h index 9e7c39ec6ae21dcecde69a760ddcb51eb299aca0..57d2b49aaca46020588709b85ba4042a60bc56a9 100644 --- a/sflphone-common/test/rtpTest.h +++ b/sflphone-common/test/rtptest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,8 +15,22 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ +#ifndef _RTP_TEST_ +#define _RTP_TEST_ + // Cppunit import #include <cppunit/extensions/HelperMacros.h> #include <cppunit/TestCaller.h> @@ -29,7 +43,6 @@ #include <sstream> #include <ccrtp/rtp.h> - // pjsip import #include <pjsip.h> #include <pjlib.h> @@ -38,9 +51,8 @@ #include <pjnath/stun_config.h> // Application import +#include "audio/audiortp/AudioRtpFactory.h" #include "manager.h" -#include "audio/audiortp/AudioRtpSession.h" -#include "audio/audiortp/AudioSymmetricRtpSession.h" #include "call.h" #include "sip/sipcall.h" #include "sip/sipvoiplink.h" @@ -50,74 +62,60 @@ using namespace sfl; -/* - * @file audiorecorderTest.cpp - * @brief Regroups unitary tests related to the plugin manager. - */ - -#ifndef _RTP_TEST_ -#define _RTP_TEST_ - class AudioSymmetricRtpSession; class AudioRtpSession; -class AudioRtpRTX; +//class AudioRtpFactory; class SIPVoIPLink; -class RtpTest : public CppUnit::TestCase { - - /* - * Use cppunit library macros to add unit test the factory - */ - CPPUNIT_TEST_SUITE( RtpTest ); - CPPUNIT_TEST( testRtpInitClose ); - CPPUNIT_TEST( testRtpThread ); - CPPUNIT_TEST( testRtpResampling ); - CPPUNIT_TEST_SUITE_END(); - - public: - - RtpTest() : CppUnit::TestCase("Audio Layer Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - - /* - * Code factoring - Common resources can be released here. - * This method is called by unitcpp after each test - */ - inline void tearDown(); +class RtpTest: public CppUnit::TestCase { - bool pjsipInit(); + /* + * Use cppunit library macros to add unit test the factory + */ +CPPUNIT_TEST_SUITE( RtpTest ); + CPPUNIT_TEST( testRtpInitClose ); + CPPUNIT_TEST_SUITE_END(); - void testRtpInitClose(); +public: - void testRtpThread(); + RtpTest() : + CppUnit::TestCase("Audio Layer Tests") { + } - void testRtpResampling(); + /* + * Code factoring - Common resources can be initialized here. + * This method is called by unitcpp before each test + */ + void setUp(); + /* + * Code factoring - Common resources can be released here. + * This method is called by unitcpp after each test + */ + inline void tearDown(); - private: + bool pjsipInit(); + + void testRtpInitClose(); - enum CallType {Incoming, Outgoing}; +private: - ManagerImpl* manager; + enum CallType { + Incoming, Outgoing + }; - AudioSymmetricRtpSession *audiortp; + ManagerImpl* manager; - AudioRtpRTX *rtpthread; + AudioRtpFactory *audiortp; SIPCall *sipcall; pj_caching_pool _cp; pj_pool_t *_pool; - }; - /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(RtpTest, "RtpTest"); CPPUNIT_TEST_SUITE_REGISTRATION( RtpTest ); #endif diff --git a/sflphone-common/test/run-tests b/sflphone-common/test/run-tests deleted file mode 100755 index 9b5d01405c9e5f6883b58946d129ae17b0b43f91..0000000000000000000000000000000000000000 --- a/sflphone-common/test/run-tests +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -myname="`basename $0`" -failures=0 - -for f in * -do - # Skip ourself - if [ "$f" = "$myname" ]; then - continue - fi - - if [ -x "$f" ]; then - echo - echo "=== Running [$f] test ===" - # Warning, libCppUnit returns 0 on failure. - ./"$f" && { - echo Warning: Failure in $f. - failures=$((failures+1)) - } - fi -done - -echo "Tests finshed, there were $failures failures." diff --git a/sflphone-common/test/sdesnegotiatorTest.cpp b/sflphone-common/test/sdesnegotiatortest.cpp similarity index 82% rename from sflphone-common/test/sdesnegotiatorTest.cpp rename to sflphone-common/test/sdesnegotiatortest.cpp index 54f7f4b5ec0ec51210095816766f6134a269bed6..6a873613f29b59d4fdebf32b15e4c30c9c4724fe 100644 --- a/sflphone-common/test/sdesnegotiatorTest.cpp +++ b/sflphone-common/test/sdesnegotiatortest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ #include <stdio.h> @@ -28,30 +39,21 @@ #include <iostream> #include <sstream> - -#include "sdesnegotiatorTest.h" +#include "sdesnegotiatortest.h" #include <unistd.h> +#include "global.h" using std::cout; using std::endl; -void SdesNegotiatorTest::setUp() -{ - -} - - -void SdesNegotiatorTest::tearDown() -{ - -} - void SdesNegotiatorTest::testTagPattern() { - std::string subject = "a=crypto:4"; + _debug ("-------------------- SdesNegotiatorTest::testTagPattern --------------------\n"); + + std::string subject = "a=crypto:4"; pattern = new sfl::Pattern("^a=crypto:(?P<tag>[0-9]{1,9})"); *pattern << subject; @@ -66,6 +68,8 @@ void SdesNegotiatorTest::testTagPattern() void SdesNegotiatorTest::testCryptoSuitePattern() { + _debug ("-------------------- SdesNegotiatorTest::testCryptoSuitePattern --------------------\n"); + std::string subject = "AES_CM_128_HMAC_SHA1_80"; pattern = new sfl::Pattern("(?P<cryptoSuite>AES_CM_128_HMAC_SHA1_80|" \ @@ -84,6 +88,7 @@ void SdesNegotiatorTest::testCryptoSuitePattern() void SdesNegotiatorTest::testKeyParamsPattern() { + _debug ("-------------------- SdesNegotiatorTest::testKeyParamsPattern --------------------\n"); std::string subject = "inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32"; @@ -110,6 +115,7 @@ void SdesNegotiatorTest::testKeyParamsPattern() void SdesNegotiatorTest::testKeyParamsPatternWithoutMKI() { + _debug ("-------------------- SdesNegotiatorTest::testKeyParamsPatternWithoutMKI --------------------\n"); std::string subject = "inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj"; @@ -136,6 +142,8 @@ void SdesNegotiatorTest::testKeyParamsPatternWithoutMKI() */ void SdesNegotiatorTest::testNegotiation() { + _debug ("-------------------- SdesNegotiatorTest::testNegotiation --------------------\n"); + // Add a new SDES crypto line to be processed. remoteOffer = new std::vector<std::string>(); remoteOffer->push_back(std::string("a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd|2^20|1:32")); @@ -167,6 +175,8 @@ void SdesNegotiatorTest::testNegotiation() */ void SdesNegotiatorTest::testComponent() { + _debug ("-------------------- SdesNegotiatorTest::testComponent --------------------\n"); + // Register the local capabilities. std::vector<sfl::CryptoSuiteDefinition> * capabilities = new std::vector<sfl::CryptoSuiteDefinition>(); @@ -192,6 +202,8 @@ void SdesNegotiatorTest::testComponent() */ void SdesNegotiatorTest::testMostSimpleCase() { + _debug ("-------------------- SdesNegotiatorTest::testMostSimpleCase --------------------\n"); + // Register the local capabilities. std::vector<sfl::CryptoSuiteDefinition> * capabilities = new std::vector<sfl::CryptoSuiteDefinition>(); @@ -219,8 +231,4 @@ void SdesNegotiatorTest::testMostSimpleCase() delete capabilities; capabilities = NULL; delete cryptoOffer; cryptoOffer = NULL; delete negotiator; negotiator = NULL; - - } - - diff --git a/sflphone-common/test/sdesnegotiatorTest.h b/sflphone-common/test/sdesnegotiatortest.h similarity index 77% rename from sflphone-common/test/sdesnegotiatorTest.h rename to sflphone-common/test/sdesnegotiatortest.h index f3e73f6c2f009df0787b9ad2522f437716b02503..ee5cb339645004f6fffc53caf9f596c7c7f53552 100644 --- a/sflphone-common/test/sdesnegotiatorTest.h +++ b/sflphone-common/test/sdesnegotiatortest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Savoir-Faire Linux inc. + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify @@ -15,6 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. */ // Cppunit import @@ -41,9 +52,6 @@ // Application import #include "sip/SdesNegotiator.h" #include "sip/Pattern.h" -// #include "config/config.h" -// #include "user_cfg.h" - /* @@ -72,20 +80,10 @@ class SdesNegotiatorTest : public CppUnit::TestCase { public: - SdesNegotiatorTest() : CppUnit::TestCase("Sdes Tests") {} - - /* - * Code factoring - Common resources can be initialized here. - * This method is called by unitcpp before each test - */ - void setUp(); - /* * Code factoring - Common resources can be released here. * This method is called by unitcpp after each test */ - inline void tearDown(); - void testTagPattern(); void testCryptoSuitePattern(); @@ -114,6 +112,7 @@ class SdesNegotiatorTest : public CppUnit::TestCase { }; /* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(SdesNegotiatorTest, "SdesNegotiatorTest"); CPPUNIT_TEST_SUITE_REGISTRATION( SdesNegotiatorTest ); #endif diff --git a/sflphone-common/test/validator.cpp b/sflphone-common/test/validator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a12bad1714cebcbda861aa6261f13af8e1851e2f --- /dev/null +++ b/sflphone-common/test/validator.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "validator.h" + +bool Validator::isNumber(std::string str) { + unsigned int i = 0; + if (!str.empty() && (str[i] == '-' || str[i] == '+')) + i++; + return string::npos == str.find_first_not_of(".eE0123456789", i); +} + +bool Validator::isNotNull(std::string str) { + if(!str.empty()) + return true; + else + return false; +} + +bool Validator::isEqual(std::string str1, std::string str2) { + return str1.compare(str2) == 0; +} diff --git a/sflphone-common/test/validator.h b/sflphone-common/test/validator.h new file mode 100644 index 0000000000000000000000000000000000000000..2f31ca32934680b2588c139308c8e404fab48afd --- /dev/null +++ b/sflphone-common/test/validator.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef VALIDATOR_H_ +#define VALIDATOR_H_ + +#include <string> +#include <iostream> + +using namespace std; + +class Validator { + public: + static bool isNumber(std::string str); + static bool isNotNull(std::string str); + static bool isEqual(std::string str1, std::string str2); +}; +#endif /* VALIDATOR_H_ */ diff --git a/sippxml/account_uac_send_hangup.xml b/sippxml/account_uac_send_hangup.xml new file mode 100644 index 0000000000000000000000000000000000000000..8971769c591c52bbfd1c89cc1e96e46c71fe3860 --- /dev/null +++ b/sippxml/account_uac_send_hangup.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <pause milliseconds="200"/> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 3 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="401" auth="true"> + </recv> + + <pause milliseconds="200"/> + + <send> + <![CDATA[ + + ACK sip:27182@[remote_ip] SIP/2.0 + Max-Forwards: 70 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 4 ACK + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@:[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 5 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + [authentication username=27182 password=1234] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100"> + </recv> + + <recv response="180"> + </recv> + + + <recv response="200"> + </recv> + + <send> + <![CDATA[ + + ACK sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[local_ip]:[local_port]>;tag=[call_number] + To: <sip:2000@192.168.50.79:[remote_port]> + Call-ID: [call_id] + CSeq: 5 ACK + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + BYE sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[local_ip]:[local_port]>;tag=[call_number] + To: <sip:2000@192.168.50.79:[remote_port]> + Call-ID: [call_id] + CSeq: 6 BYE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200"> + </recv> + + <pause milliseconds="1000"/> + +</scenario> diff --git a/sippxml/account_uac_send_peer_hungup.xml b/sippxml/account_uac_send_peer_hungup.xml new file mode 100644 index 0000000000000000000000000000000000000000..716da9dd6de55534e79d29e2efa54ad6248ccc5c --- /dev/null +++ b/sippxml/account_uac_send_peer_hungup.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <pause milliseconds="200"/> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@[remote_ip]>;tag=[call_number] + To: <sip:2000@[remote_ip]> + Call-ID: [call_id] + CSeq: 3 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="401" auth="true"> + </recv> + + <pause milliseconds="200"/> + + <send> + <![CDATA[ + + ACK sip:27182@[remote_ip] SIP/2.0 + Max-Forwards: 70 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[remote_ip]>;tag=[call_number] + To: <sip:2000@[remote_ip]> + Call-ID: [call_id] + CSeq: 4 ACK + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@:[remote_ip]>;tag=[call_number] + To: <sip:2000@[remote_ip]> + Call-ID: [call_id] + CSeq: 5 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + [authentication username=27182 password=1234] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100"> + </recv> + + <recv response="180"> + </recv> + + + <recv response="200"> + </recv> + + <send> + <![CDATA[ + + ACK sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[remote_ip]>;tag=[call_number] + To: <sip:2000@[remote_ip]> + Call-ID: [call_id] + CSeq: 5 ACK + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv request="BYE"> + </recv> + + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <pause milliseconds="1000"/> + +</scenario> diff --git a/sippxml/account_uas_receive_transfer.xml b/sippxml/account_uas_receive_transfer.xml new file mode 100644 index 0000000000000000000000000000000000000000..80a875fbf707be6c6f3c03c2484be68c7c255ce4 --- /dev/null +++ b/sippxml/account_uas_receive_transfer.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <recv request="INVITE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <recv request="INVITE"> + </recv> + + <pause milliseconds="200"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + +</scenario> diff --git a/sippxml/account_uas_recv_hangup.xml b/sippxml/account_uas_recv_hangup.xml new file mode 100644 index 0000000000000000000000000000000000000000..94bea4704232386a5518de7995c3138bc3007850 --- /dev/null +++ b/sippxml/account_uas_recv_hangup.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <recv request="INVITE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <pause milliseconds="200"/> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <recv request="INVITE"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <send retrans="500"> + <![CDATA[ + + BYE sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[local_ip]:[local_port]>;tag=[call_number] + To: <sip:2000@192.168.50.79:[remote_port]> + Call-ID: [call_id] + CSeq: 6 BYE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200"> + </recv> + +</scenario> diff --git a/sippxml/account_uas_recv_peer_hungup.xml b/sippxml/account_uas_recv_peer_hungup.xml new file mode 100644 index 0000000000000000000000000000000000000000..c91230c7fc32e2c853d934ec5dbc3f499060d958 --- /dev/null +++ b/sippxml/account_uas_recv_peer_hungup.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <recv request="INVITE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <recv request="INVITE"> + </recv> + + <pause milliseconds="200"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <recv request="BYE"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + +</scenario> diff --git a/sippxml/account_uas_recv_transfered.xml b/sippxml/account_uas_recv_transfered.xml new file mode 100644 index 0000000000000000000000000000000000000000..210f5621b4b5a002adcbbd0a1880756c49b33088 --- /dev/null +++ b/sippxml/account_uas_recv_transfered.xml @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <recv request="INVITE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + <recv request="INVITE"> + </recv> + + <pause milliseconds="200"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK"> + </recv> + + + <!-- + + <recv request="BYE"> + </recv> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + --> + +</scenario> diff --git a/sippxml/account_uas_register.xml b/sippxml/account_uas_register.xml new file mode 100644 index 0000000000000000000000000000000000000000..e4ebb812276270bd5a3334ecd61a4b4c2825900c --- /dev/null +++ b/sippxml/account_uas_register.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <send retrans="500"> + <![CDATA[ + + REGISTER sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + Max-Forwards: 70 + From: <sip:27182@[remote_ip]>;tag=[call_number] + To: <sip:27182@[remote_ip]> + Call-ID: REG///[call_id] + CSeq: 1 REGISTER + Contact: <sip:27182@[local_ip]:[local_port]> + Content-Length: 0 + Expires: 300 + + ]]> + </send> + + <recv response="401" auth="true"> + </recv> + + <send retrans="500"> + <![CDATA[ + + REGISTER sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + Max-Forwards: 70 + From: <sip:27182@[remote_ip]>;tag=[call_number] + To: <sip:27182@[remote_ip]> + Call-ID: REG///[call_id] + CSeq: 2 REGISTER + Contact: <sip:27182@[local_ip]:[local_port]> + Content-Length: 0 + Expires: 300 + [authentication username=27182 password=1234] + + ]]> + </send> + + <recv response="200"> + </recv> + +</scenario> diff --git a/sippxml/accountcalluac.xml b/sippxml/accountcalluac.xml new file mode 100644 index 0000000000000000000000000000000000000000..a5ba5ac2837e45ceda1d67fe9bbb06226ec48543 --- /dev/null +++ b/sippxml/accountcalluac.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <send retrans="500"> + <![CDATA[ + + REGISTER sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + Max-Forward: 70 + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:27182@[remote_ip]:[remote_port]> + Call-ID: REG///[call_id] + CSeq: 1 REGISTER + Contact: <sip:27182@[remote_ip]:[remote_port]> + Content-Length: 0 + Expires: 300 + + ]]> + </send> + + <recv response="401" auth="true"> + </recv> + + <send retrans="500"> + <![CDATA[ + + REGISTER sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + Max-Forwards: 70 + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:27182@[remote_ip]:[remote_port]> + Call-ID: REG///[call_id] + CSeq: 2 REGISTER + Contact: <sip:27182@[remote_ip]:[remote_port]> + Content-Length: 0 + Expires: 300 + [authentication username=27182 password=1234] + + ]]> + </send> + + <recv response="200"> + </recv> + + <pause milliseconds="200"/> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 3 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="401" auth="true"> + </recv> + + <pause milliseconds="200"/> + + <send> + <![CDATA[ + + ACK sip:27182@[remote_ip] SIP/2.0 + Max-Forwards: 70 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 4 ACK + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:2000@[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:27182@:[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:2000@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 5 INVITE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + [authentication username=27182 password=1234] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100"> + </recv> + + <recv response="180"> + </recv> + + + <recv response="200"> + </recv> + + <send> + <![CDATA[ + + ACK sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[local_ip]:[local_port]>;tag=[call_number] + To: <sip:2000@192.168.50.79:[remote_port]> + Call-ID: [call_id] + CSeq: 5 ACK + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + BYE sip:2000@192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:27182@[local_ip]:[local_port]>;tag=[call_number] + To: <sip:2000@192.168.50.79:[remote_port]> + Call-ID: [call_id] + CSeq: 6 BYE + Contact: sip:27182@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + + <pause milliseconds="1000"/> + +</scenario> diff --git a/sippxml/accountcalluas.xml b/sippxml/accountcalluas.xml new file mode 100644 index 0000000000000000000000000000000000000000..82158ef0a5c0fd85053aa9232d387d55e2ed219c --- /dev/null +++ b/sippxml/accountcalluas.xml @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="branch_server"> + <recv request="REGISTER"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + Expires: 300 + + ]]> + </send> + + <!-- Set variable 3 if the ua is of the form ua2... --> + <recv request="INVITE" crlf="true"> + <action> + <ereg regexp="ua2" + search_in="hdr" + header="From: " + assign_to="3"/> + </action> + </recv> + + <!-- send 180 then trying if variable 3 is set --> + <send next="1" test="3"> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <!-- if not, send a 403 error then skip to wait for a BYE --> + <send next="2"> + <![CDATA[ + + SIP/2.0 403 Error + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <label id="1"/> + + <send> + <![CDATA[ + + SIP/2.0 100 Trying + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: 136 + + v=0 + o=user1 53655765 2353687637 IN IP4 127.0.0.1 + s=- + t=0 0 + c=IN IP4 [media_ip] + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK" + optional="true" + rtd="true" + crlf="true"> + </recv> + + <label id="2"/> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <!-- Keep the call open for a while in case the 200 is lost to be --> + <!-- able to retransmit it if we receive the BYE again. --> + <pause milliseconds="4000"/> + + <!-- Definition of the response time repartition table (unit is ms) --> + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <!-- Definition of the call length repartition table (unit is ms) --> + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/ip2ip_uac_send_hangup.xml b/sippxml/ip2ip_uac_send_hangup.xml new file mode 100644 index 0000000000000000000000000000000000000000..5c9673644d278302d2b66d773605c31bc7321cf5 --- /dev/null +++ b/sippxml/ip2ip_uac_send_hangup.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100" optional="true"> + </recv> + + <recv response="180"> + </recv> + + + <recv response="200"> + <action> + <ereg regexp="tag=.*" search_in="hdr" header="To:" check_it="true" assign_to="1" /> + </action> + </recv> + + <send> + <![CDATA[ + + ACK sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:[local_ip]:[local_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]>;tag=[$1] + Call-ID: [call_id] + CSeq: 2 ACK + Contact: sip:[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + BYE sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:[local_ip]:[local_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]>;tag=[$1] + Call-ID: [call_id] + CSeq: 3 BYE + Contact: sip:[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200"> + </recv> + +</scenario> diff --git a/sippxml/ip2ip_uac_send_peer_hungup.xml b/sippxml/ip2ip_uac_send_peer_hungup.xml new file mode 100644 index 0000000000000000000000000000000000000000..048b0d8a062521288ed6afc5c21934a2232dd30a --- /dev/null +++ b/sippxml/ip2ip_uac_send_peer_hungup.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- This program is free software; you can redistribute it and/or --> +<!-- modify it under the terms of the GNU General Public License as --> +<!-- published by the Free Software Foundation; either version 2 of the --> +<!-- License, or (at your option) any later version. --> +<!-- --> +<!-- This program is distributed in the hope that it will be useful, --> +<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> +<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> +<!-- GNU General Public License for more details. --> +<!-- --> +<!-- You should have received a copy of the GNU General Public License --> +<!-- along with this program; if not, write to the --> +<!-- Free Software Foundation, Inc., --> +<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> + + +<scenario name="accountcall_client"> + + <send retrans="1000"> + <![CDATA[ + + INVITE sip:[remote_ip] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:[remote_ip]:[remote_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100" optional="true"> + </recv> + + <recv response="180"> + </recv> + + <recv response="200"> + </recv> + + <send> + <![CDATA[ + + ACK sip:192.168.50.79 SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: <sip:[local_ip]:[local_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 2 ACK + Contact: sip:[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + +</scenario> diff --git a/sippxml/ip2ip_uas_recv_hangup.xml b/sippxml/ip2ip_uas_recv_hangup.xml new file mode 100644 index 0000000000000000000000000000000000000000..4e86b47480bd761e3d4ccdf071dcbe5738f5c5f9 --- /dev/null +++ b/sippxml/ip2ip_uas_recv_hangup.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + + +<scenario name="Basic UAS responder"> + + <recv request="INVITE" crlf="true"> + </recv> + + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <!-- tag from From: header is required to build the To: header in + -- Bye request. --> + + <recv request="ACK"> + <action> + <ereg regexp="tag=.*" search_in="hdr" header="From:" check_it="true" assign_to="1" /> + </action> + </recv> + + <pause milliseconds="500"/> + + <send retrans="500"> + <![CDATA[ + + BYE sip:[service] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch] + From: <sip:[local_ip]:[local_port]>;tag=[call_number] + To: <sip:[remote_ip]:[remote_port]>;[$1] + [last_Call-ID:] + CSeq: [cseq] BYE + Contact: <sip:test@[local_ip]:[local_port]> + Max-Forwards: 70 + Subject: Functional Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200"> + </recv> + + <pause milliseconds="1000"/> + + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/ip2ip_uas_recv_hold_offhold.xml b/sippxml/ip2ip_uas_recv_hold_offhold.xml new file mode 100644 index 0000000000000000000000000000000000000000..568a97a9e62ddf5bd4a323b920f425f300104273 --- /dev/null +++ b/sippxml/ip2ip_uas_recv_hold_offhold.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + + +<scenario name="UAS HOLD/OFFHOLD"> + + <!-- Receive a new call --> + + <recv request="INVITE" crlf="true"> + <action> + <ereg regexp="sendrecv" search_in="body" check_it="true" assign_to="1"/> + <log message="Media is [$1]"/> + </action> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> +</send> + + <recv request="ACK" optional="true" rtd="true" crlf="true"> + </recv> + + <!-- This call is now on HOLD: sendonly tell to PBX to send music on hold--> + + <recv request="INVITE" crlf="true"> + <action> + <ereg regexp="sendonly" search_in="body" check_it="true" assign_to="2"/> + <log message="Media is [$2]"/> + </action> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK" optional="true" rtd="true" crlf="true"> + </recv> + + <!-- OFFHOLD this call --> + + <recv request="INVITE" crlf="true"> + <action> + <ereg regexp="sendrecv" search_in="body" check_it="true" assign_to="3"/> + <log message="Media is [$3]"/> + </action> + </recv> + + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK" optional="true" rtd="true" crlf="true"> + </recv> + + <!-- Hangup this call --> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <pause milliseconds="4000"/> + + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/ip2ip_uas_recv_peer_hungup.xml b/sippxml/ip2ip_uas_recv_peer_hungup.xml new file mode 100644 index 0000000000000000000000000000000000000000..04a964cd1c6900b66af0e563f95054df66b0aff8 --- /dev/null +++ b/sippxml/ip2ip_uas_recv_peer_hungup.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + + +<scenario name="Basic UAS responder"> + + <recv request="INVITE" crlf="true"> + </recv> + + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> +</send> + + <recv request="ACK" optional="true" rtd="true" crlf="true"> + </recv> + + <recv request="INVITE" optional="true"> + </recv> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/ip2ipcalluac.xml b/sippxml/ip2ipcalluac.xml new file mode 100644 index 0000000000000000000000000000000000000000..90238563904458931a5f3798c004961e7fdae6e0 --- /dev/null +++ b/sippxml/ip2ipcalluac.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + + +<scenario name="Basic Sipstone UAC"> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="180" optional="true"> + </recv> + + <recv response="200" rtd="true"> + </recv> + + <send> + <![CDATA[ + + ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + </send> + + <pause/> + + <send retrans="500"> + <![CDATA[ + + BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 2 BYE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200" crlf="true"> + </recv> + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/ip2ipcalluas.xml b/sippxml/ip2ipcalluas.xml new file mode 100644 index 0000000000000000000000000000000000000000..b7ef0303b086fc5c2673fad83194ab3e5bcc2a0d --- /dev/null +++ b/sippxml/ip2ipcalluas.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + + +<scenario name="Basic UAS responder"> + + <recv request="INVITE" crlf="true"> + </recv> + + + <send> + <![CDATA[ + + SIP/2.0 180 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv request="ACK" + optional="true" + rtd="true" + crlf="true"> + </recv> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <pause milliseconds="4000"/> + + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/sippusage.txt b/sippxml/sippusage.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c19252857d274683acfb1dbc09de2c3aedcfb77 --- /dev/null +++ b/sippxml/sippusage.txt @@ -0,0 +1,460 @@ +Usage: + + sipp remote_host[:remote_port] [options] + + Available options: + + -v : Display version and copyright information. + + -aa : Enable automatic 200 OK answer for INFO, UPDATE and + NOTIFY messages. + + -auth_uri : Force the value of the URI for authentication. + By default, the URI is composed of + remote_ip:remote_port. + + -base_cseq : Start value of [cseq] for each call. + + -bg : Launch SIPp in background mode. + + -bind_local : Bind socket to local IP address, i.e. the local IP + address is used as the source IP address. If SIPp runs + in server mode it will only listen on the local IP + address instead of all IP addresses. + + -buff_size : Set the send and receive buffer size. + + -calldebug_file : Set the name of the call debug file. + + -calldebug_overwrite: Overwrite the call debug file (default true). + + -cid_str : Call ID string (default %u-%p@%s). %u=call_number, + %s=ip_address, %p=process_number, %%=% (in any order). + + -ci : Set the local control IP address + + -cp : Set the local control port number. Default is 8888. + + -d : Controls the length of calls. More precisely, this + controls the duration of 'pause' instructions in the + scenario, if they do not have a 'milliseconds' section. + Default value is 0 and default unit is milliseconds. + + -deadcall_wait : How long the Call-ID and final status of calls should be + kept to improve message and error logs (default unit is + ms). + + -default_behaviors: Set the default behaviors that SIPp will use. Possbile + values are: + - all Use all default behaviors + - none Use no default behaviors + - bye Send byes for aborted calls + - abortunexp Abort calls on unexpected messages + - pingreply Reply to ping requests + If a behavior is prefaced with a -, then it is turned + off. Example: all,-bye + + + -error_file : Set the name of the error log file. + + -error_overwrite : Overwrite the error log file (default true). + + -f : Set the statistics report frequency on screen. Default is + 1 and default unit is seconds. + + -fd : Set the statistics dump log report frequency. Default is + 60 and default unit is seconds. + + -i : Set the local IP address for 'Contact:','Via:', and + 'From:' headers. Default is primary host IP address. + + + -inf : Inject values from an external CSV file during calls into + the scenarios. + First line of this file say whether the data is to be + read in sequence (SEQUENTIAL), random (RANDOM), or user + (USER) order. + Each line corresponds to one call and has one or more + ';' delimited data fields. Those fields can be referred + as [field0], [field1], ... in the xml scenario file. + Several CSV files can be used simultaneously (syntax: + -inf f1.csv -inf f2.csv ...) + + -infindex : file field + Create an index of file using field. For example -inf + users.csv -infindex users.csv 0 creates an index on the + first key. + + -ip_field : Set which field from the injection file contains the IP + address from which the client will send its messages. + If this option is omitted and the '-t ui' option is + present, then field 0 is assumed. + Use this option together with '-t ui' + + -l : Set the maximum number of simultaneous calls. Once this + limit is reached, traffic is decreased until the number + of open calls goes down. Default: + (3 * call_duration (s) * rate). + + -log_file : Set the name of the log actions log file. + + -log_overwrite : Overwrite the log actions log file (default true). + + -lost : Set the number of packets to lose by default (scenario + specifications override this value). + + -rtcheck : Select the retransmisison detection method: full + (default) or loose. + + -m : Stop the test and exit when 'calls' calls are processed + + -mi : Set the local media IP address (default: local primary + host IP address) + + -master : 3pcc extended mode: indicates the master number + + -max_recv_loops : Set the maximum number of messages received read per + cycle. Increase this value for high traffic level. The + default value is 1000. + + -max_sched_loops : Set the maximum number of calsl run per event loop. + Increase this value for high traffic level. The default + value is 1000. + + -max_reconnect : Set the the maximum number of reconnection. + + -max_retrans : Maximum number of UDP retransmissions before call ends on + timeout. Default is 5 for INVITE transactions and 7 for + others. + + -max_invite_retrans: Maximum number of UDP retransmissions for invite + transactions before call ends on timeout. + + -max_non_invite_retrans: Maximum number of UDP retransmissions for non-invite + transactions before call ends on timeout. + + -max_log_size : What is the limit for error and message log file sizes. + + -max_socket : Set the max number of sockets to open simultaneously. + This option is significant if you use one socket per + call. Once this limit is reached, traffic is distributed + over the sockets already opened. Default value is 50000 + + -mb : Set the RTP echo buffer size (default: 2048). + + -message_file : Set the name of the message log file. + + -message_overwrite: Overwrite the message log file (default true). + + -mp : Set the local RTP echo port number. Default is 6000. + + -nd : No Default. Disable all default behavior of SIPp which + are the following: + - On UDP retransmission timeout, abort the call by + sending a BYE or a CANCEL + - On receive timeout with no ontimeout attribute, abort + the call by sending a BYE or a CANCEL + - On unexpected BYE send a 200 OK and close the call + - On unexpected CANCEL send a 200 OK and close the call + - On unexpected PING send a 200 OK and continue the call + - On any other unexpected message, abort the call by + sending a BYE or a CANCEL + + + -nr : Disable retransmission in UDP mode. + + -nostdin : Disable stdin. + + + -p : Set the local port number. Default is a random free port + chosen by the system. + + -pause_msg_ign : Ignore the messages received during a pause defined in + the scenario + + -periodic_rtd : Reset response time partition counters each logging + interval. + + -plugin : Load a plugin. + + -r : Set the call rate (in calls per seconds). This value can + bechanged during test by pressing '+','_','*' or '/'. + Default is 10. + pressing '+' key to increase call rate by 1 * + rate_scale, + pressing '-' key to decrease call rate by 1 * + rate_scale, + pressing '*' key to increase call rate by 10 * + rate_scale, + pressing '/' key to decrease call rate by 10 * + rate_scale. + If the -rp option is used, the call rate is calculated + with the period in ms given by the user. + + -rp : Specify the rate period for the call rate. Default is 1 + second and default unit is milliseconds. This allows + you to have n calls every m milliseconds (by using -r n + -rp m). + Example: -r 7 -rp 2000 ==> 7 calls every 2 seconds. + -r 10 -rp 5s => 10 calls every 5 seconds. + + -rate_scale : Control the units for the '+', '-', '*', and '/' keys. + + -rate_increase : Specify the rate increase every -fd units (default is + seconds). This allows you to increase the load for each + independent logging period. + Example: -rate_increase 10 -fd 10s + ==> increase calls by 10 every 10 seconds. + + -rate_max : If -rate_increase is set, then quit after the rate + reaches this value. + Example: -rate_increase 10 -rate_max 100 + ==> increase calls by 10 until 100 cps is hit. + + -no_rate_quit : If -rate_increase is set, do not quit after the rate + reaches -rate_max. + + -recv_timeout : Global receive timeout. Default unit is milliseconds. If + the expected message is not received, the call times out + and is aborted. + + -send_timeout : Global send timeout. Default unit is milliseconds. If a + message is not sent (due to congestion), the call times + out and is aborted. + + -sleep : How long to sleep for at startup. Default unit is + seconds. + + -reconnect_close : Should calls be closed on reconnect? + + -reconnect_sleep : How long (in milliseconds) to sleep between the close and + reconnect? + + -ringbuffer_files: How many error/message files should be kept after + rotation? + + -ringbuffer_size : How large should error/message files be before they get + rotated? + + -rsa : Set the remote sending address to host:port for sending + the messages. + + -rtp_echo : Enable RTP echo. RTP/UDP packets received on port defined + by -mp are echoed to their sender. + RTP/UDP packets coming on this port + 2 are also echoed + to their sender (used for sound and video echo). + + -rtt_freq : freq is mandatory. Dump response times every freq calls + in the log file defined by -trace_rtt. Default value is + 200. + + -s : Set the username part of the resquest URI. Default is + 'service'. + + -sd : Dumps a default scenario (embeded in the sipp executable) + + -sf : Loads an alternate xml scenario file. To learn more + about XML scenario syntax, use the -sd option to dump + embedded scenarios. They contain all the necessary help. + + -shortmessage_file: Set the name of the short message log file. + + -shortmessage_overwrite: Overwrite the short message log file (default true). + + -oocsf : Load out-of-call scenario. + + -oocsn : Load out-of-call scenario. + + -skip_rlimit : Do not perform rlimit tuning of file descriptor limits. + Default: false. + + -slave : 3pcc extended mode: indicates the slave number + + -slave_cfg : 3pcc extended mode: indicates the file where the master + and slave addresses are stored + + -sn : Use a default scenario (embedded in the sipp executable). + If this option is omitted, the Standard SipStone UAC + scenario is loaded. + Available values in this version: + + - 'uac' : Standard SipStone UAC (default). + - 'uas' : Simple UAS responder. + - 'regexp' : Standard SipStone UAC - with regexp and + variables. + - 'branchc' : Branching and conditional branching in + scenarios - client. + - 'branchs' : Branching and conditional branching in + scenarios - server. + + Default 3pcc scenarios (see -3pcc option): + + - '3pcc-C-A' : Controller A side (must be started after + all other 3pcc scenarios) + - '3pcc-C-B' : Controller B side. + - '3pcc-A' : A side. + - '3pcc-B' : B side. + + + -stat_delimiter : Set the delimiter for the statistics file + + -stf : Set the file name to use to dump statistics + + -t : Set the transport mode: + - u1: UDP with one socket (default), + - un: UDP with one socket per call, + - ui: UDP with one socket per IP address The IP + addresses must be defined in the injection file. + - t1: TCP with one socket, + - tn: TCP with one socket per call, + - l1: TLS with one socket, + - ln: TLS with one socket per call, + - c1: u1 + compression (only if compression plugin + loaded), + - cn: un + compression (only if compression plugin + loaded). This plugin is not provided with sipp. + + + -timeout : Global timeout. Default unit is seconds. If this option + is set, SIPp quits after nb units (-timeout 20s quits + after 20 seconds). + + -timeout_error : SIPp fails if the global timeout is reached is set + (-timeout option required). + + -timer_resol : Set the timer resolution. Default unit is milliseconds. + This option has an impact on timers precision.Small + values allow more precise scheduling but impacts CPU + usage.If the compression is on, the value is set to + 50ms. The default value is 10ms. + + -sendbuffer_warn : Produce warnings instead of errors on SendBuffer + failures. + + -trace_msg : Displays sent and received SIP messages in <scenario file + name>_<pid>_messages.log + + -trace_shortmsg : Displays sent and received SIP messages as CSV in + <scenario file name>_<pid>_shortmessages.log + + -trace_screen : Dump statistic screens in the + <scenario_name>_<pid>_ s.log file when quitting + SIPp. Useful to get a final status report in background + mode (-bg option). + + -trace_err : Trace all unexpected messages in <scenario file + name>_<pid>_errors.log. + + -trace_calldebug : Dumps debugging information about aborted calls to + <scenario_name>_<pid>_calldebug.log file. + + -trace_stat : Dumps all statistics in <scenario_name>_<pid>.csv file. + Use the '-h stat' option for a detailed description of + the statistics file content. + + -trace_counts : Dumps individual message counts in a CSV file. + + -trace_rtt : Allow tracing of all response times in <scenario file + name>_<pid>_rtt.csv. + + -trace_logs : Allow tracing of <log> actions in <scenario file + name>_<pid>_logs.log. + + -users : Instead of starting calls at a fixed rate, begin 'users' + calls at startup, and keep the number of calls constant. + + -watchdog_interval: Set gap between watchdog timer firings. Default is 400. + + -watchdog_reset : If the watchdog timer has not fired in more than this + time period, then reset the max triggers counters. + Default is 10 minutes. + + -watchdog_minor_threshold: If it has been longer than this period between watchdog + executions count a minor trip. Default is 500. + + -watchdog_major_threshold: If it has been longer than this period between watchdog + executions count a major trip. Default is 3000. + + -watchdog_major_maxtriggers: How many times the major watchdog timer can be tripped + before the test is terminated. Default is 10. + + -watchdog_minor_maxtriggers: How many times the minor watchdog timer can be tripped + before the test is terminated. Default is 120. + + -ap : Set the password for authentication challenges. Default + is 'password + + -tls_cert : Set the name for TLS Certificate file. Default is + 'cacert.pem + + -tls_key : Set the name for TLS Private Key file. Default is + 'cakey.pem' + + -tls_crl : Set the name for Certificate Revocation List file. If not + specified, X509 CRL is not activated. + + -3pcc : Launch the tool in 3pcc mode ("Third Party call + control"). The passed ip address is depending on the + 3PCC role. + - When the first twin command is 'sendCmd' then this is + the address of the remote twin socket. SIPp will try to + connect to this address:port to send the twin command + (This instance must be started after all other 3PCC + scenarii). + Example: 3PCC-C-A scenario. + - When the first twin command is 'recvCmd' then this is + the address of the local twin socket. SIPp will open + this address:port to listen for twin command. + Example: 3PCC-C-B scenario. + + -tdmmap : Generate and handle a table of TDM circuits. + A circuit must be available for the call to be placed. + Format: -tdmmap {0-3}{99}{5-8}{1-31} + + -key : keyword value + Set the generic parameter named "keyword" to "value". + + -set : variable value + Set the global variable parameter named "variable" to + "value". + + -dynamicStart : variable value + Set the start offset of dynamic_id varaiable + + -dynamicMax : variable value + Set the maximum of dynamic_id variable + + -dynamicStep : variable value + Set the increment of dynamic_id variable + +Signal handling: + + SIPp can be controlled using posix signals. The following signals + are handled: + USR1: Similar to press 'q' keyboard key. It triggers a soft exit + of SIPp. No more new calls are placed and all ongoing calls + are finished before SIPp exits. + Example: kill -SIGUSR1 732 + USR2: Triggers a dump of all statistics screens in + <scenario_name>_<pid>_screens.log file. Especially useful + in background mode to know what the current status is. + Example: kill -SIGUSR2 732 + +Exit code: + + Upon exit (on fatal error or when the number of asked calls (-m + option) is reached, sipp exits with one of the following exit + code: + 0: All calls were successful + 1: At least one call failed + 97: exit on internal command. Calls may have been processed + 99: Normal exit without calls processed + -1: Fatal error + + +Example: + + Run sipp with embedded server (uas) scenario: + ./sipp -sn uas + On the same host, run sipp with embedded client (uac) scenario + ./sipp -sn uac 127.0.0.1 diff --git a/sippxml/tempscript.sh b/sippxml/tempscript.sh new file mode 100644 index 0000000000000000000000000000000000000000..090a058ed8491511f8ef33551e260d56237be826 --- /dev/null +++ b/sippxml/tempscript.sh @@ -0,0 +1,5 @@ +SERVERPORT=5064 + +sipp -sf account_uas_register_bis.xml 192.168.50.79 -i 192.168.50.182 -p ${SERVERPORT} -l 1 -m 1 + +sipp -sf account_uas_receive_transfer.xml 192.168.50.79 -i 192.168.50.182 -p ${SERVERPORT} -l 1 \ No newline at end of file diff --git a/sippxml/testsuiteuac.sh b/sippxml/testsuiteuac.sh new file mode 100644 index 0000000000000000000000000000000000000000..93975593688f3d7d2242bdf7dfe0abb732abe7a5 --- /dev/null +++ b/sippxml/testsuiteuac.sh @@ -0,0 +1,383 @@ +#!/bin/bash + + +LOCALPORT=5062 +LOCALIP_lo=127.0.0.1 +LOCALIP_eth0=192.168.50.182 + +REMOTEADDR_lo=127.0.0.1:5060 +REMOTEADDR_ast=192.168.50.79 + +# SCENARIO 1 Test 1 +function test_ip2ip_send_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # start sipp server to receive calls from sflphone + sipp -sf ip2ip_uas_recv_peer_hungup.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} + + # wait some time to make sure sflphoned is started + # sleep 1; + + # run python client and script to make calls + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # kill every one + # bashtrap +} + +# SCENARIO 1 Test 2 +function test_ip2ip_send_peer_hungup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # start sipp server to receive calls from sflphone and then hangup + sipp -sf ip2ip_uas_recv_hangup.xml ${REMOTEADDR_lo} -s ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} + + # wait some time to make sure sflphoned is started + # sleep 1; + + # run python client and script to make calls + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # kill every one + bashtrap +} + + +# SCENARIO 1 Test 3 +function test_ip2ip_recv_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # start sipp client and send calls + sipp -sf ip2ip_uac_send_peer_hungup.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} -l 1 -m 10 + + # kill every one + # bashtrap +} + + +# SCENARIO 1 Test 4 +function test_ip2ip_recv_peer_hungup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # start sipp client and send calls + sipp -sf ip2ip_uac_send_hangup.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} -l 1 -m 10 + + # kill every one + # bashtrap +} + + +# SCENARIO 2 Test 1 +function test_account_send_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # process only one registration + sipp -sf account_uas_register.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 1 + + # start sipp client and send calls + sipp -sf account_uas_recv_peer_hungup.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 + + # kill every one + # bashtrap +} + +# SCENARIO 2 Test 2 +function test_account_send_peer_hungup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # process only one registration + sipp -sf account_uas_register.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 1 + + # start sipp client and send calls + sipp -sf account_uas_recv_hangup.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 + + # kill every one + # bashtrap +} + +# SCENARIO 2 Test 3 +function test_account_recv_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # process only one registration + sipp -sf account_uas_register.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 1 + + # start sipp client and send calls + sipp -sf account_uac_send_peer_hungup.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 10 + # kill every one + # bashtrap +} + +# SCENARIO 2 Test 4 +function test_account_recv_peer_hungup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # process only one registration + sipp -sf account_uas_register.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 1 + + # start sipp client and send calls + sipp -sf account_uac_send_hangup.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 10 + + # kill every one + # bashtrap +} + +# SCENARIO 3 Test 1 +function test_ip2ip_send_hold_offhold { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # start sipp client and send calls + sipp -sf ip2ip_uas_recv_hold_offhold.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} + # kill every one + # bashtrap +} + +# SCENARIO 4 Test 1 +function test_account_send_transfer { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # wait some time to make sure sflphoned is started + # sleep 1; + + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # wait some time to make sure client is bound + # sleep 1; + + # process only one registration + sipp -sf account_uas_register.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 -m 1 + + # start sipp client and send calls + sipp -sf account_uas_recv_transfered.xml ${REMOTEADDR_ast} -i ${LOCALIP_eth0} -p ${LOCALPORT} -l 1 + + # kill every one + # bashtrap +} + + +# SCENARIO 5 Test 1 +function test_ip2ip_send_refused { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # start sipp server to receive calls from sflphone and then hangup + sipp -sf ip2ip_uac_send_refused.xml ${REMOTEADDR_lo} -s ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} -l 1 + + # wait some time to make sure sflphoned is started + # sleep 1; + + # run python client and script to make calls + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # kill every one + bashtrap +} + + +# SCENARIO 6 Test 1 +function test_mult_ip2ip_send_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # start sipp server to receive calls from sflphone + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1:5060 -i 127.0.0.1 -p 5062 -l 1 -m 10 + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1:5060 -i 127.0.0.1 -p 5064 -l 1 -m 10 + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1:5060 -i 127.0.0.1 -p 5066 -l 1 -m 10 + # sipp -sf ip2ip_uac_send_hangup.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} -l 1 -m 10 + + # wait some time to make sure sflphoned is started + # sleep 1; + + # run python client and script to make calls + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # kill every one + # bashtrap +} + + +# SCENARIO 6 Test 2 +function test_mult_ip2ip_recv_peer_hangup { + + # start sflphoned + # /usr/lib/sflphone/sflphoned& + + # start sipp server to receive calls from sflphone + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1 -i 127.0.0.1:5060 -p 5062 + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1 -i 127.0.0.1:5060 -p 5064 + sipp -sf ip2ip_uac_send_hangup.xml 127.0.0.1 -i 127.0.0.1:5060 -p 5066 + # sipp -sf ip2ip_uas_recv_peer_hungup.xml ${REMOTEADDR_lo} -i ${LOCALIP_lo} -p ${LOCALPORT} + + # wait some time to make sure sflphoned is started + # sleep 1; + + # run python client and script to make calls + # python ../tools/pysflphone/pysflphone_testdbus.py & + + # kill every one + # bashtrap +} + + +# function called if CTRL-C detected +bashtrap() +{ + killall sipp + killall sflphoned +} + + +# ============================ Test Suite ============================ + + + +# SCENARIO 1: (IP2IP) Normal flow calls + +# Test 1: - Send an IP2IP call +# - Hangup +test_ip2ip_send_hangup + +# Test 2: - Send an IP2IP call +# - Peer Hangup +# test_ip2ip_send_peer_hungup + +# Test 3: - Receive an IP2IP call +# - Hangup +# test_ip2ip_recv_hangup + +# Test 4: - Receive an IP2IP call +# - Peer Hangup +# test_ip2ip_recv_peer_hungup + + + +# SCENARIO 2: (ACCOUNT) Normal flow calls + +# Test 1: - Send an ACCOUNT call +# - Hangup +# test_account_send_hangup + +# Test 2: - Send an ACCOUNT call +# - Peer Hangup +# test_account_send_peer_hungup + +# Test 3: - Receive an ACCOUNT call +# - Hangup +# test_account_recv_hangup + +# Test 4: - Receive an ACCOUNT call +# - Peer Hangup +# test_account_recv_peer_hungup + + + +# SCENARIO 3: Hold/offHold calls (Account) + +# Test 1: - Send an IP2IP call +# - Put this call on HOLD +# - Off HOLD this call +# - Hangup +# test_ip2ip_send_hold_offhold + + + +# SCENARIO 4: Transfer calls (Account) + +# Test 1: - Send an IP2IP call +# - Transfer this call to another sipp instance +# - Hangup +# test_account_send_transfer + + +#SCENARIO 5: Refuse call (IP2IP) + +# Test 1: - Receive a call +# - Refuse (hangup without answer) +# test_ip2ip_send_refused + + +#SCENARIO 6: Multiple simultaneous Call + +# Test 1: - +# test_mult_ip2ip_send_hangup + +# Test 2: - +# test_mult_ip2ip_recv_peer_hangup \ No newline at end of file diff --git a/tools/build-system/launchpad/dput.conf b/tools/build-system/launchpad/dput.conf index 4d3d15990da8b51998dd5799d3c9b3b875758de6..ea85aa390ad912a626508ec49c3f2e0ec6e5d98d 100644 --- a/tools/build-system/launchpad/dput.conf +++ b/tools/build-system/launchpad/dput.conf @@ -26,3 +26,10 @@ incoming = ~savoirfairelinux/sflphone-nightly/ubuntu/karmic login = anonymous allow_unsigned_uploads = 0 +[sflphone-nightly-lucid] +fqdn = ppa.launchpad.net +method = ftp +incoming = ~savoirfairelinux/sflphone-nightly/ubuntu/lucid +login = anonymous +allow_unsigned_uploads = 0 + diff --git a/tools/build-system/launchpad/sflphone-client-gnome/debian/control.lucid b/tools/build-system/launchpad/sflphone-client-gnome/debian/control.lucid new file mode 100644 index 0000000000000000000000000000000000000000..c72878afda415cff757f8bb6da1167c5d431544f --- /dev/null +++ b/tools/build-system/launchpad/sflphone-client-gnome/debian/control.lucid @@ -0,0 +1,20 @@ +Source: sflphone-client-gnome +Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com> +Section: gnome +Priority: optional +Build-Depends: debhelper, libgcc1, autoconf, automake, libtool, libgtk2.0-dev, libdbus-glib-1-dev, libnotify-dev, libebook1.2-dev, check, liblog4c-dev, libgnomeui-dev, gnome-doc-utils, rarian-compat +Standards-Version: 3.7.3 + +Package: sflphone-client-gnome +Priority: optional +Architecture: any +Depends: sflphone-common (=${source:Version}), libdbus-glib-1-2, libgtk2.0-0, libc6, libglib2.0-0, libdbus-glib-1-2, libnotify1, librsvg2-common, liblog4c3, libebook1.2-9, libgnomeui-0 +Replaces: sflphone +Conflicts: sflphone +Homepage: http://www.sflphone.org +Description: GNOME client for SFLphone + Provide a GNOME client for SFLphone. + SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. diff --git a/tools/build-system/launchpad/sflphone-common/debian/control.lucid b/tools/build-system/launchpad/sflphone-common/debian/control.lucid new file mode 100644 index 0000000000000000000000000000000000000000..177306ed35bf7cae2a8d1f2e7bc03a3772cc24c9 --- /dev/null +++ b/tools/build-system/launchpad/sflphone-common/debian/control.lucid @@ -0,0 +1,19 @@ +Source: sflphone-common +Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com> +Section: gnome +Priority: optional +Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev +Standards-Version: 3.7.3 + +Package: sflphone-common +Priority: optional +Architecture: any +Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3 +Replaces: sflphone +Conflicts: sflphone +Homepage: http://www.sflphone.org +Description: SIP and IAX2 compatible softphone - Core + SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. diff --git a/tools/build-system/setenv.sh b/tools/build-system/setenv.sh index ee6bbb068d40a615243101fea56e8d3735a04949..a19a22d3ce772d77644b4eb51d7250b247bae899 100644 --- a/tools/build-system/setenv.sh +++ b/tools/build-system/setenv.sh @@ -22,6 +22,6 @@ export REFERENCE_REPOSITORY="${ROOT_DIR}/sflphone-source-repository" export WORKING_DIR="${ROOT_DIR}/sflphone-build-repository/tools/build-system" export LAUNCHPAD_DIR="${WORKING_DIR}/launchpad" -LAUNCHPAD_DISTRIBUTIONS=( "jaunty" "karmic" ) +LAUNCHPAD_DISTRIBUTIONS=( "jaunty" "karmic" "lucid" ) export LAUNCHPAD_DISTRIBUTIONS diff --git a/tools/mozilla-telify-sflphone/sflphone-handler b/tools/mozilla-telify-sflphone/sflphone-handler index 727ef0f93c26927ed962654154418cd59ca2983a..db1cf92d0abc3536f3eb2e3bce1752b3e12d6cb5 100755 --- a/tools/mozilla-telify-sflphone/sflphone-handler +++ b/tools/mozilla-telify-sflphone/sflphone-handler @@ -5,25 +5,12 @@ # In Firefox use Preferences > Applications and set the callto handler # to this script. -# The sflphone daemon config file -RESFILE=~/.config/sflphone/sflphonedrc -# Parse sflphonedrc and get default account id string -if [ -f "$RESFILE" ]; then - - # Use first ID - ACCOUNTID=`grep Accounts.order $RESFILE | sed -e 's/Accounts.order=//' -e 's/\/.*//'` - - # Accounts.order is not set - if [ -z $ACCOUNTID ]; then - - # Use first account declared in sflphone config - ACCOUNTID="`grep -m 1 Account: $RESFILE | sed -e 's/\[//' -e 's/\]//'`" - fi - -else - echo Fatal: Cant find sflphonedrc config file. - exit 1 +# Test if a SFLphone client is already open, if not open a new one +# Opening a new client will start sflphoned if not already running +SFLPHONEC=`ps -A | grep sflphone-client` +if [ "$SFLPHONEC" = "" ]; then + /usr/bin/sflphone-client-gnome& fi # Check 1st argument (phone number) @@ -38,13 +25,16 @@ TO="`echo $1 | sed -e 's/[^0123456789]//g'`" # Generate call id. CALLID=${RANDOM}$$ -dbus-send \ - --type="method_call" \ - --dest="org.sflphone.SFLphone" \ - "/org/sflphone/SFLphone/CallManager" \ - "org.sflphone.SFLphone.CallManager.placeCall" \ - string:"$ACCOUNTID" \ - string:"$CALLID" \ +# Dbus placeCallFirstAccount method does not reach sflphoned if starting +# Should find another way to do this +sleep 1 + +dbus-send \ + --type="method_call" \ + --dest="org.sflphone.SFLphone" \ + "/org/sflphone/SFLphone/CallManager" \ + "org.sflphone.SFLphone.CallManager.placeCallFirstAccount" \ + string:"$CALLID" \ string:"$TO" exit 0 diff --git a/tools/pysflphone/pysflphone.py b/tools/pysflphone/pysflphone.py index d100b6b8167eed92decf0b40e0c0c10b3b218d3b..61fde183b0134ae237fdd4126d1fd1edf01f9462 100644 --- a/tools/pysflphone/pysflphone.py +++ b/tools/pysflphone/pysflphone.py @@ -61,7 +61,8 @@ def printHelp(): --gaia Get all IAX accounts. \n\ --gcc Get current callid. \n\ --gacl Get active codec list. \n\ - \n\ + --sac Set accout for next call \n\ + \n\ --gad <account> Get account details . \n\ --enable <account> Enable the account. \n\ --disable <account> Disable the account. \n\ @@ -83,9 +84,12 @@ def printHelp(): # Option definition try: - opts, args = getopt.getopt(sys.argv[1:],"", [ "help", "gaa", "gal", "gara", "gaea", "gasa", "gaia", "gacl", "gac", "gcc", - "hangup=", "refuse=", "hold", "unhold=", "transfer=","dtmf=", "accept=", - "gcd=", "gad=", "register=", "unregister=", "enable=", "disable=", "call=" ]) + opts, args = getopt.getopt(sys.argv[1:],"", + [ "help", "gaa", "gal", "gara", "gaea", "gasa", "gaia", + "gacl", "gac", "gcc", "hangup=", "refuse=", "hold", + "unhold=", "transfer=","dtmf=", "accept=", "gcd=", + "gad=", "register=", "unregister=", "enable=", "disable=", + "call=", "sac=" ]) except getopt.GetoptError,err: print str(err) sys.exit(2) @@ -166,6 +170,12 @@ else: print "Account: " + details['ACCOUNTID'] print "Peer: " + details['PEER_NAME'] + "<" + details['PEER_NUMBER'] + ">" + elif opt == "--sac": + if arg is "": + print "Must specifies the accout to be set" + else: + sflphone.setAccount(arg) + # # call options diff --git a/tools/pysflphone/pysflphone_testdbus.py b/tools/pysflphone/pysflphone_testdbus.py index 52f58ba132bc940815836cc344ea286132d55d4d..dc17f2bbc9e615a674cedc7584f1e639ca3ed2fe 100644 --- a/tools/pysflphone/pysflphone_testdbus.py +++ b/tools/pysflphone/pysflphone_testdbus.py @@ -1,46 +1,390 @@ #!/usr/bin/env python +import signal +import time +import sys + +import getopt +import gtk + +from threading import Thread +from threading import Event + +print "Import SFLphone" from sflphonectrlsimple import SflPhoneCtrlSimple +# Define remote IP address constant +REMOTEADDR_lo="127.0.0.1:5062" +REMOTEADDR_lo2="127.0.0.1:5064" +REMOTEADDR_lo3="127.0.0.1:5066" + +# Defines phone numbers +PHONE1="27182" +PHONE2="31416" +PHONE3="14142" + + +# Define function callback to emulate UA behavior on +# recieving a call (peer hangup)) +def acceptOnIncomingCall(sflphone): + + sflphone.Accept(sflphone.currentCallId) + -class SflPhoneTests(SflPhoneCtrlSimple): +# Define function callback to emulate UA behavior on +# receiving a call and hanging up +def acceptOnIncomingCallHangup(sflphone): + + sflphone.Accept(sflphone.currentCallId) + sflphone.HangUp(sflphone.currentCallId) + + +# Define function callback to emulate UA behavior on +# refusing a call +def refuseOnIncomingCall(sflphone): + # time.sleep(0.5) + sflphone.Refuse(sflphone.currentCallId) + + +class SflPhoneTests(): + + def __init__(self, sfl): + print "Create test instance" + self.sflphone = sfl def test_get_allaccounts_methods(self): - print "--- getAllAccounts() ---" for account in self.getAllAccounts(): print " " + account - print "\n" - - print "--- getAllRegisteredAccounts() ---" + for account in self.getAllRegisteredAccounts(): print " " + account - print "\n" - print "--- getAllSipAccounts() ---" for account in self.getAllSipAccounts(): print " " + account - print "\n" - print "--- getAllIaxAccounts() ---" for account in self.getAllIaxAccounts(): print " " + account - print "\n" - # def test_codecs_methods(self): + def test_create_account(self): + """Create a new sip account""" + + CONFIG_ACCOUNT_TYPE = "Account.type" + CONFIG_ACCOUNT_ALIAS = "Account.alias" + HOSTNAME = "hostname" + USERNAME = "username" + PASSWORD = "password" + + accDetails = {CONFIG_ACCOUNT_TYPE:"SIP", CONFIG_ACCOUNT_ALIAS:"testsuiteaccount", + HOSTNAME:"192.168.50.79", USERNAME:"31416", + PASSWORD:"1234"} + + + accountID = self.sflphone.addAccount(accDetails) + print "New Account ID " + accountID + + return accountID + + + def test_remove_account(self, accountID): + """Remove test account""" + + self.sflphone.removeAccount(accountID) + print "Account with ID " + accountID + " removed" + + + # SCENARIO 1 Test 1 + def test_ip2ip_send_hangup(self): + """Make a call to a server (sipp) on port 5062""" + i = 0 + while(i < 500): + + callid = self.sflphone.Call("sip:test@" + REMOTEADDR_lo) + time.sleep(0.5) + + self.sflphone.HangUp(callid) + time.sleep(0.5) + + i = i+1 + + self.sflphone.unregister() + del self.sflphone + + + # SCENARIO 1 Test 2 + def test_ip2ip_send_peer_hungup(self): + """Make a call to a server (sipp) on port 5062""" + i = 0 + while(i < 10): + + callid = self.sflphone.Call("sip:test@" + REMOTEADDR_lo) + time.sleep(1.0) + + i = i+1 + + del self.sflphone + + + # SCENARIO 1 Test 3 + def test_ip2ip_recv_hangup(self): + """Wait for calls, answer then hangup""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = acceptOnIncomingCallHangup + + # Start Glib mainloop + self.sflphone.start() + + + + + # SCENARIO 1 Test 4 + def test_ip2ip_recv_peer_hungup(self): + """Wait for calls, answer, peer hangup""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = acceptOnIncomingCall + + # Start Glib mainloop + self.sflphone.start() + + + # SCENARIO 2 Test 1 + def test_account_send_hangup(self): + """Send new account call, hangup once peer answered""" + + i = 0 + while(i < 10): + + callid = self.sflphone.Call(PHONE1) + time.sleep(0.2) + + self.sflphone.HangUp(callid) + time.sleep(0.2) + + i = i+1 + + # del self.sflphone + + + # SCENARIO 2 Test 2 + def test_account_send_peer_hungup(self): + """Send new account call, hangup once peer answered""" + + i = 0 + while(i < 10): + + callid = self.sflphone.Call(PHONE1) + time.sleep(1.0) + + i = i+1 + + del self.sflphone + + + # SCENARIO 2 Test 3 + def test_account_recv_hangup(self): + """Register an account and wait for incoming calls""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = acceptOnIncomingCallHangup + + # Start Glib mainloop + self.sflphone.start() + + + # SCENARIO 2 Test 4 + def test_account_recv_peer_hungup(self): + """Register an account and wait for incoming calls""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = acceptOnIncomingCall + + # Start Glib mainloop + self.sflphone.start() + + + # SCENARIO 3 Test 1 + def test_ip2ip_send_hold_offhold(self): + """Send new call, hold this call, offhold, hangup""" + i = 0 + while(i < 10): + + callid = self.sflphone.Call("sip:test@" + REMOTEADDR_lo) + time.sleep(0.5) + + self.sflphone.Hold(callid) + time.sleep(0.5) + + self.sflphone.UnHold(callid) + time.sleep(0.5) + + self.sflphone.HangUp(callid) + time.sleep(0.5) + + i = i+1 + + del self.sflphone + + + # SCENARIO 4 Test 1 + def test_account_send_transfer(self): + """Send new calls, transfer it to a new instance""" + + i = 0 + while(i < 1): + + callid = self.sflphone.Call(PHONE1) + time.sleep(1.0) + + self.sflphone.Transfer(callid,PHONE3) + # self.sflphone.HangUp(callid) + # time.sleep(1.0) + + i = i+1 + + + # SCENARIO 5 Test 1 + def test_ip2ip_recv_refuse(self): + """Receive an incoming IP2IP call, refuse it""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = refuseOnIncomingCall + + # Start Glib mainloop + self.sflphone.start() + + + # SCENARIO 6 Test 1 + def test_mult_ip2ip_send_hangup(self): + """Make a first call to a sipp server (5062) and a second to sipp server (5064)""" + i = 0 + while(i < 500): + + callid1 = self.sflphone.Call("sip:test@" + REMOTEADDR_lo) + time.sleep(0.1) + + callid2 = self.sflphone.Call("sip:test@" + REMOTEADDR_lo2) + time.sleep(0.1) + + callid3 = self.sflphone.Call("sip:test@" + REMOTEADDR_lo3) + time.sleep(0.1) + + self.sflphone.HangUp(callid1) + time.sleep(0.1) + + self.sflphone.HangUp(callid2) + time.sleep(0.1) + + self.sflphone.HangUp(callid3) + time.sleep(0.1) + + i = i+1 + + del self.sflphone + + + # SCENARIO 6 Test 2 + def test_mult_ip2ip_send_hangup(self): + """Receive multiple calls peer hangup""" + + # Add callback for this test + self.sflphone.onIncomingCall_cb = acceptOnIncomingCall + + # Start Glib mainloop + self.sflphone.start() + + del self.sflphone + + + +# Open sflphone and connect to sflphoned through dbus +sflphone = SflPhoneCtrlSimple(True) + +# Init test suite +testsuite = SflPhoneTests(sflphone) + +# Register the first account available, should be the test account +sflphone.setFirstRegisteredAccount(); + + +# ============================ Test Suite ============================ + + + +# SCENARIO 1: IP2IP Normal flow calls + +# Test 1: - Send an IP2IP call +# - Hangup +# testsuite.test_ip2ip_send_hangup() + +# Test 2: - Send an IP2IP call +# - Peer Hangup +# testsuite.test_ip2ip_send_peer_hungup() + +# Test 3: - Receive an IP2IP call +# - Hangup +testsuite.test_ip2ip_recv_hangup() + +# Test 4: - Receive an IP2IP call +# - Peer Hangup +# testsuite.test_ip2ip_recv_peer_hungup() + + + +# SCENARIO 2: ACCOUNT Normal flow calls + +# Test 1: - Send an ACCOUNT call +# - Hangup +# testsuite.test_account_send_hangup() + +# Test 2: - Send an ACCOUNT call +# - Peer Hangup +# testsuite.test_account_send_peer_hungup() + +# Test 3: - Receive an ACCOUNT call +# - Hangup +# testsuite.test_account_recv_hangup() + +# Test 4: - Receive an ACCOUNT call +# - Peer Hangup +# testsuite.test_account_recv_peer_hungup() + + + +# SCENARIO 3: IP2IP Call, HOLD/OFFHOLD + +# Test 1: - Send an IP2IP call +# - Put this call on HOLD +# - Off HOLD this call +# - Hangup +# testsuite.test_ip2ip_send_hold_offhold() + + + +# SCENARIO 4: IP2IP Call, HOLD/OFFHOLD + +# Test 1: - Send an IP2IP call +# - Transfer this call to another sipp instance +# - Hangup +# testsuite.test_account_send_transfer() + -# print "--- getCodecList() ---" -# for codec int self.getCodecList(): -# print " " + codec -# print "\n" +# SCENARIO 5: IP2IP Call, Refuse -sfl = SflPhoneTests() +# Test 1: - Receive an incoming call +# - Hangup without answer +# testsuite.test_ip2ip_recv_refuse() -sfl.test_get_allaccounts_methods() +# SCENARIO 6: Multiple simultaneous calls +# Test 1: - Send multiple simultaneous IP2IP call +# - Hangup +# testsuite.test_mult_ip2ip_send_hangup() - - +# Test 2: - Receive simultaneous IP2IP call +# - Hangup +# testsuite.test_mult_ip2ip_send_hangup() diff --git a/tools/pysflphone/sflphonectrlsimple.py b/tools/pysflphone/sflphonectrlsimple.py index a7d0a5ee2a7bad04adcb6f09b80ff6d4fadae411..cba2cf72da9907ce39fefe5a5c4fa6662efd9a11 100755 --- a/tools/pysflphone/sflphonectrlsimple.py +++ b/tools/pysflphone/sflphonectrlsimple.py @@ -2,6 +2,8 @@ # # Copyright (C) 2009 by the Free Software Foundation, Inc. # +# Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> +# # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 @@ -23,15 +25,18 @@ import os import random from traceback import print_exc +import gtk import gobject from gobject import GObject +from gobject import MainLoop import getopt import time -import md5 +import hashlib from threading import Thread +from threading import Event from Errors import * @@ -42,26 +47,50 @@ except ImportError, e: raise SflPhoneError("No python-dbus module found") -class SflPhoneCtrlSimple(object): - """Simple class for controlling SflPhoned through DBUS""" +class SflPhoneCtrlSimple(Thread): + """ Simple class for controlling SflPhoned through DBUS + + If option testSuite (ts) is put to true, + simple actions are implemented on incoming call. + """ # list of active calls (known by the client) activeCalls = {} - def __init__(self, name=sys.argv[0]): + def __init__(self, test=False, name=sys.argv[0]): + print "Create SFLphone instance" + Thread.__init__(self) # current active account self.account = None # client name self.name = name # client registered to sflphoned ? self.registered = False - self.register() + self.currentCallId = "" + + self.loop = MainLoop() + + self.isStop = False + + self.test = test + self.onIncomingCall_cb = None + self.event = Event() + + gobject.threads_init() + def __del__(self): if self.registered: self.unregister() + self.loop.quit() + + + def stopThread(self): + print "Stop PySFLphone" + self.isStop = True + def register(self): @@ -109,14 +138,18 @@ class SflPhoneCtrlSimple(object): raise SPdaemonError("Client registration failed") try: + print "Adding Incoming call method" proxy_callmgr.connect_to_signal('incomingCall', self.onIncomingCall) proxy_callmgr.connect_to_signal('callStateChanged', self.onCallStateChanged) except dbus.DBusException, e: print e - + + def unregister(self): + print "Unregister" + if not self.registered: return #raise SflPhoneError("Not registered !") @@ -131,6 +164,21 @@ class SflPhoneCtrlSimple(object): return self.registered + def getEvent(self): + return self.event + + def wait(self): + self.event.wait() + + def isSet(self): + self.event.isSet() + + def set(self): + self.event.set() + + def clear(self): + self.event.clear() + # # Signal handling # @@ -139,6 +187,15 @@ class SflPhoneCtrlSimple(object): def onIncomingCall(self, account, callid, to): print "Incoming call: " + account + ", " + callid + ", " + to self.activeCalls[callid] = {'Account': account, 'To': to, 'State': '' } + self.currentCallId = callid + + if(self.test): + # TODO fix this bug in daemon, cannot answer too fast + time.sleep(0.5) + if self.onIncomingCall_cb(self) is not None: + self.onIncomingCall_cb(self) + + # On call state changed event, set the values for new calls, # or delete the call from the list of active calls @@ -156,7 +213,8 @@ class SflPhoneCtrlSimple(object): except KeyError, e: print "This call didn't exist!: " + callid + ". Adding it to the list." callDetails = self.getCallDetails(callid) - self.activeCalls[callid] = {'Account': callDetails['ACCOUNTID'], 'To': callDetails['PEER_NUMBER'], 'State': state } + self.activeCalls[callid] = {'Account': callDetails['ACCOUNTID'], + 'To': callDetails['PEER_NUMBER'], 'State': state } elif state in [ "BUSY", "FAILURE" ]: try: del self.activeCalls[callid] @@ -170,13 +228,40 @@ class SflPhoneCtrlSimple(object): # # Account management # + def addAccount(self, details=None): + """Add a new account account + + Add a new account to the SFLphone-daemon. Default parameters are \ + used for missing account configuration field. + + Required parameters are type, alias, hostname, username and password + + input details + + """ + + if details is None: + raise SPaccountError("Must specifies type, alias, hostname, \ + username and password in \ + order to create a new account") + + return self.configurationmanager.addAccount(details) + + def removeAccount(self, accountID=None): + """Remove an account from internal list""" + + if accountID is None: + raise SPaccountError("Account ID must be specified") + + self.configurationmanager.removeAccount(accountID) + def getAllAccounts(self): - """ Return a list with all accounts""" + """Return a list with all accounts""" return self.configurationmanager.getAccountList() def getAllEnabledAccounts(self): - """ Return a list with all enabled accounts""" + """Return a list with all enabled accounts""" accounts = self.getAllAccounts() activeaccounts = [] for testedaccount in accounts: @@ -222,11 +307,15 @@ class SflPhoneCtrlSimple(object): raise SPaccountError("No account matched with alias") def setAccount(self, account): - """Define the active account""" + """Define the active account + + The active account will be used when sending a new call + """ if account in self.getAllAccounts(): self.account = account else: + print account raise SflPhoneError("Not a valid account") def setFirstRegisteredAccount(self): @@ -315,7 +404,6 @@ class SflPhoneCtrlSimple(object): def getAllSipAccounts(self): """Return a list of SIP accounts""" - sipAccountsList = [] for accountName in self.getAllAccounts(): if self.getAccountDetails(accountName)['Account.type'] == "SIP": @@ -395,24 +483,36 @@ class SflPhoneCtrlSimple(object): # Action # def Call(self, dest): - """Start a call and return a CallID""" - if not self.account: - self.setFirstRegisteredAccount() + """Start a call and return a CallID - if not self.isAccountRegistered(): - raise SflPhoneError("Can't place a call without a registered account") + Use the current account previously set using setAccount(). + If no account specified, first registered one in account list is used. + + For phone number prefixed using SIP scheme (i.e. sip: or sips:), + IP2IP profile is automatically selected and set as the default account - if dest is None or dest == "": + return callID Newly generated callidentifier for this call + """ + + if dest is None or dest == "": raise SflPhoneError("Invalid call destination") + + # Set the account to be used for this call + if dest.find('sip:') is 0 or dest.find('sips:') is 0: + print "Ip 2 IP call" + self.setAccount("IP2IP") + elif not self.account: + self.setFirstRegisteredAccount() - # callid = str(random.randrange(2**32-1)) - t = long( time.time() * 1000 ) - r = long( random.random()*100000000000000000L ) - data = str(t) + str(r) - callid = md5.md5(data).hexdigest() + if self.account is "IP2IP" and self.isAccountRegistered(): + raise SflPhoneError("Can't place a call without a registered account") + + # Generate a call ID for this call + callid = self.GenerateCallID() # Add the call to the list of active calls and set status to SENT self.activeCalls[callid] = {'Account': self.account, 'To': dest, 'State': 'SENT' } + # Send the request to the CallManager self.callmanager.placeCall(self.account, callid, dest) @@ -424,23 +524,23 @@ class SflPhoneCtrlSimple(object): if not self.account: self.setFirstRegisteredAccount() - if not self.isAccountRegistered(): - raise SflPhoneError("Can't hangup a call without a registered account") + # if not self.isAccountRegistered() and self.accout is not "IP2IP": + # raise SflPhoneError("Can't hangup a call without a registered account") if callid is None or callid == "": pass # just to see #raise SflPhoneError("Invalid callID") - self.callmanager.hangUp(callid) + self.callmanager.hangUp(callid) - def Transfert(self, callid, to): + def Transfer(self, callid, to): """Transfert a call identified by a CallID""" - if not self.account: - self.setFirstRegisteredAccount() + # if not self.account: + # self.setFirstRegisteredAccount() - if not self.isAccountRegistered(): - raise SflPhoneError("Can't transfert a call without a registered account") + # if not self.isAccountRegistered(): + # raise SflPhoneError("Can't transfert a call without a registered account") if callid is None or callid == "": raise SflPhoneError("Invalid callID") @@ -450,11 +550,14 @@ class SflPhoneCtrlSimple(object): def Refuse(self, callid): """Refuse an incoming call identified by a CallID""" - if not self.account: - self.setFirstRegisteredAccount() - if not self.isAccountRegistered(): - raise SflPhoneError("Can't refuse a call without a registered account") + print "Refuse call " + callid + + # if not self.account: + # self.setFirstRegisteredAccount() + + # if not self.isAccountRegistered(): + # raise SflPhoneError("Can't refuse a call without a registered account") if callid is None or callid == "": raise SflPhoneError("Invalid callID") @@ -464,6 +567,7 @@ class SflPhoneCtrlSimple(object): def Accept(self, callid): """Accept an incoming call identified by a CallID""" + print "Accept call " + callid if not self.account: self.setFirstRegisteredAccount() @@ -472,17 +576,17 @@ class SflPhoneCtrlSimple(object): if callid is None or callid == "": raise SflPhoneError("Invalid callID") - + self.callmanager.accept(callid) def Hold(self, callid): """Hold a call identified by a CallID""" - if not self.account: - self.setFirstRegisteredAccount() + # if not self.account: + # self.setFirstRegisteredAccount() - if not self.isAccountRegistered(): - raise SflPhoneError("Can't hold a call without a registered account") + # if not self.isAccountRegistered(): + # raise SflPhoneError("Can't hold a call without a registered account") if callid is None or callid == "": raise SflPhoneError("Invalid callID") @@ -492,11 +596,11 @@ class SflPhoneCtrlSimple(object): def UnHold(self, callid): """Unhold an incoming call identified by a CallID""" - if not self.account: - self.setFirstRegisteredAccount() + # if not self.account: + # self.setFirstRegisteredAccount() - if not self.isAccountRegistered(): - raise SflPhoneError("Can't unhold a call without a registered account") + # if not self.isAccountRegistered(): + # raise SflPhoneError("Can't unhold a call without a registered account") if callid is None or callid == "": raise SflPhoneError("Invalid callID") @@ -509,4 +613,22 @@ class SflPhoneCtrlSimple(object): self.callmanager.playDTMF(key) + def GenerateCallID(self): + """Generate Call ID""" + m = hashlib.md5() + t = long( time.time() * 1000 ) + r = long( random.random()*100000000000000000L ) + m.update(str(t) + str(r)) + callid = m.hexdigest() + return callid + + def run(self): + """Processing method for this thread""" + + context = self.loop.get_context() + + while True: + context.iteration(True) + if self.isStop: + return